<?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>11433</bug_id>
          
          <creation_ts>2006-10-27 07:18:31 -0700</creation_ts>
          <short_desc>Fixes to get WebKit to run on windows</short_desc>
          <delta_ts>2006-11-04 07:59:57 -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>Platform</component>
          <version>420+</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Bertrand Guiheneuf">guiheneuf</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>guiheneuf</cc>
    
    <cc>kkowalczyk</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49263</commentid>
    <comment_count>0</comment_count>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-10-27 07:18:31 -0700</bug_when>
    <thetext>Bug fixes to get WebKit to compile again on Win32. 
Mostly adaptions to the new loader. 
Also implemented AffineTranform for cairo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49264</commentid>
    <comment_count>1</comment_count>
      <attachid>11241</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-10-27 07:19:54 -0700</bug_when>
    <thetext>Created attachment 11241
Patch to get WebKit to compile and run on win32. Requires AffineTransformCairo.cpp too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49265</commentid>
    <comment_count>2</comment_count>
      <attachid>11242</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-10-27 07:21:17 -0700</bug_when>
    <thetext>Created attachment 11242
Implementation of AffineTransform for Cairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48403</commentid>
    <comment_count>3</comment_count>
      <attachid>11242</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-31 04:12:10 -0800</bug_when>
    <thetext>Comment on attachment 11242
Implementation of AffineTransform for Cairo

Thanks for hte patch!

Mostly this looks good. However, the implementation of mapRect is not correct. Mapping a rect is not equivalent to mapping a point and a distance. Consider the case of a rotated rect. In that case, you need to get the final bounding box accounting for rotation. This is what the CG and Qt implementatios will do.

Also, the patch should include a ChangeLog entry.

Please address these issues and resubmit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48407</commentid>
    <comment_count>4</comment_count>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-10-31 04:21:38 -0800</bug_when>
    <thetext>Hmm, yes, you&apos;re right, my implementation of rect transformation made no sense. Sorry for that. I&apos;ll resubmit later today. 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47520</commentid>
    <comment_count>5</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-01 19:17:29 -0800</bug_when>
    <thetext>I think this patch, unfortunately, has been overtaken by the pace of other changes.

&gt; BrowserExtensionWin.cpp

BrowserExtension is gone now, these changes will need to be made elsewhere.

The other changes look ok. Please update the BrowserExtension changes and make the fix I mentioned to AffineTransformCairo (I think the right way to map a rect is to map each corner and find the bounding box). 

This bug also included an AffineTransformCairo, so you may not need it if that one ends first: http://bugs.webkit.org/show_bug.cgi?id=11405
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47521</commentid>
    <comment_count>6</comment_count>
      <attachid>11241</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-01 19:20:09 -0800</bug_when>
    <thetext>Comment on attachment 11241
Patch to get WebKit to compile and run on win32. Requires AffineTransformCairo.cpp too.

r- for the minor issues above, please fix and resubmit. Also please make sure to include a ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47546</commentid>
    <comment_count>7</comment_count>
      <attachid>11349</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-11-02 11:10:08 -0800</bug_when>
    <thetext>Created attachment 11349
Adaption of win32 patch to current TOT

* Adapt to recent changes
* Add changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47547</commentid>
    <comment_count>8</comment_count>
      <attachid>11350</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-11-02 11:11:36 -0800</bug_when>
    <thetext>Created attachment 11350
Fix mapRect 

mapRect now returns the enclosing rect of transformed rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47550</commentid>
    <comment_count>9</comment_count>
      <attachid>11351</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-11-02 11:40:58 -0800</bug_when>
    <thetext>Created attachment 11351
Main patch with correct change logs

Moved webkit related change descriptions into WebKit/ChangeLog 
Sorry for the spam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47187</commentid>
    <comment_count>10</comment_count>
      <attachid>11350</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-03 16:13:59 -0800</bug_when>
    <thetext>Comment on attachment 11350
Fix mapRect 

It&apos;s against the coding style guidelines to write single-line ifs with elses like this:

if (px &lt; enclosingRectMinX) enclosingRectMinX = px;
else if (px &gt; enclosingRectMaxX) enclosingRectMaxX = px;
    
It would probably be simpler to write this by computing all four transformed points and then using std::min and std::max to get the final coordinates, but this way is fine too if you make it follow the style guidelines.

r- for the style issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47165</commentid>
    <comment_count>11</comment_count>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-11-03 18:05:24 -0800</bug_when>
    <thetext>I dont&apos; see anything about this identation style in http://webkit.org/coding/coding-style.html
Please explain.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47145</commentid>
    <comment_count>12</comment_count>
      <attachid>11372</attachid>
    <who name="Bertrand Guiheneuf">guiheneuf</who>
    <bug_when>2006-11-03 18:36:16 -0800</bug_when>
    <thetext>Created attachment 11372
AffineTransformCairo.cpp

added the missing CR...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46869</commentid>
    <comment_count>13</comment_count>
      <attachid>11372</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-04 03:00:20 -0800</bug_when>
    <thetext>Comment on attachment 11372
AffineTransformCairo.cpp

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46870</commentid>
    <comment_count>14</comment_count>
      <attachid>11351</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-04 03:01:45 -0800</bug_when>
    <thetext>Comment on attachment 11351
Main patch with correct change logs

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46879</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-11-04 07:59:57 -0800</bug_when>
    <thetext>Committed revision 17592.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11241</attachid>
            <date>2006-10-27 07:19:54 -0700</date>
            <delta_ts>2006-11-02 11:10:08 -0800</delta_ts>
            <desc>Patch to get WebKit to compile and run on win32. Requires AffineTransformCairo.cpp too.</desc>
            <filename>WindowsFixesPatch.txt</filename>
            <type>text/plain</type>
            <size>45903</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oJ
