<?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>54538</bug_id>
          
          <creation_ts>2011-02-16 01:57:06 -0800</creation_ts>
          <short_desc>symbol display &lt;use&gt; at wrong scale</short_desc>
          <delta_ts>2011-03-22 23:30:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://upload.wikimedia.org/wikipedia/commons/5/50/Weather-icons.svg</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="jay">jay</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>krit</cc>
    
    <cc>leo.yang</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>351941</commentid>
    <comment_count>0</comment_count>
    <who name="jay">jay</who>
    <bug_when>2011-02-16 01:57:06 -0800</bug_when>
    <thetext>compare Opera or Mozilla,

open URL

where &lt;use&gt; references another &lt;use&gt; the item is displayed at an alternate scale.

is there a standards or specification reason for this?
please also note that some parts are significantly displaced,
ie note small rain drop near true scale &apos;weather&apos; symbol,
the very last one...

almost half are missing parts, and most are wrong scale!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351943</commentid>
    <comment_count>1</comment_count>
    <who name="jay">jay</who>
    <bug_when>2011-02-16 01:57:52 -0800</bug_when>
    <thetext>checked on nightly builds safari &amp; chrome, mac only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355097</commentid>
    <comment_count>2</comment_count>
      <attachid>83279</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 00:19:31 -0800</bug_when>
    <thetext>Created attachment 83279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355101</commentid>
    <comment_count>3</comment_count>
      <attachid>83280</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 00:32:48 -0800</bug_when>
    <thetext>Created attachment 83280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355131</commentid>
    <comment_count>4</comment_count>
      <attachid>83280</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-02-22 01:43:23 -0800</bug_when>
    <thetext>Comment on attachment 83280
Patch

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

Great work, r- because we need more test coverage:

&gt; Source/WebCore/svg/SVGElementInstance.h:63
&gt; -    void clearUseElement() { m_useElement = 0; }
&gt; +    void clearCorrespondingUseElement() { m_correspondingUseElement = 0; }
&gt; +    void clearDirectUseElement() { m_directUseElement = 0; }

I&apos;d leave clearUseElement() as is, and let it clear both m_correspdondingUseElement and directUseElement, as you always want to clear both of them in parallel.

&gt; Source/WebCore/svg/SVGUseElement.cpp:395
&gt; +    String directUseElementName = directUseElement ? directUseElement-&gt;nodeName() : &quot;null&quot;;

This is fine, as it&apos;s just debugging code.

&gt; Source/WebCore/svg/SVGUseElement.cpp:551
&gt; +    m_targetElementInstance-&gt;setDirectUseElement(this);

I&apos;d remove this line, and directly initialize m_directUseElement to &apos;this&apos; in the SVGElementInstance constructor, by using the first constructor param, just like it&apos;s done for m_correspondingUseElement.

&gt; Source/WebCore/svg/SVGUseElement.cpp:756
&gt; +    newInstancePtr-&gt;setDirectUseElement(static_cast&lt;SVGUseElement*&gt;(target));

Very good catch!

I guess correspondingUseElement should stay as is:
&quot;
The corresponding ‘use’ element to which this SVGElementInstance object belongs. When ‘use’ elements are nested (e.g., a ‘use’ references another ‘use’ which references a graphics element such as a ‘rect’), then the correspondingUseElement is the outermost ‘use’ (i.e., the one which indirectly references the ‘rect’, not the one with the direct reference).&quot;

Can you please extend the testcase, to check that the generated SVGElementInstance is just like SVG describes it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355145</commentid>
    <comment_count>5</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 02:16:28 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 83280 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83280&amp;action=review
&gt; 
&gt; Great work, r- because we need more test coverage:
&gt; 
&gt; &gt; Source/WebCore/svg/SVGElementInstance.h:63
&gt; &gt; -    void clearUseElement() { m_useElement = 0; }
&gt; &gt; +    void clearCorrespondingUseElement() { m_correspondingUseElement = 0; }
&gt; &gt; +    void clearDirectUseElement() { m_directUseElement = 0; }
&gt; 
&gt; I&apos;d leave clearUseElement() as is, and let it clear both m_correspdondingUseElement and directUseElement, as you always want to clear both of them in parallel.
Yes, I think changing clearUseElement() to clearUseElements() and clearing the 2 variable is more precise.

&gt; 
&gt; &gt; Source/WebCore/svg/SVGUseElement.cpp:395
&gt; &gt; +    String directUseElementName = directUseElement ? directUseElement-&gt;nodeName() : &quot;null&quot;;
&gt; 
&gt; This is fine, as it&apos;s just debugging code.
Can you make me clear about this comment?

&gt; 
&gt; &gt; Source/WebCore/svg/SVGUseElement.cpp:551
&gt; &gt; +    m_targetElementInstance-&gt;setDirectUseElement(this);
&gt; 
&gt; I&apos;d remove this line, and directly initialize m_directUseElement to &apos;this&apos; in the SVGElementInstance constructor, by using the first constructor param, just like it&apos;s done for m_correspondingUseElement.
OK. Will remove setDirectUseElement and add a parameter to constructor.

&gt; 
&gt; &gt; Source/WebCore/svg/SVGUseElement.cpp:756
&gt; &gt; +    newInstancePtr-&gt;setDirectUseElement(static_cast&lt;SVGUseElement*&gt;(target));
&gt; 
&gt; Very good catch!
&gt; 
&gt; I guess correspondingUseElement should stay as is:
&gt; &quot;
&gt; The corresponding ‘use’ element to which this SVGElementInstance object belongs. When ‘use’ elements are nested (e.g., a ‘use’ references another ‘use’ which references a graphics element such as a ‘rect’), then the correspondingUseElement is the outermost ‘use’ (i.e., the one which indirectly references the ‘rect’, not the one with the direct reference).&quot;
&gt; 
Yes, corresondingUseElement stays as is. This patch doesn&apos;t alter it except change its name from m_useElement to m_correspondingUseElement to make it more
clear.

&gt; Can you please extend the testcase, to check that the generated SVGElementInstance is just like SVG describes it here?

OK. Will add more test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355149</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-02-22 02:31:13 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; This is fine, as it&apos;s just debugging code.
&gt; Can you make me clear about this comment?
Well, this code is not efficient, but it&apos;s not a problem, as it&apos;s only the dumpInstanceTree debug code, which is not compiled in by default, just wanted to leave a comment :-)

&gt; &gt; &gt; Source/WebCore/svg/SVGUseElement.cpp:551
&gt; &gt; &gt; +    m_targetElementInstance-&gt;setDirectUseElement(this);
&gt; &gt; 
&gt; &gt; I&apos;d remove this line, and directly initialize m_directUseElement to &apos;this&apos; in the SVGElementInstance constructor, by using the first constructor param, just like it&apos;s done for m_correspondingUseElement.
&gt; OK. Will remove setDirectUseElement and add a parameter to constructor.
No need to add a parameter, the first param is already containing &apos;this&apos;.

&gt; &gt; The corresponding ‘use’ element to which this SVGElementInstance object belongs. When ‘use’ elements are nested (e.g., a ‘use’ references another ‘use’ which references a graphics element such as a ‘rect’), then the correspondingUseElement is the outermost ‘use’ (i.e., the one which indirectly references the ‘rect’, not the one with the direct reference).&quot;
&gt; &gt; 
&gt; Yes, corresondingUseElement stays as is. This patch doesn&apos;t alter it except change its name from m_useElement to m_correspondingUseElement to make it more
&gt; clear.
Great.

&gt; 
&gt; &gt; Can you please extend the testcase, to check that the generated SVGElementInstance is just like SVG describes it here?
&gt; 
&gt; OK. Will add more test cases.
Looking forward to these...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355152</commentid>
    <comment_count>7</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 02:38:49 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; &gt; This is fine, as it&apos;s just debugging code.
&gt; &gt; Can you make me clear about this comment?
&gt; Well, this code is not efficient, but it&apos;s not a problem, as it&apos;s only the dumpInstanceTree debug code, which is not compiled in by default, just wanted to leave a comment :-)
&gt; 
Thanks.

&gt; &gt; &gt; &gt; Source/WebCore/svg/SVGUseElement.cpp:551
&gt; &gt; &gt; &gt; +    m_targetElementInstance-&gt;setDirectUseElement(this);
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;d remove this line, and directly initialize m_directUseElement to &apos;this&apos; in the SVGElementInstance constructor, by using the first constructor param, just like it&apos;s done for m_correspondingUseElement.
&gt; &gt; OK. Will remove setDirectUseElement and add a parameter to constructor.
&gt; No need to add a parameter, the first param is already containing &apos;this&apos;.
&gt; 
&apos;this&apos; is corresponding use element instead of direct referencing use element.
corresponding use element is not same as direct referencing use element in some cases.

&gt; &gt; &gt; The corresponding ‘use’ element to which this SVGElementInstance object belongs. When ‘use’ elements are nested (e.g., a ‘use’ references another ‘use’ which references a graphics element such as a ‘rect’), then the correspondingUseElement is the outermost ‘use’ (i.e., the one which indirectly references the ‘rect’, not the one with the direct reference).&quot;
&gt; &gt; &gt; 
&gt; &gt; Yes, corresondingUseElement stays as is. This patch doesn&apos;t alter it except change its name from m_useElement to m_correspondingUseElement to make it more
&gt; &gt; clear.
&gt; Great.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Can you please extend the testcase, to check that the generated SVGElementInstance is just like SVG describes it here?
&gt; &gt; 
&gt; &gt; OK. Will add more test cases.
&gt; Looking forward to these...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355157</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-02-22 03:00:24 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &apos;this&apos; is corresponding use element instead of direct referencing use element.
&gt; corresponding use element is not same as direct referencing use element in some cases.
What you currently do is: initialize m_directUseElement to 0 in the constructor.
Then you call setDirectUseElement(this) from SVGUseElement _or_ setDirectUseElement(target).
So it&apos;s perfectly fine to use the same values as correspondingUseElement as default for directUseElement.
This just saves to call setDirectUseElement(this) in one place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355163</commentid>
    <comment_count>9</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 03:23:21 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; &apos;this&apos; is corresponding use element instead of direct referencing use element.
&gt; &gt; corresponding use element is not same as direct referencing use element in some cases.
&gt; What you currently do is: initialize m_directUseElement to 0 in the constructor.
&gt; Then you call setDirectUseElement(this) from SVGUseElement _or_ setDirectUseElement(target).
&gt; So it&apos;s perfectly fine to use the same values as correspondingUseElement as default for directUseElement.
&gt; This just saves to call setDirectUseElement(this) in one place.

If we initialize m_directUseElement to correspondingUseElement, we need to call setDirectUseElement(0) for instances which have no direct use element. This will be a lot of calls in for loop in buildInstanceTree(). So I think adding a parameter for direct use element in constructor and removing setDirectUseElement is more efficient. In this way, all callers should pass direct use element explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355793</commentid>
    <comment_count>10</comment_count>
      <attachid>83435</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-02-22 19:49:19 -0800</bug_when>
    <thetext>Created attachment 83435
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362904</commentid>
    <comment_count>11</comment_count>
      <attachid>83435</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-03-05 00:42:16 -0800</bug_when>
    <thetext>Comment on attachment 83435
Revised patch

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

The patch looks great. Can you please update the tests? See comments:

&gt; LayoutTests/svg/custom/use-transfer-width-height-properties-to-svg.svg:2
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; version=&quot;1.0&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;

Can you use 400x400 here to get a 100x100 rect?

&gt; LayoutTests/svg/custom/use-transfer-width-height-properties-to-svg2.svg:2
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; version=&quot;1.0&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;

Ditto.

&gt; LayoutTests/svg/custom/use-transfer-width-height-properties-to-symbol.svg:2
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; version=&quot;1.0&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;

Ditto.

&gt; LayoutTests/svg/custom/use-transfer-width-height-properties-to-symbol2.svg:2
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; version=&quot;1.0&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362906</commentid>
    <comment_count>12</comment_count>
      <attachid>84851</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-03-05 01:09:06 -0800</bug_when>
    <thetext>Created attachment 84851
Revised patch version 2

Updated. Attach pixel results for qt platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370338</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-03-21 05:38:57 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=84851) [details]
&gt; Revised patch version 2
&gt; 
&gt; Updated. Attach pixel results for qt platform.

Ah, I&apos;m really sorry. I waited for the update and didn&apos;t notice that you already upload the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370339</commentid>
    <comment_count>14</comment_count>
      <attachid>84851</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-03-21 05:40:06 -0700</bug_when>
    <thetext>Comment on attachment 84851
Revised patch version 2

LGTM. Testing the patch locally and create pixel tests for Mac here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370364</commentid>
    <comment_count>15</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-03-21 07:22:24 -0700</bug_when>
    <thetext>Committed r81578: &lt;http://trac.webkit.org/changeset/81578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371125</commentid>
    <comment_count>16</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-03-21 18:28:10 -0700</bug_when>
    <thetext>Thanks all for the comments and helps to the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371974</commentid>
    <comment_count>17</comment_count>
    <who name="jay">jay</who>
    <bug_when>2011-03-22 23:30:38 -0700</bug_when>
    <thetext>wfm tx ~:&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83279</attachid>
            <date>2011-02-22 00:19:31 -0800</date>
            <delta_ts>2011-02-22 00:32:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2011-02-21-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>15414</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSA5ZWQ4MDAxOGJmM2FkOTIzY2Y5MTA5MDBmMzBiNjc5Mjc1NTAwMGJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDIyIEZlYiAyMDExIDE1OjM2OjMyICswODAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMS0wMi0yMSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+Ck1JTUUt
VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250
ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKICAgICAgICBzeW1ib2wgZGlzcGxheSA8dXNlPiBhdCB3cm9uZyBzY2FsZQogICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDUzOAoKICAgICAg
ICBTVkcgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3N0cnVjdC5odG1sI1VzZUVsZW1l
bnQKICAgICAgICBRdW90YXRpb24gZm9yIHJlZmVyZW5jZWQgPHN5bWJvbD46ICJJZiBhdHRyaWJ1
dGVzIOKAmHdpZHRo4oCZCiAgICAgICAgYW5kL29yIOKAmGhlaWdodOKAmSBhcmUgcHJvdmlkZWQg
b24gdGhlIOKAmHVzZeKAmSBlbGVtZW50LCB0aGVuCiAgICAgICAgdGhlc2UgYXR0cmlidXRlcyB3
aWxsIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0ZWQg4oCYc3Zn4oCZLiIKICAgICAgICBR
dW90YXRpb24gZm9yIHJlZmVyZW5jZWQgPHN2Zz46ICJJZiBhdHRyaWJ1dGVzIOKAmHdpZHRo4oCZ
CiAgICAgICAgYW5kL29yIOKAmGhlaWdodOKAmSBhcmUgcHJvdmlkZWQgb24gdGhlIOKAmHVzZeKA
mSBlbGVtZW50LCB0aGVuCiAgICAgICAgdGhlc2UgdmFsdWVzIHdpbGwgb3ZlcnJpZGUgdGhlIGNv
cnJlc3BvbmRpbmcgYXR0cmlidXRlcwogICAgICAgIG9uIHRoZSDigJhzdmfigJkgaW4gdGhlIGdl
bmVyYXRlZCB0cmVlLiIKICAgICAgICBGb3IgYWJvdmUgcXVvdGF0aW9ucywgd2Ugc2hvdWxkIHRy
ZWF0ICd1c2UnIGVsZW1lbnQgYXMgcmVmZXJlbmNpbmcKICAgICAgICAndXNlJyBlbGVtZW50LCBq
dXN0IGxpa2UgRmlyZWZveCAzLjYgYW5kIE9wZXJhIDExLCBpbnN0ZWFkIG9mCiAgICAgICAgY29y
cmVuc3BvbmRpbmcgJ3VzZScgZWxlbWVudC4KCiAgICAgICAgVGVzdDogc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMuc3ZnCgogICAgICAgICogc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6
U1ZHRWxlbWVudEluc3RhbmNlKToKICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaDoK
ICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjb3JyZXNwb25kaW5nVXNlRWxl
bWVudCk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6ZGlyZWN0VXNlRWxl
bWVudCk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6c2V0RGlyZWN0VXNl
RWxlbWVudCk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y2xlYXJDb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5j
ZTo6Y2xlYXJEaXJlY3RVc2VFbGVtZW50KToKICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50LmNw
cDoKICAgICAgICAoV2ViQ29yZTo6dXBkYXRlQ29udGFpbmVyU2l6ZSk6CiAgICAgICAgKFdlYkNv
cmU6OlNWR1VzZUVsZW1lbnQ6OnVwZGF0ZUNvbnRhaW5lclNpemVzKToKICAgICAgICAoV2ViQ29y
ZTo6ZHVtcEluc3RhbmNlVHJlZSk6CiAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRl
dGFjaEluc3RhbmNlKToKICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6YnVpbGRJbnN0
YW5jZVRyZWUpOgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2ZzogQWRkZWQuCi0tLQogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysr
KwogLi4uZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy1leHBlY3RlZC50eHQgfCAg
IDExICsrKysrCiAuLi4vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2ZyAg
ICAgICB8ICAgMTIgKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAzNiArKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudEluc3RhbmNlLmNwcCAgICAgICAgICB8ICAgIDUgKy0KIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaCAgICAgICAgICAgIHwgICAxMCArKystCiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgICAgICAgICAgICAgICB8ICAgNDMgKysrKysr
KysrKysrLS0tLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKSwgMjEgZGVs
ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMuc3ZnCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyMjgzYjIuLjA1YzFmOWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMS0wMi0yMSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20u
Y24+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc3lt
Ym9sIGRpc3BsYXkgPHVzZT4gYXQgd3Jvbmcgc2NhbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTM4CisKKyAgICAgICAgVGVzdCBjYXNlIGZvciB0
cmFuc2ZlcmluZyB3aWR0aC9oZWlnaHQgcHJvcGVydGllcyBmcm9tCisgICAgICAgICd1c2UnIGVs
ZW1lbnQgdG8gJ3N2ZycgYW5kICdzeW1ib2wnIGVsZW1lbnRzLgorICAgICAgICBTZWU6IGh0dHA6
Ly93d3cudzMub3JnL1RSL1NWRy9zdHJ1Y3QuaHRtbCNVc2VFbGVtZW50CisKKyAgICAgICAgKiBz
dmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLnN2ZzogQWRkZWQuCisKIDIwMTEtMDItMjEgIE1PUklUQSBIYWppbWUgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0X2V4cGVjdGF0aW9u
LnR4dCB1cGRhdGUuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJh
bnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YjY3NDUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWln
aHQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBz
aXplIDUweDUwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBz
aXplIDB4MAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDUweDUw
CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgNTB4NTAKKyAgICAg
ICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAw
CisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAK
KyAgICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNp
emUgMTAweDEwMAorICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAw
XSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdodD0xLjAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMuc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMjI0ZTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0
aC1oZWlnaHQtcHJvcGVydGllcy5zdmcKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBzdGFuZGFsb25lPSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9u
PSIxLjAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAgPHN5
bWJvbCBpZD0icyIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxsPSJn
cmVlbiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zeW1i
b2w+CisgICAgICAgIDxzeW1ib2wgaWQ9InMxIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI3MiIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEi
IC8+CisgICAgICAgIDwvc3ltYm9sPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9
IiNzMSIgLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDllNjkzZjAuLjRjM2YwMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wMi0yMSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3Jj
aG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgc3ltYm9sIGRpc3BsYXkgPHVzZT4gYXQgd3Jvbmcgc2NhbGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTM4CisKKyAgICAgICAgU1ZH
IHNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9zdHJ1Y3QuaHRtbCNVc2VFbGVtZW50Cisg
ICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8c3ltYm9sPjogIklmIGF0dHJpYnV0ZXMg
4oCYd2lkdGjigJkKKyAgICAgICAgYW5kL29yIOKAmGhlaWdodOKAmSBhcmUgcHJvdmlkZWQgb24g
dGhlIOKAmHVzZeKAmSBlbGVtZW50LCB0aGVuCisgICAgICAgIHRoZXNlIGF0dHJpYnV0ZXMgd2ls
bCBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgZ2VuZXJhdGVkIOKAmHN2Z+KAmS4iCisgICAgICAgIFF1
b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8c3ZnPjogIklmIGF0dHJpYnV0ZXMg4oCYd2lkdGjigJkK
KyAgICAgICAgYW5kL29yIOKAmGhlaWdodOKAmSBhcmUgcHJvdmlkZWQgb24gdGhlIOKAmHVzZeKA
mSBlbGVtZW50LCB0aGVuCisgICAgICAgIHRoZXNlIHZhbHVlcyB3aWxsIG92ZXJyaWRlIHRoZSBj
b3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMKKyAgICAgICAgb24gdGhlIOKAmHN2Z+KAmSBpbiB0aGUg
Z2VuZXJhdGVkIHRyZWUuIgorICAgICAgICBGb3IgYWJvdmUgcXVvdGF0aW9ucywgd2Ugc2hvdWxk
IHRyZWF0ICd1c2UnIGVsZW1lbnQgYXMgcmVmZXJlbmNpbmcKKyAgICAgICAgJ3VzZScgZWxlbWVu
dCwganVzdCBsaWtlIEZpcmVmb3ggMy42IGFuZCBPcGVyYSAxMSwgaW5zdGVhZCBvZgorICAgICAg
ICBjb3JyZW5zcG9uZGluZyAndXNlJyBlbGVtZW50LgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0
b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2ZworCisgICAgICAgICog
c3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50
SW5zdGFuY2U6OlNWR0VsZW1lbnRJbnN0YW5jZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJ
bnN0YW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjb3JyZXNw
b25kaW5nVXNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6
OmRpcmVjdFVzZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNl
OjpzZXREaXJlY3RVc2VFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0
YW5jZTo6Y2xlYXJDb3JyZXNwb25kaW5nVXNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OmNsZWFyRGlyZWN0VXNlRWxlbWVudCk6CisgICAgICAgICogc3Zn
L1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlQ29udGFpbmVyU2l6
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50Ojp1cGRhdGVDb250YWluZXJTaXpl
cyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wSW5zdGFuY2VUcmVlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1VzZUVsZW1lbnQ6OmJ1aWxkSW5zdGFuY2VUcmVlKToKKwogMjAxMS0wMi0yMSAgUm9sYW5kIFN0
ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
SW5zdGFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAK
aW5kZXggYTg3M2YwYi4uZWExZTk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJ
bnN0YW5jZS5jcHAKQEAgLTQxLDE0ICs0MSwxNSBAQCBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVh
a0NvdW50ZXIgaW5zdGFuY2VDb3VudGVyKCJXZWJDb3JlU1ZHRWxlbWVudEluc3RhbmNlIik7CiAj
ZW5kaWYKIAogU1ZHRWxlbWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFuY2UoU1ZHVXNlRWxl
bWVudCogdXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQp
Ci0gICAgOiBtX3VzZUVsZW1lbnQodXNlRWxlbWVudCkKKyAgICA6IG1fY29ycmVzcG9uZGluZ1Vz
ZUVsZW1lbnQodXNlRWxlbWVudCkKKyAgICAsIG1fZGlyZWN0VXNlRWxlbWVudCgwKQogICAgICwg
bV9lbGVtZW50KG9yaWdpbmFsRWxlbWVudCkKICAgICAsIG1fcHJldmlvdXNTaWJsaW5nKDApCiAg
ICAgLCBtX25leHRTaWJsaW5nKDApCiAgICAgLCBtX2ZpcnN0Q2hpbGQoMCkKICAgICAsIG1fbGFz
dENoaWxkKDApCiB7Ci0gICAgQVNTRVJUKG1fdXNlRWxlbWVudCk7CisgICAgQVNTRVJUKG1fY29y
cmVzcG9uZGluZ1VzZUVsZW1lbnQpOwogICAgIEFTU0VSVChtX2VsZW1lbnQpOwogCiAgICAgLy8g
UmVnaXN0ZXIgYXMgaW5zdGFuY2UgZm9yIHBhc3NlZCBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRJbnN0YW5jZS5oCmluZGV4IDZkYmNmZjQuLjBlMTAxMmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKQEAgLTU1LDkgKzU1LDEyIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7CiAKICAg
ICBTVkdFbGVtZW50KiBjb3JyZXNwb25kaW5nRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxl
bWVudC5nZXQoKTsgfQotICAgIFNWR1VzZUVsZW1lbnQqIGNvcnJlc3BvbmRpbmdVc2VFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gbV91c2VFbGVtZW50OyB9CisgICAgU1ZHVXNlRWxlbWVudCogY29y
cmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2NvcnJlc3BvbmRpbmdVc2VF
bGVtZW50OyB9CisgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGlyZWN0VXNlRWxlbWVudDsgfQorICAgIHZvaWQgc2V0RGlyZWN0VXNlRWxlbWVu
dChTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50KSB7IG1fZGlyZWN0VXNlRWxlbWVudCA9IHVzZUVs
ZW1lbnQ7IH0KICAgICBTVkdFbGVtZW50KiBzaGFkb3dUcmVlRWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2hhZG93VHJlZUVsZW1lbnQuZ2V0KCk7IH0KLSAgICB2b2lkIGNsZWFyVXNlRWxlbWVu
dCgpIHsgbV91c2VFbGVtZW50ID0gMDsgfQorICAgIHZvaWQgY2xlYXJDb3JyZXNwb25kaW5nVXNl
RWxlbWVudCgpIHsgbV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudCA9IDA7IH0KKyAgICB2b2lkIGNs
ZWFyRGlyZWN0VXNlRWxlbWVudCgpIHsgbV9kaXJlY3RVc2VFbGVtZW50ID0gMDsgfQogCiAgICAg
U1ZHRWxlbWVudEluc3RhbmNlKiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1cm4gcGFyZW50KCk7
IH0KICAgICBQYXNzUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IGNoaWxkTm9kZXMoKTsK
QEAgLTE1MCw3ICsxNTMsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRh
KiBldmVudFRhcmdldERhdGEoKTsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJl
RXZlbnRUYXJnZXREYXRhKCk7CiAKLSAgICBTVkdVc2VFbGVtZW50KiBtX3VzZUVsZW1lbnQ7Cisg
ICAgU1ZHVXNlRWxlbWVudCogbV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudDsKKyAgICBTVkdVc2VF
bGVtZW50KiBtX2RpcmVjdFVzZUVsZW1lbnQ7CiAgICAgUmVmUHRyPFNWR0VsZW1lbnQ+IG1fZWxl
bWVudDsKICAgICBSZWZQdHI8U1ZHRWxlbWVudD4gbV9zaGFkb3dUcmVlRWxlbWVudDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGE4YTFjZjkuLjhhYzZjN2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKQEAgLTI0NSwxMSArMjQ1LDE1IEBAIHZvaWQg
U1ZHVXNlRWxlbWVudDo6ZmlsbEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwKCkKICAgICBhdHRy
aWJ1dGVUb1Byb3BlcnR5VHlwZU1hcC5zZXQoWExpbmtOYW1lczo6aHJlZkF0dHIsIEFuaW1hdGVk
U3RyaW5nKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlQ29udGFpbmVyU2l6ZShTVkdVc2VFbGVt
ZW50KiB1c2VFbGVtZW50LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhcmdldEluc3RhbmNlKQorc3Rh
dGljIHZvaWQgdXBkYXRlQ29udGFpbmVyU2l6ZShTVkdFbGVtZW50SW5zdGFuY2UqIHRhcmdldElu
c3RhbmNlKQogewogICAgIC8vIERlcHRoLWZpcnN0IHVzZWQgdG8gd3JpdGUgdGhlIG1ldGhvZCBp
biBlYXJseSBleGl0IHN0eWxlLCBubyBwYXJ0aWN1bGFyIG90aGVyIHJlYXNvbi4KICAgICBmb3Ig
KFNWR0VsZW1lbnRJbnN0YW5jZSogaW5zdGFuY2UgPSB0YXJnZXRJbnN0YW5jZS0+Zmlyc3RDaGls
ZCgpOyBpbnN0YW5jZTsgaW5zdGFuY2UgPSBpbnN0YW5jZS0+bmV4dFNpYmxpbmcoKSkKLSAgICAg
ICAgdXBkYXRlQ29udGFpbmVyU2l6ZSh1c2VFbGVtZW50LCBpbnN0YW5jZSk7CisgICAgICAgIHVw
ZGF0ZUNvbnRhaW5lclNpemUoaW5zdGFuY2UpOworCisgICAgU1ZHVXNlRWxlbWVudCogdXNlRWxl
bWVudCA9IHRhcmdldEluc3RhbmNlLT5kaXJlY3RVc2VFbGVtZW50KCk7CisgICAgaWYgKCF1c2VF
bGVtZW50KQorICAgICAgICByZXR1cm47CiAKICAgICBTVkdFbGVtZW50KiBjb3JyZXNwb25kaW5n
RWxlbWVudCA9IHRhcmdldEluc3RhbmNlLT5jb3JyZXNwb25kaW5nRWxlbWVudCgpOwogICAgIEFT
U0VSVChjb3JyZXNwb25kaW5nRWxlbWVudCk7CkBAIC0yODcsNyArMjkxLDggQEAgdm9pZCBTVkdV
c2VFbGVtZW50Ojp1cGRhdGVDb250YWluZXJTaXplcygpCiAgICAgICAgIHJldHVybjsKIAogICAg
IC8vIFVwZGF0ZSB3aG9sZSBzdWJ0cmVlLCBzY2FubmluZyBmb3Igc2hhZG93IGNvbnRhaW5lciBl
bGVtZW50cywgdGhhdCBjb3JyZXNwb25kIHRvIDxzdmc+LzxzeW1ib2w+IHRhZ3MKLSAgICB1cGRh
dGVDb250YWluZXJTaXplKHRoaXMsIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLmdldCgpKTsKKyAg
ICBBU1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmRpcmVjdFVzZUVsZW1lbnQoKSA9PSB0
aGlzKTsKKyAgICB1cGRhdGVDb250YWluZXJTaXplKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLmdl
dCgpKTsKIAogICAgIGlmIChSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCiAgICAg
ICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZh
bGlkYXRpb24ob2JqZWN0KTsKQEAgLTM4Niw2ICszOTEsOSBAQCB2b2lkIGR1bXBJbnN0YW5jZVRy
ZWUodW5zaWduZWQgaW50JiBkZXB0aCwgU3RyaW5nJiB0ZXh0LCBTVkdFbGVtZW50SW5zdGFuY2Uq
IHRhcgogICAgIFNWR0VsZW1lbnQqIHNoYWRvd1RyZWVFbGVtZW50ID0gdGFyZ2V0SW5zdGFuY2Ut
PnNoYWRvd1RyZWVFbGVtZW50KCk7CiAgICAgQVNTRVJUKHNoYWRvd1RyZWVFbGVtZW50KTsKIAor
ICAgIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQgPSB0YXJnZXRJbnN0YW5jZS0+ZGly
ZWN0VXNlRWxlbWVudCgpOworICAgIFN0cmluZyBkaXJlY3RVc2VFbGVtZW50TmFtZSA9IGRpcmVj
dFVzZUVsZW1lbnQgPyBkaXJlY3RVc2VFbGVtZW50LT5ub2RlTmFtZSgpIDogIm51bGwiOworCiAg
ICAgU3RyaW5nIGVsZW1lbnRJZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7CiAgICAgU3Ry
aW5nIGVsZW1lbnROb2RlTmFtZSA9IGVsZW1lbnQtPm5vZGVOYW1lKCk7CiAgICAgU3RyaW5nIHNo
YWRvd1RyZWVFbGVtZW50Tm9kZU5hbWUgPSBzaGFkb3dUcmVlRWxlbWVudC0+bm9kZU5hbWUoKTsK
QEAgLTM5NSw5ICs0MDMsOSBAQCB2b2lkIGR1bXBJbnN0YW5jZVRyZWUodW5zaWduZWQgaW50JiBk
ZXB0aCwgU3RyaW5nJiB0ZXh0LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhcgogICAgIGZvciAodW5z
aWduZWQgaW50IGkgPSAwOyBpIDwgZGVwdGg7ICsraSkKICAgICAgICAgdGV4dCArPSAiICAiOwog
Ci0gICAgdGV4dCArPSBTdHJpbmc6OmZvcm1hdCgiU1ZHRWxlbWVudEluc3RhbmNlIHRoaXM9JXAs
IChwYXJlbnROb2RlPSVzICglcCksIGZpcnN0Q2hpbGQ9JXMgKCVwKSwgY29ycmVzcG9uZGluZ0Vs
ZW1lbnQ9JXMgKCVwKSwgc2hhZG93VHJlZUVsZW1lbnQ9JXMgKCVwKSwgaWQ9JXMpXG4iLAorICAg
IHRleHQgKz0gU3RyaW5nOjpmb3JtYXQoIlNWR0VsZW1lbnRJbnN0YW5jZSB0aGlzPSVwLCAocGFy
ZW50Tm9kZT0lcyAoJXApLCBmaXJzdENoaWxkPSVzICglcCksIGNvcnJlc3BvbmRpbmdFbGVtZW50
PSVzICglcCksIGRpcmVjdFVzZUVsZW1lbnQ9JXMgKCVwKSwgc2hhZG93VHJlZUVsZW1lbnQ9JXMg
KCVwKSwgaWQ9JXMpXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0SW5zdGFu
Y2UsIHBhcmVudE5vZGVOYW1lLmxhdGluMSgpLmRhdGEoKSwgZWxlbWVudC0+cGFyZW50Tm9kZSgp
LCBmaXJzdENoaWxkTm9kZU5hbWUubGF0aW4xKCkuZGF0YSgpLCBlbGVtZW50LT5maXJzdENoaWxk
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9kZU5hbWUubGF0aW4xKCku
ZGF0YSgpLCBlbGVtZW50LCBzaGFkb3dUcmVlRWxlbWVudE5vZGVOYW1lLmxhdGluMSgpLmRhdGEo
KSwgc2hhZG93VHJlZUVsZW1lbnQsIGVsZW1lbnRJZC5sYXRpbjEoKS5kYXRhKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZWxlbWVudE5vZGVOYW1lLmxhdGluMSgpLmRhdGEoKSwgZWxl
bWVudCwgZGlyZWN0VXNlRWxlbWVudE5hbWUubGF0aW4xKCkuZGF0YSgpLCBkaXJlY3RVc2VFbGVt
ZW50LCBzaGFkb3dUcmVlRWxlbWVudE5vZGVOYW1lLmxhdGluMSgpLmRhdGEoKSwgc2hhZG93VHJl
ZUVsZW1lbnQsIGVsZW1lbnRJZC5sYXRpbjEoKS5kYXRhKCkpOwogCiAgICAgZm9yICh1bnNpZ25l
ZCBpbnQgaSA9IDA7IGkgPCBkZXB0aDsgKytpKQogICAgICAgICB0ZXh0ICs9ICIgICI7CkBAIC01
NDAsNiArNTQ4LDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpidWlsZFNoYWRvd0FuZEluc3RhbmNl
VHJlZShTVkdTaGFkb3dUcmVlUm9vdEVsZW1lbnQqIHNoYWRvd1IKICAgICAvLyBzaW5nbGUgU1ZH
RWxlbWVudEluc3RhbmNlIG9iamVjdCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nRWxlbWVudCBhdHRy
aWJ1dGUgb24gdGhpcyBTVkdFbGVtZW50SW5zdGFuY2Ugb2JqZWN0CiAgICAgLy8gaXMgdGhlIFNW
R1JlY3RFbGVtZW50IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHJlZmVyZW5jZWQgJ3JlY3QnIGVs
ZW1lbnQuCiAgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UgPSBTVkdFbGVtZW50SW5zdGFuY2U6
OmNyZWF0ZSh0aGlzLCB0YXJnZXQpOworICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5zZXRE
aXJlY3RVc2VFbGVtZW50KHRoaXMpOwogCiAgICAgLy8gRXZlbnR1YWxseSBlbnRlciByZWN1cnNp
b24gdG8gYnVpbGQgU1ZHRWxlbWVudEluc3RhbmNlIG9iamVjdHMgZm9yIHRoZSBzdWItdHJlZSBj
aGlsZHJlbgogICAgIGJvb2wgZm91bmRQcm9ibGVtID0gZmFsc2U7CkBAIC01ODgsNiArNTk3LDE2
IEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6YnVpbGRTaGFkb3dBbmRJbnN0YW5jZVRyZWUoU1ZHU2hh
ZG93VHJlZVJvb3RFbGVtZW50KiBzaGFkb3dSCiAgICAgLy8gQ29uc2lzdGVuY3kgY2hlY2tzIC0g
dGhpcyBpcyBhc3N1bWVkIGluIHVwZGF0ZUNvbnRhaW5lck9mZnNldCgpLgogICAgIEFTU0VSVCht
X3RhcmdldEVsZW1lbnRJbnN0YW5jZS0+c2hhZG93VHJlZUVsZW1lbnQoKS0+cGFyZW50Tm9kZSgp
ID09IHNoYWRvd1Jvb3QpOwogCisgICAgLy8gVHJhbnNmZXIgZXZlbnQgbGlzdGVuZXJzIGFzc2ln
bmVkIHRvIHRoZSByZWZlcmVuY2VkIGVsZW1lbnQgdG8gb3VyIHNoYWRvdyB0cmVlIGVsZW1lbnRz
LgorICAgIHRyYW5zZmVyRXZlbnRMaXN0ZW5lcnNUb1NoYWRvd1RyZWUobV90YXJnZXRFbGVtZW50
SW5zdGFuY2UuZ2V0KCkpOworCisgICAgLy8gVXBkYXRlIGNvbnRhaW5lciBvZmZzZXQvc2l6ZQor
ICAgIHVwZGF0ZUNvbnRhaW5lck9mZnNldHMoKTsKKyAgICB1cGRhdGVDb250YWluZXJTaXplcygp
OworCisgICAgLy8gVXBkYXRlIHJlbGF0aXZlIGxlbmd0aCBpbmZvcm1hdGlvbgorICAgIHVwZGF0
ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKCk7CisKICAgICAvLyBFdmVudHVhbGx5IGR1bXAg
aW5zdGFuY2UgdHJlZQogI2lmZGVmIERVTVBfSU5TVEFOQ0VfVFJFRQogICAgIFN0cmluZyB0ZXh0
OwpAQCAtNjA4LDIzICs2MjcsMTQgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpidWlsZFNoYWRvd0Fu
ZEluc3RhbmNlVHJlZShTVkdTaGFkb3dUcmVlUm9vdEVsZW1lbnQqIHNoYWRvd1IKIAogICAgIGZw
cmludGYoc3RkZXJyLCAiRHVtcGluZyA8dXNlPiBzaGFkb3cgdHJlZSBtYXJrdXA6XG4lc1xuIiwg
bWFya3VwLmxhdGluMSgpLmRhdGEoKSk7CiAjZW5kaWYKLQotICAgIC8vIFRyYW5zZmVyIGV2ZW50
IGxpc3RlbmVycyBhc3NpZ25lZCB0byB0aGUgcmVmZXJlbmNlZCBlbGVtZW50IHRvIG91ciBzaGFk
b3cgdHJlZSBlbGVtZW50cy4KLSAgICB0cmFuc2ZlckV2ZW50TGlzdGVuZXJzVG9TaGFkb3dUcmVl
KG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLmdldCgpKTsKLQotICAgIC8vIFVwZGF0ZSBjb250YWlu
ZXIgb2Zmc2V0L3NpemUKLSAgICB1cGRhdGVDb250YWluZXJPZmZzZXRzKCk7Ci0gICAgdXBkYXRl
Q29udGFpbmVyU2l6ZXMoKTsKLQotICAgIC8vIFVwZGF0ZSByZWxhdGl2ZSBsZW5ndGggaW5mb3Jt
YXRpb24KLSAgICB1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbigpOwogfQogCiB2b2lk
IFNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKCkKIHsKICAgICBpZiAoIW1fdGFyZ2V0RWxl
bWVudEluc3RhbmNlKQogICAgICAgICByZXR1cm47Ci0gICAgbV90YXJnZXRFbGVtZW50SW5zdGFu
Y2UtPmNsZWFyVXNlRWxlbWVudCgpOworICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jbGVh
ckNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KCk7CisgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2Ut
PmNsZWFyRGlyZWN0VXNlRWxlbWVudCgpOwogICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlID0g
MDsKIH0KIApAQCAtNzQzLDYgKzc1Myw3IEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6YnVpbGRJbnN0
YW5jZVRyZWUoU1ZHRWxlbWVudCogdGFyZ2V0LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhCiAKICAg
ICBSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBuZXdJbnN0YW5jZSA9IFNWR0VsZW1lbnRJbnN0
YW5jZTo6Y3JlYXRlKHRoaXMsIG5ld1RhcmdldCk7CiAgICAgU1ZHRWxlbWVudEluc3RhbmNlKiBu
ZXdJbnN0YW5jZVB0ciA9IG5ld0luc3RhbmNlLmdldCgpOworICAgIG5ld0luc3RhbmNlUHRyLT5z
ZXREaXJlY3RVc2VFbGVtZW50KHN0YXRpY19jYXN0PFNWR1VzZUVsZW1lbnQqPih0YXJnZXQpKTsK
ICAgICB0YXJnZXRJbnN0YW5jZS0+YXBwZW5kQ2hpbGQobmV3SW5zdGFuY2UucmVsZWFzZSgpKTsK
ICAgICBidWlsZEluc3RhbmNlVHJlZShuZXdUYXJnZXQsIG5ld0luc3RhbmNlUHRyLCBmb3VuZFBy
b2JsZW0pOwogfQotLSAKMS43LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83280</attachid>
            <date>2011-02-22 00:32:48 -0800</date>
            <delta_ts>2011-02-22 19:49:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2011-02-21-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>15260</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSBlNzhkMGY5MmJkY2U0MDE1YTFmYmQzMjk4YWJjNDkxODRhNDY3YzFkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDIyIEZlYiAyMDExIDE1OjM2OjMyICswODAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMS0wMi0yMSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBzeW1ib2wgZGlzcGxheSA8
