<?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>48822</bug_id>
          
          <creation_ts>2010-11-02 00:17:16 -0700</creation_ts>
          <short_desc>Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept</short_desc>
          <delta_ts>2010-11-04 08:53:49 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47905</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303245</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-02 00:17:16 -0700</bug_when>
    <thetext>Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303246</commentid>
    <comment_count>1</comment_count>
      <attachid>72634</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-02 00:23:21 -0700</bug_when>
    <thetext>Created attachment 72634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303248</commentid>
    <comment_count>2</comment_count>
      <attachid>72635</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-02 00:31:15 -0700</bug_when>
    <thetext>Created attachment 72635
Patch v2

Recreate patch, after updating to trunk, so it applies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303252</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-02 00:34:00 -0700</bug_when>
    <thetext>Attachment 72635 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/svg/SVGPreserveAspectRatio.cpp:168:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
WebCore/svg/SVGPreserveAspectRatio.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303254</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-02 00:37:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Attachment 72635 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
&gt; WebCore/svg/SVGPreserveAspectRatio.cpp:168:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
&gt; WebCore/svg/SVGPreserveAspectRatio.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Total errors found: 2 in 30 files

Fixed the second issue, ignoring the first on purpose.
switch (blub) {
case foo:
{
    foobar
}
}

is just fine, the style guide doesn&apos;t mention how braces should be formatted when used inside a case statement. The bot only doesn&apos;t complain if I would have used:

switch (blub) {
case foo:
    {
        foobar
    }
}

which looks crazy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303256</commentid>
    <comment_count>5</comment_count>
      <attachid>72635</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2010-11-02 00:48:57 -0700</bug_when>
    <thetext>Comment on attachment 72635
Patch v2

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

Found only one minor issue, so r=me.

&gt; LayoutTests/svg/dom/script-tests/SVGPreserveAspectRatio.js:1
&gt; +description(&quot;This test checks the SVGPreserveAspectRatio API&quot;);

may add the  &quot;utilizing&quot; explanation for consistency :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303260</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-02 01:10:19 -0700</bug_when>
    <thetext>Attachment 72635 did not build on qt:
Build output: http://queues.webkit.org/results/4979013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303265</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-02 01:36:14 -0700</bug_when>
    <thetext>Fixed style issue two, qt and efl builds (all related to SVGNames.h include missing in two places, funny that I don&apos;t need those includes on mac though....). Anyhow, landed in r71103. Closing bug after I get all bot results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303271</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-02 02:19:26 -0700</bug_when>
    <thetext>Attachment 72635 did not build on chromium:
Build output: http://queues.webkit.org/results/4959011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304688</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-04 08:53:49 -0700</bug_when>
    <thetext>Forgot to close.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72634</attachid>
            <date>2010-11-02 00:23:21 -0700</date>
            <delta_ts>2010-11-02 00:31:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>SVGPres.diff</filename>
            <type>text/plain</type>
            <size>58809</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTEwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTEgQEAKKzIwMTAtMTEtMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHRvIHRoZSBuZXcgU1ZHUHJvcGVy