KHJldmlzaW9uIDE3MzY2KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAKIAkJCS8+CiAJCQk8
VG9vbAogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxpY29udlxpbmNsdWRlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5caWN1XGluY2x1ZGUmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxsaWJ4bWxcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXC4uXGxpYnhzbHRcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXERlcml2ZWRTb3VyY2VzXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxjc3MmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
cmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cYmluZGluZ3NcanMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cYnJpZGdlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cYnJpZGdlXHdpbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBhZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2RlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xibXAmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xnaWYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xpY28mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xqcGVnJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2RlcnNccG5nJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2RlcnNceGJtJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2RlcnNcemxpYiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXC4uXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
Li5cSmF2YVNjcmlwdENvcmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcV2ViQ29y
ZS5pbnRlcm1lZGlhdGVcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViQ29yZS5pbnRlcm1lZGlhdGVc
RGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxKYXZhU2Ny
aXB0Q29yZVxranMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVx3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxjYWlyb1xwaXhtYW5cc3Jj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm9cY2Fpcm9cc3Jj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbG9hZGVyXGljb24mcXVvdDsiCisJCQkJ
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwu
LlxpY29udlxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5caWN1XGlu
Y2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxsaWJ4bWxcaW5jbHVkZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXGxpYnhzbHRcaW5jbHVkZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXERlcml2ZWRTb3VyY2VzXFdlYkNvcmUmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxj
c3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5ccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxkb20mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cYnJpZGdlXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9y
bSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2RlcnMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xibXAmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xnaWYmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xpY28m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xq
cGVnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVjb2Rl
cnNccG5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2UtZGVj
b2RlcnNceGJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1caW1hZ2Ut
ZGVjb2RlcnNcemxpYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXG5l
dHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxuZXR3b3JrXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHhtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXC4uXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cLi5cSmF2YVNjcmlwdENvcmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilc
V2ViQ29yZS5pbnRlcm1lZGlhdGVcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViQ29yZS5pbnRlcm1l
ZGlhdGVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxK
YXZhU2NyaXB0Q29yZVxranMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9y
bVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxjYWlyb1xwaXht
YW5cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm9cY2Fp
cm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbG9hZGVyXGljb24mcXVvdDsi
CiAJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO1hTTFRfU1VQUE9SVDtYUEFUSF9T
VVBQT1JUO05ERUJVRyIKIAkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCIKIAkJCQlSdW50aW1lTGli
cmFyeT0iMiIKQEAgLTExMDcsNiArMTEwNywxMCBAQAogCQkJTmFtZT0icGxhdGZvcm0iCiAJCQk+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cQWZmaW5lVHJhbnNm
b3JtLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5ccGxhdGZvcm1cQWZmaW5lVHJhbnNmb3JtLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAt
MTQzMSwyMiArMTQzNSw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFJlc291cmNlTG9hZGVyLmNwcCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cUmVzb3Vy
Y2VMb2FkZXIuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5ccGxhdGZvcm1cUmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cUmVzb3VyY2VM
b2FkZXJJbnRlcm5hbC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTY3JlZW4uaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0x
NjY2LDExICsxNjU0LDExIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVx3aW5cUmVzb3VyY2VMb2FkZXJXaW4uY3BwIgor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcd2luXFJlc291cmNlTG9h
ZGVyV2luLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXHdpblxSZXNvdXJjZUxvYWRlcldpbi5oIgorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcd2luXFJlc291cmNlTG9hZGVyV2luLmgi
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKQEAgLTIxMzAsNiArMjExOCwxMCBAQAog
CQkJCU5hbWU9ImNhaXJvIgogCQkJCT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHBsYXRmb3JtXGNhaXJvXEFmZmluZVRyYW5zZm9ybUNhaXJvLmNwcCIKKwkJCQkJPgorCQkJ
CTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXGNh
aXJvXEdyYXBoaWNzQ29udGV4dENhaXJvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTI0
OTAsNiArMjQ4Miw0OCBAQAogCQkJCQk8L0ZpbGU+CiAJCQkJPC9GaWx0ZXI+CiAJCQk8L0ZpbHRl
cj4KKwkJCTxGaWx0ZXIKKwkJCQlOYW1lPSJuZXR3b3JrIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcUmVzb3VyY2VMb2FkZXIuY3Bw
IgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJ
CVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgor
CQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGly
KVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQo
SW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
cGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZUxvYWRlci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNv
dXJjZUxvYWRlckNsaWVudC5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZUxvYWRlckludGVy
bmFsLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRo
PSIuLlwuLlxwbGF0Zm9ybVxuZXR3b3JrXFJlc291cmNlUmVxdWVzdC5oIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJPC9GaWx0ZXI+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1lPSJj
c3MiCkBAIC0zOTQzLDYgKzM5NzcsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cYnJpZGdlXEVkaXRvckNsaWVudC5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxicmlkZ2VcSGlzdG9y
eS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTQwMzEsNiArNDA2OSwyMiBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxlZGl0aW5nXERlbGV0
ZUJ1dHRvbi5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXC4uXGVkaXRpbmdcRGVsZXRlQnV0dG9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRGVsZXRlQnV0dG9uQ29udHJv
bGxlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXGVkaXRpbmdcRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxlZGl0aW5nXERlbGV0ZUZyb21U
ZXh0Tm9kZUNvbW1hbmQuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTQwNTksNiArNDExMywx
NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwu
LlxlZGl0aW5nXEVkaXRvci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRWRpdG9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRm9ybWF0QmxvY2tDb21t
YW5kLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBXZWJDb3JlL2JyaWRnZS93aW4vQnJv
d3NlckV4dGVuc2lvbldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvd2luL0Jy
b3dzZXJFeHRlbnNpb25XaW4uY3BwCShyZXZpc2lvbiAxNzM2NikKKysrIFdlYkNvcmUvYnJpZGdl
L3dpbi9Ccm93c2VyRXh0ZW5zaW9uV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
MTIgQEAgQnJvd3NlckV4dGVuc2lvbldpbjo6QnJvd3NlckV4dGVuc2lvbldpbgogewogfQogCit2
b2lkIEJyb3dzZXJFeHRlbnNpb25XaW46OmNyZWF0ZU5ld1dpbmRvdyhjb25zdCBGcmFtZUxvYWRS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXaW5kb3dGZWF0dXJlcyYgZmVhdHVyZXMsIEZyYW1lKiYg
bmV3RnJhbWUpCit7CisgICAgbV9mcmFtZS0+Y3JlYXRlTmV3V2luZG93KHJlcXVlc3QsIGZlYXR1
cmVzLCBuZXdGcmFtZSk7Cit9CisKKyNpZiAwCiBpbnQgQnJvd3NlckV4dGVuc2lvbldpbjo6Z2V0
SGlzdG9yeUxlbmd0aCgpCiB7CiAgICAgcmV0dXJuIDA7CkBAIC01NiwxMSArNjIsNiBAQCBib29s
IEJyb3dzZXJFeHRlbnNpb25XaW46OmNhblJ1bk1vZGFsKCkKICAgICByZXR1cm4gMDsKIH0KIAot
dm9pZCBCcm93c2VyRXh0ZW5zaW9uV2luOjpjcmVhdGVOZXdXaW5kb3coY29uc3QgRnJhbWVMb2Fk
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVhdHVyZXMmIGZlYXR1cmVzLCBGcmFtZSom
IG5ld0ZyYW1lKQotewotICAgIG1fZnJhbWUtPmNyZWF0ZU5ld1dpbmRvdyhyZXF1ZXN0LCBmZWF0
dXJlcywgbmV3RnJhbWUpOwotfQotCiBib29sIEJyb3dzZXJFeHRlbnNpb25XaW46OmNhblJ1bk1v
ZGFsTm93KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtODIsNSArODMsNSBAQCBLVVJM
IEJyb3dzZXJFeHRlbnNpb25XaW46Omhpc3RvcnlVUkwoaW50CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKICAgICByZXR1cm4gS1VSTCgpOwogfQotCisjZW5kaWYKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3dpbi9GcmFtZVdpbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9icmlkZ2Uvd2luL0ZyYW1lV2luLmNwcAkocmV2aXNpb24gMTczNjYpCisrKyBXZWJD
b3JlL2JyaWRnZS93aW4vRnJhbWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw4ICs0MSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRnJhbWVXaW46OkZyYW1lV2luKFBhZ2UqIHBh
Z2UsIEVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVXaW5DbGllbnQqIGNsaWVudCkKLSAgICA6
IEZyYW1lKHBhZ2UsIG93bmVyRWxlbWVudCkKK0ZyYW1lV2luOjpGcmFtZVdpbihQYWdlKiBwYWdl
LCBFbGVtZW50KiBvd25lckVsZW1lbnQsIEZyYW1lV2luQ2xpZW50KiBjbGllbnQsIFBhc3NSZWZQ
dHI8RWRpdG9yQ2xpZW50PiBlZGl0b3JDbGllbnQpCisgICAgOiBGcmFtZShwYWdlLCBvd25lckVs
ZW1lbnQsIGVkaXRvckNsaWVudCkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKIHsKICAgICBkLT5t
X2V4dGVuc2lvbiA9IG5ldyBCcm93c2VyRXh0ZW5zaW9uV2luKHRoaXMpOwpJbmRleDogV2ViQ29y
ZS9icmlkZ2Uvd2luL0ZyYW1lV2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvd2lu
L0ZyYW1lV2luLmgJKHJldmlzaW9uIDE3MzY2KQorKysgV2ViQ29yZS9icmlkZ2Uvd2luL0ZyYW1l
V2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEyICs0NSwxMiBAQCBwdWJsaWM6CiAKIGNsYXNz
IEZyYW1lV2luIDogcHVibGljIEZyYW1lIHsKIHB1YmxpYzoKLSAgICBGcmFtZVdpbihQYWdlKiwg
RWxlbWVudCosIEZyYW1lV2luQ2xpZW50Kik7CisgICAgRnJhbWVXaW4oUGFnZSosIEVsZW1lbnQq
LCBGcmFtZVdpbkNsaWVudCosIFBhc3NSZWZQdHI8RWRpdG9yQ2xpZW50Pik7CiAgICAgfkZyYW1l
V2luKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlTmV3V2luZG93KGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmLCBjb25zdCBXaW5kb3dGZWF0dXJlcyYsIEZyYW1lKiYgcGFydCk7Ci0gICAgdmly
dHVhbCBib29sIG9wZW5VUkwoY29uc3QgS1VSTCYpOwotICAgIHZpcnR1YWwgdm9pZCBvcGVuVVJM
UmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0Jik7CisgICAgLy8gdmlydHVhbCBib29sIG9w
ZW5VUkwoY29uc3QgS1VSTCYpOworICAgIC8vIHZpcnR1YWwgdm9pZCBvcGVuVVJMUmVxdWVzdChj
b25zdCBGcmFtZUxvYWRSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN1Ym1pdEZvcm0oY29u
c3QgRnJhbWVMb2FkUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCB1cmxTZWxlY3RlZChjb25z
dCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3QgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCk7CiAKQEAg
LTEyMiw2ICsxMjIsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhcnRDbGVhcmVkSW5C
ZWdpbigpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFu
Y2UpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNl
KTsKKyAgICB2aXJ0dWFsIGludCBnZXRIaXN0b3J5TGVuZ3RoKCk7CisgICAgdmlydHVhbCBLVVJM
IGhpc3RvcnlVUkwoaW50IGRpc3RhbmNlKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlZE9ubG9h
ZEV2ZW50cygpOwogCiAgICAgdmlydHVhbCBib29sIGNhblBhc3RlKCkgY29uc3Q7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL0FmZmluZVRyYW5zZm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vQWZmaW5lVHJhbnNmb3JtLmgJKHJldmlzaW9uIDE3MzY2KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9BZmZpbmVUcmFuc2Zvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBA
QAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgog
I2VsaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8UU1hdHJpeD4KKyNlbGlmIFBMQVRGT1JNKENB
SVJPKQorI2luY2x1ZGUgImNhaXJvLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNiArNDksOCBAQCBwdWJsaWM6CiAgICAgQWZmaW5lVHJhbnNmb3JtKENHQWZmaW5lVHJh
bnNmb3JtIHRyYW5zZm9ybSk7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBBZmZpbmVUcmFuc2Zv
cm0oY29uc3QgUU1hdHJpeCAmbWF0cml4KTsKKyNlbGlmIFBMQVRGT1JNKENBSVJPKQorICAgIEFm
ZmluZVRyYW5zZm9ybShjb25zdCBjYWlyb19tYXRyaXhfdCAmbWF0cml4KTsKICNlbmRpZgogCiAg
ICAgdm9pZCBzZXRNYXRyaXgoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQs
IGRvdWJsZSB0eCwgZG91YmxlIHR5KTsKQEAgLTc4LDYgKzgyLDggQEAgcHVibGljOgogICAgIG9w
ZXJhdG9yIENHQWZmaW5lVHJhbnNmb3JtKCkgY29uc3Q7CiAjZWxpZiBQTEFURk9STShRVCkKICAg
ICBvcGVyYXRvciBRTWF0cml4KCkgY29uc3Q7CisjZWxpZiBQTEFURk9STShDQUlSTykKKyAgICBv
cGVyYXRvciBjYWlyb19tYXRyaXhfdCgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJikgY29uc3Q7CkBAIC04OSw2ICs5NSw4IEBAIHBy
aXZhdGU6CiAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gbV90cmFuc2Zvcm07CiAjZWxpZiBQTEFURk9S
TShRVCkKICAgICBRTWF0cml4IG1fdHJhbnNmb3JtOworI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisg
ICAgY2Fpcm9fbWF0cml4X3QgbV90cmFuc2Zvcm07CiAjZW5kaWYKIH07CiAKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCShyZXZpc2lv
biAxNzM2NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTgsMTAgKzQxOCwxMiBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAgICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvck1pc3NwZWxsaW5nKGNvbnN0
IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRoKQorCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JNaXNzcGVsbGluZ09yQmFkR3JhbW1hcihjb25zdCBJbnRQb2ludCYsIGludCB3aWR0
aCwgYm9vbCBncmFtbWFyKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgLy8gRklY
TUU6IEltcGxlbWVudC4gCiB9CisgCiAKIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5k
VG9EZXZpY2VQaXhlbHMoY29uc3QgRmxvYXRSZWN0JiBmcmVjdCkKIHsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VMb2FkZXJXaW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VMb2FkZXJXaW4uY3BwCShyZXZp
c2lvbiAxNzM2NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VMb2Fk
ZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBSZXNvdXJj
ZUxvYWRlcjo6b25IYW5kbGVDcmVhdGVkKExQQQogCiAgICAgICAgIGlmIChtZXRob2QoKSA9PSAi
UE9TVCIpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUb28gbGF0ZSB0byBzZXQgcmVmZXJyZXIg
cHJvcGVybHkuCi0gICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IGQtPlVSTC5w
YXRoKCk7CisgICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IGQtPm1fcmVxdWVz
dC51cmwoKS5wYXRoKCk7CiAgICAgICAgICAgICBpbnQgZnJhZ21lbnRJbmRleCA9IHVybFN0ci5m
aW5kKCcjJyk7CiAgICAgICAgICAgICBpZiAoZnJhZ21lbnRJbmRleCAhPSAtMSkKICAgICAgICAg
ICAgICAgICB1cmxTdHIgPSB1cmxTdHIubGVmdChmcmFnbWVudEluZGV4KTsKQEAgLTMwNiw4ICsz
MDYsOCBAQCBzdGF0aWMgdm9pZCBfX3N0ZGNhbGwgdHJhbnNmZXJKb2JTdGF0dXNDCiBib29sIFJl
c291cmNlTG9hZGVyOjpzdGFydChEb2NMb2FkZXIqIGRvY0xvYWRlcikKIHsKICAgICByZWYoKTsK
LSAgICBpZiAoZC0+VVJMLmlzTG9jYWxGaWxlKCkpIHsKLSAgICAgICAgRGVwcmVjYXRlZFN0cmlu
ZyBwYXRoID0gZC0+VVJMLnBhdGgoKTsKKyAgICBpZiAoZC0+bV9yZXF1ZXN0LnVybCgpLmlzTG9j
YWxGaWxlKCkpIHsKKyAgICAgICAgRGVwcmVjYXRlZFN0cmluZyBwYXRoID0gZC0+bV9yZXF1ZXN0
LnVybCgpLnBhdGgoKTsKICAgICAgICAgLy8gd2luZG93cyBkb2VzIG5vdCBlbmpveSBhIGxlYWRp
bmcgc2xhc2ggb24gcGF0aHMKICAgICAgICAgaWYgKHBhdGhbMF0gPT0gJy8nKQogICAgICAgICAg
ICAgcGF0aCA9IHBhdGgubWlkKDEpOwpAQCAtMzQ1LDEyICszNDUsMTIgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRlcjo6c3RhcnQoRG9jTG9hZGVyKiBkbwogICAgICAgICBTdHJpbmcgcmVmZXJyZXIgPSBk
b2NMb2FkZXItPmZyYW1lKCktPnJlZmVycmVyKCk7CiAgICAgICAgIGlmIChtZXRob2QoKSA9PSAi
UE9TVCIpIHsKICAgICAgICAgICAgIGQtPm1fcG9zdFJlZmVycmVyID0gcmVmZXJyZXI7Ci0gICAg
ICAgICAgICBEZXByZWNhdGVkU3RyaW5nIGhvc3QgPSBkLT5VUkwuaG9zdCgpOworICAgICAgICAg
ICAgRGVwcmVjYXRlZFN0cmluZyBob3N0ID0gZC0+bV9yZXF1ZXN0LnVybCgpLmhvc3QoKTsKICAg
ICAgICAgICAgIGhvc3QgKz0gIlwwIjsKLSAgICAgICAgICAgIHVybEhhbmRsZSA9IEludGVybmV0
Q29ubmVjdEEoaW50ZXJuZXRIYW5kbGUsIGhvc3QuYXNjaWkoKSwgZC0+VVJMLnBvcnQoKSwgMCwg
MCwgCisgICAgICAgICAgICB1cmxIYW5kbGUgPSBJbnRlcm5ldENvbm5lY3RBKGludGVybmV0SGFu
ZGxlLCBob3N0LmFzY2lpKCksIGQtPm1fcmVxdWVzdC51cmwoKS5wb3J0KCksIDAsIDAsIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5FVF9TRVJWSUNFX0hU
VFAsIDAsIChEV09SRF9QVFIpZC0+bV9qb2JJZCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IGQtPlVSTC51cmwoKTsKKyAgICAgICAgICAg
IERlcHJlY2F0ZWRTdHJpbmcgdXJsU3RyID0gZC0+bV9yZXF1ZXN0LnVybCgpLnVybCgpOwogICAg
ICAgICAgICAgaW50IGZyYWdtZW50SW5kZXggPSB1cmxTdHIuZmluZCgnIycpOwogICAgICAgICAg
ICAgaWYgKGZyYWdtZW50SW5kZXggIT0gLTEpCiAgICAgICAgICAgICAgICAgdXJsU3RyID0gdXJs
U3RyLmxlZnQoZnJhZ21lbnRJbmRleCk7CkBAIC0zNzQsNyArMzc0LDcgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRlcjo6c3RhcnQoRG9jTG9hZGVyKiBkbwogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpmaWxl
TG9hZFRpbWVyKFRpbWVyPFJlc291cmNlTG9hZGVyPiogdGltZXIpCiB7Ci0gICAgZC0+Y2xpZW50
LT5yZWNlaXZlZFJlc3BvbnNlKHRoaXMsIDApOworICAgIGQtPm1fY2xpZW50LT5yZWNlaXZlZFJl
c3BvbnNlKHRoaXMsIDApOwogCiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICBEV09SRCBi
eXRlc1JlYWQgPSAwOwpAQCAtMzg0LDcgKzM4NCw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmZp
bGVMb2FkVGltZXIoVGltZXIKICAgICAgICAgY2hhciBidWZmZXJbYnVmZmVyU2l6ZV07CiAgICAg
ICAgIHJlc3VsdCA9IFJlYWRGaWxlKGQtPm1fZmlsZUhhbmRsZSwgJmJ1ZmZlciwgYnVmZmVyU2l6
ZSwgJmJ5dGVzUmVhZCwgTlVMTCk7IAogICAgICAgICBpZiAocmVzdWx0ICYmIGJ5dGVzUmVhZCkK
LSAgICAgICAgICAgIGQtPmNsaWVudC0+ZGlkUmVjZWl2ZURhdGEodGhpcywgYnVmZmVyLCBieXRl
c1JlYWQpOworICAgICAgICAgICAgZC0+bV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKHRoaXMsIGJ1
ZmZlciwgYnl0ZXNSZWFkKTsKICAgICAgICAgLy8gQ2hlY2sgZm9yIGVuZCBvZiBmaWxlLiAKICAg
ICB9IHdoaWxlIChyZXN1bHQgJiYgYnl0ZXNSZWFkKTsKIApAQCAtMzk4LDggKzM5OCw4IEBAIHZv
aWQgUmVzb3VyY2VMb2FkZXI6OmZpbGVMb2FkVGltZXIoVGltZXIKICAgICBwbGF0Zm9ybURhdGEu
ZXJyb3IgPSAwOwogICAgIHBsYXRmb3JtRGF0YS5sb2FkZWQgPSBUUlVFOwogCi0gICAgZC0+Y2xp
ZW50LT5yZWNlaXZlZEFsbERhdGEodGhpcywgJnBsYXRmb3JtRGF0YSk7Ci0gICAgZC0+Y2xpZW50
LT5kaWRGaW5pc2hMb2FkaW5nKHRoaXMpOworICAgIGQtPm1fY2xpZW50LT5yZWNlaXZlZEFsbERh
dGEodGhpcywgJnBsYXRmb3JtRGF0YSk7CisgICAgZC0+bV9jbGllbnQtPmRpZEZpbmlzaExvYWRp
bmcodGhpcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmNhbmNlbCgpCkBAIC00MTQsOCAr
NDE0LDggQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6Y2FuY2VsKCkKICAgICBwbGF0Zm9ybURhdGEu
ZXJyb3IgPSAwOwogICAgIHBsYXRmb3JtRGF0YS5sb2FkZWQgPSBGQUxTRTsKIAotICAgIGQtPmNs
aWVudC0+cmVjZWl2ZWRBbGxEYXRhKHRoaXMsICZwbGF0Zm9ybURhdGEpOwotICAgIGQtPmNsaWVu
dC0+ZGlkRmluaXNoTG9hZGluZyh0aGlzKTsKKyAgICBkLT5tX2NsaWVudC0+cmVjZWl2ZWRBbGxE
YXRhKHRoaXMsICZwbGF0Zm9ybURhdGEpOworICAgIGQtPm1fY2xpZW50LT5kaWRGaW5pc2hMb2Fk
aW5nKHRoaXMpOwogCiAgICAgaWYgKCFkLT5tX3Jlc291cmNlSGFuZGxlKQogICAgICAgICAvLyBB
c3luYyBsb2FkIGNhbmNlbGVkIGJlZm9yZSB3ZSBoYXZlIGEgaGFuZGxlIC0tIG1hcmsgb3Vyc2Vs
dmVzIGFzIGluIGVycm9yLCB0byBiZSBkZWxldGVkIGxhdGVyLgpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCShyZXZpc2lvbiAxNzM2NikKKysrIFdl
YkNvcmUvcGxhdGZvcm0vd2luL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwOCw2ICsyMDgsOSBAQCB2b2lkIEZyYW1lV2luOjpyZXNwb25kVG9DaGFuZ2VkQ29udGVu
dHMoCiB2b2lkIEZyYW1lV2luOjpoYW5kbGVkT25sb2FkRXZlbnRzKCkgeyB9CiBQbHVnaW4qIEZy
YW1lV2luOjpjcmVhdGVQbHVnaW4oRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJikgeyByZXR1cm4g
MDsgfQogT2JqZWN0Q29udGVudFR5cGUgRnJhbWVXaW46Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0
IEtVUkwmLCBjb25zdCBTdHJpbmcmKSB7IHJldHVybiBPYmplY3RDb250ZW50Tm9uZTsgfQordm9p
ZCBGcmFtZVdpbjo6Z29CYWNrT3JGb3J3YXJkKGludCBkaXN0YW5jZSkgeyB9CitpbnQgRnJhbWVX
aW46OmdldEhpc3RvcnlMZW5ndGgoKSB7IHJldHVybiAwOyB9CitLVVJMIEZyYW1lV2luOjpoaXN0
b3J5VVJMKGludCBkaXN0YW5jZSkge3JldHVybiAwOyB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjphZGRSb3VuZGVkUmVjdENsaXAoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgSW50U2l6ZSYg
dG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQsCiAgICAgY29uc3QgSW50U2l6ZSYgYm90
dG9tTGVmdCwgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHQpIHsgbm90SW1wbGVtZW50ZWQoKTsg
fQpAQCAtMjQzLDggKzI0Niw3IEBAIHZvaWQgcmVmcmVzaFBsdWdpbnMoYm9vbCkgeyB9CiB2b2lk
IFJlc291cmNlTG9hZGVyOjphc3NlbWJsZVJlc3BvbnNlSGVhZGVycygpIGNvbnN0IHsgfQogdm9p
ZCBSZXNvdXJjZUxvYWRlcjo6cmV0cmlldmVSZXNwb25zZUVuY29kaW5nKCkgY29uc3Qge30KIAot
Ci1WZWN0b3I8Y2hhcj4gU2VydmVTeW5jaHJvbm91c1JlcXVlc3QoTG9hZGVyKiwgRG9jTG9hZGVy
KiwgUmVzb3VyY2VMb2FkZXIqLCBLVVJMJiwgRGVwcmVjYXRlZFN0cmluZyYpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgcmV0dXJuIFZlY3RvcjxjaGFyPigpOyB9CitWZWN0b3I8Y2hhcj4gU2VydmVTeW5j
aHJvbm91c1JlcXVlc3QoTG9hZGVyKiwgRG9jTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgS1VSTCYgZmluYWxVUkwsIERlcHJlY2F0ZWRTdHJpbmcmIGhlYWRlcnMpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgcmV0dXJuIFZlY3RvcjxjaGFyPigpOyB9CiAKIHZvaWQgQ2hlY2tDYWNoZU9iamVj
dFN0YXR1cyhEb2NMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSopIHsgfQogYm9vbCBDaGVja0lmUmVs
b2FkaW5nKERvY0xvYWRlciopIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0yNTgsNiArMjYwLDkgQEAg
dm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0UmVzcG9uc2UoUGxhdGZvcgogdm9pZCBDYWNoZWRSZXNv
dXJjZTo6c2V0QWxsRGF0YShQbGF0Zm9ybURhdGEpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiBI
SU5TVEFOQ0UgUGFnZTo6c19pbnN0YW5jZUhhbmRsZSA9IDA7Citib29sIFBhZ2U6OmNhblJ1bk1v
ZGFsKCkgeyByZXR1cm4gdHJ1ZTsgfQorYm9vbCBQYWdlOjpjYW5SdW5Nb2RhbE5vdygpIHsgcmV0
dXJuIHRydWU7IH0KK3ZvaWQgUGFnZTo6cnVuTW9kYWwoKSB7IH0KIAogdm9pZCBXaWRnZXQ6OnNl
dEVuYWJsZWQoYm9vbCkgeyB9CiB2b2lkIFdpZGdldDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KixJ
bnRSZWN0IGNvbnN0JikgeyB9CkBAIC0zMTIsNiArMzE3LDcgQEAgdm9pZCBQYXRoOjpjbG9zZVN1
YnBhdGgoKSB7IH0KIHZvaWQgUGF0aDo6YWRkQXJjKGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBib29sKSB7IH0KIHZvaWQgUGF0aDo6YWRkUmVjdChjb25zdCBGbG9hdFJl
Y3QmKSB7IH0KIHZvaWQgUGF0aDo6YWRkRWxsaXBzZShjb25zdCBGbG9hdFJlY3QmKSB7IH0KK3Zv
aWQgUGF0aDo6dHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHsgfQogCiBUZXh0Rmll
bGQ6OlRleHRGaWVsZChUZXh0RmllbGQ6OlR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyB9CiBU
ZXh0RmllbGQ6On5UZXh0RmllbGQoKSB7IH0KQEAgLTM2NSw2ICszNzEsNyBAQCBQb3B1cE1lbnU6
OlBvcHVwTWVudShSZW5kZXJNZW51TGlzdCopIHsgCiBQb3B1cE1lbnU6On5Qb3B1cE1lbnUoKSB7
IG5vdEltcGxlbWVudGVkKCk7IH0KIHZvaWQgUG9wdXBNZW51OjpzaG93KGNvbnN0IEludFJlY3Qm
LCBGcmFtZVZpZXcqLCBpbnQgaW5kZXgpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogdm9pZCBQb3B1
cE1lbnU6OmhpZGUoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KK3ZvaWQgUG9wdXBNZW51Ojp1cGRh
dGVGcm9tRWxlbWVudCgpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiB2b2lkIFJlbmRlclRoZW1l
V2luOjpzeXN0ZW1Gb250KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uKSBjb25zdCB7fQogYm9vbCBSZW5kZXJUaGVtZVdpbjo6cGFpbnRNZW51TGlzdChSZW5kZXJP
YmplY3QgKiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikg
eyByZXR1cm4gZmFsc2U7IH0KQEAgLTM4NCw0ICszOTEsNiBAQCBib29sIEljb25EYXRhYmFzZTo6
aGFzRW50cnlGb3JJY29uVVJMKGNvCiBJY29uRGF0YWJhc2UqIEljb25EYXRhYmFzZTo6c2hhcmVk
SWNvbkRhdGFiYXNlKCkgeyByZXR1cm4gMDsgfQogYm9vbCBJY29uRGF0YWJhc2U6OnNldEljb25V
UkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiBwYWdlVVJM
KSB7IHJldHVybiBmYWxzZTsgfQogCit2b2lkIHN5c3RlbUJlZXAoKSB7fQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvQ09NL1dlYkZyYW1lLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvQ09NL1dlYkZyYW1lLmNwcAkocmV2aXNpb24gMTczNjYpCisrKyBXZWJLaXQvQ09N
L1dlYkZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw3IEBAIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6OmluaXQKICAgICAgICAgcmV0dXJuIGhyOwogCiAg
ICAgUGFnZSogcGFnZSA9IG5ldyBQYWdlKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbmV3IEZyYW1l
V2luKHBhZ2UsIDAsIHRoaXMpOworICAgIEZyYW1lKiBmcmFtZSA9IG5ldyBGcmFtZVdpbihwYWdl
LCAwLCB0aGlzLCB0aGlzKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIG9uZS10aW1lIGluaXRp
YWxpemF0aW9uLCBidXQgaXQgZ2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNldHRpbmcgZnJvbSB0aGUK
ICAgICAvLyBjdXJyZW50IFdlYlZpZXcuIFRoYXQncyBhIG1pc21hdGNoIGFuZCBub3QgZ29vZCEK
QEAgLTM4MCwxMCArMzgwLDEwIEBAIEhSRVNVTFQgV2ViRnJhbWU6OmxvYWREYXRhU291cmNlKFdl
YkRhdGEKICAgICAgICAgICAgICAgICAgICAgV2ViTXV0YWJsZVVSTFJlcXVlc3QqIHJlcXVlc3RJ
bXBsID0gc3RhdGljX2Nhc3Q8V2ViTXV0YWJsZVVSTFJlcXVlc3QqPihyZXF1ZXN0KTsKICAgICAg
ICAgICAgICAgICAgICAgZm9ybURhdGEgPSByZXF1ZXN0SW1wbC0+Zm9ybURhdGEoKTsKICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUmVmUHRyPFJlc291cmNlTG9hZGVyPiBsb2Fk
ZXIgPSBmb3JtRGF0YSA/Ci0gICAgICAgICAgICAgICAgICBSZXNvdXJjZUxvYWRlcjo6Y3JlYXRl
KHRoaXMsIG1ldGhvZFN0cmluZywga3VybCwgKmZvcm1EYXRhKSA6Ci0gICAgICAgICAgICAgICAg
ICBSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHRoaXMsIG1ldGhvZFN0cmluZywga3VybCk7Ci0gICAg
ICAgICAgICAgICAgbG9hZGVyLT5zdGFydChkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+ZG9jTG9hZGVy
KCkpOworCisgICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdChr
dXJsKTsKKyAgICAgICAgICAgICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkZXI+IGxvYWRlciA9IFJl
c291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0LCB0aGlzLCBkLT5mcmFtZS0+ZG9j
dW1lbnQoKS0+ZG9jTG9hZGVyKCkpOworICAgICAgICAgICAgICAgIC8vbG9hZGVyLT5zdGFydChk
LT5mcmFtZS0+ZG9jdW1lbnQoKS0+ZG9jTG9hZGVyKCkpOwogICAgICAgICAgICAgICAgIElXZWJG
cmFtZUxvYWREZWxlZ2F0ZSogZnJhbWVMb2FkRGVsZWdhdGU7CiAgICAgICAgICAgICAgICAgaWYg
KFNVQ0NFRURFRChkLT53ZWJWaWV3LT5mcmFtZUxvYWREZWxlZ2F0ZSgmZnJhbWVMb2FkRGVsZWdh
dGUpKSkgewogICAgICAgICAgICAgICAgICAgICBmcmFtZUxvYWREZWxlZ2F0ZS0+ZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZShkLT53ZWJWaWV3LCB0aGlzKTsKQEAgLTUzNCw3ICs1MzQs
NyBAQCB2b2lkIFdlYkZyYW1lOjpyZWNlaXZlZFJlc3BvbnNlKFJlc291cmNlCiAgICAgfQogfQog
Ci12b2lkIFdlYkZyYW1lOjpyZWNlaXZlZERhdGEoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBjaGFy
KiBkYXRhLCBpbnQgbGVuZ3RoKQordm9pZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZURhdGEoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAg
IC8vIEVuc3VyZSB0aGF0IFdlYkZyYW1lOjpyZWNlaXZlZFJlc3BvbnNlIHdhcyBjYWxsZWQuCiAg
ICAgX0FTU0VSVChtX2RhdGFTb3VyY2UgJiYgIW1fcHJvdmlzaW9uYWxEYXRhU291cmNlKTsKQEAg
LTU4NSw2ICs1ODUsNyBAQCB2b2lkIFdlYkZyYW1lOjpjcmVhdGVOZXdXaW5kb3coY29uc3QgV2Vi
CiAKICAgICBXZWJGcmFtZSogbmV3X2ZyYW1lID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWUqPihuZXdf
aXdlYmZyYW1lKTsKICAgICBuZXdGcmFtZSA9IG5ld19mcmFtZS0+ZC0+ZnJhbWUuZ2V0KCk7CisK
IH0KIAogdm9pZCBXZWJGcmFtZTo6b3BlblVSTChjb25zdCBEZXByZWNhdGVkU3RyaW5nJiB1cmws
IGJvb2wgbG9ja0hpc3RvcnkpCkBAIC02NDYsMyArNjQ3LDE0IEBAIHZvaWQgV2ViRnJhbWU6OnNl
dFN0YXR1c1RleHQoY29uc3QgU3RyaW4KICAgICAgICAgdWlEZWxlZ2F0ZS0+UmVsZWFzZSgpOwog
ICAgIH0KIH0KKworCitib29sIFdlYkZyYW1lOjpzaG91bGREZWxldGVSYW5nZShSYW5nZSopCit7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgV2ViRnJhbWU6OnNob3VsZFNob3dEZWxldGVJ
bnRlcmZhY2UoSFRNTEVsZW1lbnQqKQoreworICAgIHJldHVybiB0cnVlOworfQpJbmRleDogV2Vi
S2l0L0NPTS9XZWJGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DT00vV2ViRnJhbWUuaAko
cmV2aXNpb24gMTczNjYpCisrKyBXZWJLaXQvQ09NL1dlYkZyYW1lLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkZyYW1lV2luLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRl
ICJFZGl0b3JDbGllbnQuaCIKICNwcmFnbWEgd2FybmluZyhwb3ApCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTUzLDcgKzU0LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJGcmFtZUxvYWRU
eXBlUmVwbGFjZQogfSBXZWJGcmFtZUxvYWRUeXBlOwogCi1jbGFzcyBXZWJGcmFtZSA6IHB1Ymxp
YyBJV2ViRnJhbWUsIHB1YmxpYyBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGlj
IFdlYkNvcmU6OkZyYW1lV2luQ2xpZW50CitjbGFzcyBXZWJGcmFtZSA6IHB1YmxpYyBJV2ViRnJh
bWUsIHB1YmxpYyBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIFdlYkNvcmU6
OkZyYW1lV2luQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50CiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYkZyYW1lKiBjcmVhdGVJbnN0YW5jZSgpOwpAQCAtMTMzLDcgKzEzNCw3
IEBAIHB1YmxpYzoKICAgICAvLyBSZXNvdXJjZUxvYWRlckNsaWVudAogICAgIHZpcnR1YWwgdm9p
ZCByZWNlaXZlZFJlZGlyZWN0KFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgY29uc3QgV2ViQ29y
ZTo6S1VSTCYpOwogICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZFJlc3BvbnNlKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyKiwgV2ViQ29yZTo6UGxhdGZvcm1SZXNwb25zZSk7Ci0gICAgdmlydHVhbCB2
b2lkIHJlY2VpdmVkRGF0YShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IGNoYXIqLCBp
bnQpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShXZWJDb3JlOjpSZXNvdXJjZUxv
YWRlciosIGNvbnN0IGNoYXIqLCBpbnQpOwogICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZEFsbERh
dGEoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRB
bGxEYXRhKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgV2ViQ29yZTo6UGxhdGZvcm1EYXRhKTsK
IApAQCAtMTUyLDYgKzE1MywxMCBAQCBwdWJsaWM6CiAgICAgSFJFU1VMVCBnb1RvSXRlbShJV2Vi
SGlzdG9yeUl0ZW0qIGl0ZW0sIFdlYkZyYW1lTG9hZFR5cGUgd2l0aExvYWRUeXBlKTsKICAgICBI
UkVTVUxUIGxvYWRJdGVtKElXZWJIaXN0b3J5SXRlbSogaXRlbSwgV2ViRnJhbWVMb2FkVHlwZSB3
aXRoTG9hZFR5cGUpOwogCisgICAgLy8gRWRpdG9yQ2xpZW50CisgICAgdmlydHVhbCBib29sIHNo
b3VsZERlbGV0ZVJhbmdlKFdlYkNvcmU6OlJhbmdlICpyYW5nZSk7CisgICAgdmlydHVhbCBib29s
IHNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoV2ViQ29yZTo6SFRNTEVsZW1lbnQqKTsKKwogcHJv
dGVjdGVkOgogICAgIGludCBnZXRPYmplY3RDYWNoZVNpemUoKTsKIApJbmRleDogV2ViS2l0L1dl
YktpdC52Y3Byb2ovV2ViS2l0LnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvV2ViS2l0LnZj
cHJvai9XZWJLaXQudmNwcm9qCShyZXZpc2lvbiAxNzM2NikKKysrIFdlYktpdC9XZWJLaXQudmNw
cm9qL1dlYktpdC52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTEsMzIwICsxLDMyMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+Ci08VmlzdWFsU3R1ZGlv
UHJvamVjdAotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIgotCVZlcnNpb249IjguMDAiCi0JTmFt
ZT0iV2ViS2l0IgotCVByb2plY3RHVUlEPSJ7MDY2MkE4QTktODJBMy00NjM4LTk3RDgtRUM0MjVE
OEQ4N0M5fSIKLQlSb290TmFtZXNwYWNlPSJXZWJLaXQiCi0JS2V5d29yZD0iV2luMzJQcm9qIgot
CT4KLQk8UGxhdGZvcm1zPgotCQk8UGxhdGZvcm0KLQkJCU5hbWU9IldpbjMyIgotCQkvPgotCTwv
UGxhdGZvcm1zPgotCTxUb29sRmlsZXM+Ci0JPC9Ub29sRmlsZXM+Ci0JPENvbmZpZ3VyYXRpb25z
PgotCQk8Q29uZmlndXJhdGlvbgotCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQlPdXRwdXREaXJl
Y3Rvcnk9IiQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4i
Ci0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoV2ViS2l0T3V0cHV0RGlyKVxXZWJLaXRXaW4u
aW50ZXJtZWRpYXRlXCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbi5pbnRlcm1lZGlhdGUi
Ci0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiIKLQkJCUNoYXJhY3RlclNldD0iMSIKLQkJCT4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAot
CQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2Vi
U2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
TUlETFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCU9wdGltaXphdGlvbj0iMCIKLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKFByb2plY3REaXIpXC4uXENPTSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGxvYWRlciZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZG9tJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxlY21hJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZVxraHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNv
cmVcY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxtaXNj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcYnJpZGdlXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXFdlYkNvcmVcYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2Vi
Q29yZVxwbGF0Zm9ybVxjYWlyb1xjYWlyb1xzcmMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxXZWJDb3JlXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxkb20mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHhtbCZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVca3dxJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5caWNvbnYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4bWwyJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XEphdmFTY3JpcHRDb3JlXG9zLXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
SmF2YVNjcmlwdENvcmVcd3RmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25m
aWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikmcXVvdDsi
Ci0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfV0lORE9XUztfVVNS
RExMO1dFQktJVF9FWFBPUlRTO19XSU4zMl9XSU5OVD0weDUwMDtfU0NMX1NFQ1VSRV9OT19ERVBS
RUNBVEUiCi0JCQkJTWluaW1hbFJlYnVpbGQ9InRydWUiCi0JCQkJRXhjZXB0aW9uSGFuZGxpbmc9
IjAiCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIgotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIgot
CQkJCVJ1bnRpbWVUeXBlSW5mbz0iZmFsc2UiCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAi
Ci0JCQkJV2FybmluZ0xldmVsPSI0IgotCQkJCVdhcm5Bc0Vycm9yPSJ0cnVlIgotCQkJCURldGVj
dDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0idHJ1ZSIKLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9y
bWF0PSIzIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21w
aWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJU
b29sIgotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKLQkJCQlDb21tYW5kTGluZT0ieGNvcHkg
L3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljb252
LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAv
eSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1ZHQzNC5k
bGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljdXVjMzQuZGxs
JnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4bWwyLmRsbCZx
dW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieHNsdC5kbGwmcXVv
dDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXHpsaWIxLmRsbCZxdW90OyAm
cXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTsiCi0JCQkvPgotCQkJPFRvb2wKLQkJ
CQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkJUmVnaXN0ZXJPdXRwdXQ9InRydWUiCi0JCQkJTGlu
a0xpYnJhcnlEZXBlbmRlbmNpZXM9InRydWUiCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0i
Y29tY3RsMzIubGliIHdpbmluZXQubGliICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWNvbnZc
bGliXGljb252LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbFxsaWJc
bGlieG1sMi5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4c2x0XGxpYlxs
aWJ4c2x0LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxsaWJcaWN1dWMu
bGliJnF1b3Q7IgotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiIKLQkJCQlNb2R1bGVEZWZpbml0aW9u
RmlsZT0iV2ViS2l0LmRlZiIKLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249InRydWUiCi0J
CQkJU3ViU3lzdGVtPSIyIgotCQkJCVRhcmdldE1hY2hpbmU9IjEiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFu
aWZlc3RUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQXBw
VmVyaWZpZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50
VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgot
CQkJCUNvbW1hbmRMaW5lPSIiCi0JCQkvPgotCQk8L0NvbmZpZ3VyYXRpb24+Ci0JCTxDb25maWd1
cmF0aW9uCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJT3V0cHV0RGlyZWN0b3J5PSIkKFdl
YktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luIgotCQkJSW50ZXJt
ZWRpYXRlRGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERpcilcV2ViS2l0V2luLmludGVybWVkaWF0
ZVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4uaW50ZXJtZWRpYXRlIgotCQkJQ29uZmln
dXJhdGlvblR5cGU9IjIiCi0JCQlDaGFyYWN0ZXJTZXQ9IjEiCi0JCQlXaG9sZVByb2dyYW1PcHRp
bWl6YXRpb249IjEiCi0JCQk+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRv
b2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKLQkJCS8+
Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKFByb2plY3REaXIpXC4uXENPTSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGxvYWRlciZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZG9tJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxlY21hJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZVxraHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNv
cmVcY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxtaXNj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcYnJpZGdlXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXFdlYkNvcmVcYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2Vi
Q29yZVxwbGF0Zm9ybVxjYWlyb1xjYWlyb1xzcmMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxXZWJDb3JlXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxkb20mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHhtbCZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVca3dxJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5caWNvbnYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4bWwyJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XEphdmFTY3JpcHRDb3JlXG9zLXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
SmF2YVNjcmlwdENvcmVcd3RmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25m
aWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikmcXVvdDsi
Ci0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfV0lORE9XUztfVVNS
RExMO1dFQktJVF9FWFBPUlRTO19XSU4zMl9XSU5OVD0weDUwMDtfU0NMX1NFQ1VSRV9OT19ERVBS
RUNBVEUiCi0JCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiCi0JCQkJUnVudGltZUxpYnJhcnk9IjIi
Ci0JCQkJUnVudGltZVR5cGVJbmZvPSJmYWxzZSIKLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0i
MCIKLQkJCQlXYXJuaW5nTGV2ZWw9IjQiCi0JCQkJV2FybkFzRXJyb3I9InRydWUiCi0JCQkJRGV0
ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJ0cnVlIgotCQkJCURlYnVnSW5mb3JtYXRpb25G
b3JtYXQ9IjMiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNv
bXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxl
clRvb2wiCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIgotCQkJLz4KLQkJCTxU
b29sCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIgotCQkJCUNvbW1hbmRMaW5lPSJ4Y29w
eSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWNv
bnYuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9y
IC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY3VkdDM0
LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAv
eSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1dWMzNC5k
bGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGxpYnhtbDIuZGxs
JnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4c2x0LmRsbCZx
dW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcemxpYjEuZGxsJnF1b3Q7
ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBOyIKLQkJCS8+Ci0JCQk8VG9vbAot
CQkJCU5hbWU9IlZDTGlua2VyVG9vbCIKLQkJCQlSZWdpc3Rlck91dHB1dD0idHJ1ZSIKLQkJCQlM
aW5rTGlicmFyeURlcGVuZGVuY2llcz0idHJ1ZSIKLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PSJjb21jdGwzMi5saWIgd2luaW5ldC5saWIgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29u
dlxsaWJcaWNvbnYubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieG1sXGxp
YlxsaWJ4bWwyLmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhzbHRcbGli
XGxpYnhzbHQubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGxpYlxpY3V1
Yy5saWImcXVvdDsiCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIgotCQkJCU1vZHVsZURlZmluaXRp
b25GaWxlPSJXZWJLaXQuZGVmIgotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSIK
LQkJCQlTdWJTeXN0ZW09IjIiCi0JCQkJT3B0aW1pemVSZWZlcmVuY2VzPSIyIgotCQkJCUVuYWJs
ZUNPTURBVEZvbGRpbmc9IjIiCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDQUxpbmtUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNN
YW5pZmVzdFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDRnhDb3BUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNB
cHBWZXJpZmllclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1l
bnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wi
Ci0JCQkvPgotCQk8L0NvbmZpZ3VyYXRpb24+Ci0JPC9Db25maWd1cmF0aW9ucz4KLQk8UmVmZXJl
bmNlcz4KLQk8L1JlZmVyZW5jZXM+Ci0JPEZpbGVzPgotCQk8RmlsdGVyCi0JCQlOYW1lPSJTb3Vy
Y2UgRmlsZXMiCi0JCQlGaWx0ZXI9ImNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2Fz
bTthc214IgotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJB
MzJENzUyQTJGRn0iCi0JCQk+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLlxXZWJLaXQu
ZGVmIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxD
T01cV2ViS2l0Q2xhc3NGYWN0b3J5LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYktpdERMTC5jcHAiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQk8L0ZpbHRlcj4KLQkJPEZpbHRlcgotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIgotCQkJRmls
dGVyPSJoO2hwcDtoeHg7aG07aW5sO2luYzt4c2QiCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7OTM5
OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSIKLQkJCT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuXGF1dG92ZXJzaW9uLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5ccmVzb3VyY2UuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkJhY2tGb3J3YXJkTGlzdC5oIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2Vi
RGF0YVNvdXJjZS5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxDT01cV2ViRnJhbWUuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkhpc3RvcnlJdGVtLmgiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJJY29uRGF0YWJhc2UuaCIK
LQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdl
YktpdENsYXNzRmFjdG9yeS5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0RExMLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJNdXRhYmxlVVJMUmVxdWVzdC5oIgotCQkJ
CT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViVmll
dy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJPC9GaWx0ZXI+Ci0JCTxGaWx0ZXIKLQkJCU5hbWU9
IkNsYXNzZXMiCi0JCQk+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkJh
Y2tGb3J3YXJkTGlzdC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXENPTVxXZWJEYXRhU291cmNlLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkZyYW1lLmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkhpc3RvcnlJ
dGVtLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cQ09NXFdlYkljb25EYXRhYmFzZS5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJNdXRhYmxlVVJMUmVxdWVzdC5jcHAiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJWaWV3
LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCTwvRmlsdGVyPgotCQk8RmlsdGVyCi0JCQlOYW1l
PSJSZXNvdXJjZXMiCi0JCQk+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLlxtaXNzaW5n
SW1hZ2UucG5nIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuXHRleHRBcmVhUmVzaXplQ29ybmVyLnBuZyIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLlxXZWJLaXQucmMiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cV2ViS2l0LnRsYiIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCTwvRmlsdGVyPgotCQk8RmlsZQotCQkJUmVsYXRpdmVQYXRoPSIuXHBuZzEuYmluIgotCQkJ
PgotCQk8L0ZpbGU+Ci0JPC9GaWxlcz4KLQk8R2xvYmFscz4KLQk8L0dsb2JhbHM+Ci08L1Zpc3Vh
bFN0dWRpb1Byb2plY3Q+Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEy
NTIiPz4NCis8VmlzdWFsU3R1ZGlvUHJvamVjdA0KKwlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyIN
CisJVmVyc2lvbj0iOC4wMCINCisJTmFtZT0iV2ViS2l0Ig0KKwlQcm9qZWN0R1VJRD0iezA2NjJB
OEE5LTgyQTMtNDYzOC05N0Q4LUVDNDI1RDhEODdDOX0iDQorCVJvb3ROYW1lc3BhY2U9IldlYktp
dCINCisJS2V5d29yZD0iV2luMzJQcm9qIg0KKwk+DQorCTxQbGF0Zm9ybXM+DQorCQk8UGxhdGZv
cm0NCisJCQlOYW1lPSJXaW4zMiINCisJCS8+DQorCTwvUGxhdGZvcm1zPg0KKwk8VG9vbEZpbGVz
Pg0KKwk8L1Rvb2xGaWxlcz4NCisJPENvbmZpZ3VyYXRpb25zPg0KKwkJPENvbmZpZ3VyYXRpb24N
CisJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQlPdXRwdXREaXJlY3Rvcnk9IiQoV2ViS2l0T3V0
cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4iDQorCQkJSW50ZXJtZWRpYXRl
RGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERpcilcV2ViS2l0V2luLmludGVybWVkaWF0ZVwkKENv
bmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4uaW50ZXJtZWRpYXRlIg0KKwkJCUNvbmZpZ3VyYXRp
b25UeXBlPSIyIg0KKwkJCUNoYXJhY3RlclNldD0iMSINCisJCQk+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYTUxE
YXRhR2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViU2Vy
dmljZVByb3h5R2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
TUlETFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQlPcHRpbWl6YXRpb249IjAiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM9IiZxdW90OyQoUHJvamVjdERpcilcLi5cQ09NJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcbG9h
ZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxkb20mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGVjbWEmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
V2ViQ29yZVxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1s
XG1pc2MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxicmlkZ2Vcd2luJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cV2ViQ29yZVxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXHBsYXRmb3JtXGNhaXJvXGNhaXJvXHNyYyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZVxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxX
ZWJDb3JlXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGRv
bSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVceG1sJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxrd3EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxpY29udiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbDImcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cSmF2YVNjcmlwdENvcmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxKYXZhU2NyaXB0Q29yZVx3dGYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxX
ZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwk
KENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKSZx
dW90OyINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfV0lORE9X
UztfVVNSRExMO1dFQktJVF9FWFBPUlRTO19XSU4zMl9XSU5OVD0weDUwMDtfU0NMX1NFQ1VSRV9O
T19ERVBSRUNBVEUiDQorCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIg0KKwkJCQlFeGNlcHRpb25I
YW5kbGluZz0iMCINCisJCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KKwkJCQlSdW50aW1lTGli
cmFyeT0iMyINCisJCQkJUnVudGltZVR5cGVJbmZvPSJmYWxzZSINCisJCQkJVXNlUHJlY29tcGls
ZWRIZWFkZXI9IjAiDQorCQkJCVdhcm5pbmdMZXZlbD0iNCINCisJCQkJV2FybkFzRXJyb3I9InRy
dWUiDQorCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0idHJ1ZSINCisJCQkJRGVi
dWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
TWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFt
ZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29s
Ig0KKwkJCQlDb21tYW5kTGluZT0ieGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XCQoQ29uZmlndXJhdGlvbk5hbWUpXGljb252LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikm
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChD
b25maWd1cmF0aW9uTmFtZSlcaWN1ZHQzNC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29u
ZmlndXJhdGlvbk5hbWUpXGljdXVjMzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90
OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZp
Z3VyYXRpb25OYW1lKVxsaWJ4bWwyLmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1
cmF0aW9uTmFtZSlcbGlieHNsdC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJh
dGlvbk5hbWUpXHpsaWIxLmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsm
I3gwQTsiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQorCQkJ
CVJlZ2lzdGVyT3V0cHV0PSJ0cnVlIg0KKwkJCQlMaW5rTGlicmFyeURlcGVuZGVuY2llcz0idHJ1
ZSINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY29tY3RsMzIubGliIHdpbmluZXQubGli
ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWNvbnZcbGliXGljb252LmxpYiZxdW90OyAmcXVv
dDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbFxsaWJcbGlieG1sMi5saWImcXVvdDsgJnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4c2x0XGxpYlxsaWJ4c2x0LmxpYiZxdW90OyAmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXGljdVxsaWJcaWN1dWMubGliJnF1b3Q7Ig0KKwkJCQlMaW5rSW5j
cmVtZW50YWw9IjIiDQorCQkJCU1vZHVsZURlZmluaXRpb25GaWxlPSJXZWJLaXQuZGVmIg0KKwkJ
CQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249InRydWUiDQorCQkJCVN1YlN5c3RlbT0iMiINCisJ
CQkJVGFyZ2V0TWFjaGluZT0iMSINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQUxp
bmtUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KKwkJCS8+DQorCQkJ
PFRvb2wNCisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDRnhDb3BUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBcHBW
ZXJpZmllclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYkRlcGxveW1l
bnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRv
b2wiDQorCQkJCUNvbW1hbmRMaW5lPSIiDQorCQkJLz4NCisJCTwvQ29uZmlndXJhdGlvbj4NCisJ
CTxDb25maWd1cmF0aW9uDQorCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQlPdXRwdXREaXJl
Y3Rvcnk9IiQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4i
DQorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERpcilcV2ViS2l0V2lu
LmludGVybWVkaWF0ZVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4uaW50ZXJtZWRpYXRl
Ig0KKwkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KKwkJCUNoYXJhY3RlclNldD0iMSINCisJCQlX
aG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQorCQkJPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDUHJlQnVpbGRFdmVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0N1
c3RvbUJ1aWxkVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDWE1MRGF0YUdl
bmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQ
cm94eUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01JRExU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxD
T00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVca2h0bWxcZWNtYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNv
cmVcaHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWwmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGNzcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcbWlzYyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXGJyaWRnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJD
b3JlXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cY2Fpcm9cY2Fp
cm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVx3
aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtXG5ldHdv
cmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtXG5ldHdv
cmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxyZW5kZXJpbmcm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGVkaXRpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2Vi
Q29yZVxrd3EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29udiZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbDImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENvcmVcb3Mt
d2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29yZVx3dGYm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJz
JnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJL
aXRXaW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OyINCisJCQkJUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO1dFQktJVF9FWFBPUlRT
O19XSU4zMl9XSU5OVD0weDUwMDtfU0NMX1NFQ1VSRV9OT19ERVBSRUNBVEUiDQorCQkJCUV4Y2Vw
dGlvbkhhbmRsaW5nPSIwIg0KKwkJCQlSdW50aW1lTGlicmFyeT0iMiINCisJCQkJUnVudGltZVR5
cGVJbmZvPSJmYWxzZSINCisJCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQorCQkJCVdhcm5p
bmdMZXZlbD0iNCINCisJCQkJV2FybkFzRXJyb3I9InRydWUiDQorCQkJCURldGVjdDY0Qml0UG9y
dGFiaWxpdHlQcm9ibGVtcz0idHJ1ZSINCisJCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9v
bCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ieGNv
cHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGlj
b252LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
ciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1ZHQz
NC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3Ig
L3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljdXVjMzQu
ZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4bWwyLmRs
bCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieHNsdC5kbGwm
cXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXHpsaWIxLmRsbCZxdW90
OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTsiDQorCQkJLz4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQorCQkJCVJlZ2lzdGVyT3V0cHV0PSJ0cnVlIg0K
KwkJCQlMaW5rTGlicmFyeURlcGVuZGVuY2llcz0idHJ1ZSINCisJCQkJQWRkaXRpb25hbERlcGVu
ZGVuY2llcz0iY29tY3RsMzIubGliIHdpbmluZXQubGliICZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5caWNvbnZcbGliXGljb252LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxp
YnhtbFxsaWJcbGlieG1sMi5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4
c2x0XGxpYlxsaWJ4c2x0LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxs
aWJcaWN1dWMubGliJnF1b3Q7Ig0KKwkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQorCQkJCU1vZHVs
ZURlZmluaXRpb25GaWxlPSJXZWJLaXQuZGVmIg0KKwkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRp
b249InRydWUiDQorCQkJCVN1YlN5c3RlbT0iMiINCisJCQkJT3B0aW1pemVSZWZlcmVuY2VzPSIy
Ig0KKwkJCQlFbmFibGVDT01EQVRGb2xkaW5nPSIyIg0KKwkJCQlUYXJnZXRNYWNoaW5lPSIxIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDWERDTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Jz
Y01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNGeENvcFRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCisJCQkvPg0KKwkJPC9Db25m
aWd1cmF0aW9uPg0KKwk8L0NvbmZpZ3VyYXRpb25zPg0KKwk8UmVmZXJlbmNlcz4NCisJPC9SZWZl
cmVuY2VzPg0KKwk8RmlsZXM+DQorCQk8RmlsdGVyDQorCQkJTmFtZT0iU291cmNlIEZpbGVzIg0K
KwkJCUZpbHRlcj0iY3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQor
CQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJG
Rn0iDQorCQkJPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLlxXZWJLaXQuZGVmIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09N
XFdlYktpdENsYXNzRmFjdG9yeS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0RExMLmNwcCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCTwvRmlsdGVyPg0KKwkJPEZpbHRlcg0KKwkJCU5hbWU9IkhlYWRlciBGaWxlcyIN
CisJCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmw7aW5jO3hzZCINCisJCQlVbmlxdWVJZGVudGlm
aWVyPSJ7OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSINCisJCQk+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuXGF1dG92ZXJzaW9uLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuXHJlc291cmNlLmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2Vi
QmFja0ZvcndhcmRMaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRGF0YVNvdXJjZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkZyYW1lLmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2Vi
SGlzdG9yeUl0ZW0uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXENPTVxXZWJJY29uRGF0YWJhc2UuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJLaXRDbGFzc0ZhY3Rvcnku
aCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XENPTVxXZWJLaXRETEwuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJNdXRhYmxlVVJMUmVxdWVzdC5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYlZpZXcuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCTwvRmlsdGVyPg0KKwkJPEZpbHRlcg0KKwkJCU5hbWU9
IkNsYXNzZXMiDQorCQkJPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdl
YkJhY2tGb3J3YXJkTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRGF0YVNvdXJjZS5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRnJhbWUuY3Bw
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Q09NXFdlYkhpc3RvcnlJdGVtLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJJY29uRGF0YWJhc2UuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYk11dGFi
bGVVUkxSZXF1ZXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJWaWV3LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CTwvRmlsdGVyPg0KKwkJPEZpbHRlcg0KKwkJCU5hbWU9IlJlc291cmNlcyINCisJCQk+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuXG1pc3NpbmdJbWFnZS5wbmciDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuXHRleHRBcmVhUmVzaXpl
Q29ybmVyLnBuZyINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii5cV2ViS2l0LnJjIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLlxXZWJLaXQudGxiIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJPC9G
aWx0ZXI+DQorCQk8RmlsZQ0KKwkJCVJlbGF0aXZlUGF0aD0iLlxwbmcxLmJpbiINCisJCQk+DQor
CQk8L0ZpbGU+DQorCTwvRmlsZXM+DQorCTxHbG9iYWxzPg0KKwk8L0dsb2JhbHM+DQorPC9WaXN1
YWxTdHVkaW9Qcm9qZWN0Pg0K
</data>
<flag name="review"
          id="3863"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11242</attachid>
            <date>2006-10-27 07:21:17 -0700</date>
            <delta_ts>2006-11-02 11:11:36 -0800</delta_ts>
            <desc>Implementation of AffineTransform for Cairo</desc>
            <filename>AffineTransformCairo.cpp</filename>
            <type>text/plain</type>
            <size>5623</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">LyoKICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0OgogKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAog
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CiAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAogKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCiAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgogKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CiAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAogKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAqLwoKI2luY2x1ZGUgImNv
bmZpZy5oIgojaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCgojaW5jbHVkZSAiSW50UmVjdC5o
IgojaW5jbHVkZSAiRmxvYXRSZWN0LmgiCgojaW5jbHVkZSAiY2Fpcm8uaCIKCm5hbWVzcGFjZSBX
ZWJDb3JlIHsKCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3JtKCkKewogICAgY2Fpcm9f
bWF0cml4X2luaXRfaWRlbnRpdHkoJm1fdHJhbnNmb3JtKTsKfQoKQWZmaW5lVHJhbnNmb3JtOjpB
ZmZpbmVUcmFuc2Zvcm0oZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRv
dWJsZSB0eCwgZG91YmxlIHR5KQp7CiAgICBjYWlyb19tYXRyaXhfaW5pdCgmbV90cmFuc2Zvcm0s
IGEsIGMsIGIsIGQsIHR4LCB0eSk7Cn0KCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3Jt
KGNvbnN0IGNhaXJvX21hdHJpeF90ICZtYXRyaXgpCnsKICAgIG1fdHJhbnNmb3JtID0gbWF0cml4
Owp9Cgp2b2lkIEFmZmluZVRyYW5zZm9ybTo6c2V0TWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwg
ZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgdHgsIGRvdWJsZSB0eSkKewogICAgY2Fpcm9fbWF0
cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBjLCBiLCBkLCB0eCwgdHkpOwp9Cgp2b2lkIEFmZmlu
ZVRyYW5zZm9ybTo6bWFwKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlKiB4MiwgZG91YmxlKiB5
MikgY29uc3QKewogICAgKngyID0geDsKICAgICp5MiA9IHk7CiAgICBjYWlyb19tYXRyaXhfdHJh
bnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgeDIsIHkyKTsKfQoKSW50UmVjdCBBZmZpbmVUcmFu
c2Zvcm06Om1hcFJlY3QoY29uc3QgSW50UmVjdCAmcmVjdCkgY29uc3QNCnsNCiAgICBkb3VibGUg
cmVjdFggPSByZWN0LngoKTsNCiAgICBkb3VibGUgcmVjdFkgPSByZWN0LnkoKTsNCiAgICBkb3Vi
bGUgcmVjdFcgPSByZWN0LndpZHRoKCk7DQogICAgZG91YmxlIHJlY3RIID0gcmVjdC5oZWlnaHQo
KTsNCg0KICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJhbnNmb3JtLCAmcmVj
dFgsICZyZWN0WSk7DQogICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9kaXN0YW5jZSgmbV90cmFu
c2Zvcm0sICZyZWN0VywgJnJlY3RIKTsNCiAgICBGbG9hdFJlY3QgZmxvYXRSZWN0KHJlY3RYLCBy
ZWN0WSwgcmVjdFcsIHJlY3RIKTsNCg0KICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KGZsb2F0
UmVjdCk7DQp9DQoNCkZsb2F0UmVjdCBBZmZpbmVUcmFuc2Zvcm06Om1hcFJlY3QoY29uc3QgRmxv
YXRSZWN0ICZyZWN0KSBjb25zdA0Kew0KICAgIGRvdWJsZSByZWN0WCA9IHJlY3QueCgpOw0KICAg
IGRvdWJsZSByZWN0WSA9IHJlY3QueSgpOw0KICAgIGRvdWJsZSByZWN0VyA9IHJlY3Qud2lkdGgo
KTsNCiAgICBkb3VibGUgcmVjdEggPSByZWN0LmhlaWdodCgpOw0KDQogICAgY2Fpcm9fbWF0cml4
X3RyYW5zZm9ybV9wb2ludCgmbV90cmFuc2Zvcm0sICZyZWN0WCwgJnJlY3RZKTsNCiAgICBjYWly
b19tYXRyaXhfdHJhbnNmb3JtX2Rpc3RhbmNlKCZtX3RyYW5zZm9ybSwgJnJlY3RXLCAmcmVjdEgp
Ow0KICAgIHJldHVybiBGbG9hdFJlY3QocmVjdFgsIHJlY3RZLCByZWN0VywgcmVjdEgpOw0KfQ0K
DQpib29sIEFmZmluZVRyYW5zZm9ybTo6aXNJZGVudGl0eSgpIGNvbnN0DQp7DQogICAgcmV0dXJu
ICgobV90cmFuc2Zvcm0ueHggPT0gMSkgJiYgKG1fdHJhbnNmb3JtLnl5ID09IDEpIA0KICAgICAg
ICAgJiYgKG1fdHJhbnNmb3JtLnh5ID09IDApICYmIChtX3RyYW5zZm9ybS55eCA9PSAwKSANCiAg
ICAgICAgICYmIChtX3RyYW5zZm9ybS54MCA9PSAwKSAmJiAobV90cmFuc2Zvcm0ueTAgPT0gMCkp
Ow0KfQ0KDQpkb3VibGUgQWZmaW5lVHJhbnNmb3JtOjptMTEoKSBjb25zdA0Kew0KICAgIHJldHVy
biBtX3RyYW5zZm9ybS54eDsNCn0NCg0KZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6bTEyKCkgY29u
c3QNCnsNCiAgICByZXR1cm4gbV90cmFuc2Zvcm0ueHk7DQp9DQoNCmRvdWJsZSBBZmZpbmVUcmFu
c2Zvcm06Om0yMSgpIGNvbnN0DQp7DQogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnl4Ow0KfQ0KDQpk
b3VibGUgQWZmaW5lVHJhbnNmb3JtOjptMjIoKSBjb25zdA0Kew0KICAgIHJldHVybiBtX3RyYW5z
Zm9ybS55eTsNCn0NCg0KZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6ZHgoKSBjb25zdA0Kew0KICAg
IHJldHVybiBtX3RyYW5zZm9ybS54MDsNCn0NCg0KZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6ZHko
KSBjb25zdA0Kew0KICAgIHJldHVybiBtX3RyYW5zZm9ybS55MDsNCn0NCg0Kdm9pZCBBZmZpbmVU
cmFuc2Zvcm06OnJlc2V0KCkNCnsNCiAgICBjYWlyb19tYXRyaXhfaW5pdF9pZGVudGl0eSgmbV90
cmFuc2Zvcm0pOw0KfQ0KDQpBZmZpbmVUcmFuc2Zvcm0gJkFmZmluZVRyYW5zZm9ybTo6c2NhbGUo
ZG91YmxlIHN4LCBkb3VibGUgc3kpDQp7DQogICAgY2Fpcm9fbWF0cml4X3NjYWxlKCZtX3RyYW5z
Zm9ybSwgc3gsIHN5KTsNCiAgICByZXR1cm4gKnRoaXM7DQp9DQoNCkFmZmluZVRyYW5zZm9ybSAm
QWZmaW5lVHJhbnNmb3JtOjpyb3RhdGUoZG91YmxlIGQpDQp7DQogICAgY2Fpcm9fbWF0cml4X3Jv
dGF0ZSgmbV90cmFuc2Zvcm0sIGQpOw0KICAgIHJldHVybiAqdGhpczsNCn0NCg0KQWZmaW5lVHJh
bnNmb3JtICZBZmZpbmVUcmFuc2Zvcm06OnRyYW5zbGF0ZShkb3VibGUgdHgsIGRvdWJsZSB0eSkN
CnsNCiAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZtX3RyYW5zZm9ybSwgdHgsIHR5KTsNCiAg
ICByZXR1cm4gKnRoaXM7DQp9DQoNCkFmZmluZVRyYW5zZm9ybSAmQWZmaW5lVHJhbnNmb3JtOjpz
aGVhcihkb3VibGUgc3gsIGRvdWJsZSBzeSkNCnsNCiAgICBjYWlyb19tYXRyaXhfdCBzaGVhcjsN
CiAgICBjYWlyb19tYXRyaXhfaW5pdCgmc2hlYXIsIDEsIHN4LCBzeSwgMSwgMCwgMCk7DQoNCiAg
ICBjYWlyb19tYXRyaXhfdCByZXN1bHQ7DQogICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZyZXN1
bHQsICZzaGVhciwgJm1fdHJhbnNmb3JtKTsNCiAgICBtX3RyYW5zZm9ybSA9IHJlc3VsdDsNCg0K
ICAgIHJldHVybiAqdGhpczsNCn0NCg0KZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6ZGV0KCkgY29u
c3QNCnsNCiAgICByZXR1cm4gbV90cmFuc2Zvcm0ueHggKiBtX3RyYW5zZm9ybS55eSAtIG1fdHJh
bnNmb3JtLnh5ICogbV90cmFuc2Zvcm0ueXg7DQp9DQoNCkFmZmluZVRyYW5zZm9ybSBBZmZpbmVU
cmFuc2Zvcm06OmludmVydCgpIGNvbnN0DQp7DQogICAgaWYgKCFpc0ludmVydGlibGUoKSkgcmV0
dXJuIEFmZmluZVRyYW5zZm9ybSgpOw0KDQogICAgY2Fpcm9fbWF0cml4X3QgcmVzdWx0ID0gbV90
cmFuc2Zvcm07DQogICAgY2Fpcm9fbWF0cml4X2ludmVydCgmcmVzdWx0KTsNCiAgICByZXR1cm4g
QWZmaW5lVHJhbnNmb3JtKHJlc3VsdCk7DQp9DQoNCkFmZmluZVRyYW5zZm9ybTo6b3BlcmF0b3Ig
Y2Fpcm9fbWF0cml4X3QoKSBjb25zdA0Kew0KICAgIHJldHVybiBtX3RyYW5zZm9ybTsNCn0NCg0K
Ym9vbCBBZmZpbmVUcmFuc2Zvcm06Om9wZXJhdG9yPT0gKGNvbnN0IEFmZmluZVRyYW5zZm9ybSAm
bTIpIGNvbnN0DQp7DQogICAgcmV0dXJuICgobV90cmFuc2Zvcm0ueHggPT0gbTIubV90cmFuc2Zv
cm0ueHgpIA0KICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLnl5ID09IG0yLm1fdHJhbnNmb3JtLnl5
KSANCiAgICAgICAgICYmIChtX3RyYW5zZm9ybS54eSA9PSBtMi5tX3RyYW5zZm9ybS54eSkNCiAg
ICAgICAgICYmIChtX3RyYW5zZm9ybS55eCA9PSBtMi5tX3RyYW5zZm9ybS55eCkgDQogICAgICAg
ICAmJiAobV90cmFuc2Zvcm0ueDAgPT0gbTIubV90cmFuc2Zvcm0ueDApDQogICAgICAgICAmJiAo
bV90cmFuc2Zvcm0ueTAgPT0gbTIubV90cmFuc2Zvcm0ueTApKTsNCg0KfQ0KDQpBZmZpbmVUcmFu
c2Zvcm0gJkFmZmluZVRyYW5zZm9ybTo6b3BlcmF0b3IqPSAoY29uc3QgQWZmaW5lVHJhbnNmb3Jt
ICZtMikNCnsNCiAgICBjYWlyb19tYXRyaXhfdCByZXN1bHQ7DQogICAgY2Fpcm9fbWF0cml4X211
bHRpcGx5KCZyZXN1bHQsICZtX3RyYW5zZm9ybSwgJm0yLm1fdHJhbnNmb3JtKTsNCiAgICBtX3Ry
YW5zZm9ybSA9IHJlc3VsdDsNCg0KICAgIHJldHVybiAqdGhpczsNCn0NCg0KQWZmaW5lVHJhbnNm
b3JtIEFmZmluZVRyYW5zZm9ybTo6b3BlcmF0b3IqIChjb25zdCBBZmZpbmVUcmFuc2Zvcm0gJm0y
KQ0Kew0KICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsNCiAgICBjYWlyb19tYXRyaXhfbXVsdGlw
bHkoJnJlc3VsdCwgJm1fdHJhbnNmb3JtLCAmbTIubV90cmFuc2Zvcm0pOw0KICAgIHJldHVybiBy
ZXN1bHQ7DQp9DQoNCn0KCi8vIHZpbTogdHM9NCBzdz00IGV0Cg==
</data>
<flag name="review"
          id="3864"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11349</attachid>
            <date>2006-11-02 11:10:08 -0800</date>
            <delta_ts>2006-11-02 11:40:58 -0800</delta_ts>
            <desc>Adaption of win32 patch to current TOT</desc>
            <filename>Win32Fixes.txt</filename>
            <type>text/plain</type>
            <size>57487</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNzUzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMDYtMTEtMDIgIEJlcnRyYW5kIEd1aWhlbmV1ZiA8Z3VpaGVuZXVm