dXNlPiBhdCB3cm9uZyBzY2FsZQogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NDUzOAoKICAgICAgICBTVkcgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIv
U1ZHL3N0cnVjdC5odG1sI1VzZUVsZW1lbnQKICAgICAgICBRdW90YXRpb24gZm9yIHJlZmVyZW5j
ZWQgPHN5bWJvbD46ICJJZiBhdHRyaWJ1dGVzICd3aWR0aCcKICAgICAgICBhbmQvb3IgJ2hlaWdo
dCcgYXJlIHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuCiAgICAgICAgdGhlc2Ug
YXR0cmlidXRlcyB3aWxsIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0ZWQgJ3N2ZycuIgog
ICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8c3ZnPjogIklmIGF0dHJpYnV0ZXMgJ3dp
ZHRoJwogICAgICAgIGFuZC9vciAnaGVpZ2h0JyBhcmUgcHJvdmlkZWQgb24gdGhlICd1c2UnIGVs
ZW1lbnQsIHRoZW4KICAgICAgICB0aGVzZSB2YWx1ZXMgd2lsbCBvdmVycmlkZSB0aGUgY29ycmVz
cG9uZGluZyBhdHRyaWJ1dGVzCiAgICAgICAgb24gdGhlICdzdmcnIGluIHRoZSBnZW5lcmF0ZWQg
dHJlZS4iCiAgICAgICAgRm9yIGFib3ZlIHF1b3RhdGlvbnMsIHdlIHNob3VsZCB0cmVhdCAndXNl
JyBlbGVtZW50IGFzIHJlZmVyZW5jaW5nCiAgICAgICAgJ3VzZScgZWxlbWVudCwganVzdCBsaWtl
IEZpcmVmb3ggMy42IGFuZCBPcGVyYSAxMSwgaW5zdGVhZCBvZgogICAgICAgIGNvcnJlbnNwb25k
aW5nICd1c2UnIGVsZW1lbnQuCgogICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2ZwoKICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5z
dGFuY2UuY3BwOgogICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OlNWR0VsZW1l
bnRJbnN0YW5jZSk6CiAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmg6CiAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpOgog
ICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRpcmVjdFVzZUVsZW1lbnQpOgog
ICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OnNldERpcmVjdFVzZUVsZW1lbnQp
OgogICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmNsZWFyQ29ycmVzcG9uZGlu
Z1VzZUVsZW1lbnQpOgogICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmNsZWFy
RGlyZWN0VXNlRWxlbWVudCk6CiAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CiAgICAg
ICAgKFdlYkNvcmU6OnVwZGF0ZUNvbnRhaW5lclNpemUpOgogICAgICAgIChXZWJDb3JlOjpTVkdV
c2VFbGVtZW50Ojp1cGRhdGVDb250YWluZXJTaXplcyk6CiAgICAgICAgKFdlYkNvcmU6OmR1bXBJ
bnN0YW5jZVRyZWUpOgogICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpkZXRhY2hJbnN0
YW5jZSk6CiAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmJ1aWxkSW5zdGFuY2VUcmVl
KToKICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy5zdmc6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysrKysKIC4uLmUt
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IHwgICAxMSArKysr
KwogLi4uL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy5zdmcgICAgICAgfCAg
IDEyICsrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMzYgKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRJbnN0YW5jZS5jcHAgICAgICAgICAgfCAgICA1ICstCiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmggICAgICAgICAgICB8ICAgMTAgKysrLQogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwICAgICAgICAgICAgICAgfCAgIDQzICsrKysrKysrKysrKy0t
LS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0
aWVzLnN2ZwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA1MjI4M2IyLi4wNWMxZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDItMjEgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN5bWJvbCBkaXNw
bGF5IDx1c2U+IGF0IHdyb25nIHNjYWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NDUzOAorCisgICAgICAgIFRlc3QgY2FzZSBmb3IgdHJhbnNmZXJp
bmcgd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMgZnJvbQorICAgICAgICAndXNlJyBlbGVtZW50IHRv
ICdzdmcnIGFuZCAnc3ltYm9sJyBlbGVtZW50cy4KKyAgICAgICAgU2VlOiBodHRwOi8vd3d3Lncz
Lm9yZy9UUi9TVkcvc3RydWN0Lmh0bWwjVXNlRWxlbWVudAorCisgICAgICAgICogc3ZnL2N1c3Rv
bS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy5zdmc6IEFkZGVkLgorCiAyMDExLTAyLTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBn
b29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdF9leHBlY3RhdGlvbi50eHQgdXBk
YXRlLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2I2NzQ1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAyMDB4MjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA1MHg1
MAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDUweDUwCisgICAgICAgIFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAg
ICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgx
MDAKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4
MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4w
MF0gW3dpZHRoPTEuMDBdIFtoZWlnaHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2ZyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLnN2
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjIyNGUwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMuc3ZnCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3Rh
bmRhbG9uZT0ibm8iPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4
bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4wIiB3
aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxzeW1ib2wgaWQ9
InMiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHJlY3QgZmlsbD0iZ3JlZW4iIHg9
IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwvc3ltYm9sPgorICAg
ICAgICA8c3ltYm9sIGlkPSJzMSIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8dXNl
IHhsaW5rOmhyZWY9IiNzIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgorICAg
ICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgPHVzZSB4bGluazpocmVmPSIjczEiIC8+
Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZTY5M2YwLi40ZjE2OTExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzkgQEAKKzIwMTEtMDItMjEgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUu
Y29tLmNuPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IHN5bWJvbCBkaXNwbGF5IDx1c2U+IGF0IHdyb25nIHNjYWxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDUzOAorCisgICAgICAgIFNWRyBzcGVjOiBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvc3RydWN0Lmh0bWwjVXNlRWxlbWVudAorICAgICAgICBR
dW90YXRpb24gZm9yIHJlZmVyZW5jZWQgPHN5bWJvbD46ICJJZiBhdHRyaWJ1dGVzICd3aWR0aCcK
KyAgICAgICAgYW5kL29yICdoZWlnaHQnIGFyZSBwcm92aWRlZCBvbiB0aGUgJ3VzZScgZWxlbWVu
dCwgdGhlbgorICAgICAgICB0aGVzZSBhdHRyaWJ1dGVzIHdpbGwgYmUgdHJhbnNmZXJyZWQgdG8g
dGhlIGdlbmVyYXRlZCAnc3ZnJy4iCisgICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8
c3ZnPjogIklmIGF0dHJpYnV0ZXMgJ3dpZHRoJworICAgICAgICBhbmQvb3IgJ2hlaWdodCcgYXJl
IHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuCisgICAgICAgIHRoZXNlIHZhbHVl
cyB3aWxsIG92ZXJyaWRlIHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMKKyAgICAgICAgb24g
dGhlICdzdmcnIGluIHRoZSBnZW5lcmF0ZWQgdHJlZS4iCisgICAgICAgIEZvciBhYm92ZSBxdW90
YXRpb25zLCB3ZSBzaG91bGQgdHJlYXQgJ3VzZScgZWxlbWVudCBhcyByZWZlcmVuY2luZworICAg
ICAgICAndXNlJyBlbGVtZW50LCBqdXN0IGxpa2UgRmlyZWZveCAzLjYgYW5kIE9wZXJhIDExLCBp
bnN0ZWFkIG9mCisgICAgICAgIGNvcnJlbnNwb25kaW5nICd1c2UnIGVsZW1lbnQuCisKKyAgICAg
ICAgVGVzdDogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMu
c3ZnCisKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKToKKyAgICAgICAg
KiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50
SW5zdGFuY2U6OmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VsZW1lbnRJbnN0YW5jZTo6ZGlyZWN0VXNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OnNldERpcmVjdFVzZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjbGVhckNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y2xlYXJEaXJlY3RVc2VFbGVtZW50
KToKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1
cGRhdGVDb250YWluZXJTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OnVw
ZGF0ZUNvbnRhaW5lclNpemVzKToKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBJbnN0YW5jZVRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6ZGV0YWNoSW5zdGFuY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6YnVpbGRJbnN0YW5jZVRyZWUpOgorCiAyMDEx
LTAyLTIxICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmNwcAppbmRleCBhODczZjBiLi5lYTFlOTkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcApAQCAtNDEsMTQgKzQxLDE1IEBAIHN0YXRpYyBX
VEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciBpbnN0YW5jZUNvdW50ZXIoIldlYkNvcmVTVkdFbGVt
ZW50SW5zdGFuY2UiKTsKICNlbmRpZgogCiBTVkdFbGVtZW50SW5zdGFuY2U6OlNWR0VsZW1lbnRJ
bnN0YW5jZShTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50LCBQYXNzUmVmUHRyPFNWR0VsZW1lbnQ+
IG9yaWdpbmFsRWxlbWVudCkKLSAgICA6IG1fdXNlRWxlbWVudCh1c2VFbGVtZW50KQorICAgIDog
bV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudCh1c2VFbGVtZW50KQorICAgICwgbV9kaXJlY3RVc2VF
bGVtZW50KDApCiAgICAgLCBtX2VsZW1lbnQob3JpZ2luYWxFbGVtZW50KQogICAgICwgbV9wcmV2
aW91c1NpYmxpbmcoMCkKICAgICAsIG1fbmV4dFNpYmxpbmcoMCkKICAgICAsIG1fZmlyc3RDaGls
ZCgwKQogICAgICwgbV9sYXN0Q2hpbGQoMCkKIHsKLSAgICBBU1NFUlQobV91c2VFbGVtZW50KTsK
KyAgICBBU1NFUlQobV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudCk7CiAgICAgQVNTRVJUKG1fZWxl
bWVudCk7CiAKICAgICAvLyBSZWdpc3RlciBhcyBpbnN0YW5jZSBmb3IgcGFzc2VkIGVsZW1lbnQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKaW5kZXggNmRiY2ZmNC4uMGUx
MDEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaApAQCAtNTUsOSAr
NTUsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KFBhc3NSZWZQ
dHI8RXZlbnQ+KTsKIAogICAgIFNWR0VsZW1lbnQqIGNvcnJlc3BvbmRpbmdFbGVtZW50KCkgY29u
c3QgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9Ci0gICAgU1ZHVXNlRWxlbWVudCogY29ycmVz
cG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3VzZUVsZW1lbnQ7IH0KKyAgICBT
VkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQ7IH0KKyAgICBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3RVc2VFbGVtZW50OyB9CisgICAgdm9pZCBz
ZXREaXJlY3RVc2VFbGVtZW50KFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQpIHsgbV9kaXJlY3RV
c2VFbGVtZW50ID0gdXNlRWxlbWVudDsgfQogICAgIFNWR0VsZW1lbnQqIHNoYWRvd1RyZWVFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dUcmVlRWxlbWVudC5nZXQoKTsgfQotICAgIHZv
aWQgY2xlYXJVc2VFbGVtZW50KCkgeyBtX3VzZUVsZW1lbnQgPSAwOyB9CisgICAgdm9pZCBjbGVh
ckNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KCkgeyBtX2NvcnJlc3BvbmRpbmdVc2VFbGVtZW50ID0g
MDsgfQorICAgIHZvaWQgY2xlYXJEaXJlY3RVc2VFbGVtZW50KCkgeyBtX2RpcmVjdFVzZUVsZW1l
bnQgPSAwOyB9CiAKICAgICBTVkdFbGVtZW50SW5zdGFuY2UqIHBhcmVudE5vZGUoKSBjb25zdCB7
IHJldHVybiBwYXJlbnQoKTsgfQogICAgIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlTGlz
dD4gY2hpbGROb2RlcygpOwpAQCAtMTUwLDcgKzE1Myw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwogICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKIAotICAgIFNWR1VzZUVsZW1lbnQq
IG1fdXNlRWxlbWVudDsKKyAgICBTVkdVc2VFbGVtZW50KiBtX2NvcnJlc3BvbmRpbmdVc2VFbGVt
ZW50OworICAgIFNWR1VzZUVsZW1lbnQqIG1fZGlyZWN0VXNlRWxlbWVudDsKICAgICBSZWZQdHI8
U1ZHRWxlbWVudD4gbV9lbGVtZW50OwogICAgIFJlZlB0cjxTVkdFbGVtZW50PiBtX3NoYWRvd1Ry
ZWVFbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKaW5kZXggYThhMWNm
OS4uOGFjNmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcApAQCAtMjQ1LDEx
ICsyNDUsMTUgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpmaWxsQXR0cmlidXRlVG9Qcm9wZXJ0eVR5
cGVNYXAoKQogICAgIGF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwLnNldChYTGlua05hbWVzOjpo
cmVmQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVDb250YWlu
ZXJTaXplKFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQsIFNWR0VsZW1lbnRJbnN0YW5jZSogdGFy
Z2V0SW5zdGFuY2UpCitzdGF0aWMgdm9pZCB1cGRhdGVDb250YWluZXJTaXplKFNWR0VsZW1lbnRJ
bnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UpCiB7CiAgICAgLy8gRGVwdGgtZmlyc3QgdXNlZCB0byB3
cml0ZSB0aGUgbWV0aG9kIGluIGVhcmx5IGV4aXQgc3R5bGUsIG5vIHBhcnRpY3VsYXIgb3RoZXIg
cmVhc29uLgogICAgIGZvciAoU1ZHRWxlbWVudEluc3RhbmNlKiBpbnN0YW5jZSA9IHRhcmdldElu
c3RhbmNlLT5maXJzdENoaWxkKCk7IGluc3RhbmNlOyBpbnN0YW5jZSA9IGluc3RhbmNlLT5uZXh0
U2libGluZygpKQotICAgICAgICB1cGRhdGVDb250YWluZXJTaXplKHVzZUVsZW1lbnQsIGluc3Rh
bmNlKTsKKyAgICAgICAgdXBkYXRlQ29udGFpbmVyU2l6ZShpbnN0YW5jZSk7CisKKyAgICBTVkdV
c2VFbGVtZW50KiB1c2VFbGVtZW50ID0gdGFyZ2V0SW5zdGFuY2UtPmRpcmVjdFVzZUVsZW1lbnQo
KTsKKyAgICBpZiAoIXVzZUVsZW1lbnQpCisgICAgICAgIHJldHVybjsKIAogICAgIFNWR0VsZW1l
bnQqIGNvcnJlc3BvbmRpbmdFbGVtZW50ID0gdGFyZ2V0SW5zdGFuY2UtPmNvcnJlc3BvbmRpbmdF
bGVtZW50KCk7CiAgICAgQVNTRVJUKGNvcnJlc3BvbmRpbmdFbGVtZW50KTsKQEAgLTI4Nyw3ICsy
OTEsOCBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnVwZGF0ZUNvbnRhaW5lclNpemVzKCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gVXBkYXRlIHdob2xlIHN1YnRyZWUsIHNjYW5uaW5nIGZvciBz
aGFkb3cgY29udGFpbmVyIGVsZW1lbnRzLCB0aGF0IGNvcnJlc3BvbmQgdG8gPHN2Zz4vPHN5bWJv
bD4gdGFncwotICAgIHVwZGF0ZUNvbnRhaW5lclNpemUodGhpcywgbV90YXJnZXRFbGVtZW50SW5z
dGFuY2UuZ2V0KCkpOworICAgIEFTU0VSVChtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS0+ZGlyZWN0
VXNlRWxlbWVudCgpID09IHRoaXMpOworICAgIHVwZGF0ZUNvbnRhaW5lclNpemUobV90YXJnZXRF
bGVtZW50SW5zdGFuY2UuZ2V0KCkpOwogCiAgICAgaWYgKFJlbmRlck9iamVjdCogb2JqZWN0ID0g
cmVuZGVyZXIoKSkKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JMYXlvdXRBbmRQ
YXJlbnRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwpAQCAtMzg2LDYgKzM5MSw5IEBAIHZv
aWQgZHVtcEluc3RhbmNlVHJlZSh1bnNpZ25lZCBpbnQmIGRlcHRoLCBTdHJpbmcmIHRleHQsIFNW
R0VsZW1lbnRJbnN0YW5jZSogdGFyCiAgICAgU1ZHRWxlbWVudCogc2hhZG93VHJlZUVsZW1lbnQg
PSB0YXJnZXRJbnN0YW5jZS0+c2hhZG93VHJlZUVsZW1lbnQoKTsKICAgICBBU1NFUlQoc2hhZG93
VHJlZUVsZW1lbnQpOwogCisgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCA9IHRh
cmdldEluc3RhbmNlLT5kaXJlY3RVc2VFbGVtZW50KCk7CisgICAgU3RyaW5nIGRpcmVjdFVzZUVs
ZW1lbnROYW1lID0gZGlyZWN0VXNlRWxlbWVudCA/IGRpcmVjdFVzZUVsZW1lbnQtPm5vZGVOYW1l
KCkgOiAibnVsbCI7CisKICAgICBTdHJpbmcgZWxlbWVudElkID0gZWxlbWVudC0+Z2V0SWRBdHRy
aWJ1dGUoKTsKICAgICBTdHJpbmcgZWxlbWVudE5vZGVOYW1lID0gZWxlbWVudC0+bm9kZU5hbWUo
KTsKICAgICBTdHJpbmcgc2hhZG93VHJlZUVsZW1lbnROb2RlTmFtZSA9IHNoYWRvd1RyZWVFbGVt
ZW50LT5ub2RlTmFtZSgpOwpAQCAtMzk1LDkgKzQwMyw5IEBAIHZvaWQgZHVtcEluc3RhbmNlVHJl
ZSh1bnNpZ25lZCBpbnQmIGRlcHRoLCBTdHJpbmcmIHRleHQsIFNWR0VsZW1lbnRJbnN0YW5jZSog
dGFyCiAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBkZXB0aDsgKytpKQogICAgICAg
ICB0ZXh0ICs9ICIgICI7CiAKLSAgICB0ZXh0ICs9IFN0cmluZzo6Zm9ybWF0KCJTVkdFbGVtZW50
SW5zdGFuY2UgdGhpcz0lcCwgKHBhcmVudE5vZGU9JXMgKCVwKSwgZmlyc3RDaGlsZD0lcyAoJXAp
LCBjb3JyZXNwb25kaW5nRWxlbWVudD0lcyAoJXApLCBzaGFkb3dUcmVlRWxlbWVudD0lcyAoJXAp
LCBpZD0lcylcbiIsCisgICAgdGV4dCArPSBTdHJpbmc6OmZvcm1hdCgiU1ZHRWxlbWVudEluc3Rh
bmNlIHRoaXM9JXAsIChwYXJlbnROb2RlPSVzICglcCksIGZpcnN0Q2hpbGQ9JXMgKCVwKSwgY29y
cmVzcG9uZGluZ0VsZW1lbnQ9JXMgKCVwKSwgZGlyZWN0VXNlRWxlbWVudD0lcyAoJXApLCBzaGFk
b3dUcmVlRWxlbWVudD0lcyAoJXApLCBpZD0lcylcbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0YXJnZXRJbnN0YW5jZSwgcGFyZW50Tm9kZU5hbWUubGF0aW4xKCkuZGF0YSgpLCBlbGVt
ZW50LT5wYXJlbnROb2RlKCksIGZpcnN0Q2hpbGROb2RlTmFtZS5sYXRpbjEoKS5kYXRhKCksIGVs
ZW1lbnQtPmZpcnN0Q2hpbGQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRO
b2RlTmFtZS5sYXRpbjEoKS5kYXRhKCksIGVsZW1lbnQsIHNoYWRvd1RyZWVFbGVtZW50Tm9kZU5h
bWUubGF0aW4xKCkuZGF0YSgpLCBzaGFkb3dUcmVlRWxlbWVudCwgZWxlbWVudElkLmxhdGluMSgp
LmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9kZU5hbWUubGF0
aW4xKCkuZGF0YSgpLCBlbGVtZW50LCBkaXJlY3RVc2VFbGVtZW50TmFtZS5sYXRpbjEoKS5kYXRh
KCksIGRpcmVjdFVzZUVsZW1lbnQsIHNoYWRvd1RyZWVFbGVtZW50Tm9kZU5hbWUubGF0aW4xKCku
ZGF0YSgpLCBzaGFkb3dUcmVlRWxlbWVudCwgZWxlbWVudElkLmxhdGluMSgpLmRhdGEoKSk7CiAK
ICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGRlcHRoOyArK2kpCiAgICAgICAgIHRl
eHQgKz0gIiAgIjsKQEAgLTU0MCw2ICs1NDgsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxk
U2hhZG93QW5kSW5zdGFuY2VUcmVlKFNWR1NoYWRvd1RyZWVSb290RWxlbWVudCogc2hhZG93Ugog
ICAgIC8vIHNpbmdsZSBTVkdFbGVtZW50SW5zdGFuY2Ugb2JqZWN0LCBhbmQgdGhlIGNvcnJlc3Bv
bmRpbmdFbGVtZW50IGF0dHJpYnV0ZSBvbiB0aGlzIFNWR0VsZW1lbnRJbnN0YW5jZSBvYmplY3QK
ICAgICAvLyBpcyB0aGUgU1ZHUmVjdEVsZW1lbnQgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgcmVm
ZXJlbmNlZCAncmVjdCcgZWxlbWVudC4KICAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSA9IFNW
R0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKHRoaXMsIHRhcmdldCk7CisgICAgbV90YXJnZXRFbGVt
ZW50SW5zdGFuY2UtPnNldERpcmVjdFVzZUVsZW1lbnQodGhpcyk7CiAKICAgICAvLyBFdmVudHVh
bGx5IGVudGVyIHJlY3Vyc2lvbiB0byBidWlsZCBTVkdFbGVtZW50SW5zdGFuY2Ugb2JqZWN0cyBm
b3IgdGhlIHN1Yi10cmVlIGNoaWxkcmVuCiAgICAgYm9vbCBmb3VuZFByb2JsZW0gPSBmYWxzZTsK
QEAgLTU4OCw2ICs1OTcsMTYgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpidWlsZFNoYWRvd0FuZElu
c3RhbmNlVHJlZShTVkdTaGFkb3dUcmVlUm9vdEVsZW1lbnQqIHNoYWRvd1IKICAgICAvLyBDb25z
aXN0ZW5jeSBjaGVja3MgLSB0aGlzIGlzIGFzc3VtZWQgaW4gdXBkYXRlQ29udGFpbmVyT2Zmc2V0
KCkuCiAgICAgQVNTRVJUKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5zaGFkb3dUcmVlRWxlbWVu
dCgpLT5wYXJlbnROb2RlKCkgPT0gc2hhZG93Um9vdCk7CiAKKyAgICAvLyBUcmFuc2ZlciBldmVu
dCBsaXN0ZW5lcnMgYXNzaWduZWQgdG8gdGhlIHJlZmVyZW5jZWQgZWxlbWVudCB0byBvdXIgc2hh
ZG93IHRyZWUgZWxlbWVudHMuCisgICAgdHJhbnNmZXJFdmVudExpc3RlbmVyc1RvU2hhZG93VHJl
ZShtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS5nZXQoKSk7CisKKyAgICAvLyBVcGRhdGUgY29udGFp
bmVyIG9mZnNldC9zaXplCisgICAgdXBkYXRlQ29udGFpbmVyT2Zmc2V0cygpOworICAgIHVwZGF0
ZUNvbnRhaW5lclNpemVzKCk7CisKKyAgICAvLyBVcGRhdGUgcmVsYXRpdmUgbGVuZ3RoIGluZm9y
bWF0aW9uCisgICAgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24oKTsKKwogICAgIC8v
IEV2ZW50dWFsbHkgZHVtcCBpbnN0YW5jZSB0cmVlCiAjaWZkZWYgRFVNUF9JTlNUQU5DRV9UUkVF
CiAgICAgU3RyaW5nIHRleHQ7CkBAIC02MDgsMjMgKzYyNywxNCBAQCB2b2lkIFNWR1VzZUVsZW1l
bnQ6OmJ1aWxkU2hhZG93QW5kSW5zdGFuY2VUcmVlKFNWR1NoYWRvd1RyZWVSb290RWxlbWVudCog
c2hhZG93UgogCiAgICAgZnByaW50ZihzdGRlcnIsICJEdW1waW5nIDx1c2U+IHNoYWRvdyB0cmVl
IG1hcmt1cDpcbiVzXG4iLCBtYXJrdXAubGF0aW4xKCkuZGF0YSgpKTsKICNlbmRpZgotCi0gICAg
Ly8gVHJhbnNmZXIgZXZlbnQgbGlzdGVuZXJzIGFzc2lnbmVkIHRvIHRoZSByZWZlcmVuY2VkIGVs
ZW1lbnQgdG8gb3VyIHNoYWRvdyB0cmVlIGVsZW1lbnRzLgotICAgIHRyYW5zZmVyRXZlbnRMaXN0
ZW5lcnNUb1NoYWRvd1RyZWUobV90YXJnZXRFbGVtZW50SW5zdGFuY2UuZ2V0KCkpOwotCi0gICAg
Ly8gVXBkYXRlIGNvbnRhaW5lciBvZmZzZXQvc2l6ZQotICAgIHVwZGF0ZUNvbnRhaW5lck9mZnNl
dHMoKTsKLSAgICB1cGRhdGVDb250YWluZXJTaXplcygpOwotCi0gICAgLy8gVXBkYXRlIHJlbGF0
aXZlIGxlbmd0aCBpbmZvcm1hdGlvbgotICAgIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0
aW9uKCk7CiB9CiAKIHZvaWQgU1ZHVXNlRWxlbWVudDo6ZGV0YWNoSW5zdGFuY2UoKQogewogICAg
IGlmICghbV90YXJnZXRFbGVtZW50SW5zdGFuY2UpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3Rh
cmdldEVsZW1lbnRJbnN0YW5jZS0+Y2xlYXJVc2VFbGVtZW50KCk7CisgICAgbV90YXJnZXRFbGVt
ZW50SW5zdGFuY2UtPmNsZWFyQ29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKTsKKyAgICBtX3Rhcmdl
dEVsZW1lbnRJbnN0YW5jZS0+Y2xlYXJEaXJlY3RVc2VFbGVtZW50KCk7CiAgICAgbV90YXJnZXRF
bGVtZW50SW5zdGFuY2UgPSAwOwogfQogCkBAIC03NDMsNiArNzUzLDcgQEAgdm9pZCBTVkdVc2VF
bGVtZW50OjpidWlsZEluc3RhbmNlVHJlZShTVkdFbGVtZW50KiB0YXJnZXQsIFNWR0VsZW1lbnRJ
bnN0YW5jZSogdGEKIAogICAgIFJlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IG5ld0luc3RhbmNl
ID0gU1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUodGhpcywgbmV3VGFyZ2V0KTsKICAgICBTVkdF
bGVtZW50SW5zdGFuY2UqIG5ld0luc3RhbmNlUHRyID0gbmV3SW5zdGFuY2UuZ2V0KCk7CisgICAg
bmV3SW5zdGFuY2VQdHItPnNldERpcmVjdFVzZUVsZW1lbnQoc3RhdGljX2Nhc3Q8U1ZHVXNlRWxl
bWVudCo+KHRhcmdldCkpOwogICAgIHRhcmdldEluc3RhbmNlLT5hcHBlbmRDaGlsZChuZXdJbnN0
YW5jZS5yZWxlYXNlKCkpOwogICAgIGJ1aWxkSW5zdGFuY2VUcmVlKG5ld1RhcmdldCwgbmV3SW5z
dGFuY2VQdHIsIGZvdW5kUHJvYmxlbSk7CiB9Ci0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="75060"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83435</attachid>
            <date>2011-02-22 19:49:19 -0800</date>
            <delta_ts>2011-03-05 01:09:06 -0800</delta_ts>
            <desc>Revised patch</desc>
            <filename>0001-2011-02-22-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>31966</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSAwZDQ0MWE0M2EzYWJlM2ZjNTBmMjI5YWI0YzRjZTM0MzAyYWNhZjAyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBXZWQsIDIzIEZlYiAyMDExIDExOjAxOjU5ICswODAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMS0wMi0yMiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBzeW1ib2wgZGlzcGxheSA8