dHlUZWFyT2ZmIGNvbmNlcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ4ODIyCisKKyAgICAgICAgQ29udmVydCB0aGUgbmV4dCB0eXBlIHRvIHVzZSB0
aGUgU1ZHUHJvcGVydHlUZWFyT2ZmQ29uY2VwdC4gSnVzdCBTVkdBbmltYXRlZFRyYW5zZm9ybUxp
c3QvU1ZHVHJhbnNmb3JtL1NWR1N0cmluZ0xpc3QgYXJlIG1pc3NpbmcuCisKKyAgICAgICAgVGVz
dHM6IHN2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwKKyAgICAgICAg
ICAgICAgIHN2Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5odG1sCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbTogQWRkIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIHRvIGJ1
aWxkLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5w
cm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0
by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbTogUmVjb2duaXplIFNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyBhcyBuZXcgc3R5bGUgYW5pbWF0ZWQgdHlwZS4K
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogUmVtb3ZlIHNw
ZWNpYWwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBoYW5kbGluZy4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOiBBbHdheXMgaW5jbHVkZSB0aGUgdHlwZSB3
cmFwcGVkIGJ5IFNWR1Byb3BlcnR5VGVhck9mZjw+IC0gdGhpcyB3YXMgbWlzc2luZyBiZWZvcmUs
IGFuZCBub3cgYmVjb21lIHZpc2libGUgYXMgbWlzc2luZyBpbmNsdWRlLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOiBSZW1vdmUgc3BlY2lhbCBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvIGhhbmRsaW5nLgorICAgICAgICAqIHN2Zy9EZXByZWNhdGVkU1ZHQW5p
bWF0ZWRQcm9wZXJ0eVRyYWl0cy5oOiBSZW1vdmUgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBoYW5k
bGluZy4KKyAgICAgICAgKiBzdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkVGVtcGxhdGUuaDogRGl0
dG8uCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDogcy9ERUNMQVJFX0FOSU1BVEVE
X1BST1BFUlRZL0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXLyB3aGVyZSBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIGlzIHVzZWQuCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnZpZXdCb3hUb1ZpZXdUcmFuc2Zv
cm0pOiBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpnZXRDVE0gZG9lc24ndCBuZWVkIHgveSBwYXJh
bWV0ZXJzLCB0aGV5IHdlcmUgbm90IHVzZWQgYW55d2hlcmUsIHJlbW92ZSB0aGVtLgorICAgICAg
ICAqIHN2Zy9TVkdGaXRUb1ZpZXdCb3guaDogUmVwbGFjZSBpbmNsdWRlcyBieSBjbGFzcyBmb3J3
YXJkcy4KKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50Lmg6IHMvREVDTEFSRV9BTklNQVRF
RF9QUk9QRVJUWS9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVy8gd2hlcmUgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbyBpcyB1c2VkLgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50Lmg6
IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOiBEaXR0by4KKyAgICAg
ICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHA6IE1vZGVybml6ZSBjb2RlLCBhZGQg
ZXJyb3IgaGFuZGxpbmcgZm9yIGFsaWduL21lZXRPclNsaWNlIGNvdmVyZWQgYnkgdGhlIG5ldyB0
ZXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bzo6c2V0QWxpZ24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6
c2V0TWVldE9yU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86OnRyYW5zZm9ybVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJl
c2VydmVBc3BlY3RSYXRpbzo6Z2V0Q1RNKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcpOgorICAgICAgICAqIHN2Zy9TVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmg6IFJlaW5kZW50ZWQgaGVhZGVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJl
c2VydmVBc3BlY3RSYXRpbzo6YWxpZ24pOiBJbmxpbmVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJlc2VydmVBc3BlY3RSYXRpbzo6bWVldE9yU2xpY2UpOiBJbmxpbmVkLgorICAgICAgICAqIHN2
Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbDogRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBm
b3IgdGhlIGFsaWduL21lZXRPclNsaWNlIHByb3BlcnRpZXMuCisgICAgICAgICogc3ZnL1NWR1NW
R0VsZW1lbnQuaDogcy9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZL0RFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTkVXLyB3aGVyZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIGlzIHVzZWQuCisgICAg
ICAgICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1Zp
ZXdFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOiBEaXR0by4K
KwogMjAxMC0xMS0wMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzA5OTkp
CisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zMDU5LDYgKzMw
NTksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0
aERhdGEuaCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQb2ludHMuY3BwIFwKIAlXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFBvaW50cy5oIFwKKwlXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uaCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmggXAogCVdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZUVsZW1lbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNzA5OTkpCisrKyBXZWJDb3JlL1dlYkNvcmUu
Z3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzk5Miw2ICszOTkyLDcgQEAKICAgICAgICAgICAgICdz
dmcvU1ZHQW5pbWF0ZWRQYXRoRGF0YS5oJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRQ
b2ludHMuY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRQb2ludHMuaCcsCisgICAg
ICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oJywKICAgICAgICAg
ICAgICdzdmcvU1ZHQW5pbWF0ZWRSZWN0LmgnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRp
b25FbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaCcs
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS5wcm8JKHJldmlzaW9uIDcwOTk5KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBj
b3B5KQpAQCAtMjM4Miw2ICsyMzgyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyTGlzdC5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRQYXRoRGF0YS5oIFwKICAgICBz
dmcvU1ZHQW5pbWF0ZWRQb2ludHMuaCBcCisgICAgc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpby5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRSZWN0LmggXAogICAgIHN2Zy9TVkdBbmlt
YXRlRWxlbWVudC5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDcwOTk5KQorKysg
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAt
NjE2MDgsNiArNjE2MDgsMTAgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cc3ZnXFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3Zn
XFNWR0FuaW1hdGVkUmVjdC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3MDk5OSkKKysrIFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTQsNiArMjU0LDcgQEAKIAkJMDhGMEJGQzYxMjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRN
ZXRyaWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
OEYwQkZDMTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dE1ldHJpY3MuaCAqLzsgfTsKIAkJMDhG
MkYwMDkxMjEzRTYxNzAwRENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMkYwMDcxMjEzRTYxNzAw
RENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwICovOyB9OwogCQkwOEYyRjAwQTEyMTNF
NjE3MDBEQ0VDNDggLyogUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMkYwMDgxMjEzRTYxNzAwRENFQzQ4IC8qIFJl
bmRlckltYWdlUmVzb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwOEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEZFMEJDNDEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEE0ODQ0OTkwQ0E0NENCMjAwQjdCRDQ4IC8qIFNvZnRMaW5raW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQTQ4NDQ5ODBDQTQ0Q0IyMDBC
N0JENDggLyogU29mdExpbmtpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwQUZEQUMzRDEwRjU0NDhDMDBFMUYzRDIgLyogUGx1Z2luVmlld0Jh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBBRkRB
QzNDMTBGNTQ0OEMwMEUxRjNEMiAvKiBQbHVnaW5WaWV3QmFzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBCOEM1NkQ0MEYyODYyN0YwMDA1MDJF
MSAvKiBIVFRQSGVhZGVyTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBCOEM1NkQzMEYyODYyN0YwMDA1MDJFMSAvKiBIVFRQSGVhZGVyTWFwLmNw
cCAqLzsgfTsKQEAgLTYyNjUsNiArNjI2Niw3IEBACiAJCTA4RjJGMDA4MTIxM0U2MTcwMERDRUM0
OCAvKiBSZW5kZXJJbWFnZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlckltYWdlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDhGQjg0QjAwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhGQjg0QjEwRUNFMzczMzAwREMwNjRFIC8qIFdN
TEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEVs
ZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4RkUwQkM0MTI3
RTJBQzEwMDBDNEZCNSAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBBNDg0NDk4MENBNDRDQjIwMEI3QkQ0
OCAvKiBTb2Z0TGlua2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2Z0
TGlua2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQUZEQUMzQzEwRjU0NDhD
MDBFMUYzRDIgLyogUGx1Z2luVmlld0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z2luVmlld0Jhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEI4
QzU2RDMwRjI4NjI3RjAwMDUwMkUxIC8qIEhUVFBIZWFkZXJNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRUUEhlYWRlck1hcC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjAyOCw2ICsxNjAzMCw3IEBACiAJCQkJQjIyMjc3RjEwRDAwQkYx
RjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUG9pbnRzLmNwcCAqLywKIAkJCQlCMjIyNzdGMjBEMDBC
RjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQb2ludHMuaCAqLywKIAkJCQlCMjIyNzdGMzBEMDBC
RjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQb2ludHMuaWRsICovLAorCQkJCTA4RkUwQkM0MTI3
RTJBQzEwMDBDNEZCNSAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCAqLywKIAkJ
CQlCMjIyNzdGNDBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmlkbCAqLywKIAkJCQkwOEM4NTlCRjEyNzQ1NzUzMDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRS
ZWN0LmggKi8sCiAJCQkJQjIyMjc3RjUwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUmVj
dC5pZGwgKi8sCkBAIC0yMTIzOSw2ICsyMTI0Miw3IEBACiAJCQkJMDgyM0QxNTkxMjdBRDZBQzAw
MEVCQzk1IC8qIFNWR0FuaW1hdGVkSW50ZWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhCMzVC
MTMxMjdCNkE3QzAwNTMxNEREIC8qIFNWR0FuaW1hdGVkTnVtYmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwOEIzNUIxNzEyN0I2QTg4MDA1MzE0REQgLyogU1ZHQW5pbWF0ZWROdW1iZXJMaXN0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwOEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0
ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw3ICs1MSw3IEBAIG15ICVudW1lcmljVHlwZUhhc2ggPSAoImludCIgPT4gMSwgInNob3IKIG15
ICVwcmltaXRpdmVUeXBlSGFzaCA9ICggImJvb2xlYW4iID0+IDEsICJ2b2lkIiA9PiAxLCAiRGF0
ZSIgPT4gMSk7CiAKIG15ICVwb2RUeXBlSGFzaCA9ICgiU1ZHVHJhbnNmb3JtIiA9PiAxKTsKLW15
ICVwb2RUeXBlc1dpdGhXcml0YWJsZVByb3BlcnRpZXNIYXNoID0gKCJTVkdNYXRyaXgiID0+IDEs
ICJTVkdQb2ludCIgPT4gMSwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8iID0+IDEpOworbXkgJXBv
ZFR5cGVzV2l0aFdyaXRhYmxlUHJvcGVydGllc0hhc2ggPSAoIlNWR01hdHJpeCIgPT4gMSwgIlNW
R1BvaW50IiA9PiAxKTsKIG15ICVzdHJpbmdUeXBlSGFzaCA9ICgiRE9NU3RyaW5nIiA9PiAxLCAi
QXRvbWljU3RyaW5nIiA9PiAxKTsKIAogbXkgJW5vblBvaW50ZXJUeXBlSGFzaCA9ICgiRE9NVGlt
ZVN0YW1wIiA9PiAxLCAiQ29tcGFyZUhvdyIgPT4gMSwgIlNWR1BhaW50VHlwZSIgPT4gMSk7CkBA
IC02MCw3ICs2MCw3IEBAIG15ICVzdmdOZXdTdHlsZUFuaW1hdGVkVHlwZUhhc2ggPSAoIlNWR0EK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkRW51bWVyYXRp
b24iID0+IDEsICJTVkdBbmltYXRlZEludGVnZXIiID0+IDEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJTVkdBbmltYXRlZExlbmd0aCIgPT4gMSwgIlNWR0FuaW1hdGVkTGVu
Z3RoTGlzdCIgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0Fu
aW1hdGVkTnVtYmVyIiA9PiAxLCAiU1ZHQW5pbWF0ZWROdW1iZXJMaXN0IiA9PiAxLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRSZWN0IiA9PiAxKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpbyIgPT4gMSwgIlNWR0FuaW1hdGVkUmVjdCIgPT4gMSk7CiAKIG15ICVzdmdBbmltYXRl
ZFR5cGVIYXNoID0gKCJTVkdBbmltYXRlZEFuZ2xlIiA9PiAxLCAiU1ZHQW5pbWF0ZWRCb29sZWFu
IiA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkRW51bWVyYXRp
b24iID0+IDEsICJTVkdBbmltYXRlZEludGVnZXIiID0+IDEsCkBAIC04Miw2ICs4Miw3IEBAIG15
ICVzdmdOYXRpdmVUeXBlID0gKAogICAgICJTVkdMZW5ndGhMaXN0IiA9PiAiU1ZHTGlzdFByb3Bl
cnR5VGVhck9mZjxTVkdMZW5ndGhMaXN0PiIsCiAgICAgIlNWR051bWJlciIgPT4gIlNWR1Byb3Bl
cnR5VGVhck9mZjxmbG9hdD4iLAogICAgICJTVkdOdW1iZXJMaXN0IiA9PiAiU1ZHTGlzdFByb3Bl
cnR5VGVhck9mZjxTVkdOdW1iZXJMaXN0PiIsCisgICAgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8i
ID0+ICJTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4iLAogICAgICJT
VkdSZWN0IiA9PiAiU1ZHUHJvcGVydHlUZWFyT2ZmPEZsb2F0UmVjdD4iCiApOwogCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDcw
OTk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29y
a2luZyBjb3B5KQpAQCAtMjQ1Niw3ICsyNDU2LDYgQEAgbXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAg
IklEQktleSIgPT4gIlJlZlB0cjxJREJLZXk+IiwKICAgICAiU1ZHTWF0cml4IiA9PiAiQWZmaW5l
VHJhbnNmb3JtIiwKICAgICAiU1ZHUGFpbnRUeXBlIiA9PiAiU1ZHUGFpbnQ6OlNWR1BhaW50VHlw
ZSIsCi0gICAgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8iID0+ICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIiwKICAgICAiU1ZHUG9pbnQiID0+ICJGbG9hdFBvaW50IiwKICAgICAiU1ZHUmVjdCIgPT4g
IkZsb2F0UmVjdCIsCiAgICAgIlNWR1RyYW5zZm9ybSIgPT4gIlNWR1RyYW5zZm9ybSIsCkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZp
c2lvbiA3MTAxNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2Jq
Qy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTEzNyw3ICsxMTM3LDEyIEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICRpbXBsSW5jbHVkZXN7IiQxLmgifSA9IDE7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgaWYgKCEkcG9kVHlwZSkgewotICAgICAgICAgICAgJGltcGxJbmNsdWRl
c3siJGltcGxDbGFzc05hbWUuaCJ9ID0gMSBpZiBub3QgJGNvZGVHZW5lcmF0b3ItPkF2b2lkSW5j
bHVzaW9uT2ZUeXBlKCRpbXBsQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgIGlmICghJGNvZGVHZW5l
cmF0b3ItPkF2b2lkSW5jbHVzaW9uT2ZUeXBlKCRpbXBsQ2xhc3NOYW1lKSkgeworICAgICAgICAg
ICAgICAgICRpbXBsSW5jbHVkZXN7IiRpbXBsQ2xhc3NOYW1lLmgifSA9IDEgOworICAgICAgICAg
ICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBs
Q2xhc3NOYW1lKSkgeworICAgICAgICAgICAgICAgIG15ICRpbmNsdWRlVHlwZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5HZXRTVkdXcmFwcGVkVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBsQ2xhc3NOYW1lKTsK
KyAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2luY2x1ZGVUeXBlfS5oIn0gPSAxOwor
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgJGltcGxJbmNsdWRl
c3siJHBvZFR5cGUuaCJ9ID0gMSB1bmxlc3MgJHBvZFR5cGUgZXEgImZsb2F0IjsKICAgICAgICAg
fQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShy
ZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTI5NzIsNyArMjk3Miw2IEBAIHN1YiBHZXROYXRpdmVU
eXBlCiAgICAgcmV0dXJuICJGbG9hdFBvaW50IiBpZiAkdHlwZSBlcSAiU1ZHUG9pbnQiOwogICAg
IHJldHVybiAiQWZmaW5lVHJhbnNmb3JtIiBpZiAkdHlwZSBlcSAiU1ZHTWF0cml4IjsKICAgICBy
ZXR1cm4gIlNWR1RyYW5zZm9ybSIgaWYgJHR5cGUgZXEgIlNWR1RyYW5zZm9ybSI7Ci0gICAgcmV0
dXJuICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIiBpZiAkdHlwZSBlcSAiU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyI7CiAgICAgcmV0dXJuICJTVkdQYWludDo6U1ZHUGFpbnRUeXBlIiBpZiAkdHlwZSBl
cSAiU1ZHUGFpbnRUeXBlIjsKICAgICByZXR1cm4gIkRPTVRpbWVTdGFtcCIgaWYgJHR5cGUgZXEg
IkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2ln
bmVkIGludCI7CkBAIC0zMDI0LDcgKzMwMjMsNiBAQCBzdWIgQmFzaWNUeXBlQ2FuRmFpbENvbnZl
cnNpb24KIAogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJTVkdNYXRyaXgiOwogICAgIHJldHVy
biAxIGlmICR0eXBlIGVxICJTVkdQb2ludCI7Ci0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIlNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8iOwogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJTVkdUcmFu
c2Zvcm0iOwogICAgIHJldHVybiAwOwogfQpJbmRleDogV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNW
R0FuaW1hdGVkUHJvcGVydHlUcmFpdHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9EZXBy
ZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oCShyZXZpc2lvbiA3MDk5OSkKKysrIFdl
YkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDcgKzIzLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5j
bHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSwx
OCArMzAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgog
c3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsgfTsKIAotLy8gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgRGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbz4gOiBwdWJsaWMgTm9uY29weWFibGUgewotICAgIHR5cGVkZWYgY29uc3Qg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbyYgUGFzc1R5cGU7Ci0gICAgdHlwZWRlZiBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIFJldHVyblR5cGU7Ci0gICAgdHlwZWRlZiBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIFN0b3JlZFR5cGU7Ci0KLSAgICBzdGF0aWMgUmV0dXJuVHlwZSBudWxsKCkgeyByZXR1cm4g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbygpOyB9Ci0gICAgc3RhdGljIFJldHVyblR5cGUgdG9SZXR1
cm5UeXBlKGNvbnN0IFN0b3JlZFR5cGUmIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKFBhc3NUeXBlIHR5cGUpIHsgcmV0dXJuIHR5cGUudmFsdWVBc1N0
cmluZygpOyB9Ci19OwotCiAvLyBTVkdBbmltYXRlZFN0cmluZwogdGVtcGxhdGU8Pgogc3RydWN0
IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzPFN0cmluZz4gOiBwdWJsaWMgTm9u
Y29weWFibGUgewpJbmRleDogV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkVGVtcGxh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1w
bGF0ZS5oCShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmlt
YXRlZFRlbXBsYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDE1ICsyMywxNCBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJEZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0
cy5oIgorI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgIAog
ICAgIGNsYXNzIFNWR0VsZW1lbnQ7Ci0gICAgY2xhc3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzsK
ICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwotICAgIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAK
ICAgICBzdHJ1Y3QgRGVwcmVjYXRlZFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXkgeyAgICAgICAg
ICAgIAogICAgICAgICAvLyBFbXB0eSB2YWx1ZQpAQCAtMTUzLDcgKzE1Miw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB9CiAKICAgICAvLyBDb21tb24gdHlwZSBkZWZpbml0aW9ucywgdG8g
ZWFzZSBJREwgZ2VuZXJhdGlvbi4KLSAgICB0eXBlZGVmIERlcHJlY2F0ZWRTVkdBbmltYXRlZFRl
bXBsYXRlPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RS
YXRpbzsKICAgICB0eXBlZGVmIERlcHJlY2F0ZWRTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4g
U1ZHQW5pbWF0ZWRTdHJpbmc7CiAgICAgdHlwZWRlZiBEZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1w
bGF0ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0OwogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb19oCisjZGVmaW5lIFNWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpb19oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
UHJvcGVydHlUZWFyT2ZmLmgiCisjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJP
ZmY8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2Vu
ZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDcwOTk5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0SW1hZ2VSZXNvdXJjZSgpOwogCi0gICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRUltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OnBy
ZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJP
UEVSVFlfTkVXKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRp
b0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKICAgICBERUNMQVJFX0FO
SU1BVEVEX1BST1BFUlRZKFNWR0ZFSW1hZ2VFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwg
U3RyaW5nLCBIcmVmLCBocmVmKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCShyZXZpc2lv
biA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVu
c2lvbnMuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxp
dGllcy5oIgogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKQEAgLTg1LDcgKzg2
LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR0ZpdFRvVmlld0JveDo6dmlld0JveAogICAgIGlmICgh
dmlld0JveFJlY3Qud2lkdGgoKSB8fCAhdmlld0JveFJlY3QuaGVpZ2h0KCkpCiAgICAgICAgIHJl
dHVybiBBZmZpbmVUcmFuc2Zvcm0oKTsKIAotICAgIHJldHVybiBwcmVzZXJ2ZUFzcGVjdFJhdGlv
LmdldENUTSh2aWV3Qm94UmVjdC54KCksIHZpZXdCb3hSZWN0LnkoKSwgdmlld0JveFJlY3Qud2lk
dGgoKSwgdmlld0JveFJlY3QuaGVpZ2h0KCksIDAsIDAsIHZpZXdXaWR0aCwgdmlld0hlaWdodCk7
CisgICAgcmV0dXJuIHByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0Q1RNKHZpZXdCb3hSZWN0LngoKSwg
dmlld0JveFJlY3QueSgpLCB2aWV3Qm94UmVjdC53aWR0aCgpLCB2aWV3Qm94UmVjdC5oZWlnaHQo
KSwgdmlld1dpZHRoLCB2aWV3SGVpZ2h0KTsKIH0KIAogYm9vbCBTVkdGaXRUb1ZpZXdCb3g6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKERvY3VtZW50KiBkb2N1bWVudCwgQXR0cmlidXRlKiBhdHRyKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgJKHJldmlzaW9uIDcwOTk5KQorKysgV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDEyICsyMiwxNiBAQAogI2Rl
ZmluZSBTVkdGaXRUb1ZpZXdCb3hfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdF
bGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFm
ZmluZVRyYW5zZm9ybTsKK2NsYXNzIEF0dHJpYnV0ZTsKK2NsYXNzIERvY3VtZW50OworY2xhc3Mg
RmxvYXRSZWN0OworY2xhc3MgUXVhbGlmaWVkTmFtZTsKK2NsYXNzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW87CiAKIGNsYXNzIFNWR0ZpdFRvVmlld0JveCB7CiBwdWJsaWM6CkBAIC00MCw3ICs0NCw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdCb3hCYXNlVmFsdWUoY29uc3QgRmxvYXRS
ZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvQmFzZVZh
bHVlKERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8+OjpQYXNzVHlwZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZUFzcGVj
dFJhdGlvQmFzZVZhbHVlKGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8mKSA9IDA7CiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBwYXJzZVZpZXdCb3goRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmLCBG
bG9hdFJlY3QmKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MDk5OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9Q
RVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6eUF0dHIsIFNWR0xlbmd0aCwgWSwg
eSkKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50
LCBTVkdOYW1lczo6d2lkdGhBdHRyLCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKICAgICAgICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6
aGVpZ2h0QXR0ciwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKLSAgICAgICAgREVDTEFSRV9B
TklNQVRFRF9QUk9QRVJUWShTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVj
dFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9O
RVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0
UmF0aW8pCiAKICAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCiAgICAgICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHSW1hZ2VFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3Ry
aW5nLCBIcmVmLCBocmVmKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gNzA5
OTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFNWR0ZpdFRvVmlld0JveAogICAgIERF
Q0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjp2
aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0
UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBw
cmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNW
R01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRp
bykKIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNzA5OTkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
MCw3ICs4MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBTVkdQYXR0ZXJu
RWxlbWVudAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJu
RWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdC
b3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVsZW1lbnQs
IFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
bywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisgICAgICAgIERF
Q0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6
cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogICAgIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCShy
ZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw4ICsyNSw5IEBACiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oIgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAi
U1ZHU1ZHRWxlbWVudC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsMjcgKzM1LDI2IEBAIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR1ByZXNlcnZlQXNwZWMKICAgICA6IG1fYWxpZ24oU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JRFlNSUQpCiAgICAgLCBtX21lZXRPclNsaWNlKFNWR19NRUVUT1JTTElD
RV9NRUVUKQogewotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhlIHR3byB2YWx1ZXMgZGVmYXVsdCB0
byBVTktOT1dOIGluc3RlYWQ/CiB9CiAKLXZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6c2V0
QWxpZ24odW5zaWduZWQgc2hvcnQgYWxpZ24pCit2b2lkIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86
OnNldEFsaWduKHVuc2lnbmVkIHNob3J0IGFsaWduLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAg
ICBtX2FsaWduID0gYWxpZ247Ci19CisgICAgaWYgKGFsaWduID09IFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1VOS05PV04gfHwgYWxpZ24gPiBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1B
WCkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQogCi11bnNpZ25lZCBzaG9ydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjphbGlnbigpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fYWxpZ247CisgICAgbV9hbGlnbiA9IHN0YXRpY19jYXN0PFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9UeXBlPihhbGlnbik7CiB9CiAKLXZvaWQgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbzo6c2V0TWVldE9yU2xpY2UodW5zaWduZWQgc2hvcnQgbWVldE9yU2xpY2UpCit2
b2lkIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnNldE1lZXRPclNsaWNlKHVuc2lnbmVkIHNob3J0
IG1lZXRPclNsaWNlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBtX21lZXRPclNsaWNlID0g
bWVldE9yU2xpY2U7Ci19CisgICAgaWYgKG1lZXRPclNsaWNlID09IFNWR19NRUVUT1JTTElDRV9V
TktOT1dOIHx8IG1lZXRPclNsaWNlID4gU1ZHX01FRVRPUlNMSUNFX1NMSUNFKSB7CisgICAgICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLXVuc2ln
bmVkIHNob3J0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86Om1lZXRPclNsaWNlKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9tZWV0T3JTbGljZTsKKyAgICBtX21lZXRPclNsaWNlID0gc3RhdGljX2Nh
c3Q8U1ZHTWVldE9yU2xpY2VUeXBlPihtZWV0T3JTbGljZSk7CiB9CiAKIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8gU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlv
KGNvbnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRl
LCBib29sJiByZXN1bHQpCkBAIC02NCw2ICs2NCw3IEBAIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8g
U1ZHUHJlc2VydmVBc3BlY3QKICAgICBhc3BlY3RSYXRpby5tX21lZXRPclNsaWNlID0gU1ZHX01F
RVRPUlNMSUNFX01FRVQ7CiAgICAgcmVzdWx0ID0gZmFsc2U7CiAKKyAgICAvLyBGSVhNRTogUmV3
cml0ZSB0aGlzIHBhcnNlciwgd2l0aG91dCBnb3RvcyEKICAgICBpZiAoIXNraXBPcHRpb25hbFNw
YWNlcyhjdXJyUGFyYW0sIGVuZCkpCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKQEAgLTE2MCwx
NjcgKzE2MSwxODQgQEAgdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjp0cmFuc2Zvcm1SZQog
ICAgIEZsb2F0U2l6ZSBpbWFnZVNpemUgPSBzcmNSZWN0LnNpemUoKTsKICAgICBmbG9hdCBvcmln
RGVzdFdpZHRoID0gZGVzdFJlY3Qud2lkdGgoKTsKICAgICBmbG9hdCBvcmlnRGVzdEhlaWdodCA9
IGRlc3RSZWN0LmhlaWdodCgpOwotICAgIGlmIChtZWV0T3JTbGljZSgpID09IFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19NRUVUT1JTTElDRV9NRUVUKSB7CisgICAgc3dpdGNoIChtX21lZXRP
clNsaWNlKSB7CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfTUVFVE9SU0xJ
Q0VfVU5LTk9XTjoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvOjpTVkdfTUVFVE9SU0xJQ0VfTUVFVDoKKyAgICB7CiAgICAgICAgIGZsb2F0IHdpZHRoVG9I
ZWlnaHRNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qud2lkdGgoKTsKLSAg
ICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0ID4gKG9yaWdEZXN0V2lkdGggKiB3aWR0aFRvSGVpZ2h0
TXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0ID4gb3JpZ0Rlc3RXaWR0
aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKSB7CiAgICAgICAgICAgICBkZXN0UmVjdC5zZXRI
ZWlnaHQob3JpZ0Rlc3RXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKTsKLSAgICAgICAg
ICAgIHN3aXRjaCAoYWxpZ24oKSkgeworICAgICAgICAgICAgc3dpdGNoIChtX2FsaWduKSB7CiAg
ICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSU5ZTUlEOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
OjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0g
ICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBvcmlnRGVzdEhlaWdo
dCAvIDIuMGYgLSBkZXN0UmVjdC5oZWlnaHQoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIGRl
c3RSZWN0LnNldFkoZGVzdFJlY3QueSgpICsgb3JpZ0Rlc3RIZWlnaHQgLyAyIC0gZGVzdFJlY3Qu
aGVpZ2h0KCkgLyAyKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6
CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUFYOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDoKICAgICAgICAgICAgICAgICBk
ZXN0UmVjdC5zZXRZKGRlc3RSZWN0LnkoKSArIG9yaWdEZXN0SGVpZ2h0IC0gZGVzdFJlY3QuaGVp
Z2h0KCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBp
ZiAob3JpZ0Rlc3RXaWR0aCA+IChvcmlnRGVzdEhlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBs
aWVyKSkgeworICAgICAgICBpZiAob3JpZ0Rlc3RXaWR0aCA+IG9yaWdEZXN0SGVpZ2h0IC8gd2lk
dGhUb0hlaWdodE11bHRpcGxpZXIpIHsKICAgICAgICAgICAgIGRlc3RSZWN0LnNldFdpZHRoKG9y
aWdEZXN0SGVpZ2h0IC8gd2lkdGhUb0hlaWdodE11bHRpcGxpZXIpOwotICAgICAgICAgICAgc3dp
dGNoIChhbGlnbigpKSB7CisgICAgICAgICAgICBzd2l0Y2ggKG1fYWxpZ24pIHsKICAgICAgICAg
ICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSU46CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKLSAgICAgICAg
ICAgICAgICBkZXN0UmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIG9yaWdEZXN0V2lkdGggLyAyLjBm
IC0gZGVzdFJlY3Qud2lkdGgoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIGRlc3RSZWN0LnNl
dFgoZGVzdFJlY3QueCgpICsgb3JpZ0Rlc3RXaWR0aCAvIDIgLSBkZXN0UmVjdC53aWR0aCgpIC8g
Mik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6CiAgICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0
WChkZXN0UmVjdC54KCkgKyBvcmlnRGVzdFdpZHRoIC0gZGVzdFJlY3Qud2lkdGgoKSk7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChtZWV0T3JT
bGljZSgpID09IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19NRUVUT1JTTElDRV9TTElDRSkg
eworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
OjpTVkdfTUVFVE9SU0xJQ0VfU0xJQ0U6CisgICAgewogICAgICAgICBmbG9hdCB3aWR0aFRvSGVp
Z2h0TXVsdGlwbGllciA9IHNyY1JlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LndpZHRoKCk7CiAgICAg
ICAgIC8vIGlmIHRoZSBkZXN0aW5hdGlvbiBoZWlnaHQgaXMgbGVzcyB0aGFuIHRoZSBoZWlnaHQg
b2YgdGhlIGltYWdlIHdlJ2xsIGJlIGRyYXdpbmcKLSAgICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0
IDwgKG9yaWdEZXN0V2lkdGggKiB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllcikpIHsKKyAgICAgICAg
aWYgKG9yaWdEZXN0SGVpZ2h0IDwgb3JpZ0Rlc3RXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBs
aWVyKSB7CiAgICAgICAgICAgICBmbG9hdCBkZXN0VG9TcmNNdWx0aXBsaWVyID0gc3JjUmVjdC53
aWR0aCgpIC8gZGVzdFJlY3Qud2lkdGgoKTsKICAgICAgICAgICAgIHNyY1JlY3Quc2V0SGVpZ2h0
KGRlc3RSZWN0LmhlaWdodCgpICogZGVzdFRvU3JjTXVsdGlwbGllcik7Ci0gICAgICAgICAgICBz
d2l0Y2ggKGFsaWduKCkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobV9hbGlnbikgewogICAgICAg
ICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUlOWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgotICAgICAg
ICAgICAgICAgIHNyY1JlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkg
LyAyLjBmIC0gc3JjUmVjdC5oZWlnaHQoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIHNyY1Jl
Y3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkgLyAyIC0gc3JjUmVjdC5o
ZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1BWDoK
ICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNQVg6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgogICAgICAgICAgICAgICAgIHNy
Y1JlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkgLSBzcmNSZWN0Lmhl
aWdodCgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
Ly8gaWYgdGhlIGRlc3RpbmF0aW9uIHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUgd2lkdGggb2YgdGhl
IGltYWdlIHdlJ2xsIGJlIGRyYXdpbmcKLSAgICAgICAgaWYgKG9yaWdEZXN0V2lkdGggPCAob3Jp
Z0Rlc3RIZWlnaHQgLyB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKG9y
aWdEZXN0V2lkdGggPCBvcmlnRGVzdEhlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKSB7
CiAgICAgICAgICAgICBmbG9hdCBkZXN0VG9TcmNNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQo
KSAvIGRlc3RSZWN0LmhlaWdodCgpOwogICAgICAgICAgICAgc3JjUmVjdC5zZXRXaWR0aChkZXN0
UmVjdC53aWR0aCgpICogZGVzdFRvU3JjTXVsdGlwbGllcik7Ci0gICAgICAgICAgICBzd2l0Y2gg
KGFsaWduKCkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobV9hbGlnbikgewogICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JTjoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgotICAgICAgICAgICAg
ICAgIHNyY1JlY3Quc2V0WChkZXN0UmVjdC54KCkgKyBpbWFnZVNpemUud2lkdGgoKSAvIDIuMGYg
LSBzcmNSZWN0LndpZHRoKCkgLyAyLjBmKTsKKyAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgo
ZGVzdFJlY3QueCgpICsgaW1hZ2VTaXplLndpZHRoKCkgLyAyIC0gc3JjUmVjdC53aWR0aCgpIC8g
Mik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6CiAgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRY
KGRlc3RSZWN0LngoKSArIGltYWdlU2l6ZS53aWR0aCgpIC0gc3JjUmVjdC53aWR0aCgpKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAg
fQogICAgIH0KIH0KIAotQWZmaW5lVHJhbnNmb3JtIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86Omdl
dENUTShkb3VibGUgbG9naWNYLCBkb3VibGUgbG9naWNZLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgbG9naWNXaWR0aCwgZG91YmxlIGxvZ2lj
SGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUgLypwaHlzWCovLCBkb3VibGUgLypwaHlzWSovLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgcGh5c1dpZHRoLCBkb3VibGUgcGh5c0hl
aWdodCkgY29uc3QKKy8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGZsb2F0cyBoZXJlLCBsaWtlIGV2
ZXJ5d2hlcmUgZWxzZSEKK0FmZmluZVRyYW5zZm9ybSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpn
ZXRDVE0oZG91YmxlIGxvZ2ljWCwgZG91YmxlIGxvZ2ljWSwgZG91YmxlIGxvZ2ljV2lkdGgsIGRv
dWJsZSBsb2dpY0hlaWdodCwgZG91YmxlIHBoeXNXaWR0aCwgZG91YmxlIHBoeXNIZWlnaHQpIGNv
bnN0CiB7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIHRlbXA7Ci0KLSAgICBpZiAoYWxpZ24oKSA9PSBT
VkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOKQotICAgICAgICByZXR1cm4gdGVtcDsKKyAg
ICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOworICAgIGlmIChtX2FsaWduID09IFNWR19QUkVT
RVJWRUFTUEVDVFJBVElPX1VOS05PV04pCisgICAgICAgIHJldHVybiB0cmFuc2Zvcm07CisKKyAg
ICBkb3VibGUgbG9naWNhbFJhdGlvID0gbG9naWNXaWR0aCAvIGxvZ2ljSGVpZ2h0OworICAgIGRv
dWJsZSBwaHlzUmF0aW8gPSBwaHlzV2lkdGggLyBwaHlzSGVpZ2h0OworCisgICAgaWYgKG1fYWxp
Z24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkgeworICAgICAgICB0cmFuc2Zvcm0u
c2NhbGVOb25Vbmlmb3JtKHBoeXNXaWR0aCAvIGxvZ2ljV2lkdGgsIHBoeXNIZWlnaHQgLyBsb2dp
Y0hlaWdodCk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLWxvZ2ljWCwgLWxvZ2ljWSk7
CisgICAgICAgIHJldHVybiB0cmFuc2Zvcm07CisgICAgfQogCi0gICAgZG91YmxlIHZwYXIgPSBs
b2dpY1dpZHRoIC8gbG9naWNIZWlnaHQ7Ci0gICAgZG91YmxlIHN2Z2FyID0gcGh5c1dpZHRoIC8g
cGh5c0hlaWdodDsKKyAgICBpZiAoKGxvZ2ljYWxSYXRpbyA8IHBoeXNSYXRpbyAmJiAobV9tZWV0
T3JTbGljZSA9PSBTVkdfTUVFVE9SU0xJQ0VfTUVFVCkpIHx8IChsb2dpY2FsUmF0aW8gPj0gcGh5
c1JhdGlvICYmIChtX21lZXRPclNsaWNlID09IFNWR19NRUVUT1JTTElDRV9TTElDRSkpKSB7Cisg
ICAgICAgIHRyYW5zZm9ybS5zY2FsZU5vblVuaWZvcm0ocGh5c0hlaWdodCAvIGxvZ2ljSGVpZ2h0
LCBwaHlzSGVpZ2h0IC8gbG9naWNIZWlnaHQpOwogCi0gICAgaWYgKGFsaWduKCkgPT0gU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShw
aHlzV2lkdGggLyBsb2dpY1dpZHRoLCBwaHlzSGVpZ2h0IC8gbG9naWNIZWlnaHQpOwotICAgICAg
ICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZKTsKLSAgICB9IGVsc2UgaWYgKCh2cGFy
IDwgc3ZnYXIgJiYgKG1lZXRPclNsaWNlKCkgPT0gU1ZHX01FRVRPUlNMSUNFX01FRVQpKSB8fCAo
dnBhciA+PSBzdmdhciAmJiAobWVldE9yU2xpY2UoKSA9PSBTVkdfTUVFVE9SU0xJQ0VfU0xJQ0Up
KSkgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShwaHlzSGVpZ2h0IC8gbG9naWNIZWln
aHQsIHBoeXNIZWlnaHQgLyBsb2dpY0hlaWdodCk7Ci0KLSAgICAgICAgaWYgKGFsaWduKCkgPT0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4gfHwgYWxpZ24oKSA9PSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlOWU1JRCB8fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNSU5ZTUFYKQotICAgICAgICAgICAgdGVtcC50cmFuc2xhdGUoLWxvZ2ljWCwgLWxvZ2lj
WSk7Ci0gICAgICAgIGVsc2UgaWYgKGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSU4gfHwgYWxpZ24oKSA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRCB8
fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYKQotICAgICAgICAg
ICAgdGVtcC50cmFuc2xhdGUoLWxvZ2ljWCAtIChsb2dpY1dpZHRoIC0gcGh5c1dpZHRoICogbG9n
aWNIZWlnaHQgLyBwaHlzSGVpZ2h0KSAvIDIsIC1sb2dpY1kpOworICAgICAgICBpZiAobV9hbGln
biA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiB8fCBtX2FsaWduID09IFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JTllNQVgpCisgICAgICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1sb2dp
Y1gsIC1sb2dpY1kpOworICAgICAgICBlbHNlIGlmIChtX2FsaWduID09IFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUlOIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSUQgfHwgbV9hbGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWCkK
KyAgICAgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLWxvZ2ljWCAtIChsb2dpY1dpZHRoIC0g
cGh5c1dpZHRoICogbG9naWNIZWlnaHQgLyBwaHlzSGVpZ2h0KSAvIDIsIC1sb2dpY1kpOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYIC0gKGxvZ2ljV2lk
dGggLSBwaHlzV2lkdGggKiBsb2dpY0hlaWdodCAvIHBoeXNIZWlnaHQpLCAtbG9naWNZKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShwaHlzV2lkdGggLyBsb2dp
Y1dpZHRoLCBwaHlzV2lkdGggLyBsb2dpY1dpZHRoKTsKLQotICAgICAgICBpZiAoYWxpZ24oKSA9
PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiB8fCBhbGlnbigpID09IFNWR19QUkVT
RVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIHx8IGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1BWFlNSU4pCi0gICAgICAgICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9n
aWNZKTsKLSAgICAgICAgZWxzZSBpZiAoYWxpZ24oKSA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUlOWU1JRCB8fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlE
IHx8IGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQpCi0gICAgICAg
ICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZIC0gKGxvZ2ljSGVpZ2h0IC0gcGh5
c0hlaWdodCAqIGxvZ2ljV2lkdGggLyBwaHlzV2lkdGgpIC8gMik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRlbXAudHJhbnNsYXRlKC1sb2dpY1gsIC1sb2dpY1kgLSAobG9naWNIZWlnaHQg
LSBwaHlzSGVpZ2h0ICogbG9naWNXaWR0aCAvIHBoeXNXaWR0aCkpOworICAgICAgICAgICAgdHJh
bnNmb3JtLnRyYW5zbGF0ZSgtbG9naWNYIC0gKGxvZ2ljV2lkdGggLSBwaHlzV2lkdGggKiBsb2dp
Y0hlaWdodCAvIHBoeXNIZWlnaHQpLCAtbG9naWNZKTsKKyAgICAgICAgCisgICAgICAgIHJldHVy
biB0cmFuc2Zvcm07CiAgICAgfQogCi0gICAgcmV0dXJuIHRlbXA7CisgICAgdHJhbnNmb3JtLnNj
YWxlTm9uVW5pZm9ybShwaHlzV2lkdGggLyBsb2dpY1dpZHRoLCBwaHlzV2lkdGggLyBsb2dpY1dp
ZHRoKTsKKworICAgIGlmIChtX2FsaWduID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5Z
TUlOIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4gfHwgbV9h
bGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTikKKyAgICAgICAgdHJhbnNm
b3JtLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZKTsKKyAgICBlbHNlIGlmIChtX2FsaWduID09
IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQgfHwgbV9hbGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUFYWU1JRCkKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9n
aWNZIC0gKGxvZ2ljSGVpZ2h0IC0gcGh5c0hlaWdodCAqIGxvZ2ljV2lkdGggLyBwaHlzV2lkdGgp
IC8gMik7CisgICAgZWxzZQorICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1sb2dpY1gsIC1s
b2dpY1kgLSAobG9naWNIZWlnaHQgLSBwaHlzSGVpZ2h0ICogbG9naWNXaWR0aCAvIHBoeXNXaWR0
aCkpOworCisgICAgcmV0dXJuIHRyYW5zZm9ybTsKIH0KIAogU3RyaW5nIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogewotICAgIFN0cmluZyByZXN1bHQ7Cisg
ICAgU3RyaW5nIGFsaWduVHlwZTsKIAotICAgIHN3aXRjaCAoKFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW9UeXBlKSBhbGlnbigpKSB7Ci0gICAgZGVmYXVsdDoKKyAgICBzd2l0Y2ggKG1fYWxpZ24pIHsK
ICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU6Ci0gICAgICAgIHJlc3VsdCA9
ICJub25lIjsKKyAgICAgICAgYWxpZ25UeXBlID0gIm5vbmUiOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOOgotICAgICAgICByZXN1bHQg
PSAieE1pbllNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1pbllNaW4iOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOOgotICAgICAg
ICByZXN1bHQgPSAieE1pZFlNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1pZFlNaW4iOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlO
OgotICAgICAgICByZXN1bHQgPSAieE1heFlNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1h
eFlNaW4iOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSU5ZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1pbllNaWQiOworICAgICAgICBhbGlnblR5
cGUgPSAieE1pbllNaWQiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1pZFlNaWQiOworICAgICAg
ICBhbGlnblR5cGUgPSAieE1pZFlNaWQiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1heFlNaWQi
OworICAgICAgICBhbGlnblR5cGUgPSAieE1heFlNaWQiOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOgotICAgICAgICByZXN1bHQgPSAi
eE1pbllNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1pbllNYXgiOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgotICAgICAgICBy
ZXN1bHQgPSAieE1pZFlNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1pZFlNYXgiOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgot
ICAgICAgICByZXN1bHQgPSAieE1heFlNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1heFlN
YXgiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1VO
S05PV046CisgICAgICAgIGFsaWduVHlwZSA9ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CiAg
ICAgfTsKIAotICAgIHN3aXRjaCAoKFNWR01lZXRPclNsaWNlVHlwZSkgbWVldE9yU2xpY2UoKSkg
eworICAgIHN3aXRjaCAobV9tZWV0T3JTbGljZSkgewogICAgIGRlZmF1bHQ6CiAgICAgY2FzZSBT
VkdfTUVFVE9SU0xJQ0VfVU5LTk9XTjoKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBh
bGlnblR5cGU7CiAgICAgY2FzZSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDoKLSAgICAgICAgcmVzdWx0
ICs9ICIgbWVldCI7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhh
bGlnblR5cGUsICIgbWVldCIpOwogICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX1NMSUNFOgotICAg
ICAgICByZXN1bHQgKz0gIiBzbGljZSI7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
bWFrZVN0cmluZyhhbGlnblR5cGUsICIgc2xpY2UiKTsKICAgICB9OwotCi0gICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAkocmV2
aXNpb24gNzA5OTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcyICsyMiw3MCBAQAogI2RlZmluZSBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBB
ZmZpbmVUcmFuc2Zvcm07CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CitjbGFzcyBGbG9hdFJlY3Q7
CiAKLSAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIGVudW0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUgewotICAgICAgICAgICAgU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fVU5LTk9XTiAgICAgPSAwLAotICAgICAgICAgICAgU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fTk9ORSAgICAgICAgPSAxLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JTllNSU4gICAgPSAyLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNSU4gICAgPSAzLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1BWFlNSU4gICAgPSA0LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JTllNSUQgICAgPSA1LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSUQgICAgPSA2LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1B
WFlNSUQgICAgPSA3LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllN
QVggICAgPSA4LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVgg
ICAgPSA5LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVggICAg
PSAxMAotICAgICAgICB9OwotCi0gICAgICAgIGVudW0gU1ZHTWVldE9yU2xpY2VUeXBlIHsKLSAg
ICAgICAgICAgIFNWR19NRUVUT1JTTElDRV9VTktOT1dOICAgID0gMCwKLSAgICAgICAgICAgIFNW
R19NRUVUT1JTTElDRV9NRUVUICAgICAgID0gMSwKLSAgICAgICAgICAgIFNWR19NRUVUT1JTTElD
RV9TTElDRSAgICAgID0gMgotICAgICAgICB9OwotCi0gICAgICAgIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8oKTsKLQotICAgICAgICB2b2lkIHNldEFsaWduKHVuc2lnbmVkIHNob3J0KTsKLSAgICAg
ICAgdW5zaWduZWQgc2hvcnQgYWxpZ24oKSBjb25zdDsKLQotICAgICAgICB2b2lkIHNldE1lZXRP
clNsaWNlKHVuc2lnbmVkIHNob3J0KTsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgbWVldE9yU2xp
Y2UoKSBjb25zdDsKLQotICAgICAgICB2b2lkIHRyYW5zZm9ybVJlY3QoRmxvYXRSZWN0JiBkZXN0
UmVjdCwgRmxvYXRSZWN0JiBzcmNSZWN0KTsKLSAgICAgICAgCi0gICAgICAgIEFmZmluZVRyYW5z
Zm9ybSBnZXRDVE0oZG91YmxlIGxvZ2ljWCwgZG91YmxlIGxvZ2ljWSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3VibGUgbG9naWNXaWR0aCwgZG91YmxlIGxvZ2ljSGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwaHlzWCwgZG91YmxlIHBoeXNZ
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwaHlzV2lkdGgsIGRvdWJs
ZSBwaHlzSGVpZ2h0KSBjb25zdDsKLQotICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBDb25zdW1lcj4K
LSAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKENvbnN1bWVyKiBj
b25zdW1lciwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgICBjb25z
dCBVQ2hhciogYmVnaW4gPSB2YWx1ZS5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgICAgICBjb25zdCBV
Q2hhciogZW5kID0gYmVnaW4gKyB2YWx1ZS5sZW5ndGgoKTsKLSAgICAgICAgICAgIGNvbnN1bWVy
LT5zZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvQmFzZVZhbHVlKHBhcnNlUHJlc2VydmVBc3BlY3RSYXRp
byhiZWdpbiwgZW5kLCB2YWxpZGF0ZSwgcmVzdWx0KSk7Ci0gICAgICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhl
IG1ldGhvZCBhYm92ZSwgb25seSBTVkdWaWV3U3BlYyBuZWVkcyB0aGlzIHBhcnNpbmcgbWV0aG9k
Ci0gICAgICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHBhcnNlUHJlc2VydmVBc3Bl
Y3RSYXRpbyhjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2
YWxpZGF0ZSwgYm9vbCYgcmVzdWx0KTsKLQotICAgICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgbV9hbGlnbjsK
LSAgICAgICAgdW5zaWduZWQgc2hvcnQgbV9tZWV0T3JTbGljZTsKK2NsYXNzIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8geworcHVibGljOgorICAgIGVudW0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5
cGUgeworICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOID0gMCwKKyAgICAg
ICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSA9IDEsCisgICAgICAgIFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNSU5ZTUlOID0gMiwKKyAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JRFlNSU4gPSAzLAorICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1J
TiA9IDQsCisgICAgICAgIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEID0gNSwKKyAg
ICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQgPSA2LAorICAgICAgICBTVkdf
UFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JRCA9IDcsCisgICAgICAgIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSU5ZTUFYID0gOCwKKyAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNQVggPSA5LAorICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWCA9
IDEwCiAgICAgfTsKIAorICAgIGVudW0gU1ZHTWVldE9yU2xpY2VUeXBlIHsKKyAgICAgICAgU1ZH
X01FRVRPUlNMSUNFX1VOS05PV04gPSAwLAorICAgICAgICBTVkdfTUVFVE9SU0xJQ0VfTUVFVCA9
IDEsCisgICAgICAgIFNWR19NRUVUT1JTTElDRV9TTElDRSA9IDIKKyAgICB9OworCisgICAgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbygpOworCisgICAgdm9pZCBzZXRBbGlnbih1bnNpZ25lZCBzaG9y
dCBhbGlnbiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIHNob3J0IGFsaWduKCkgY29u
c3QgeyByZXR1cm4gbV9hbGlnbjsgfQorCisgICAgdm9pZCBzZXRNZWV0T3JTbGljZSh1bnNpZ25l
ZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIHNob3J0IG1lZXRPclNsaWNl
KCkgY29uc3QgeyByZXR1cm4gbV9tZWV0T3JTbGljZTsgfQorCisgICAgdm9pZCB0cmFuc2Zvcm1S
ZWN0KEZsb2F0UmVjdCYgZGVzdFJlY3QsIEZsb2F0UmVjdCYgc3JjUmVjdCk7CisKKyAgICBBZmZp
bmVUcmFuc2Zvcm0gZ2V0Q1RNKGRvdWJsZSBsb2dpY1gsIGZsb2F0IGxvZ2ljWSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSBsb2dpY1dpZHRoLCBmbG9hdCBsb2dpY0hlaWdodCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwaHlzV2lkdGgsIGZsb2F0IHBoeXNI
ZWlnaHQpIGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgQ29uc3VtZXI+CisgICAgc3RhdGlj
IGJvb2wgcGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKENvbnN1bWVyKiBjb25zdW1lciwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpCisgICAgeworICAgICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOworICAgICAgICBjb25zdCBVQ2hhciogYmVnaW4gPSB2YWx1ZS5jaGFy
YWN0ZXJzKCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBiZWdpbiArIHZhbHVlLmxlbmd0
aCgpOworICAgICAgICBjb25zdW1lci0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VWYWx1ZShw
YXJzZVByZXNlcnZlQXNwZWN0UmF0aW8oYmVnaW4sIGVuZCwgdmFsaWRhdGUsIHJlc3VsdCkpOwor
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIC8vIEl0J3MgcmVjb21tZW5kZWQg
dG8gdXNlIHRoZSBtZXRob2QgYWJvdmUsIG9ubHkgU1ZHVmlld1NwZWMgbmVlZHMgdGhpcyBwYXJz
aW5nIG1ldGhvZAorICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHBhcnNlUHJlc2Vy
dmVBc3BlY3RSYXRpbyhjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVuZCwg
Ym9vbCB2YWxpZGF0ZSwgYm9vbCYgcmVzdWx0KTsKKworICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5n
KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUgbV9h
bGlnbjsKKyAgICBTVkdNZWV0T3JTbGljZVR5cGUgbV9tZWV0T3JTbGljZTsKK307CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAkocmV2aXNpb24gNzA5OTkpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTAg
KzI1LDEwIEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1T
VkcsIFBPRFR5cGU9U1ZHUHJlc2VydmVBc3BlY3RSYXRpb10gU1ZHUHJlc2VydmVBc3BlY3RSYXRp
byB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8gewogICAgICAgICAvLyBBbGlnbm1lbnQgVHlwZXMKLSAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fVU5LTk9XTiAgPSAwOwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FICAgICA9IDE7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1VOS05P
V04gPSAwOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19OT05FID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JTllNSU4gPSAyOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBT
VkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JTiA9IDM7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOID0gNDsKQEAgLTM4LDE1
ICszOCwxNyBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVggPSA4OwogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWCA9IDk7CiAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYID0gMTA7
CisKICAgICAgICAgLy8gTWVldC1vci1zbGljZSBUeXBlcwotICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVkdfTUVFVE9SU0xJQ0VfVU5LTk9XTiAgID0gMDsKLSAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1ZHX01FRVRPUlNMSUNFX01FRVQgICAgICA9IDE7Ci0gICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFNWR19NRUVUT1JTTElDRV9TTElDRSAgICAgPSAyOwotCi0gICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhbGlnbgotICAgICAgICAgICAgICAg
ICAgICAgLypzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG1lZXRPclNsaWNlCi0gICAgICAgICAgICAgICAgICAg
ICAvKnNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVkdfTUVFVE9SU0xJQ0VfVU5LTk9XTiA9IDA7CisgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFNWR19NRUVUT1JTTElDRV9NRUVUID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX01FRVRPUlNMSUNFX1NMSUNFID0gMjsKKworICAgICAgICBhdHRyaWJ1dGUg
W1N0cmljdFR5cGVDaGVja2luZ10gdW5zaWduZWQgc2hvcnQgYWxpZ24KKyAgICAgICAgICAgIHNl
dHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICBhdHRyaWJ1dGUgW1N0cmljdFR5
cGVDaGVja2luZ10gdW5zaWduZWQgc2hvcnQgbWVldE9yU2xpY2UKKyAgICAgICAgICAgIHNldHRl
ciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5o
CShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ3LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAvLyBTVkdGaXRUb1ZpZXdCb3gKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9O
RVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdC
b3gsIHZpZXdCb3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHU1ZHRWxl
bWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAg
ICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdTVkdFbGVtZW50LCBTVkdOYW1lczo6
cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkb2N1bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZG9j
dW1lbnREaWRCZWNvbWVBY3RpdmUoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgJKHJldmlz
aW9uIDcwOTk5KQorKysgV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAKICAgICAgICAgLy8g
U1ZHRml0VG9WaWV3Qm94CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNW
R1N5bWJvbEVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94
LCB2aWV3Qm94KQotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1N5bWJvbEVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisgICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR1N5bWJvbEVsZW1lbnQsIFNWR05h
bWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCShyZXZpc2lvbiA3MDk5OSkK
KysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcg
KzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogIAogICAgICAgICAvLyBTVkdGaXRUb1ZpZXdC
b3gKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHVmlld0VsZW1lbnQs
IFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAg
ICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1ZpZXdFbGVtZW50LCBTVkdOYW1lczo6
cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAgIERFQ0xBUkVfQU5JTUFU
RURfUFJPUEVSVFlfTkVXKFNWR1ZpZXdFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RS
YXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHBy
ZXNlcnZlQXNwZWN0UmF0aW8pCiAgCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1N0cmluZ0xp
c3Q+IG1fdmlld1RhcmdldDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCShyZXZpc2lvbiA3MDk5
OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNWR0ZpdFRvVmlld0Jv
eAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdWaWV3U3BlYywgU1ZH
TmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAg
IERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVzZXJ2
ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RS
YXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9Q
RVJUWV9ORVcoU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3Bl
Y3RSYXRpbykKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiBtX3Ry
YW5zZm9ybTsKICAgICAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmluZzsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDcxMTAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHRvIHRoZSBuZXcgU1ZHUHJvcGVy
dHlUZWFyT2ZmIGNvbmNlcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ4ODIyCisKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkUHJlc2VydmVB
c3BlY3RSYXRpby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5p
bWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20v
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2
Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
ZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uanM6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
anM6IEFkZGVkLgorCiAyMDEwLTExLTAxICBNT1JJVEEgSGFqaW1lIDxtb3JyaXRhQGdvb2dsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkZWQgc2tpcCBlbnRyaWVzIGZvciBwbGF0Zm9y
bXMgd2hlcmUgc3BlbGxjaGVja2luZwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmlt
YXRlZFByZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVzZXJ2
ZUFzcGVjdFJhdGlvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvIEFQSSAt
IHV0aWxpemluZyB0aGUgcHJlc2VydmVBc3BlY3RSYXRpbyBwcm9wZXJ0eSBvZiBTVkdTVkdFbGVt
ZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgcHJl
c2VydmVBc3BlY3RSYXRpbyB2YWx1ZQorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0
aW8udG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW9d
IgorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC50b1N0cmluZygp
IGlzICJbb2JqZWN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9dIgorUEFTUyBzdmdFbGVtZW50LnBy
ZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlECitQQVNTIHN2Z0VsZW1lbnQucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uU1ZHX01FRVRPUlNMSUNFX01FRVQKKworQ2hlY2sgdGhhdCBwcmVzZXJ2ZUFzcGVjdFJhdGlv
cyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBtb2Rp
ZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdAorUEFTUyBhc3BlY3RSZWYuYWxpZ24gaXMgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTgorUEFT
UyBhc3BlY3RSZWYubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVF
VE9SU0xJQ0VfU0xJQ0UKK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VW
YWwuYWxpZ24gaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUFYWU1JTgorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5t
ZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElD
RQorCitDaGVjayB0aGF0IGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5v
IHNldHRlciBpcyBkZWZpbmVkCitQQVNTIHN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5i
YXNlVmFsID0gLTEgaXMgLTEKK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJh
c2VWYWwgPSAnYVN0cmluZycgaXMgImFTdHJpbmciCitQQVNTIHN2Z0VsZW1lbnQucHJlc2VydmVB
c3BlY3RSYXRpby5iYXNlVmFsID0gc3ZnRWxlbWVudCBpcyBzdmdFbGVtZW50CisKK0NoZWNrIHRo
YXQgdGhlIHByZXNlcnZlQXNwZWN0UmF0aW8gYWxpZ24vbWVldE9yU2xpY2UgcmVtYWluZWQgeE1h
eFlNaW4vc2xpY2UsIGFuZCB0aGUgYmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2VkCitQ
QVNTIHN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLnRvU3RyaW5nKCkgaXMg
IltvYmplY3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb10iCitQQVNTIHN2Z0VsZW1lbnQucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU4KK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2ZUFz
cGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5T
VkdfTUVFVE9SU0xJQ0VfU0xJQ0UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUHJl
c2VydmVBc3BlY3RSYXRpby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20v
U1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1By
ZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIEFQSQorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIGFsaWduL21lZXRP
clNsaWNlIHZhbHVlcworUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduIGlzIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQKK1BBU1MgcHJl
c2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNW
R19NRUVUT1JTTElDRV9NRUVUCisKK0NoZWNrIGFzc2lnbmluZyBhbGlnbi9tZWV0T3JTbGljZSB2
YWx1ZXMKK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4gaXMgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JTgorUEFTUyBwcmVzZXJ2ZUFz
cGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9S
U0xJQ0VfU0xJQ0UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJ
Q0UKKworQ2hlY2sgYXNzaWduaW5nIGludmFsaWQgYWxpZ24gdmFsdWVzCitQQVNTIHByZXNlcnZl
QXNwZWN0UmF0aW8uYWxpZ24gPSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBu
dWxsIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRp
b24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9ICdhU3RyaW5nJyB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlv
LmFsaWduID0gc3ZnRWxlbWVudCB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RS
YXRpby5hbGlnbiA9IC0xIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6
IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IDExIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4K
KworQ2hlY2sgYXNzaWduaW5nIGludmFsaWQgbWVldE9yU2xpY2UgdmFsdWVzCitQQVNTIHByZXNl
cnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0aW8u
bWVldE9yU2xpY2UgPSBudWxsIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGlj
ZSA9ICdhU3RyaW5nJyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFT
UyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gc3ZnRWxlbWVudCB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1l
ZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfVU5LTk9X
TiB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9u
IDkuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSAtMSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNTIHBy
ZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSAzIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KKworQ2hlY2sgdGhhdCB0aGUgcHJl
c2VydmVBc3BlY3RSYXRpbyByZW1haW5lZCBjb3JyZWN0CitQQVNTIHByZXNlcnZlQXNwZWN0UmF0
aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSURZTUlOIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JRFlNSU4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSA9IFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFIGlzIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20v
c2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3Njcmlw
dC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uanMJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzQgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmlt
YXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gQVBJIC0gdXRpbGl6aW5nIHRoZSBwcmVzZXJ2ZUFzcGVj
dFJhdGlvIHByb3BlcnR5IG9mIFNWR1NWR0VsZW1lbnQiKTsKKwordmFyIHN2Z0VsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2
ZyIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBwcmVzZXJ2ZUFzcGVjdFJh
dGlvIHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN2Z0VsZW1lbnQucHJlc2VydmVB
c3BlY3RSYXRpby50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvXSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnByZXNlcnZlQXNw
ZWN0UmF0aW8uYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpb10iKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZh
bC5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSURZTUlEIik7CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJh
c2VWYWwubWVldE9yU2xpY2UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJ
Q0VfTUVFVCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCBwcmVzZXJ2ZUFzcGVj
dFJhdGlvcyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFu
ZCBtb2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdCIpOwordmFyIGFzcGVjdFJlZiA9IHN2
Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsOworYXNwZWN0UmVmLmFsaWduID0g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTjsK
K2FzcGVjdFJlZi5tZWV0T3JTbGljZSA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRP
UlNMSUNFX1NMSUNFOworc2hvdWxkQmUoImFzcGVjdFJlZi5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOIik7CitzaG91bGRCZSgi
YXNwZWN0UmVmLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRP
UlNMSUNFX1NMSUNFIik7CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwuYWxpZ24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19YTUFYWU1JTiIpOworc2hvdWxkQmUoInN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RS
YXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01F
RVRPUlNMSUNFX1NMSUNFIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IGFzc2ln
bmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5vIHNldHRlciBpcyBkZWZpbmVkIik7
CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwgPSAtMSIs
ICItMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0
UmF0aW8uYmFzZVZhbCA9ICdhU3RyaW5nJyIsICJhU3RyaW5nIik7CitzaG91bGRCZSgic3ZnRWxl
bWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwgPSBzdmdFbGVtZW50IiwgInN2Z0VsZW1l
bnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgdGhlIHByZXNlcnZlQXNwZWN0
UmF0aW8gYWxpZ24vbWVldE9yU2xpY2UgcmVtYWluZWQgeE1heFlNaW4vc2xpY2UsIGFuZCB0aGUg
YmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2VkIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLnRvU3RyaW5nKCkiLCAi
W29iamVjdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvXSIpOworc2hvdWxkQmUoInN2Z0VsZW1lbnQu
cHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU4iKTsKK3Nob3VsZEJlKCJzdmdFbGVt
ZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSIsICJTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOworCitzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpby5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3Nj
cmlwdC10ZXN0cy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmpzCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5qcwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVj
a3MgdGhlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8gQVBJIik7CisKK3ZhciBzdmdFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJz
dmciKTsKK3ZhciBwcmVzZXJ2ZUFzcGVjdFJhdGlvID0gc3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVj
dFJhdGlvLmJhc2VWYWw7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbml0aWFsIGFsaWdu
L21lZXRPclNsaWNlIHZhbHVlcyIpOworc2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8uYWxp
Z24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JRCIpOworc2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UiLCAiU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVCIpOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIGFsaWduL21lZXRPclNsaWNlIHZhbHVlcyIpOworc2hv
dWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4iKTsKK3Nob3VsZEJlKCJwcmVzZXJ2
ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVF
VE9SU0xJQ0VfU0xJQ0UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0Vf
U0xJQ0UiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGFzc2lnbmluZyBpbnZhbGlkIGFs
aWduIHZhbHVlcyIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBw
cmVzZXJ2ZUFzcGVjdFJhdGlvIik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5h
bGlnbiA9IG51bGwiKTsKK3Nob3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduID0g
J2FTdHJpbmcnIik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IHN2
Z0VsZW1lbnQiKTsKK3Nob3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduID0gU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOIik7Citz
aG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IC0xIik7CitzaG91bGRUaHJv
dygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IDExIik7IC8vIFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNQVhZTUFYICsgMSAobGFzdCB2YWx1ZSArIDEpCisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJDaGVjayBhc3NpZ25pbmcgaW52YWxpZCBtZWV0T3JTbGljZSB2YWx1ZXMiKTsKK3Nob3VsZFRo
cm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gcHJlc2VydmVBc3BlY3RSYXRp
byIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSBudWxs
Iik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSA9ICdhU3Ry
aW5nJyIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSBz
dmdFbGVtZW50Iik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGlj
ZSA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1VOS05PV04iKTsKK3No
b3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gLTEiKTsKK3Nob3Vs
ZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gMyIpOyAvLyBTVkdfTUVF
VE9SU0xJQ0VfU0xJQ0UgKyAxIChsYXN0IHZhbHVlICsgMSkKKworZGVidWcoIiIpOworZGVidWco
IkNoZWNrIHRoYXQgdGhlIHByZXNlcnZlQXNwZWN0UmF0aW8gcmVtYWluZWQgY29ycmVjdCIpOwor
c2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIiwgIlNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4iKTsKK3Nob3VsZEJlKCJwcmVz
ZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJ
Q0VfU0xJQ0UiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72635</attachid>
            <date>2010-11-02 00:31:15 -0700</date>
            <delta_ts>2010-11-02 00:48:57 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>SVGPres.diff</filename>
            <type>text/plain</type>
            <size>58983</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTEwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTEgQEAKKzIwMTAtMTEtMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHRvIHRoZSBuZXcgU1ZHUHJvcGVy