QGdtYWlsLmNvbT4KKworICAgICAgICAqIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvagorICAgICAgICBBZGRlZCBwbGF0Zm9ybS9ncmFwaGljcyBwbGF0Zm9ybS9u
ZXR3b3JrIGFuZCBwbGF0Zm9ybS9uZXR3b3JrL3dpbiB0byBoZWFkZXJzIHNlYXJjaCBwYXRocwor
ICAgICAgICBDcmVhdGVkIHBsYXRmb3JtL2dyYXBoaWNzIGFuZCBwbGF0Zm9ybS9uZXR3b3JrIGZp
bHRlcnMgaW4gaGllcmFyY2h5CisgICAgICAgIE1vdmVkIEdyYXBoaWNzQ29udGV4dCBhbmQgR3Jh
cGhpY3NUeXBlcyB0byB0aGVpciByZXNwZWN0aXZlIGZpbHRlcnMKKyAgICAgICAgQWRkZWQgRWRp
dG9yQ2xpZW50LmgKKyAgICAgICAgQWRkZWQgRnJhbWVMb2FkZXIqIGZpbGVzIGluIGxvYWRlci8K
KyAgICAgICAgQWRkZWQgSGl0VGVzdCogZmlsZXMgaW4gcmVuZGVyaW5nLworCQkJCUFkZGVkIEVk
aXRvci4qIGZpbGVzIGluIGVkaXRpbmcvCisJCQkJQWRkZWQgRGVsZXRlQnV0dG9uLiogYW5kIERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIuKiBpbiBlZGl0aW5nLworICAgICAgICAqIGJyaWRnZS93aW4v
RnJhbWVXaW4uaAorICAgICAgICAqIGJyaWRnZS93aW4vRnJhbWVXaW4uY3BwCisgICAgICAgIEFk
ZGVkIEVkaXRvckNsaWVudCBwYXJhbWV0ZXIgdG8gY29uc3RydWN0b3IKKyAgICAgICAgUmVwbGFj
ZSB1c2FnZSBvZiBGcmFtZUxvYWRSZXF1ZXN0OjptX3JlcXVlc3Qgd2l0aCBGcmFtZUxvYWRSZXF1
ZXN0OjpyZXNvdXJjZVJlcXVlc3QoKQorICAgICAgICBSZW1vdmVkIG9wZW5VUkwoKSBhbmQgb3Bl
blVSTFJlcXVlc3QgZnJvbSBjbGFzcyBkZWZpbml0aW9uCisgICAgICAgIAorICAgICAgICAqIGJy
aWRnZS93aW4vRnJhbWVXaW4uaAorICAgICAgICBhZGQgRnJhbWVXaW46OmdvQmFja09yRm9yd2Fy
ZChpbnQgZGlzdGFuY2UpCisgICAgICAgIGFkZCBGcmFtZVdpbjo6Z2V0SGlzdG9yeUxlbmd0aCgp
CisgICAgICAgIGFkZCBLVVJMIEZyYW1lV2luOjpoaXN0b3J5VVJMKGludCBkaXN0YW5jZSkKKyAg
ICAgICAgCisgICAgICAgIAkqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKyAgICAgICAg
UmVwbGFjZSB1c2FnZSBvZiBQYWludEluZm86OnAgd2l0aCBQYWludEluZm86OmNvbnRleHQKKyAg
ICAgICAgCisgICAgICAgICogcGxhdGZvcm0vY2Fpcm8vIAorICAgICAgICBBZGRlZCBBZmZpbmVU
cmFuc2Zvcm1DYWlyby5jcHAKKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vY2Fpcm8vY2Fp
cm9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICBzL2RyYXdMaW5lRm9yTWlzc3BlbGxpbmcv
ZHJhd0xpbmVGb3JNaXNzcGVsbGluZ09yQmFkR3JhbW1hcgorICAgICAgICAKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHA6CisgICAgICAgIHVzZSB0
aGlzLT51cmwoKSBpbnN0ZWFkIG9mIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6OlVSTAorICAgICAg
IAl1c2UgdGhpcy0+Y2xpZW50KCkgaW5zdGVhZCBvZiBSZXNvdXJjZUhhbmRsZUludGVybmFsOjpj
bGllbnQKKworICAgICAgICAqIHBsYXRmb3JtXHdpblxUZW1wb3JhcnlMaW5rU3R1YnMuY3BwOgor
ICAgICAgICByZW1vdmUgUmVzb3VyY2VIYW5kbGU6OmFzc2VtYmxlUmVzcG9uc2VIZWFkZXJzKCkK
KyAgICAgICAgcmVtb3ZlIFJlc291cmNlSGFuZGxlOjpyZXRyaWV2ZVJlc3BvbnNlRW5jb2Rpbmco
KQorICAgICAgICBhZGQgc3R1YiBGcmFtZVdpbjo6Z29CYWNrT3JGb3J3YXJkKGludCBkaXN0YW5j
ZSkKKyAgICAgICAgYWRkIHN0dWIgRnJhbWVXaW46OmdldEhpc3RvcnlMZW5ndGgoKQorICAgICAg
ICBhZGQgc3R1YiBLVVJMIEZyYW1lV2luOjpoaXN0b3J5VVJMKGludCBkaXN0YW5jZSkKKyAgICAg
ICAgY2hhbmdlIFNlcnZlU3luY2hyb25vdXNSZXF1ZXN0KCkgdG8gbWF0Y2ggZGVjbGFyYXRpb24K
KyAgICAgICAgYWRkIHN0dWIgc3lzdGVtQmVlcCgpIAorICAgICAgICBhZGQgc3R1YiBQYWdlOjpj
YW5SdW5Nb2RhbCgpCisgICAgICAgIGFkZCBzdHViIFBhZ2U6OmNhblJ1bk1vZGFsTm93KCkKKyAg
ICAgICAgYWRkIHN0dWIgUGFnZTo6cnVuTW9kYWwoKQorICAgICAgICBhZGQgc3R1YiBQb3B1cE1l
bnU6OnVwZGF0ZUZyb21FbGVtZW50KCkKKyAgICAgICAgYWRkIHN0dWIgUGF0aDo6dHJhbnNmb3Jt
KCkKKyAgICAgICAgCisgICAgICAgICogV2ViS2l0L1dlYktpdC52Y3Byb2ovV2ViS2l0LnZjcHJv
agorICAgICAgICBBZGRlZCBwbGF0Zm9ybS9ncmFwaGljcyBwbGF0Zm9ybS9uZXR3b3JrIGFuZCBw
bGF0Zm9ybS9uZXR3b3JrL3dpbiAKKyAgICAgICAgICB0byBoZWFkZXJzIHNlYXJjaCBwYXRocwor
CisgICAgICAgICogV2ViS2l0L0NPTS9XZWJGcmFtZS5jcHAKKyAgICAgICAgVXNlIHJlc291cmNl
IGhhbmRsZXMgbm93LiBEbyBub3Qgc3RhcnQgZG9jIGxvYWRlciBieSBoYW5kIGFueW1vcmUuIAor
ICAgICAgICBIYW5kbGUgZGlkUmVjZWl2ZURhdGEoKSBjYWxsYmFjayBpbnN0ZWFkIG9mIHJlY2Vp
dmVkRGF0YSgpIHdoaWNoIAorICAgICAgICAgIGlzIGRlcHJlY2F0ZWQgaW4gaW1wbGVtZW50YXRp
b24gb2YgUmVzb3VyY2VIYW5kbGVDbGllbnQgICAgICAgIAorICAgICAgICAqIFdlYktpdC9DT00v
V2ViRnJhbWUuaAorICAgICAgICAqIFdlYktpdC9DT00vV2ViRnJhbWUuY3BwCisgICAgICAgICog
V2ViS2l0L0NPTS9XZWJWaWV3LmNwcAorICAgICAgICBBcHBsaWVkIFJlc291cmNlTG9hZGVyIC0t
PiBSZXNvdXJjZUhhbmRsZSByZW5hbWluZworICAgICAgICAKIDIwMDYtMTEtMDEgIEp1c3RpbiBH
YXJjaWEgIDxqdXN0aW4uZ2FyY2lhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBk
YXJpbgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZj
cHJvagkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQAogCQkJLz4K
IAkJCTxUb29sCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXGljb252XGluY2x1
ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxpY3VcaW5jbHVkZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cLi5cbGlieHNsdFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cRGVyaXZlZFNvdXJjZXNcV2ViQ29yZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGNzcyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXC4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxiaW5kaW5nc1xq
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGRvbSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
cGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm8mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVycyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGJtcCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGdpZiZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGljbyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGpwZWcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xwbmcmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x4Ym0mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x6bGli
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cLi5cSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4zMiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxX
ZWJDb3JlLmludGVybWVkaWF0ZVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJDb3JlLmludGVybWVk
aWF0ZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXEph
dmFTY3JpcHRDb3JlXGtqcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3Jt
XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvXHBpeG1h
blxzcmMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxjYWlyb1xjYWly
b1xzcmMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsb2FkZXJcaWNvbiZxdW90OyIK
KwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXC4uXGljb252XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxp
Y3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXGxpYnhtbFxpbmNs
dWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cbGlieHNsdFxpbmNsdWRlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cRGVyaXZlZFNvdXJjZXNcV2ViQ29yZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGVkaXRpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2Vc
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBs
YXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm8mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVycyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGJtcCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGdp
ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJz
XGljbyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29k
ZXJzXGpwZWcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1k
ZWNvZGVyc1xwbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFn
ZS1kZWNvZGVyc1x4Ym0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxp
bWFnZS1kZWNvZGVyc1x6bGliJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZv
cm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxuZXR3
b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlwuLlxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXC4uXEphdmFTY3JpcHRDb3JlXG9zLXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXFdl
YkNvcmUuaW50ZXJtZWRpYXRlXCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYkNvcmUuaW50ZXJtZWRp
YXRlXERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cSmF2
YVNjcmlwdENvcmVca2pzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1c
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm9ccGl4bWFu
XHNyYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvXGNhaXJv
XHNyYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxvYWRlclxpY29uJnF1b3Q7Igog
CQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtYU0xUX1NVUFBPUlQ7WFBBVEhfU1VQ
UE9SVDtOREVCVUciCiAJCQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiCiAJCQkJUnVudGltZUxpYnJh
cnk9IjIiCkBAIC0xMDM1LDI3ICsxMDM1LDM1IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxUZXh0UmVzb3VyY2VEZWNvZGVyLmNw
cCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxEb2NMb2FkZXIuY3BwIgogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcVGV4
dFJlc291cmNlRGVjb2Rlci5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXERvY0xv
YWRlci5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxsb2FkZXJcRG9jTG9hZGVyLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRl
clxGb3JtRGF0YS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXGxvYWRlclxEb2NMb2FkZXIuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4u
XGxvYWRlclxGb3JtRGF0YS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcRm9ybURhdGEuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5cbG9hZGVyXEZyYW1lTG9hZGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXEZvcm1EYXRhLmgiCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlxsb2FkZXJcRnJhbWVMb2FkZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXEZyYW1lTG9hZGVyQ2xpZW50
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4u
XGxvYWRlclxGcmFtZUxvYWRlclR5cGVzLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
QEAgLTExMDIsMTEgKzExMTAsMjMgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxU
ZXh0RG9jdW1lbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cbG9hZGVyXFRleHRSZXNvdXJjZURlY29kZXIuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcVGV4dFJlc291
cmNlRGVjb2Rlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIK
IAkJCU5hbWU9InBsYXRmb3JtIgogCQkJPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHBsYXRmb3JtXEFmZmluZVRyYW5zZm9ybS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXEFmZmluZVRyYW5zZm9ybS5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTEzMTEsMjIgKzEzMzEsNiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxHcmFwaGlj
c0NvbnRleHQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxwbGF0Zm9ybVxHcmFwaGljc0NvbnRleHQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cR3JhcGhpY3NUeXBl
cy5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHBsYXRmb3JtXEdyYXBoaWNzVHlwZXMuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cSW1hZ2UuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTE0MzEsMjIgKzE0MzUsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxSZXNvdXJjZUhhbmRsZS5jcHAi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBs
YXRmb3JtXFJlc291cmNlSGFuZGxlLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFJlc291cmNlSGFuZGxlQ2xpZW50LmgiCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRm
b3JtXFJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cU2NyZWVuLmgiCiAJCQkJPgogCQkJ
PC9GaWxlPgpAQCAtMTQ5MSwzOSArMTQ3OSwzOSBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxUZXh0Q29kZWMuY3BwIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cU3RyaW5nLmNwcCIKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENvZGVj
LmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTdHJpbmdJbXBsLmNwcCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZv
cm1cVGV4dENvZGVjSUNVLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFN0
cmluZ0ltcGwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENvZGVjSUNVLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwu
LlxwbGF0Zm9ybVxTeXN0ZW1UaW1lLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFN0cmluZy5jcHAiCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxwbGF0Zm9ybVxUZXh0Qm91bmRhcmllcy5oIgogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTdHJpbmdJbXBsLmNw
cCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFRleHRDb2RlYy5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3Jt
XFN0cmluZ0ltcGwuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFRleHRDb2Rl
Yy5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwu
LlxwbGF0Zm9ybVxTeXN0ZW1UaW1lLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9y
bVxUZXh0Q29kZWNJQ1UuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxUZXh0Qm91bmRhcmllcy5oIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENvZGVjSUNVLmgiCiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKQEAgLTE2NjYsMTQgKzE2NTQsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJ
CTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cd2luXFJlc291cmNlSGFu
ZGxlV2luLmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXHdpblxSZXNvdXJjZUhhbmRsZVdpbi5oIgotCQkJCQk+Ci0J
CQkJPC9GaWxlPgotCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1c
d2luXFNjcmVlbldpbi5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBAIC0yMTMwLDYgKzIxMTAs
MTAgQEAKIAkJCQlOYW1lPSJjYWlybyIKIAkJCQk+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxwbGF0Zm9ybVxjYWlyb1xBZmZpbmVUcmFuc2Zvcm1DYWlyby5jcHAiCisJCQkJ
CT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0
Zm9ybVxjYWlyb1xHcmFwaGljc0NvbnRleHRDYWlyby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CkBAIC0yNDkwLDYgKzI0NzQsMTQyIEBACiAJCQkJCTwvRmlsZT4KIAkJCQk8L0ZpbHRlcj4KIAkJ
CTwvRmlsdGVyPgorCQkJPEZpbHRlcgorCQkJCU5hbWU9ImdyYXBoaWNzIgorCQkJCT4KKwkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYXBoaWNz
Q29udGV4dC5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5v
YmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5h
bWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0Rmls
ZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25G
aWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxwbGF0Zm9ybVxncmFwaGljc1xHcmFwaGljc0NvbnRleHQuaCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3Jt
XGdyYXBoaWNzXEdyYXBoaWNzVHlwZXMuY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIp
XCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJ
bnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlY
TUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxl
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR3JhcGhpY3NUeXBl
cy5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJPC9GaWx0ZXI+CisJCQk8RmlsdGVyCisJCQkJ
TmFtZT0ibmV0d29yayIKKwkJCQk+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwu
LlxwbGF0Zm9ybVxuZXR3b3JrXEhUVFBIZWFkZXJNYXAuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcUmVz
b3VyY2VIYW5kbGUuY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5w
dXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVj
dEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0
aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZUhhbmRsZS5oIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZv
cm1cbmV0d29ya1xSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNv
dXJjZUhhbmRsZUludGVybmFsLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxuZXR3b3JrXFJlc291cmNlUmVxdWVzdC5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Li5ccGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZVJlc3BvbnNlLmgiCisJCQkJCT4KKwkJCQk8L0Zp
bGU+CisJCQkJPEZpbHRlcgorCQkJCQlOYW1lPSJ3aW4iCisJCQkJCT4KKwkJCQkJPEZpbGUKKwkJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1x3aW5cUmVzb3VyY2VIYW5k
bGVXaW4uY3BwIgorCQkJCQkJPgorCQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQkJPgorCQkJCQkJCTxUb29sCisJCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFt
ZSkxLm9iaiIKKwkJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJ
bnB1dE5hbWUpMS54ZGMiCisJCQkJCQkJLz4KKwkJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJ
CQkJCT4KKwkJCQkJCQk8VG9vbAorCQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJCVhN
TERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJ
CQkJCS8+CisJCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxG
aWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcd2luXFJlc291
cmNlSGFuZGxlV2luLmgiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQk8L0ZpbHRlcj4KKwkJ
CTwvRmlsdGVyPgogCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0iY3NzIgpAQCAtMjkz
MSw2ICszMDUxLDE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHJlbmRlcmluZ1xIaXRUZXN0UmVxdWVzdC5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxyZW5kZXJpbmdcSGl0VGVzdFJl
c3VsdC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHJlbmRlcmluZ1xIaXRUZXN0UmVzdWx0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJlbmRlcmluZ1xJbmxpbmVCb3guY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTM5MzksNiArNDA3MSwxMCBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxicmlkZ2VcRWRpdG9yQ2xpZW50
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4u
XGJyaWRnZVxIaXN0b3J5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDAxOSw2ICs0MTU1LDIy
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4u
XGVkaXRpbmdcRGVsZXRlQnV0dG9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xEZWxldGVCdXR0b24uaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xEZWxl
dGVCdXR0b25Db250cm9sbGVyLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xEZWxldGVCdXR0b25Db250cm9sbGVyLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRp
bmdcRGVsZXRlRnJvbVRleHROb2RlQ29tbWFuZC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAt
NDA0Nyw2ICs0MTk5LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRWRpdG9yLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xFZGl0b3IuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xG
b3JtYXRCbG9ja0NvbW1hbmQuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFdlYkNvcmUv
YnJpZGdlL3dpbi9GcmFtZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvd2lu
L0ZyYW1lV2luLmNwcAkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJDb3JlL2JyaWRnZS93aW4vRnJh
bWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotRnJhbWVXaW46OkZyYW1lV2luKFBhZ2UqIHBhZ2UsIEVsZW1lbnQqIG93bmVy
RWxlbWVudCwgRnJhbWVXaW5DbGllbnQqIGNsaWVudCkKLSAgICA6IEZyYW1lKHBhZ2UsIG93bmVy
RWxlbWVudCkKK0ZyYW1lV2luOjpGcmFtZVdpbihQYWdlKiBwYWdlLCBFbGVtZW50KiBvd25lckVs
ZW1lbnQsICBQYXNzUmVmUHRyPEVkaXRvckNsaWVudD4gZWRpdG9yQ2xpZW50LCBGcmFtZVdpbkNs
aWVudCogY2xpZW50KQorICAgIDogRnJhbWUocGFnZSwgb3duZXJFbGVtZW50LCBlZGl0b3JDbGll
bnQpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0g
bmV3IFNldHRpbmdzKCk7CkBAIC02NSwxMyArNjUsMTMgQEAgRnJhbWVXaW46On5GcmFtZVdpbigp
CiB2b2lkIEZyYW1lV2luOjp1cmxTZWxlY3RlZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBFdmVudCogLyp0cmlnZ2VyaW5nRXZlbnQqLykKIHsKICAgICBpZiAobV9jbGll
bnQpCi0gICAgICAgIG1fY2xpZW50LT5vcGVuVVJMKHJlcXVlc3QubV9yZXF1ZXN0LnVybCgpLnVy
bCgpLCByZXF1ZXN0LmxvY2tIaXN0b3J5KCkpOworICAgICAgICBtX2NsaWVudC0+b3BlblVSTChy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnVybCgpLCByZXF1ZXN0LmxvY2tIaXN0b3J5
KCkpOwogfQogCiB2b2lkIEZyYW1lV2luOjpzdWJtaXRGb3JtKGNvbnN0IEZyYW1lTG9hZFJlcXVl
c3QmIHJlcXVlc3QpCiB7CiAgICAgLy8gRklYTUU6IHRoaXMgaXMgYSBoYWNrIGluaGVyaXRlZCBm
cm9tIEZyYW1lTWFjLCBhbmQgc2hvdWxkIGJlIHB1c2hlZCBpbnRvIEZyYW1lCi0gICAgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QgPSByZXF1ZXN0Lm1fcmVxdWVzdDsKKyAg
ICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3QucmVzb3Vy
Y2VSZXF1ZXN0KCk7CiAgICAgaWYgKGQtPm1fc3VibWl0dGVkRm9ybVVSTCA9PSByZXNvdXJjZVJl
cXVlc3QudXJsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBkLT5tX3N1Ym1pdHRlZEZvcm1VUkwg
PSByZXNvdXJjZVJlcXVlc3QudXJsKCk7CkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBGcmFtZVdp
bjo6c2V0U3RhdHVzQmFyVGV4dChjb25zdCBTdAogCiB2b2lkIEZyYW1lV2luOjpjcmVhdGVOZXdX
aW5kb3coY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVhdHVy
ZXMmIGZlYXR1cmVzLCBGcmFtZSomIG5ld0ZyYW1lKQogewotICAgIG1fY2xpZW50LT5jcmVhdGVO
ZXdXaW5kb3cocmVxdWVzdC5tX3JlcXVlc3QsIGZlYXR1cmVzLCBuZXdGcmFtZSk7CisgICAgbV9j
bGllbnQtPmNyZWF0ZU5ld1dpbmRvdyhyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBmZWF0dXJl
cywgbmV3RnJhbWUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L2JyaWRnZS93aW4vRnJhbWVXaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS93aW4v
RnJhbWVXaW4uaAkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJDb3JlL2JyaWRnZS93aW4vRnJhbWVX
aW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTIgKzQ1LDEwIEBAIHB1YmxpYzoKIAogY2xhc3Mg
RnJhbWVXaW4gOiBwdWJsaWMgRnJhbWUgewogcHVibGljOgotICAgIEZyYW1lV2luKFBhZ2UqLCBF
bGVtZW50KiwgRnJhbWVXaW5DbGllbnQqKTsKKyAgICBGcmFtZVdpbihQYWdlKiwgRWxlbWVudCos
ICBQYXNzUmVmUHRyPEVkaXRvckNsaWVudD4sIEZyYW1lV2luQ2xpZW50Kik7CiAgICAgfkZyYW1l
V2luKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlTmV3V2luZG93KGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmLCBjb25zdCBXaW5kb3dGZWF0dXJlcyYsIEZyYW1lKiYgcGFydCk7Ci0gICAgdmly
dHVhbCBib29sIG9wZW5VUkwoY29uc3QgS1VSTCYpOwotICAgIHZpcnR1YWwgdm9pZCBvcGVuVVJM
UmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN1Ym1p
dEZvcm0oY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCB1cmxTZWxl
Y3RlZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3QgRXZlbnQqIHRyaWdnZXJpbmdFdmVu
dCk7CiAKQEAgLTEyMiw2ICsxMjAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhcnRD
bGVhcmVkSW5CZWdpbigpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkdvQmFja09yRm9yd2FyZChp
bnQgZGlzdGFuY2UpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBnb0JhY2tPckZvcndhcmQoaW50
IGRpc3RhbmNlKTsKKyAgICB2aXJ0dWFsIGludCBnZXRIaXN0b3J5TGVuZ3RoKCk7CisgICAgdmly
dHVhbCBLVVJMIGhpc3RvcnlVUkwoaW50IGRpc3RhbmNlKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFu
ZGxlZE9ubG9hZEV2ZW50cygpOwogCiAgICAgdmlydHVhbCBib29sIGNhblBhc3RlKCkgY29uc3Q7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0FmZmluZVRyYW5zZm9ybS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vQWZmaW5lVHJhbnNmb3JtLmgJKHJldmlzaW9uIDE3NTM2KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9BZmZpbmVUcmFuc2Zvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMzIs
NiArMzIsOCBAQAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2
aWNlcy5oPgogI2VsaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8UU1hdHJpeD4KKyNlbGlmIFBM
QVRGT1JNKENBSVJPKQorI2luY2x1ZGUgImNhaXJvLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDcsNiArNDksOCBAQCBwdWJsaWM6CiAgICAgQWZmaW5lVHJhbnNmb3JtKENH
QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybSk7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBBZmZp
bmVUcmFuc2Zvcm0oY29uc3QgUU1hdHJpeCAmbWF0cml4KTsKKyNlbGlmIFBMQVRGT1JNKENBSVJP
KQorICAgIEFmZmluZVRyYW5zZm9ybShjb25zdCBjYWlyb19tYXRyaXhfdCAmbWF0cml4KTsKICNl
bmRpZgogCiAgICAgdm9pZCBzZXRNYXRyaXgoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywg
ZG91YmxlIGQsIGRvdWJsZSB0eCwgZG91YmxlIHR5KTsKQEAgLTc4LDYgKzgyLDggQEAgcHVibGlj
OgogICAgIG9wZXJhdG9yIENHQWZmaW5lVHJhbnNmb3JtKCkgY29uc3Q7CiAjZWxpZiBQTEFURk9S
TShRVCkKICAgICBvcGVyYXRvciBRTWF0cml4KCkgY29uc3Q7CisjZWxpZiBQTEFURk9STShDQUlS
TykKKyAgICBvcGVyYXRvciBjYWlyb19tYXRyaXhfdCgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJikgY29uc3Q7CkBAIC04OSw2ICs5
NSw4IEBAIHByaXZhdGU6CiAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gbV90cmFuc2Zvcm07CiAjZWxp
ZiBQTEFURk9STShRVCkKICAgICBRTWF0cml4IG1fdHJhbnNmb3JtOworI2VsaWYgUExBVEZPUk0o
Q0FJUk8pCisgICAgY2Fpcm9fbWF0cml4X3QgbV90cmFuc2Zvcm07CiAjZW5kaWYKIH07CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3Bw
CShyZXZpc2lvbiAxNzUzNikKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250
ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTgsNyArNDE4LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogICAgIGRyYXdMaW5lKG9yaWdpbiwgZW5k
UG9pbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JNaXNzcGVsbGlu
Zyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvck1pc3NwZWxsaW5nT3JCYWRHcmFtbWFyKGNvbnN0IEludFBvaW50JiwgaW50
IHdpZHRoLCBib29sIGdyYW1tYXIpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KIH0KSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCShyZXZpc2lvbiAxNzUzNikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAg
dm9pZCBSZXNvdXJjZUhhbmRsZTo6b25IYW5kbGVDcmVhdGVkKExQQQogCiAgICAgICAgIGlmICht
ZXRob2QoKSA9PSAiUE9TVCIpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUb28gbGF0ZSB0byBz
ZXQgcmVmZXJyZXIgcHJvcGVybHkuCi0gICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0
ciA9IGQtPlVSTC5wYXRoKCk7CisgICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9
IHVybCgpLnBhdGgoKTsKICAgICAgICAgICAgIGludCBmcmFnbWVudEluZGV4ID0gdXJsU3RyLmZp
bmQoJyMnKTsKICAgICAgICAgICAgIGlmIChmcmFnbWVudEluZGV4ICE9IC0xKQogICAgICAgICAg
ICAgICAgIHVybFN0ciA9IHVybFN0ci5sZWZ0KGZyYWdtZW50SW5kZXgpOwpAQCAtMzA2LDggKzMw
Niw4IEBAIHN0YXRpYyB2b2lkIF9fc3RkY2FsbCB0cmFuc2ZlckpvYlN0YXR1c0MKIGJvb2wgUmVz
b3VyY2VIYW5kbGU6OnN0YXJ0KERvY0xvYWRlciogZG9jTG9hZGVyKQogewogICAgIHJlZigpOwot
ICAgIGlmIChkLT5VUkwuaXNMb2NhbEZpbGUoKSkgewotICAgICAgICBEZXByZWNhdGVkU3RyaW5n
IHBhdGggPSBkLT5VUkwucGF0aCgpOworICAgIGlmICh1cmwoKS5pc0xvY2FsRmlsZSgpKSB7Cisg
ICAgICAgIERlcHJlY2F0ZWRTdHJpbmcgcGF0aCA9IHVybCgpLnBhdGgoKTsKICAgICAgICAgLy8g
d2luZG93cyBkb2VzIG5vdCBlbmpveSBhIGxlYWRpbmcgc2xhc2ggb24gcGF0aHMKICAgICAgICAg
aWYgKHBhdGhbMF0gPT0gJy8nKQogICAgICAgICAgICAgcGF0aCA9IHBhdGgubWlkKDEpOwpAQCAt
MzQ1LDEyICszNDUsMTIgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoRG9jTG9hZGVyKiBk
bwogICAgICAgICBTdHJpbmcgcmVmZXJyZXIgPSBkb2NMb2FkZXItPmZyYW1lKCktPnJlZmVycmVy
KCk7CiAgICAgICAgIGlmIChtZXRob2QoKSA9PSAiUE9TVCIpIHsKICAgICAgICAgICAgIGQtPm1f
cG9zdFJlZmVycmVyID0gcmVmZXJyZXI7Ci0gICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIGhv
c3QgPSBkLT5VUkwuaG9zdCgpOworICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyBob3N0ID0g
dXJsKCkuaG9zdCgpOwogICAgICAgICAgICAgaG9zdCArPSAiXDAiOwotICAgICAgICAgICAgdXJs
SGFuZGxlID0gSW50ZXJuZXRDb25uZWN0QShpbnRlcm5ldEhhbmRsZSwgaG9zdC5hc2NpaSgpLCBk
LT5VUkwucG9ydCgpLCAwLCAwLCAKKyAgICAgICAgICAgIHVybEhhbmRsZSA9IEludGVybmV0Q29u
bmVjdEEoaW50ZXJuZXRIYW5kbGUsIGhvc3QuYXNjaWkoKSwgdXJsKCkucG9ydCgpLCAwLCAwLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5URVJORVRfU0VSVklD
RV9IVFRQLCAwLCAoRFdPUkRfUFRSKWQtPm1fam9iSWQpOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyB1cmxTdHIgPSBkLT5VUkwudXJsKCk7CisgICAgICAg
ICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IHVybCgpLnVybCgpOwogICAgICAgICAgICAg
aW50IGZyYWdtZW50SW5kZXggPSB1cmxTdHIuZmluZCgnIycpOwogICAgICAgICAgICAgaWYgKGZy
YWdtZW50SW5kZXggIT0gLTEpCiAgICAgICAgICAgICAgICAgdXJsU3RyID0gdXJsU3RyLmxlZnQo
ZnJhZ21lbnRJbmRleCk7CkBAIC0zNzQsNyArMzc0LDcgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6
c3RhcnQoRG9jTG9hZGVyKiBkbwogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmaWxlTG9hZFRpbWVy
KFRpbWVyPFJlc291cmNlSGFuZGxlPiogdGltZXIpCiB7Ci0gICAgZC0+Y2xpZW50LT5yZWNlaXZl
ZFJlc3BvbnNlKHRoaXMsIDApOworICAgIGNsaWVudCgpLT5yZWNlaXZlZFJlc3BvbnNlKHRoaXMs
IDApOwogCiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICBEV09SRCBieXRlc1JlYWQgPSAw
OwpAQCAtMzg0LDcgKzM4NCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIo
VGltZXIKICAgICAgICAgY2hhciBidWZmZXJbYnVmZmVyU2l6ZV07CiAgICAgICAgIHJlc3VsdCA9
IFJlYWRGaWxlKGQtPm1fZmlsZUhhbmRsZSwgJmJ1ZmZlciwgYnVmZmVyU2l6ZSwgJmJ5dGVzUmVh
ZCwgTlVMTCk7IAogICAgICAgICBpZiAocmVzdWx0ICYmIGJ5dGVzUmVhZCkKLSAgICAgICAgICAg
IGQtPmNsaWVudC0+ZGlkUmVjZWl2ZURhdGEodGhpcywgYnVmZmVyLCBieXRlc1JlYWQpOworICAg
ICAgICAgICAgY2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKHRoaXMsIGJ1ZmZlciwgYnl0ZXNSZWFk
KTsKICAgICAgICAgLy8gQ2hlY2sgZm9yIGVuZCBvZiBmaWxlLiAKICAgICB9IHdoaWxlIChyZXN1
bHQgJiYgYnl0ZXNSZWFkKTsKIApAQCAtMzk4LDggKzM5OCw4IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OmZpbGVMb2FkVGltZXIoVGltZXIKICAgICBwbGF0Zm9ybURhdGEuZXJyb3IgPSAwOwogICAg
IHBsYXRmb3JtRGF0YS5sb2FkZWQgPSBUUlVFOwogCi0gICAgZC0+Y2xpZW50LT5yZWNlaXZlZEFs
bERhdGEodGhpcywgJnBsYXRmb3JtRGF0YSk7Ci0gICAgZC0+Y2xpZW50LT5kaWRGaW5pc2hMb2Fk
aW5nKHRoaXMpOworICAgIGNsaWVudCgpLT5yZWNlaXZlZEFsbERhdGEodGhpcywgJnBsYXRmb3Jt
RGF0YSk7CisgICAgY2xpZW50KCktPmRpZEZpbmlzaExvYWRpbmcodGhpcyk7CiB9CiAKIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OmNhbmNlbCgpCkBAIC00MTQsOCArNDE0LDggQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6Y2FuY2VsKCkKICAgICBwbGF0Zm9ybURhdGEuZXJyb3IgPSAwOwogICAgIHBsYXRm
b3JtRGF0YS5sb2FkZWQgPSBGQUxTRTsKIAotICAgIGQtPmNsaWVudC0+cmVjZWl2ZWRBbGxEYXRh
KHRoaXMsICZwbGF0Zm9ybURhdGEpOwotICAgIGQtPmNsaWVudC0+ZGlkRmluaXNoTG9hZGluZyh0
aGlzKTsKKyAgICBjbGllbnQoKS0+cmVjZWl2ZWRBbGxEYXRhKHRoaXMsICZwbGF0Zm9ybURhdGEp
OworICAgIGNsaWVudCgpLT5kaWRGaW5pc2hMb2FkaW5nKHRoaXMpOyAKIAogICAgIGlmICghZC0+
bV9yZXNvdXJjZUhhbmRsZSkKICAgICAgICAgLy8gQXN5bmMgbG9hZCBjYW5jZWxlZCBiZWZvcmUg
d2UgaGF2ZSBhIGhhbmRsZSAtLSBtYXJrIG91cnNlbHZlcyBhcyBpbiBlcnJvciwgdG8gYmUgZGVs
ZXRlZCBsYXRlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd2luL1RlbXBvcmFyeUxpbmtTdHVi
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0
dWJzLmNwcAkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9UZW1wb3Jh
cnlMaW5rU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDkgQEAgYm9vbCBG
cmFtZVdpbjo6dG9vbGJhclZpc2libGUoKSB7IG5vdEltcAogdm9pZCBGcmFtZVdpbjo6aXNzdWVU
cmFuc3Bvc2VDb21tYW5kKCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiBib29sIEZyYW1lV2luOjpj
YW5QYXN0ZSgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KIGJvb2wgRnJh
bWVXaW46OmNhbkdvQmFja09yRm9yd2FyZChpbnQpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsg
cmV0dXJuIDA7IH0KK3ZvaWQgRnJhbWVXaW46OmdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFuY2Up
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQoraW50IEZyYW1lV2luOjpnZXRIaXN0b3J5TGVuZ3RoKCkg
eyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gMDt9CitLVVJMIEZyYW1lV2luOjpoaXN0b3J5VVJM
KGludCBkaXN0YW5jZSkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gS1VSTCgpO30KIHZvaWQg
RnJhbWVXaW46Omlzc3VlUGFzdGVBbmRNYXRjaFN0eWxlQ29tbWFuZCgpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQogS1VSTCBGcmFtZVdpbjo6b3JpZ2luYWxSZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1
cm4gS1VSTCgpOyB9CiBib29sIEZyYW1lV2luOjppc0xvYWRUeXBlUmVsb2FkKCkgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gZmFsc2U7IH0KQEAgLTI0MCwxMSArMjQzLDcgQEAgdW5zaWduZWQg
UGx1Z0luSW5mb1N0b3JlOjpwbHVnaW5Db3VudCgpIAogYm9vbCBQbHVnSW5JbmZvU3RvcmU6OnN1
cHBvcnRzTUlNRVR5cGUoY29uc3QgU3RyaW5nJikgeyByZXR1cm4gZmFsc2U7IH0KIHZvaWQgcmVm
cmVzaFBsdWdpbnMoYm9vbCkgeyB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmFzc2VtYmxlUmVz
cG9uc2VIZWFkZXJzKCkgY29uc3QgeyB9Ci12b2lkIFJlc291cmNlSGFuZGxlOjpyZXRyaWV2ZVJl
c3BvbnNlRW5jb2RpbmcoKSBjb25zdCB7fQotCi0KLVZlY3RvcjxjaGFyPiBTZXJ2ZVN5bmNocm9u
b3VzUmVxdWVzdChMb2FkZXIqLCBEb2NMb2FkZXIqLCBSZXNvdXJjZUhhbmRsZSosIEtVUkwmLCBE
ZXByZWNhdGVkU3RyaW5nJikgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gVmVjdG9yPGNoYXI+
KCk7IH0KK1ZlY3RvcjxjaGFyPiBTZXJ2ZVN5bmNocm9ub3VzUmVxdWVzdChMb2FkZXIqLCBEb2NM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZVJlc3BvbnNlJil7IG5vdElt
cGxlbWVudGVkKCk7IHJldHVybiBWZWN0b3I8Y2hhcj4oKTsgfQogCiB2b2lkIENoZWNrQ2FjaGVP
YmplY3RTdGF0dXMoRG9jTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KIGJvb2wgQ2hlY2tJ
ZlJlbG9hZGluZyhEb2NMb2FkZXIqKSB7IHJldHVybiBmYWxzZTsgfQpAQCAtMjU4LDYgKzI1Nyw5
IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc3BvbnNlKFBsYXRmb3IKIHZvaWQgQ2FjaGVk
UmVzb3VyY2U6OnNldEFsbERhdGEoUGxhdGZvcm1EYXRhKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
IAogSElOU1RBTkNFIFBhZ2U6OnNfaW5zdGFuY2VIYW5kbGUgPSAwOworYm9vbCBQYWdlOjpjYW5S
dW5Nb2RhbCgpIHsgcmV0dXJuIHRydWU7IH0KK2Jvb2wgUGFnZTo6Y2FuUnVuTW9kYWxOb3coKSB7
IHJldHVybiB0cnVlOyB9Cit2b2lkIFBhZ2U6OnJ1bk1vZGFsKCkgeyB9CiAKIHZvaWQgV2lkZ2V0
OjpzZXRFbmFibGVkKGJvb2wpIHsgfQogdm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4
dCosSW50UmVjdCBjb25zdCYpIHsgfQpAQCAtMzEyLDYgKzMxNCw3IEBAIHZvaWQgUGF0aDo6Y2xv
c2VTdWJwYXRoKCkgeyB9CiB2b2lkIFBhdGg6OmFkZEFyYyhjb25zdCBGbG9hdFBvaW50JiwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgYm9vbCkgeyB9CiB2b2lkIFBhdGg6OmFkZFJlY3QoY29uc3QgRmxv
YXRSZWN0JikgeyB9CiB2b2lkIFBhdGg6OmFkZEVsbGlwc2UoY29uc3QgRmxvYXRSZWN0JikgeyB9
Cit2b2lkIFBhdGg6OnRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSB7IH0KIAogVGV4
dEZpZWxkOjpUZXh0RmllbGQoVGV4dEZpZWxkOjpUeXBlIHR5cGUpIHsgbV90eXBlID0gdHlwZTsg
fQogVGV4dEZpZWxkOjp+VGV4dEZpZWxkKCkgeyB9CkBAIC0zNjUsNiArMzY4LDcgQEAgUG9wdXBN
ZW51OjpQb3B1cE1lbnUoUmVuZGVyTWVudUxpc3QqKSB7IAogUG9wdXBNZW51Ojp+UG9wdXBNZW51
KCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiB2b2lkIFBvcHVwTWVudTo6c2hvdyhjb25zdCBJbnRS
ZWN0JiwgRnJhbWVWaWV3KiwgaW50IGluZGV4KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIHZvaWQg
UG9wdXBNZW51OjpoaWRlKCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9Cit2b2lkIFBvcHVwTWVudTo6
dXBkYXRlRnJvbUVsZW1lbnQoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIAogdm9pZCBSZW5kZXJU
aGVtZVdpbjo6c3lzdGVtRm9udChpbnQgcHJvcElkLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbikgY29uc3Qge30KIGJvb2wgUmVuZGVyVGhlbWVXaW46OnBhaW50TWVudUxpc3QoUmVu
ZGVyT2JqZWN0ICosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVj
dCYpIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0zODQsNCArMzg4LDUgQEAgYm9vbCBJY29uRGF0YWJh
c2U6Omhhc0VudHJ5Rm9ySWNvblVSTChjbwogSWNvbkRhdGFiYXNlKiBJY29uRGF0YWJhc2U6OnNo
YXJlZEljb25EYXRhYmFzZSgpIHsgcmV0dXJuIDA7IH0KIGJvb2wgSWNvbkRhdGFiYXNlOjpzZXRJ
Y29uVVJMRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcGFn
ZVVSTCkgeyByZXR1cm4gZmFsc2U7IH0KIAordm9pZCBzeXN0ZW1CZWVwKCkge30KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJKHJl
dmlzaW9uIDE3NTM2KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzgsMTAgKzIzOCwxMCBAQCBib29sIFJlbmRlclRoZW1lV2luOjpw
YWludEJ1dHRvbihSZW5kZXJPCiAgICAgVGhlbWVEYXRhIHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0
YShvKTsKICAgICAKICAgICAvLyBOb3cgcGFpbnQgdGhlIGJ1dHRvbi4KLSAgICBIREMgaGRjID0g
cHJlcGFyZUZvckRyYXdpbmcoaS5wKTsgIAorICAgIEhEQyBoZGMgPSBwcmVwYXJlRm9yRHJhd2lu
ZyhpLmNvbnRleHQpOyAgCiAgICAgUkVDVCB3aWRnZXRSZWN0ID0gcjsKICAgICBkcmF3VGhlbWVC
RyhtX2J1dHRvblRoZW1lLCBoZGMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRl
LCAmd2lkZ2V0UmVjdCwgTlVMTCk7Ci0gICAgZG9uZURyYXdpbmcoaS5wLCBoZGMpOworICAgIGRv
bmVEcmF3aW5nKGkuY29udGV4dCwgaGRjKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTI4
OSwxMCArMjg5LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWVXaW46OnBhaW50VGV4dEZpZWxkKFJlbmQK
ICAgICBUaGVtZURhdGEgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG8pOwogICAgIAogICAgIC8v
IE5vdyBwYWludCB0aGUgdGV4dCBmaWVsZC4KLSAgICBIREMgaGRjID0gcHJlcGFyZUZvckRyYXdp
bmcoaS5wKTsKKyAgICBIREMgaGRjID0gcHJlcGFyZUZvckRyYXdpbmcoaS5jb250ZXh0KTsKICAg
ICBSRUNUIHdpZGdldFJlY3QgPSByOwogICAgIGRyYXdUaGVtZUJHKG1fdGV4dEZpZWxkVGhlbWUs
IGhkYywgdGhlbWVEYXRhLm1fcGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsICZ3aWRnZXRSZWN0LCBO
VUxMKTsKLSAgICBkb25lRHJhd2luZyhpLnAsIGhkYyk7CisgICAgZG9uZURyYXdpbmcoaS5jb250
ZXh0LCBoZGMpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpJbmRleDogV2ViS2l0L0NPTS9XZWJG
cmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NPTS9XZWJGcmFtZS5jcHAJKHJldmlzaW9u
IDE3NTM2KQorKysgV2ViS2l0L0NPTS9XZWJGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJXZWJIaXN0b3J5SXRlbS5oIgogCiAjcHJhZ21hIHdhcm5p
bmcoIHB1c2gsIDAgKQotI2luY2x1ZGUgIkJyb3dzZXJFeHRlbnNpb24uaCIKICNpbmNsdWRlICJD
YWNoZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBA
IC00NSw4ICs0NCw5IEBACiAjaW5jbHVkZSAiUmVuZGVyRnJhbWUuaCIKICNpbmNsdWRlICJjYWly
by5oIgogI2luY2x1ZGUgImNhaXJvLXdpbjMyLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIu
aCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRlcldpbi5oIgorI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVXaW4uaCIKKyNpbmNsdWRlICJFZGl0b3JD
bGllbnQuaCIKICNwcmFnbWEgd2FybmluZyhwb3ApCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwpAQCAtMTM2LDcgKzEzNiw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6
OmluaXQKICAgICAgICAgcmV0dXJuIGhyOwogCiAgICAgUGFnZSogcGFnZSA9IG5ldyBQYWdlKCk7
Ci0gICAgRnJhbWUqIGZyYW1lID0gbmV3IEZyYW1lV2luKHBhZ2UsIDAsIHRoaXMpOworICAgIEZy
YW1lKiBmcmFtZSA9IG5ldyBGcmFtZVdpbihwYWdlLCAwLCAwLCB0aGlzKTsKIAogICAgIC8vIEZJ
WE1FOiBUaGlzIGlzIG9uZS10aW1lIGluaXRpYWxpemF0aW9uLCBidXQgaXQgZ2V0cyB0aGUgdmFs
dWUgb2YgdGhlIHNldHRpbmcgZnJvbSB0aGUKICAgICAvLyBjdXJyZW50IFdlYlZpZXcuIFRoYXQn
cyBhIG1pc21hdGNoIGFuZCBub3QgZ29vZCEKQEAgLTM4MCwxMCArMzgwLDEwIEBAIEhSRVNVTFQg
V2ViRnJhbWU6OmxvYWREYXRhU291cmNlKFdlYkRhdGEKICAgICAgICAgICAgICAgICAgICAgV2Vi
TXV0YWJsZVVSTFJlcXVlc3QqIHJlcXVlc3RJbXBsID0gc3RhdGljX2Nhc3Q8V2ViTXV0YWJsZVVS
TFJlcXVlc3QqPihyZXF1ZXN0KTsKICAgICAgICAgICAgICAgICAgICAgZm9ybURhdGEgPSByZXF1
ZXN0SW1wbC0+Zm9ybURhdGEoKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
UmVmUHRyPFJlc291cmNlTG9hZGVyPiBsb2FkZXIgPSBmb3JtRGF0YSA/Ci0gICAgICAgICAgICAg
ICAgICBSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHRoaXMsIG1ldGhvZFN0cmluZywga3VybCwgKmZv
cm1EYXRhKSA6Ci0gICAgICAgICAgICAgICAgICBSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKHRoaXMs
IG1ldGhvZFN0cmluZywga3VybCk7Ci0gICAgICAgICAgICAgICAgbG9hZGVyLT5zdGFydChkLT5m
cmFtZS0+ZG9jdW1lbnQoKS0+ZG9jTG9hZGVyKCkpOworCisgICAgICAgICAgICAgICAgUmVzb3Vy
Y2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdChrdXJsKTsKKyAgICAgICAgICAgICAgICBSZWZQdHI8
UmVzb3VyY2VIYW5kbGU+IGxvYWRlciA9IFJlc291cmNlSGFuZGxlOjpjcmVhdGUocmVzb3VyY2VS
ZXF1ZXN0LCB0aGlzLCBkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+ZG9jTG9hZGVyKCkpOworCiAgICAg
ICAgICAgICAgICAgSVdlYkZyYW1lTG9hZERlbGVnYXRlKiBmcmFtZUxvYWREZWxlZ2F0ZTsKICAg
ICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGQtPndlYlZpZXctPmZyYW1lTG9hZERlbGVnYXRl
KCZmcmFtZUxvYWREZWxlZ2F0ZSkpKSB7CiAgICAgICAgICAgICAgICAgICAgIGZyYW1lTG9hZERl
bGVnYXRlLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKGQtPndlYlZpZXcsIHRoaXMp
OwpAQCAtNDYxLDkgKzQ2MSw5IEBAIGludCBXZWJGcmFtZTo6Z2V0T2JqZWN0Q2FjaGVTaXplKCkK
ICAgICByZXR1cm4gY2FjaGVTaXplICogbXVsdGlwbGllcjsKIH0KIAotLy8gUmVzb3VyY2VMb2Fk
ZXJDbGllbnQKKy8vIFJlc291cmNlSGFuZGxlQ2xpZW50CiAKLXZvaWQgV2ViRnJhbWU6OnJlY2Vp
dmVkUmVkaXJlY3QoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBLVVJMJiB1cmwpCit2b2lkIFdlYkZy
YW1lOjpyZWNlaXZlZFJlZGlyZWN0KFJlc291cmNlSGFuZGxlKiwgY29uc3QgS1VSTCYgdXJsKQog
ewogICAgIERlcHJlY2F0ZWRTdHJpbmcgdXJsU3RyKHVybC51cmwoKSk7CiAgICAgdXJsU3RyLmFw
cGVuZCgnXDAnKTsKQEAgLTQ4Niw3ICs0ODYsNyBAQCB2b2lkIFdlYkZyYW1lOjpyZWNlaXZlZFJl
ZGlyZWN0KFJlc291cmNlCiAgICAgfQogfQogCi12b2lkIFdlYkZyYW1lOjpyZWNlaXZlZFJlc3Bv
bnNlKFJlc291cmNlTG9hZGVyKiBqb2IsIFBsYXRmb3JtUmVzcG9uc2UpCit2b2lkIFdlYkZyYW1l
OjpyZWNlaXZlZFJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiBqb2IsIFBsYXRmb3JtUmVzcG9uc2Up
CiB7CiAgICAgLy8gQ29tbWl0IHRoZSBwcm92aXNpb25hbCBkYXRhIHNvdXJjZQogCkBAIC01MzQs
NyArNTM0LDcgQEAgdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRSZXNwb25zZShSZXNvdXJjZQogICAg
IH0KIH0KIAotdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWREYXRhKFJlc291cmNlTG9hZGVyKiwgY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKK3ZvaWQgV2ViRnJhbWU6OmRpZFJlY2VpdmVEYXRh
KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkK
IHsKICAgICAvLyBFbnN1cmUgdGhhdCBXZWJGcmFtZTo6cmVjZWl2ZWRSZXNwb25zZSB3YXMgY2Fs
bGVkLgogICAgIF9BU1NFUlQobV9kYXRhU291cmNlICYmICFtX3Byb3Zpc2lvbmFsRGF0YVNvdXJj
ZSk7CkBAIC01NDIsMTMgKzU0MiwxMyBAQCB2b2lkIFdlYkZyYW1lOjpyZWNlaXZlZERhdGEoUmVz
b3VyY2VMb2FkCiAgICAgZC0+ZnJhbWUtPndyaXRlKGRhdGEsIGxlbmd0aCk7CiB9CiAKLXZvaWQg
V2ViRnJhbWU6OnJlY2VpdmVkQWxsRGF0YShSZXNvdXJjZUxvYWRlciogLypqb2IqLykKK3ZvaWQg
V2ViRnJhbWU6OnJlY2VpdmVkQWxsRGF0YShSZXNvdXJjZUhhbmRsZSogLypqb2IqLykKIHsKICAg
ICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKICAgICBtX2xvYWRUeXBlID0gV2ViRnJh
bWVMb2FkVHlwZVN0YW5kYXJkOwogfQogCi12b2lkIFdlYkZyYW1lOjpyZWNlaXZlZEFsbERhdGEo
UmVzb3VyY2VMb2FkZXIqLCBQbGF0Zm9ybURhdGEgZGF0YSkKK3ZvaWQgV2ViRnJhbWU6OnJlY2Vp
dmVkQWxsRGF0YShSZXNvdXJjZUhhbmRsZSosIFBsYXRmb3JtRGF0YSBkYXRhKQogewogICAgIElX
ZWJGcmFtZUxvYWREZWxlZ2F0ZSogZnJhbWVMb2FkRGVsZWdhdGU7CiAgICAgaWYgKFNVQ0NFRURF
RChkLT53ZWJWaWV3LT5mcmFtZUxvYWREZWxlZ2F0ZSgmZnJhbWVMb2FkRGVsZWdhdGUpKSkgewpJ
bmRleDogV2ViS2l0L0NPTS9XZWJGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DT00vV2Vi
RnJhbWUuaAkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJLaXQvQ09NL1dlYkZyYW1lLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJXZWJEYXRhU291cmNlLmgiCiAK
ICNwcmFnbWEgd2FybmluZyhwdXNoLCAwKQotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZVdp
bi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjcHJhZ21hIHdhcm5pbmcocG9wKQpA
QCAtNTMsNyArNTMsNyBAQCB0eXBlZGVmIGVudW0gewogICAgIFdlYkZyYW1lTG9hZFR5cGVSZXBs
YWNlCiB9IFdlYkZyYW1lTG9hZFR5cGU7CiAKLWNsYXNzIFdlYkZyYW1lIDogcHVibGljIElXZWJG
cmFtZSwgcHVibGljIFdlYkNvcmU6OlJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgV2ViQ29y
ZTo6RnJhbWVXaW5DbGllbnQKK2NsYXNzIFdlYkZyYW1lIDogcHVibGljIElXZWJGcmFtZSwgcHVi
bGljIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6RnJhbWVX
aW5DbGllbnQKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViRnJhbWUqIGNyZWF0ZUluc3RhbmNl
KCk7CkBAIC0xMzAsMTIgKzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIC8qIFtvdXRdICovIGlu
dCAqZnJhbWVDb3VudCwKICAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBJV2ViRnJhbWUgKioq
ZnJhbWVzKTsKIAotICAgIC8vIFJlc291cmNlTG9hZGVyQ2xpZW50Ci0gICAgdmlydHVhbCB2b2lk
IHJlY2VpdmVkUmVkaXJlY3QoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3Jl
OjpLVVJMJik7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkUmVzcG9uc2UoV2ViQ29yZTo6UmVz
b3VyY2VMb2FkZXIqLCBXZWJDb3JlOjpQbGF0Zm9ybVJlc3BvbnNlKTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVjZWl2ZWREYXRhKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgY29uc3QgY2hhciosIGlu
dCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQWxsRGF0YShXZWJDb3JlOjpSZXNvdXJjZUxv
YWRlciopOwotICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZEFsbERhdGEoV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkZXIqLCBXZWJDb3JlOjpQbGF0Zm9ybURhdGEpOworICAgIC8vIFJlc291cmNlSGFuZGxl
Q2xpZW50CisgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkUmVkaXJlY3QoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGUqLCBjb25zdCBXZWJDb3JlOjpLVVJMJik7CisgICAgdmlydHVhbCB2b2lkIHJlY2Vp
dmVkUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBXZWJDb3JlOjpQbGF0Zm9ybVJl
c3BvbnNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGUqLCBjb25zdCBjaGFyKiwgaW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRB
bGxEYXRhKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKik7CisgICAgdmlydHVhbCB2b2lkIHJlY2Vp
dmVkQWxsRGF0YShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIFdlYkNvcmU6OlBsYXRmb3JtRGF0
YSk7CiAKICAgICAvLyBGcmFtZVdpbkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVOZXdX
aW5kb3coY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2lu
ZG93RmVhdHVyZXMmLCBXZWJDb3JlOjpGcmFtZSomIG5ld0ZyYW1lKTsKSW5kZXg6IFdlYktpdC9D
T00vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NPTS9XZWJWaWV3LmNwcAkocmV2
aXNpb24gMTc1MzYpCisrKyBXZWJLaXQvQ09NL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0LmgiCiAKICNwcmFn
bWEgd2FybmluZyggcHVzaCwgMCApCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lV2luLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKSW5kZXg6IFdl
YktpdC9XZWJLaXQudmNwcm9qL1dlYktpdC52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dl
YktpdC52Y3Byb2ovV2ViS2l0LnZjcHJvagkocmV2aXNpb24gMTc1MzYpCisrKyBXZWJLaXQvV2Vi
S2l0LnZjcHJvai9XZWJLaXQudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMyMCArMSwzMjAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/PgotPFZpc3Vh
bFN0dWRpb1Byb2plY3QKLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyIKLQlWZXJzaW9uPSI4LjAw
IgotCU5hbWU9IldlYktpdCIKLQlQcm9qZWN0R1VJRD0iezA2NjJBOEE5LTgyQTMtNDYzOC05N0Q4
LUVDNDI1RDhEODdDOX0iCi0JUm9vdE5hbWVzcGFjZT0iV2ViS2l0IgotCUtleXdvcmQ9IldpbjMy
UHJvaiIKLQk+Ci0JPFBsYXRmb3Jtcz4KLQkJPFBsYXRmb3JtCi0JCQlOYW1lPSJXaW4zMiIKLQkJ
Lz4KLQk8L1BsYXRmb3Jtcz4KLQk8VG9vbEZpbGVzPgotCTwvVG9vbEZpbGVzPgotCTxDb25maWd1
cmF0aW9ucz4KLQkJPENvbmZpZ3VyYXRpb24KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJT3V0
cHV0RGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcV2Vi
S2l0V2luIgotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERpcilcV2Vi
S2l0V2luLmludGVybWVkaWF0ZVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4uaW50ZXJt
ZWRpYXRlIgotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiCi0JCQlDaGFyYWN0ZXJTZXQ9IjEiCi0J
CQk+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJ
CU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ01JRExUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQlPcHRpbWl6YXRpb249IjAiCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxDT00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxs
b2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZWNtYSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcaHRtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0
bWxcbWlzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm0m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZVx3aW4mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXFdlYkNvcmVccGxhdGZvcm1cY2Fpcm9cY2Fpcm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVcZWRpdGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVc
ZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVx4bWwmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGt3cSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXGljb252JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieG1sMiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4zMiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXEphdmFTY3JpcHRDb3JlXHd0ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
JnF1b3Q7IgotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7X1dJTkRP
V1M7X1VTUkRMTDtXRUJLSVRfRVhQT1JUUztfV0lOMzJfV0lOTlQ9MHg1MDA7X1NDTF9TRUNVUkVf
Tk9fREVQUkVDQVRFIgotCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIgotCQkJCUV4Y2VwdGlvbkhh
bmRsaW5nPSIwIgotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyIKLQkJCQlSdW50aW1lTGlicmFy
eT0iMyIKLQkJCQlSdW50aW1lVHlwZUluZm89ImZhbHNlIgotCQkJCVVzZVByZWNvbXBpbGVkSGVh
ZGVyPSIwIgotCQkJCVdhcm5pbmdMZXZlbD0iNCIKLQkJCQlXYXJuQXNFcnJvcj0idHJ1ZSIKLQkJ
CQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9InRydWUiCi0JCQkJRGVidWdJbmZvcm1h
dGlvbkZvcm1hdD0iMyIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291
cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNv
bXBpbGVyVG9vbCIKLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCi0JCQkJQ29tbWFuZExpbmU9
Inhjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVxpY29udi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGlj
dWR0MzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY3V1
YzM0LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
ciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieG1s
Mi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3Ig
L3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGxpYnhzbHQu
ZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVx6bGliMS5kbGwm
cXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7IgotCQkJLz4KLQkJCTxU
b29sCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIgotCQkJCVJlZ2lzdGVyT3V0cHV0PSJ0cnVlIgot
CQkJCUxpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzPSJ0cnVlIgotCQkJCUFkZGl0aW9uYWxEZXBlbmRl
bmNpZXM9ImNvbWN0bDMyLmxpYiB3aW5pbmV0LmxpYiAmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XGljb252XGxpYlxpY29udi5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4
bWxcbGliXGxpYnhtbDIubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieHNs
dFxsaWJcbGlieHNsdC5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY3VcbGli
XGljdXVjLmxpYiZxdW90OyIKLQkJCQlMaW5rSW5jcmVtZW50YWw9IjIiCi0JCQkJTW9kdWxlRGVm
aW5pdGlvbkZpbGU9IldlYktpdC5kZWYiCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJ0
cnVlIgotCQkJCVN1YlN5c3RlbT0iMiIKLQkJCQlUYXJnZXRNYWNoaW5lPSIxIgotCQkJLz4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ01hbmlmZXN0VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWERDTWFrZVRv
b2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgotCQkJLz4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ0FwcFZlcmlmaWVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViRGVw
bG95bWVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50
VG9vbCIKLQkJCQlDb21tYW5kTGluZT0iIgotCQkJLz4KLQkJPC9Db25maWd1cmF0aW9uPgotCQk8
Q29uZmlndXJhdGlvbgotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCU91dHB1dERpcmVjdG9y
eT0iJChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiIKLQkJ
CUludGVybWVkaWF0ZURpcmVjdG9yeT0iJChXZWJLaXRPdXRwdXREaXIpXFdlYktpdFdpbi5pbnRl
cm1lZGlhdGVcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luLmludGVybWVkaWF0ZSIKLQkJ
CUNvbmZpZ3VyYXRpb25UeXBlPSIyIgotCQkJQ2hhcmFjdGVyU2V0PSIxIgotCQkJV2hvbGVQcm9n
cmFtT3B0aW1pemF0aW9uPSIxIgotCQkJPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxk
RXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgotCQkJ
Lz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAot
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxDT00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxs
b2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZWNtYSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcaHRtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0
bWxcbWlzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm0m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZVx3aW4mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXFdlYkNvcmVccGxhdGZvcm1cY2Fpcm9cY2Fpcm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVcZWRpdGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVc
ZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVx4bWwmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGt3cSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXGljb252JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieG1sMiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4zMiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXEphdmFTY3JpcHRDb3JlXHd0ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
JnF1b3Q7IgotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRP
V1M7X1VTUkRMTDtXRUJLSVRfRVhQT1JUUztfV0lOMzJfV0lOTlQ9MHg1MDA7X1NDTF9TRUNVUkVf
Tk9fREVQUkVDQVRFIgotCQkJCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIgotCQkJCVJ1bnRpbWVMaWJy
YXJ5PSIyIgotCQkJCVJ1bnRpbWVUeXBlSW5mbz0iZmFsc2UiCi0JCQkJVXNlUHJlY29tcGlsZWRI
ZWFkZXI9IjAiCi0JCQkJV2FybmluZ0xldmVsPSI0IgotCQkJCVdhcm5Bc0Vycm9yPSJ0cnVlIgot
CQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0idHJ1ZSIKLQkJCQlEZWJ1Z0luZm9y
bWF0aW9uRm9ybWF0PSIzIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVz
b3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Jlc291cmNl
Q29tcGlsZXJUb29sIgotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiIKLQkJCS8+
Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKLQkJCQlDb21tYW5kTGlu
ZT0ieGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5h
bWUpXGljb252LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4
Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlc
aWN1ZHQzNC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGlj
dXVjMzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4
bWwyLmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
ciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieHNs
dC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3Ig
L3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXHpsaWIxLmRs
bCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTsiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkJUmVnaXN0ZXJPdXRwdXQ9InRydWUi
Ci0JCQkJTGlua0xpYnJhcnlEZXBlbmRlbmNpZXM9InRydWUiCi0JCQkJQWRkaXRpb25hbERlcGVu
ZGVuY2llcz0iY29tY3RsMzIubGliIHdpbmluZXQubGliICZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5caWNvbnZcbGliXGljb252LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxp
YnhtbFxsaWJcbGlieG1sMi5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4
c2x0XGxpYlxsaWJ4c2x0LmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxs
aWJcaWN1dWMubGliJnF1b3Q7IgotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSIKLQkJCQlNb2R1bGVE
ZWZpbml0aW9uRmlsZT0iV2ViS2l0LmRlZiIKLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249
InRydWUiCi0JCQkJU3ViU3lzdGVtPSIyIgotCQkJCU9wdGltaXplUmVmZXJlbmNlcz0iMiIKLQkJ
CQlFbmFibGVDT01EQVRGb2xkaW5nPSIyIgotCQkJCVRhcmdldE1hY2hpbmU9IjEiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDTWFuaWZlc3RUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtl
VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDQXBwVmVyaWZpZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJE
ZXBsb3ltZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZl
bnRUb29sIgotCQkJLz4KLQkJPC9Db25maWd1cmF0aW9uPgotCTwvQ29uZmlndXJhdGlvbnM+Ci0J
PFJlZmVyZW5jZXM+Ci0JPC9SZWZlcmVuY2VzPgotCTxGaWxlcz4KLQkJPEZpbHRlcgotCQkJTmFt
ZT0iU291cmNlIEZpbGVzIgotCQkJRmlsdGVyPSJjcHA7YztjYztjeHg7ZGVmO29kbDtpZGw7aHBq
O2JhdDthc207YXNteCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYt
QTA2Ni0yQTMyRDc1MkEyRkZ9IgotCQkJPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5c
V2ViS2l0LmRlZiIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cQ09NXFdlYktpdENsYXNzRmFjdG9yeS5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJLaXRETEwuY3BwIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJPC9GaWx0ZXI+Ci0JCTxGaWx0ZXIKLQkJCU5hbWU9IkhlYWRlciBGaWxlcyIK
LQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubDtpbmM7eHNkIgotCQkJVW5pcXVlSWRlbnRpZmll
cj0iezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0iCi0JCQk+Ci0JCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLlxhdXRvdmVyc2lvbi5oIgotCQkJCT4KLQkJCTwvRmlsZT4K
LQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXHJlc291cmNlLmgiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJCYWNrRm9yd2FyZExp
c3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Q09NXFdlYkRhdGFTb3VyY2UuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cQ09NXFdlYkZyYW1lLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJIaXN0b3J5SXRlbS5oIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViSWNvbkRhdGFi
YXNlLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XENPTVxXZWJLaXRDbGFzc0ZhY3RvcnkuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYktpdERMTC5oIgotCQkJCT4KLQkJCTwvRmlsZT4K
LQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViTXV0YWJsZVVSTFJlcXVlc3Qu
aCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09N
XFdlYlZpZXcuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCTwvRmlsdGVyPgotCQk8RmlsdGVyCi0J
CQlOYW1lPSJDbGFzc2VzIgotCQkJPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENP
TVxXZWJCYWNrRm9yd2FyZExpc3QuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRGF0YVNvdXJjZS5jcHAiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJGcmFtZS5jcHAiCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJI
aXN0b3J5SXRlbS5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXENPTVxXZWJJY29uRGF0YWJhc2UuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViTXV0YWJsZVVSTFJlcXVlc3QuY3Bw
IgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01c
V2ViVmlldy5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQk8L0ZpbHRlcj4KLQkJPEZpbHRlcgot
CQkJTmFtZT0iUmVzb3VyY2VzIgotCQkJPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5c
bWlzc2luZ0ltYWdlLnBuZyIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLlx0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmciCi0JCQkJPgotCQkJPC9GaWxlPgot
CQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cV2ViS2l0LnJjIgotCQkJCT4KLQkJCTwvRmls
ZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXFdlYktpdC50bGIiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQk8L0ZpbHRlcj4KLQkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLlxwbmcxLmJp
biIKLQkJCT4KLQkJPC9GaWxlPgotCTwvRmlsZXM+Ci0JPEdsb2JhbHM+Ci0JPC9HbG9iYWxzPgot
PC9WaXN1YWxTdHVkaW9Qcm9qZWN0PgorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2lu
ZG93cy0xMjUyIj8+DQorPFZpc3VhbFN0dWRpb1Byb2plY3QNCisJUHJvamVjdFR5cGU9IlZpc3Vh
bCBDKysiDQorCVZlcnNpb249IjguMDAiDQorCU5hbWU9IldlYktpdCINCisJUHJvamVjdEdVSUQ9
InswNjYyQThBOS04MkEzLTQ2MzgtOTdEOC1FQzQyNUQ4RDg3Qzl9Ig0KKwlSb290TmFtZXNwYWNl
PSJXZWJLaXQiDQorCUtleXdvcmQ9IldpbjMyUHJvaiINCisJPg0KKwk8UGxhdGZvcm1zPg0KKwkJ
PFBsYXRmb3JtDQorCQkJTmFtZT0iV2luMzIiDQorCQkvPg0KKwk8L1BsYXRmb3Jtcz4NCisJPFRv
b2xGaWxlcz4NCisJPC9Ub29sRmlsZXM+DQorCTxDb25maWd1cmF0aW9ucz4NCisJCTxDb25maWd1
cmF0aW9uDQorCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJT3V0cHV0RGlyZWN0b3J5PSIkKFdl
YktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luIg0KKwkJCUludGVy
bWVkaWF0ZURpcmVjdG9yeT0iJChXZWJLaXRPdXRwdXREaXIpXFdlYktpdFdpbi5pbnRlcm1lZGlh
dGVcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luLmludGVybWVkaWF0ZSINCisJCQlDb25m
aWd1cmF0aW9uVHlwZT0iMiINCisJCQlDaGFyYWN0ZXJTZXQ9IjEiDQorCQkJPg0KKwkJCTxUb29s
DQorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlO
YW1lPSJWQ01JRExUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJT3B0aW1pemF0aW9uPSIwIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4uXENPTSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJD
b3JlXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxc
ZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxlY21hJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxodG1sJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXFdlYkNvcmVcY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxraHRtbFxtaXNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0
Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcYnJpZGdlXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGFnZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVxjYWlyb1xjYWlyb1xzcmMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cbmV0d29yayZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVceG1s
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxrd3EmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxpY29udiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XGxpYnhtbDImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENvcmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29yZVx3dGYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKSZxdW90OyINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19E
RUJVRztfV0lORE9XUztfVVNSRExMO1dFQktJVF9FWFBPUlRTO19XSU4zMl9XSU5OVD0weDUwMDtf
U0NMX1NFQ1VSRV9OT19ERVBSRUNBVEUiDQorCQkJCU1pbmltYWxSZWJ1aWxkPSJ0cnVlIg0KKwkJ
CQlFeGNlcHRpb25IYW5kbGluZz0iMCINCisJCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KKwkJ
CQlSdW50aW1lTGlicmFyeT0iMyINCisJCQkJUnVudGltZVR5cGVJbmZvPSJmYWxzZSINCisJCQkJ
VXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQorCQkJCVdhcm5pbmdMZXZlbD0iNCINCisJCQkJV2Fy
bkFzRXJyb3I9InRydWUiDQorCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0idHJ1
ZSINCisJCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVM
aW5rRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ieGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljb252LmRsbCZxdW90OyAmcXVvdDsk
KFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1ZHQzNC5kbGwmcXVvdDsgJnF1b3Q7JChU
YXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljdXVjMzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFy
Z2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4bWwyLmRsbCZxdW90OyAmcXVvdDskKFRhcmdl
dERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieHNsdC5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXRE
aXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XCQoQ29uZmlndXJhdGlvbk5hbWUpXHpsaWIxLmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikm
cXVvdDsmI3gwRDsmI3gwQTsiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0xpbmtl
clRvb2wiDQorCQkJCVJlZ2lzdGVyT3V0cHV0PSJ0cnVlIg0KKwkJCQlMaW5rTGlicmFyeURlcGVu
ZGVuY2llcz0idHJ1ZSINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY29tY3RsMzIubGli
IHdpbmluZXQubGliICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWNvbnZcbGliXGljb252Lmxp
YiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbFxsaWJcbGlieG1sMi5saWIm
cXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4c2x0XGxpYlxsaWJ4c2x0LmxpYiZx
dW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljdVxsaWJcaWN1dWMubGliJnF1b3Q7Ig0K
KwkJCQlMaW5rSW5jcmVtZW50YWw9IjIiDQorCQkJCU1vZHVsZURlZmluaXRpb25GaWxlPSJXZWJL
aXQuZGVmIg0KKwkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249InRydWUiDQorCQkJCVN1YlN5
c3RlbT0iMiINCisJCQkJVGFyZ2V0TWFjaGluZT0iMSINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDQUxpbmtUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5p
ZmVzdFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q1dlYkRlcGxveW1lbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQb3N0
QnVpbGRFdmVudFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSIiDQorCQkJLz4NCisJCTwvQ29uZmln
dXJhdGlvbj4NCisJCTxDb25maWd1cmF0aW9uDQorCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJ
CQlPdXRwdXREaXJlY3Rvcnk9IiQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVxXZWJLaXRXaW4iDQorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFdlYktpdE91dHB1dERp
cilcV2ViS2l0V2luLmludGVybWVkaWF0ZVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4u
aW50ZXJtZWRpYXRlIg0KKwkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KKwkJCUNoYXJhY3RlclNl
dD0iMSINCisJCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQorCQkJPg0KKwkJCTxUb29s
DQorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlO
YW1lPSJWQ01JRExUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxDT00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxsb2FkZXImcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZWNtYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXFdlYkNvcmVcaHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNv
cmVca2h0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGNzcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcbWlzYyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJD
b3JlXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZv
cm1cY2Fpcm9cY2Fpcm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBs
YXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBs
YXRmb3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNv
cmVccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxlZGl0
aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxkb20mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVca3dxJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWNv
bnYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4bWwyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5caWN1XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEphdmFT
Y3JpcHRDb3JlXG9zLXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2YVNj
cmlwdENvcmVcd3RmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxGb3J3
YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0
aW9uTmFtZSlcV2ViS2l0V2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikmcXVvdDsiDQorCQkJ
CVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtX
RUJLSVRfRVhQT1JUUztfV0lOMzJfV0lOTlQ9MHg1MDA7X1NDTF9TRUNVUkVfTk9fREVQUkVDQVRF
Ig0KKwkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCisJCQkJUnVudGltZUxpYnJhcnk9IjIiDQor
CQkJCVJ1bnRpbWVUeXBlSW5mbz0iZmFsc2UiDQorCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIw
Ig0KKwkJCQlXYXJuaW5nTGV2ZWw9IjQiDQorCQkJCVdhcm5Bc0Vycm9yPSJ0cnVlIg0KKwkJCQlE
ZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9InRydWUiDQorCQkJCURlYnVnSW5mb3JtYXRp
b25Gb3JtYXQ9IjMiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNv
dXJjZUNvbXBpbGVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUmVzb3Vy
Y2VDb21waWxlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCisJCQkJQ29t
bWFuZExpbmU9Inhjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3Vy
YXRpb25OYW1lKVxpY29udi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7
JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlv
bk5hbWUpXGljdWR0MzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25O
YW1lKVxpY3V1YzM0LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFt
ZSlcbGlieG1sMi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUp
XGxpYnhzbHQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVx6
bGliMS5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlSZWdpc3Rlck91
dHB1dD0idHJ1ZSINCisJCQkJTGlua0xpYnJhcnlEZXBlbmRlbmNpZXM9InRydWUiDQorCQkJCUFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiB3aW5pbmV0LmxpYiAmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXGljb252XGxpYlxpY29udi5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxsaWJ4bWxcbGliXGxpYnhtbDIubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERp
cilcLi5cLi5cbGlieHNsdFxsaWJcbGlieHNsdC5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxpY3VcbGliXGljdXVjLmxpYiZxdW90OyINCisJCQkJTGlua0luY3JlbWVudGFsPSIx
Ig0KKwkJCQlNb2R1bGVEZWZpbml0aW9uRmlsZT0iV2ViS2l0LmRlZiINCisJCQkJR2VuZXJhdGVE
ZWJ1Z0luZm9ybWF0aW9uPSJ0cnVlIg0KKwkJCQlTdWJTeXN0ZW09IjIiDQorCQkJCU9wdGltaXpl
UmVmZXJlbmNlcz0iMiINCisJCQkJRW5hYmxlQ09NREFURm9sZGluZz0iMiINCisJCQkJVGFyZ2V0
TWFjaGluZT0iMSINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJ
CQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
RnhDb3BUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBcHBWZXJpZmllclRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQorCQkJ
Lz4NCisJCTwvQ29uZmlndXJhdGlvbj4NCisJPC9Db25maWd1cmF0aW9ucz4NCisJPFJlZmVyZW5j
ZXM+DQorCTwvUmVmZXJlbmNlcz4NCisJPEZpbGVzPg0KKwkJPEZpbHRlcg0KKwkJCU5hbWU9IlNv
dXJjZSBGaWxlcyINCisJCQlGaWx0ZXI9ImNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0
O2FzbTthc214Ig0KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2
Ni0yQTMyRDc1MkEyRkZ9Ig0KKwkJCT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii5c
V2ViS2l0LmRlZiINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXENPTVxXZWJLaXRDbGFzc0ZhY3RvcnkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYktpdERMTC5jcHAiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4NCisJCTxGaWx0ZXINCisJCQlOYW1lPSJI
ZWFkZXIgRmlsZXMiDQorCQkJRmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sO2luYzt4c2QiDQorCQkJ
VW5pcXVlSWRlbnRpZmllcj0iezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn0i
DQorCQkJPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLlxhdXRvdmVyc2lvbi5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLlxyZXNv
dXJjZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cQ09NXFdlYkJhY2tGb3J3YXJkTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkRhdGFTb3VyY2UuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJG
cmFtZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cQ09NXFdlYkhpc3RvcnlJdGVtLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViSWNvbkRhdGFiYXNlLmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0
Q2xhc3NGYWN0b3J5LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0RExMLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViTXV0YWJsZVVSTFJlcXVlc3QuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENP
TVxXZWJWaWV3LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4NCisJCTxGaWx0
ZXINCisJCQlOYW1lPSJDbGFzc2VzIg0KKwkJCT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXENPTVxXZWJCYWNrRm9yd2FyZExpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkRhdGFTb3VyY2UuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09N
XFdlYkZyYW1lLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXENPTVxXZWJIaXN0b3J5SXRlbS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViSWNvbkRhdGFiYXNlLmNw
cCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XENPTVxXZWJNdXRhYmxlVVJMUmVxdWVzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViVmlldy5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4NCisJCTxGaWx0ZXINCisJCQlOYW1lPSJSZXNvdXJjZXMi
DQorCQkJPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLlxtaXNzaW5nSW1hZ2UucG5n
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLlx0
ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmciDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuXFdlYktpdC5yYyINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii5cV2ViS2l0LnRsYiINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCTwvRmlsdGVyPg0KKwkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii5ccG5nMS5i
aW4iDQorCQkJPg0KKwkJPC9GaWxlPg0KKwk8L0ZpbGVzPg0KKwk8R2xvYmFscz4NCisJPC9HbG9i
YWxzPg0KKzwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11350</attachid>
            <date>2006-11-02 11:11:36 -0800</date>
            <delta_ts>2006-11-03 18:36:16 -0800</delta_ts>
            <desc>Fix mapRect </desc>
            <filename>AffineTransformCairo.cpp</filename>
            <type>text/plain</type>
            <size>6795</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">LyoKICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0OgogKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAog
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CiAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAogKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCiAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgogKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CiAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAogKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAqLwoKI2luY2x1ZGUgImNv
bmZpZy5oIgojaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCgojaW5jbHVkZSAiSW50UmVjdC5o
IgojaW5jbHVkZSAiRmxvYXRSZWN0LmgiCgojaW5jbHVkZSAiY2Fpcm8uaCIKCm5hbWVzcGFjZSBX
ZWJDb3JlIHsKCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3JtKCkKewogICAgY2Fpcm9f
bWF0cml4X2luaXRfaWRlbnRpdHkoJm1fdHJhbnNmb3JtKTsKfQoKQWZmaW5lVHJhbnNmb3JtOjpB
ZmZpbmVUcmFuc2Zvcm0oZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRv
dWJsZSB0eCwgZG91YmxlIHR5KQp7CiAgICBjYWlyb19tYXRyaXhfaW5pdCgmbV90cmFuc2Zvcm0s
IGEsIGMsIGIsIGQsIHR4LCB0eSk7Cn0KCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3Jt
KGNvbnN0IGNhaXJvX21hdHJpeF90ICZtYXRyaXgpCnsKICAgIG1fdHJhbnNmb3JtID0gbWF0cml4
Owp9Cgp2b2lkIEFmZmluZVRyYW5zZm9ybTo6c2V0TWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwg
ZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgdHgsIGRvdWJsZSB0eSkKewogICAgY2Fpcm9fbWF0
cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBjLCBiLCBkLCB0eCwgdHkpOwp9Cgp2b2lkIEFmZmlu
ZVRyYW5zZm9ybTo6bWFwKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlKiB4MiwgZG91YmxlKiB5
MikgY29uc3QKewogICAgKngyID0geDsKICAgICp5MiA9IHk7CiAgICBjYWlyb19tYXRyaXhfdHJh
bnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgeDIsIHkyKTsKfQoKSW50UmVjdCBBZmZpbmVUcmFu
c2Zvcm06Om1hcFJlY3QoY29uc3QgSW50UmVjdCAmcmVjdCkgY29uc3QNCnsNCiAgICBGbG9hdFJl
Y3QgZmxvYXRSZWN0KHJlY3QpOw0KICAgIEZsb2F0UmVjdCBlbmNsb3NpbmdGbG9hdFJlY3QgPSB0
aGlzLT5tYXBSZWN0KGZsb2F0UmVjdCk7DQoNCiAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChl
bmNsb3NpbmdGbG9hdFJlY3QpOw0KfQ0KDQpGbG9hdFJlY3QgQWZmaW5lVHJhbnNmb3JtOjptYXBS
ZWN0KGNvbnN0IEZsb2F0UmVjdCAmcmVjdCkgY29uc3QNCnsNCiAgICBkb3VibGUgcmVjdE1pblgg
PSByZWN0LngoKTsNCiAgICBkb3VibGUgcmVjdE1heFggPSByZWN0LngoKSArIHJlY3Qud2lkdGgo
KTsNCiAgICBkb3VibGUgcmVjdE1pblkgPSByZWN0LnkoKTsNCiAgICBkb3VibGUgcmVjdE1heFkg
PSByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCk7DQoNCiAgICBkb3VibGUgcHggPSByZWN0TWluWDsN
CiAgICBkb3VibGUgcHkgPSByZWN0TWluWTsNCiAgICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3Bv
aW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOw0KICAgIA0KICAgIGRvdWJsZSBlbmNsb3NpbmdS
ZWN0TWluWCA9IHB4Ow0KICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0TWluWSA9IHB5Ow0KICAgIGRv
dWJsZSBlbmNsb3NpbmdSZWN0TWF4WCA9IHB4Ow0KICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0TWF4
WSA9IHB5Ow0KICAgIA0KICAgIHB4ID0gcmVjdE1heFg7DQogICAgcHkgPSByZWN0TWluWTsNCiAg
ICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOw0K
ICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5YKSBlbmNsb3NpbmdSZWN0TWluWCA9IHB4Ow0K
ICAgIGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpIGVuY2xvc2luZ1JlY3RNYXhYID0g
cHg7DQogICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpIGVuY2xvc2luZ1JlY3RNaW5ZID0g
cHk7DQogICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkgZW5jbG9zaW5nUmVjdE1h
eFkgPSBweTsNCg0KICAgIHB4ID0gcmVjdE1heFg7DQogICAgcHkgPSByZWN0TWF4WTsNCiAgICBj
YWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOw0KICAg
IGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5YKSBlbmNsb3NpbmdSZWN0TWluWCA9IHB4Ow0KICAg
IGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7
DQogICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7
DQogICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkgZW5jbG9zaW5nUmVjdE1heFkg
PSBweTsNCg0KICAgIHB4ID0gcmVjdE1pblg7DQogICAgcHkgPSByZWN0TWF4WTsNCiAgICBjYWly
b19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOw0KICAgIGlm
IChweCA8IGVuY2xvc2luZ1JlY3RNaW5YKSBlbmNsb3NpbmdSZWN0TWluWCA9IHB4Ow0KICAgIGVs
c2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7DQog
ICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7DQog
ICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkgZW5jbG9zaW5nUmVjdE1heFkgPSBw
eTsNCg0KDQogICAgZG91YmxlIGVuY2xvc2luZ1JlY3RXaWR0aCA9IGVuY2xvc2luZ1JlY3RNYXhY
IC0gZW5jbG9zaW5nUmVjdE1pblg7DQogICAgZG91YmxlIGVuY2xvc2luZ1JlY3RIZWlnaHQgPSBl
bmNsb3NpbmdSZWN0TWF4WSAtIGVuY2xvc2luZ1JlY3RNaW5ZOw0KDQogICAgcmV0dXJuIEZsb2F0
UmVjdChlbmNsb3NpbmdSZWN0TWluWCwgZW5jbG9zaW5nUmVjdE1pblksIGVuY2xvc2luZ1JlY3RX
aWR0aCwgZW5jbG9zaW5nUmVjdEhlaWdodCk7DQp9DQoNCmJvb2wgQWZmaW5lVHJhbnNmb3JtOjpp
c0lkZW50aXR5KCkgY29uc3QNCnsNCiAgICByZXR1cm4gKChtX3RyYW5zZm9ybS54eCA9PSAxKSAm
JiAobV90cmFuc2Zvcm0ueXkgPT0gMSkgDQogICAgICAgICAmJiAobV90cmFuc2Zvcm0ueHkgPT0g
MCkgJiYgKG1fdHJhbnNmb3JtLnl4ID09IDApIA0KICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLngw
ID09IDApICYmIChtX3RyYW5zZm9ybS55MCA9PSAwKSk7DQp9DQoNCmRvdWJsZSBBZmZpbmVUcmFu
c2Zvcm06Om0xMSgpIGNvbnN0DQp7DQogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh4Ow0KfQ0KDQpk
b3VibGUgQWZmaW5lVHJhbnNmb3JtOjptMTIoKSBjb25zdA0Kew0KICAgIHJldHVybiBtX3RyYW5z
Zm9ybS54eTsNCn0NCg0KZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6bTIxKCkgY29uc3QNCnsNCiAg
ICByZXR1cm4gbV90cmFuc2Zvcm0ueXg7DQp9DQoNCmRvdWJsZSBBZmZpbmVUcmFuc2Zvcm06Om0y
MigpIGNvbnN0DQp7DQogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnl5Ow0KfQ0KDQpkb3VibGUgQWZm
aW5lVHJhbnNmb3JtOjpkeCgpIGNvbnN0DQp7DQogICAgcmV0dXJuIG1fdHJhbnNmb3JtLngwOw0K
fQ0KDQpkb3VibGUgQWZmaW5lVHJhbnNmb3JtOjpkeSgpIGNvbnN0DQp7DQogICAgcmV0dXJuIG1f
dHJhbnNmb3JtLnkwOw0KfQ0KDQp2b2lkIEFmZmluZVRyYW5zZm9ybTo6cmVzZXQoKQ0Kew0KICAg
IGNhaXJvX21hdHJpeF9pbml0X2lkZW50aXR5KCZtX3RyYW5zZm9ybSk7DQp9DQoNCkFmZmluZVRy
YW5zZm9ybSAmQWZmaW5lVHJhbnNmb3JtOjpzY2FsZShkb3VibGUgc3gsIGRvdWJsZSBzeSkNCnsN
CiAgICBjYWlyb19tYXRyaXhfc2NhbGUoJm1fdHJhbnNmb3JtLCBzeCwgc3kpOw0KICAgIHJldHVy
biAqdGhpczsNCn0NCg0KQWZmaW5lVHJhbnNmb3JtICZBZmZpbmVUcmFuc2Zvcm06OnJvdGF0ZShk
b3VibGUgZCkNCnsNCiAgICBjYWlyb19tYXRyaXhfcm90YXRlKCZtX3RyYW5zZm9ybSwgZCk7DQog
ICAgcmV0dXJuICp0aGlzOw0KfQ0KDQpBZmZpbmVUcmFuc2Zvcm0gJkFmZmluZVRyYW5zZm9ybTo6
dHJhbnNsYXRlKGRvdWJsZSB0eCwgZG91YmxlIHR5KQ0Kew0KICAgIGNhaXJvX21hdHJpeF90cmFu
c2xhdGUoJm1fdHJhbnNmb3JtLCB0eCwgdHkpOw0KICAgIHJldHVybiAqdGhpczsNCn0NCg0KQWZm
aW5lVHJhbnNmb3JtICZBZmZpbmVUcmFuc2Zvcm06OnNoZWFyKGRvdWJsZSBzeCwgZG91YmxlIHN5
KQ0Kew0KICAgIGNhaXJvX21hdHJpeF90IHNoZWFyOw0KICAgIGNhaXJvX21hdHJpeF9pbml0KCZz
aGVhciwgMSwgc3gsIHN5LCAxLCAwLCAwKTsNCg0KICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsN
CiAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJlc3VsdCwgJnNoZWFyLCAmbV90cmFuc2Zvcm0p
Ow0KICAgIG1fdHJhbnNmb3JtID0gcmVzdWx0Ow0KDQogICAgcmV0dXJuICp0aGlzOw0KfQ0KDQpk
b3VibGUgQWZmaW5lVHJhbnNmb3JtOjpkZXQoKSBjb25zdA0Kew0KICAgIHJldHVybiBtX3RyYW5z
Zm9ybS54eCAqIG1fdHJhbnNmb3JtLnl5IC0gbV90cmFuc2Zvcm0ueHkgKiBtX3RyYW5zZm9ybS55
eDsNCn0NCg0KQWZmaW5lVHJhbnNmb3JtIEFmZmluZVRyYW5zZm9ybTo6aW52ZXJ0KCkgY29uc3QN
CnsNCiAgICBpZiAoIWlzSW52ZXJ0aWJsZSgpKSByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCk7DQoN
CiAgICBjYWlyb19tYXRyaXhfdCByZXN1bHQgPSBtX3RyYW5zZm9ybTsNCiAgICBjYWlyb19tYXRy
aXhfaW52ZXJ0KCZyZXN1bHQpOw0KICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0ocmVzdWx0KTsN
Cn0NCg0KQWZmaW5lVHJhbnNmb3JtOjpvcGVyYXRvciBjYWlyb19tYXRyaXhfdCgpIGNvbnN0DQp7
DQogICAgcmV0dXJuIG1fdHJhbnNmb3JtOw0KfQ0KDQpib29sIEFmZmluZVRyYW5zZm9ybTo6b3Bl
cmF0b3I9PSAoY29uc3QgQWZmaW5lVHJhbnNmb3JtICZtMikgY29uc3QNCnsNCiAgICByZXR1cm4g
KChtX3RyYW5zZm9ybS54eCA9PSBtMi5tX3RyYW5zZm9ybS54eCkgDQogICAgICAgICAmJiAobV90
cmFuc2Zvcm0ueXkgPT0gbTIubV90cmFuc2Zvcm0ueXkpIA0KICAgICAgICAgJiYgKG1fdHJhbnNm
b3JtLnh5ID09IG0yLm1fdHJhbnNmb3JtLnh5KQ0KICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLnl4
ID09IG0yLm1fdHJhbnNmb3JtLnl4KSANCiAgICAgICAgICYmIChtX3RyYW5zZm9ybS54MCA9PSBt
Mi5tX3RyYW5zZm9ybS54MCkNCiAgICAgICAgICYmIChtX3RyYW5zZm9ybS55MCA9PSBtMi5tX3Ry
YW5zZm9ybS55MCkpOw0KDQp9DQoNCkFmZmluZVRyYW5zZm9ybSAmQWZmaW5lVHJhbnNmb3JtOjpv
cGVyYXRvcio9IChjb25zdCBBZmZpbmVUcmFuc2Zvcm0gJm0yKQ0Kew0KICAgIGNhaXJvX21hdHJp
eF90IHJlc3VsdDsNCiAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJlc3VsdCwgJm1fdHJhbnNm
b3JtLCAmbTIubV90cmFuc2Zvcm0pOw0KICAgIG1fdHJhbnNmb3JtID0gcmVzdWx0Ow0KDQogICAg
cmV0dXJuICp0aGlzOw0KfQ0KDQpBZmZpbmVUcmFuc2Zvcm0gQWZmaW5lVHJhbnNmb3JtOjpvcGVy
YXRvciogKGNvbnN0IEFmZmluZVRyYW5zZm9ybSAmbTIpDQp7DQogICAgY2Fpcm9fbWF0cml4X3Qg
cmVzdWx0Ow0KICAgIGNhaXJvX21hdHJpeF9tdWx0aXBseSgmcmVzdWx0LCAmbV90cmFuc2Zvcm0s
ICZtMi5tX3RyYW5zZm9ybSk7DQogICAgcmV0dXJuIHJlc3VsdDsNCn0NCg0KfQoKLy8gdmltOiB0
cz00IHN3PTQgZXQK
</data>
<flag name="review"
          id="3949"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11351</attachid>
            <date>2006-11-02 11:40:58 -0800</date>
            <delta_ts>2006-11-04 03:01:45 -0800</delta_ts>
            <desc>Main patch with correct change logs</desc>
            <filename>Win32Fixes.txt</filename>
            <type>text/plain</type>
            <size>57809</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNzUzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMDYtMTEtMDIgIEJlcnRyYW5kIEd1aWhlbmV1ZiA8Z3VpaGVuZXVm