dXNlPiBhdCB3cm9uZyBzY2FsZQogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NDUzOAoKICAgICAgICBTVkcgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIv
U1ZHL3N0cnVjdC5odG1sI1VzZUVsZW1lbnQKICAgICAgICBRdW90YXRpb24gZm9yIHJlZmVyZW5j
ZWQgPHN5bWJvbD46ICJJZiBhdHRyaWJ1dGVzICd3aWR0aCcKICAgICAgICBhbmQvb3IgJ2hlaWdo
dCcgYXJlIHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuCiAgICAgICAgdGhlc2Ug
YXR0cmlidXRlcyB3aWxsIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0ZWQgJ3N2ZycuIgog
ICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8c3ZnPjogIklmIGF0dHJpYnV0ZXMgJ3dp
ZHRoJwogICAgICAgIGFuZC9vciAnaGVpZ2h0JyBhcmUgcHJvdmlkZWQgb24gdGhlICd1c2UnIGVs
ZW1lbnQsIHRoZW4KICAgICAgICB0aGVzZSB2YWx1ZXMgd2lsbCBvdmVycmlkZSB0aGUgY29ycmVz
cG9uZGluZyBhdHRyaWJ1dGVzCiAgICAgICAgb24gdGhlICdzdmcnIGluIHRoZSBnZW5lcmF0ZWQg
dHJlZS4iCiAgICAgICAgRm9yIGFib3ZlIHF1b3RhdGlvbnMsIHdlIHNob3VsZCB0cmVhdCAndXNl
JyBlbGVtZW50IGFzIHJlZmVyZW5jaW5nCiAgICAgICAgJ3VzZScgZWxlbWVudCwganVzdCBsaWtl
IEZpcmVmb3ggMy42IGFuZCBPcGVyYSAxMSwgaW5zdGVhZCBvZgogICAgICAgIGNvcnJlbnNwb25k
aW5nICd1c2UnIGVsZW1lbnQuCgogICAgICAgIFRlc3RzOiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnCiAgICAgICAgICAgICAgIHN2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEuc3ZnCiAg
ICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0
aWVzLXRvLXN2ZzIuc3ZnCiAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcKICAgICAgICAgICAgICAgc3ZnL2N1
c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5zdmcK
ICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ltYm9sMi5zdmcKCiAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNw
cDoKICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFu
Y2UpOgogICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOgogICAgICAgIChXZWJDb3Jl
OjpTVkdFbGVtZW50SW5zdGFuY2U6OmNyZWF0ZSk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1l
bnRJbnN0YW5jZTo6Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpOgogICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OmRpcmVjdFVzZUVsZW1lbnQpOgogICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OmNsZWFyVXNlRWxlbWVudHMpOgogICAgICAgICogc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwOgogICAgICAgIChXZWJDb3JlOjp1cGRhdGVDb250YWluZXJTaXplKToKICAg
ICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6dXBkYXRlQ29udGFpbmVyU2l6ZXMpOgogICAg
ICAgIChXZWJDb3JlOjpkdW1wSW5zdGFuY2VUcmVlKToKICAgICAgICAoV2ViQ29yZTo6U1ZHVXNl
RWxlbWVudDo6ZGV0YWNoSW5zdGFuY2UpOgogICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
OjpidWlsZEluc3RhbmNlVHJlZSk6CiAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13
aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAg
ICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2
Zy5zdmc6IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS5zdmc6
IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXBy
b3BlcnRpZXMtdG8tc3ZnMi1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3Rv
bS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmc6IEFkZGVk
LgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRp
ZXMtdG8tc3ltYm9sLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBzdmcvY3VzdG9tL3Vz
ZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wuc3ZnOiBBZGRlZC4K
ICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN5bWJvbDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnOiBBZGRlZC4K
ICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDIuc3ZnOiBBZGRlZC4K
LS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMjQgKysrKysrKysrKwogLi4uZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1l
eHBlY3RlZC50eHQgfCAgIDE4ICsrKysrKysrCiAuLi51c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMtdG8tc3ZnLnN2ZyB8ICAgMTIgKysrKysKIC4uLmVyLXdpZHRoLWhlaWdodC1w
cm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQudHh0IHwgICAxMSArKysrKwogLi4uc2UtdHJhbnNm
ZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS5zdmcgfCAgICA5ICsrKysKIC4uLmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzItZXhwZWN0ZWQudHh0IHwgICAxMyArKysr
KwogLi4uc2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmcgfCAg
IDEyICsrKysrCiAuLi4td2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLWV4cGVjdGVk
LnR4dCB8ICAgMTEgKysrKysKIC4uLi10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10
by1zeW1ib2wuc3ZnIHwgICAxMiArKysrKwogLi4ud2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8t
c3ltYm9sMS1leHBlY3RlZC50eHQgfCAgICA5ICsrKysKIC4uLnRyYW5zZmVyLXdpZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnIHwgICAgOSArKysrCiAuLi53aWR0aC1oZWlnaHQt
cHJvcGVydGllcy10by1zeW1ib2wyLWV4cGVjdGVkLnR4dCB8ICAgMTYgKysrKysrKwogLi4udHJh
bnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi5zdmcgfCAgIDEyICsrKysr
CiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
NDAgKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuY3BwICAgICAgICAgIHwgICAgOCArKy0KIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
SW5zdGFuY2UuaCAgICAgICAgICAgIHwgICAxOSArKysrKy0tLQogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1VzZUVsZW1lbnQuY3BwICAgICAgICAgICAgICAgfCAgIDQ3ICsrKysrKysrKysrKy0tLS0t
LS0tCiAxNyBmaWxlcyBjaGFuZ2VkLCAyNTQgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1w
cm9wZXJ0aWVzLXRvLXN2Zy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLWV4cGVj
dGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRy
YW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEuc3ZnCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXBy
b3BlcnRpZXMtdG8tc3ZnMi1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1z
dmcyLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRy
YW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0
aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMt
dG8tc3ltYm9sMS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wx
LnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgt
aGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi5zdmcKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTYxNjliYi4uMzljMGYz
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTAyLTIyICBMZW8gWWFuZyAgPGxlby55YW5n
QHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBzeW1ib2wgZGlzcGxheSA8dXNlPiBhdCB3cm9uZyBzY2FsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ1MzgKKworICAgICAg
ICBUZXN0IGNhc2VzIGZvciB0cmFuc2ZlcmluZyB3aWR0aC9oZWlnaHQgcHJvcGVydGllcyBmcm9t
CisgICAgICAgICd1c2UnIGVsZW1lbnQgdG8gJ3N2ZycgYW5kICdzeW1ib2wnIGVsZW1lbnRzLgor
ICAgICAgICBTZWU6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9zdHJ1Y3QuaHRtbCNVc2VFbGVt
ZW50CisKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9t
L3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGll
cy10by1zdmcxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS5zdmc6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN2ZzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3lt
Ym9sLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNm
ZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3lt
Ym9sMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1z
eW1ib2wyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJh
bnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi5zdmc6IEFkZGVkLgorCiAy
MDExLTAyLTIyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBBZGQgbWlzc2luZyBmaWxlcyBmcm9tIHI3OTM1MS4gVGhlc2UgYXJlIGV4cGVjdGVkIHJl
c3VsdHMgZm9yIG5ldyBtZWRpYSB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQt
cHJvcGVydGllcy10by1zdmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmM5NmY4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4MjAw
CisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICBS
ZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hl
aWdodD0xLjAwXQorICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAs
MCkgc2l6ZSAxMDB4MTAwCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCww
KSBzaXplIDEwMHgxMDAKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDAp
IHNpemUgMTAweDEwMAorICAgICAgICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2
Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3Jl
Y3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4
MDAwXX1dIFt4PTAuMDBdIFt5PTAuMDBdIFt3aWR0aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCisgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgNTB4NTAKKyAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgICAgICBSZW5kZXJTVkdW
aWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICAgICAg
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisg
ICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5PTAuMDBdIFt3
aWR0aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMt
dG8tc3ZnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzJjNzNlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lk
dGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLnN2ZwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
IHZlcnNpb249IjEuMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorICAgIDxkZWZzPgorICAg
ICAgICA8c3ZnIGlkPSJzIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAgICAgIDxyZWN0IGZp
bGw9ImdyZWVuIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgorICAgICAgICA8
L3N2Zz4KKyAgICAgICAgPHN2ZyBpZD0iczEiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAg
ICAgPHVzZSB4bGluazpocmVmPSIjcyIgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIg
Lz4KKyAgICAgICAgPC9zdmc+CisgICAgPC9kZWZzPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3Mx
IiAvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN2ZzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFm
ZjQzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgMjAweDIwMAorICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJTVkdQ
YXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdodD0xLjAw
XQorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAg
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAor
ICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5PTAuMDBdIFt3aWR0
aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLnN2ZyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN2ZzEuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNDg2MGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0
aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIg
dmVyc2lvbj0iMS4wIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPGRlZnM+CisgICAg
ICAgIDxzdmcgaWQ9InMiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHJlY3QgZmls
bD0iZ3JlZW4iIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwv
c3ZnPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzIiAvPgorPC9zdmc+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWln
aHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkOTk4ZDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWln
aHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgMjAweDIwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0
ICgwLDApIHNpemUgNTB4NTAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAs
MCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9
MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFtoZWlnaHQ9MS4wMF0KKyAgICBSZW5kZXJTVkdD
b250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMCwwKSBzaXplIDUweDUwCisgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29u
dGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgICBSZW5kZXJTVkdW
aWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBd
IFtoZWlnaHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRy
YW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzIuc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5z
dmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I1YmQxOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLXRvLXN2ZzIuc3ZnCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lv
bj0iMS4wIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxz
dmcgaWQ9InMiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHJlY3QgZmlsbD0iZ3Jl
ZW4iIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwvc3ZnPgor
ICAgICAgICA8c3ltYm9sIGlkPSJzMSIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8
dXNlIHhsaW5rOmhyZWY9IiNzIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgor
ICAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgPHVzZSB4bGluazpocmVmPSIjczEi
IC8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10
by1zeW1ib2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjU3YjY3NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10
cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgIFJl
bmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMCwwKSBzaXplIDUweDUwCisgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
IHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgICBSZW5kZXJTVkdWaWV3cG9y
dENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFtoZWln
aHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wuc3Zn
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMjI0ZTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQt
cHJvcGVydGllcy10by1zeW1ib2wuc3ZnCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lv
bj0iMS4wIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxz
eW1ib2wgaWQ9InMiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHJlY3QgZmlsbD0i
Z3JlZW4iIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwvc3lt
Ym9sPgorICAgICAgICA8c3ltYm9sIGlkPSJzMSIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAg
ICAgICA8dXNlIHhsaW5rOmhyZWY9IiNzIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIx
IiAvPgorICAgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+CisgICAgPHVzZSB4bGluazpocmVm
PSIjczEiIC8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ltYm9sMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZGRkYzcyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDIwMHgy
MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICBSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyU1ZHVmll
d3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFtoZWln
aHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5z
dmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM2MWY3NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJz
aW9uPSIxLjAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAg
PHN5bWJvbCBpZD0icyIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxs
PSJncmVlbiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9z
eW1ib2w+CisgICAgPC9kZWZzPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3MiIC8+Cis8L3N2Zz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBiMDk3Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTYgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA1MHg1MAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5l
ciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgICAgIFJlbmRlclNWR1ZpZXdw
b3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICAgICAgICBS
ZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hl
aWdodD0xLjAwXQorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDUw
eDUwCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgNTB4NTAKKyAg
ICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4
MTAwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgx
MDAKKyAgICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDAp
IHNpemUgMTAweDEwMAorICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCww
KSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0w
LjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdodD0xLjAwXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMt
dG8tc3ltYm9sMi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0
aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42MTkwYmFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi5z
dmcKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/
PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAiIHdpZHRoPSIyMDAiIGhl
aWdodD0iMjAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAgPHN5bWJvbCBpZD0icyIgdmlld0JveD0i
MCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxsPSJncmVlbiIgeD0iMCIgeT0iMCIgd2lk
dGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zeW1ib2w+CisgICAgICAgIDxzdmcgaWQ9
InMxIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3Mi
IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwvc3ZnPgorICAg
IDwvZGVmcz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzMSIgLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDZlMzY2YjQuLjRiNGRhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMS0w
Mi0yMiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc3ltYm9sIGRpc3BsYXkgPHVz
ZT4gYXQgd3Jvbmcgc2NhbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU0NTM4CisKKyAgICAgICAgU1ZHIHNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RS
L1NWRy9zdHJ1Y3QuaHRtbCNVc2VFbGVtZW50CisgICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJl
bmNlZCA8c3ltYm9sPjogIklmIGF0dHJpYnV0ZXMgJ3dpZHRoJworICAgICAgICBhbmQvb3IgJ2hl
aWdodCcgYXJlIHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuCisgICAgICAgIHRo
ZXNlIGF0dHJpYnV0ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgZ2VuZXJhdGVkICdzdmcn
LiIKKyAgICAgICAgUXVvdGF0aW9uIGZvciByZWZlcmVuY2VkIDxzdmc+OiAiSWYgYXR0cmlidXRl
cyAnd2lkdGgnCisgICAgICAgIGFuZC9vciAnaGVpZ2h0JyBhcmUgcHJvdmlkZWQgb24gdGhlICd1
c2UnIGVsZW1lbnQsIHRoZW4KKyAgICAgICAgdGhlc2UgdmFsdWVzIHdpbGwgb3ZlcnJpZGUgdGhl
IGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlcworICAgICAgICBvbiB0aGUgJ3N2ZycgaW4gdGhlIGdl
bmVyYXRlZCB0cmVlLiIKKyAgICAgICAgRm9yIGFib3ZlIHF1b3RhdGlvbnMsIHdlIHNob3VsZCB0
cmVhdCAndXNlJyBlbGVtZW50IGFzIHJlZmVyZW5jaW5nCisgICAgICAgICd1c2UnIGVsZW1lbnQs
IGp1c3QgbGlrZSBGaXJlZm94IDMuNiBhbmQgT3BlcmEgMTEsIGluc3RlYWQgb2YKKyAgICAgICAg
Y29ycmVuc3BvbmRpbmcgJ3VzZScgZWxlbWVudC4KKworICAgICAgICBUZXN0czogc3ZnL2N1c3Rv
bS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLnN2ZworICAgICAg
ICAgICAgICAgc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMt
dG8tc3ZnMS5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRo
LWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzIuc3ZnCisgICAgICAgICAgICAgICBzdmcvY3VzdG9t
L3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wuc3ZnCisgICAg
ICAgICAgICAgICBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGll
cy10by1zeW1ib2wxLnN2ZworICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi5zdmcKKworICAgICAgICAqIHN2Zy9T
VkdFbGVtZW50SW5zdGFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3Rh
bmNlOjpTVkdFbGVtZW50SW5zdGFuY2UpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y29ycmVzcG9uZGluZ1VzZUVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpkaXJlY3RVc2VFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6Y2xlYXJVc2VFbGVt
ZW50cyk6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dXBkYXRlQ29udGFpbmVyU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
Ojp1cGRhdGVDb250YWluZXJTaXplcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wSW5zdGFuY2VU
cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmJ1aWxkSW5zdGFuY2VUcmVlKToKKwog
MjAxMS0wMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50SW5zdGFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5jcHAKaW5kZXggYTg3M2YwYi4uNWE2NTRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRJbnN0YW5jZS5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA3LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICog
Q29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIFRvcmNoIE1vYmlsZSAoQmVpamluZykg
Q28uIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDAs
MTUgKzQxLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRM
ZWFrQ291bnRlciBpbnN0YW5jZUNvdW50ZXIoIldlYkNvcmVTVkdFbGVtZW50SW5zdGFuY2UiKTsK
ICNlbmRpZgogCi1TVkdFbGVtZW50SW5zdGFuY2U6OlNWR0VsZW1lbnRJbnN0YW5jZShTVkdVc2VF
bGVtZW50KiB1c2VFbGVtZW50LCBQYXNzUmVmUHRyPFNWR0VsZW1lbnQ+IG9yaWdpbmFsRWxlbWVu
dCkKLSAgICA6IG1fdXNlRWxlbWVudCh1c2VFbGVtZW50KQorU1ZHRWxlbWVudEluc3RhbmNlOjpT
VkdFbGVtZW50SW5zdGFuY2UoU1ZHVXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQs
IFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4g
b3JpZ2luYWxFbGVtZW50KQorICAgIDogbV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudChjb3JyZXNw
b25kaW5nVXNlRWxlbWVudCkKKyAgICAsIG1fZGlyZWN0VXNlRWxlbWVudChkaXJlY3RVc2VFbGVt
ZW50KQogICAgICwgbV9lbGVtZW50KG9yaWdpbmFsRWxlbWVudCkKICAgICAsIG1fcHJldmlvdXNT
aWJsaW5nKDApCiAgICAgLCBtX25leHRTaWJsaW5nKDApCiAgICAgLCBtX2ZpcnN0Q2hpbGQoMCkK
ICAgICAsIG1fbGFzdENoaWxkKDApCiB7Ci0gICAgQVNTRVJUKG1fdXNlRWxlbWVudCk7CisgICAg
QVNTRVJUKG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpOwogICAgIEFTU0VSVChtX2VsZW1lbnQp
OwogCiAgICAgLy8gUmVnaXN0ZXIgYXMgaW5zdGFuY2UgZm9yIHBhc3NlZCBlbGVtZW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCmluZGV4IDZkYmNmZjQuLjJhOGM1MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDExIFRvcmNoIE1vYmlsZSAoQmVp
amluZykgQ28uIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtMzksOSArNDAsOSBAQCBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2VMaXN0OwogY2xhc3MgU1ZH
RWxlbWVudEluc3RhbmNlIDogcHVibGljIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBFdmVudFRhcmdldCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZHVXNl
RWxlbWVudCogdXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1l
bnQpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZH
VXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVj
dFVzZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdFbGVtZW50SW5zdGFuY2UodXNlRWxl
bWVudCwgb3JpZ2luYWxFbGVtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZH
RWxlbWVudEluc3RhbmNlKGNvcnJlc3BvbmRpbmdVc2VFbGVtZW50LCBkaXJlY3RVc2VFbGVtZW50
LCBvcmlnaW5hbEVsZW1lbnQpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5TVkdFbGVtZW50SW5z
dGFuY2UoKTsKQEAgLTU1LDkgKzU2LDE0IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgZGlz
cGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7CiAKICAgICBTVkdFbGVtZW50KiBjb3JyZXNw
b25kaW5nRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQotICAgIFNW
R1VzZUVsZW1lbnQqIGNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV91
c2VFbGVtZW50OyB9CisgICAgU1ZHVXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2NvcnJlc3BvbmRpbmdVc2VFbGVtZW50OyB9CisgICAgU1ZHVXNl
RWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0VXNlRWxl
bWVudDsgfQogICAgIFNWR0VsZW1lbnQqIHNoYWRvd1RyZWVFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9zaGFkb3dUcmVlRWxlbWVudC5nZXQoKTsgfQotICAgIHZvaWQgY2xlYXJVc2VFbGVtZW50
KCkgeyBtX3VzZUVsZW1lbnQgPSAwOyB9CisgICAgdm9pZCBjbGVhclVzZUVsZW1lbnRzKCkKKyAg
ICB7CisgICAgICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7CisgICAgICAgIG1fY29ycmVzcG9u
ZGluZ1VzZUVsZW1lbnQgPSAwOworICAgIH0KIAogICAgIFNWR0VsZW1lbnRJbnN0YW5jZSogcGFy
ZW50Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIHBhcmVudCgpOyB9CiAgICAgUGFzc1JlZlB0cjxTVkdF
bGVtZW50SW5zdGFuY2VMaXN0PiBjaGlsZE5vZGVzKCk7CkBAIC0xMjAsNyArMTI2LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgU1ZHVXNlRWxlbWVudDsKIAotICAgIFNW
R0VsZW1lbnRJbnN0YW5jZShTVkdVc2VFbGVtZW50KiwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBv
cmlnaW5hbEVsZW1lbnQpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZShTVkdVc2VFbGVtZW50Kiwg
U1ZHVXNlRWxlbWVudCosIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KTsK
IAogICAgIHZpcnR1YWwgTm9kZSogdG9Ob2RlKCkgeyByZXR1cm4gc2hhZG93VHJlZUVsZW1lbnQo
KTsgfQogICAgIHZpcnR1YWwgU1ZHRWxlbWVudEluc3RhbmNlKiB0b1NWR0VsZW1lbnRJbnN0YW5j
ZSgpIHsgcmV0dXJuIHRoaXM7IH0KQEAgLTE1MCw3ICsxNTYsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKICAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CiAKLSAgICBTVkdVc2VFbGVt
ZW50KiBtX3VzZUVsZW1lbnQ7CisgICAgU1ZHVXNlRWxlbWVudCogbV9jb3JyZXNwb25kaW5nVXNl
RWxlbWVudDsKKyAgICBTVkdVc2VFbGVtZW50KiBtX2RpcmVjdFVzZUVsZW1lbnQ7CiAgICAgUmVm
UHRyPFNWR0VsZW1lbnQ+IG1fZWxlbWVudDsKICAgICBSZWZQdHI8U1ZHRWxlbWVudD4gbV9zaGFk
b3dUcmVlRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGE4
YTFjZjkuLmE2YWVhZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKQEAgLTI0
NSwxMSArMjQ1LDE1IEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6ZmlsbEF0dHJpYnV0ZVRvUHJvcGVy
dHlUeXBlTWFwKCkKICAgICBhdHRyaWJ1dGVUb1Byb3BlcnR5VHlwZU1hcC5zZXQoWExpbmtOYW1l
czo6aHJlZkF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlQ29u
dGFpbmVyU2l6ZShTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50LCBTVkdFbGVtZW50SW5zdGFuY2Uq
IHRhcmdldEluc3RhbmNlKQorc3RhdGljIHZvaWQgdXBkYXRlQ29udGFpbmVyU2l6ZShTVkdFbGVt
ZW50SW5zdGFuY2UqIHRhcmdldEluc3RhbmNlKQogewogICAgIC8vIERlcHRoLWZpcnN0IHVzZWQg
dG8gd3JpdGUgdGhlIG1ldGhvZCBpbiBlYXJseSBleGl0IHN0eWxlLCBubyBwYXJ0aWN1bGFyIG90
aGVyIHJlYXNvbi4KICAgICBmb3IgKFNWR0VsZW1lbnRJbnN0YW5jZSogaW5zdGFuY2UgPSB0YXJn
ZXRJbnN0YW5jZS0+Zmlyc3RDaGlsZCgpOyBpbnN0YW5jZTsgaW5zdGFuY2UgPSBpbnN0YW5jZS0+
bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgdXBkYXRlQ29udGFpbmVyU2l6ZSh1c2VFbGVtZW50LCBp
bnN0YW5jZSk7CisgICAgICAgIHVwZGF0ZUNvbnRhaW5lclNpemUoaW5zdGFuY2UpOworCisgICAg
U1ZHVXNlRWxlbWVudCogdXNlRWxlbWVudCA9IHRhcmdldEluc3RhbmNlLT5kaXJlY3RVc2VFbGVt
ZW50KCk7CisgICAgaWYgKCF1c2VFbGVtZW50KQorICAgICAgICByZXR1cm47CiAKICAgICBTVkdF
bGVtZW50KiBjb3JyZXNwb25kaW5nRWxlbWVudCA9IHRhcmdldEluc3RhbmNlLT5jb3JyZXNwb25k
aW5nRWxlbWVudCgpOwogICAgIEFTU0VSVChjb3JyZXNwb25kaW5nRWxlbWVudCk7CkBAIC0yODcs
NyArMjkxLDggQEAgdm9pZCBTVkdVc2VFbGVtZW50Ojp1cGRhdGVDb250YWluZXJTaXplcygpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIC8vIFVwZGF0ZSB3aG9sZSBzdWJ0cmVlLCBzY2FubmluZyBm
b3Igc2hhZG93IGNvbnRhaW5lciBlbGVtZW50cywgdGhhdCBjb3JyZXNwb25kIHRvIDxzdmc+Lzxz
eW1ib2w+IHRhZ3MKLSAgICB1cGRhdGVDb250YWluZXJTaXplKHRoaXMsIG1fdGFyZ2V0RWxlbWVu
dEluc3RhbmNlLmdldCgpKTsKKyAgICBBU1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmRp
cmVjdFVzZUVsZW1lbnQoKSA9PSB0aGlzKTsKKyAgICB1cGRhdGVDb250YWluZXJTaXplKG1fdGFy
Z2V0RWxlbWVudEluc3RhbmNlLmdldCgpKTsKIAogICAgIGlmIChSZW5kZXJPYmplY3QqIG9iamVj
dCA9IHJlbmRlcmVyKCkpCiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0
QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsKQEAgLTM4Niw2ICszOTEsOSBA
QCB2b2lkIGR1bXBJbnN0YW5jZVRyZWUodW5zaWduZWQgaW50JiBkZXB0aCwgU3RyaW5nJiB0ZXh0
LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhcgogICAgIFNWR0VsZW1lbnQqIHNoYWRvd1RyZWVFbGVt
ZW50ID0gdGFyZ2V0SW5zdGFuY2UtPnNoYWRvd1RyZWVFbGVtZW50KCk7CiAgICAgQVNTRVJUKHNo
YWRvd1RyZWVFbGVtZW50KTsKIAorICAgIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQg
PSB0YXJnZXRJbnN0YW5jZS0+ZGlyZWN0VXNlRWxlbWVudCgpOworICAgIFN0cmluZyBkaXJlY3RV
c2VFbGVtZW50TmFtZSA9IGRpcmVjdFVzZUVsZW1lbnQgPyBkaXJlY3RVc2VFbGVtZW50LT5ub2Rl
TmFtZSgpIDogIm51bGwiOworCiAgICAgU3RyaW5nIGVsZW1lbnRJZCA9IGVsZW1lbnQtPmdldElk
QXR0cmlidXRlKCk7CiAgICAgU3RyaW5nIGVsZW1lbnROb2RlTmFtZSA9IGVsZW1lbnQtPm5vZGVO
YW1lKCk7CiAgICAgU3RyaW5nIHNoYWRvd1RyZWVFbGVtZW50Tm9kZU5hbWUgPSBzaGFkb3dUcmVl
RWxlbWVudC0+bm9kZU5hbWUoKTsKQEAgLTM5NSw5ICs0MDMsOSBAQCB2b2lkIGR1bXBJbnN0YW5j
ZVRyZWUodW5zaWduZWQgaW50JiBkZXB0aCwgU3RyaW5nJiB0ZXh0LCBTVkdFbGVtZW50SW5zdGFu
Y2UqIHRhcgogICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZGVwdGg7ICsraSkKICAg
ICAgICAgdGV4dCArPSAiICAiOwogCi0gICAgdGV4dCArPSBTdHJpbmc6OmZvcm1hdCgiU1ZHRWxl
bWVudEluc3RhbmNlIHRoaXM9JXAsIChwYXJlbnROb2RlPSVzICglcCksIGZpcnN0Q2hpbGQ9JXMg
KCVwKSwgY29ycmVzcG9uZGluZ0VsZW1lbnQ9JXMgKCVwKSwgc2hhZG93VHJlZUVsZW1lbnQ9JXMg
KCVwKSwgaWQ9JXMpXG4iLAorICAgIHRleHQgKz0gU3RyaW5nOjpmb3JtYXQoIlNWR0VsZW1lbnRJ
bnN0YW5jZSB0aGlzPSVwLCAocGFyZW50Tm9kZT0lcyAoJXApLCBmaXJzdENoaWxkPSVzICglcCks
IGNvcnJlc3BvbmRpbmdFbGVtZW50PSVzICglcCksIGRpcmVjdFVzZUVsZW1lbnQ9JXMgKCVwKSwg
c2hhZG93VHJlZUVsZW1lbnQ9JXMgKCVwKSwgaWQ9JXMpXG4iLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGFyZ2V0SW5zdGFuY2UsIHBhcmVudE5vZGVOYW1lLmxhdGluMSgpLmRhdGEoKSwg
ZWxlbWVudC0+cGFyZW50Tm9kZSgpLCBmaXJzdENoaWxkTm9kZU5hbWUubGF0aW4xKCkuZGF0YSgp
LCBlbGVtZW50LT5maXJzdENoaWxkKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVt
ZW50Tm9kZU5hbWUubGF0aW4xKCkuZGF0YSgpLCBlbGVtZW50LCBzaGFkb3dUcmVlRWxlbWVudE5v
ZGVOYW1lLmxhdGluMSgpLmRhdGEoKSwgc2hhZG93VHJlZUVsZW1lbnQsIGVsZW1lbnRJZC5sYXRp
bjEoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudE5vZGVOYW1l
LmxhdGluMSgpLmRhdGEoKSwgZWxlbWVudCwgZGlyZWN0VXNlRWxlbWVudE5hbWUubGF0aW4xKCku
ZGF0YSgpLCBkaXJlY3RVc2VFbGVtZW50LCBzaGFkb3dUcmVlRWxlbWVudE5vZGVOYW1lLmxhdGlu
MSgpLmRhdGEoKSwgc2hhZG93VHJlZUVsZW1lbnQsIGVsZW1lbnRJZC5sYXRpbjEoKS5kYXRhKCkp
OwogCiAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBkZXB0aDsgKytpKQogICAgICAg
ICB0ZXh0ICs9ICIgICI7CkBAIC01MzksNyArNTQ3LDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50Ojpi
dWlsZFNoYWRvd0FuZEluc3RhbmNlVHJlZShTVkdTaGFkb3dUcmVlUm9vdEVsZW1lbnQqIHNoYWRv
d1IKICAgICAvLyBTcGVjOiBJZiB0aGUgJ3VzZScgZWxlbWVudCByZWZlcmVuY2VzIGEgc2ltcGxl
IGdyYXBoaWNzIGVsZW1lbnQgc3VjaCBhcyBhICdyZWN0JywgdGhlbiB0aGVyZSBpcyBvbmx5IGEK
ICAgICAvLyBzaW5nbGUgU1ZHRWxlbWVudEluc3RhbmNlIG9iamVjdCwgYW5kIHRoZSBjb3JyZXNw
b25kaW5nRWxlbWVudCBhdHRyaWJ1dGUgb24gdGhpcyBTVkdFbGVtZW50SW5zdGFuY2Ugb2JqZWN0
CiAgICAgLy8gaXMgdGhlIFNWR1JlY3RFbGVtZW50IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHJl
ZmVyZW5jZWQgJ3JlY3QnIGVsZW1lbnQuCi0gICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UgPSBT
VkdFbGVtZW50SW5zdGFuY2U6OmNyZWF0ZSh0aGlzLCB0YXJnZXQpOworICAgIG1fdGFyZ2V0RWxl
bWVudEluc3RhbmNlID0gU1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUodGhpcywgdGhpcywgdGFy
Z2V0KTsKIAogICAgIC8vIEV2ZW50dWFsbHkgZW50ZXIgcmVjdXJzaW9uIHRvIGJ1aWxkIFNWR0Vs
ZW1lbnRJbnN0YW5jZSBvYmplY3RzIGZvciB0aGUgc3ViLXRyZWUgY2hpbGRyZW4KICAgICBib29s
IGZvdW5kUHJvYmxlbSA9IGZhbHNlOwpAQCAtNTU2LDYgKzU2NCw3IEBAIHZvaWQgU1ZHVXNlRWxl
bWVudDo6YnVpbGRTaGFkb3dBbmRJbnN0YW5jZVRyZWUoU1ZHU2hhZG93VHJlZVJvb3RFbGVtZW50
KiBzaGFkb3dSCiAgICAgQVNTRVJUKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlKTsKICAgICBBU1NF
UlQoIW1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5zaGFkb3dUcmVlRWxlbWVudCgpKTsKICAgICBB
U1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KCkg
PT0gdGhpcyk7CisgICAgQVNTRVJUKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5kaXJlY3RVc2VF
bGVtZW50KCkgPT0gdGhpcyk7CiAgICAgQVNTRVJUKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5j
b3JyZXNwb25kaW5nRWxlbWVudCgpID09IHRhcmdldCk7CiAKICAgICAvLyBCdWlsZCBzaGFkb3cg
dHJlZSBmcm9tIGluc3RhbmNlIHRyZWUKQEAgLTU4OCw2ICs1OTcsMTYgQEAgdm9pZCBTVkdVc2VF
bGVtZW50OjpidWlsZFNoYWRvd0FuZEluc3RhbmNlVHJlZShTVkdTaGFkb3dUcmVlUm9vdEVsZW1l
bnQqIHNoYWRvd1IKICAgICAvLyBDb25zaXN0ZW5jeSBjaGVja3MgLSB0aGlzIGlzIGFzc3VtZWQg
aW4gdXBkYXRlQ29udGFpbmVyT2Zmc2V0KCkuCiAgICAgQVNTRVJUKG1fdGFyZ2V0RWxlbWVudElu
c3RhbmNlLT5zaGFkb3dUcmVlRWxlbWVudCgpLT5wYXJlbnROb2RlKCkgPT0gc2hhZG93Um9vdCk7
CiAKKyAgICAvLyBUcmFuc2ZlciBldmVudCBsaXN0ZW5lcnMgYXNzaWduZWQgdG8gdGhlIHJlZmVy
ZW5jZWQgZWxlbWVudCB0byBvdXIgc2hhZG93IHRyZWUgZWxlbWVudHMuCisgICAgdHJhbnNmZXJF
dmVudExpc3RlbmVyc1RvU2hhZG93VHJlZShtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS5nZXQoKSk7
CisKKyAgICAvLyBVcGRhdGUgY29udGFpbmVyIG9mZnNldC9zaXplCisgICAgdXBkYXRlQ29udGFp
bmVyT2Zmc2V0cygpOworICAgIHVwZGF0ZUNvbnRhaW5lclNpemVzKCk7CisKKyAgICAvLyBVcGRh
dGUgcmVsYXRpdmUgbGVuZ3RoIGluZm9ybWF0aW9uCisgICAgdXBkYXRlUmVsYXRpdmVMZW5ndGhz
SW5mb3JtYXRpb24oKTsKKwogICAgIC8vIEV2ZW50dWFsbHkgZHVtcCBpbnN0YW5jZSB0cmVlCiAj
aWZkZWYgRFVNUF9JTlNUQU5DRV9UUkVFCiAgICAgU3RyaW5nIHRleHQ7CkBAIC02MDgsMjMgKzYy
NywxMyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxkU2hhZG93QW5kSW5zdGFuY2VUcmVlKFNW
R1NoYWRvd1RyZWVSb290RWxlbWVudCogc2hhZG93UgogCiAgICAgZnByaW50ZihzdGRlcnIsICJE
dW1waW5nIDx1c2U+IHNoYWRvdyB0cmVlIG1hcmt1cDpcbiVzXG4iLCBtYXJrdXAubGF0aW4xKCku
ZGF0YSgpKTsKICNlbmRpZgotCi0gICAgLy8gVHJhbnNmZXIgZXZlbnQgbGlzdGVuZXJzIGFzc2ln
bmVkIHRvIHRoZSByZWZlcmVuY2VkIGVsZW1lbnQgdG8gb3VyIHNoYWRvdyB0cmVlIGVsZW1lbnRz
LgotICAgIHRyYW5zZmVyRXZlbnRMaXN0ZW5lcnNUb1NoYWRvd1RyZWUobV90YXJnZXRFbGVtZW50
SW5zdGFuY2UuZ2V0KCkpOwotCi0gICAgLy8gVXBkYXRlIGNvbnRhaW5lciBvZmZzZXQvc2l6ZQot
ICAgIHVwZGF0ZUNvbnRhaW5lck9mZnNldHMoKTsKLSAgICB1cGRhdGVDb250YWluZXJTaXplcygp
OwotCi0gICAgLy8gVXBkYXRlIHJlbGF0aXZlIGxlbmd0aCBpbmZvcm1hdGlvbgotICAgIHVwZGF0
ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKCk7CiB9CiAKIHZvaWQgU1ZHVXNlRWxlbWVudDo6
ZGV0YWNoSW5zdGFuY2UoKQogewogICAgIGlmICghbV90YXJnZXRFbGVtZW50SW5zdGFuY2UpCiAg
ICAgICAgIHJldHVybjsKLSAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS0+Y2xlYXJVc2VFbGVt
ZW50KCk7CisgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyVXNlRWxlbWVudHMoKTsK
ICAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSA9IDA7CiB9CiAKQEAgLTcyOCw3ICs3MzcsNyBA
QCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxkSW5zdGFuY2VUcmVlKFNWR0VsZW1lbnQqIHRhcmdl
dCwgU1ZHRWxlbWVudEluc3RhbmNlKiB0YQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgLy8gQ3JlYXRlIFNWR0VsZW1lbnRJbnN0YW5jZSBvYmplY3QsIGZvciBib3RoIGNvbnRhaW5l
ci9ub24tY29udGFpbmVyIG5vZGVzLgotICAgICAgICBSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNl
PiBpbnN0YW5jZSA9IFNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKHRoaXMsIGVsZW1lbnQpOwor
ICAgICAgICBSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBpbnN0YW5jZSA9IFNWR0VsZW1lbnRJ
bnN0YW5jZTo6Y3JlYXRlKHRoaXMsIDAsIGVsZW1lbnQpOwogICAgICAgICBTVkdFbGVtZW50SW5z
dGFuY2UqIGluc3RhbmNlUHRyID0gaW5zdGFuY2UuZ2V0KCk7CiAgICAgICAgIHRhcmdldEluc3Rh
bmNlLT5hcHBlbmRDaGlsZChpbnN0YW5jZS5yZWxlYXNlKCkpOwogCkBAIC03NDEsNyArNzUwLDcg
QEAgdm9pZCBTVkdVc2VFbGVtZW50OjpidWlsZEluc3RhbmNlVHJlZShTVkdFbGVtZW50KiB0YXJn
ZXQsIFNWR0VsZW1lbnRJbnN0YW5jZSogdGEKICAgICBpZiAoIXRhcmdldEhhc1VzZVRhZyB8fCAh
bmV3VGFyZ2V0KQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8U1ZHRWxlbWVudEluc3Rh
bmNlPiBuZXdJbnN0YW5jZSA9IFNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKHRoaXMsIG5ld1Rh
cmdldCk7CisgICAgUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZT4gbmV3SW5zdGFuY2UgPSBTVkdF
bGVtZW50SW5zdGFuY2U6OmNyZWF0ZSh0aGlzLCBzdGF0aWNfY2FzdDxTVkdVc2VFbGVtZW50Kj4o
dGFyZ2V0KSwgbmV3VGFyZ2V0KTsKICAgICBTVkdFbGVtZW50SW5zdGFuY2UqIG5ld0luc3RhbmNl
UHRyID0gbmV3SW5zdGFuY2UuZ2V0KCk7CiAgICAgdGFyZ2V0SW5zdGFuY2UtPmFwcGVuZENoaWxk
KG5ld0luc3RhbmNlLnJlbGVhc2UoKSk7CiAgICAgYnVpbGRJbnN0YW5jZVRyZWUobmV3VGFyZ2V0
LCBuZXdJbnN0YW5jZVB0ciwgZm91bmRQcm9ibGVtKTsKLS0gCjEuNy4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84851</attachid>
            <date>2011-03-05 01:09:06 -0800</date>
            <delta_ts>2011-03-21 05:40:06 -0700</delta_ts>
            <desc>Revised patch version 2</desc>
            <filename>0001-2011-02-22-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>42174</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSAzMDkzZTU1NWI4MzE5MjY2MjIzMDRlMjM2ODAxOTAwZjZhNzA4NzZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBXZWQsIDIzIEZlYiAyMDExIDExOjAxOjU5ICswODAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMS0wMi0yMiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBzeW1ib2wgZGlzcGxheSA8