dHlUZWFyT2ZmIGNvbmNlcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ4ODIyCisKKyAgICAgICAgQ29udmVydCB0aGUgbmV4dCB0eXBlIHRvIHVzZSB0
aGUgU1ZHUHJvcGVydHlUZWFyT2ZmQ29uY2VwdC4gSnVzdCBTVkdBbmltYXRlZFRyYW5zZm9ybUxp
c3QvU1ZHVHJhbnNmb3JtL1NWR1N0cmluZ0xpc3QgYXJlIG1pc3NpbmcuCisKKyAgICAgICAgVGVz
dHM6IHN2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwKKyAgICAgICAg
ICAgICAgIHN2Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5odG1sCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbTogQWRkIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIHRvIGJ1
aWxkLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5w
cm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0
by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbTogUmVjb2duaXplIFNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyBhcyBuZXcgc3R5bGUgYW5pbWF0ZWQgdHlwZS4K
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogUmVtb3ZlIHNw
ZWNpYWwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBoYW5kbGluZy4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOiBBbHdheXMgaW5jbHVkZSB0aGUgdHlwZSB3
cmFwcGVkIGJ5IFNWR1Byb3BlcnR5VGVhck9mZjw+IC0gdGhpcyB3YXMgbWlzc2luZyBiZWZvcmUs
IGFuZCBub3cgYmVjb21lIHZpc2libGUgYXMgbWlzc2luZyBpbmNsdWRlLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOiBSZW1vdmUgc3BlY2lhbCBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvIGhhbmRsaW5nLgorICAgICAgICAqIHN2Zy9EZXByZWNhdGVkU1ZHQW5p
bWF0ZWRQcm9wZXJ0eVRyYWl0cy5oOiBSZW1vdmUgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBoYW5k
bGluZy4KKyAgICAgICAgKiBzdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkVGVtcGxhdGUuaDogRGl0
dG8uCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDogcy9ERUNMQVJFX0FOSU1BVEVE
X1BST1BFUlRZL0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXLyB3aGVyZSBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIGlzIHVzZWQuCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnZpZXdCb3hUb1ZpZXdUcmFuc2Zv
cm0pOiBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpnZXRDVE0gZG9lc24ndCBuZWVkIHgveSBwYXJh
bWV0ZXJzLCB0aGV5IHdlcmUgbm90IHVzZWQgYW55d2hlcmUsIHJlbW92ZSB0aGVtLgorICAgICAg
ICAqIHN2Zy9TVkdGaXRUb1ZpZXdCb3guaDogUmVwbGFjZSBpbmNsdWRlcyBieSBjbGFzcyBmb3J3
YXJkcy4KKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50Lmg6IHMvREVDTEFSRV9BTklNQVRF
RF9QUk9QRVJUWS9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVy8gd2hlcmUgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbyBpcyB1c2VkLgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50Lmg6
IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOiBEaXR0by4KKyAgICAg
ICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHA6IE1vZGVybml6ZSBjb2RlLCBhZGQg
ZXJyb3IgaGFuZGxpbmcgZm9yIGFsaWduL21lZXRPclNsaWNlIGNvdmVyZWQgYnkgdGhlIG5ldyB0
ZXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bzo6c2V0QWxpZ24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6
c2V0TWVldE9yU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86OnRyYW5zZm9ybVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJl
c2VydmVBc3BlY3RSYXRpbzo6Z2V0Q1RNKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcpOgorICAgICAgICAqIHN2Zy9TVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmg6IFJlaW5kZW50ZWQgaGVhZGVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJl
c2VydmVBc3BlY3RSYXRpbzo6YWxpZ24pOiBJbmxpbmVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJlc2VydmVBc3BlY3RSYXRpbzo6bWVldE9yU2xpY2UpOiBJbmxpbmVkLgorICAgICAgICAqIHN2
Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbDogRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBm
b3IgdGhlIGFsaWduL21lZXRPclNsaWNlIHByb3BlcnRpZXMuCisgICAgICAgICogc3ZnL1NWR1NW
R0VsZW1lbnQuaDogcy9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZL0RFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTkVXLyB3aGVyZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIGlzIHVzZWQuCisgICAg
ICAgICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1Zp
ZXdFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOiBEaXR0by4K
KwogMjAxMC0xMS0wMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzA5OTkp
CisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zMDU5LDYgKzMw
NTksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0
aERhdGEuaCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQb2ludHMuY3BwIFwKIAlXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFBvaW50cy5oIFwKKwlXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uaCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmggXAogCVdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZUVsZW1lbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNzA5OTkpCisrKyBXZWJDb3JlL1dlYkNvcmUu
Z3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzk5Miw2ICszOTkyLDcgQEAKICAgICAgICAgICAgICdz
dmcvU1ZHQW5pbWF0ZWRQYXRoRGF0YS5oJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRQ
b2ludHMuY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRQb2ludHMuaCcsCisgICAg
ICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oJywKICAgICAgICAg
ICAgICdzdmcvU1ZHQW5pbWF0ZWRSZWN0LmgnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRp
b25FbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaCcs
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS5wcm8JKHJldmlzaW9uIDcwOTk5KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBj
b3B5KQpAQCAtMjM4Miw2ICsyMzgyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyTGlzdC5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRQYXRoRGF0YS5oIFwKICAgICBz
dmcvU1ZHQW5pbWF0ZWRQb2ludHMuaCBcCisgICAgc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpby5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRSZWN0LmggXAogICAgIHN2Zy9TVkdBbmlt
YXRlRWxlbWVudC5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDcxMTAyKQorKysg
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAt
NjE2NjQsNiArNjE2NjQsMTAgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cc3ZnXFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3Zn
XFNWR0FuaW1hdGVkUmVjdC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3MTEwMikKKysrIFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTQsNiArMjU0LDcgQEAKIAkJMDhGMEJGQzYxMjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRN
ZXRyaWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
OEYwQkZDMTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dE1ldHJpY3MuaCAqLzsgfTsKIAkJMDhG
MkYwMDkxMjEzRTYxNzAwRENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMkYwMDcxMjEzRTYxNzAw
RENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwICovOyB9OwogCQkwOEYyRjAwQTEyMTNF
NjE3MDBEQ0VDNDggLyogUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMkYwMDgxMjEzRTYxNzAwRENFQzQ4IC8qIFJl
bmRlckltYWdlUmVzb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwOEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEZFMEJDNDEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEE0ODQ0OTkwQ0E0NENCMjAwQjdCRDQ4IC8qIFNvZnRMaW5raW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQTQ4NDQ5ODBDQTQ0Q0IyMDBC
N0JENDggLyogU29mdExpbmtpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwQUZEQUMzRDEwRjU0NDhDMDBFMUYzRDIgLyogUGx1Z2luVmlld0Jh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBBRkRB
QzNDMTBGNTQ0OEMwMEUxRjNEMiAvKiBQbHVnaW5WaWV3QmFzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBCOEM1NkQ0MEYyODYyN0YwMDA1MDJF
MSAvKiBIVFRQSGVhZGVyTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBCOEM1NkQzMEYyODYyN0YwMDA1MDJFMSAvKiBIVFRQSGVhZGVyTWFwLmNw
cCAqLzsgfTsKQEAgLTYyNjUsNiArNjI2Niw3IEBACiAJCTA4RjJGMDA4MTIxM0U2MTcwMERDRUM0
OCAvKiBSZW5kZXJJbWFnZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlckltYWdlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDhGQjg0QjAwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhGQjg0QjEwRUNFMzczMzAwREMwNjRFIC8qIFdN
TEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEVs
ZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4RkUwQkM0MTI3
RTJBQzEwMDBDNEZCNSAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBBNDg0NDk4MENBNDRDQjIwMEI3QkQ0
OCAvKiBTb2Z0TGlua2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2Z0
TGlua2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQUZEQUMzQzEwRjU0NDhD
MDBFMUYzRDIgLyogUGx1Z2luVmlld0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z2luVmlld0Jhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEI4
QzU2RDMwRjI4NjI3RjAwMDUwMkUxIC8qIEhUVFBIZWFkZXJNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRUUEhlYWRlck1hcC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjAyOCw2ICsxNjAzMCw3IEBACiAJCQkJQjIyMjc3RjEwRDAwQkYx
RjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUG9pbnRzLmNwcCAqLywKIAkJCQlCMjIyNzdGMjBEMDBC
RjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQb2ludHMuaCAqLywKIAkJCQlCMjIyNzdGMzBEMDBC
RjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQb2ludHMuaWRsICovLAorCQkJCTA4RkUwQkM0MTI3
RTJBQzEwMDBDNEZCNSAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCAqLywKIAkJ
CQlCMjIyNzdGNDBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmlkbCAqLywKIAkJCQkwOEM4NTlCRjEyNzQ1NzUzMDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRS
ZWN0LmggKi8sCiAJCQkJQjIyMjc3RjUwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUmVj
dC5pZGwgKi8sCkBAIC0yMDgxOSw2ICsyMDgyMiw3IEBACiAJCQkJMDhCMzVCMTcxMjdCNkE4ODAw
NTMxNEREIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
Mjc5ODUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUGF0aERhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3OTg4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdBbmltYXRlZFBvaW50cy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMDhGRTBCQzUxMjdFMkFDMTAwMEM0RkI1IC8qIFNWR0FuaW1h
dGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDUxMjZF
RjFEQjAwOTc4RjdBIC8qIFNWR0FuaW1hdGVkUHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA4OEEwRTA2MTI2RUYxREIwMDk3OEY3QSAvKiBTVkdBbmltYXRlZFByb3BlcnR5RGVzY3JpcHRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTA4OEEwRTA3MTI2RUYxREIwMDk3OEY3QSAvKiBTVkdB
bmltYXRlZFByb3BlcnR5TWFjcm9zLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw3ICs1MSw3IEBAIG15ICVudW1lcmljVHlwZUhhc2ggPSAoImludCIgPT4gMSwgInNob3IKIG15
ICVwcmltaXRpdmVUeXBlSGFzaCA9ICggImJvb2xlYW4iID0+IDEsICJ2b2lkIiA9PiAxLCAiRGF0
ZSIgPT4gMSk7CiAKIG15ICVwb2RUeXBlSGFzaCA9ICgiU1ZHVHJhbnNmb3JtIiA9PiAxKTsKLW15
ICVwb2RUeXBlc1dpdGhXcml0YWJsZVByb3BlcnRpZXNIYXNoID0gKCJTVkdNYXRyaXgiID0+IDEs
ICJTVkdQb2ludCIgPT4gMSwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8iID0+IDEpOworbXkgJXBv
ZFR5cGVzV2l0aFdyaXRhYmxlUHJvcGVydGllc0hhc2ggPSAoIlNWR01hdHJpeCIgPT4gMSwgIlNW
R1BvaW50IiA9PiAxKTsKIG15ICVzdHJpbmdUeXBlSGFzaCA9ICgiRE9NU3RyaW5nIiA9PiAxLCAi
QXRvbWljU3RyaW5nIiA9PiAxKTsKIAogbXkgJW5vblBvaW50ZXJUeXBlSGFzaCA9ICgiRE9NVGlt
ZVN0YW1wIiA9PiAxLCAiQ29tcGFyZUhvdyIgPT4gMSwgIlNWR1BhaW50VHlwZSIgPT4gMSk7CkBA
IC02MCw3ICs2MCw3IEBAIG15ICVzdmdOZXdTdHlsZUFuaW1hdGVkVHlwZUhhc2ggPSAoIlNWR0EK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkRW51bWVyYXRp
b24iID0+IDEsICJTVkdBbmltYXRlZEludGVnZXIiID0+IDEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJTVkdBbmltYXRlZExlbmd0aCIgPT4gMSwgIlNWR0FuaW1hdGVkTGVu
Z3RoTGlzdCIgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0Fu
aW1hdGVkTnVtYmVyIiA9PiAxLCAiU1ZHQW5pbWF0ZWROdW1iZXJMaXN0IiA9PiAxLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRSZWN0IiA9PiAxKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpbyIgPT4gMSwgIlNWR0FuaW1hdGVkUmVjdCIgPT4gMSk7CiAKIG15ICVzdmdBbmltYXRl
ZFR5cGVIYXNoID0gKCJTVkdBbmltYXRlZEFuZ2xlIiA9PiAxLCAiU1ZHQW5pbWF0ZWRCb29sZWFu
IiA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkRW51bWVyYXRp
b24iID0+IDEsICJTVkdBbmltYXRlZEludGVnZXIiID0+IDEsCkBAIC04Miw2ICs4Miw3IEBAIG15
ICVzdmdOYXRpdmVUeXBlID0gKAogICAgICJTVkdMZW5ndGhMaXN0IiA9PiAiU1ZHTGlzdFByb3Bl
cnR5VGVhck9mZjxTVkdMZW5ndGhMaXN0PiIsCiAgICAgIlNWR051bWJlciIgPT4gIlNWR1Byb3Bl
cnR5VGVhck9mZjxmbG9hdD4iLAogICAgICJTVkdOdW1iZXJMaXN0IiA9PiAiU1ZHTGlzdFByb3Bl
cnR5VGVhck9mZjxTVkdOdW1iZXJMaXN0PiIsCisgICAgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8i
ID0+ICJTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4iLAogICAgICJT
VkdSZWN0IiA9PiAiU1ZHUHJvcGVydHlUZWFyT2ZmPEZsb2F0UmVjdD4iCiApOwogCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDcw
OTk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29y
a2luZyBjb3B5KQpAQCAtMjQ1Niw3ICsyNDU2LDYgQEAgbXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAg
IklEQktleSIgPT4gIlJlZlB0cjxJREJLZXk+IiwKICAgICAiU1ZHTWF0cml4IiA9PiAiQWZmaW5l
VHJhbnNmb3JtIiwKICAgICAiU1ZHUGFpbnRUeXBlIiA9PiAiU1ZHUGFpbnQ6OlNWR1BhaW50VHlw
ZSIsCi0gICAgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8iID0+ICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIiwKICAgICAiU1ZHUG9pbnQiID0+ICJGbG9hdFBvaW50IiwKICAgICAiU1ZHUmVjdCIgPT4g
IkZsb2F0UmVjdCIsCiAgICAgIlNWR1RyYW5zZm9ybSIgPT4gIlNWR1RyYW5zZm9ybSIsCkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZp
c2lvbiA3MTAxNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2Jq
Qy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTEzNyw3ICsxMTM3LDEyIEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICRpbXBsSW5jbHVkZXN7IiQxLmgifSA9IDE7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgaWYgKCEkcG9kVHlwZSkgewotICAgICAgICAgICAgJGltcGxJbmNsdWRl
c3siJGltcGxDbGFzc05hbWUuaCJ9ID0gMSBpZiBub3QgJGNvZGVHZW5lcmF0b3ItPkF2b2lkSW5j
bHVzaW9uT2ZUeXBlKCRpbXBsQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgIGlmICghJGNvZGVHZW5l
cmF0b3ItPkF2b2lkSW5jbHVzaW9uT2ZUeXBlKCRpbXBsQ2xhc3NOYW1lKSkgeworICAgICAgICAg
ICAgICAgICRpbXBsSW5jbHVkZXN7IiRpbXBsQ2xhc3NOYW1lLmgifSA9IDEgOworICAgICAgICAg
ICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBs
Q2xhc3NOYW1lKSkgeworICAgICAgICAgICAgICAgIG15ICRpbmNsdWRlVHlwZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5HZXRTVkdXcmFwcGVkVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBsQ2xhc3NOYW1lKTsK
KyAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2luY2x1ZGVUeXBlfS5oIn0gPSAxOwor
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgJGltcGxJbmNsdWRl
c3siJHBvZFR5cGUuaCJ9ID0gMSB1bmxlc3MgJHBvZFR5cGUgZXEgImZsb2F0IjsKICAgICAgICAg
fQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShy
ZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTI5NzIsNyArMjk3Miw2IEBAIHN1YiBHZXROYXRpdmVU
eXBlCiAgICAgcmV0dXJuICJGbG9hdFBvaW50IiBpZiAkdHlwZSBlcSAiU1ZHUG9pbnQiOwogICAg
IHJldHVybiAiQWZmaW5lVHJhbnNmb3JtIiBpZiAkdHlwZSBlcSAiU1ZHTWF0cml4IjsKICAgICBy
ZXR1cm4gIlNWR1RyYW5zZm9ybSIgaWYgJHR5cGUgZXEgIlNWR1RyYW5zZm9ybSI7Ci0gICAgcmV0
dXJuICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIiBpZiAkdHlwZSBlcSAiU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyI7CiAgICAgcmV0dXJuICJTVkdQYWludDo6U1ZHUGFpbnRUeXBlIiBpZiAkdHlwZSBl
cSAiU1ZHUGFpbnRUeXBlIjsKICAgICByZXR1cm4gIkRPTVRpbWVTdGFtcCIgaWYgJHR5cGUgZXEg
IkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2ln
bmVkIGludCI7CkBAIC0zMDI0LDcgKzMwMjMsNiBAQCBzdWIgQmFzaWNUeXBlQ2FuRmFpbENvbnZl
cnNpb24KIAogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJTVkdNYXRyaXgiOwogICAgIHJldHVy
biAxIGlmICR0eXBlIGVxICJTVkdQb2ludCI7Ci0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIlNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8iOwogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJTVkdUcmFu
c2Zvcm0iOwogICAgIHJldHVybiAwOwogfQpJbmRleDogV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNW
R0FuaW1hdGVkUHJvcGVydHlUcmFpdHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9EZXBy
ZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oCShyZXZpc2lvbiA3MDk5OSkKKysrIFdl
YkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDcgKzIzLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5j
bHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSwx
OCArMzAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgog
c3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsgfTsKIAotLy8gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgRGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbz4gOiBwdWJsaWMgTm9uY29weWFibGUgewotICAgIHR5cGVkZWYgY29uc3Qg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbyYgUGFzc1R5cGU7Ci0gICAgdHlwZWRlZiBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIFJldHVyblR5cGU7Ci0gICAgdHlwZWRlZiBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIFN0b3JlZFR5cGU7Ci0KLSAgICBzdGF0aWMgUmV0dXJuVHlwZSBudWxsKCkgeyByZXR1cm4g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbygpOyB9Ci0gICAgc3RhdGljIFJldHVyblR5cGUgdG9SZXR1
cm5UeXBlKGNvbnN0IFN0b3JlZFR5cGUmIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKFBhc3NUeXBlIHR5cGUpIHsgcmV0dXJuIHR5cGUudmFsdWVBc1N0
cmluZygpOyB9Ci19OwotCiAvLyBTVkdBbmltYXRlZFN0cmluZwogdGVtcGxhdGU8Pgogc3RydWN0
IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzPFN0cmluZz4gOiBwdWJsaWMgTm9u
Y29weWFibGUgewpJbmRleDogV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkVGVtcGxh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1w
bGF0ZS5oCShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmlt
YXRlZFRlbXBsYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDE1ICsyMywxNCBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJEZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0
cy5oIgorI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgIAog
ICAgIGNsYXNzIFNWR0VsZW1lbnQ7Ci0gICAgY2xhc3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzsK
ICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwotICAgIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAK
ICAgICBzdHJ1Y3QgRGVwcmVjYXRlZFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXkgeyAgICAgICAg
ICAgIAogICAgICAgICAvLyBFbXB0eSB2YWx1ZQpAQCAtMTUzLDcgKzE1Miw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB9CiAKICAgICAvLyBDb21tb24gdHlwZSBkZWZpbml0aW9ucywgdG8g
ZWFzZSBJREwgZ2VuZXJhdGlvbi4KLSAgICB0eXBlZGVmIERlcHJlY2F0ZWRTVkdBbmltYXRlZFRl
bXBsYXRlPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RS
YXRpbzsKICAgICB0eXBlZGVmIERlcHJlY2F0ZWRTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4g
U1ZHQW5pbWF0ZWRTdHJpbmc7CiAgICAgdHlwZWRlZiBEZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1w
bGF0ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0OwogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb19oCisjZGVmaW5lIFNWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpb19oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
UHJvcGVydHlUZWFyT2ZmLmgiCisjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJP
ZmY8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2Vu
ZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDcwOTk5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0SW1hZ2VSZXNvdXJjZSgpOwogCi0gICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRUltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OnBy
ZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJP
UEVSVFlfTkVXKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRp
b0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKICAgICBERUNMQVJFX0FO
SU1BVEVEX1BST1BFUlRZKFNWR0ZFSW1hZ2VFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwg
U3RyaW5nLCBIcmVmLCBocmVmKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCShyZXZpc2lv
biA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVu
c2lvbnMuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxp
dGllcy5oIgogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKQEAgLTg1LDcgKzg2
LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR0ZpdFRvVmlld0JveDo6dmlld0JveAogICAgIGlmICgh
dmlld0JveFJlY3Qud2lkdGgoKSB8fCAhdmlld0JveFJlY3QuaGVpZ2h0KCkpCiAgICAgICAgIHJl
dHVybiBBZmZpbmVUcmFuc2Zvcm0oKTsKIAotICAgIHJldHVybiBwcmVzZXJ2ZUFzcGVjdFJhdGlv
LmdldENUTSh2aWV3Qm94UmVjdC54KCksIHZpZXdCb3hSZWN0LnkoKSwgdmlld0JveFJlY3Qud2lk
dGgoKSwgdmlld0JveFJlY3QuaGVpZ2h0KCksIDAsIDAsIHZpZXdXaWR0aCwgdmlld0hlaWdodCk7
CisgICAgcmV0dXJuIHByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0Q1RNKHZpZXdCb3hSZWN0LngoKSwg
dmlld0JveFJlY3QueSgpLCB2aWV3Qm94UmVjdC53aWR0aCgpLCB2aWV3Qm94UmVjdC5oZWlnaHQo
KSwgdmlld1dpZHRoLCB2aWV3SGVpZ2h0KTsKIH0KIAogYm9vbCBTVkdGaXRUb1ZpZXdCb3g6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKERvY3VtZW50KiBkb2N1bWVudCwgQXR0cmlidXRlKiBhdHRyKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgJKHJldmlzaW9uIDcwOTk5KQorKysgV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDEyICsyMiwxNiBAQAogI2Rl
ZmluZSBTVkdGaXRUb1ZpZXdCb3hfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdF
bGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFm
ZmluZVRyYW5zZm9ybTsKK2NsYXNzIEF0dHJpYnV0ZTsKK2NsYXNzIERvY3VtZW50OworY2xhc3Mg
RmxvYXRSZWN0OworY2xhc3MgUXVhbGlmaWVkTmFtZTsKK2NsYXNzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW87CiAKIGNsYXNzIFNWR0ZpdFRvVmlld0JveCB7CiBwdWJsaWM6CkBAIC00MCw3ICs0NCw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdCb3hCYXNlVmFsdWUoY29uc3QgRmxvYXRS
ZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvQmFzZVZh
bHVlKERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8+OjpQYXNzVHlwZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZUFzcGVj
dFJhdGlvQmFzZVZhbHVlKGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8mKSA9IDA7CiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBwYXJzZVZpZXdCb3goRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmLCBG
bG9hdFJlY3QmKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MDk5OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9Q
RVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6eUF0dHIsIFNWR0xlbmd0aCwgWSwg
eSkKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50
LCBTVkdOYW1lczo6d2lkdGhBdHRyLCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKICAgICAgICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6
aGVpZ2h0QXR0ciwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKLSAgICAgICAgREVDTEFSRV9B
TklNQVRFRF9QUk9QRVJUWShTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVj
dFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9O
RVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0
UmF0aW8pCiAKICAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCiAgICAgICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHSW1hZ2VFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3Ry
aW5nLCBIcmVmLCBocmVmKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gNzA5
OTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFNWR0ZpdFRvVmlld0JveAogICAgIERF
Q0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjp2
aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0
UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBw
cmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNW
R01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRp
bykKIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNzA5OTkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
MCw3ICs4MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBTVkdQYXR0ZXJu
RWxlbWVudAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJu
RWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdC
b3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVsZW1lbnQs
IFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
bywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisgICAgICAgIERF
Q0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6
cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogICAgIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCShy
ZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw4ICsyNSw5IEBACiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oIgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAi
U1ZHU1ZHRWxlbWVudC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsMjcgKzM1LDI2IEBAIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR1ByZXNlcnZlQXNwZWMKICAgICA6IG1fYWxpZ24oU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JRFlNSUQpCiAgICAgLCBtX21lZXRPclNsaWNlKFNWR19NRUVUT1JTTElD
RV9NRUVUKQogewotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhlIHR3byB2YWx1ZXMgZGVmYXVsdCB0
byBVTktOT1dOIGluc3RlYWQ/CiB9CiAKLXZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6c2V0
QWxpZ24odW5zaWduZWQgc2hvcnQgYWxpZ24pCit2b2lkIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86
OnNldEFsaWduKHVuc2lnbmVkIHNob3J0IGFsaWduLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAg
ICBtX2FsaWduID0gYWxpZ247Ci19CisgICAgaWYgKGFsaWduID09IFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1VOS05PV04gfHwgYWxpZ24gPiBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1B
WCkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQogCi11bnNpZ25lZCBzaG9ydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjphbGlnbigpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fYWxpZ247CisgICAgbV9hbGlnbiA9IHN0YXRpY19jYXN0PFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9UeXBlPihhbGlnbik7CiB9CiAKLXZvaWQgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbzo6c2V0TWVldE9yU2xpY2UodW5zaWduZWQgc2hvcnQgbWVldE9yU2xpY2UpCit2
b2lkIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnNldE1lZXRPclNsaWNlKHVuc2lnbmVkIHNob3J0
IG1lZXRPclNsaWNlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBtX21lZXRPclNsaWNlID0g
bWVldE9yU2xpY2U7Ci19CisgICAgaWYgKG1lZXRPclNsaWNlID09IFNWR19NRUVUT1JTTElDRV9V
TktOT1dOIHx8IG1lZXRPclNsaWNlID4gU1ZHX01FRVRPUlNMSUNFX1NMSUNFKSB7CisgICAgICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLXVuc2ln
bmVkIHNob3J0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86Om1lZXRPclNsaWNlKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9tZWV0T3JTbGljZTsKKyAgICBtX21lZXRPclNsaWNlID0gc3RhdGljX2Nh
c3Q8U1ZHTWVldE9yU2xpY2VUeXBlPihtZWV0T3JTbGljZSk7CiB9CiAKIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8gU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlv
KGNvbnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRl
LCBib29sJiByZXN1bHQpCkBAIC02NCw2ICs2NCw3IEBAIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8g
U1ZHUHJlc2VydmVBc3BlY3QKICAgICBhc3BlY3RSYXRpby5tX21lZXRPclNsaWNlID0gU1ZHX01F
RVRPUlNMSUNFX01FRVQ7CiAgICAgcmVzdWx0ID0gZmFsc2U7CiAKKyAgICAvLyBGSVhNRTogUmV3
cml0ZSB0aGlzIHBhcnNlciwgd2l0aG91dCBnb3RvcyEKICAgICBpZiAoIXNraXBPcHRpb25hbFNw
YWNlcyhjdXJyUGFyYW0sIGVuZCkpCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKQEAgLTE2MCwx
NjcgKzE2MSwxODQgQEAgdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjp0cmFuc2Zvcm1SZQog
ICAgIEZsb2F0U2l6ZSBpbWFnZVNpemUgPSBzcmNSZWN0LnNpemUoKTsKICAgICBmbG9hdCBvcmln
RGVzdFdpZHRoID0gZGVzdFJlY3Qud2lkdGgoKTsKICAgICBmbG9hdCBvcmlnRGVzdEhlaWdodCA9
IGRlc3RSZWN0LmhlaWdodCgpOwotICAgIGlmIChtZWV0T3JTbGljZSgpID09IFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19NRUVUT1JTTElDRV9NRUVUKSB7CisgICAgc3dpdGNoIChtX21lZXRP
clNsaWNlKSB7CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfTUVFVE9SU0xJ
Q0VfVU5LTk9XTjoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvOjpTVkdfTUVFVE9SU0xJQ0VfTUVFVDoKKyAgICB7CiAgICAgICAgIGZsb2F0IHdpZHRoVG9I
ZWlnaHRNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qud2lkdGgoKTsKLSAg
ICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0ID4gKG9yaWdEZXN0V2lkdGggKiB3aWR0aFRvSGVpZ2h0
TXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0ID4gb3JpZ0Rlc3RXaWR0
aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKSB7CiAgICAgICAgICAgICBkZXN0UmVjdC5zZXRI
ZWlnaHQob3JpZ0Rlc3RXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKTsKLSAgICAgICAg
ICAgIHN3aXRjaCAoYWxpZ24oKSkgeworICAgICAgICAgICAgc3dpdGNoIChtX2FsaWduKSB7CiAg
ICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSU5ZTUlEOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
OjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0g
ICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBvcmlnRGVzdEhlaWdo
dCAvIDIuMGYgLSBkZXN0UmVjdC5oZWlnaHQoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIGRl
c3RSZWN0LnNldFkoZGVzdFJlY3QueSgpICsgb3JpZ0Rlc3RIZWlnaHQgLyAyIC0gZGVzdFJlY3Qu
aGVpZ2h0KCkgLyAyKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6
CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUFYOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDoKICAgICAgICAgICAgICAgICBk
ZXN0UmVjdC5zZXRZKGRlc3RSZWN0LnkoKSArIG9yaWdEZXN0SGVpZ2h0IC0gZGVzdFJlY3QuaGVp
Z2h0KCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBp
ZiAob3JpZ0Rlc3RXaWR0aCA+IChvcmlnRGVzdEhlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBs
aWVyKSkgeworICAgICAgICBpZiAob3JpZ0Rlc3RXaWR0aCA+IG9yaWdEZXN0SGVpZ2h0IC8gd2lk
dGhUb0hlaWdodE11bHRpcGxpZXIpIHsKICAgICAgICAgICAgIGRlc3RSZWN0LnNldFdpZHRoKG9y
aWdEZXN0SGVpZ2h0IC8gd2lkdGhUb0hlaWdodE11bHRpcGxpZXIpOwotICAgICAgICAgICAgc3dp
dGNoIChhbGlnbigpKSB7CisgICAgICAgICAgICBzd2l0Y2ggKG1fYWxpZ24pIHsKICAgICAgICAg
ICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSU46CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgogICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKLSAgICAgICAg
ICAgICAgICBkZXN0UmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIG9yaWdEZXN0V2lkdGggLyAyLjBm
IC0gZGVzdFJlY3Qud2lkdGgoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIGRlc3RSZWN0LnNl
dFgoZGVzdFJlY3QueCgpICsgb3JpZ0Rlc3RXaWR0aCAvIDIgLSBkZXN0UmVjdC53aWR0aCgpIC8g
Mik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6CiAgICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0
WChkZXN0UmVjdC54KCkgKyBvcmlnRGVzdFdpZHRoIC0gZGVzdFJlY3Qud2lkdGgoKSk7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChtZWV0T3JT
bGljZSgpID09IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19NRUVUT1JTTElDRV9TTElDRSkg
eworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
OjpTVkdfTUVFVE9SU0xJQ0VfU0xJQ0U6CisgICAgewogICAgICAgICBmbG9hdCB3aWR0aFRvSGVp
Z2h0TXVsdGlwbGllciA9IHNyY1JlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LndpZHRoKCk7CiAgICAg
ICAgIC8vIGlmIHRoZSBkZXN0aW5hdGlvbiBoZWlnaHQgaXMgbGVzcyB0aGFuIHRoZSBoZWlnaHQg
b2YgdGhlIGltYWdlIHdlJ2xsIGJlIGRyYXdpbmcKLSAgICAgICAgaWYgKG9yaWdEZXN0SGVpZ2h0
IDwgKG9yaWdEZXN0V2lkdGggKiB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllcikpIHsKKyAgICAgICAg
aWYgKG9yaWdEZXN0SGVpZ2h0IDwgb3JpZ0Rlc3RXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBs
aWVyKSB7CiAgICAgICAgICAgICBmbG9hdCBkZXN0VG9TcmNNdWx0aXBsaWVyID0gc3JjUmVjdC53
aWR0aCgpIC8gZGVzdFJlY3Qud2lkdGgoKTsKICAgICAgICAgICAgIHNyY1JlY3Quc2V0SGVpZ2h0
KGRlc3RSZWN0LmhlaWdodCgpICogZGVzdFRvU3JjTXVsdGlwbGllcik7Ci0gICAgICAgICAgICBz
d2l0Y2ggKGFsaWduKCkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobV9hbGlnbikgewogICAgICAg
ICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUlOWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgotICAgICAg
ICAgICAgICAgIHNyY1JlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkg
LyAyLjBmIC0gc3JjUmVjdC5oZWlnaHQoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgIHNyY1Jl
Y3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkgLyAyIC0gc3JjUmVjdC5o
ZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1BWDoK
ICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNQVg6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgogICAgICAgICAgICAgICAgIHNy
Y1JlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBpbWFnZVNpemUuaGVpZ2h0KCkgLSBzcmNSZWN0Lmhl
aWdodCgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
Ly8gaWYgdGhlIGRlc3RpbmF0aW9uIHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUgd2lkdGggb2YgdGhl
IGltYWdlIHdlJ2xsIGJlIGRyYXdpbmcKLSAgICAgICAgaWYgKG9yaWdEZXN0V2lkdGggPCAob3Jp
Z0Rlc3RIZWlnaHQgLyB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKG9y
aWdEZXN0V2lkdGggPCBvcmlnRGVzdEhlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKSB7
CiAgICAgICAgICAgICBmbG9hdCBkZXN0VG9TcmNNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQo
KSAvIGRlc3RSZWN0LmhlaWdodCgpOwogICAgICAgICAgICAgc3JjUmVjdC5zZXRXaWR0aChkZXN0
UmVjdC53aWR0aCgpICogZGVzdFRvU3JjTXVsdGlwbGllcik7Ci0gICAgICAgICAgICBzd2l0Y2gg
KGFsaWduKCkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobV9hbGlnbikgewogICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JTjoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgotICAgICAgICAgICAg
ICAgIHNyY1JlY3Quc2V0WChkZXN0UmVjdC54KCkgKyBpbWFnZVNpemUud2lkdGgoKSAvIDIuMGYg
LSBzcmNSZWN0LndpZHRoKCkgLyAyLjBmKTsKKyAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgo
ZGVzdFJlY3QueCgpICsgaW1hZ2VTaXplLndpZHRoKCkgLyAyIC0gc3JjUmVjdC53aWR0aCgpIC8g
Mik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOgogICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JRDoKICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6CiAgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRY
KGRlc3RSZWN0LngoKSArIGltYWdlU2l6ZS53aWR0aCgpIC0gc3JjUmVjdC53aWR0aCgpKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAg
fQogICAgIH0KIH0KIAotQWZmaW5lVHJhbnNmb3JtIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86Omdl
dENUTShkb3VibGUgbG9naWNYLCBkb3VibGUgbG9naWNZLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgbG9naWNXaWR0aCwgZG91YmxlIGxvZ2lj
SGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUgLypwaHlzWCovLCBkb3VibGUgLypwaHlzWSovLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgcGh5c1dpZHRoLCBkb3VibGUgcGh5c0hl
aWdodCkgY29uc3QKKy8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGZsb2F0cyBoZXJlLCBsaWtlIGV2
ZXJ5d2hlcmUgZWxzZSEKK0FmZmluZVRyYW5zZm9ybSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpn
ZXRDVE0oZG91YmxlIGxvZ2ljWCwgZG91YmxlIGxvZ2ljWSwgZG91YmxlIGxvZ2ljV2lkdGgsIGRv
dWJsZSBsb2dpY0hlaWdodCwgZG91YmxlIHBoeXNXaWR0aCwgZG91YmxlIHBoeXNIZWlnaHQpIGNv
bnN0CiB7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIHRlbXA7Ci0KLSAgICBpZiAoYWxpZ24oKSA9PSBT
VkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOKQotICAgICAgICByZXR1cm4gdGVtcDsKKyAg
ICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOworICAgIGlmIChtX2FsaWduID09IFNWR19QUkVT
RVJWRUFTUEVDVFJBVElPX1VOS05PV04pCisgICAgICAgIHJldHVybiB0cmFuc2Zvcm07CisKKyAg
ICBkb3VibGUgbG9naWNhbFJhdGlvID0gbG9naWNXaWR0aCAvIGxvZ2ljSGVpZ2h0OworICAgIGRv
dWJsZSBwaHlzUmF0aW8gPSBwaHlzV2lkdGggLyBwaHlzSGVpZ2h0OworCisgICAgaWYgKG1fYWxp
Z24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkgeworICAgICAgICB0cmFuc2Zvcm0u
c2NhbGVOb25Vbmlmb3JtKHBoeXNXaWR0aCAvIGxvZ2ljV2lkdGgsIHBoeXNIZWlnaHQgLyBsb2dp
Y0hlaWdodCk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLWxvZ2ljWCwgLWxvZ2ljWSk7
CisgICAgICAgIHJldHVybiB0cmFuc2Zvcm07CisgICAgfQogCi0gICAgZG91YmxlIHZwYXIgPSBs
b2dpY1dpZHRoIC8gbG9naWNIZWlnaHQ7Ci0gICAgZG91YmxlIHN2Z2FyID0gcGh5c1dpZHRoIC8g
cGh5c0hlaWdodDsKKyAgICBpZiAoKGxvZ2ljYWxSYXRpbyA8IHBoeXNSYXRpbyAmJiAobV9tZWV0
T3JTbGljZSA9PSBTVkdfTUVFVE9SU0xJQ0VfTUVFVCkpIHx8IChsb2dpY2FsUmF0aW8gPj0gcGh5
c1JhdGlvICYmIChtX21lZXRPclNsaWNlID09IFNWR19NRUVUT1JTTElDRV9TTElDRSkpKSB7Cisg
ICAgICAgIHRyYW5zZm9ybS5zY2FsZU5vblVuaWZvcm0ocGh5c0hlaWdodCAvIGxvZ2ljSGVpZ2h0
LCBwaHlzSGVpZ2h0IC8gbG9naWNIZWlnaHQpOwogCi0gICAgaWYgKGFsaWduKCkgPT0gU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShw
aHlzV2lkdGggLyBsb2dpY1dpZHRoLCBwaHlzSGVpZ2h0IC8gbG9naWNIZWlnaHQpOwotICAgICAg
ICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZKTsKLSAgICB9IGVsc2UgaWYgKCh2cGFy
IDwgc3ZnYXIgJiYgKG1lZXRPclNsaWNlKCkgPT0gU1ZHX01FRVRPUlNMSUNFX01FRVQpKSB8fCAo
dnBhciA+PSBzdmdhciAmJiAobWVldE9yU2xpY2UoKSA9PSBTVkdfTUVFVE9SU0xJQ0VfU0xJQ0Up
KSkgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShwaHlzSGVpZ2h0IC8gbG9naWNIZWln
aHQsIHBoeXNIZWlnaHQgLyBsb2dpY0hlaWdodCk7Ci0KLSAgICAgICAgaWYgKGFsaWduKCkgPT0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4gfHwgYWxpZ24oKSA9PSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlOWU1JRCB8fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNSU5ZTUFYKQotICAgICAgICAgICAgdGVtcC50cmFuc2xhdGUoLWxvZ2ljWCwgLWxvZ2lj
WSk7Ci0gICAgICAgIGVsc2UgaWYgKGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSU4gfHwgYWxpZ24oKSA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRCB8
fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYKQotICAgICAgICAg
ICAgdGVtcC50cmFuc2xhdGUoLWxvZ2ljWCAtIChsb2dpY1dpZHRoIC0gcGh5c1dpZHRoICogbG9n
aWNIZWlnaHQgLyBwaHlzSGVpZ2h0KSAvIDIsIC1sb2dpY1kpOworICAgICAgICBpZiAobV9hbGln
biA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiB8fCBtX2FsaWduID09IFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JTllNQVgpCisgICAgICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1sb2dp
Y1gsIC1sb2dpY1kpOworICAgICAgICBlbHNlIGlmIChtX2FsaWduID09IFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUlOIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSUQgfHwgbV9hbGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWCkK
KyAgICAgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLWxvZ2ljWCAtIChsb2dpY1dpZHRoIC0g
cGh5c1dpZHRoICogbG9naWNIZWlnaHQgLyBwaHlzSGVpZ2h0KSAvIDIsIC1sb2dpY1kpOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYIC0gKGxvZ2ljV2lk
dGggLSBwaHlzV2lkdGggKiBsb2dpY0hlaWdodCAvIHBoeXNIZWlnaHQpLCAtbG9naWNZKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICB0ZW1wLnNjYWxlTm9uVW5pZm9ybShwaHlzV2lkdGggLyBsb2dp
Y1dpZHRoLCBwaHlzV2lkdGggLyBsb2dpY1dpZHRoKTsKLQotICAgICAgICBpZiAoYWxpZ24oKSA9
PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiB8fCBhbGlnbigpID09IFNWR19QUkVT
RVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIHx8IGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1BWFlNSU4pCi0gICAgICAgICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9n
aWNZKTsKLSAgICAgICAgZWxzZSBpZiAoYWxpZ24oKSA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUlOWU1JRCB8fCBhbGlnbigpID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlE
IHx8IGFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQpCi0gICAgICAg
ICAgICB0ZW1wLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZIC0gKGxvZ2ljSGVpZ2h0IC0gcGh5
c0hlaWdodCAqIGxvZ2ljV2lkdGggLyBwaHlzV2lkdGgpIC8gMik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRlbXAudHJhbnNsYXRlKC1sb2dpY1gsIC1sb2dpY1kgLSAobG9naWNIZWlnaHQg
LSBwaHlzSGVpZ2h0ICogbG9naWNXaWR0aCAvIHBoeXNXaWR0aCkpOworICAgICAgICAgICAgdHJh
bnNmb3JtLnRyYW5zbGF0ZSgtbG9naWNYIC0gKGxvZ2ljV2lkdGggLSBwaHlzV2lkdGggKiBsb2dp
Y0hlaWdodCAvIHBoeXNIZWlnaHQpLCAtbG9naWNZKTsKKyAgICAgICAgCisgICAgICAgIHJldHVy
biB0cmFuc2Zvcm07CiAgICAgfQogCi0gICAgcmV0dXJuIHRlbXA7CisgICAgdHJhbnNmb3JtLnNj
YWxlTm9uVW5pZm9ybShwaHlzV2lkdGggLyBsb2dpY1dpZHRoLCBwaHlzV2lkdGggLyBsb2dpY1dp
ZHRoKTsKKworICAgIGlmIChtX2FsaWduID09IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5Z
TUlOIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4gfHwgbV9h
bGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTikKKyAgICAgICAgdHJhbnNm
b3JtLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9naWNZKTsKKyAgICBlbHNlIGlmIChtX2FsaWduID09
IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEIHx8IG1fYWxpZ24gPT0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQgfHwgbV9hbGlnbiA9PSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUFYWU1JRCkKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtbG9naWNYLCAtbG9n
aWNZIC0gKGxvZ2ljSGVpZ2h0IC0gcGh5c0hlaWdodCAqIGxvZ2ljV2lkdGggLyBwaHlzV2lkdGgp
IC8gMik7CisgICAgZWxzZQorICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1sb2dpY1gsIC1s
b2dpY1kgLSAobG9naWNIZWlnaHQgLSBwaHlzSGVpZ2h0ICogbG9naWNXaWR0aCAvIHBoeXNXaWR0
aCkpOworCisgICAgcmV0dXJuIHRyYW5zZm9ybTsKIH0KIAogU3RyaW5nIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogewotICAgIFN0cmluZyByZXN1bHQ7Cisg
ICAgU3RyaW5nIGFsaWduVHlwZTsKIAotICAgIHN3aXRjaCAoKFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW9UeXBlKSBhbGlnbigpKSB7Ci0gICAgZGVmYXVsdDoKKyAgICBzd2l0Y2ggKG1fYWxpZ24pIHsK
ICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU6Ci0gICAgICAgIHJlc3VsdCA9
ICJub25lIjsKKyAgICAgICAgYWxpZ25UeXBlID0gIm5vbmUiOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOOgotICAgICAgICByZXN1bHQg
PSAieE1pbllNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1pbllNaW4iOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOOgotICAgICAg
ICByZXN1bHQgPSAieE1pZFlNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1pZFlNaW4iOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlO
OgotICAgICAgICByZXN1bHQgPSAieE1heFlNaW4iOworICAgICAgICBhbGlnblR5cGUgPSAieE1h
eFlNaW4iOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSU5ZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1pbllNaWQiOworICAgICAgICBhbGlnblR5
cGUgPSAieE1pbllNaWQiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1pZFlNaWQiOworICAgICAg
ICBhbGlnblR5cGUgPSAieE1pZFlNaWQiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgotICAgICAgICByZXN1bHQgPSAieE1heFlNaWQi
OworICAgICAgICBhbGlnblR5cGUgPSAieE1heFlNaWQiOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOgotICAgICAgICByZXN1bHQgPSAi
eE1pbllNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1pbllNYXgiOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgotICAgICAgICBy
ZXN1bHQgPSAieE1pZFlNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1pZFlNYXgiOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgot
ICAgICAgICByZXN1bHQgPSAieE1heFlNYXgiOworICAgICAgICBhbGlnblR5cGUgPSAieE1heFlN
YXgiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1VO
S05PV046CisgICAgICAgIGFsaWduVHlwZSA9ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CiAg
ICAgfTsKIAotICAgIHN3aXRjaCAoKFNWR01lZXRPclNsaWNlVHlwZSkgbWVldE9yU2xpY2UoKSkg
eworICAgIHN3aXRjaCAobV9tZWV0T3JTbGljZSkgewogICAgIGRlZmF1bHQ6CiAgICAgY2FzZSBT
VkdfTUVFVE9SU0xJQ0VfVU5LTk9XTjoKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBh
bGlnblR5cGU7CiAgICAgY2FzZSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDoKLSAgICAgICAgcmVzdWx0
ICs9ICIgbWVldCI7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhh
bGlnblR5cGUsICIgbWVldCIpOwogICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX1NMSUNFOgotICAg
ICAgICByZXN1bHQgKz0gIiBzbGljZSI7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
bWFrZVN0cmluZyhhbGlnblR5cGUsICIgc2xpY2UiKTsKICAgICB9OwotCi0gICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAkocmV2
aXNpb24gNzA5OTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcyICsyMiw3MCBAQAogI2RlZmluZSBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBB
ZmZpbmVUcmFuc2Zvcm07CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CitjbGFzcyBGbG9hdFJlY3Q7
CiAKLSAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIGVudW0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUgewotICAgICAgICAgICAgU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fVU5LTk9XTiAgICAgPSAwLAotICAgICAgICAgICAgU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fTk9ORSAgICAgICAgPSAxLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JTllNSU4gICAgPSAyLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNSU4gICAgPSAzLAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1BWFlNSU4gICAgPSA0LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JTllNSUQgICAgPSA1LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSUQgICAgPSA2LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1B
WFlNSUQgICAgPSA3LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllN
QVggICAgPSA4LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVgg
ICAgPSA5LAotICAgICAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVggICAg
PSAxMAotICAgICAgICB9OwotCi0gICAgICAgIGVudW0gU1ZHTWVldE9yU2xpY2VUeXBlIHsKLSAg
ICAgICAgICAgIFNWR19NRUVUT1JTTElDRV9VTktOT1dOICAgID0gMCwKLSAgICAgICAgICAgIFNW
R19NRUVUT1JTTElDRV9NRUVUICAgICAgID0gMSwKLSAgICAgICAgICAgIFNWR19NRUVUT1JTTElD
RV9TTElDRSAgICAgID0gMgotICAgICAgICB9OwotCi0gICAgICAgIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8oKTsKLQotICAgICAgICB2b2lkIHNldEFsaWduKHVuc2lnbmVkIHNob3J0KTsKLSAgICAg
ICAgdW5zaWduZWQgc2hvcnQgYWxpZ24oKSBjb25zdDsKLQotICAgICAgICB2b2lkIHNldE1lZXRP
clNsaWNlKHVuc2lnbmVkIHNob3J0KTsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgbWVldE9yU2xp
Y2UoKSBjb25zdDsKLQotICAgICAgICB2b2lkIHRyYW5zZm9ybVJlY3QoRmxvYXRSZWN0JiBkZXN0
UmVjdCwgRmxvYXRSZWN0JiBzcmNSZWN0KTsKLSAgICAgICAgCi0gICAgICAgIEFmZmluZVRyYW5z
Zm9ybSBnZXRDVE0oZG91YmxlIGxvZ2ljWCwgZG91YmxlIGxvZ2ljWSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3VibGUgbG9naWNXaWR0aCwgZG91YmxlIGxvZ2ljSGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwaHlzWCwgZG91YmxlIHBoeXNZ
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwaHlzV2lkdGgsIGRvdWJs
ZSBwaHlzSGVpZ2h0KSBjb25zdDsKLQotICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBDb25zdW1lcj4K
LSAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKENvbnN1bWVyKiBj
b25zdW1lciwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgICBjb25z
dCBVQ2hhciogYmVnaW4gPSB2YWx1ZS5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgICAgICBjb25zdCBV
Q2hhciogZW5kID0gYmVnaW4gKyB2YWx1ZS5sZW5ndGgoKTsKLSAgICAgICAgICAgIGNvbnN1bWVy
LT5zZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvQmFzZVZhbHVlKHBhcnNlUHJlc2VydmVBc3BlY3RSYXRp
byhiZWdpbiwgZW5kLCB2YWxpZGF0ZSwgcmVzdWx0KSk7Ci0gICAgICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhl
IG1ldGhvZCBhYm92ZSwgb25seSBTVkdWaWV3U3BlYyBuZWVkcyB0aGlzIHBhcnNpbmcgbWV0aG9k
Ci0gICAgICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHBhcnNlUHJlc2VydmVBc3Bl
Y3RSYXRpbyhjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2
YWxpZGF0ZSwgYm9vbCYgcmVzdWx0KTsKLQotICAgICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgbV9hbGlnbjsK
LSAgICAgICAgdW5zaWduZWQgc2hvcnQgbV9tZWV0T3JTbGljZTsKK2NsYXNzIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8geworcHVibGljOgorICAgIGVudW0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5
cGUgeworICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOID0gMCwKKyAgICAg
ICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSA9IDEsCisgICAgICAgIFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNSU5ZTUlOID0gMiwKKyAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JRFlNSU4gPSAzLAorICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1J
TiA9IDQsCisgICAgICAgIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEID0gNSwKKyAg
ICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQgPSA2LAorICAgICAgICBTVkdf
UFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JRCA9IDcsCisgICAgICAgIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSU5ZTUFYID0gOCwKKyAgICAgICAgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNQVggPSA5LAorICAgICAgICBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWCA9
IDEwCiAgICAgfTsKIAorICAgIGVudW0gU1ZHTWVldE9yU2xpY2VUeXBlIHsKKyAgICAgICAgU1ZH
X01FRVRPUlNMSUNFX1VOS05PV04gPSAwLAorICAgICAgICBTVkdfTUVFVE9SU0xJQ0VfTUVFVCA9
IDEsCisgICAgICAgIFNWR19NRUVUT1JTTElDRV9TTElDRSA9IDIKKyAgICB9OworCisgICAgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbygpOworCisgICAgdm9pZCBzZXRBbGlnbih1bnNpZ25lZCBzaG9y
dCBhbGlnbiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIHNob3J0IGFsaWduKCkgY29u
c3QgeyByZXR1cm4gbV9hbGlnbjsgfQorCisgICAgdm9pZCBzZXRNZWV0T3JTbGljZSh1bnNpZ25l
ZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIHNob3J0IG1lZXRPclNsaWNl
KCkgY29uc3QgeyByZXR1cm4gbV9tZWV0T3JTbGljZTsgfQorCisgICAgdm9pZCB0cmFuc2Zvcm1S
ZWN0KEZsb2F0UmVjdCYgZGVzdFJlY3QsIEZsb2F0UmVjdCYgc3JjUmVjdCk7CisKKyAgICBBZmZp
bmVUcmFuc2Zvcm0gZ2V0Q1RNKGRvdWJsZSBsb2dpY1gsIGRvdWJsZSBsb2dpY1ksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb3VibGUgbG9naWNXaWR0aCwgZG91YmxlIGxvZ2ljSGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHBoeXNXaWR0aCwgZG91YmxlIHBo
eXNIZWlnaHQpIGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgQ29uc3VtZXI+CisgICAgc3Rh
dGljIGJvb2wgcGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKENvbnN1bWVyKiBjb25zdW1lciwgY29u
c3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpCisgICAgeworICAgICAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOworICAgICAgICBjb25zdCBVQ2hhciogYmVnaW4gPSB2YWx1ZS5j
aGFyYWN0ZXJzKCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBiZWdpbiArIHZhbHVlLmxl
bmd0aCgpOworICAgICAgICBjb25zdW1lci0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VWYWx1
ZShwYXJzZVByZXNlcnZlQXNwZWN0UmF0aW8oYmVnaW4sIGVuZCwgdmFsaWRhdGUsIHJlc3VsdCkp
OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIC8vIEl0J3MgcmVjb21tZW5k
ZWQgdG8gdXNlIHRoZSBtZXRob2QgYWJvdmUsIG9ubHkgU1ZHVmlld1NwZWMgbmVlZHMgdGhpcyBw
YXJzaW5nIG1ldGhvZAorICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHBhcnNlUHJl
c2VydmVBc3BlY3RSYXRpbyhjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVu
ZCwgYm9vbCB2YWxpZGF0ZSwgYm9vbCYgcmVzdWx0KTsKKworICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUg
bV9hbGlnbjsKKyAgICBTVkdNZWV0T3JTbGljZVR5cGUgbV9tZWV0T3JTbGljZTsKK307CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAkocmV2aXNpb24gNzA5OTkpCisrKyBXZWJD
b3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUs
MTAgKzI1LDEwIEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25h
bD1TVkcsIFBPRFR5cGU9U1ZHUHJlc2VydmVBc3BlY3RSYXRpb10gU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8gewogICAgICAgICAvLyBBbGlnbm1lbnQgVHlwZXMKLSAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fVU5LTk9XTiAgPSAwOwotICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FICAgICA9IDE7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1VO
S05PV04gPSAwOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JTllNSU4gPSAyOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JTiA9IDM7CiAgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOID0gNDsKQEAgLTM4
LDE1ICszOCwxNyBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVggPSA4OwogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWCA9IDk7CiAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYID0g
MTA7CisKICAgICAgICAgLy8gTWVldC1vci1zbGljZSBUeXBlcwotICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfTUVFVE9SU0xJQ0VfVU5LTk9XTiAgID0gMDsKLSAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgU1ZHX01FRVRPUlNMSUNFX01FRVQgICAgICA9IDE7Ci0gICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFNWR19NRUVUT1JTTElDRV9TTElDRSAgICAgPSAyOwotCi0gICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhbGlnbgotICAgICAgICAgICAg
ICAgICAgICAgLypzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKLSAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG1lZXRPclNsaWNlCi0gICAgICAgICAgICAgICAg
ICAgICAvKnNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfTUVFVE9SU0xJQ0VfVU5LTk9XTiA9IDA7CisgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFNWR19NRUVUT1JTTElDRV9NRUVUID0gMTsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1ZHX01FRVRPUlNMSUNFX1NMSUNFID0gMjsKKworICAgICAgICBhdHRyaWJ1
dGUgW1N0cmljdFR5cGVDaGVja2luZ10gdW5zaWduZWQgc2hvcnQgYWxpZ24KKyAgICAgICAgICAg
IHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICBhdHRyaWJ1dGUgW1N0cmlj
dFR5cGVDaGVja2luZ10gdW5zaWduZWQgc2hvcnQgbWVldE9yU2xpY2UKKyAgICAgICAgICAgIHNl
dHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdTVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVu
dC5oCShyZXZpc2lvbiA3MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ3LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICAvLyBTVkdGaXRUb1ZpZXdCb3gKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJU
WV9ORVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZp
ZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHU1ZH
RWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAg
ICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdTVkdFbGVtZW50LCBTVkdOYW1l
czo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNl
cnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkb2N1bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZG9jdW1lbnREaWRCZWNvbWVBY3RpdmUoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgJKHJl
dmlzaW9uIDcwOTk5KQorKysgV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAKICAgICAgICAg
Ly8gU1ZHRml0VG9WaWV3Qm94CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVX
KFNWR1N5bWJvbEVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3
Qm94LCB2aWV3Qm94KQotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1N5bWJv
bEVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisg
ICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR1N5bWJvbEVsZW1lbnQsIFNW
R05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywg
UHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCShyZXZpc2lvbiA3MDk5
OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogIAogICAgICAgICAvLyBTVkdGaXRUb1Zp
ZXdCb3gKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHVmlld0VsZW1l
bnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQot
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1ZpZXdFbGVtZW50LCBTVkdOYW1l
czo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNl
cnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFlfTkVXKFNWR1ZpZXdFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3Bl
Y3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8s
IHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1N0cmlu
Z0xpc3Q+IG1fdmlld1RhcmdldDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCShyZXZpc2lvbiA3
MDk5OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5
LDcgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNWR0ZpdFRvVmll
d0JveAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdWaWV3U3BlYywg
U1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVz
ZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3Bl
Y3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWV9ORVcoU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0
ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVB
c3BlY3RSYXRpbykKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiBt
X3RyYW5zZm9ybTsKICAgICAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmluZzsKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDcxMTAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ29udmVydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHRvIHRoZSBuZXcgU1ZHUHJv
cGVydHlUZWFyT2ZmIGNvbmNlcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ4ODIyCisKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZH
QW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9k
b20vU1ZHUHJlc2VydmVBc3BlY3RSYXRpby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uanM6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uanM6IEFkZGVkLgorCiAyMDEwLTExLTAxICBNT1JJVEEgSGFqaW1lIDxtb3JyaXRhQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkZWQgc2tpcCBlbnRyaWVzIGZvciBwbGF0
Zm9ybXMgd2hlcmUgc3BlbGxjaGVja2luZwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdB
bmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvIEFQ
SSAtIHV0aWxpemluZyB0aGUgcHJlc2VydmVBc3BlY3RSYXRpbyBwcm9wZXJ0eSBvZiBTVkdTVkdF
bGVtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwg
cHJlc2VydmVBc3BlY3RSYXRpbyB2YWx1ZQorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0
UmF0aW8udG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0
aW9dIgorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC50b1N0cmlu
ZygpIGlzICJbb2JqZWN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9dIgorUEFTUyBzdmdFbGVtZW50
LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlECitQQVNTIHN2Z0VsZW1lbnQucHJl
c2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIGlzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX01FRVRPUlNMSUNFX01FRVQKKworQ2hlY2sgdGhhdCBwcmVzZXJ2ZUFzcGVjdFJh
dGlvcyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBt
b2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdAorUEFTUyBhc3BlY3RSZWYuYWxpZ24gaXMg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTgor
UEFTUyBhc3BlY3RSZWYubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UKK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJh
c2VWYWwuYWxpZ24gaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUFYWU1JTgorUEFTUyBzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZh
bC5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9T
TElDRQorCitDaGVjayB0aGF0IGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFz
IG5vIHNldHRlciBpcyBkZWZpbmVkCitQQVNTIHN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRp
by5iYXNlVmFsID0gLTEgaXMgLTEKK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwgPSAnYVN0cmluZycgaXMgImFTdHJpbmciCitQQVNTIHN2Z0VsZW1lbnQucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsID0gc3ZnRWxlbWVudCBpcyBzdmdFbGVtZW50CisKK0NoZWNr
IHRoYXQgdGhlIHByZXNlcnZlQXNwZWN0UmF0aW8gYWxpZ24vbWVldE9yU2xpY2UgcmVtYWluZWQg
eE1heFlNaW4vc2xpY2UsIGFuZCB0aGUgYmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2Vk
CitQQVNTIHN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLnRvU3RyaW5nKCkg
aXMgIltvYmplY3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb10iCitQQVNTIHN2Z0VsZW1lbnQucHJl
c2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU4KK1BBU1Mgc3ZnRWxlbWVudC5wcmVzZXJ2
ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
b20vU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1ByZXNlcnZlQXNwZWN0UmF0aW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDM5IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIEFQSQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIGFsaWduL21l
ZXRPclNsaWNlIHZhbHVlcworUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduIGlzIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQKK1BBU1Mg
cHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LlNWR19NRUVUT1JTTElDRV9NRUVUCisKK0NoZWNrIGFzc2lnbmluZyBhbGlnbi9tZWV0T3JTbGlj
ZSB2YWx1ZXMKK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4gaXMgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JTgorUEFTUyBwcmVzZXJ2
ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVF
VE9SU0xJQ0VfU0xJQ0UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0Vf
U0xJQ0UKKworQ2hlY2sgYXNzaWduaW5nIGludmFsaWQgYWxpZ24gdmFsdWVzCitQQVNTIHByZXNl
cnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24g
PSBudWxsIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNl
cHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9ICdhU3RyaW5nJyB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJh
dGlvLmFsaWduID0gc3ZnRWxlbWVudCB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3Bl
Y3RSYXRpby5hbGlnbiA9IC0xIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IDEx
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24g
OS4KKworQ2hlY2sgYXNzaWduaW5nIGludmFsaWQgbWVldE9yU2xpY2UgdmFsdWVzCitQQVNTIHBy
ZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0
aW8ubWVldE9yU2xpY2UgPSBudWxsIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JT
bGljZSA9ICdhU3RyaW5nJyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgor
UEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gc3ZnRWxlbWVudCB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwcmVzZXJ2ZUFzcGVjdFJhdGlv
Lm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfVU5L
Tk9XTiB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0
aW9uIDkuCitQQVNTIHByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSAtMSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNT
IHByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSAzIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KKworQ2hlY2sgdGhhdCB0aGUg
cHJlc2VydmVBc3BlY3RSYXRpbyByZW1haW5lZCBjb3JyZWN0CitQQVNTIHByZXNlcnZlQXNwZWN0
UmF0aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNSURZTUlOIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1JRFlNSU4KK1BBU1MgcHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSA9IFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFIGlzIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2RvbS9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9k
b20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3Nj
cmlwdC10ZXN0cy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uanMJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzQgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdB
bmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gQVBJIC0gdXRpbGl6aW5nIHRoZSBwcmVzZXJ2ZUFz
cGVjdFJhdGlvIHByb3BlcnR5IG9mIFNWR1NWR0VsZW1lbnQiKTsKKwordmFyIHN2Z0VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwg
InN2ZyIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBwcmVzZXJ2ZUFzcGVj
dFJhdGlvIHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN2Z0VsZW1lbnQucHJlc2Vy
dmVBc3BlY3RSYXRpby50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvXSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnByZXNlcnZl
QXNwZWN0UmF0aW8uYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb10iKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFz
ZVZhbC5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNSURZTUlEIik7CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwubWVldE9yU2xpY2UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9S
U0xJQ0VfTUVFVCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCBwcmVzZXJ2ZUFz
cGVjdFJhdGlvcyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxl
IGFuZCBtb2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdCIpOwordmFyIGFzcGVjdFJlZiA9
IHN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsOworYXNwZWN0UmVmLmFsaWdu
ID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1J
TjsKK2FzcGVjdFJlZi5tZWV0T3JTbGljZSA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01F
RVRPUlNMSUNFX1NMSUNFOworc2hvdWxkQmUoImFzcGVjdFJlZi5hbGlnbiIsICJTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOIik7CitzaG91bGRC
ZSgiYXNwZWN0UmVmLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01F
RVRPUlNMSUNFX1NMSUNFIik7CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJh
dGlvLmJhc2VWYWwuYWxpZ24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUFYWU1JTiIpOworc2hvdWxkQmUoInN2Z0VsZW1lbnQucHJlc2VydmVBc3Bl
Y3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZH
X01FRVRPUlNMSUNFX1NMSUNFIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IGFz
c2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5vIHNldHRlciBpcyBkZWZpbmVk
Iik7CitzaG91bGRCZSgic3ZnRWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwgPSAt
MSIsICItMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnByZXNlcnZlQXNw
ZWN0UmF0aW8uYmFzZVZhbCA9ICdhU3RyaW5nJyIsICJhU3RyaW5nIik7CitzaG91bGRCZSgic3Zn
RWxlbWVudC5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwgPSBzdmdFbGVtZW50IiwgInN2Z0Vs
ZW1lbnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgdGhlIHByZXNlcnZlQXNw
ZWN0UmF0aW8gYWxpZ24vbWVldE9yU2xpY2UgcmVtYWluZWQgeE1heFlNaW4vc2xpY2UsIGFuZCB0
aGUgYmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2VkIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN2Z0VsZW1lbnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLnRvU3RyaW5nKCki
LCAiW29iamVjdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvXSIpOworc2hvdWxkQmUoInN2Z0VsZW1l
bnQucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIiwgIlNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU4iKTsKK3Nob3VsZEJlKCJzdmdF
bGVtZW50LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSIsICJTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOworCitzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9t
L3NjcmlwdC10ZXN0cy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBj
aGVja3MgdGhlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8gQVBJIik7CisKK3ZhciBzdmdFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIs
ICJzdmciKTsKK3ZhciBwcmVzZXJ2ZUFzcGVjdFJhdGlvID0gc3ZnRWxlbWVudC5wcmVzZXJ2ZUFz
cGVjdFJhdGlvLmJhc2VWYWw7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbml0aWFsIGFs
aWduL21lZXRPclNsaWNlIHZhbHVlcyIpOworc2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8u
YWxpZ24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUlEWU1JRCIpOworc2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UiLCAi
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVCIpOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIGFsaWduL21lZXRPclNsaWNlIHZhbHVlcyIpOwor
c2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIiwgIlNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4iKTsKK3Nob3VsZEJlKCJwcmVz
ZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJ
Q0VfU0xJQ0UiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGFzc2lnbmluZyBpbnZhbGlk
IGFsaWduIHZhbHVlcyIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24g
PSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRp
by5hbGlnbiA9IG51bGwiKTsKK3Nob3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWdu
ID0gJ2FTdHJpbmcnIik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9
IHN2Z0VsZW1lbnQiKTsKK3Nob3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLmFsaWduID0g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19VTktOT1dOIik7
CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IC0xIik7CitzaG91bGRU
aHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5hbGlnbiA9IDExIik7IC8vIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNQVhZTUFYICsgMSAobGFzdCB2YWx1ZSArIDEpCisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJDaGVjayBhc3NpZ25pbmcgaW52YWxpZCBtZWV0T3JTbGljZSB2YWx1ZXMiKTsKK3Nob3Vs
ZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gcHJlc2VydmVBc3BlY3RS
YXRpbyIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2UgPSBu
dWxsIik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JTbGljZSA9ICdh
U3RyaW5nJyIpOworc2hvdWxkVGhyb3coInByZXNlcnZlQXNwZWN0UmF0aW8ubWVldE9yU2xpY2Ug
PSBzdmdFbGVtZW50Iik7CitzaG91bGRUaHJvdygicHJlc2VydmVBc3BlY3RSYXRpby5tZWV0T3JT
bGljZSA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1VOS05PV04iKTsK
K3Nob3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gLTEiKTsKK3No
b3VsZFRocm93KCJwcmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gMyIpOyAvLyBTVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UgKyAxIChsYXN0IHZhbHVlICsgMSkKKworZGVidWcoIiIpOworZGVi
dWcoIkNoZWNrIHRoYXQgdGhlIHByZXNlcnZlQXNwZWN0UmF0aW8gcmVtYWluZWQgY29ycmVjdCIp
Oworc2hvdWxkQmUoInByZXNlcnZlQXNwZWN0UmF0aW8uYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOIiwgIlNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU4iKTsKK3Nob3VsZEJlKCJw
cmVzZXJ2ZUFzcGVjdFJhdGlvLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5T
VkdfTUVFVE9SU0xJQ0VfU0xJQ0UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9S
U0xJQ0VfU0xJQ0UiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="62925"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>