QGdtYWlsLmNvbT4KKworICAgICAgICAqIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvagorICAgICAgICBBZGRlZCBwbGF0Zm9ybS9ncmFwaGljcyBwbGF0Zm9ybS9u
ZXR3b3JrIGFuZCBwbGF0Zm9ybS9uZXR3b3JrL3dpbiB0byBoZWFkZXJzIHNlYXJjaCBwYXRocwor
ICAgICAgICBDcmVhdGVkIHBsYXRmb3JtL2dyYXBoaWNzIGFuZCBwbGF0Zm9ybS9uZXR3b3JrIGZp
bHRlcnMgaW4gaGllcmFyY2h5CisgICAgICAgIE1vdmVkIEdyYXBoaWNzQ29udGV4dCBhbmQgR3Jh
cGhpY3NUeXBlcyB0byB0aGVpciByZXNwZWN0aXZlIGZpbHRlcnMKKyAgICAgICAgQWRkZWQgRWRp
dG9yQ2xpZW50LmgKKyAgICAgICAgQWRkZWQgRnJhbWVMb2FkZXIqIGZpbGVzIGluIGxvYWRlci8K
KyAgICAgICAgQWRkZWQgSGl0VGVzdCogZmlsZXMgaW4gcmVuZGVyaW5nLworCQkJCUFkZGVkIEVk
aXRvci4qIGZpbGVzIGluIGVkaXRpbmcvCisJCQkJQWRkZWQgRGVsZXRlQnV0dG9uLiogYW5kIERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIuKiBpbiBlZGl0aW5nLworICAgICAgICAqIGJyaWRnZS93aW4v
RnJhbWVXaW4uaAorICAgICAgICAqIGJyaWRnZS93aW4vRnJhbWVXaW4uY3BwCisgICAgICAgIEFk
ZGVkIEVkaXRvckNsaWVudCBwYXJhbWV0ZXIgdG8gY29uc3RydWN0b3IKKyAgICAgICAgUmVwbGFj
ZSB1c2FnZSBvZiBGcmFtZUxvYWRSZXF1ZXN0OjptX3JlcXVlc3Qgd2l0aCBGcmFtZUxvYWRSZXF1
ZXN0OjpyZXNvdXJjZVJlcXVlc3QoKQorICAgICAgICBSZW1vdmVkIG9wZW5VUkwoKSBhbmQgb3Bl
blVSTFJlcXVlc3QgZnJvbSBjbGFzcyBkZWZpbml0aW9uCisgICAgICAgIAorICAgICAgICAqIGJy
aWRnZS93aW4vRnJhbWVXaW4uaAorICAgICAgICBhZGQgRnJhbWVXaW46OmdvQmFja09yRm9yd2Fy
ZChpbnQgZGlzdGFuY2UpCisgICAgICAgIGFkZCBGcmFtZVdpbjo6Z2V0SGlzdG9yeUxlbmd0aCgp
CisgICAgICAgIGFkZCBLVVJMIEZyYW1lV2luOjpoaXN0b3J5VVJMKGludCBkaXN0YW5jZSkKKyAg
ICAgICAgCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAorICAgICAgICBS
ZXBsYWNlIHVzYWdlIG9mIFBhaW50SW5mbzo6cCB3aXRoIFBhaW50SW5mbzo6Y29udGV4dAorICAg
ICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9jYWlyby8gCisgICAgICAgIEFkZGVkIEFmZmluZVRy
YW5zZm9ybUNhaXJvLmNwcAorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9jYWlyby9jYWly
b0dyYXBoaWNzQ29udGV4dC5jcHA6CisgICAgICAgIHMvZHJhd0xpbmVGb3JNaXNzcGVsbGluZy9k
cmF3TGluZUZvck1pc3NwZWxsaW5nT3JCYWRHcmFtbWFyCisgICAgICAgIAorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcDoKKyAgICAgICAgdXNlIHRo
aXMtPnVybCgpIGluc3RlYWQgb2YgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6VVJMCisgICAgICAg
CXVzZSB0aGlzLT5jbGllbnQoKSBpbnN0ZWFkIG9mIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6OmNs
aWVudAorCisgICAgICAgICogcGxhdGZvcm1cd2luXFRlbXBvcmFyeUxpbmtTdHVicy5jcHA6Cisg
ICAgICAgIHJlbW92ZSBSZXNvdXJjZUhhbmRsZTo6YXNzZW1ibGVSZXNwb25zZUhlYWRlcnMoKQor
ICAgICAgICByZW1vdmUgUmVzb3VyY2VIYW5kbGU6OnJldHJpZXZlUmVzcG9uc2VFbmNvZGluZygp
CisgICAgICAgIGFkZCBzdHViIEZyYW1lV2luOjpnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNl
KQorICAgICAgICBhZGQgc3R1YiBGcmFtZVdpbjo6Z2V0SGlzdG9yeUxlbmd0aCgpCisgICAgICAg
IGFkZCBzdHViIEtVUkwgRnJhbWVXaW46Omhpc3RvcnlVUkwoaW50IGRpc3RhbmNlKQorICAgICAg
ICBjaGFuZ2UgU2VydmVTeW5jaHJvbm91c1JlcXVlc3QoKSB0byBtYXRjaCBkZWNsYXJhdGlvbgor
ICAgICAgICBhZGQgc3R1YiBzeXN0ZW1CZWVwKCkgCisgICAgICAgIGFkZCBzdHViIFBhZ2U6OmNh
blJ1bk1vZGFsKCkKKyAgICAgICAgYWRkIHN0dWIgUGFnZTo6Y2FuUnVuTW9kYWxOb3coKQorICAg
ICAgICBhZGQgc3R1YiBQYWdlOjpydW5Nb2RhbCgpCisgICAgICAgIGFkZCBzdHViIFBvcHVwTWVu
dTo6dXBkYXRlRnJvbUVsZW1lbnQoKQorICAgICAgICBhZGQgc3R1YiBQYXRoOjp0cmFuc2Zvcm0o
KQorICAgICAgICAKIDIwMDYtMTEtMDEgIEp1c3RpbiBHYXJjaWEgIDxqdXN0aW4uZ2FyY2lhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBkYXJpbgpJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTc1MzYpCisr
KyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQAogCQkJLz4KIAkJCTxUb29sCiAJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXC4uXGljb252XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4u
XC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cbGli
eHNsdFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cRGVyaXZlZFNvdXJj
ZXNcV2ViQ29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXCZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGVk
aXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxyZW5kZXJpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGh0bWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbG9hZGVy
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxh
dGZvcm1cY2Fpcm8mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFn
ZS1kZWNvZGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdl
LWRlY29kZXJzXGJtcCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXGlt
YWdlLWRlY29kZXJzXGdpZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3Jt
XGltYWdlLWRlY29kZXJzXGljbyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRm
b3JtXGltYWdlLWRlY29kZXJzXGpwZWcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxw
bGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xwbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x4Ym0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x6bGliJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cSmF2YVNjcmlw
dENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxKYXZhU2NyaXB0Q29yZVxv
cy13aW4zMiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEZvcndhcmRpbmdIZWFkZXJz
JnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxXZWJDb3JlLmludGVybWVkaWF0ZVwkKENv
bmZpZ3VyYXRpb25OYW1lKVxXZWJDb3JlLmludGVybWVkaWF0ZVxEZXJpdmVkU291cmNlcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXEphdmFTY3JpcHRDb3JlXGtqcyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvXHBpeG1hblxzcmMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxjYWlyb1xjYWlyb1xzcmMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxsb2FkZXJcaWNvbiZxdW90OyIKKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXGljb252XGluY2x1ZGUmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cLi5cbGlieHNsdFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cRGVyaXZlZFNvdXJjZXNcV2ViQ29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGNzcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxy
ZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxiaW5kaW5nc1xqcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2UmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGFnZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm8mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGJtcCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGdpZiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGljbyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBsYXRmb3JtXGltYWdlLWRlY29kZXJzXGpwZWcmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1xwbmcmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x4Ym0mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxpbWFnZS1kZWNvZGVyc1x6bGliJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlwuLlxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXC4uXEphdmFTY3JpcHRDb3JlXG9z
LXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cRm9yd2FyZGluZ0hlYWRlcnMm
cXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXFdlYkNvcmUuaW50ZXJtZWRpYXRlXCQoQ29u
ZmlndXJhdGlvbk5hbWUpXFdlYkNvcmUuaW50ZXJtZWRpYXRlXERlcml2ZWRTb3VyY2VzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cLi5cSmF2YVNjcmlwdENvcmVca2pzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cLi5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5ccGxhdGZvcm1cY2Fpcm9ccGl4bWFuXHNyYyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXHBsYXRmb3JtXGNhaXJvXGNhaXJvXHNyYyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXGxvYWRlclxpY29uJnF1b3Q7IgogCQkJCVByZXByb2Nlc3NvckRlZmluaXRp
b25zPSJXSU4zMjtYU0xUX1NVUFBPUlQ7WFBBVEhfU1VQUE9SVDtOREVCVUciCiAJCQkJRXhjZXB0
aW9uSGFuZGxpbmc9IjAiCiAJCQkJUnVudGltZUxpYnJhcnk9IjIiCkBAIC0xMDM1LDI3ICsxMDM1
LDM1IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXGxvYWRlclxUZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXGxvYWRlclxEb2NMb2FkZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcVGV4dFJlc291cmNlRGVjb2Rlci5oIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXERvY0xvYWRlci5oIgogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcRG9jTG9hZGVyLmNw
cCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxGb3JtRGF0YS5jcHAiCiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxEb2NM
b2FkZXIuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxGb3JtRGF0YS5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJc
Rm9ybURhdGEuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXEZyYW1lTG9hZGVy
LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Li5cbG9hZGVyXEZvcm1EYXRhLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcRnJh
bWVMb2FkZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cbG9hZGVyXEZyYW1lTG9hZGVyQ2xpZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxGcmFtZUxvYWRlclR5cGVz
LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTExMDIsMTEgKzExMTAsMjMgQEAK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGxvYWRlclxUZXh0RG9jdW1lbnQuaCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cbG9hZGVyXFRleHRS
ZXNvdXJjZURlY29kZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlxsb2FkZXJcVGV4dFJlc291cmNlRGVjb2Rlci5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9InBsYXRmb3JtIgogCQkJ
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXEFmZmluZVRyYW5z
Zm9ybS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHBsYXRmb3JtXEFmZmluZVRyYW5zZm9ybS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAg
LTEzMTEsMjIgKzEzMzEsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxHcmFwaGljc0NvbnRleHQuY3BwIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxHcmFw
aGljc0NvbnRleHQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5ccGxhdGZvcm1cR3JhcGhpY3NUeXBlcy5jcHAiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXEdyYXBoaWNzVHlw
ZXMuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Li5ccGxhdGZvcm1cSW1hZ2UuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTE0MzEsMjIgKzE0
MzUsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxwbGF0Zm9ybVxSZXNvdXJjZUhhbmRsZS5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFJlc291cmNlSGFuZGxlLmgi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBs
YXRmb3JtXFJlc291cmNlSGFuZGxlQ2xpZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFJlc291cmNlSGFuZGxlSW50ZXJu
YWwuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Li5ccGxhdGZvcm1cU2NyZWVuLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMTQ5MSwzOSArMTQ3
OSwzOSBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxwbGF0Zm9ybVxUZXh0Q29kZWMuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxh
dGZvcm1cU3RyaW5nLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENvZGVjLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxwbGF0Zm9ybVxTdHJpbmdJbXBsLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENvZGVjSUNVLmNwcCIKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFN0cmluZ0ltcGwuaCIKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4dENv
ZGVjSUNVLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTeXN0ZW1UaW1lLmgi
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBs
YXRmb3JtXFN0cmluZy5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxUZXh0
Qm91bmRhcmllcy5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxwbGF0Zm9ybVxTdHJpbmdJbXBsLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHBsYXRmb3JtXFRleHRDb2RlYy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFN0cmluZ0ltcGwuaCIKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXFRleHRDb2RlYy5oIgogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTeXN0ZW1UaW1lLmgi
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxUZXh0Q29kZWNJQ1UuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9y
bVxUZXh0Qm91bmRhcmllcy5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cVGV4
dENvZGVjSUNVLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTE2NjYsMTQgKzE2
NTQsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5ccGxhdGZvcm1cd2luXFJlc291cmNlSGFuZGxlV2luLmNwcCIKLQkJCQkJPgotCQkJ
CTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXHdp
blxSZXNvdXJjZUhhbmRsZVdpbi5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cd2luXFNjcmVlbldpbi5jcHAiCiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CkBAIC0yMTMwLDYgKzIxMTAsMTAgQEAKIAkJCQlOYW1lPSJjYWlybyIK
IAkJCQk+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxjYWly
b1xBZmZpbmVUcmFuc2Zvcm1DYWlyby5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZp
bGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxjYWlyb1xHcmFwaGljc0NvbnRl
eHRDYWlyby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBAIC0yNDkwLDYgKzI0NzQsMTQyIEBA
CiAJCQkJCTwvRmlsZT4KIAkJCQk8L0ZpbHRlcj4KIAkJCTwvRmlsdGVyPgorCQkJPEZpbHRlcgor
CQkJCU5hbWU9ImdyYXBoaWNzIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYXBoaWNzQ29udGV4dC5jcHAiCisJCQkJCT4KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmpl
Y3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRh
dGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5w
dXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxncmFw
aGljc1xHcmFwaGljc0NvbnRleHQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYXBoaWNzVHlwZXMu
Y3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8
V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJ
CQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRj
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wK
KwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50
RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9
IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR3JhcGhpY3NUeXBlcy5oIgorCQkJCQk+CisJCQkJPC9GaWxl
PgorCQkJPC9GaWx0ZXI+CisJCQk8RmlsdGVyCisJCQkJTmFtZT0ibmV0d29yayIKKwkJCQk+CisJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxuZXR3b3JrXEhUVFBI
ZWFkZXJNYXAuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcUmVzb3VyY2VIYW5kbGUuY3BwIgorCQkJCQk+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJ
T2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3Vt
ZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0
TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwk
KElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1c
bmV0d29ya1xSZXNvdXJjZUhhbmRsZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxl
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZUhhbmRs
ZUNsaWVudC5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCisJ
CQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxw
bGF0Zm9ybVxuZXR3b3JrXFJlc291cmNlUmVxdWVzdC5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cbmV0d29ya1xSZXNv
dXJjZVJlc3BvbnNlLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbHRlcgorCQkJCQlO
YW1lPSJ3aW4iCisJCQkJCT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
cGxhdGZvcm1cbmV0d29ya1x3aW5cUmVzb3VyY2VIYW5kbGVXaW4uY3BwIgorCQkJCQkJPgorCQkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQkJ
PgorCQkJCQkJCTxUb29sCisJCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJ
CU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQkJWE1MRG9j
dW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkJ
Lz4KKwkJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJCT4KKwkJCQkJCQk8VG9vbAorCQkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCQlPYmplY3RGaWxlPSIkKEludERp
cilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0i
JChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJCS8+CisJCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHBsYXRmb3JtXG5ldHdvcmtcd2luXFJlc291cmNlSGFuZGxlV2luLmgiCisJCQkJCQk+
CisJCQkJCTwvRmlsZT4KKwkJCQk8L0ZpbHRlcj4KKwkJCTwvRmlsdGVyPgogCQk8L0ZpbHRlcj4K
IAkJPEZpbHRlcgogCQkJTmFtZT0iY3NzIgpAQCAtMjkzMSw2ICszMDUxLDE4IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJlbmRlcmluZ1xI
aXRUZXN0UmVxdWVzdC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlxyZW5kZXJpbmdcSGl0VGVzdFJlc3VsdC5jcHAiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJlbmRlcmluZ1xIaXRUZXN0
UmVzdWx0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHJlbmRlcmluZ1xJbmxpbmVCb3guY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTM5
MzksNiArNDA3MSwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlxicmlkZ2VcRWRpdG9yQ2xpZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGJyaWRnZVxIaXN0b3J5LmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNDAxOSw2ICs0MTU1LDIyIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRGVsZXRlQnV0dG9uLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
ZWRpdGluZ1xEZWxldGVCdXR0b24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xEZWxldGVCdXR0b25Db250cm9sbGVyLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRp
dGluZ1xEZWxldGVCdXR0b25Db250cm9sbGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdcRGVsZXRlRnJvbVRleHROb2RlQ29t
bWFuZC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDA0Nyw2ICs0MTk5LDE0IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGVkaXRpbmdc
RWRpdG9yLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cZWRpdGluZ1xFZGl0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cZWRpdGluZ1xGb3JtYXRCbG9ja0NvbW1hbmQuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3dpbi9GcmFtZVdpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvd2luL0ZyYW1lV2luLmNwcAkocmV2aXNpb24g
MTc1MzYpCisrKyBXZWJDb3JlL2JyaWRnZS93aW4vRnJhbWVXaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw4ICs0MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRnJhbWVXaW46OkZy
YW1lV2luKFBhZ2UqIHBhZ2UsIEVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVXaW5DbGllbnQq
IGNsaWVudCkKLSAgICA6IEZyYW1lKHBhZ2UsIG93bmVyRWxlbWVudCkKK0ZyYW1lV2luOjpGcmFt
ZVdpbihQYWdlKiBwYWdlLCBFbGVtZW50KiBvd25lckVsZW1lbnQsICBQYXNzUmVmUHRyPEVkaXRv
ckNsaWVudD4gZWRpdG9yQ2xpZW50LCBGcmFtZVdpbkNsaWVudCogY2xpZW50KQorICAgIDogRnJh
bWUocGFnZSwgb3duZXJFbGVtZW50LCBlZGl0b3JDbGllbnQpCiAgICAgLCBtX2NsaWVudChjbGll
bnQpCiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbmV3IFNldHRpbmdzKCk7CkBAIC02NSwx
MyArNjUsMTMgQEAgRnJhbWVXaW46On5GcmFtZVdpbigpCiB2b2lkIEZyYW1lV2luOjp1cmxTZWxl
Y3RlZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBFdmVudCogLyp0cmln
Z2VyaW5nRXZlbnQqLykKIHsKICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5v
cGVuVVJMKHJlcXVlc3QubV9yZXF1ZXN0LnVybCgpLnVybCgpLCByZXF1ZXN0LmxvY2tIaXN0b3J5
KCkpOworICAgICAgICBtX2NsaWVudC0+b3BlblVSTChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnVybCgpLnVybCgpLCByZXF1ZXN0LmxvY2tIaXN0b3J5KCkpOwogfQogCiB2b2lkIEZyYW1lV2lu
OjpzdWJtaXRGb3JtKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgLy8g
RklYTUU6IHRoaXMgaXMgYSBoYWNrIGluaGVyaXRlZCBmcm9tIEZyYW1lTWFjLCBhbmQgc2hvdWxk
IGJlIHB1c2hlZCBpbnRvIEZyYW1lCi0gICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJj
ZVJlcXVlc3QgPSByZXF1ZXN0Lm1fcmVxdWVzdDsKKyAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgaWYgKGQt
Pm1fc3VibWl0dGVkRm9ybVVSTCA9PSByZXNvdXJjZVJlcXVlc3QudXJsKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBkLT5tX3N1Ym1pdHRlZEZvcm1VUkwgPSByZXNvdXJjZVJlcXVlc3QudXJsKCk7
CkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBGcmFtZVdpbjo6c2V0U3RhdHVzQmFyVGV4dChjb25z
dCBTdAogCiB2b2lkIEZyYW1lV2luOjpjcmVhdGVOZXdXaW5kb3coY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVhdHVyZXMmIGZlYXR1cmVzLCBGcmFtZSomIG5l
d0ZyYW1lKQogewotICAgIG1fY2xpZW50LT5jcmVhdGVOZXdXaW5kb3cocmVxdWVzdC5tX3JlcXVl
c3QsIGZlYXR1cmVzLCBuZXdGcmFtZSk7CisgICAgbV9jbGllbnQtPmNyZWF0ZU5ld1dpbmRvdyhy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBmZWF0dXJlcywgbmV3RnJhbWUpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JyaWRnZS93aW4vRnJhbWVXaW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS93aW4vRnJhbWVXaW4uaAkocmV2aXNpb24gMTc1
MzYpCisrKyBXZWJDb3JlL2JyaWRnZS93aW4vRnJhbWVXaW4uaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsMTIgKzQ1LDEwIEBAIHB1YmxpYzoKIAogY2xhc3MgRnJhbWVXaW4gOiBwdWJsaWMgRnJhbWUg
ewogcHVibGljOgotICAgIEZyYW1lV2luKFBhZ2UqLCBFbGVtZW50KiwgRnJhbWVXaW5DbGllbnQq
KTsKKyAgICBGcmFtZVdpbihQYWdlKiwgRWxlbWVudCosICBQYXNzUmVmUHRyPEVkaXRvckNsaWVu
dD4sIEZyYW1lV2luQ2xpZW50Kik7CiAgICAgfkZyYW1lV2luKCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgY3JlYXRlTmV3V2luZG93KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBjb25zdCBXaW5kb3dG
ZWF0dXJlcyYsIEZyYW1lKiYgcGFydCk7Ci0gICAgdmlydHVhbCBib29sIG9wZW5VUkwoY29uc3Qg
S1VSTCYpOwotICAgIHZpcnR1YWwgdm9pZCBvcGVuVVJMUmVxdWVzdChjb25zdCBGcmFtZUxvYWRS
ZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN1Ym1pdEZvcm0oY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCB1cmxTZWxlY3RlZChjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0JiwgY29uc3QgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCk7CiAKQEAgLTEyMiw2ICsxMjAsOSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhcnRDbGVhcmVkSW5CZWdpbigpOwogCiAgICAg
dmlydHVhbCBib29sIGNhbkdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFuY2UpIGNvbnN0OworICAg
IHZpcnR1YWwgdm9pZCBnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNlKTsKKyAgICB2aXJ0dWFs
IGludCBnZXRIaXN0b3J5TGVuZ3RoKCk7CisgICAgdmlydHVhbCBLVVJMIGhpc3RvcnlVUkwoaW50
IGRpc3RhbmNlKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlZE9ubG9hZEV2ZW50cygpOwogCiAg
ICAgdmlydHVhbCBib29sIGNhblBhc3RlKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L0FmZmluZVRyYW5zZm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vQWZmaW5l
VHJhbnNmb3JtLmgJKHJldmlzaW9uIDE3NTM2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9BZmZpbmVU
cmFuc2Zvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgPEFw
cGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2VsaWYgUExBVEZPUk0o
UVQpCiAjaW5jbHVkZSA8UU1hdHJpeD4KKyNlbGlmIFBMQVRGT1JNKENBSVJPKQorI2luY2x1ZGUg
ImNhaXJvLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDcsNiArNDksOCBA
QCBwdWJsaWM6CiAgICAgQWZmaW5lVHJhbnNmb3JtKENHQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9y
bSk7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBBZmZpbmVUcmFuc2Zvcm0oY29uc3QgUU1hdHJp
eCAmbWF0cml4KTsKKyNlbGlmIFBMQVRGT1JNKENBSVJPKQorICAgIEFmZmluZVRyYW5zZm9ybShj
b25zdCBjYWlyb19tYXRyaXhfdCAmbWF0cml4KTsKICNlbmRpZgogCiAgICAgdm9pZCBzZXRNYXRy
aXgoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRvdWJsZSB0eCwgZG91
YmxlIHR5KTsKQEAgLTc4LDYgKzgyLDggQEAgcHVibGljOgogICAgIG9wZXJhdG9yIENHQWZmaW5l
VHJhbnNmb3JtKCkgY29uc3Q7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBvcGVyYXRvciBRTWF0
cml4KCkgY29uc3Q7CisjZWxpZiBQTEFURk9STShDQUlSTykKKyAgICBvcGVyYXRvciBjYWlyb19t
YXRyaXhfdCgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJikgY29uc3Q7CkBAIC04OSw2ICs5NSw4IEBAIHByaXZhdGU6CiAgICAgQ0dB
ZmZpbmVUcmFuc2Zvcm0gbV90cmFuc2Zvcm07CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBRTWF0
cml4IG1fdHJhbnNmb3JtOworI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgY2Fpcm9fbWF0cml4
X3QgbV90cmFuc2Zvcm07CiAjZW5kaWYKIH07CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCShyZXZpc2lvbiAxNzUzNikKKysrIFdl
YkNvcmUvcGxhdGZvcm0vY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MTgsNyArNDE4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dChjbwogICAgIGRyYXdMaW5lKG9yaWdpbiwgZW5kUG9pbnQpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JNaXNzcGVsbGluZyhjb25zdCBJbnRQb2ludCYgcG9pbnQs
IGludCB3aWR0aCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvck1pc3NwZWxsaW5n
T3JCYWRHcmFtbWFyKGNvbnN0IEludFBvaW50JiwgaW50IHdpZHRoLCBib29sIGdyYW1tYXIpCiB7
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCShyZXZpc2lvbiAxNzUzNikK
KysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6b25I
YW5kbGVDcmVhdGVkKExQQQogCiAgICAgICAgIGlmIChtZXRob2QoKSA9PSAiUE9TVCIpIHsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiBUb28gbGF0ZSB0byBzZXQgcmVmZXJyZXIgcHJvcGVybHkuCi0g
ICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IGQtPlVSTC5wYXRoKCk7CisgICAg
ICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVybFN0ciA9IHVybCgpLnBhdGgoKTsKICAgICAgICAg
ICAgIGludCBmcmFnbWVudEluZGV4ID0gdXJsU3RyLmZpbmQoJyMnKTsKICAgICAgICAgICAgIGlm
IChmcmFnbWVudEluZGV4ICE9IC0xKQogICAgICAgICAgICAgICAgIHVybFN0ciA9IHVybFN0ci5s
ZWZ0KGZyYWdtZW50SW5kZXgpOwpAQCAtMzA2LDggKzMwNiw4IEBAIHN0YXRpYyB2b2lkIF9fc3Rk
Y2FsbCB0cmFuc2ZlckpvYlN0YXR1c0MKIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KERvY0xv
YWRlciogZG9jTG9hZGVyKQogewogICAgIHJlZigpOwotICAgIGlmIChkLT5VUkwuaXNMb2NhbEZp
bGUoKSkgewotICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHBhdGggPSBkLT5VUkwucGF0aCgpOwor
ICAgIGlmICh1cmwoKS5pc0xvY2FsRmlsZSgpKSB7CisgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcg
cGF0aCA9IHVybCgpLnBhdGgoKTsKICAgICAgICAgLy8gd2luZG93cyBkb2VzIG5vdCBlbmpveSBh
IGxlYWRpbmcgc2xhc2ggb24gcGF0aHMKICAgICAgICAgaWYgKHBhdGhbMF0gPT0gJy8nKQogICAg
ICAgICAgICAgcGF0aCA9IHBhdGgubWlkKDEpOwpAQCAtMzQ1LDEyICszNDUsMTIgQEAgYm9vbCBS
ZXNvdXJjZUhhbmRsZTo6c3RhcnQoRG9jTG9hZGVyKiBkbwogICAgICAgICBTdHJpbmcgcmVmZXJy
ZXIgPSBkb2NMb2FkZXItPmZyYW1lKCktPnJlZmVycmVyKCk7CiAgICAgICAgIGlmIChtZXRob2Qo
KSA9PSAiUE9TVCIpIHsKICAgICAgICAgICAgIGQtPm1fcG9zdFJlZmVycmVyID0gcmVmZXJyZXI7
Ci0gICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIGhvc3QgPSBkLT5VUkwuaG9zdCgpOworICAg
ICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyBob3N0ID0gdXJsKCkuaG9zdCgpOwogICAgICAgICAg
ICAgaG9zdCArPSAiXDAiOwotICAgICAgICAgICAgdXJsSGFuZGxlID0gSW50ZXJuZXRDb25uZWN0
QShpbnRlcm5ldEhhbmRsZSwgaG9zdC5hc2NpaSgpLCBkLT5VUkwucG9ydCgpLCAwLCAwLCAKKyAg
ICAgICAgICAgIHVybEhhbmRsZSA9IEludGVybmV0Q29ubmVjdEEoaW50ZXJuZXRIYW5kbGUsIGhv
c3QuYXNjaWkoKSwgdXJsKCkucG9ydCgpLCAwLCAwLCAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSU5URVJORVRfU0VSVklDRV9IVFRQLCAwLCAoRFdPUkRfUFRSKWQt
Pm1fam9iSWQpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmlu
ZyB1cmxTdHIgPSBkLT5VUkwudXJsKCk7CisgICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5nIHVy
bFN0ciA9IHVybCgpLnVybCgpOwogICAgICAgICAgICAgaW50IGZyYWdtZW50SW5kZXggPSB1cmxT
dHIuZmluZCgnIycpOwogICAgICAgICAgICAgaWYgKGZyYWdtZW50SW5kZXggIT0gLTEpCiAgICAg
ICAgICAgICAgICAgdXJsU3RyID0gdXJsU3RyLmxlZnQoZnJhZ21lbnRJbmRleCk7CkBAIC0zNzQs
NyArMzc0LDcgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoRG9jTG9hZGVyKiBkbwogCiB2
b2lkIFJlc291cmNlSGFuZGxlOjpmaWxlTG9hZFRpbWVyKFRpbWVyPFJlc291cmNlSGFuZGxlPiog
dGltZXIpCiB7Ci0gICAgZC0+Y2xpZW50LT5yZWNlaXZlZFJlc3BvbnNlKHRoaXMsIDApOworICAg
IGNsaWVudCgpLT5yZWNlaXZlZFJlc3BvbnNlKHRoaXMsIDApOwogCiAgICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKICAgICBEV09SRCBieXRlc1JlYWQgPSAwOwpAQCAtMzg0LDcgKzM4NCw3IEBAIHZv
aWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIoVGltZXIKICAgICAgICAgY2hhciBidWZm
ZXJbYnVmZmVyU2l6ZV07CiAgICAgICAgIHJlc3VsdCA9IFJlYWRGaWxlKGQtPm1fZmlsZUhhbmRs
ZSwgJmJ1ZmZlciwgYnVmZmVyU2l6ZSwgJmJ5dGVzUmVhZCwgTlVMTCk7IAogICAgICAgICBpZiAo
cmVzdWx0ICYmIGJ5dGVzUmVhZCkKLSAgICAgICAgICAgIGQtPmNsaWVudC0+ZGlkUmVjZWl2ZURh
dGEodGhpcywgYnVmZmVyLCBieXRlc1JlYWQpOworICAgICAgICAgICAgY2xpZW50KCktPmRpZFJl
Y2VpdmVEYXRhKHRoaXMsIGJ1ZmZlciwgYnl0ZXNSZWFkKTsKICAgICAgICAgLy8gQ2hlY2sgZm9y
IGVuZCBvZiBmaWxlLiAKICAgICB9IHdoaWxlIChyZXN1bHQgJiYgYnl0ZXNSZWFkKTsKIApAQCAt
Mzk4LDggKzM5OCw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIoVGltZXIK
ICAgICBwbGF0Zm9ybURhdGEuZXJyb3IgPSAwOwogICAgIHBsYXRmb3JtRGF0YS5sb2FkZWQgPSBU
UlVFOwogCi0gICAgZC0+Y2xpZW50LT5yZWNlaXZlZEFsbERhdGEodGhpcywgJnBsYXRmb3JtRGF0
YSk7Ci0gICAgZC0+Y2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKHRoaXMpOworICAgIGNsaWVudCgp
LT5yZWNlaXZlZEFsbERhdGEodGhpcywgJnBsYXRmb3JtRGF0YSk7CisgICAgY2xpZW50KCktPmRp
ZEZpbmlzaExvYWRpbmcodGhpcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNhbmNlbCgp
CkBAIC00MTQsOCArNDE0LDggQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y2FuY2VsKCkKICAgICBw
bGF0Zm9ybURhdGEuZXJyb3IgPSAwOwogICAgIHBsYXRmb3JtRGF0YS5sb2FkZWQgPSBGQUxTRTsK
IAotICAgIGQtPmNsaWVudC0+cmVjZWl2ZWRBbGxEYXRhKHRoaXMsICZwbGF0Zm9ybURhdGEpOwot
ICAgIGQtPmNsaWVudC0+ZGlkRmluaXNoTG9hZGluZyh0aGlzKTsKKyAgICBjbGllbnQoKS0+cmVj
ZWl2ZWRBbGxEYXRhKHRoaXMsICZwbGF0Zm9ybURhdGEpOworICAgIGNsaWVudCgpLT5kaWRGaW5p
c2hMb2FkaW5nKHRoaXMpOyAKIAogICAgIGlmICghZC0+bV9yZXNvdXJjZUhhbmRsZSkKICAgICAg
ICAgLy8gQXN5bmMgbG9hZCBjYW5jZWxlZCBiZWZvcmUgd2UgaGF2ZSBhIGhhbmRsZSAtLSBtYXJr
IG91cnNlbHZlcyBhcyBpbiBlcnJvciwgdG8gYmUgZGVsZXRlZCBsYXRlci4KSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vd2luL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTc1MzYp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xODQsNiArMTg0LDkgQEAgYm9vbCBGcmFtZVdpbjo6dG9vbGJhclZpc2libGUo
KSB7IG5vdEltcAogdm9pZCBGcmFtZVdpbjo6aXNzdWVUcmFuc3Bvc2VDb21tYW5kKCkgeyBub3RJ
bXBsZW1lbnRlZCgpOyB9CiBib29sIEZyYW1lV2luOjpjYW5QYXN0ZSgpIGNvbnN0IHsgbm90SW1w
bGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KIGJvb2wgRnJhbWVXaW46OmNhbkdvQmFja09yRm9yd2Fy
ZChpbnQpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KK3ZvaWQgRnJhbWVX
aW46OmdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFuY2UpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQor
aW50IEZyYW1lV2luOjpnZXRIaXN0b3J5TGVuZ3RoKCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1
cm4gMDt9CitLVVJMIEZyYW1lV2luOjpoaXN0b3J5VVJMKGludCBkaXN0YW5jZSkgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gS1VSTCgpO30KIHZvaWQgRnJhbWVXaW46Omlzc3VlUGFzdGVBbmRN
YXRjaFN0eWxlQ29tbWFuZCgpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogS1VSTCBGcmFtZVdpbjo6
b3JpZ2luYWxSZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gS1VSTCgpOyB9CiBib29sIEZyYW1l
V2luOjppc0xvYWRUeXBlUmVsb2FkKCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gZmFsc2U7
IH0KQEAgLTI0MCwxMSArMjQzLDcgQEAgdW5zaWduZWQgUGx1Z0luSW5mb1N0b3JlOjpwbHVnaW5D
b3VudCgpIAogYm9vbCBQbHVnSW5JbmZvU3RvcmU6OnN1cHBvcnRzTUlNRVR5cGUoY29uc3QgU3Ry
aW5nJikgeyByZXR1cm4gZmFsc2U7IH0KIHZvaWQgcmVmcmVzaFBsdWdpbnMoYm9vbCkgeyB9CiAK
LXZvaWQgUmVzb3VyY2VIYW5kbGU6OmFzc2VtYmxlUmVzcG9uc2VIZWFkZXJzKCkgY29uc3QgeyB9
Ci12b2lkIFJlc291cmNlSGFuZGxlOjpyZXRyaWV2ZVJlc3BvbnNlRW5jb2RpbmcoKSBjb25zdCB7
fQotCi0KLVZlY3RvcjxjaGFyPiBTZXJ2ZVN5bmNocm9ub3VzUmVxdWVzdChMb2FkZXIqLCBEb2NM
b2FkZXIqLCBSZXNvdXJjZUhhbmRsZSosIEtVUkwmLCBEZXByZWNhdGVkU3RyaW5nJikgeyBub3RJ
bXBsZW1lbnRlZCgpOyByZXR1cm4gVmVjdG9yPGNoYXI+KCk7IH0KK1ZlY3RvcjxjaGFyPiBTZXJ2
ZVN5bmNocm9ub3VzUmVxdWVzdChMb2FkZXIqLCBEb2NMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBSZXNvdXJjZVJlc3BvbnNlJil7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBWZWN0
b3I8Y2hhcj4oKTsgfQogCiB2b2lkIENoZWNrQ2FjaGVPYmplY3RTdGF0dXMoRG9jTG9hZGVyKiwg
Q2FjaGVkUmVzb3VyY2UqKSB7IH0KIGJvb2wgQ2hlY2tJZlJlbG9hZGluZyhEb2NMb2FkZXIqKSB7
IHJldHVybiBmYWxzZTsgfQpAQCAtMjU4LDYgKzI1Nyw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OnNldFJlc3BvbnNlKFBsYXRmb3IKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEFsbERhdGEoUGxh
dGZvcm1EYXRhKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIAogSElOU1RBTkNFIFBhZ2U6OnNfaW5z
dGFuY2VIYW5kbGUgPSAwOworYm9vbCBQYWdlOjpjYW5SdW5Nb2RhbCgpIHsgcmV0dXJuIHRydWU7
IH0KK2Jvb2wgUGFnZTo6Y2FuUnVuTW9kYWxOb3coKSB7IHJldHVybiB0cnVlOyB9Cit2b2lkIFBh
Z2U6OnJ1bk1vZGFsKCkgeyB9CiAKIHZvaWQgV2lkZ2V0OjpzZXRFbmFibGVkKGJvb2wpIHsgfQog
dm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosSW50UmVjdCBjb25zdCYpIHsgfQpA
QCAtMzEyLDYgKzMxNCw3IEBAIHZvaWQgUGF0aDo6Y2xvc2VTdWJwYXRoKCkgeyB9CiB2b2lkIFBh
dGg6OmFkZEFyYyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgYm9vbCkg
eyB9CiB2b2lkIFBhdGg6OmFkZFJlY3QoY29uc3QgRmxvYXRSZWN0JikgeyB9CiB2b2lkIFBhdGg6
OmFkZEVsbGlwc2UoY29uc3QgRmxvYXRSZWN0JikgeyB9Cit2b2lkIFBhdGg6OnRyYW5zZm9ybShj
b25zdCBBZmZpbmVUcmFuc2Zvcm0mKSB7IH0KIAogVGV4dEZpZWxkOjpUZXh0RmllbGQoVGV4dEZp
ZWxkOjpUeXBlIHR5cGUpIHsgbV90eXBlID0gdHlwZTsgfQogVGV4dEZpZWxkOjp+VGV4dEZpZWxk
KCkgeyB9CkBAIC0zNjUsNiArMzY4LDcgQEAgUG9wdXBNZW51OjpQb3B1cE1lbnUoUmVuZGVyTWVu
dUxpc3QqKSB7IAogUG9wdXBNZW51Ojp+UG9wdXBNZW51KCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9
CiB2b2lkIFBvcHVwTWVudTo6c2hvdyhjb25zdCBJbnRSZWN0JiwgRnJhbWVWaWV3KiwgaW50IGlu
ZGV4KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIHZvaWQgUG9wdXBNZW51OjpoaWRlKCkgeyBub3RJ
bXBsZW1lbnRlZCgpOyB9Cit2b2lkIFBvcHVwTWVudTo6dXBkYXRlRnJvbUVsZW1lbnQoKSB7IG5v
dEltcGxlbWVudGVkKCk7IH0KIAogdm9pZCBSZW5kZXJUaGVtZVdpbjo6c3lzdGVtRm9udChpbnQg
cHJvcElkLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikgY29uc3Qge30KIGJvb2wg
UmVuZGVyVGhlbWVXaW46OnBhaW50TWVudUxpc3QoUmVuZGVyT2JqZWN0ICosIGNvbnN0IFJlbmRl
ck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIGZhbHNlOyB9CkBA
IC0zODQsNCArMzg4LDUgQEAgYm9vbCBJY29uRGF0YWJhc2U6Omhhc0VudHJ5Rm9ySWNvblVSTChj
bwogSWNvbkRhdGFiYXNlKiBJY29uRGF0YWJhc2U6OnNoYXJlZEljb25EYXRhYmFzZSgpIHsgcmV0
dXJuIDA7IH0KIGJvb2wgSWNvbkRhdGFiYXNlOjpzZXRJY29uVVJMRm9yUGFnZVVSTChjb25zdCBT
dHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcGFnZVVSTCkgeyByZXR1cm4gZmFsc2U7IH0K
IAordm9pZCBzeXN0ZW1CZWVwKCkge30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJKHJldmlzaW9uIDE3NTM2KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzgsMTAg
KzIzOCwxMCBAQCBib29sIFJlbmRlclRoZW1lV2luOjpwYWludEJ1dHRvbihSZW5kZXJPCiAgICAg
VGhlbWVEYXRhIHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsKICAgICAKICAgICAvLyBOb3cg
cGFpbnQgdGhlIGJ1dHRvbi4KLSAgICBIREMgaGRjID0gcHJlcGFyZUZvckRyYXdpbmcoaS5wKTsg
IAorICAgIEhEQyBoZGMgPSBwcmVwYXJlRm9yRHJhd2luZyhpLmNvbnRleHQpOyAgCiAgICAgUkVD
VCB3aWRnZXRSZWN0ID0gcjsKICAgICBkcmF3VGhlbWVCRyhtX2J1dHRvblRoZW1lLCBoZGMsIHRo
ZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCAmd2lkZ2V0UmVjdCwgTlVMTCk7Ci0g
ICAgZG9uZURyYXdpbmcoaS5wLCBoZGMpOworICAgIGRvbmVEcmF3aW5nKGkuY29udGV4dCwgaGRj
KTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTI4OSwxMCArMjg5LDEwIEBAIGJvb2wgUmVu
ZGVyVGhlbWVXaW46OnBhaW50VGV4dEZpZWxkKFJlbmQKICAgICBUaGVtZURhdGEgdGhlbWVEYXRh
ID0gZ2V0VGhlbWVEYXRhKG8pOwogICAgIAogICAgIC8vIE5vdyBwYWludCB0aGUgdGV4dCBmaWVs
ZC4KLSAgICBIREMgaGRjID0gcHJlcGFyZUZvckRyYXdpbmcoaS5wKTsKKyAgICBIREMgaGRjID0g
cHJlcGFyZUZvckRyYXdpbmcoaS5jb250ZXh0KTsKICAgICBSRUNUIHdpZGdldFJlY3QgPSByOwog
ICAgIGRyYXdUaGVtZUJHKG1fdGV4dEZpZWxkVGhlbWUsIGhkYywgdGhlbWVEYXRhLm1fcGFydCwg
dGhlbWVEYXRhLm1fc3RhdGUsICZ3aWRnZXRSZWN0LCBOVUxMKTsKLSAgICBkb25lRHJhd2luZyhp
LnAsIGhkYyk7CisgICAgZG9uZURyYXdpbmcoaS5jb250ZXh0LCBoZGMpOwogCiAgICAgcmV0dXJu
IGZhbHNlOwogfQpJbmRleDogV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNzUzNikKKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAwNi0xMS0wMiAgQmVydHJhbmQgR3VpaGVuZXVmIDxn
dWloZW5ldWZAZ21haWwuY29tPgorICAgICAgICAqIFdlYktpdC9XZWJLaXQudmNwcm9qL1dlYktp
dC52Y3Byb2ogCisgICAgICAgIEFkZGVkIHBsYXRmb3JtL2dyYXBoaWNzIHBsYXRmb3JtL25ldHdv
cmsgYW5kIHBsYXRmb3JtL25ldHdvcmsvd2luIAorICAgICAgICAgIHRvIGhlYWRlcnMgc2VhcmNo
IHBhdGhzCisKKyAgICAgICAgKiBXZWJLaXQvQ09NL1dlYkZyYW1lLmNwcAorICAgICAgICBVc2Ug
cmVzb3VyY2UgaGFuZGxlcyBub3cuIERvIG5vdCBzdGFydCBkb2MgbG9hZGVyIGJ5IGhhbmQgYW55
bW9yZS4gCisgICAgICAgIEhhbmRsZSBkaWRSZWNlaXZlRGF0YSgpIGNhbGxiYWNrIGluc3RlYWQg
b2YgcmVjZWl2ZWREYXRhKCkgd2hpY2ggCisgICAgICAgICAgaXMgZGVwcmVjYXRlZCBpbiBpbXBs
ZW1lbnRhdGlvbiBvZiBSZXNvdXJjZUhhbmRsZUNsaWVudCAgICAgICAgCisgICAgICAgICogV2Vi
S2l0L0NPTS9XZWJGcmFtZS5oCisgICAgICAgICogV2ViS2l0L0NPTS9XZWJGcmFtZS5jcHAKKyAg
ICAgICAgKiBXZWJLaXQvQ09NL1dlYlZpZXcuY3BwCisgICAgICAgIEFwcGxpZWQgUmVzb3VyY2VM
b2FkZXIgLS0+IFJlc291cmNlSGFuZGxlIHJlbmFtaW5nCisgICAgICAgIAorCiAyMDA2LTExLTAx
ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gUm9iZW4KSW5kZXg6IFdlYktpdC9DT00vV2ViRnJhbWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9DT00vV2ViRnJhbWUuY3BwCShyZXZpc2lvbiAxNzUzNikKKysrIFdlYktpdC9D
T00vV2ViRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiV2ViSGlzdG9yeUl0ZW0uaCIKIAogI3ByYWdtYSB3YXJuaW5nKCBwdXNoLCAwICkKLSNpbmNs
dWRlICJCcm93c2VyRXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtNDUsOCArNDQsOSBAQAogI2lu
Y2x1ZGUgIlJlbmRlckZyYW1lLmgiCiAjaW5jbHVkZSAiY2Fpcm8uaCIKICNpbmNsdWRlICJjYWly
by13aW4zMi5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkZXJXaW4uaCIKKyNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlV2luLmgiCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjcHJhZ21hIHdh
cm5pbmcocG9wKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTEzNiw3ICsxMzYsNyBA
QCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjppbml0CiAgICAgICAgIHJldHVy
biBocjsKIAogICAgIFBhZ2UqIHBhZ2UgPSBuZXcgUGFnZSgpOwotICAgIEZyYW1lKiBmcmFtZSA9
IG5ldyBGcmFtZVdpbihwYWdlLCAwLCB0aGlzKTsKKyAgICBGcmFtZSogZnJhbWUgPSBuZXcgRnJh
bWVXaW4ocGFnZSwgMCwgMCwgdGhpcyk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBpcyBvbmUtdGlt
ZSBpbml0aWFsaXphdGlvbiwgYnV0IGl0IGdldHMgdGhlIHZhbHVlIG9mIHRoZSBzZXR0aW5nIGZy
b20gdGhlCiAgICAgLy8gY3VycmVudCBXZWJWaWV3LiBUaGF0J3MgYSBtaXNtYXRjaCBhbmQgbm90
IGdvb2QhCkBAIC0zODAsMTAgKzM4MCwxMCBAQCBIUkVTVUxUIFdlYkZyYW1lOjpsb2FkRGF0YVNv
dXJjZShXZWJEYXRhCiAgICAgICAgICAgICAgICAgICAgIFdlYk11dGFibGVVUkxSZXF1ZXN0KiBy
ZXF1ZXN0SW1wbCA9IHN0YXRpY19jYXN0PFdlYk11dGFibGVVUkxSZXF1ZXN0Kj4ocmVxdWVzdCk7
CiAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhID0gcmVxdWVzdEltcGwtPmZvcm1EYXRhKCk7
CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRl
cj4gbG9hZGVyID0gZm9ybURhdGEgPwotICAgICAgICAgICAgICAgICAgUmVzb3VyY2VMb2FkZXI6
OmNyZWF0ZSh0aGlzLCBtZXRob2RTdHJpbmcsIGt1cmwsICpmb3JtRGF0YSkgOgotICAgICAgICAg
ICAgICAgICAgUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSh0aGlzLCBtZXRob2RTdHJpbmcsIGt1cmwp
OwotICAgICAgICAgICAgICAgIGxvYWRlci0+c3RhcnQoZC0+ZnJhbWUtPmRvY3VtZW50KCktPmRv
Y0xvYWRlcigpKTsKKworICAgICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJl
cXVlc3Qoa3VybCk7CisgICAgICAgICAgICAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBsb2Fk
ZXIgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCwgdGhpcywgZC0+ZnJh
bWUtPmRvY3VtZW50KCktPmRvY0xvYWRlcigpKTsKKwogICAgICAgICAgICAgICAgIElXZWJGcmFt
ZUxvYWREZWxlZ2F0ZSogZnJhbWVMb2FkRGVsZWdhdGU7CiAgICAgICAgICAgICAgICAgaWYgKFNV
Q0NFRURFRChkLT53ZWJWaWV3LT5mcmFtZUxvYWREZWxlZ2F0ZSgmZnJhbWVMb2FkRGVsZWdhdGUp
KSkgewogICAgICAgICAgICAgICAgICAgICBmcmFtZUxvYWREZWxlZ2F0ZS0+ZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JGcmFtZShkLT53ZWJWaWV3LCB0aGlzKTsKQEAgLTQ2MSw5ICs0NjEsOSBA
QCBpbnQgV2ViRnJhbWU6OmdldE9iamVjdENhY2hlU2l6ZSgpCiAgICAgcmV0dXJuIGNhY2hlU2l6
ZSAqIG11bHRpcGxpZXI7CiB9CiAKLS8vIFJlc291cmNlTG9hZGVyQ2xpZW50CisvLyBSZXNvdXJj
ZUhhbmRsZUNsaWVudAogCi12b2lkIFdlYkZyYW1lOjpyZWNlaXZlZFJlZGlyZWN0KFJlc291cmNl
TG9hZGVyKiwgY29uc3QgS1VSTCYgdXJsKQordm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRSZWRpcmVj
dChSZXNvdXJjZUhhbmRsZSosIGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICBEZXByZWNhdGVkU3Ry
aW5nIHVybFN0cih1cmwudXJsKCkpOwogICAgIHVybFN0ci5hcHBlbmQoJ1wwJyk7CkBAIC00ODYs
NyArNDg2LDcgQEAgdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRSZWRpcmVjdChSZXNvdXJjZQogICAg
IH0KIH0KIAotdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRSZXNwb25zZShSZXNvdXJjZUxvYWRlciog
am9iLCBQbGF0Zm9ybVJlc3BvbnNlKQordm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRSZXNwb25zZShS
ZXNvdXJjZUhhbmRsZSogam9iLCBQbGF0Zm9ybVJlc3BvbnNlKQogewogICAgIC8vIENvbW1pdCB0
aGUgcHJvdmlzaW9uYWwgZGF0YSBzb3VyY2UKIApAQCAtNTM0LDcgKzUzNCw3IEBAIHZvaWQgV2Vi
RnJhbWU6OnJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2UKICAgICB9CiB9CiAKLXZvaWQgV2ViRnJh
bWU6OnJlY2VpdmVkRGF0YShSZXNvdXJjZUxvYWRlciosIGNvbnN0IGNoYXIqIGRhdGEsIGludCBs
ZW5ndGgpCit2b2lkIFdlYkZyYW1lOjpkaWRSZWNlaXZlRGF0YShXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZSosIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiB7CiAgICAgLy8gRW5zdXJlIHRo
YXQgV2ViRnJhbWU6OnJlY2VpdmVkUmVzcG9uc2Ugd2FzIGNhbGxlZC4KICAgICBfQVNTRVJUKG1f
ZGF0YVNvdXJjZSAmJiAhbV9wcm92aXNpb25hbERhdGFTb3VyY2UpOwpAQCAtNTQyLDEzICs1NDIs
MTMgQEAgdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWREYXRhKFJlc291cmNlTG9hZAogICAgIGQtPmZy
YW1lLT53cml0ZShkYXRhLCBsZW5ndGgpOwogfQogCi12b2lkIFdlYkZyYW1lOjpyZWNlaXZlZEFs
bERhdGEoUmVzb3VyY2VMb2FkZXIqIC8qam9iKi8pCit2b2lkIFdlYkZyYW1lOjpyZWNlaXZlZEFs
bERhdGEoUmVzb3VyY2VIYW5kbGUqIC8qam9iKi8pCiB7CiAgICAgbV9xdWlja1JlZGlyZWN0Q29t
aW5nID0gZmFsc2U7CiAgICAgbV9sb2FkVHlwZSA9IFdlYkZyYW1lTG9hZFR5cGVTdGFuZGFyZDsK
IH0KIAotdm9pZCBXZWJGcmFtZTo6cmVjZWl2ZWRBbGxEYXRhKFJlc291cmNlTG9hZGVyKiwgUGxh
dGZvcm1EYXRhIGRhdGEpCit2b2lkIFdlYkZyYW1lOjpyZWNlaXZlZEFsbERhdGEoUmVzb3VyY2VI
YW5kbGUqLCBQbGF0Zm9ybURhdGEgZGF0YSkKIHsKICAgICBJV2ViRnJhbWVMb2FkRGVsZWdhdGUq
IGZyYW1lTG9hZERlbGVnYXRlOwogICAgIGlmIChTVUNDRUVERUQoZC0+d2ViVmlldy0+ZnJhbWVM
b2FkRGVsZWdhdGUoJmZyYW1lTG9hZERlbGVnYXRlKSkpIHsKSW5kZXg6IFdlYktpdC9DT00vV2Vi
RnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvQ09NL1dlYkZyYW1lLmgJKHJldmlzaW9uIDE3
NTM2KQorKysgV2ViS2l0L0NPTS9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICsz
MSw3IEBACiAjaW5jbHVkZSAiV2ViRGF0YVNvdXJjZS5oIgogCiAjcHJhZ21hIHdhcm5pbmcocHVz
aCwgMCkKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVXaW4uaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI3ByYWdtYSB3YXJuaW5nKHBvcCkKQEAgLTUzLDcgKzUzLDcgQEAgdHlw
ZWRlZiBlbnVtIHsKICAgICBXZWJGcmFtZUxvYWRUeXBlUmVwbGFjZQogfSBXZWJGcmFtZUxvYWRU
eXBlOwogCi1jbGFzcyBXZWJGcmFtZSA6IHB1YmxpYyBJV2ViRnJhbWUsIHB1YmxpYyBXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIFdlYkNvcmU6OkZyYW1lV2luQ2xpZW50Citj
bGFzcyBXZWJGcmFtZSA6IHB1YmxpYyBJV2ViRnJhbWUsIHB1YmxpYyBXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZUNsaWVudCwgcHVibGljIFdlYkNvcmU6OkZyYW1lV2luQ2xpZW50CiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYkZyYW1lKiBjcmVhdGVJbnN0YW5jZSgpOwpAQCAtMTMwLDEyICsxMzAs
MTIgQEAgcHVibGljOgogICAgICAgICAvKiBbb3V0XSAqLyBpbnQgKmZyYW1lQ291bnQsCiAgICAg
ICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVdlYkZyYW1lICoqKmZyYW1lcyk7CiAKLSAgICAvLyBS
ZXNvdXJjZUxvYWRlckNsaWVudAotICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZFJlZGlyZWN0KFdl
YkNvcmU6OlJlc291cmNlTG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwotICAgIHZpcnR1
YWwgdm9pZCByZWNlaXZlZFJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgV2ViQ29y
ZTo6UGxhdGZvcm1SZXNwb25zZSk7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkRGF0YShXZWJD
b3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IGNoYXIqLCBpbnQpOwotICAgIHZpcnR1YWwgdm9p
ZCByZWNlaXZlZEFsbERhdGEoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqKTsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVjZWl2ZWRBbGxEYXRhKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgV2ViQ29yZTo6
UGxhdGZvcm1EYXRhKTsKKyAgICAvLyBSZXNvdXJjZUhhbmRsZUNsaWVudAorICAgIHZpcnR1YWwg
dm9pZCByZWNlaXZlZFJlZGlyZWN0KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2Vi
Q29yZTo6S1VSTCYpOworICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZFJlc3BvbnNlKFdlYkNvcmU6
OlJlc291cmNlSGFuZGxlKiwgV2ViQ29yZTo6UGxhdGZvcm1SZXNwb25zZSk7CisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVEYXRhKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgY2hh
ciosIGludCk7CisgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQWxsRGF0YShXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZSopOworICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZEFsbERhdGEoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGUqLCBXZWJDb3JlOjpQbGF0Zm9ybURhdGEpOwogCiAgICAgLy8gRnJhbWVX
aW5DbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlTmV3V2luZG93KGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgV2ViQ29y
ZTo6RnJhbWUqJiBuZXdGcmFtZSk7CkluZGV4OiBXZWJLaXQvQ09NL1dlYlZpZXcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9DT00vV2ViVmlldy5jcHAJKHJldmlzaW9uIDE3NTM2KQorKysgV2Vi
S2l0L0NPTS9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgogCiAjcHJhZ21hIHdhcm5pbmcoIHB1c2gsIDAg
KQotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VI
YW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZVdpbi5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkluZGV4OiBXZWJLaXQvV2ViS2l0LnZjcHJvai9X
ZWJLaXQudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJLaXQudmNwcm9qL1dlYktpdC52
Y3Byb2oJKHJldmlzaW9uIDE3NTM2KQorKysgV2ViS2l0L1dlYktpdC52Y3Byb2ovV2ViS2l0LnZj
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMSwzMjAgKzEsMzIwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0Ci0JUHJv
amVjdFR5cGU9IlZpc3VhbCBDKysiCi0JVmVyc2lvbj0iOC4wMCIKLQlOYW1lPSJXZWJLaXQiCi0J
UHJvamVjdEdVSUQ9InswNjYyQThBOS04MkEzLTQ2MzgtOTdEOC1FQzQyNUQ4RDg3Qzl9IgotCVJv
b3ROYW1lc3BhY2U9IldlYktpdCIKLQlLZXl3b3JkPSJXaW4zMlByb2oiCi0JPgotCTxQbGF0Zm9y
bXM+Ci0JCTxQbGF0Zm9ybQotCQkJTmFtZT0iV2luMzIiCi0JCS8+Ci0JPC9QbGF0Zm9ybXM+Ci0J
PFRvb2xGaWxlcz4KLQk8L1Rvb2xGaWxlcz4KLQk8Q29uZmlndXJhdGlvbnM+Ci0JCTxDb25maWd1
cmF0aW9uCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCU91dHB1dERpcmVjdG9yeT0iJChXZWJL
aXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiIKLQkJCUludGVybWVk
aWF0ZURpcmVjdG9yeT0iJChXZWJLaXRPdXRwdXREaXIpXFdlYktpdFdpbi5pbnRlcm1lZGlhdGVc
JChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luLmludGVybWVkaWF0ZSIKLQkJCUNvbmZpZ3Vy
YXRpb25UeXBlPSIyIgotCQkJQ2hhcmFjdGVyU2V0PSIxIgotCQkJPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkND
dXN0b21CdWlsZFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5l
cmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlH
ZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJT3B0aW1pemF0
aW9uPSIwIgotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVj
dERpcilcLi5cQ09NJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcbG9hZGVyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGVjbWEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxXZWJDb3JlXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
XGtodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxjc3MmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXG1pc2MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cV2ViQ29yZVxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZVxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3Jt
XGNhaXJvXGNhaXJvXHNyYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVc
cGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxyZW5k
ZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGVkaXRpbmcmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGRvbSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5cV2ViQ29yZVxrd3EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29udiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbDImcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEph
dmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENv
cmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29y
ZVx3dGYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXEZvcndhcmRpbmdI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVxXZWJLaXRXaW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OyIKLQkJCQlQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19XSU5ET1dTO19VU1JETEw7V0VCS0lUX0VY
UE9SVFM7X1dJTjMyX1dJTk5UPTB4NTAwO19TQ0xfU0VDVVJFX05PX0RFUFJFQ0FURSIKLQkJCQlN
aW5pbWFsUmVidWlsZD0idHJ1ZSIKLQkJCQlFeGNlcHRpb25IYW5kbGluZz0iMCIKLQkJCQlCYXNp
Y1J1bnRpbWVDaGVja3M9IjMiCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiCi0JCQkJUnVudGltZVR5
cGVJbmZvPSJmYWxzZSIKLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMCIKLQkJCQlXYXJuaW5n
TGV2ZWw9IjQiCi0JCQkJV2FybkFzRXJyb3I9InRydWUiCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJp
bGl0eVByb2JsZW1zPSJ0cnVlIgotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiCi0JCQkv
PgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkJQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNQcmVMaW5rRXZlbnRUb29sIgotCQkJCUNvbW1hbmRMaW5lPSJ4Y29weSAvciAveSAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWNvbnYuZGxsJnF1b3Q7ICZx
dW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY3VkdDM0LmRsbCZxdW90OyAmcXVv
dDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1dWMzNC5kbGwmcXVvdDsgJnF1b3Q7
JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGxpYnhtbDIuZGxsJnF1b3Q7ICZxdW90OyQo
VGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4c2x0LmRsbCZxdW90OyAmcXVvdDskKFRh
cmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcemxpYjEuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0
RGlyKSZxdW90OyYjeDBEOyYjeDBBOyIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlu
a2VyVG9vbCIKLQkJCQlSZWdpc3Rlck91dHB1dD0idHJ1ZSIKLQkJCQlMaW5rTGlicmFyeURlcGVu
ZGVuY2llcz0idHJ1ZSIKLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjb21jdGwzMi5saWIg
d2luaW5ldC5saWIgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29udlxsaWJcaWNvbnYubGli
JnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieG1sXGxpYlxsaWJ4bWwyLmxpYiZx
dW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhzbHRcbGliXGxpYnhzbHQubGliJnF1
b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGxpYlxpY3V1Yy5saWImcXVvdDsiCi0J
CQkJTGlua0luY3JlbWVudGFsPSIyIgotCQkJCU1vZHVsZURlZmluaXRpb25GaWxlPSJXZWJLaXQu
ZGVmIgotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSIKLQkJCQlTdWJTeXN0ZW09
IjIiCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
QUxpbmtUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiCi0J
CQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIgotCQkJLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
RnhDb3BUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIgotCQkJLz4K
LQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCi0JCQkJQ29tbWFuZExp
bmU9IiIKLQkJCS8+Ci0JCTwvQ29uZmlndXJhdGlvbj4KLQkJPENvbmZpZ3VyYXRpb24KLQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCi0JCQlPdXRwdXREaXJlY3Rvcnk9IiQoV2ViS2l0T3V0cHV0RGly
KVwkKENvbmZpZ3VyYXRpb25OYW1lKVxXZWJLaXRXaW4iCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rv
cnk9IiQoV2ViS2l0T3V0cHV0RGlyKVxXZWJLaXRXaW4uaW50ZXJtZWRpYXRlXCQoQ29uZmlndXJh
dGlvbk5hbWUpXFdlYktpdFdpbi5pbnRlcm1lZGlhdGUiCi0JCQlDb25maWd1cmF0aW9uVHlwZT0i
MiIKLQkJCUNoYXJhY3RlclNldD0iMSIKLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSIK
LQkJCT4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0J
CQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJ
CU5hbWU9IlZDTUlETFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVj
dERpcilcLi5cQ09NJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcbG9hZGVyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxraHRtbFxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGVjbWEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlwuLlxXZWJDb3JlXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
XGtodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxjc3MmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXG1pc2MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cV2ViQ29yZVxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cLi5cV2ViQ29yZVxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3Jt
XGNhaXJvXGNhaXJvXHNyYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVc
cGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxyZW5k
ZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGVkaXRpbmcmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGRvbSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5cV2ViQ29yZVxrd3EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29udiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhtbDImcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEph
dmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENv
cmVcb3Mtd2luMzImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29y
ZVx3dGYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXEZvcndhcmRpbmdI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVxXZWJLaXRXaW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OyIKLQkJCQlQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19XSU5ET1dTO19VU1JETEw7V0VCS0lUX0VY
UE9SVFM7X1dJTjMyX1dJTk5UPTB4NTAwO19TQ0xfU0VDVVJFX05PX0RFUFJFQ0FURSIKLQkJCQlF
eGNlcHRpb25IYW5kbGluZz0iMCIKLQkJCQlSdW50aW1lTGlicmFyeT0iMiIKLQkJCQlSdW50aW1l
VHlwZUluZm89ImZhbHNlIgotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIwIgotCQkJCVdhcm5p
bmdMZXZlbD0iNCIKLQkJCQlXYXJuQXNFcnJvcj0idHJ1ZSIKLQkJCQlEZXRlY3Q2NEJpdFBvcnRh
YmlsaXR5UHJvYmxlbXM9InRydWUiCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCQlB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1ByZUxpbmtFdmVudFRvb2wiCi0JCQkJQ29tbWFuZExpbmU9Inhjb3B5IC9yIC95ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY29udi5kbGwmcXVvdDsg
JnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGljdWR0MzQuZGxsJnF1b3Q7ICZx
dW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY3V1YzM0LmRsbCZxdW90OyAmcXVv
dDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcbGlieG1sMi5kbGwmcXVvdDsgJnF1b3Q7
JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGxpYnhzbHQuZGxsJnF1b3Q7ICZxdW90OyQo
VGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVx6bGliMS5kbGwmcXVvdDsgJnF1b3Q7JChUYXJn
ZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNM
aW5rZXJUb29sIgotCQkJCVJlZ2lzdGVyT3V0cHV0PSJ0cnVlIgotCQkJCUxpbmtMaWJyYXJ5RGVw
ZW5kZW5jaWVzPSJ0cnVlIgotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxp
YiB3aW5pbmV0LmxpYiAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljb252XGxpYlxpY29udi5s
aWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4bWxcbGliXGxpYnhtbDIubGli
JnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieHNsdFxsaWJcbGlieHNsdC5saWIm
cXVvdDsgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY3VcbGliXGljdXVjLmxpYiZxdW90OyIK
LQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiCi0JCQkJTW9kdWxlRGVmaW5pdGlvbkZpbGU9IldlYktp
dC5kZWYiCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJ0cnVlIgotCQkJCVN1YlN5c3Rl
bT0iMiIKLQkJCQlPcHRpbWl6ZVJlZmVyZW5jZXM9IjIiCi0JCQkJRW5hYmxlQ09NREFURm9sZGlu
Zz0iMiIKLQkJCQlUYXJnZXRNYWNoaW5lPSIxIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNBTGlua1Rvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNGeENvcFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiCi0JCQkv
PgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCTwv
Q29uZmlndXJhdGlvbj4KLQk8L0NvbmZpZ3VyYXRpb25zPgotCTxSZWZlcmVuY2VzPgotCTwvUmVm
ZXJlbmNlcz4KLQk8RmlsZXM+Ci0JCTxGaWx0ZXIKLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyIKLQkJ
CUZpbHRlcj0iY3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiCi0JCQlV
bmlxdWVJZGVudGlmaWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSIK
LQkJCT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXFdlYktpdC5kZWYiCi0JCQkJPgot
CQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJLaXRDbGFz
c0ZhY3RvcnkuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxDT01cV2ViS2l0RExMLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCTwvRmlsdGVy
PgotCQk8RmlsdGVyCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiCi0JCQlGaWx0ZXI9Img7aHBwO2h4
eDtobTtpbmw7aW5jO3hzZCIKLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4MC04OUJELTRi
MDQtODhFQi02MjVGQkU1MkVCRkJ9IgotCQkJPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii5cYXV0b3ZlcnNpb24uaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLlxyZXNvdXJjZS5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViQmFja0ZvcndhcmRMaXN0LmgiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJEYXRhU291cmNlLmgi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxX
ZWJGcmFtZS5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxDT01cV2ViSGlzdG9yeUl0ZW0uaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYkljb25EYXRhYmFzZS5oIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0Q2xhc3NGYWN0
b3J5LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XENPTVxXZWJLaXRETEwuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cQ09NXFdlYk11dGFibGVVUkxSZXF1ZXN0LmgiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJWaWV3LmgiCi0JCQkJPgot
CQkJPC9GaWxlPgotCQk8L0ZpbHRlcj4KLQkJPEZpbHRlcgotCQkJTmFtZT0iQ2xhc3NlcyIKLQkJ
CT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViQmFja0ZvcndhcmRMaXN0
LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Q09NXFdlYkRhdGFTb3VyY2UuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRnJhbWUuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViSGlzdG9yeUl0ZW0uY3BwIgotCQkJ
CT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViSWNv
bkRhdGFiYXNlLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cQ09NXFdlYk11dGFibGVVUkxSZXF1ZXN0LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYlZpZXcuY3BwIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJPC9GaWx0ZXI+Ci0JCTxGaWx0ZXIKLQkJCU5hbWU9IlJlc291cmNlcyIK
LQkJCT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXG1pc3NpbmdJbWFnZS5wbmciCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cdGV4dEFyZWFS
ZXNpemVDb3JuZXIucG5nIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuXFdlYktpdC5yYyIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLlxXZWJLaXQudGxiIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJPC9GaWx0ZXI+
Ci0JCTxGaWxlCi0JCQlSZWxhdGl2ZVBhdGg9Ii5ccG5nMS5iaW4iCi0JCQk+Ci0JCTwvRmlsZT4K
LQk8L0ZpbGVzPgotCTxHbG9iYWxzPgotCTwvR2xvYmFscz4KLTwvVmlzdWFsU3R1ZGlvUHJvamVj
dD4KKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KKzxWaXN1
YWxTdHVkaW9Qcm9qZWN0DQorCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KKwlWZXJzaW9uPSI4
LjAwIg0KKwlOYW1lPSJXZWJLaXQiDQorCVByb2plY3RHVUlEPSJ7MDY2MkE4QTktODJBMy00NjM4
LTk3RDgtRUM0MjVEOEQ4N0M5fSINCisJUm9vdE5hbWVzcGFjZT0iV2ViS2l0Ig0KKwlLZXl3b3Jk
PSJXaW4zMlByb2oiDQorCT4NCisJPFBsYXRmb3Jtcz4NCisJCTxQbGF0Zm9ybQ0KKwkJCU5hbWU9
IldpbjMyIg0KKwkJLz4NCisJPC9QbGF0Zm9ybXM+DQorCTxUb29sRmlsZXM+DQorCTwvVG9vbEZp
bGVzPg0KKwk8Q29uZmlndXJhdGlvbnM+DQorCQk8Q29uZmlndXJhdGlvbg0KKwkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KKwkJCU91dHB1dERpcmVjdG9yeT0iJChXZWJLaXRPdXRwdXREaXIpXCQoQ29u
ZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiINCisJCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQo
V2ViS2l0T3V0cHV0RGlyKVxXZWJLaXRXaW4uaW50ZXJtZWRpYXRlXCQoQ29uZmlndXJhdGlvbk5h
bWUpXFdlYktpdFdpbi5pbnRlcm1lZGlhdGUiDQorCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQor
CQkJQ2hhcmFjdGVyU2V0PSIxIg0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUJ1
aWxkRXZlbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDdXN0b21CdWls
ZFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5l
cmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNSURMVG9vbCINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCU9wdGlt
aXphdGlvbj0iMCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxDT00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxsb2FkZXImcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcZWNtYSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVcaHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdl
YkNvcmVca2h0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGNzcyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVca2h0bWxcbWlzYyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGJyaWRnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxXZWJDb3JlXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxX
ZWJDb3JlXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxh
dGZvcm1cY2Fpcm9cY2Fpcm9cc3JjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2Vi
Q29yZVxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
XHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
XHBsYXRmb3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2Vi
Q29yZVxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdl
YkNvcmVccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxl
ZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxkb20mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHhtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXC4uXFdlYkNvcmVca3dxJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
aWNvbnYmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxsaWJ4bWwyJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEph
dmFTY3JpcHRDb3JlXG9zLXdpbjMyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2
YVNjcmlwdENvcmVcd3RmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxG
b3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1
cmF0aW9uTmFtZSlcV2ViS2l0V2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikmcXVvdDsiDQor
CQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7X1dJTkRPV1M7X1VTUkRM
TDtXRUJLSVRfRVhQT1JUUztfV0lOMzJfV0lOTlQ9MHg1MDA7X1NDTF9TRUNVUkVfTk9fREVQUkVD
QVRFIg0KKwkJCQlNaW5pbWFsUmVidWlsZD0idHJ1ZSINCisJCQkJRXhjZXB0aW9uSGFuZGxpbmc9
IjAiDQorCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyINCisJCQkJUnVudGltZUxpYnJhcnk9IjMi
DQorCQkJCVJ1bnRpbWVUeXBlSW5mbz0iZmFsc2UiDQorCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVy
PSIwIg0KKwkJCQlXYXJuaW5nTGV2ZWw9IjQiDQorCQkJCVdhcm5Bc0Vycm9yPSJ0cnVlIg0KKwkJ
CQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9InRydWUiDQorCQkJCURlYnVnSW5mb3Jt
YXRpb25Gb3JtYXQ9IjMiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmFnZWRS
ZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUmVz
b3VyY2VDb21waWxlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCisJCQkJ
Q29tbWFuZExpbmU9Inhjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZp
Z3VyYXRpb25OYW1lKVxpY29udi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJh
dGlvbk5hbWUpXGljdWR0MzQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRp
b25OYW1lKVxpY3V1YzM0LmRsbCZxdW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9u
TmFtZSlcbGlieG1sMi5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3IgL3kgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5h
bWUpXGxpYnhzbHQuZGxsJnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC9yIC95ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVx6bGliMS5kbGwmcXVvdDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlSZWdpc3Rl
ck91dHB1dD0idHJ1ZSINCisJCQkJTGlua0xpYnJhcnlEZXBlbmRlbmNpZXM9InRydWUiDQorCQkJ
CUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiB3aW5pbmV0LmxpYiAmcXVvdDsk
KFByb2plY3REaXIpXC4uXC4uXGljb252XGxpYlxpY29udi5saWImcXVvdDsgJnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlwuLlxsaWJ4bWxcbGliXGxpYnhtbDIubGliJnF1b3Q7ICZxdW90OyQoUHJvamVj
dERpcilcLi5cLi5cbGlieHNsdFxsaWJcbGlieHNsdC5saWImcXVvdDsgJnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlwuLlxpY3VcbGliXGljdXVjLmxpYiZxdW90OyINCisJCQkJTGlua0luY3JlbWVudGFs
PSIyIg0KKwkJCQlNb2R1bGVEZWZpbml0aW9uRmlsZT0iV2ViS2l0LmRlZiINCisJCQkJR2VuZXJh
dGVEZWJ1Z0luZm9ybWF0aW9uPSJ0cnVlIg0KKwkJCQlTdWJTeXN0ZW09IjIiDQorCQkJCVRhcmdl
dE1hY2hpbmU9IjEiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQor
CQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q0Z4Q29wVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJ
CQlDb21tYW5kTGluZT0iIg0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+DQorCQk8Q29uZmln
dXJhdGlvbg0KKwkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luIg0KKwkJCUlu
dGVybWVkaWF0ZURpcmVjdG9yeT0iJChXZWJLaXRPdXRwdXREaXIpXFdlYktpdFdpbi5pbnRlcm1l
ZGlhdGVcJChDb25maWd1cmF0aW9uTmFtZSlcV2ViS2l0V2luLmludGVybWVkaWF0ZSINCisJCQlD
b25maWd1cmF0aW9uVHlwZT0iMiINCisJCQlDaGFyYWN0ZXJTZXQ9IjEiDQorCQkJV2hvbGVQcm9n
cmFtT3B0aW1pemF0aW9uPSIxIg0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUJ1
aWxkRXZlbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDdXN0b21CdWls
ZFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5l
cmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNSURMVG9vbCINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCUFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcilcLi5cQ09NJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXC4uXFdlYkNvcmVcbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5c
V2ViQ29yZVxraHRtbFxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3Jl
XGtodG1sXGVjbWEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGh0bWwm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGtodG1sJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlwuLlxXZWJDb3JlXGtodG1sXG1pc2MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwu
LlxXZWJDb3JlXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29y
ZVxicmlkZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwYWdl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxicmlkZ2UmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHBsYXRmb3JtXGNhaXJvXGNhaXJvXHNyYyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cV2ViQ29yZVxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVccGxhdGZvcm1cZ3JhcGhpY3Mm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXHJlbmRlcmluZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcZWRpdGluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXC4uXFdlYkNvcmVcZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
Li5cV2ViQ29yZVx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxXZWJDb3JlXGt3
cSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGljb252JnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cLi5cbGlieG1sMiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGlj
dVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cSmF2YVNjcmlwdENvcmUm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4zMiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXEphdmFTY3JpcHRDb3JlXHd0ZiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXC4uXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXFdlYktpdFdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpJnF1b3Q7Ig0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz0iV0lOMzI7TkRFQlVHO19XSU5ET1dTO19VU1JETEw7V0VCS0lUX0VYUE9SVFM7X1dJTjMy
X1dJTk5UPTB4NTAwO19TQ0xfU0VDVVJFX05PX0RFUFJFQ0FURSINCisJCQkJRXhjZXB0aW9uSGFu
ZGxpbmc9IjAiDQorCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KKwkJCQlSdW50aW1lVHlwZUluZm89
ImZhbHNlIg0KKwkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMCINCisJCQkJV2FybmluZ0xldmVs
PSI0Ig0KKwkJCQlXYXJuQXNFcnJvcj0idHJ1ZSINCisJCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0
eVByb2JsZW1zPSJ0cnVlIg0KKwkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KKwkJCS8+
DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJ
CQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJ
CQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSJ4Y29weSAvciAv
eSAmcXVvdDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWNvbnYuZGxs
JnF1b3Q7ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxpY3VkdDM0LmRsbCZx
dW90OyAmcXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcaWN1dWMzNC5kbGwmcXVv
dDsgJnF1b3Q7JChUYXJnZXREaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3IgL3kgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXCQoQ29uZmlndXJhdGlvbk5hbWUpXGxpYnhtbDIuZGxsJnF1b3Q7
ICZxdW90OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC9yIC95ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVwkKENvbmZpZ3VyYXRpb25OYW1lKVxsaWJ4c2x0LmRsbCZxdW90OyAm
cXVvdDskKFRhcmdldERpcikmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAvciAveSAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcJChDb25maWd1cmF0aW9uTmFtZSlcemxpYjEuZGxsJnF1b3Q7ICZxdW90
OyQoVGFyZ2V0RGlyKSZxdW90OyYjeDBEOyYjeDBBOyINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDTGlua2VyVG9vbCINCisJCQkJUmVnaXN0ZXJPdXRwdXQ9InRydWUiDQorCQkJCUxp
bmtMaWJyYXJ5RGVwZW5kZW5jaWVzPSJ0cnVlIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PSJjb21jdGwzMi5saWIgd2luaW5ldC5saWIgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlwuLlxpY29u
dlxsaWJcaWNvbnYubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5cbGlieG1sXGxp
YlxsaWJ4bWwyLmxpYiZxdW90OyAmcXVvdDskKFByb2plY3REaXIpXC4uXC4uXGxpYnhzbHRcbGli
XGxpYnhzbHQubGliJnF1b3Q7ICZxdW90OyQoUHJvamVjdERpcilcLi5cLi5caWN1XGxpYlxpY3V1
Yy5saWImcXVvdDsiDQorCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCisJCQkJTW9kdWxlRGVmaW5p
dGlvbkZpbGU9IldlYktpdC5kZWYiDQorCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1
ZSINCisJCQkJU3ViU3lzdGVtPSIyIg0KKwkJCQlPcHRpbWl6ZVJlZmVyZW5jZXM9IjIiDQorCQkJ
CUVuYWJsZUNPTURBVEZvbGRpbmc9IjIiDQorCQkJCVRhcmdldE1hY2hpbmU9IjEiDQorCQkJLz4N
CisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0i
VkNYRENNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQnNjTWFrZVRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRp
b24+DQorCTwvQ29uZmlndXJhdGlvbnM+DQorCTxSZWZlcmVuY2VzPg0KKwk8L1JlZmVyZW5jZXM+
DQorCTxGaWxlcz4NCisJCTxGaWx0ZXINCisJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQorCQkJRmls
dGVyPSJjcHA7YztjYztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteCINCisJCQlVbmlx
dWVJZGVudGlmaWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSINCisJ
CQk+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuXFdlYktpdC5kZWYiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViS2l0
Q2xhc3NGYWN0b3J5LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJLaXRETEwuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJPC9GaWx0ZXI+DQorCQk8RmlsdGVyDQorCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KKwkJCUZp
bHRlcj0iaDtocHA7aHh4O2htO2lubDtpbmM7eHNkIg0KKwkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5
Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ig0KKwkJCT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii5cYXV0b3ZlcnNpb24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii5ccmVzb3VyY2UuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJCYWNrRm9y
d2FyZExpc3QuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXENPTVxXZWJEYXRhU291cmNlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViRnJhbWUuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJIaXN0b3J5
SXRlbS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cQ09NXFdlYkljb25EYXRhYmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdlYktpdENsYXNzRmFjdG9yeS5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cQ09NXFdl
YktpdERMTC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cQ09NXFdlYk11dGFibGVVUkxSZXF1ZXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViVmlldy5oIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJPC9GaWx0ZXI+DQorCQk8RmlsdGVyDQorCQkJTmFtZT0iQ2xhc3Nl
cyINCisJCQk+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViQmFja0Zv
cndhcmRMaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXENPTVxXZWJEYXRhU291cmNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXENPTVxXZWJGcmFtZS5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2Vi
SGlzdG9yeUl0ZW0uY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cQ09NXFdlYkljb25EYXRhYmFzZS5jcHAiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxDT01cV2ViTXV0YWJsZVVSTFJl
cXVlc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cQ09NXFdlYlZpZXcuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJPC9GaWx0
ZXI+DQorCQk8RmlsdGVyDQorCQkJTmFtZT0iUmVzb3VyY2VzIg0KKwkJCT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii5cbWlzc2luZ0ltYWdlLnBuZyINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii5cdGV4dEFyZWFSZXNpemVDb3JuZXIu
cG5nIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
LlxXZWJLaXQucmMiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuXFdlYktpdC50bGIiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4N
CisJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIuXHBuZzEuYmluIg0KKwkJCT4NCisJCTwvRmls
ZT4NCisJPC9GaWxlcz4NCisJPEdsb2JhbHM+DQorCTwvR2xvYmFscz4NCis8L1Zpc3VhbFN0dWRp
b1Byb2plY3Q+DQo=
</data>
<flag name="review"
          id="3950"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11372</attachid>
            <date>2006-11-03 18:36:16 -0800</date>
            <delta_ts>2006-11-04 03:00:20 -0800</delta_ts>
            <desc>AffineTransformCairo.cpp</desc>
            <filename>AffineTransformCairo.cpp</filename>
            <type>text/plain</type>
            <size>6729</size>
            <attacher name="Bertrand Guiheneuf">guiheneuf</attacher>
            
              <data encoding="base64">LyoKICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0OgogKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAog
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CiAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAogKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCiAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgogKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CiAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAogKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAqLwoKI2luY2x1ZGUgImNv
bmZpZy5oIgojaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCgojaW5jbHVkZSAiSW50UmVjdC5o
IgojaW5jbHVkZSAiRmxvYXRSZWN0LmgiCgojaW5jbHVkZSAiY2Fpcm8uaCIKCm5hbWVzcGFjZSBX
ZWJDb3JlIHsKCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3JtKCkKewogICAgY2Fpcm9f
bWF0cml4X2luaXRfaWRlbnRpdHkoJm1fdHJhbnNmb3JtKTsKfQoKQWZmaW5lVHJhbnNmb3JtOjpB
ZmZpbmVUcmFuc2Zvcm0oZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRv
dWJsZSB0eCwgZG91YmxlIHR5KQp7CiAgICBjYWlyb19tYXRyaXhfaW5pdCgmbV90cmFuc2Zvcm0s
IGEsIGMsIGIsIGQsIHR4LCB0eSk7Cn0KCkFmZmluZVRyYW5zZm9ybTo6QWZmaW5lVHJhbnNmb3Jt
KGNvbnN0IGNhaXJvX21hdHJpeF90ICZtYXRyaXgpCnsKICAgIG1fdHJhbnNmb3JtID0gbWF0cml4
Owp9Cgp2b2lkIEFmZmluZVRyYW5zZm9ybTo6c2V0TWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwg
ZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgdHgsIGRvdWJsZSB0eSkKewogICAgY2Fpcm9fbWF0
cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBjLCBiLCBkLCB0eCwgdHkpOwp9Cgp2b2lkIEFmZmlu
ZVRyYW5zZm9ybTo6bWFwKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlKiB4MiwgZG91YmxlKiB5
MikgY29uc3QKewogICAgKngyID0geDsKICAgICp5MiA9IHk7CiAgICBjYWlyb19tYXRyaXhfdHJh
bnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgeDIsIHkyKTsKfQoKSW50UmVjdCBBZmZpbmVUcmFu
c2Zvcm06Om1hcFJlY3QoY29uc3QgSW50UmVjdCAmcmVjdCkgY29uc3QKewogICAgRmxvYXRSZWN0
IGZsb2F0UmVjdChyZWN0KTsKICAgIEZsb2F0UmVjdCBlbmNsb3NpbmdGbG9hdFJlY3QgPSB0aGlz
LT5tYXBSZWN0KGZsb2F0UmVjdCk7CgogICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoZW5jbG9z
aW5nRmxvYXRSZWN0KTsKfQoKRmxvYXRSZWN0IEFmZmluZVRyYW5zZm9ybTo6bWFwUmVjdChjb25z
dCBGbG9hdFJlY3QgJnJlY3QpIGNvbnN0CnsKICAgIGRvdWJsZSByZWN0TWluWCA9IHJlY3QueCgp
OwogICAgZG91YmxlIHJlY3RNYXhYID0gcmVjdC54KCkgKyByZWN0LndpZHRoKCk7CiAgICBkb3Vi
bGUgcmVjdE1pblkgPSByZWN0LnkoKTsKICAgIGRvdWJsZSByZWN0TWF4WSA9IHJlY3QueSgpICsg
cmVjdC5oZWlnaHQoKTsKCiAgICBkb3VibGUgcHggPSByZWN0TWluWDsKICAgIGRvdWJsZSBweSA9
IHJlY3RNaW5ZOwogICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9wb2ludCgmbV90cmFuc2Zvcm0s
ICZweCwgJnB5KTsKICAgIAogICAgZG91YmxlIGVuY2xvc2luZ1JlY3RNaW5YID0gcHg7CiAgICBk
b3VibGUgZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0TWF4
WCA9IHB4OwogICAgZG91YmxlIGVuY2xvc2luZ1JlY3RNYXhZID0gcHk7CiAgICAKICAgIHB4ID0g
cmVjdE1heFg7CiAgICBweSA9IHJlY3RNaW5ZOwogICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9w
b2ludCgmbV90cmFuc2Zvcm0sICZweCwgJnB5KTsKICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RN
aW5YKSAKICAgICAgICBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwogICAgZWxzZSBpZiAocHggPiBl
bmNsb3NpbmdSZWN0TWF4WCkgCiAgICAgICAgZW5jbG9zaW5nUmVjdE1heFggPSBweDsKICAgIGlm
IChweSA8IGVuY2xvc2luZ1JlY3RNaW5ZKSAKICAgICAgICBlbmNsb3NpbmdSZWN0TWluWSA9IHB5
OwogICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkgCiAgICAgICAgZW5jbG9zaW5n
UmVjdE1heFkgPSBweTsKCiAgICBweCA9IHJlY3RNYXhYOwogICAgcHkgPSByZWN0TWF4WTsKICAg
IGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJhbnNmb3JtLCAmcHgsICZweSk7CiAg
ICBpZiAocHggPCBlbmNsb3NpbmdSZWN0TWluWCkgCiAgICAgICAgZW5jbG9zaW5nUmVjdE1pblgg
PSBweDsKICAgIGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpCiAgICAgICAgZW5jbG9z
aW5nUmVjdE1heFggPSBweDsKICAgIGlmIChweSA8IGVuY2xvc2luZ1JlY3RNaW5ZKSAKICAgICAg
ICBlbmNsb3NpbmdSZWN0TWluWSA9IHB5OwogICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0
TWF4WSkgCiAgICAgICAgZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKCiAgICBweCA9IHJlY3RNaW5Y
OwogICAgcHkgPSByZWN0TWF4WTsKICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1f
dHJhbnNmb3JtLCAmcHgsICZweSk7CiAgICBpZiAocHggPCBlbmNsb3NpbmdSZWN0TWluWCkgCiAg
ICAgICAgZW5jbG9zaW5nUmVjdE1pblggPSBweDsKICAgIGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5n
UmVjdE1heFgpIAogICAgICAgIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7CiAgICBpZiAocHkgPCBl
bmNsb3NpbmdSZWN0TWluWSkgCiAgICAgICAgZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKICAgIGVs
c2UgaWYgKHB5ID4gZW5jbG9zaW5nUmVjdE1heFkpIAogICAgICAgIGVuY2xvc2luZ1JlY3RNYXhZ
ID0gcHk7CgoKICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0V2lkdGggPSBlbmNsb3NpbmdSZWN0TWF4
WCAtIGVuY2xvc2luZ1JlY3RNaW5YOwogICAgZG91YmxlIGVuY2xvc2luZ1JlY3RIZWlnaHQgPSBl
bmNsb3NpbmdSZWN0TWF4WSAtIGVuY2xvc2luZ1JlY3RNaW5ZOwoKICAgIHJldHVybiBGbG9hdFJl
Y3QoZW5jbG9zaW5nUmVjdE1pblgsIGVuY2xvc2luZ1JlY3RNaW5ZLCBlbmNsb3NpbmdSZWN0V2lk
dGgsIGVuY2xvc2luZ1JlY3RIZWlnaHQpOwp9Cgpib29sIEFmZmluZVRyYW5zZm9ybTo6aXNJZGVu
dGl0eSgpIGNvbnN0CnsKICAgIHJldHVybiAoKG1fdHJhbnNmb3JtLnh4ID09IDEpICYmIChtX3Ry
YW5zZm9ybS55eSA9PSAxKSAKICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLnh5ID09IDApICYmICht
X3RyYW5zZm9ybS55eCA9PSAwKSAKICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLngwID09IDApICYm
IChtX3RyYW5zZm9ybS55MCA9PSAwKSk7Cn0KCmRvdWJsZSBBZmZpbmVUcmFuc2Zvcm06Om0xMSgp
IGNvbnN0CnsKICAgIHJldHVybiBtX3RyYW5zZm9ybS54eDsKfQoKZG91YmxlIEFmZmluZVRyYW5z
Zm9ybTo6bTEyKCkgY29uc3QKewogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh5Owp9Cgpkb3VibGUg
QWZmaW5lVHJhbnNmb3JtOjptMjEoKSBjb25zdAp7CiAgICByZXR1cm4gbV90cmFuc2Zvcm0ueXg7
Cn0KCmRvdWJsZSBBZmZpbmVUcmFuc2Zvcm06Om0yMigpIGNvbnN0CnsKICAgIHJldHVybiBtX3Ry
YW5zZm9ybS55eTsKfQoKZG91YmxlIEFmZmluZVRyYW5zZm9ybTo6ZHgoKSBjb25zdAp7CiAgICBy
ZXR1cm4gbV90cmFuc2Zvcm0ueDA7Cn0KCmRvdWJsZSBBZmZpbmVUcmFuc2Zvcm06OmR5KCkgY29u
c3QKewogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnkwOwp9Cgp2b2lkIEFmZmluZVRyYW5zZm9ybTo6
cmVzZXQoKQp7CiAgICBjYWlyb19tYXRyaXhfaW5pdF9pZGVudGl0eSgmbV90cmFuc2Zvcm0pOwp9
CgpBZmZpbmVUcmFuc2Zvcm0gJkFmZmluZVRyYW5zZm9ybTo6c2NhbGUoZG91YmxlIHN4LCBkb3Vi
bGUgc3kpCnsKICAgIGNhaXJvX21hdHJpeF9zY2FsZSgmbV90cmFuc2Zvcm0sIHN4LCBzeSk7CiAg
ICByZXR1cm4gKnRoaXM7Cn0KCkFmZmluZVRyYW5zZm9ybSAmQWZmaW5lVHJhbnNmb3JtOjpyb3Rh
dGUoZG91YmxlIGQpCnsKICAgIGNhaXJvX21hdHJpeF9yb3RhdGUoJm1fdHJhbnNmb3JtLCBkKTsK
ICAgIHJldHVybiAqdGhpczsKfQoKQWZmaW5lVHJhbnNmb3JtICZBZmZpbmVUcmFuc2Zvcm06OnRy
YW5zbGF0ZShkb3VibGUgdHgsIGRvdWJsZSB0eSkKewogICAgY2Fpcm9fbWF0cml4X3RyYW5zbGF0
ZSgmbV90cmFuc2Zvcm0sIHR4LCB0eSk7CiAgICByZXR1cm4gKnRoaXM7Cn0KCkFmZmluZVRyYW5z
Zm9ybSAmQWZmaW5lVHJhbnNmb3JtOjpzaGVhcihkb3VibGUgc3gsIGRvdWJsZSBzeSkKewogICAg
Y2Fpcm9fbWF0cml4X3Qgc2hlYXI7CiAgICBjYWlyb19tYXRyaXhfaW5pdCgmc2hlYXIsIDEsIHN4
LCBzeSwgMSwgMCwgMCk7CgogICAgY2Fpcm9fbWF0cml4X3QgcmVzdWx0OwogICAgY2Fpcm9fbWF0
cml4X211bHRpcGx5KCZyZXN1bHQsICZzaGVhciwgJm1fdHJhbnNmb3JtKTsKICAgIG1fdHJhbnNm
b3JtID0gcmVzdWx0OwoKICAgIHJldHVybiAqdGhpczsKfQoKZG91YmxlIEFmZmluZVRyYW5zZm9y
bTo6ZGV0KCkgY29uc3QKewogICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh4ICogbV90cmFuc2Zvcm0u
eXkgLSBtX3RyYW5zZm9ybS54eSAqIG1fdHJhbnNmb3JtLnl4Owp9CgpBZmZpbmVUcmFuc2Zvcm0g
QWZmaW5lVHJhbnNmb3JtOjppbnZlcnQoKSBjb25zdAp7CiAgICBpZiAoIWlzSW52ZXJ0aWJsZSgp
KSByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCk7CgogICAgY2Fpcm9fbWF0cml4X3QgcmVzdWx0ID0g
bV90cmFuc2Zvcm07CiAgICBjYWlyb19tYXRyaXhfaW52ZXJ0KCZyZXN1bHQpOwogICAgcmV0dXJu
IEFmZmluZVRyYW5zZm9ybShyZXN1bHQpOwp9CgpBZmZpbmVUcmFuc2Zvcm06Om9wZXJhdG9yIGNh
aXJvX21hdHJpeF90KCkgY29uc3QKewogICAgcmV0dXJuIG1fdHJhbnNmb3JtOwp9Cgpib29sIEFm
ZmluZVRyYW5zZm9ybTo6b3BlcmF0b3I9PSAoY29uc3QgQWZmaW5lVHJhbnNmb3JtICZtMikgY29u
c3QKewogICAgcmV0dXJuICgobV90cmFuc2Zvcm0ueHggPT0gbTIubV90cmFuc2Zvcm0ueHgpIAog
ICAgICAgICAmJiAobV90cmFuc2Zvcm0ueXkgPT0gbTIubV90cmFuc2Zvcm0ueXkpIAogICAgICAg
ICAmJiAobV90cmFuc2Zvcm0ueHkgPT0gbTIubV90cmFuc2Zvcm0ueHkpCiAgICAgICAgICYmICht
X3RyYW5zZm9ybS55eCA9PSBtMi5tX3RyYW5zZm9ybS55eCkgCiAgICAgICAgICYmIChtX3RyYW5z
Zm9ybS54MCA9PSBtMi5tX3RyYW5zZm9ybS54MCkKICAgICAgICAgJiYgKG1fdHJhbnNmb3JtLnkw
ID09IG0yLm1fdHJhbnNmb3JtLnkwKSk7Cgp9CgpBZmZpbmVUcmFuc2Zvcm0gJkFmZmluZVRyYW5z
Zm9ybTo6b3BlcmF0b3IqPSAoY29uc3QgQWZmaW5lVHJhbnNmb3JtICZtMikKewogICAgY2Fpcm9f
bWF0cml4X3QgcmVzdWx0OwogICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZyZXN1bHQsICZtX3Ry
YW5zZm9ybSwgJm0yLm1fdHJhbnNmb3JtKTsKICAgIG1fdHJhbnNmb3JtID0gcmVzdWx0OwoKICAg
IHJldHVybiAqdGhpczsKfQoKQWZmaW5lVHJhbnNmb3JtIEFmZmluZVRyYW5zZm9ybTo6b3BlcmF0
b3IqIChjb25zdCBBZmZpbmVUcmFuc2Zvcm0gJm0yKQp7CiAgICBjYWlyb19tYXRyaXhfdCByZXN1
bHQ7CiAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJlc3VsdCwgJm1fdHJhbnNmb3JtLCAmbTIu
bV90cmFuc2Zvcm0pOwogICAgcmV0dXJuIHJlc3VsdDsKfQoKfQoKLy8gdmltOiB0cz00IHN3PTQg
ZXQK
</data>
<flag name="review"
          id="3970"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>