dXNlPiBhdCB3cm9uZyBzY2FsZQogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NDUzOAoKICAgICAgICBTVkcgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIv
U1ZHL3N0cnVjdC5odG1sI1VzZUVsZW1lbnQKICAgICAgICBRdW90YXRpb24gZm9yIHJlZmVyZW5j
ZWQgPHN5bWJvbD46ICJJZiBhdHRyaWJ1dGVzICd3aWR0aCcKICAgICAgICBhbmQvb3IgJ2hlaWdo
dCcgYXJlIHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuCiAgICAgICAgdGhlc2Ug
YXR0cmlidXRlcyB3aWxsIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0ZWQgJ3N2ZycuIgog
ICAgICAgIFF1b3RhdGlvbiBmb3IgcmVmZXJlbmNlZCA8c3ZnPjogIklmIGF0dHJpYnV0ZXMgJ3dp
ZHRoJwogICAgICAgIGFuZC9vciAnaGVpZ2h0JyBhcmUgcHJvdmlkZWQgb24gdGhlICd1c2UnIGVs
ZW1lbnQsIHRoZW4KICAgICAgICB0aGVzZSB2YWx1ZXMgd2lsbCBvdmVycmlkZSB0aGUgY29ycmVz
cG9uZGluZyBhdHRyaWJ1dGVzCiAgICAgICAgb24gdGhlICdzdmcnIGluIHRoZSBnZW5lcmF0ZWQg
dHJlZS4iCiAgICAgICAgRm9yIGFib3ZlIHF1b3RhdGlvbnMsIHdlIHNob3VsZCB0cmVhdCAndXNl
JyBlbGVtZW50IGFzIHJlZmVyZW5jaW5nCiAgICAgICAgJ3VzZScgZWxlbWVudCwganVzdCBsaWtl
IEZpcmVmb3ggMy42IGFuZCBPcGVyYSAxMSwgaW5zdGVhZCBvZgogICAgICAgIGNvcnJlbnNwb25k
aW5nICd1c2UnIGVsZW1lbnQuCgogICAgICAgIFRlc3RzOiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnCiAgICAgICAgICAgICAgIHN2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEuc3ZnCiAg
ICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0
aWVzLXRvLXN2ZzIuc3ZnCiAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcKICAgICAgICAgICAgICAgc3ZnL2N1
c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5zdmcK
ICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ltYm9sMi5zdmcKCiAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNw
cDoKICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFu
Y2UpOgogICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOgogICAgICAgIChXZWJDb3Jl
OjpTVkdFbGVtZW50SW5zdGFuY2U6OmNyZWF0ZSk6CiAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1l
bnRJbnN0YW5jZTo6Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpOgogICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OmRpcmVjdFVzZUVsZW1lbnQpOgogICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6OmNsZWFyVXNlRWxlbWVudHMpOgogICAgICAgICogc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwOgogICAgICAgIChXZWJDb3JlOjp1cGRhdGVDb250YWluZXJTaXplKToKICAg
ICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6dXBkYXRlQ29udGFpbmVyU2l6ZXMpOgogICAg
ICAgIChXZWJDb3JlOjpkdW1wSW5zdGFuY2VUcmVlKToKICAgICAgICAoV2ViQ29yZTo6U1ZHVXNl
RWxlbWVudDo6ZGV0YWNoSW5zdGFuY2UpOgogICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
OjpidWlsZEluc3RhbmNlVHJlZSk6CiAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13
aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAg
ICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2
Zy5zdmc6IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS5zdmc6
IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXBy
b3BlcnRpZXMtdG8tc3ZnMi1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogc3ZnL2N1c3Rv
bS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmc6IEFkZGVk
LgogICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRp
ZXMtdG8tc3ltYm9sLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBzdmcvY3VzdG9tL3Vz
ZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wuc3ZnOiBBZGRlZC4K
ICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN5bWJvbDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnOiBBZGRlZC4K
ICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDIuc3ZnOiBBZGRlZC4K
LS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMzYgKysrKysrKysrKysrKysrCiAuLi5pZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1l
eHBlY3RlZC5jaGVja3N1bSB8ICAgIDEgKwogLi4uZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN2Zy1leHBlY3RlZC5wbmcgfCAgQmluIDAgLT4gMzI4NyBieXRlcwogLi4uZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQuY2hlY2tzdW0gfCAgICAxICsKIC4uLmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQucG5nIHwgIEJpbiAwIC0+IDMy
ODcgYnl0ZXMKIC4uLmR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLmNoZWNr
c3VtIHwgICAgMSArCiAuLi5lci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVj
dGVkLnBuZyB8ICBCaW4gMCAtPiAzMjg3IGJ5dGVzCiAuLi5oLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN5bWJvbC1leHBlY3RlZC5jaGVja3N1bSB8ICAgIDEgKwogLi4uLXdpZHRoLWhlaWdodC1wcm9w
ZXJ0aWVzLXRvLXN5bWJvbC1leHBlY3RlZC5wbmcgfCAgQmluIDAgLT4gMzI4NyBieXRlcwogLi4u
LWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEtZXhwZWN0ZWQuY2hlY2tzdW0gfCAgICAxICsK
IC4uLndpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEtZXhwZWN0ZWQucG5nIHwgIEJp
biAwIC0+IDMyODcgYnl0ZXMKIC4uLi1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLWV4cGVj
dGVkLmNoZWNrc3VtIHwgICAgMSArCiAuLi53aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1i
b2wyLWV4cGVjdGVkLnBuZyB8ICBCaW4gMCAtPiAzMjg3IGJ5dGVzCiAuLi5mZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ZnLWV4cGVjdGVkLnR4dCB8ICAgMTggKysrKysrKysKIC4uLnVz
ZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnIHwgICAxMiArKysr
KwogLi4uZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3RlZC50eHQgfCAg
IDExICsrKysrCiAuLi5zZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcx
LnN2ZyB8ICAgIDkgKysrKwogLi4uZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi1l
eHBlY3RlZC50eHQgfCAgIDEzICsrKysrCiAuLi5zZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmcyLnN2ZyB8ICAgMTIgKysrKysKIC4uLi13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zeW1ib2wtZXhwZWN0ZWQudHh0IHwgICAxMSArKysrKwogLi4uLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcgfCAgIDEyICsrKysrCiAuLi53aWR0
aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4cGVjdGVkLnR4dCB8ICAgIDkgKysrKwog
Li4udHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5zdmcgfCAgICA5
ICsrKysKIC4uLndpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDItZXhwZWN0ZWQudHh0
IHwgICAxNiArKysrKysrCiAuLi50cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1z
eW1ib2wyLnN2ZyB8ICAgMTIgKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICA0MCArKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAgICAgICAgICAgfCAgICA4ICsrLQogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oICAgICAgICAgICAgfCAgIDE5ICsrKysr
LS0tCiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgICAgICAgICAgICAgICB8
ICAgNDcgKysrKysrKysrKysrLS0tLS0tLS0KIDI5IGZpbGVzIGNoYW5nZWQsIDI3MiBpbnNlcnRp
b25zKCspLCAyOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGll
cy10by1zdmctZXhwZWN0ZWQuY2hlY2tzdW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zdmctZXhwZWN0ZWQucG5nCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRp
ZXMtdG8tc3ZnMS1leHBlY3RlZC5jaGVja3N1bQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9w
ZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQucG5nCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ZnMi1leHBlY3RlZC5jaGVja3N1bQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1w
cm9wZXJ0aWVzLXRvLXN2ZzItZXhwZWN0ZWQucG5nCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXBy
b3BlcnRpZXMtdG8tc3ltYm9sLWV4cGVjdGVkLmNoZWNrc3VtCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLWV4cGVjdGVkLnBuZwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDEtZXhwZWN0ZWQuY2hlY2tzdW0KIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13
aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4cGVjdGVkLnBuZwogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDItZXhwZWN0ZWQuY2hlY2tzdW0KIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10
cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLWV4cGVjdGVkLnBuZwog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmcuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3Rl
ZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcxLnN2ZwogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9w
ZXJ0aWVzLXRvLXN2ZzItZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3Zn
Mi5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgt
aGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN5bWJvbDEtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5z
dmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLWV4cGVjdGVkLnR4dAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDIuc3ZnCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU2MTY5YmIuLjJlOGI0M2Qg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wMi0yMiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0
b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgc3ltYm9sIGRpc3BsYXkgPHVzZT4gYXQgd3Jvbmcgc2NhbGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTM4CisKKyAgICAgICAg
VGVzdCBjYXNlcyBmb3IgdHJhbnNmZXJpbmcgd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMgZnJvbQor
ICAgICAgICAndXNlJyBlbGVtZW50IHRvICdzdmcnIGFuZCAnc3ltYm9sJyBlbGVtZW50cy4KKyAg
ICAgICAgU2VlOiBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvc3RydWN0Lmh0bWwjVXNlRWxlbWVu
dAorCisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91
c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLnN2ZzogQWRkZWQuCisg
ICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMt
dG8tc3ZnMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRy
YW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1z
dmcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtdHJhbnNm
ZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmc6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJv
bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmc6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJv
bDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3lt
Ym9sMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDIuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmctZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN2Zy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L3N2Zy9jdXN0
b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRy
YW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1o
ZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmcyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
cXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3lt
Ym9sLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wtZXhw
ZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10
cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4cGVjdGVkLmNoZWNr
c3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zl
ci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXBy
b3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC5wbmc6IEFkZGVkLgorCiAyMDExLTAyLTIyICBN
YXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgbWlz
c2luZyBmaWxlcyBmcm9tIHI3OTM1MS4gVGhlc2UgYXJlIGV4cGVjdGVkIHJlc3VsdHMgZm9yIG5l
dyBtZWRpYSB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3Rl
ZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3RlZC5jaGVja3N1bQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzYzODQxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgt
aGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAK
Kzc3ODgwM2RmMGE4MjRlZDhmMmM3ZGZhMDdjNTY4MzJlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLWV4cGVjdGVkLnBuZyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdo
dC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTEyMGQ3YzM4ODk5
OGEwMWRkODQ0MDNlY2IwYzIwMWExY2Y2N2FmMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzI4
Nwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkxQiVRbFlicFJ6RVg3V3FBc2ok
WiE7I1ZmPFp+OHkKekw+NG5KQEVya1IjO013VChoTGtkbTdYcStBcio3cC1hTj9MO0swTU92SDk0
LSZsaXIkRnpzJWRgYnB8KCNQP1o4Cnp2KEclMFZQTDRhek94IT0jc18mTzc2eWhCOTBDanMzZCMt
KTM9S1VEajBfQSRxazx6U0sjST90Y19SbW1eKl8hMAp6OTFJSy0xUWkkPDlOWmQhaTk/YytpR2Qt
N1dtSXI5S3Q+YjhYaHMrPDhBZU9SKEhkZDJIWE4tRE17N2ZqK0hmWCYKWChvfi0xMzh5IU04amNL
fXU2ezEtb0QhTTw1ZX0wZgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN2ZzEtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNzM2Mzg0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2
Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhw
ZWN0ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBAQAorNzc4ODAzZGYwYTgyNGVkOGYyYzdkZmEwN2M1
NjgzMmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zdmcxLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUxMjBkN2MzODg5OThhMDFkZDg0NDAzZWNiMGMyMDFhMWNmNjdh
ZjEKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDMyODcKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5
fnlVeyt2WVYyYT5pMUIlUWxZYnBSekVYN1dxQXNqJFohOyNWZjxafjh5CnpMPjRuSkBFcmtSIztN
d1QoaExrZG03WHErQXIqN3AtYU4/TDtLME1Pdkg5NC0mbGlyJEZ6cyVkYGJwfCgjUD9aOAp6dihH
JTBWUEw0YXpPeCE9I3NfJk83NnloQjkwQ2pzM2QjLSkzPUtVRGowX0EkcWs8elNLI0k/dGNfUm1t
XipfITAKejkxSUstMVFpJDw5TlpkIWk5P2MraUdkLTdXbUlyOUt0PmI4WGhzKzw4QWVPUihIZGQy
SFhOLURNezdmaitIZlgmClgob34tMTM4eSFNOGpjS311NnsxLW9EIU08NWV9MGYKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzItZXhwZWN0
ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLmNoZWNrc3VtCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNjM4NDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0
aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEg
QEAKKzc3ODgwM2RmMGE4MjRlZDhmMmM3ZGZhMDdjNTY4MzJlClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91
c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1o
ZWlnaHQtcHJvcGVydGllcy10by1zdmcyLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTIwZDdj
Mzg4OTk4YTAxZGQ4NDQwM2VjYjBjMjAxYTFjZjY3YWYxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAzMjg3CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTFCJVFsWWJwUnpFWDdX
cUFzaiRaITsjVmY8Wn44eQp6TD40bkpARXJrUiM7TXdUKGhMa2RtN1hxK0FyKjdwLWFOP0w7SzBN
T3ZIOTQtJmxpciRGenMlZGBicHwoI1A/WjgKenYoRyUwVlBMNGF6T3ghPSNzXyZPNzZ5aEI5MENq
czNkIy0pMz1LVURqMF9BJHFrPHpTSyNJP3RjX1JtbV4qXyEwCno5MUlLLTFRaSQ8OU5aZCFpOT9j
K2lHZC03V21JcjlLdD5iOFhocys8OEFlT1IoSGRkMkhYTi1ETXs3ZmorSGZYJgpYKG9+LTEzOHkh
TThqY0t9dTZ7MS1vRCFNPDVlfTBmCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1o
ZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zeW1ib2wtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNzM2Mzg0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRv
LXN5bWJvbC1leHBlY3RlZC5jaGVja3N1bQpAQCAtMCwwICsxIEBACis3Nzg4MDNkZjBhODI0ZWQ4
ZjJjN2RmYTA3YzU2ODMyZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10
by1zeW1ib2wtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMjBkN2MzODg5OThhMDFkZDg0NDAz
ZWNiMGMyMDFhMWNmNjdhZjEKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDMyODcKemNtZUFTQE4/
KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMUIlUWxZYnBSekVYN1dxQXNqJFohOyNWZjxafjh5
CnpMPjRuSkBFcmtSIztNd1QoaExrZG03WHErQXIqN3AtYU4/TDtLME1Pdkg5NC0mbGlyJEZ6cyVk
YGJwfCgjUD9aOAp6dihHJTBWUEw0YXpPeCE9I3NfJk83NnloQjkwQ2pzM2QjLSkzPUtVRGowX0Ek
cWs8elNLI0k/dGNfUm1tXipfITAKejkxSUstMVFpJDw5TlpkIWk5P2MraUdkLTdXbUlyOUt0PmI4
WGhzKzw4QWVPUihIZGQySFhOLURNezdmaitIZlgmClgob34tMTM4eSFNOGpjS311NnsxLW9EIU08
NWV9MGYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN5bWJvbDEtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9z
dmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wx
LWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcz
NjM4NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvY3Vz
dG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4cGVj
dGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzc3ODgwM2RmMGE4MjRlZDhmMmM3ZGZhMDdjNTY4
MzJlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRp
ZXMtdG8tc3ltYm9sMS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTIwZDdjMzg4OTk4YTAxZGQ4NDQwM2VjYjBjMjAxYTFj
ZjY3YWYxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMjg3CnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEweX55VXsrdllWMmE+aTFCJVFsWWJwUnpFWDdXcUFzaiRaITsjVmY8Wn44eQp6TD40bkpARXJr
UiM7TXdUKGhMa2RtN1hxK0FyKjdwLWFOP0w7SzBNT3ZIOTQtJmxpciRGenMlZGBicHwoI1A/WjgK
enYoRyUwVlBMNGF6T3ghPSNzXyZPNzZ5aEI5MENqczNkIy0pMz1LVURqMF9BJHFrPHpTSyNJP3Rj
X1JtbV4qXyEwCno5MUlLLTFRaSQ8OU5aZCFpOT9jK2lHZC03V21JcjlLdD5iOFhocys8OEFlT1Io
SGRkMkhYTi1ETXs3ZmorSGZYJgpYKG9+LTEzOHkhTThqY0t9dTZ7MS1vRCFNPDVlfTBmCgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9z
dmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wy
LWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91
c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC5j
aGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzYzODQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2UtdHJh
bnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC5jaGVja3N1
bQpAQCAtMCwwICsxIEBACis3Nzg4MDNkZjBhODI0ZWQ4ZjJjN2RmYTA3YzU2ODMyZQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJv
bDItZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC5wbmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTEyMGQ3YzM4ODk5OGEwMWRkODQ0MDNlY2IwYzIwMWExY2Y2N2FmMQpHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgMzI4Nwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZ
VjJhPmkxQiVRbFlicFJ6RVg3V3FBc2okWiE7I1ZmPFp+OHkKekw+NG5KQEVya1IjO013VChoTGtk
bTdYcStBcio3cC1hTj9MO0swTU92SDk0LSZsaXIkRnpzJWRgYnB8KCNQP1o4Cnp2KEclMFZQTDRh
ek94IT0jc18mTzc2eWhCOTBDanMzZCMtKTM9S1VEajBfQSRxazx6U0sjST90Y19SbW1eKl8hMAp6
OTFJSy0xUWkkPDlOWmQhaTk/YytpR2QtN1dtSXI5S3Q+YjhYaHMrPDhBZU9SKEhkZDJIWE4tRE17
N2ZqK0hmWCYKWChvfi0xMzh5IU04amNLfXU2ezEtb0QhTTw1ZX0wZgoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QzMWFkMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdp
ZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBA
QAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAKKyAgUmVuZGVyU1ZHUm9vdCB7
c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5l
ciB7c3ZnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVj
dH0gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgw
MDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFtoZWlnaHQ9MS4wMF0KKyAgICAg
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMjAweDIwMAor
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAg
ICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUg
MjAweDIwMAorICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXpl
IDIwMHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBb
eT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdodD0xLjAwXQorICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7dXNlfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMjAweDIwMAorICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgICAgICAgICAgICBSZW5kZXJTVkdWaWV3
cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFto
ZWlnaHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5z
ZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2Zy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiN2I5ZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJv
cGVydGllcy10by1zdmcuc3ZnCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
c3RhbmRhbG9uZT0ibm8iPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4w
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxzdmcgaWQ9
InMiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHJlY3QgZmlsbD0iZ3JlZW4iIHg9
IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAgIDwvc3ZnPgorICAgICAg
ICA8c3ZnIGlkPSJzMSIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8dXNlIHhsaW5r
OmhyZWY9IiNzIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgorICAgICAgICA8
L3N2Zz4KKyAgICA8L2RlZnM+CisgICAgPHVzZSB4bGluazpocmVmPSIjczEiIC8+Cis8L3N2Zz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZmNDNkMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhl
aWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30g
YXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZz
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2
Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFt4PTAuMDBdIFt5PTAuMDBdIFt3aWR0aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCisgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyU1ZHVmll
d3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFtoZWln
aHQ9MS4wMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN2ZzEuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMS5zdmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM0ODYwYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9w
ZXJ0aWVzLXRvLXN2ZzEuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBz
dGFuZGFsb25lPSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAi
IHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAgPHN2ZyBpZD0i
cyIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxsPSJncmVlbiIgeD0i
MCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zdmc+CisgICAgPC9k
ZWZzPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3MiIC8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN2ZzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNm
ZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM3OTM3YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVz
LXRvLXN2ZzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0MDB4NDAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6
ZSAyMDB4MjAwCisgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMjAw
eDIwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5PTAu
MDBdIFt3aWR0aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1
c2V9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIg
e3N2Z30gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMjAweDIwMAorICAgICAgICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDIwMHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdo
dD0xLjAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcyLnN2ZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzEyNTVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3Bl
cnRpZXMtdG8tc3ZnMi5zdmcKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBz
dGFuZGFsb25lPSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAi
IHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAgPHN2ZyBpZD0i
cyIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxsPSJncmVlbiIgeD0i
MCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zdmc+CisgICAgICAg
IDxzeW1ib2wgaWQ9InMxIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAgICAgIDx1c2UgeGxp
bms6aHJlZj0iI3MiIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CisgICAgICAg
IDwvc3ltYm9sPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9IiNzMSIgLz4KKzwv
c3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lk
dGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJv
bC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjczNmU2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAKKyAgUmVuZGVyU1ZH
Um9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1
c2V9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIg
e3N2Z30gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMjAweDIwMAorICAgICAgICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDIwMHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdo
dD0xLjAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ3YWFjNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1w
cm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBzdGFuZGFsb25lPSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9u
PSIxLjAiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4KKyAgICA8ZGVmcz4KKyAgICAgICAgPHN5
bWJvbCBpZD0icyIgdmlld0JveD0iMCAwIDIgMiI+CisgICAgICAgICAgICA8cmVjdCBmaWxsPSJn
cmVlbiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zeW1i
b2w+CisgICAgICAgIDxzeW1ib2wgaWQ9InMxIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAg
ICAgIDx1c2UgeGxpbms6aHJlZj0iI3MiIHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEi
IC8+CisgICAgICAgIDwvc3ltYm9sPgorICAgIDwvZGVmcz4KKyAgICA8dXNlIHhsaW5rOmhyZWY9
IiNzMSIgLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
dHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zeW1ib2wxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5kZGRjNzI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgMjAweDIw
MAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJT
VkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJTVkdWaWV3
cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MS4wMF0gW2hlaWdo
dD0xLjAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wxLnN2
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzYxZjc0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVpZ2h0
LXByb3BlcnRpZXMtdG8tc3ltYm9sMS5zdmcKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9u
PSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNp
b249IjEuMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorICAgIDxkZWZzPgorICAgICAgICA8
c3ltYm9sIGlkPSJzIiB2aWV3Qm94PSIwIDAgMiAyIj4KKyAgICAgICAgICAgIDxyZWN0IGZpbGw9
ImdyZWVuIiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgorICAgICAgICA8L3N5
bWJvbD4KKyAgICA8L2RlZnM+CisgICAgPHVzZSB4bGluazpocmVmPSIjcyIgLz4KKzwvc3ZnPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lkdGgtaGVp
Z2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDQ3Mzg1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXItd2lk
dGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ltYm9sMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAKKyAgUmVuZGVyU1ZHUm9v
dCB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRh
aW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjAweDIwMAorICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwCisgICAgICAgICAgICBSZW5kZXJTVkdWaWV3
cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEuMDBdIFto
ZWlnaHQ9MS4wMF0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMTAweDEw
MAorICAgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXpl
IDIwMHgyMDAKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUg
MjAweDIwMAorICAgICAgICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQg
KDAsMCkgc2l6ZSAyMDB4MjAwCisgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgMjAweDIwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFt4PTAuMDBdIFt5PTAuMDBdIFt3aWR0aD0xLjAwXSBbaGVpZ2h0PTEuMDBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zeW1ib2wyLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXRyYW5zZmVy
LXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbDIuc3ZnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmJkMjE1MzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1i
b2wyLnN2ZwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9
Im5vIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMCIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPgorICAgIDxkZWZzPgorICAgICAgICA8c3ltYm9sIGlkPSJzIiB2aWV3
Qm94PSIwIDAgMiAyIj4KKyAgICAgICAgICAgIDxyZWN0IGZpbGw9ImdyZWVuIiB4PSIwIiB5PSIw
IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgorICAgICAgICA8L3N5bWJvbD4KKyAgICAgICAgPHN2
ZyBpZD0iczEiIHZpZXdCb3g9IjAgMCAyIDIiPgorICAgICAgICAgICAgPHVzZSB4bGluazpocmVm
PSIjcyIgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KKyAgICAgICAgPC9zdmc+
CisgICAgPC9kZWZzPgorICAgIDx1c2UgeGxpbms6aHJlZj0iI3MxIiAvPgorPC9zdmc+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggNmUzNjZiNC4uNGI0ZGFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisy
MDExLTAyLTIyICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzeW1ib2wgZGlzcGxh
eSA8dXNlPiBhdCB3cm9uZyBzY2FsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQ1MzgKKworICAgICAgICBTVkcgc3BlYzogaHR0cDovL3d3dy53My5v
cmcvVFIvU1ZHL3N0cnVjdC5odG1sI1VzZUVsZW1lbnQKKyAgICAgICAgUXVvdGF0aW9uIGZvciBy
ZWZlcmVuY2VkIDxzeW1ib2w+OiAiSWYgYXR0cmlidXRlcyAnd2lkdGgnCisgICAgICAgIGFuZC9v
ciAnaGVpZ2h0JyBhcmUgcHJvdmlkZWQgb24gdGhlICd1c2UnIGVsZW1lbnQsIHRoZW4KKyAgICAg
ICAgdGhlc2UgYXR0cmlidXRlcyB3aWxsIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0ZWQg
J3N2ZycuIgorICAgICAgICBRdW90YXRpb24gZm9yIHJlZmVyZW5jZWQgPHN2Zz46ICJJZiBhdHRy
aWJ1dGVzICd3aWR0aCcKKyAgICAgICAgYW5kL29yICdoZWlnaHQnIGFyZSBwcm92aWRlZCBvbiB0
aGUgJ3VzZScgZWxlbWVudCwgdGhlbgorICAgICAgICB0aGVzZSB2YWx1ZXMgd2lsbCBvdmVycmlk
ZSB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGVzCisgICAgICAgIG9uIHRoZSAnc3ZnJyBpbiB0
aGUgZ2VuZXJhdGVkIHRyZWUuIgorICAgICAgICBGb3IgYWJvdmUgcXVvdGF0aW9ucywgd2Ugc2hv
dWxkIHRyZWF0ICd1c2UnIGVsZW1lbnQgYXMgcmVmZXJlbmNpbmcKKyAgICAgICAgJ3VzZScgZWxl
bWVudCwganVzdCBsaWtlIEZpcmVmb3ggMy42IGFuZCBPcGVyYSAxMSwgaW5zdGVhZCBvZgorICAg
ICAgICBjb3JyZW5zcG9uZGluZyAndXNlJyBlbGVtZW50LgorCisgICAgICAgIFRlc3RzOiBzdmcv
Y3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zdmcuc3ZnCisg
ICAgICAgICAgICAgICBzdmcvY3VzdG9tL3VzZS10cmFuc2Zlci13aWR0aC1oZWlnaHQtcHJvcGVy
dGllcy10by1zdmcxLnN2ZworICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS91c2UtdHJhbnNmZXIt
d2lkdGgtaGVpZ2h0LXByb3BlcnRpZXMtdG8tc3ZnMi5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9j
dXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9wZXJ0aWVzLXRvLXN5bWJvbC5zdmcK
KyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vdXNlLXRyYW5zZmVyLXdpZHRoLWhlaWdodC1wcm9w
ZXJ0aWVzLXRvLXN5bWJvbDEuc3ZnCisgICAgICAgICAgICAgICBzdmcvY3VzdG9tL3VzZS10cmFu
c2Zlci13aWR0aC1oZWlnaHQtcHJvcGVydGllcy10by1zeW1ib2wyLnN2ZworCisgICAgICAgICog
c3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50
SW5zdGFuY2U6OlNWR0VsZW1lbnRJbnN0YW5jZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJ
bnN0YW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjb3JyZXNwb25kaW5nVXNl
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRpcmVjdFVz
ZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjbGVhclVz
ZUVsZW1lbnRzKToKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp1cGRhdGVDb250YWluZXJTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVs
ZW1lbnQ6OnVwZGF0ZUNvbnRhaW5lclNpemVzKToKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBJbnN0
YW5jZVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6ZGV0YWNoSW5zdGFu
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6YnVpbGRJbnN0YW5jZVRyZWUp
OgorCiAyMDExLTAyLTIyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dEluc3RhbmNlLmNwcAppbmRleCBhODczZjBiLi41YTY1NGRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgVG9yY2ggTW9iaWxlIChCZWlq
aW5nKSBDby4gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC00MCwxNSArNDEsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIFdURjo6UmVmQ291
bnRlZExlYWtDb3VudGVyIGluc3RhbmNlQ291bnRlcigiV2ViQ29yZVNWR0VsZW1lbnRJbnN0YW5j
ZSIpOwogI2VuZGlmCiAKLVNWR0VsZW1lbnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKFNW
R1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxF
bGVtZW50KQotICAgIDogbV91c2VFbGVtZW50KHVzZUVsZW1lbnQpCitTVkdFbGVtZW50SW5zdGFu
Y2U6OlNWR0VsZW1lbnRJbnN0YW5jZShTVkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxl
bWVudCwgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVt
ZW50PiBvcmlnaW5hbEVsZW1lbnQpCisgICAgOiBtX2NvcnJlc3BvbmRpbmdVc2VFbGVtZW50KGNv
cnJlc3BvbmRpbmdVc2VFbGVtZW50KQorICAgICwgbV9kaXJlY3RVc2VFbGVtZW50KGRpcmVjdFVz
ZUVsZW1lbnQpCiAgICAgLCBtX2VsZW1lbnQob3JpZ2luYWxFbGVtZW50KQogICAgICwgbV9wcmV2
aW91c1NpYmxpbmcoMCkKICAgICAsIG1fbmV4dFNpYmxpbmcoMCkKICAgICAsIG1fZmlyc3RDaGls
ZCgwKQogICAgICwgbV9sYXN0Q2hpbGQoMCkKIHsKLSAgICBBU1NFUlQobV91c2VFbGVtZW50KTsK
KyAgICBBU1NFUlQobV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudCk7CiAgICAgQVNTRVJUKG1fZWxl
bWVudCk7CiAKICAgICAvLyBSZWdpc3RlciBhcyBpbnN0YW5jZSBmb3IgcGFzc2VkIGVsZW1lbnQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKaW5kZXggNmRiY2ZmNC4uMmE4
YzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaApAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgVG9yY2ggTW9iaWxl
IChCZWlqaW5nKSBDby4gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC0zOSw5ICs0MCw5IEBAIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q7CiBjbGFz
cyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFu
Y2U+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIEV2ZW50VGFyZ2V0IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNyZWF0ZShT
VkdVc2VFbGVtZW50KiB1c2VFbGVtZW50LCBQYXNzUmVmUHRyPFNWR0VsZW1lbnQ+IG9yaWdpbmFs
RWxlbWVudCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNyZWF0
ZShTVkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxlbWVudCwgU1ZHVXNlRWxlbWVudCog
ZGlyZWN0VXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0VsZW1lbnRJbnN0YW5jZSh1
c2VFbGVtZW50LCBvcmlnaW5hbEVsZW1lbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTVkdFbGVtZW50SW5zdGFuY2UoY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIGRpcmVjdFVzZUVs
ZW1lbnQsIG9yaWdpbmFsRWxlbWVudCkpOwogICAgIH0KIAogICAgIHZpcnR1YWwgflNWR0VsZW1l
bnRJbnN0YW5jZSgpOwpAQCAtNTUsOSArNTYsMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKIAogICAgIFNWR0VsZW1lbnQqIGNv
cnJlc3BvbmRpbmdFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9Ci0g
ICAgU1ZHVXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX3VzZUVsZW1lbnQ7IH0KKyAgICBTVkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQ7IH0KKyAgICBT
VkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3RV
c2VFbGVtZW50OyB9CiAgICAgU1ZHRWxlbWVudCogc2hhZG93VHJlZUVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX3NoYWRvd1RyZWVFbGVtZW50LmdldCgpOyB9Ci0gICAgdm9pZCBjbGVhclVzZUVs
ZW1lbnQoKSB7IG1fdXNlRWxlbWVudCA9IDA7IH0KKyAgICB2b2lkIGNsZWFyVXNlRWxlbWVudHMo
KQorICAgIHsKKyAgICAgICAgbV9kaXJlY3RVc2VFbGVtZW50ID0gMDsKKyAgICAgICAgbV9jb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCA9IDA7CisgICAgfQogCiAgICAgU1ZHRWxlbWVudEluc3RhbmNl
KiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1cm4gcGFyZW50KCk7IH0KICAgICBQYXNzUmVmUHRy
PFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IGNoaWxkTm9kZXMoKTsKQEAgLTEyMCw3ICsxMjYsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTVkdVc2VFbGVtZW50OwogCi0g
ICAgU1ZHRWxlbWVudEluc3RhbmNlKFNWR1VzZUVsZW1lbnQqLCBQYXNzUmVmUHRyPFNWR0VsZW1l
bnQ+IG9yaWdpbmFsRWxlbWVudCk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlKFNWR1VzZUVsZW1l
bnQqLCBTVkdVc2VFbGVtZW50KiwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1l
bnQpOwogCiAgICAgdmlydHVhbCBOb2RlKiB0b05vZGUoKSB7IHJldHVybiBzaGFkb3dUcmVlRWxl
bWVudCgpOyB9CiAgICAgdmlydHVhbCBTVkdFbGVtZW50SW5zdGFuY2UqIHRvU1ZHRWxlbWVudElu
c3RhbmNlKCkgeyByZXR1cm4gdGhpczsgfQpAQCAtMTUwLDcgKzE1Niw4IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwogICAgIHZpcnR1
YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKIAotICAgIFNWR1Vz
ZUVsZW1lbnQqIG1fdXNlRWxlbWVudDsKKyAgICBTVkdVc2VFbGVtZW50KiBtX2NvcnJlc3BvbmRp
bmdVc2VFbGVtZW50OworICAgIFNWR1VzZUVsZW1lbnQqIG1fZGlyZWN0VXNlRWxlbWVudDsKICAg
ICBSZWZQdHI8U1ZHRWxlbWVudD4gbV9lbGVtZW50OwogICAgIFJlZlB0cjxTVkdFbGVtZW50PiBt
X3NoYWRvd1RyZWVFbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKaW5k
ZXggYThhMWNmOS4uYTZhZWFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcApA
QCAtMjQ1LDExICsyNDUsMTUgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpmaWxsQXR0cmlidXRlVG9Q
cm9wZXJ0eVR5cGVNYXAoKQogICAgIGF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwLnNldChYTGlu
a05hbWVzOjpocmVmQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRh
dGVDb250YWluZXJTaXplKFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQsIFNWR0VsZW1lbnRJbnN0
YW5jZSogdGFyZ2V0SW5zdGFuY2UpCitzdGF0aWMgdm9pZCB1cGRhdGVDb250YWluZXJTaXplKFNW
R0VsZW1lbnRJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UpCiB7CiAgICAgLy8gRGVwdGgtZmlyc3Qg
dXNlZCB0byB3cml0ZSB0aGUgbWV0aG9kIGluIGVhcmx5IGV4aXQgc3R5bGUsIG5vIHBhcnRpY3Vs
YXIgb3RoZXIgcmVhc29uLgogICAgIGZvciAoU1ZHRWxlbWVudEluc3RhbmNlKiBpbnN0YW5jZSA9
IHRhcmdldEluc3RhbmNlLT5maXJzdENoaWxkKCk7IGluc3RhbmNlOyBpbnN0YW5jZSA9IGluc3Rh
bmNlLT5uZXh0U2libGluZygpKQotICAgICAgICB1cGRhdGVDb250YWluZXJTaXplKHVzZUVsZW1l
bnQsIGluc3RhbmNlKTsKKyAgICAgICAgdXBkYXRlQ29udGFpbmVyU2l6ZShpbnN0YW5jZSk7CisK
KyAgICBTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50ID0gdGFyZ2V0SW5zdGFuY2UtPmRpcmVjdFVz
ZUVsZW1lbnQoKTsKKyAgICBpZiAoIXVzZUVsZW1lbnQpCisgICAgICAgIHJldHVybjsKIAogICAg
IFNWR0VsZW1lbnQqIGNvcnJlc3BvbmRpbmdFbGVtZW50ID0gdGFyZ2V0SW5zdGFuY2UtPmNvcnJl
c3BvbmRpbmdFbGVtZW50KCk7CiAgICAgQVNTRVJUKGNvcnJlc3BvbmRpbmdFbGVtZW50KTsKQEAg
LTI4Nyw3ICsyOTEsOCBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnVwZGF0ZUNvbnRhaW5lclNpemVz
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gVXBkYXRlIHdob2xlIHN1YnRyZWUsIHNjYW5u
aW5nIGZvciBzaGFkb3cgY29udGFpbmVyIGVsZW1lbnRzLCB0aGF0IGNvcnJlc3BvbmQgdG8gPHN2
Zz4vPHN5bWJvbD4gdGFncwotICAgIHVwZGF0ZUNvbnRhaW5lclNpemUodGhpcywgbV90YXJnZXRF
bGVtZW50SW5zdGFuY2UuZ2V0KCkpOworICAgIEFTU0VSVChtX3RhcmdldEVsZW1lbnRJbnN0YW5j
ZS0+ZGlyZWN0VXNlRWxlbWVudCgpID09IHRoaXMpOworICAgIHVwZGF0ZUNvbnRhaW5lclNpemUo
bV90YXJnZXRFbGVtZW50SW5zdGFuY2UuZ2V0KCkpOwogCiAgICAgaWYgKFJlbmRlck9iamVjdCog
b2JqZWN0ID0gcmVuZGVyZXIoKSkKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JM
YXlvdXRBbmRQYXJlbnRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwpAQCAtMzg2LDYgKzM5
MSw5IEBAIHZvaWQgZHVtcEluc3RhbmNlVHJlZSh1bnNpZ25lZCBpbnQmIGRlcHRoLCBTdHJpbmcm
IHRleHQsIFNWR0VsZW1lbnRJbnN0YW5jZSogdGFyCiAgICAgU1ZHRWxlbWVudCogc2hhZG93VHJl
ZUVsZW1lbnQgPSB0YXJnZXRJbnN0YW5jZS0+c2hhZG93VHJlZUVsZW1lbnQoKTsKICAgICBBU1NF
UlQoc2hhZG93VHJlZUVsZW1lbnQpOwogCisgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxl
bWVudCA9IHRhcmdldEluc3RhbmNlLT5kaXJlY3RVc2VFbGVtZW50KCk7CisgICAgU3RyaW5nIGRp
cmVjdFVzZUVsZW1lbnROYW1lID0gZGlyZWN0VXNlRWxlbWVudCA/IGRpcmVjdFVzZUVsZW1lbnQt
Pm5vZGVOYW1lKCkgOiAibnVsbCI7CisKICAgICBTdHJpbmcgZWxlbWVudElkID0gZWxlbWVudC0+
Z2V0SWRBdHRyaWJ1dGUoKTsKICAgICBTdHJpbmcgZWxlbWVudE5vZGVOYW1lID0gZWxlbWVudC0+
bm9kZU5hbWUoKTsKICAgICBTdHJpbmcgc2hhZG93VHJlZUVsZW1lbnROb2RlTmFtZSA9IHNoYWRv
d1RyZWVFbGVtZW50LT5ub2RlTmFtZSgpOwpAQCAtMzk1LDkgKzQwMyw5IEBAIHZvaWQgZHVtcElu
c3RhbmNlVHJlZSh1bnNpZ25lZCBpbnQmIGRlcHRoLCBTdHJpbmcmIHRleHQsIFNWR0VsZW1lbnRJ
bnN0YW5jZSogdGFyCiAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBkZXB0aDsgKytp
KQogICAgICAgICB0ZXh0ICs9ICIgICI7CiAKLSAgICB0ZXh0ICs9IFN0cmluZzo6Zm9ybWF0KCJT
VkdFbGVtZW50SW5zdGFuY2UgdGhpcz0lcCwgKHBhcmVudE5vZGU9JXMgKCVwKSwgZmlyc3RDaGls
ZD0lcyAoJXApLCBjb3JyZXNwb25kaW5nRWxlbWVudD0lcyAoJXApLCBzaGFkb3dUcmVlRWxlbWVu
dD0lcyAoJXApLCBpZD0lcylcbiIsCisgICAgdGV4dCArPSBTdHJpbmc6OmZvcm1hdCgiU1ZHRWxl
bWVudEluc3RhbmNlIHRoaXM9JXAsIChwYXJlbnROb2RlPSVzICglcCksIGZpcnN0Q2hpbGQ9JXMg
KCVwKSwgY29ycmVzcG9uZGluZ0VsZW1lbnQ9JXMgKCVwKSwgZGlyZWN0VXNlRWxlbWVudD0lcyAo
JXApLCBzaGFkb3dUcmVlRWxlbWVudD0lcyAoJXApLCBpZD0lcylcbiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0YXJnZXRJbnN0YW5jZSwgcGFyZW50Tm9kZU5hbWUubGF0aW4xKCkuZGF0
YSgpLCBlbGVtZW50LT5wYXJlbnROb2RlKCksIGZpcnN0Q2hpbGROb2RlTmFtZS5sYXRpbjEoKS5k
YXRhKCksIGVsZW1lbnQtPmZpcnN0Q2hpbGQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVsZW1lbnROb2RlTmFtZS5sYXRpbjEoKS5kYXRhKCksIGVsZW1lbnQsIHNoYWRvd1RyZWVFbGVt
ZW50Tm9kZU5hbWUubGF0aW4xKCkuZGF0YSgpLCBzaGFkb3dUcmVlRWxlbWVudCwgZWxlbWVudElk
LmxhdGluMSgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9k
ZU5hbWUubGF0aW4xKCkuZGF0YSgpLCBlbGVtZW50LCBkaXJlY3RVc2VFbGVtZW50TmFtZS5sYXRp
bjEoKS5kYXRhKCksIGRpcmVjdFVzZUVsZW1lbnQsIHNoYWRvd1RyZWVFbGVtZW50Tm9kZU5hbWUu
bGF0aW4xKCkuZGF0YSgpLCBzaGFkb3dUcmVlRWxlbWVudCwgZWxlbWVudElkLmxhdGluMSgpLmRh
dGEoKSk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGRlcHRoOyArK2kpCiAg
ICAgICAgIHRleHQgKz0gIiAgIjsKQEAgLTUzOSw3ICs1NDcsNyBAQCB2b2lkIFNWR1VzZUVsZW1l
bnQ6OmJ1aWxkU2hhZG93QW5kSW5zdGFuY2VUcmVlKFNWR1NoYWRvd1RyZWVSb290RWxlbWVudCog
c2hhZG93UgogICAgIC8vIFNwZWM6IElmIHRoZSAndXNlJyBlbGVtZW50IHJlZmVyZW5jZXMgYSBz
aW1wbGUgZ3JhcGhpY3MgZWxlbWVudCBzdWNoIGFzIGEgJ3JlY3QnLCB0aGVuIHRoZXJlIGlzIG9u
bHkgYQogICAgIC8vIHNpbmdsZSBTVkdFbGVtZW50SW5zdGFuY2Ugb2JqZWN0LCBhbmQgdGhlIGNv
cnJlc3BvbmRpbmdFbGVtZW50IGF0dHJpYnV0ZSBvbiB0aGlzIFNWR0VsZW1lbnRJbnN0YW5jZSBv
YmplY3QKICAgICAvLyBpcyB0aGUgU1ZHUmVjdEVsZW1lbnQgdGhhdCBjb3JyZXNwb25kcyB0byB0
aGUgcmVmZXJlbmNlZCAncmVjdCcgZWxlbWVudC4KLSAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5j
ZSA9IFNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKHRoaXMsIHRhcmdldCk7CisgICAgbV90YXJn
ZXRFbGVtZW50SW5zdGFuY2UgPSBTVkdFbGVtZW50SW5zdGFuY2U6OmNyZWF0ZSh0aGlzLCB0aGlz
LCB0YXJnZXQpOwogCiAgICAgLy8gRXZlbnR1YWxseSBlbnRlciByZWN1cnNpb24gdG8gYnVpbGQg
U1ZHRWxlbWVudEluc3RhbmNlIG9iamVjdHMgZm9yIHRoZSBzdWItdHJlZSBjaGlsZHJlbgogICAg
IGJvb2wgZm91bmRQcm9ibGVtID0gZmFsc2U7CkBAIC01NTYsNiArNTY0LDcgQEAgdm9pZCBTVkdV
c2VFbGVtZW50OjpidWlsZFNoYWRvd0FuZEluc3RhbmNlVHJlZShTVkdTaGFkb3dUcmVlUm9vdEVs
ZW1lbnQqIHNoYWRvd1IKICAgICBBU1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFuY2UpOwogICAg
IEFTU0VSVCghbV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPnNoYWRvd1RyZWVFbGVtZW50KCkpOwog
ICAgIEFTU0VSVChtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS0+Y29ycmVzcG9uZGluZ1VzZUVsZW1l
bnQoKSA9PSB0aGlzKTsKKyAgICBBU1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmRpcmVj
dFVzZUVsZW1lbnQoKSA9PSB0aGlzKTsKICAgICBBU1NFUlQobV90YXJnZXRFbGVtZW50SW5zdGFu
Y2UtPmNvcnJlc3BvbmRpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KTsKIAogICAgIC8vIEJ1aWxkIHNo
YWRvdyB0cmVlIGZyb20gaW5zdGFuY2UgdHJlZQpAQCAtNTg4LDYgKzU5NywxNiBAQCB2b2lkIFNW
R1VzZUVsZW1lbnQ6OmJ1aWxkU2hhZG93QW5kSW5zdGFuY2VUcmVlKFNWR1NoYWRvd1RyZWVSb290
RWxlbWVudCogc2hhZG93UgogICAgIC8vIENvbnNpc3RlbmN5IGNoZWNrcyAtIHRoaXMgaXMgYXNz
dW1lZCBpbiB1cGRhdGVDb250YWluZXJPZmZzZXQoKS4KICAgICBBU1NFUlQobV90YXJnZXRFbGVt
ZW50SW5zdGFuY2UtPnNoYWRvd1RyZWVFbGVtZW50KCktPnBhcmVudE5vZGUoKSA9PSBzaGFkb3dS
b290KTsKIAorICAgIC8vIFRyYW5zZmVyIGV2ZW50IGxpc3RlbmVycyBhc3NpZ25lZCB0byB0aGUg
cmVmZXJlbmNlZCBlbGVtZW50IHRvIG91ciBzaGFkb3cgdHJlZSBlbGVtZW50cy4KKyAgICB0cmFu
c2ZlckV2ZW50TGlzdGVuZXJzVG9TaGFkb3dUcmVlKG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLmdl
dCgpKTsKKworICAgIC8vIFVwZGF0ZSBjb250YWluZXIgb2Zmc2V0L3NpemUKKyAgICB1cGRhdGVD
b250YWluZXJPZmZzZXRzKCk7CisgICAgdXBkYXRlQ29udGFpbmVyU2l6ZXMoKTsKKworICAgIC8v
IFVwZGF0ZSByZWxhdGl2ZSBsZW5ndGggaW5mb3JtYXRpb24KKyAgICB1cGRhdGVSZWxhdGl2ZUxl
bmd0aHNJbmZvcm1hdGlvbigpOworCiAgICAgLy8gRXZlbnR1YWxseSBkdW1wIGluc3RhbmNlIHRy
ZWUKICNpZmRlZiBEVU1QX0lOU1RBTkNFX1RSRUUKICAgICBTdHJpbmcgdGV4dDsKQEAgLTYwOCwy
MyArNjI3LDEzIEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6YnVpbGRTaGFkb3dBbmRJbnN0YW5jZVRy
ZWUoU1ZHU2hhZG93VHJlZVJvb3RFbGVtZW50KiBzaGFkb3dSCiAKICAgICBmcHJpbnRmKHN0ZGVy
ciwgIkR1bXBpbmcgPHVzZT4gc2hhZG93IHRyZWUgbWFya3VwOlxuJXNcbiIsIG1hcmt1cC5sYXRp
bjEoKS5kYXRhKCkpOwogI2VuZGlmCi0KLSAgICAvLyBUcmFuc2ZlciBldmVudCBsaXN0ZW5lcnMg
YXNzaWduZWQgdG8gdGhlIHJlZmVyZW5jZWQgZWxlbWVudCB0byBvdXIgc2hhZG93IHRyZWUgZWxl
bWVudHMuCi0gICAgdHJhbnNmZXJFdmVudExpc3RlbmVyc1RvU2hhZG93VHJlZShtX3RhcmdldEVs
ZW1lbnRJbnN0YW5jZS5nZXQoKSk7Ci0KLSAgICAvLyBVcGRhdGUgY29udGFpbmVyIG9mZnNldC9z
aXplCi0gICAgdXBkYXRlQ29udGFpbmVyT2Zmc2V0cygpOwotICAgIHVwZGF0ZUNvbnRhaW5lclNp
emVzKCk7Ci0KLSAgICAvLyBVcGRhdGUgcmVsYXRpdmUgbGVuZ3RoIGluZm9ybWF0aW9uCi0gICAg
dXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24oKTsKIH0KIAogdm9pZCBTVkdVc2VFbGVt
ZW50OjpkZXRhY2hJbnN0YW5jZSgpCiB7CiAgICAgaWYgKCFtX3RhcmdldEVsZW1lbnRJbnN0YW5j
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jbGVhclVz
ZUVsZW1lbnQoKTsKKyAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZS0+Y2xlYXJVc2VFbGVtZW50
cygpOwogICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlID0gMDsKIH0KIApAQCAtNzI4LDcgKzcz
Nyw3IEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6YnVpbGRJbnN0YW5jZVRyZWUoU1ZHRWxlbWVudCog
dGFyZ2V0LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhCiAgICAgICAgICAgICBjb250aW51ZTsKIAog
ICAgICAgICAvLyBDcmVhdGUgU1ZHRWxlbWVudEluc3RhbmNlIG9iamVjdCwgZm9yIGJvdGggY29u
dGFpbmVyL25vbi1jb250YWluZXIgbm9kZXMuCi0gICAgICAgIFJlZlB0cjxTVkdFbGVtZW50SW5z
dGFuY2U+IGluc3RhbmNlID0gU1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUodGhpcywgZWxlbWVu
dCk7CisgICAgICAgIFJlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGluc3RhbmNlID0gU1ZHRWxl
bWVudEluc3RhbmNlOjpjcmVhdGUodGhpcywgMCwgZWxlbWVudCk7CiAgICAgICAgIFNWR0VsZW1l
bnRJbnN0YW5jZSogaW5zdGFuY2VQdHIgPSBpbnN0YW5jZS5nZXQoKTsKICAgICAgICAgdGFyZ2V0
SW5zdGFuY2UtPmFwcGVuZENoaWxkKGluc3RhbmNlLnJlbGVhc2UoKSk7CiAKQEAgLTc0MSw3ICs3
NTAsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxkSW5zdGFuY2VUcmVlKFNWR0VsZW1lbnQq
IHRhcmdldCwgU1ZHRWxlbWVudEluc3RhbmNlKiB0YQogICAgIGlmICghdGFyZ2V0SGFzVXNlVGFn
IHx8ICFuZXdUYXJnZXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxTVkdFbGVtZW50
SW5zdGFuY2U+IG5ld0luc3RhbmNlID0gU1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUodGhpcywg
bmV3VGFyZ2V0KTsKKyAgICBSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBuZXdJbnN0YW5jZSA9
IFNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRlKHRoaXMsIHN0YXRpY19jYXN0PFNWR1VzZUVsZW1l
bnQqPih0YXJnZXQpLCBuZXdUYXJnZXQpOwogICAgIFNWR0VsZW1lbnRJbnN0YW5jZSogbmV3SW5z
dGFuY2VQdHIgPSBuZXdJbnN0YW5jZS5nZXQoKTsKICAgICB0YXJnZXRJbnN0YW5jZS0+YXBwZW5k
Q2hpbGQobmV3SW5zdGFuY2UucmVsZWFzZSgpKTsKICAgICBidWlsZEluc3RhbmNlVHJlZShuZXdU
YXJnZXQsIG5ld0luc3RhbmNlUHRyLCBmb3VuZFByb2JsZW0pOwotLSAKMS43LjAuNAoK
</data>
<flag name="review"
          id="76891"
          type_id="1"
          status="+"
          setter="krit"
    />
    <flag name="commit-queue"
          id="76892"
          type_id="3"
          status="-"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>