<?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>48898</bug_id>
          
          <creation_ts>2010-11-03 00:38:21 -0700</creation_ts>
          <short_desc>Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept</short_desc>
          <delta_ts>2010-11-03 05:15: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>40887</blocked>
    
    <blocked>47905</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>mdelaney7</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303908</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 00:38:21 -0700</bug_when>
    <thetext>Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept. Soon we&apos;re done with these changes!

Once this is done the bug 40887 &quot;requiredFeatures does not adapt to SVGStringList changes&quot; can be fixed in a proper way, w/o the need to add custom list code for JSC/V8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303952</commentid>
    <comment_count>1</comment_count>
      <attachid>72804</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 02:47:13 -0700</bug_when>
    <thetext>Created attachment 72804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303966</commentid>
    <comment_count>2</comment_count>
      <attachid>72804</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-11-03 04:08:33 -0700</bug_when>
    <thetext>Comment on attachment 72804
Patch

Looks great. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303968</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 04:15:07 -0700</bug_when>
    <thetext>Landed in r71227. Unfortunately EWS is not checking this patch, nor any other patch today, so I&apos;m praying it works on all platforms, let&apos;s see. Closing the bug, after I got results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303976</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 04:23:25 -0700</bug_when>
    <thetext>Landed chromium/v8 build fix in r71229.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303978</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 04:34:15 -0700</bug_when>
    <thetext>Landed next chromium/v8 build fix in r71230.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303981</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-03 05:15:49 -0700</bug_when>
    <thetext>Ok, I gave up and tried a local chromium ToT build. Now CodeGeneratorV8 is fixed...
Landed final fix in r71232.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72804</attachid>
            <date>2010-11-03 02:47:13 -0700</date>
            <delta_ts>2010-11-03 04:08:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>SVGStringList.diff</filename>
            <type>text/plain</type>
            <size>106101</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTIyMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTAzIEBACisyMDEwLTExLTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvbnZlcnQgU1ZHQW5pbWF0ZWRTdHJpbmcvU1ZHU3RyaW5nTGlzdCB0byB0aGUgbmV3
IFNWRypQcm9wZXJ0eVRlYXJPZmYgY29uY2VwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg4OTgKKworICAgICAgICBDb252ZXJ0IFNWR0FuaW1hdGVk
U3RyaW5nL1NWR1N0cmluZ0xpc3QgdG8gdGhlIG5ldyBzdmcgYW5pbWF0ZWQgdHlwZSBjb25jZXB0
LgorICAgICAgICBTVkdTdHJpbmdMaXN0IGlzIHNwZWNpYWwgY29tcGFyZWQgdG8gYWxsIG90aGVy
IFNWRypMaXN0cywgYXMgaXQgcmV0dXJucyBub24tbGl2ZSBlbGVtZW50cy4KKyAgICAgICAgVGhh
dCBtZWFucyBteVN0cmluZ0xpc3QuZ2V0SXRlbSgwKSA9ICdmb29iYXInIGRvZXNuJ3QgdGFrZSBl
ZmZlY3QuCisKKyAgICAgICAgV2hlbiBhcHBlbmRpbmcgYW4gaXRlbSB0byBhIFNWR1N0cmluZ0xp
c3QsIHRoYXQgaGFzIGJlZW4gdGFrZW4gZnJvbSBhbm90aGVyIGxpc3QsIGl0J3Mgbm90IHJlbW92
ZWQgZnJvbSB0aGUgbGlzdCBvcmlnaW4uCisgICAgICAgIFRoYXQgZGVtYW5kZWQgYSBuZXcgU1ZH
U3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZiB3aGljaCBkb2VzIGp1c3QgdGhhdC4KKworICAgICAg
ICBUZXN0czogc3ZnL1czQy1TVkctMS4xLVNFL3R5cGVzLWRvbS0wNi1mLnN2ZworICAgICAgICAg
ICAgICAgc3ZnL2RvbS9TVkdTdHJpbmdMaXN0Lmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOiBBZGQgU1ZHQW5pbWF0ZWRTdHJpbmcuaCAvIFNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmYuaCB0byBidWlsZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAq
IFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06IFJl
Y29nbml6ZSBTVkdBbmltYXRlZFN0cmluZyBhcyBuZXcgc3R5bGUgc3ZnIGFuaW1hdGVkIHR5cGUu
IE1hcCBTVkdTdHJpbmdMaXN0IHRvIFNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IEhhbmRsZSBTVkdTdHJp
bmdMaXN0UHJvcGVydHlUZWFyT2ZmIGluIEdldFNWR1Byb3BlcnR5VHlwZXMuCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbTogRGl0dG8uCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06IERpdHRvLgorICAgICAgICAqIHN2
Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oOiBSZW1vdmUgU1ZHQW5pbWF0
ZWRTdHJpbmcgaGFuZGxpbmcuCisgICAgICAgICogc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFRl
bXBsYXRlLmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5jcHA6IFJlbmFtZWQg
dGFyZ2V0IHRvIHN2Z1RhcmdldCgpIHRvIGF2b2lkIGNsYXNoZXMgd2l0aCBFbGVtZW50Ojp0YXJn
ZXQoKSwgYWRqdXN0IHRoZSBiaW5kaW5ncyB0byBjYWxsIHN2Z1RhcmdldCgpIGluc3RlYWQgb2Yg
dGFyZ2V0KCksIHdoZW4gcHJvY2Vzc2luZyBTVkdBRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBRWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL1NWR0FFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oOiBzL0RFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkvREVDTEFSRURfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVy8KKyAg
ICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRTdHJpbmcuaDogQWRkZWQuCisgICAgICAgICogc3ZnL1NW
R0N1cnNvckVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oOiBEaXR0
by4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaDogRGl0dG8u
CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBzdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3Zn
L1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZH
RkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0ZFSW1hZ2VFbGVt
ZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaDogRGl0
dG8uCisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaDogRGl0dG8uCisgICAg
ICAgICogc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHRkVU
aWxlRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOiBE
aXR0by4KKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oOiBEaXR0
by4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAq
IHN2Zy9TVkdJbWFnZUVsZW1lbnQuaDogRGl0dG8uIAorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhM
aXN0LmlkbDogUmVtb3ZlIGxlZnRvdmVyIFNWR0xpc3RQcm9wZXJ0eSBtYXJrZXIuCisgICAgICAg
ICogc3ZnL1NWR01QYXRoRWxlbWVudC5oOiBzL0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkvREVD
TEFSRURfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVy8KKyAgICAgICAgKiBzdmcvU1ZHUGF0
dGVybkVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaDog
RGl0dG8uCisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuY3BwOiBNYWtlIFNWR1N0cmluZ0xp
c3QgYSBwbGFpbiBWZWN0b3I8U3RyaW5nPi4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xp
c3Q6OmNvbW1pdENoYW5nZSk6IFJlYWN0IHRvIFNWR1N0cmluZ0xpc3QgY2hhbmdlcy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xpc3Q6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1N0cmluZ0xpc3Q6OnBhcnNlKToKKyAgICAgICAgKiBzdmcvU1ZHU3RyaW5nTGlzdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5nTGlzdDo6U1ZHU3RyaW5nTGlzdCk6CisgICAgICAgICog
c3ZnL1NWR1N0eWxlZEVsZW1lbnQuaDogcy9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZL0RFQ0xB
UkVEX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcvCisgICAgICAgICogc3ZnL1NWR1RSZWZF
bGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdUZXN0cy5jcHA6IEFkYXB0IHRvIFNW
R1N0cmluZ0xpc3QgQVBJIGNoYW5nZXMuCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXN0czo6U1ZH
VGVzdHMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6Omhhc0V4dGVuc2lvbik6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdUZXN0czo6aXNWYWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdU
ZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6
OmlzS25vd25BdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdUZXN0cy5oOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Rlc3RzOjpyZXF1aXJlZEZlYXR1cmVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Rlc3RzOjpyZXF1aXJlZEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHVGVzdHM6OnN5c3RlbUxhbmd1YWdlKToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVt
ZW50Lmg6IHMvREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWS9ERUNMQVJFRF9BTklNQVRFRF9TVEFU
SUNfUFJPUEVSVFlfTkVXLworICAgICAgICAqIHN2Zy9TVkdVUklSZWZlcmVuY2UuaDogQWRhcHQg
dG8gU1ZHU3RyaW5nTGlzdCBBUEkgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1VSSVJl
ZmVyZW5jZTo6flNWR1VSSVJlZmVyZW5jZSk6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQu
aDogcy9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZL0RFQ0xBUkVEX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcvCisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcDogQWRhcHQgdG8g
U1ZHU3RyaW5nTGlzdCBBUEkgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVt
ZW50OjpTVkdWaWV3RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojp2aWV3VGFyZ2V0KToKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmg6IE1vdmVk
IEdldE93bmVyRWxlbWVudEZvclR5cGUgaGVsZXBycyBmcm9tIFNWR0FuaW1hdGVkUHJvcGVydHlT
eW5jaHJvbml6ZXIgaW50byB0aGlzIGZpbGUuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplci5oOiAKKyAgICAgICAgKiBzdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eVRyYWl0cy5oOiBIYW5kbGUgU1ZHU3RyaW5nTGlzdC4KKyAgICAgICAgKiBz
dmcvcHJvcGVydGllcy9TVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmLmg6IEFkZGVkLiBUaGlz
IGlzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9mIFNWR0xpc3RQcm9wZXJ0eVRlYXJPZmYsIHRpZWQg
dG8gU1ZHU3RyaW5nTGlzdCBhbmQgaXRzIHNwZWNpYWwgZGVtYW5kcy4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmY6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmOjpjbGVhcik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmOjpudW1iZXJPZkl0ZW1zKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmY6OmluaXRpYWxpemUpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZjo6Z2V0SXRlbSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmOjppbnNlcnRJ
dGVtQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmY6OnJlcGxhY2VJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xpc3RQcm9wZXJ0
eVRlYXJPZmY6OnJlbW92ZUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5nTGlzdFBy
b3BlcnR5VGVhck9mZjo6YXBwZW5kSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHJpbmdM
aXN0UHJvcGVydHlUZWFyT2ZmOjpTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmKToKKwogMjAx
MC0xMS0wMyAgWm9sdGFuIEhlcmN6ZWcgIDx6aGVyY3plZ0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzExMDMpCisr
KyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zMDM4LDYgKzMwMzgs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHkuaCBcCiAJV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRlYXJPZmYuaCBc
CiAJV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oIFwKKwlXZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCBcCiAJV2ViQ29y
ZS9zdmcvUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmggXAogCVdlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcCBcCiAJV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaCBcCkBAIC0zMDYxLDYgKzMwNjIs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUG9pbnRz
LmggXAogCVdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIFwKIAlX
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaCBcCisJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRT
dHJpbmcuaCBcCiAJV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwIFwKIAlXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlRWxlbWVudC5oIFwKIAlXZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9u
RWxlbWVudC5jcHAgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM5NTUsNiArMzk1NSw3IEBACiAgICAgICAgICAgICAn
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaCcsCiAgICAgICAgICAgICAnc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlUZWFyT2ZmLmgnLAogICAgICAgICAgICAgJ3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5VHJhaXRzLmgnLAorICAgICAgICAgICAgJ3N2Zy9wcm9wZXJ0aWVzL1NWR1N0cmlu
Z0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCcsCiAgICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2Uu
Y3BwJywKICAgICAgICAgICAgICdzdmcvQ29sb3JEaXN0YW5jZS5oJywKICAgICAgICAgICAgICdz
dmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHkuaCcsCkBAIC0zOTk0LDYgKzM5OTUsNyBA
QAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZFBvaW50cy5oJywKICAgICAgICAgICAgICdz
dmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgnLAogICAgICAgICAgICAgJ3N2Zy9T
VkdBbmltYXRlZFJlY3QuaCcsCisgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmgn
LAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcCcsCiAgICAgICAgICAg
ICAnc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0NpcmNs
ZUVsZW1lbnQuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL1dlYkNvcmUu
cHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yMzY4LDYgKzIzNjgsNyBAQCBIRUFERVJTICs9IFwKICAg
ICBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oIFwKICAgICBzdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eVRlYXJPZmYuaCBcCiAgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMu
aCBcCisgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZi5oIFwK
ICAgICBzdmcvU1ZHQUVsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oIFwK
ICAgICBzdmcvU1ZHQW5nbGUuaCBcCkBAIC0yMzg0LDYgKzIzODUsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBzdmcvU1ZHQW5pbWF0ZWRQb2ludHMuaCBcCiAgICAgc3ZnL1NWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpby5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRSZWN0LmggXAorICAgIHN2Zy9T
VkdBbmltYXRlZFN0cmluZy5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaCBcCiAgICAg
c3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmggXAogICAgIHN2Zy9TVkdBbmltYXRlVHJhbnNm
b3JtRWxlbWVudC5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
cmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC02MTY3Miw2ICs2MTY3MiwxMCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdmdcU1ZHQW5pbWF0ZWRTdHJp
bmcuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHN2Z1xTVkdBbmltYXRlRWxlbWVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTYy
NzM0LDYgKzYyNzM4LDEwIEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXHByb3BlcnRpZXNc
U1ZHUHJvcGVydHlUcmFpdHMuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0K
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdmdccHJvcGVydGllc1xTVkdTdHJpbmdMaXN0UHJvcGVy
dHlUZWFyT2ZmLmgiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCiAJCQk8L0ZpbHRlcj4NCiAJCTwv
RmlsdGVyPg0KIAkJPEZpbHRlcg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNiArMTEzLDcgQEAKIAkJ
MDg0RDBFM0QxMUY1ODE2MTAwMDgxRTFBIC8qIFNWR1Jlc291cmNlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0RDBFMzkxMUY1ODE2MTAwMDgxRTFB
IC8qIFNWR1Jlc291cmNlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTA4NEQwRTNFMTFGNTgxNjEwMDA4MUUxQSAvKiBTVkdSZXNvdXJjZXNDYWNo
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRE
MEUzQTExRjU4MTYxMDAwODFFMUEgLyogU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwICovOyB9OwogCQkw
ODREMEUzRjExRjU4MTYxMDAwODFFMUEgLyogU1ZHUmVzb3VyY2VzQ2FjaGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEQwRTNCMTFGNTgxNjEwMDA4
MUUxQSAvKiBTVkdSZXNvdXJjZXNDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTA4NERCNTlCMTI4MDA4Q0MwMDJBNkQ2NCAvKiBTVkdBbmlt
YXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg0REI1OUExMjgwMDhDQzAwMkE2RDY0IC8qIFNWR0FuaW1hdGVkU3RyaW5nLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg0REJBQTEwRUQz
OUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODREQkE5RDBFRDM5RDM1MDAzOEMyMjYgLyogV01MVmFy
aWFibGVzLmNwcCAqLzsgfTsKIAkJMDg0REJBQTIwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlh
Ymxlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0
REJBOUUwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5oICovOyB9OwogCQkwODUyNUU2
MzEyNzhDMDAxMDBBODQ3NzggLyogU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NTI1RTYyMTI3
OEMwMDEwMEE4NDc3OCAvKiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNDMsNiArMjQ0
LDcgQEAKIAkJMDhFMTkyNTMwRURFMEMzQTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhFMTkyNTEw
RURFMEMzOTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuY3BwICovOyB9OwogCQkwOEUxOTI1
NDBFREUwQzNBMDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhFMTkyNTIwRURFMEMzQTAwODdCNzgwIC8q
IFdNTEVycm9ySGFuZGxpbmcuaCAqLzsgfTsKIAkJMDhFNEZFNDYwRTJCRDQxNDAwRjRDQUUwIC8q
IEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3Rv
bS5jcHAgKi87IH07CisJCTA4RTU4RkY1MTI4MDFDRjcwMDQ1OTAzRCAvKiBTVkdTdHJpbmdMaXN0
UHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEU1OEZGNDEyODAxQ0Y3MDA0NTkwM0QgLyogU1ZHU3RyaW5nTGlzdFByb3BlcnR5
VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTA4RTZBMkU4MEVFRTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RTZBMkU2MEVF
RTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDhFNkEy
RTkwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RTZBMkU3MEVFRTAzNTIwMEFDMTIw
NiAvKiBXTUxQb3N0ZmllbGRFbGVtZW50LmggKi87IH07CiAJCTA4RTZFMEYxMEVGRjQyQkEwMDAy
OUZCRiAvKiBXTUxGaWVsZFNldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDhFNkUwRUYwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxk
U2V0RWxlbWVudC5jcHAgKi87IH07CkBAIC02MTM2LDYgKzYxMzgsNyBAQAogCQkwODREMEUzOTEx
RjU4MTYxMDAwODFFMUEgLyogU1ZHUmVzb3VyY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1Jlc291cmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODREMEUzQTExRjU4MTYxMDAwODFFMUEgLyogU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODREMEUzQjExRjU4MTYxMDAwODFFMUEgLyogU1ZH
UmVzb3VyY2VzQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVz
b3VyY2VzQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDg0REI1OUExMjgw
MDhDQzAwMkE2RDY0IC8qIFNWR0FuaW1hdGVkU3RyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA4NERCQTlEMEVEMzlEMzUwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MVmFyaWFibGVzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0REJBOUUwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZh
cmlhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxWYXJpYWJsZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg1MjVFNjIxMjc4QzAwMTAwQTg0Nzc4
IC8qIFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MjUzLDYgKzYyNTYsNyBAQAogCQkwOEUxOTI1MTBF
REUwQzM5MDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXTUxFcnJvckhhbmRsaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDhFMTkyNTIwRURFMEMzQTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxp
bmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRXJyb3JIYW5kbGluZy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAg
LyogSlNTVkdMZW5ndGhDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdMZW5ndGhDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwOEU1OEZGNDEyODAxQ0Y3MDA0NTkwM0QgLyogU1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9m
Zi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdTdHJpbmdMaXN0UHJvcGVy
dHlUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RTZBMkU2MEVFRTAz
NTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdNTFBvc3RmaWVsZEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwOEU2QTJFNzBFRUUwMzUyMDBBQzEyMDYgLyogV01MUG9zdGZpZWxk
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxQb3N0ZmllbGRF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RTZFMEVGMEVGRjQyQkEw
MDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV01MRmllbGRTZXRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTExNzU0LDYgKzExNzU4LDcgQEAKIAkJCQkwODhBMEUwMTEyNkVGMURCMDA5
NzhGN0EgLyogU1ZHUHJvcGVydHkuaCAqLywKIAkJCQkwODhBMEUwMjEyNkVGMURCMDA5NzhGN0Eg
LyogU1ZHUHJvcGVydHlUZWFyT2ZmLmggKi8sCiAJCQkJMDg4QTBFMDMxMjZFRjFEQjAwOTc4RjdB
IC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggKi8sCisJCQkJMDhFNThGRjQxMjgwMUNGNzAwNDU5MDNE
IC8qIFNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
cHJvcGVydGllczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNjAzNCw2ICsxNjAz
OSw3IEBACiAJCQkJQjIyMjc3RjQwRDAwQkYxRjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpby5pZGwgKi8sCiAJCQkJMDhDODU5QkYxMjc0NTc1MzAwQTU3MjhEIC8qIFNW
R0FuaW1hdGVkUmVjdC5oICovLAogCQkJCUIyMjI3N0Y1MEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdB
bmltYXRlZFJlY3QuaWRsICovLAorCQkJCTA4NERCNTlBMTI4MDA4Q0MwMDJBNkQ2NCAvKiBTVkdB
bmltYXRlZFN0cmluZy5oICovLAogCQkJCUIyMjI3N0Y2MEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdB
bmltYXRlZFN0cmluZy5pZGwgKi8sCiAJCQkJQjIyMjc3RjgwRDAwQkYxRjAwNzFCNzgyIC8qIFNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5pZGwgKi8sCiAJCQkJQjIyMjc3RjkwRDAwQkYxRjAwNzFC
NzgyIC8qIFNWR0FuaW1hdGVFbGVtZW50LmNwcCAqLywKQEAgLTIwODMwLDYgKzIwODM2LDcgQEAK
IAkJCQkwODhBMEUwODEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJP
ZmYuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4Qzg1OUMwMTI3NDU3NTQwMEE1NzI4RCAvKiBTVkdB
bmltYXRlZFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NTI1RTYzMTI3OEMwMDEwMEE4NDc3
OCAvKiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMDg0REI1OUIxMjgwMDhDQzAwMkE2RDY0IC8qIFNWR0FuaW1hdGVkU3RyaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMjIyNzk5MDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OTkzMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdB
bmltYXRlTW90aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5OTUwRDAwQkYy
MjAwNzFCNzgyIC8qIFNWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTIwOTczLDYgKzIwOTgwLDcgQEAKIAkJCQlFNEFGRDAxMDBEQUYzMzU1MDBGNUY1NUMgLyog
U1ZHU01JTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUE5MEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdTdG9wRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQUMwRDAw
QkYyMjAwNzFCNzgyIC8qIFNWR1N0cmluZ0xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4RTU4
RkY1MTI4MDFDRjcwMDQ1OTAzRCAvKiBTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0FBRjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3R5bGFibGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUIyMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdTdHls
ZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FCNDBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQkocmV2aXNpb24gNzExMDMpCisr
KyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQkod29ya2luZyBjb3B5
KQpAQCAtNjAsNyArNjAsOCBAQCBteSAlc3ZnTmV3U3R5bGVBbmltYXRlZFR5cGVIYXNoID0gKCJT
VkdBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTVkdBbmltYXRlZEVudW1l
cmF0aW9uIiA9PiAxLCAiU1ZHQW5pbWF0ZWRJbnRlZ2VyIiA9PiAxLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRMZW5ndGgiID0+IDEsICJTVkdBbmltYXRl
ZExlbmd0aExpc3QiID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJT
VkdBbmltYXRlZE51bWJlciIgPT4gMSwgIlNWR0FuaW1hdGVkTnVtYmVyTGlzdCIgPT4gMSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpbyIgPT4gMSwgIlNWR0FuaW1hdGVkUmVjdCIgPT4gMSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8iID0+IDEs
ICJTVkdBbmltYXRlZFJlY3QiID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJTVkdBbmltYXRlZFN0cmluZyIgPT4gMSk7CiAKIG15ICVzdmdBbmltYXRlZFR5cGVIYXNo
ID0gKCJTVkdBbmltYXRlZEFuZ2xlIiA9PiAxLCAiU1ZHQW5pbWF0ZWRCb29sZWFuIiA9PiAxLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkRW51bWVyYXRpb24iID0+IDEs
ICJTVkdBbmltYXRlZEludGVnZXIiID0+IDEsCkBAIC04Myw3ICs4NCw4IEBAIG15ICVzdmdOYXRp
dmVUeXBlID0gKAogICAgICJTVkdOdW1iZXIiID0+ICJTVkdQcm9wZXJ0eVRlYXJPZmY8ZmxvYXQ+
IiwKICAgICAiU1ZHTnVtYmVyTGlzdCIgPT4gIlNWR0xpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTnVt
YmVyTGlzdD4iLAogICAgICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIiA9PiAiU1ZHUHJvcGVydHlU
ZWFyT2ZmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IiwKLSAgICAiU1ZHUmVjdCIgPT4gIlNWR1By
b3BlcnR5VGVhck9mZjxGbG9hdFJlY3Q+IgorICAgICJTVkdSZWN0IiA9PiAiU1ZHUHJvcGVydHlU
ZWFyT2ZmPEZsb2F0UmVjdD4iLAorICAgICJTVkdTdHJpbmdMaXN0IiA9PiAiU1ZHU3RyaW5nTGlz
dFByb3BlcnR5VGVhck9mZiIKICk7CiAKICMgQ2FjaGUgb2YgSURMIGZpbGUgcGF0aG5hbWVzLgpA
QCAtNDgwLDEzICs0ODIsMTggQEAgc3ViIEF0dHJpYnV0ZU5hbWVGb3JHZXR0ZXJBbmRTZXR0ZXIK
ICAgICBteSAoJGdlbmVyYXRvciwgJGF0dHJpYnV0ZSkgPSBAXzsKIAogICAgIG15ICRhdHRyaWJ1
dGVOYW1lID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lOworICAgIG15ICRhdHRyaWJ1dGVU
eXBlID0gJGdlbmVyYXRvci0+U3RyaXBNb2R1bGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBl
KTsKIAogICAgICMgQXZvaWQgY2xhc2ggd2l0aCBDKysga2V5d29yZC4KICAgICAkYXR0cmlidXRl
TmFtZSA9ICJfb3BlcmF0b3IiIGlmICRhdHRyaWJ1dGVOYW1lIGVxICJvcGVyYXRvciI7CiAKKyAg
ICAjIFNWR0FFbGVtZW50IGRlZmluZXMgYSBub24tdmlydHVhbCAiU3RyaW5nJiB0YXJnZXQoKSBj
b25zdCIgbWV0aG9kIHdoaWNoIGNsYXNoZXMgd2l0aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkg
Y29uc3QiIGluIEVsZW1lbnQuCisgICAgIyBUbyBzb2x2ZSB0aGlzIGlzc3VlIHRoZSBTVkdBRWxl
bWVudCBtZXRob2Qgd2FzIHJlbmFtZWQgdG8gInN2Z1RhcmdldCIsIHRha2UgY2FyZSBvZiB0aGF0
IHdoZW4gY2FsbGluZyB0aGlzIG1ldGhvZC4KKyAgICAkYXR0cmlidXRlTmFtZSA9ICJzdmdUYXJn
ZXQiIGlmICRhdHRyaWJ1dGVOYW1lIGVxICJ0YXJnZXQiIGFuZCAkYXR0cmlidXRlVHlwZSBlcSAi
U1ZHQW5pbWF0ZWRTdHJpbmciOworCiAgICAgIyBTVkcgYW5pbWF0ZWQgdHlwZXMgbmVlZCB0byB1
c2UgYSBzcGVjaWFsIGF0dHJpYnV0ZSBuYW1lLgogICAgICMgVGhlIHJlc3Qgb2YgdGhlIHNwZWNp
YWwgY2FzaW5nIGZvciBTVkcgYW5pbWF0ZWQgdHlwZXMgaXMgaGFuZGxlZCBpbiB0aGUgbGFuZ3Vh
Z2Utc3BlY2lmaWMgY29kZSBnZW5lcmF0b3JzLgotICAgICRhdHRyaWJ1dGVOYW1lIC49ICJBbmlt
YXRlZCIgaWYgJGdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJGdlbmVyYXRvci0+U3RyaXBN
b2R1bGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKSk7CisgICAgJGF0dHJpYnV0ZU5hbWUg
Lj0gIkFuaW1hdGVkIiBpZiAkZ2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkYXR0cmlidXRl
VHlwZSk7CiAKICAgICByZXR1cm4gJGF0dHJpYnV0ZU5hbWU7CiB9CkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDcxMTAzKQorKysg
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5
KQpAQCAtMjUwNiw2ICsyNTA2LDkgQEAgc3ViIEdldFNWR1Byb3BlcnR5VHlwZXMKICAgICAgICAg
JHN2Z0xpc3RQcm9wZXJ0eVR5cGUgPSAkc3ZnV3JhcHBlZE5hdGl2ZVR5cGU7CiAgICAgICAgICRo
ZWFkZXJJbmNsdWRlc3siJHN2Z1dyYXBwZWROYXRpdmVUeXBlLmgifSA9IDE7CiAgICAgICAgICRo
ZWFkZXJJbmNsdWRlc3siU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmgifSA9IDE7Cisg
ICAgfSBlbHNpZiAoJHN2Z05hdGl2ZVR5cGUgPX4gL1NWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmYvKSB7CisgICAgICAgICRzdmdMaXN0UHJvcGVydHlUeXBlID0gIlNWR1N0cmluZ0xpc3QiOwor
ICAgICAgICAkaGVhZGVySW5jbHVkZXN7IiRzdmdXcmFwcGVkTmF0aXZlVHlwZS5oIn0gPSAxOwog
ICAgIH0KIAogICAgIHJldHVybiAoJHN2Z1Byb3BlcnR5VHlwZSwgJHN2Z0xpc3RQcm9wZXJ0eVR5
cGUsICRzdmdOYXRpdmVUeXBlKTsKQEAgLTI2NzksNyArMjY4MiwxMyBAQCBzdWIgTmF0aXZlVG9K
U1ZhbHVlCiAgICAgICAgICMgQ29udmVydCBmcm9tIGFic3RyYWN0IFNWR1Byb3BlcnR5IHRvIHJl
YWwgdHlwZSwgc28gdGhlIHJpZ2h0IHRvSlMoKSBtZXRob2QgY2FuIGJlIGludm9rZWQuCiAgICAg
ICAgICR2YWx1ZSA9ICJzdGF0aWNfY2FzdDwiIC4gR2V0TmF0aXZlVHlwZSgkdHlwZSkgLiAiPigk
dmFsdWUpIjsKICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1Rl
YXJPZmYoJHR5cGUpIGFuZCBub3QgJGltcGxDbGFzc05hbWUgPX4gL0xpc3QkLykgewotICAgICAg
ICAkdmFsdWUgPSAkY29kZUdlbmVyYXRvci0+R2V0U1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCR0eXBl
KSAuICI6OmNyZWF0ZSgkdmFsdWUpIjsKKyAgICAgICAgbXkgJHRlYXJPZmZUeXBlID0gJGNvZGVH
ZW5lcmF0b3ItPkdldFNWR1R5cGVOZWVkaW5nVGVhck9mZigkdHlwZSk7CisgICAgICAgIGlmICgk
dGVhck9mZlR5cGUgZXEgIlNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmYiKSB7CisgICAgICAg
ICAgICBteSAkZXh0cmFJbXAgPSAiR2V0T3duZXJFbGVtZW50Rm9yVHlwZTwkaW1wbENsYXNzTmFt
ZSwgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8JGltcGxDbGFzc05hbWU+Ojp2YWx1ZT46Om93bmVy
RWxlbWVudChpbXApLCAiOworICAgICAgICAgICAgJHZhbHVlID0gJGNvZGVHZW5lcmF0b3ItPkdl
dFNWR1R5cGVOZWVkaW5nVGVhck9mZigkdHlwZSkgLiAiOjpjcmVhdGUoJGV4dHJhSW1wJHZhbHVl
KSI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkdmFsdWUgPSAkY29kZUdlbmVyYXRv
ci0+R2V0U1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCR0eXBlKSAuICI6OmNyZWF0ZSgkdmFsdWUpIjsK
KyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiAidG9KUyhleGVjLCAkZ2xvYmFsT2JqZWN0
LCBXVEY6OmdldFB0cigkdmFsdWUpKSI7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtNjkw
LDYgKzY5MCw4IEBAIHN1YiBHZXRTVkdQcm9wZXJ0eVR5cGVzCiAgICAgfSBlbHNpZiAoJHN2Z05h
dGl2ZVR5cGUgPX4gL1NWR0xpc3RQcm9wZXJ0eVRlYXJPZmYvKSB7CiAgICAgICAgICRzdmdMaXN0
UHJvcGVydHlUeXBlID0gIldlYkNvcmU6OiRzdmdXcmFwcGVkTmF0aXZlVHlwZSI7CiAgICAgICAg
ICRzdmdMaXN0UHJvcGVydHlUeXBlID1+IHMvPC9cPFdlYkNvcmU6Oi87CisgICAgfSBlbHNpZiAo
JHN2Z05hdGl2ZVR5cGUgPX4gL1NWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmYvKSB7CisgICAg
ICAgICRzdmdMaXN0UHJvcGVydHlUeXBlID0gIldlYkNvcmU6OlNWR1N0cmluZ0xpc3QiOwogICAg
IH0KIAogICAgIHJldHVybiAoJHN2Z1Byb3BlcnR5VHlwZSwgJHN2Z0xpc3RQcm9wZXJ0eVR5cGUs
ICRzdmdOYXRpdmVUeXBlKTsKQEAgLTEwMjQsNyArMTAyNiwxMyBAQCBzdWIgR2VuZXJhdGVIZWFk
ZXIKIAogICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJcbiNpbXBvcnQgPFdl
YkNvcmUvJGNsYXNzTmFtZS5oPlxuXG4iKTsKICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJD
b250ZW50LCAiI2ltcG9ydCA8V2ViQ29yZS9TVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZi5oPlxu
XG4iKSBpZiAkc3ZnUHJvcGVydHlUeXBlOwotICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNv
bnRlbnQsICIjaW1wb3J0IDxXZWJDb3JlL1NWR0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5o
PlxuXG4iKSBpZiAkc3ZnTGlzdFByb3BlcnR5VHlwZTsKKyAgICAgICAgaWYgKCRzdmdMaXN0UHJv
cGVydHlUeXBlKSB7CisgICAgICAgICAgICBpZiAoJHN2Z0xpc3RQcm9wZXJ0eVR5cGUgZXEgIldl
YkNvcmU6OlNWR1N0cmluZ0xpc3QiKSB7CisgICAgICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxI
ZWFkZXJDb250ZW50LCAiI2ltcG9ydCA8V2ViQ29yZS9TVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFy
T2ZmLmg+XG5cbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBwdXNo
KEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICIjaW1wb3J0IDxXZWJDb3JlL1NWR0FuaW1hdGVkTGlz
dFByb3BlcnR5VGVhck9mZi5oPlxuXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAg
ICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICRpbnRlcmZhY2VBdmFpbGFiaWxpdHlW
ZXJzaW9uQ2hlY2spIGlmIGxlbmd0aCAkaW50ZXJmYWNlQXZhaWxhYmlsaXR5VmVyc2lvbjsKIAog
ICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGUiKSB7CkBAIC0xMzE5LDcgKzEzMjcs
MTIgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIH0gZWxzaWYgKENv
bnZlcnNpb25OZWVkZWQoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKSkgewogICAgICAgICAg
ICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGF0dHJp
YnV0ZS0+c2lnbmF0dXJlLT50eXBlKSBhbmQgbm90ICRpbXBsQ2xhc3NOYW1lID1+IC9MaXN0JC8p
IHsKICAgICAgICAgICAgICAgICAgICAgbXkgJGlkbFR5cGVXaXRoTmFtZXNwYWNlID0gR2V0U1ZH
VHlwZVdpdGhOYW1lc3BhY2UoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImtpdChXVEY6OmdldFB0cigke2lkbFR5
cGVXaXRoTmFtZXNwYWNlfTo6Y3JlYXRlKCRnZXR0ZXJDb250ZW50SGVhZCI7CisgICAgICAgICAg
ICAgICAgICAgIGlmICgkaWRsVHlwZVdpdGhOYW1lc3BhY2UgZXEgIldlYkNvcmU6OlNWR1N0cmlu
Z0xpc3RQcm9wZXJ0eVRlYXJPZmYiKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkZXh0
cmFJbXAgPSAiV2ViQ29yZTo6R2V0T3duZXJFbGVtZW50Rm9yVHlwZTwkaW1wbENsYXNzTmFtZVdp
dGhOYW1lc3BhY2UsIFdlYkNvcmU6OklzRGVyaXZlZEZyb21TVkdFbGVtZW50PCRpbXBsQ2xhc3NO
YW1lV2l0aE5hbWVzcGFjZT46OnZhbHVlPjo6b3duZXJFbGVtZW50KElNUEwpLCAiOworICAgICAg
ICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImtpdChXVEY6OmdldFB0cigk
e2lkbFR5cGVXaXRoTmFtZXNwYWNlfTo6Y3JlYXRlKCRleHRyYUltcCRnZXR0ZXJDb250ZW50SGVh
ZCI7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAkZ2V0dGVyQ29udGVudEhlYWQgPSAia2l0KFdURjo6Z2V0UHRyKCR7aWRsVHlwZVdpdGhOYW1l
c3BhY2V9OjpjcmVhdGUoJGdldHRlckNvbnRlbnRIZWFkIjsKKyAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIikpKSI7CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRI
ZWFkID0gImtpdChXVEY6OmdldFB0cigkZ2V0dGVyQ29udGVudEhlYWQiOwpJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShyZXZpc2lvbiA3MTEwMykK
KysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcg
Y29weSkKQEAgLTIyNiw2ICsyMjYsOSBAQCBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogICAgIH0g
ZWxzaWYgKCRzdmdOYXRpdmVUeXBlID1+IC9TVkdMaXN0UHJvcGVydHlUZWFyT2ZmLykgewogICAg
ICAgICAkc3ZnTGlzdFByb3BlcnR5VHlwZSA9ICRzdmdXcmFwcGVkTmF0aXZlVHlwZTsKICAgICAg
ICAgJGltcGxJbmNsdWRlc3siU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmgifSA9IDEs
CisgICAgfSBlbHNpZiAoJHN2Z05hdGl2ZVR5cGUgPX4gL1NWR1N0cmluZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYvKSB7CisgICAgICAgICRzdmdMaXN0UHJvcGVydHlUeXBlID0gIlNWR1N0cmluZ0xpc3Qi
OworICAgICAgICAkaW1wbEluY2x1ZGVzeyIkc3ZnV3JhcHBlZE5hdGl2ZVR5cGUuaCJ9ID0gMTsK
ICAgICB9CiAKICAgICByZXR1cm4gKCRzdmdQcm9wZXJ0eVR5cGUsICRzdmdMaXN0UHJvcGVydHlU
eXBlLCAkc3ZnTmF0aXZlVHlwZSk7CkBAIC05MjEsOCArOTI0LDEzIEBAIEVORAogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PCRzdmdO
YXRpdmVUeXBlKj4oJHJlc3VsdCkpO1xuIik7CiAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3It
PklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRhdHRyVHlwZSkgYW5kIG5vdCAkaW1wbENsYXNzTmFt
ZSA9fiAvTGlzdCQvKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlY4JGF0dHJUeXBlLmgifSA9
IDE7Ci0gICAgICAgIG15ICRzdmdOYXRpdmVUeXBlID0gJGNvZGVHZW5lcmF0b3ItPkdldFNWR1R5
cGVOZWVkaW5nVGVhck9mZigkYXR0clR5cGUpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudERl
Y2xzLCAiICAgIHJldHVybiB0b1Y4KFdURjo6Z2V0UHRyKCR7c3ZnTmF0aXZlVHlwZX06OmNyZWF0
ZSgkcmVzdWx0KSkpO1xuIik7CisgICAgICAgIG15ICR0ZWFyT2ZmVHlwZSA9ICRjb2RlR2VuZXJh
dG9yLT5HZXRTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGF0dHJUeXBlKTsKKyAgICAgICAgaWYgKCR0
ZWFyT2ZmVHlwZSBlcSAiU1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZiIpIHsKKyAgICAgICAg
ICAgIG15ICRleHRyYUltcCA9ICJHZXRPd25lckVsZW1lbnRGb3JUeXBlPCRpbXBsQ2xhc3NOYW1l
LCBJc0Rlcml2ZWRGcm9tU1ZHRWxlbWVudDwkaW1wbENsYXNzTmFtZT46OnZhbHVlPjo6b3duZXJF
bGVtZW50KGltcCksICI7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
IHJldHVybiB0b1Y4KFdURjo6Z2V0UHRyKCR7dGVhck9mZlR5cGV9OjpjcmVhdGUoJGV4dHJhSW1w
JHJlc3VsdCkpKTtcbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnREZWNscywgIiAgICByZXR1cm4gdG9WOChXVEY6OmdldFB0cigke3RlYXJPZmZUeXBl
fTo6Y3JlYXRlKCRyZXN1bHQpKSk7XG4iKTsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCRhdHRy
SXNQb2RUeXBlKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlY4JHthdHRyVHlwZX0uaCJ9ID0g
MTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICByZXR1cm4gdG9WOCh3cmFw
cGVyLnJlbGVhc2UoKS5nZXQoKSk7XG4iKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRT
VkdBbmltYXRlZFByb3BlcnR5VHJhaXRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvRGVw
cmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHMuaAkocmV2aXNpb24gNzExMDMpCisrKyBX
ZWJDb3JlL3N2Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCwxOCArMzAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUeXBlPgogc3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsgfTsKIAotLy8gU1ZHQW5pbWF0ZWRTdHJpbmcKLXRlbXBs
YXRlPD4KLXN0cnVjdCBEZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0czxTdHJpbmc+
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKLSAgICB0eXBlZGVmIGNvbnN0IFN0cmluZyYgUGFzc1R5
cGU7Ci0gICAgdHlwZWRlZiBTdHJpbmcgUmV0dXJuVHlwZTsKLSAgICB0eXBlZGVmIFN0cmluZyBT
dG9yZWRUeXBlOwotCi0gICAgc3RhdGljIFJldHVyblR5cGUgbnVsbCgpIHsgcmV0dXJuIFN0cmlu
ZygpOyB9Ci0gICAgc3RhdGljIFJldHVyblR5cGUgdG9SZXR1cm5UeXBlKGNvbnN0IFN0b3JlZFR5
cGUmIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFBh
c3NUeXBlIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KLX07Ci0KIC8vIFNWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdAogdGVtcGxhdGU8Pgogc3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5
VHJhaXRzPFNWR1RyYW5zZm9ybUxpc3QqPiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CkluZGV4OiBX
ZWJDb3JlL3N2Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFRlbXBsYXRlLmgJKHJldmlzaW9uIDcx
MTAzKQorKysgV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkVGVtcGxhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9
CiAKICAgICAvLyBDb21tb24gdHlwZSBkZWZpbml0aW9ucywgdG8gZWFzZSBJREwgZ2VuZXJhdGlv
bi4KLSAgICB0eXBlZGVmIERlcHJlY2F0ZWRTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4gU1ZH
QW5pbWF0ZWRTdHJpbmc7CiAgICAgdHlwZWRlZiBEZXByZWNhdGVkU1ZHQW5pbWF0ZWRUZW1wbGF0
ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0OwogCiB9CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHQUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCBTdHJpbmcgU1ZHQUVsZW1l
bnQ6OnRpdGxlKCkgY29uc3QKIHZvaWQgU1ZHQUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSogYXR0cikKIHsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp0
YXJnZXRBdHRyKQotICAgICAgICBzZXRUYXJnZXRCYXNlVmFsdWUoYXR0ci0+dmFsdWUoKSk7Cisg
ICAgICAgIHNldFNWR1RhcmdldEJhc2VWYWx1ZShhdHRyLT52YWx1ZSgpKTsKICAgICBlbHNlIHsK
ICAgICAgICAgaWYgKFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xMDUsMTQgKzEwNSwxNCBAQCB2b2lkIFNWR0FFbGVt
ZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvCiAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVs
ZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoYXR0ck5hbWUpOwogCiAgICAgaWYgKGF0dHJOYW1l
ID09IGFueVFOYW1lKCkpIHsKLSAgICAgICAgc3luY2hyb25pemVUYXJnZXQoKTsKKyAgICAgICAg
c3luY2hyb25pemVTVkdUYXJnZXQoKTsKICAgICAgICAgc3luY2hyb25pemVIcmVmKCk7CiAgICAg
ICAgIHN5bmNocm9uaXplRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjp0YXJnZXRBdHRyKQot
ICAgICAgICBzeW5jaHJvbml6ZVRhcmdldCgpOworICAgICAgICBzeW5jaHJvbml6ZVNWR1Rhcmdl
dCgpOwogICAgIGVsc2UgaWYgKFNWR1VSSVJlZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRy
TmFtZSkpCiAgICAgICAgIHN5bmNocm9uaXplSHJlZigpOwogICAgIGVsc2UgaWYgKFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpKQpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdB
RWxlbWVudC5oCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIFNWR1Rlc3RzOjppc1Zh
bGlkKCk7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkgY29uc3Q7
CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIHN2Z1Rhcmdl
dCgpOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJp
YnV0ZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJik7CkBAIC02MiwxMCArNjMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBj
b25zdDsKIAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FFbGVtZW50LCBT
VkdOYW1lczo6dGFyZ2V0QXR0ciwgU3RyaW5nLCBUYXJnZXQsIHRhcmdldCkKKyAgICAgICAgLy8g
VGhpcyBkZWZpbmVzIGEgbm9uLXZpcnR1YWwgIlN0cmluZyYgdGFyZ2V0KCkgY29uc3QiIG1ldGhv
ZCBiZWZvcmUsIHRoYXQgd291bGQgY2xhc2ggd2l0aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkg
Y29uc3QiCisgICAgICAgIC8vIGluIEVsZW1lbnQuIFRoYXQncyB3aHkgaXQncyBub3cgbmFtZWQg
IlN0cmluZyYgc3ZnVGFyZ2V0KCkgY29uc3QiLCB0byBhdm9pZCB0aGUgY2xhc2guIFRoZSBDb2Rl
R2VuZXJhdG9ycyB0YWtlIGNhcmUKKyAgICAgICAgLy8gb2YgY2FsbGluZyBzdmdUYXJnZXRBbmlt
YXRlZCgpIGluc3RlYWQgb2YgdGFyZ2V0QW5pbWF0ZWQoKSwgc2VlIENvZGVHZW5lcmF0b3IucG0u
CisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVu
dCwgU1ZHTmFtZXM6OnRhcmdldEF0dHIsIFN0cmluZywgU1ZHVGFyZ2V0LCBzdmdUYXJnZXQpCiAK
ICAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJP
UEVSVFkoU1ZHQUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhy
ZWYpCisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxl
bWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKIAogICAgICAg
ICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCiAgICAgICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgJKHJl
dmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAKICAg
ICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFkoU1ZHQWx0R2x5cGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVm
LCBocmVmKQorICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
QWx0R2x5cGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVm
KQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRT
dHJpbmcuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYg
U1ZHQW5pbWF0ZWRTdHJpbmdfaAorI2RlZmluZSBTVkdBbmltYXRlZFN0cmluZ19oCisKKyNpZiBF
TkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgi
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KwordHlwZWRlZiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxTdHJpbmc+IFNWR0Fu
aW1hdGVkU3RyaW5nOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCShyZXZpc2lvbiA3MTEw
MykKKysrIFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFQ0xBUkVfQU5JTUFU
RURfUFJPUEVSVFlfTkVXKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgU1ZHTGVu
Z3RoLCBZLCB5KQogCiAgICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJF
X0FOSU1BVEVEX1BST1BFUlRZKFNWR0N1cnNvckVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRy
LCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX05FVyhTVkdDdXJzb3JFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5n
LCBIcmVmLCBocmVmKQogCiAgICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQK
ICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0N1cnNvckVs
ZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9T
VkdGRUJsZW5kRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw4ICszOCw4IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJ1aWxkKFNWR0Zp
bHRlckJ1aWxkZXIqKTsKIAotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRkVCbGVu
ZEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCi0gICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRUJsZW5kRWxlbWVudCwgU1ZHTmFtZXM6OmluMkF0dHIs
IFN0cmluZywgSW4yLCBpbjIpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlf
TkVXKFNWR0ZFQmxlbmRFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4x
KQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUJsZW5kRWxl
bWVudCwgU1ZHTmFtZXM6OmluMkF0dHIsIFN0cmluZywgSW4yLCBpbjIpCiAgICAgREVDTEFSRV9B
TklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQmxlbmRFbGVtZW50LCBTVkdOYW1lczo6
bW9kZUF0dHIsIGludCwgTW9kZSwgbW9kZSkKIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZF
Q29sb3JNYXRyaXhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb2xv
ck1hdHJpeEVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNv
bG9yTWF0cml4RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJ1aWxkKFNWR0Zp
bHRlckJ1aWxkZXIqKTsKIAotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRkVDb2xv
ck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQogICAgIERFQ0xBUkVfQU5J
TUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHTmFt
ZXM6OnR5cGVBdHRyLCBpbnQsIFR5cGUsIHR5cGUpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MSVNU
X1BST1BFUlRZX05FVyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OnZhbHVlc0F0
dHIsIFNWR051bWJlckxpc3QsIFZhbHVlcywgdmFsdWVzKQogfTsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw3ICszOCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXpl
UHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxG
aWx0ZXJFZmZlY3Q+IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqKTsKIAotICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNWR05hbWVzOjpp
bkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJP
UEVSVFlfTkVXKFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRy
LCBTdHJpbmcsIEluMSwgaW4xKQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29y
ZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDggKzM5
LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25z
dCBRdWFsaWZpZWROYW1lJik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZpbHRlckVmZmVjdD4g
YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciopOwogCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJU
WShTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBp
bjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IFNWR05hbWVzOjppbjJBdHRyLCBTdHJpbmcsIEluMiwgaW4yKQorICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjpp
bkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJP
UEVSVFlfTkVXKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHTmFtZXM6OmluMkF0dHIsIFN0cmlu
ZywgSW4yLCBpbjIpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwgaW50LCBfb3BlcmF0
b3IsIF9vcGVyYXRvcikKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHRkVDb21wb3NpdGVFbGVtZW50LCBTVkdOYW1lczo6azFBdHRyLCBmbG9hdCwgSzEsIGsxKQog
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQsIFNWR05hbWVzOjprMkF0dHIsIGZsb2F0LCBLMiwgazIpCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29y
ZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQs
NyArNDQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGtlcm5l
bFVuaXRMZW5ndGhYSWRlbnRpZmllcigpOwogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcm
IGtlcm5lbFVuaXRMZW5ndGhZSWRlbnRpZmllcigpOwogCi0gICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWShTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3Ry
aW5nLCBJbjEsIGluMSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4x
LCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQ29u
dm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJYQXR0ciwgbG9uZywgT3JkZXJYLCBv
cmRlclgpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQ29u
dm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJZQXR0ciwgbG9uZywgT3JkZXJZLCBv
cmRlclkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MSVNUX1BST1BFUlRZX05FVyhTVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Omtlcm5lbE1hdHJpeEF0dHIsIFNWR051bWJlckxp
c3QsIEtlcm5lbE1hdHJpeCwga2VybmVsTWF0cml4KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVE
aWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVE
aWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9zdmcv
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2
LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBrZXJuZWxVbml0
TGVuZ3RoWElkZW50aWZpZXIoKTsKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBrZXJu
ZWxVbml0TGVuZ3RoWUlkZW50aWZpZXIoKTsKIAotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFkoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcs
IEluMSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdG
RURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBp
bjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIsIGZsb2F0LCBE
aWZmdXNlQ29uc3RhbnQsIGRpZmZ1c2VDb25zdGFudCkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NU
QVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6
c3VyZmFjZVNjYWxlQXR0ciwgZmxvYXQsIFN1cmZhY2VTY2FsZSwgc3VyZmFjZVNjYWxlKQogICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhT
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0
ciwga2VybmVsVW5pdExlbmd0aFhJZGVudGlmaWVyKCksIGZsb2F0LCBLZXJuZWxVbml0TGVuZ3Ro
WCwga2VybmVsVW5pdExlbmd0aFgpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksOCBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdG
aWx0ZXJCdWlsZGVyKik7CiAgICAgCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBp
bjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQsIFNWR05hbWVzOjppbjJBdHRyLCBTdHJpbmcsIEluMiwgaW4yKQorICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQs
IFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFt
ZXM6OmluMkF0dHIsIFN0cmluZywgSW4yLCBpbjIpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFU
SUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnhD
aGFubmVsU2VsZWN0b3JBdHRyLCBpbnQsIFhDaGFubmVsU2VsZWN0b3IsIHhDaGFubmVsU2VsZWN0
b3IpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxh
Y2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyLCBpbnQsIFlD
aGFubmVsU2VsZWN0b3IsIHlDaGFubmVsU2VsZWN0b3IpCiAgICAgREVDTEFSRV9BTklNQVRFRF9T
VEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6
OnNjYWxlQXR0ciwgZmxvYXQsIFNjYWxlLCBzY2FsZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudC5oCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIHBy
aXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3RkRGV2aWF0aW9uWElkZW50
aWZpZXIoKTsKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdGREZXZpYXRpb25ZSWRl
bnRpZmllcigpOwogCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgREVD
TEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKICAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxUSVBMRV9XUkFQUEVSU19ORVcoU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LCBTVkdOYW1lczo6c3RkRGV2aWF0aW9uQXR0ciwgc3RkRGV2aWF0aW9uWElkZW50
aWZpZXIoKSwgZmxvYXQsIFN0ZERldmlhdGlvblgsIHN0ZERldmlhdGlvblgpCiAgICAgREVDTEFS
RV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsIHN0ZERldmlhdGlv
bllJZGVudGlmaWVyKCksIGZsb2F0LCBTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZKQogfTsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBA
IHByaXZhdGU6CiAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHRkVJbWFnZUVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAg
IC8vIFNWR1VSSVJlZmVyZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRkVJ
bWFnZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFSW1hZ2VFbGVtZW50
LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX05FVyhTVkdGRUltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHJl
dmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50X2gKIAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2luY2x1ZGUgIlNW
R0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5j
bHVkZSAiU1ZHTmFtZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw3ICszOCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3lu
Y2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICAgICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWShTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0
dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX05FVyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmlu
ZywgSW4xLCBpbjEpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQz
LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiByYWRpdXNYSWRl
bnRpZmllcigpOwogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHJhZGl1c1lJZGVudGlm
aWVyKCk7CiAKLSAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0ZFTW9ycGhvbG9neUVs
ZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgREVDTEFSRV9B
TklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR05h
bWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFU
SUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR05hbWVzOjpvcGVyYXRv
ckF0dHIsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCiAgICAgREVDTEFSRV9BTklNQVRFRF9T
VEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1l
bnQsIFNWR05hbWVzOjpyYWRpdXNBdHRyLCByYWRpdXNYSWRlbnRpZmllcigpLCBmbG9hdCwgUmFk
aXVzWCwgcmFkaXVzWCkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxU
SVBMRV9XUkFQUEVSU19ORVcoU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCwgU1ZHTmFtZXM6OnJhZGl1
c0F0dHIsIHJhZGl1c1lJZGVudGlmaWVyKCksIGZsb2F0LCBSYWRpdXNZLCByYWRpdXNZKQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9z
dmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFs
aWZpZWROYW1lJik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQo
U1ZHRmlsdGVyQnVpbGRlciopOwogCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdG
RU9mZnNldEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFT2Zmc2V0RWxlbWVudCwg
U1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVPZmZzZXRFbGVtZW50LCBTVkdOYW1lczo6ZHhBdHRy
LCBmbG9hdCwgRHgsIGR4KQogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05F
VyhTVkdGRU9mZnNldEVsZW1lbnQsIFNWR05hbWVzOjpkeUF0dHIsIGZsb2F0LCBEeSwgZHkpCiB9
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAkocmV2
aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
Y29uc3QgQXRvbWljU3RyaW5nJiBrZXJuZWxVbml0TGVuZ3RoWElkZW50aWZpZXIoKTsKICAgICBz
dGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBrZXJuZWxVbml0TGVuZ3RoWUlkZW50aWZpZXIoKTsK
IAotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxl
bWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwg
U1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFt
ZXM6OnNwZWN1bGFyQ29uc3RhbnRBdHRyLCBmbG9hdCwgU3BlY3VsYXJDb25zdGFudCwgc3BlY3Vs
YXJDb25zdGFudCkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6OnNwZWN1bGFyRXhwb25lbnRBdHRy
LCBmbG9hdCwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKICAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dCwgU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZUF0dHIsIGZsb2F0LCBTdXJmYWNlU2NhbGUsIHN1cmZh
Y2VTY2FsZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysg
V2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICsz
OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+
IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqKTsKIAotICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFkoU1ZHRkVUaWxlRWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkK
KyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVUaWxlRWxlbWVu
dCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQor
KysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3
ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlf
TVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpmaWx0ZXJS
ZXNBdHRyLCBmaWx0ZXJSZXNZSWRlbnRpZmllcigpLCBsb25nLCBGaWx0ZXJSZXNZLCBmaWx0ZXJS
ZXNZKQogCiAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9Q
RVJUWShTVkdGaWx0ZXJFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVm
LCBocmVmKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0
ZXJFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAg
ICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURf
U1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAkocmV2aXNpb24gNzExMDMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTkVXKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTmFt
ZXM6OnlBdHRyLCBTVkdMZW5ndGgsIFksIHkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJU
WV9ORVcoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdOYW1lczo6d2lk
dGhBdHRyLCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKICAgICBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZX05FVyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR05hbWVz
OjpoZWlnaHRBdHRyLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQotICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdO
YW1lczo6cmVzdWx0QXR0ciwgU3RyaW5nLCBSZXN1bHQsIHJlc3VsdCkKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLCBTVkdOYW1lczo6cmVzdWx0QXR0ciwgU3RyaW5nLCBSZXN1bHQsIHJlc3VsdCkKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBTVkdMZW5ndGgsIEhlaWdodCwg
aGVpZ2h0KQogCiAgICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJFX0FO
SU1BVEVEX1BST1BFUlRZKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBYTGlua05hbWVzOjpocmVm
QXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJ
Q19QUk9QRVJUWV9ORVcoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZB
dHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKICAgICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MTEw
MykKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NCw3ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklN
QVRFRF9QUk9QRVJUWShTVkdHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpncmFkaWVudFRyYW5z
Zm9ybUF0dHIsIFNWR1RyYW5zZm9ybUxpc3QqLCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRU
cmFuc2Zvcm0pCiAKICAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgICAgIERFQ0xBUkVf
QU5JTUFURURfUFJPUEVSVFkoU1ZHR3JhZGllbnRFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0
ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3Ry
aW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0dyYWRp
ZW50RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9zdmcv
U1ZHSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdJ
bWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykK
IAogICAgICAgICAvLyBTVkdVUklSZWZlcmVuY2UKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWShTVkdJbWFnZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhy
ZWYsIGhyZWYpCisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhT
VkdJbWFnZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CiAKICAgICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogICAgICAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1l
czo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdMZW5ndGhMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0
LmlkbAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGlu
dGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBTVkdMaXN0UHJvcGVydHk9U1ZHTGVuZ3RoTGlzdF0g
U1ZHTGVuZ3RoTGlzdCB7IAorICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHXSBTVkdMZW5n
dGhMaXN0IHsgCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJl
ck9mSXRlbXM7CiAKICAgICAgICAgdm9pZCBjbGVhcigpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdN
UGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQu
aAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsK
ICAgICAgICAgCiAgICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJFX0FO
SU1BVEVEX1BST1BFUlRZKFNWR01QYXRoRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0
cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVS
VFlfTkVXKFNWR01QYXRoRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJl
ZiwgaHJlZikKIAogICAgICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCiAgICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdNUGF0aEVsZW1lbnQs
IFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxl
bWVudCwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyLCBTVkdUcmFuc2Zvcm1MaXN0Kiwg
UGF0dGVyblRyYW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSkKIAogICAgICAgICAvLyBTVkdVUklS
ZWZlcmVuY2UKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxl
bWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAg
REVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1BhdHRlcm5FbGVtZW50LCBY
TGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAgIC8vIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFU
SUNfUFJPUEVSVFlfTkVXKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCShyZXZpc2lv
biA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNzYsNyArNzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaEVycm9yRXZlbnQoKTsKIAogICAgICAgICAvLyBTVkdVUklSZWZlcmVuY2UK
LSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdTY3JpcHRFbGVtZW50LCBYTGlu
a05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHU2NyaXB0RWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKIAogICAgICAgICAvLyBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdTY3JpcHRFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAkocmV2aXNpb24gNzExMDMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsMjkgKzIz
LDMxIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdTdHJpbmdMaXN0LmgiCiAKKyNp
bmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHU3RyaW5nTGlzdDo6U1ZHU3RyaW5nTGlzdChjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQotICAgIDogU1ZHTGlzdDxTdHJpbmc+KGF0
dHJpYnV0ZU5hbWUpCit2b2lkIFNWR1N0cmluZ0xpc3Q6OmNvbW1pdENoYW5nZShTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCkKIHsKKyAgICBBU1NFUlQoY29udGV4dEVsZW1lbnQpOworICAgIGNv
bnRleHRFbGVtZW50LT5pbnZhbGlkYXRlU1ZHQXR0cmlidXRlcygpOworICAgIGNvbnRleHRFbGVt
ZW50LT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKG1fYXR0cmlidXRlTmFtZSk7CiB9CiAKLXZvaWQgU1ZH
U3RyaW5nTGlzdDo6cmVzZXQoY29uc3QgU3RyaW5nJiBzdHIpCit2b2lkIFNWR1N0cmluZ0xpc3Q6
OnJlc2V0KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgIHBhcnNlKHN0cmluZywgJyAnKTsKIAotICAgIHBhcnNlKHN0ciwgJyAnKTsKLSAgICBp
ZiAobnVtYmVyT2ZJdGVtcygpID09IDApCi0gICAgICAgIGFwcGVuZEl0ZW0oU3RyaW5nKCIiKSwg
ZWMpOyAvLyBDcmVhdGUgZW1wdHkgc3RyaW5nLi4uCisgICAgLy8gQWRkIGVtcHR5IHN0cmluZywg
aWYgbGlzdCBpcyBlbXB0eS4KKyAgICBpZiAoaXNFbXB0eSgpKQorICAgICAgICBhcHBlbmQoU3Ry
aW5nKCIiKSk7CiB9CiAKIHZvaWQgU1ZHU3RyaW5nTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiBk
YXRhLCBVQ2hhciBkZWxpbWl0ZXIpCiB7CiAgICAgLy8gVE9ETyA6IG1vcmUgZXJyb3IgY2hlY2tp
bmcvcmVwb3J0aW5nCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgY2xlYXIoZWMpOwor
ICAgIGNsZWFyKCk7CiAKICAgICBjb25zdCBVQ2hhciogcHRyID0gZGF0YS5jaGFyYWN0ZXJzKCk7
CiAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGRhdGEubGVuZ3RoKCk7CkBAIC01NSw3ICs1
Nyw3IEBAIHZvaWQgU1ZHU3RyaW5nTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKICAgICAgICAg
ICAgIHB0cisrOwogICAgICAgICBpZiAocHRyID09IHN0YXJ0KQogICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGFwcGVuZEl0ZW0oU3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCksIGVjKTsKKyAg
ICAgICAgYXBwZW5kKFN0cmluZyhzdGFydCwgcHRyIC0gc3RhcnQpKTsKICAgICAgICAgc2tpcE9w
dGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQsIGRlbGltaXRlcik7CiAgICAgfQogfQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1N0cmluZ0xpc3QuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdT
dHJpbmdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjIsMjMg
KzIyLDMyIEBACiAjZGVmaW5lIFNWR1N0cmluZ0xpc3RfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgIlNWR0xpc3QuaCIKKyNpbmNsdWRl
ICJRdWFsaWZpZWROYW1lLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBT
VkdTdHJpbmdMaXN0IDogcHVibGljIFNWR0xpc3Q8U3RyaW5nPiB7Ci0gICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdTdHJpbmdMaXN0PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1N0cmluZ0xp
c3QoYXR0cmlidXRlTmFtZSkpOyB9Ci0KLSAgICAgICAgdm9pZCByZXNldChjb25zdCBTdHJpbmcm
IHN0cik7Ci0gICAgICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJiBkYXRhLCBVQ2hhciBkZWxp
bWl0ZXIgPSAnLCcpOwotICAgICAgICAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdTdHJpbmdM
aXN0KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICB9OworY2xhc3MgU1ZHRWxlbWVudDsKKwor
Y2xhc3MgU1ZHU3RyaW5nTGlzdCA6IHB1YmxpYyBWZWN0b3I8U3RyaW5nPiB7CitwdWJsaWM6Cisg
ICAgU1ZHU3RyaW5nTGlzdChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQorICAg
ICAgICA6IG1fYXR0cmlidXRlTmFtZShhdHRyaWJ1dGVOYW1lKQorICAgIHsKKyAgICB9CisKKyAg
ICB2b2lkIHJlc2V0KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5n
JiwgVUNoYXIgZGVsaW1pdGVyID0gJywnKTsKKworICAgIC8vIE9ubHkgdXNlZCBieSBTVkdTdHJp
bmdMaXN0UHJvcGVydHlUZWFyT2ZmLgorICAgIHZvaWQgY29tbWl0Q2hhbmdlKFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KTsKKworcHJpdmF0ZToKKyAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBt
X2F0dHJpYnV0ZU5hbWU7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoU1ZHKQotI2VuZGlmIC8vIFNWR1N0cmluZ0xpc3RfaAorI2VuZGlmCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5oCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR1N0
eWxlZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBT
VkdTdHlsZWRFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIlNW
R0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdMb2NhdGFibGUuaCIKICNpbmNsdWRlICJTVkdTdHls
YWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC04Myw3ICs4Myw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPiBtX2Vs
ZW1lbnRzV2l0aFJlbGF0aXZlTGVuZ3RoczsKIAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZKFNWR1N0eWxlZEVsZW1lbnQsIEhUTUxOYW1lczo6Y2xhc3NBdHRyLCBTdHJpbmcsIENs
YXNzTmFtZSwgY2xhc3NOYW1lKQorICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHU3R5bGVkRWxlbWVudCwgSFRNTE5hbWVzOjpjbGFzc0F0dHIsIFN0cmluZywg
Q2xhc3NOYW1lLCBjbGFzc05hbWUpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5oCShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NW
R1RSZWZFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHVwZGF0ZVJlZmVyZW5jZWRUZXh0KCk7CiAKICAgICAg
ICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFko
U1ZHVFJlZkVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUUmVmRWxl
bWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXN0cy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGVzdHMuY3BwCShyZXZpc2lvbiA3MTEwMykK
KysrIFdlYkNvcmUvc3ZnL1NWR1Rlc3RzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNjMgKzI2
LDQxIEBACiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJMYW5ndWFnZS5oIgotI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBTVkdUZXN0czo6U1ZHVGVzdHMoKQorICAgIDogbV9mZWF0dXJlcyhT
VkdOYW1lczo6cmVxdWlyZWRGZWF0dXJlc0F0dHIpCisgICAgLCBtX2V4dGVuc2lvbnMoU1ZHTmFt
ZXM6OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIpCisgICAgLCBtX3N5c3RlbUxhbmd1YWdlKFNWR05h
bWVzOjpzeXN0ZW1MYW5ndWFnZUF0dHIpCiB7CiB9CiAKLVNWR1Rlc3RzOjp+U1ZHVGVzdHMoKQor
Ym9vbCBTVkdUZXN0czo6aGFzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYpIGNvbnN0CiB7Ci19Ci0K
LVNWR1N0cmluZ0xpc3QqIFNWR1Rlc3RzOjpyZXF1aXJlZEZlYXR1cmVzKCkgY29uc3QKLXsKLSAg
ICBpZiAoIW1fZmVhdHVyZXMpCi0gICAgICAgIG1fZmVhdHVyZXMgPSBTVkdTdHJpbmdMaXN0Ojpj
cmVhdGUoU1ZHTmFtZXM6OnJlcXVpcmVkRmVhdHVyZXNBdHRyKTsKLQotICAgIHJldHVybiBtX2Zl
YXR1cmVzLmdldCgpOwotfQotCi1TVkdTdHJpbmdMaXN0KiBTVkdUZXN0czo6cmVxdWlyZWRFeHRl
bnNpb25zKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZXh0ZW5zaW9ucykKLSAgICAgICAgbV9leHRl
bnNpb25zID0gU1ZHU3RyaW5nTGlzdDo6Y3JlYXRlKFNWR05hbWVzOjpyZXF1aXJlZEV4dGVuc2lv
bnNBdHRyKTsKLQotICAgIHJldHVybiBtX2V4dGVuc2lvbnMuZ2V0KCk7Ci19Ci0KLVNWR1N0cmlu
Z0xpc3QqIFNWR1Rlc3RzOjpzeXN0ZW1MYW5ndWFnZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX3N5
c3RlbUxhbmd1YWdlKQotICAgICAgICBtX3N5c3RlbUxhbmd1YWdlID0gU1ZHU3RyaW5nTGlzdDo6
Y3JlYXRlKFNWR05hbWVzOjpzeXN0ZW1MYW5ndWFnZUF0dHIpOwotCi0gICAgcmV0dXJuIG1fc3lz
dGVtTGFuZ3VhZ2UuZ2V0KCk7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBtZSEKKyAgICByZXR1
cm4gZmFsc2U7CiB9CiAKIGJvb2wgU1ZHVGVzdHM6OmlzVmFsaWQoKSBjb25zdAogewotICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwotCi0gICAgaWYgKG1fZmVhdHVyZXMpIHsKLSAgICAgICAgZm9y
ICh1bnNpZ25lZCBsb25nIGkgPSAwOyBpIDwgbV9mZWF0dXJlcy0+bnVtYmVyT2ZJdGVtcygpOyBp
KyspIHsKLSAgICAgICAgICAgIFN0cmluZyB2YWx1ZSA9IG1fZmVhdHVyZXMtPmdldEl0ZW0oaSwg
ZWMpOwotICAgICAgICAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSB8fCAhRE9NSW1wbGVtZW50YXRp
b246Omhhc0ZlYXR1cmUodmFsdWUsIFN0cmluZygpKSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIH0KKyAgICB1bnNpZ25lZCBmZWF0dXJlc1NpemUgPSBtX2ZlYXR1cmVz
LnNpemUoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZmVhdHVyZXNTaXplOyArK2kp
IHsKKyAgICAgICAgU3RyaW5nIHZhbHVlID0gbV9mZWF0dXJlcy5hdChpKTsKKyAgICAgICAgaWYg
KHZhbHVlLmlzRW1wdHkoKSB8fCAhRE9NSW1wbGVtZW50YXRpb246Omhhc0ZlYXR1cmUodmFsdWUs
IFN0cmluZygpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAo
bV9zeXN0ZW1MYW5ndWFnZSkgewotICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgaSA9IDA7IGkg
PCBtX3N5c3RlbUxhbmd1YWdlLT5udW1iZXJPZkl0ZW1zKCk7IGkrKykKLSAgICAgICAgICAgIGlm
IChtX3N5c3RlbUxhbmd1YWdlLT5nZXRJdGVtKGksIGVjKSAhPSBkZWZhdWx0TGFuZ3VhZ2UoKS5z
dWJzdHJpbmcoMCwgMikpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVuc2ln
bmVkIHN5c3RlbUxhbmd1YWdlU2l6ZSA9IG1fc3lzdGVtTGFuZ3VhZ2Uuc2l6ZSgpOworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBzeXN0ZW1MYW5ndWFnZVNpemU7ICsraSkgeworICAgICAg
ICBTdHJpbmcgdmFsdWUgPSBtX3N5c3RlbUxhbmd1YWdlLmF0KGkpOworICAgICAgICBpZiAodmFs
dWUgIT0gZGVmYXVsdExhbmd1YWdlKCkuc3Vic3RyaW5nKDAsIDIpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmIChtX2V4dGVuc2lvbnMgJiYgbV9leHRlbnNpb25z
LT5udW1iZXJPZkl0ZW1zKCkgPiAwKQorICAgIGlmICghbV9leHRlbnNpb25zLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CkBAIC05MSwxMyArNjks
MTMgQEAgYm9vbCBTVkdUZXN0czo6aXNWYWxpZCgpIGNvbnN0CiBib29sIFNWR1Rlc3RzOjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7CiAgICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6cmVxdWlyZWRGZWF0dXJlc0F0dHIpIHsKLSAgICAgICAgcmVxdWlyZWRG
ZWF0dXJlcygpLT5yZXNldChhdHRyLT52YWx1ZSgpKTsKKyAgICAgICAgbV9mZWF0dXJlcy5yZXNl
dChhdHRyLT52YWx1ZSgpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIpIHsKLSAgICAg
ICAgcmVxdWlyZWRFeHRlbnNpb25zKCktPnJlc2V0KGF0dHItPnZhbHVlKCkpOworICAgICAgICBt
X2V4dGVuc2lvbnMucmVzZXQoYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzeXN0ZW1MYW5ndWFnZUF0
dHIpIHsKLSAgICAgICAgc3lzdGVtTGFuZ3VhZ2UoKS0+cmVzZXQoYXR0ci0+dmFsdWUoKSk7Cisg
ICAgICAgIG1fc3lzdGVtTGFuZ3VhZ2UucmVzZXQoYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KICAgICAKQEAgLTEwNiw5ICs4NCw5IEBAIGJvb2wgU1ZHVGVzdHM6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHIKIAogYm9vbCBTVkdUZXN0czo6aXNLbm93bkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKLSAgICByZXR1cm4gKGF0dHJO
YW1lID09IFNWR05hbWVzOjpyZXF1aXJlZEZlYXR1cmVzQXR0ciB8fAotICAgICAgICAgICAgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIgfHwKLSAgICAgICAgICAg
IGF0dHJOYW1lID09IFNWR05hbWVzOjpzeXN0ZW1MYW5ndWFnZUF0dHIpOworICAgIHJldHVybiBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6cmVxdWlyZWRGZWF0dXJlc0F0dHIKKyAgICAgICAgfHwgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIKKyAgICAgICAgfHwgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OnN5c3RlbUxhbmd1YWdlQXR0cjsKIH0KIAogfQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHVGVzdHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXN0cy5o
CShyZXZpc2lvbiA3MTEwMykKKysrIFdlYkNvcmUvc3ZnL1NWR1Rlc3RzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIyLDM3ICsyMiwzMyBAQAogI2RlZmluZSBTVkdUZXN0c19oCiAKICNpZiBFTkFCTEUo
U1ZHKQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
I2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgQXR0cmlidXRlOwotICAgIGNsYXNzIFF1YWxpZmllZE5hbWU7Ci0gICAgY2xhc3MgU1ZH
U3RyaW5nTGlzdDsKLQotICAgIGNsYXNzIFNWR1Rlc3RzIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IFNWR1N0cmluZ0xpc3QqIHJlcXVpcmVkRmVhdHVyZXMoKSBjb25zdDsKLSAgICAgICAgU1ZHU3Ry
aW5nTGlzdCogcmVxdWlyZWRFeHRlbnNpb25zKCkgY29uc3Q7Ci0gICAgICAgIFNWR1N0cmluZ0xp
c3QqIHN5c3RlbUxhbmd1YWdlKCkgY29uc3Q7Ci0KLSAgICAgICAgYm9vbCBoYXNFeHRlbnNpb24o
Y29uc3QgU3RyaW5nJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgICAgICBib29sIGlz
VmFsaWQoKSBjb25zdDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgcGFyc2VNYXBwZWRBdHRyaWJ1
dGUoQXR0cmlidXRlKik7Ci0gICAgICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJik7Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFNWR1Rlc3RzKCk7Ci0gICAg
ICAgIH5TVkdUZXN0cygpOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8
U1ZHU3RyaW5nTGlzdD4gbV9mZWF0dXJlczsKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHU3Ry
aW5nTGlzdD4gbV9leHRlbnNpb25zOwotICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdTdHJpbmdM
aXN0PiBtX3N5c3RlbUxhbmd1YWdlOwotICAgIH07CitjbGFzcyBBdHRyaWJ1dGU7CitjbGFzcyBR
dWFsaWZpZWROYW1lOworCitjbGFzcyBTVkdUZXN0cyB7CitwdWJsaWM6CisgICAgU1ZHU3RyaW5n
TGlzdCYgcmVxdWlyZWRGZWF0dXJlcygpIHsgcmV0dXJuIG1fZmVhdHVyZXM7IH0KKyAgICBTVkdT
dHJpbmdMaXN0JiByZXF1aXJlZEV4dGVuc2lvbnMoKSB7IHJldHVybiBtX2V4dGVuc2lvbnM7IH0K
KyAgICBTVkdTdHJpbmdMaXN0JiBzeXN0ZW1MYW5ndWFnZSgpIHsgcmV0dXJuIG1fc3lzdGVtTGFu
Z3VhZ2U7IH0KKworICAgIGJvb2wgaGFzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYpIGNvbnN0Owor
ICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0OworCisgICAgYm9vbCBwYXJzZU1hcHBlZEF0dHJpYnV0
ZShBdHRyaWJ1dGUqKTsKKyAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworCitwcm90ZWN0ZWQ6CisgICAgU1ZHVGVzdHMoKTsKKworcHJpdmF0ZToKKyAgICBT
VkdTdHJpbmdMaXN0IG1fZmVhdHVyZXM7CisgICAgU1ZHU3RyaW5nTGlzdCBtX2V4dGVuc2lvbnM7
CisgICAgU1ZHU3RyaW5nTGlzdCBtX3N5c3RlbUxhbmd1YWdlOworfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gNzEx
MDMpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNzIsNyArNzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFQ0xBUkVfQU5J
TUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR05hbWVzOjpz
cGFjaW5nQXR0ciwgaW50LCBTcGFjaW5nLCBzcGFjaW5nKQogICAgIAogICAgICAgICAvLyBTVkdV
UklSZWZlcmVuY2UKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdUZXh0UGF0
aEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUZXh0UGF0aEVsZW1l
bnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgJKHJldmlzaW9u
IDcxMTAzKQorKysgV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDIwICsyNywyMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBB
dHRyaWJ1dGU7CitjbGFzcyBBdHRyaWJ1dGU7CiAKLSAgICBjbGFzcyBTVkdVUklSZWZlcmVuY2Ug
ewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHVVJJUmVmZXJlbmNlKCkgeyB9Citj
bGFzcyBTVkdVUklSZWZlcmVuY2UgeworcHVibGljOgorICAgIHZpcnR1YWwgflNWR1VSSVJlZmVy
ZW5jZSgpIHsgfQogCi0gICAgICAgIGJvb2wgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRl
Kik7Ci0gICAgICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7
CisgICAgYm9vbCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKKyAgICBib29sIGlz
S25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgICAgIHN0YXRpYyBT
dHJpbmcgZ2V0VGFyZ2V0KGNvbnN0IFN0cmluZyYgdXJsKTsKKyAgICBzdGF0aWMgU3RyaW5nIGdl
dFRhcmdldChjb25zdCBTdHJpbmcmIHVybCk7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBzZXRIcmVmQmFzZVZhbHVlKERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5
VHJhaXRzPFN0cmluZz46OlBhc3NUeXBlKSA9IDA7Ci0gICAgfTsKK3Byb3RlY3RlZDoKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0SHJlZkJhc2VWYWx1ZShjb25zdCBTdHJpbmcmKSA9IDA7Cit9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgJKHJldmlzaW9uIDcx
MTAzKQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Nyw3ICs4Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9BTklNQVRF
RF9QUk9QRVJUWV9ORVcoU1ZHVXNlRWxlbWVudCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIFNWR0xl
bmd0aCwgSGVpZ2h0LCBoZWlnaHQpCiAKICAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHVXNlRWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9T
VEFUSUNfUFJPUEVSVFlfTkVXKFNWR1VzZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBT
dHJpbmcsIEhyZWYsIGhyZWYpCiAKICAgICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHVXNl
RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJDb3JlL3N2Zy9T
VkdWaWV3RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBpbmxpbmUgU1ZHVmlld0VsZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNW
R1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgLCBtX3ZpZXdUYXJnZXQoU1ZH
TmFtZXM6OnZpZXdUYXJnZXRBdHRyKQogewogfQogCkBAIC00MiwxOCArNDMsMTAgQEAgUGFzc1Jl
ZlB0cjxTVkdWaWV3RWxlbWVudD4gU1ZHVmlld0VsZW1lbgogICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU1ZHVmlld0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0KIAotU1ZHU3RyaW5nTGlz
dCogU1ZHVmlld0VsZW1lbnQ6OnZpZXdUYXJnZXQoKSBjb25zdAotewotICAgIGlmICghbV92aWV3
VGFyZ2V0KQotICAgICAgICBtX3ZpZXdUYXJnZXQgPSBTVkdTdHJpbmdMaXN0OjpjcmVhdGUoU1ZH
TmFtZXM6OnZpZXdUYXJnZXRBdHRyKTsKLQotICAgIHJldHVybiBtX3ZpZXdUYXJnZXQuZ2V0KCk7
Ci19Ci0KIHZvaWQgU1ZHVmlld0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSogYXR0cikKIHsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp2aWV3VGFyZ2V0
QXR0cikKLSAgICAgICAgdmlld1RhcmdldCgpLT5yZXNldChhdHRyLT52YWx1ZSgpKTsKKyAgICAg
ICAgdmlld1RhcmdldCgpLnJlc2V0KGF0dHItPnZhbHVlKCkpOwogICAgIGVsc2UgewogICAgICAg
ICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
YXR0cikKICAgICAgICAgICAgfHwgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShkb2N1bWVudCgpLCBhdHRyKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCShyZXZpc2lvbiA3MTEw
MykKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDYgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdT
dHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgpAQCAtMzAsNyArMzEsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdTdHJpbmdMaXN0OwogICAgIGNsYXNzIFNW
R1ZpZXdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsCkBAIC0zOCw3ICszOCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CiAKLSAgICAgICAgU1ZHU3RyaW5nTGlzdCogdmlld1RhcmdldCgpIGNvbnN0OworICAg
ICAgICBTVkdTdHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9
CiAKICAgICBwcml2YXRlOgogICAgICAgICBTVkdWaWV3RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKQEAgLTU0LDggKzU0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAvLyBTVkdGaXRUb1ZpZXdCb3gKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9Q
RVJUWV9ORVcoU1ZHVmlld0VsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0
LCBWaWV3Qm94LCB2aWV3Qm94KQogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05F
VyhTVkdWaWV3RWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJh
dGlvKQotIAotICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdTdHJpbmdMaXN0PiBtX3ZpZXdUYXJn
ZXQ7CisKKyAgICAgICAgU1ZHU3RyaW5nTGlzdCBtX3ZpZXdUYXJnZXQ7CiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5TWFjcm9zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMyLDYgKzMyLDQyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgU1ZH
RWxlbWVudDsKKworLy8gR2V0T3duZXJFbGVtZW50Rm9yVHlwZSBpbXBsZW1lbnRhdGlvbgordGVt
cGxhdGU8dHlwZW5hbWUgT3duZXJUeXBlLCBib29sIGlzRGVyaXZlZEZyb21TVkdFbGVtZW50Pgor
c3RydWN0IEdldE93bmVyRWxlbWVudEZvclR5cGU7CisKK3RlbXBsYXRlPHR5cGVuYW1lIE93bmVy
VHlwZT4KK3N0cnVjdCBHZXRPd25lckVsZW1lbnRGb3JUeXBlPE93bmVyVHlwZSwgdHJ1ZT4gewor
ICAgIHN0YXRpYyBTVkdFbGVtZW50KiBvd25lckVsZW1lbnQoT3duZXJUeXBlKiB0eXBlKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHR5cGU7CisgICAgfQorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUg
T3duZXJUeXBlPgorc3RydWN0IEdldE93bmVyRWxlbWVudEZvclR5cGU8T3duZXJUeXBlLCBmYWxz
ZT4geyAgICAKKyAgICBzdGF0aWMgU1ZHRWxlbWVudCogb3duZXJFbGVtZW50KE93bmVyVHlwZSog
dHlwZSkKKyAgICB7CisgICAgICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSB0eXBlLT5jb250ZXh0
RWxlbWVudCgpOworICAgICAgICBBU1NFUlQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBjb250
ZXh0OworICAgIH0KK307CisKKy8vIElzRGVyaXZlZEZyb21TVkdFbGVtZW50IGltcGxlbWVudGF0
aW9uCit0ZW1wbGF0ZTx0eXBlbmFtZSBPd25lclR5cGU+CitzdHJ1Y3QgSXNEZXJpdmVkRnJvbVNW
R0VsZW1lbnQgeworICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsKK307CisKK2Ns
YXNzIFNWR1ZpZXdTcGVjOwordGVtcGxhdGU8Pgorc3RydWN0IElzRGVyaXZlZEZyb21TVkdFbGVt
ZW50PFNWR1ZpZXdTcGVjPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsK
K307CisKIHRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4KIHN0cnVjdCBTVkdTeW5jaHJv
bml6YWJsZUFuaW1hdGVkUHJvcGVydHkgewogICAgIFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQ
cm9wZXJ0eSgpCkluZGV4OiBXZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVy
dHlTeW5jaHJvbml6ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIuaAkocmV2aXNpb24gNzExMDMpCisrKyBXZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsNDIgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBTVkdFbGVtZW50OwotCi0vLyBHZXRPd25lckVsZW1lbnRGb3JU
eXBlIGltcGxlbWVudGF0aW9uCi10ZW1wbGF0ZTx0eXBlbmFtZSBPd25lclR5cGUsIGJvb2wgaXNE
ZXJpdmVkRnJvbVNWR0VsZW1lbnQ+Ci1zdHJ1Y3QgR2V0T3duZXJFbGVtZW50Rm9yVHlwZTsKLQot
dGVtcGxhdGU8dHlwZW5hbWUgT3duZXJUeXBlPgotc3RydWN0IEdldE93bmVyRWxlbWVudEZvclR5
cGU8T3duZXJUeXBlLCB0cnVlPiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0gICAgc3RhdGljIFNW
R0VsZW1lbnQqIG93bmVyRWxlbWVudChPd25lclR5cGUqIHR5cGUpCi0gICAgewotICAgICAgICBy
ZXR1cm4gdHlwZTsKLSAgICB9Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBPd25lclR5cGU+Ci1z
dHJ1Y3QgR2V0T3duZXJFbGVtZW50Rm9yVHlwZTxPd25lclR5cGUsIGZhbHNlPiA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7ICAgIAotICAgIHN0YXRpYyBTVkdFbGVtZW50KiBvd25lckVsZW1lbnQoT3du
ZXJUeXBlKiB0eXBlKQotICAgIHsKLSAgICAgICAgU1ZHRWxlbWVudCogY29udGV4dCA9IHR5cGUt
PmNvbnRleHRFbGVtZW50KCk7Ci0gICAgICAgIEFTU0VSVChjb250ZXh0KTsKLSAgICAgICAgcmV0
dXJuIGNvbnRleHQ7Ci0gICAgfQotfTsKLQotLy8gSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQgaW1w
bGVtZW50YXRpb24KLXRlbXBsYXRlPHR5cGVuYW1lIE93bmVyVHlwZT4KLXN0cnVjdCBJc0Rlcml2
ZWRGcm9tU1ZHRWxlbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0gICAgc3RhdGljIGNvbnN0
IGJvb2wgdmFsdWUgPSB0cnVlOwotfTsKLQotY2xhc3MgU1ZHVmlld1NwZWM7Ci10ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8U1ZHVmlld1NwZWM+IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IGZhbHNlOwotfTsKLQog
Ly8gSGVscGVyIHRlbXBsYXRlIHVzZWQgZm9yIHN5bmNocm9uaXppbmcgU1ZHIDwtPiBYTUwgcHJv
cGVydGllcwogdGVtcGxhdGU8Ym9vbCBpc0Rlcml2ZWRGcm9tU1ZHRWxlbWVudD4KIHN0cnVjdCBT
VkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRzLmgJKHJldmlzaW9uIDcxMTAzKQorKysgV2ViQ29yZS9z
dmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgogI2luY2x1ZGUgIlNWR051bWJl
ckxpc3QuaCIKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAi
U1ZHU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTE3LDYgKzExOCwxMSBAQCBzdHJ1Y3QgU1ZHUHJvcGVy
dHlUcmFpdHM8U3RyaW5nPiB7CiAgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBTdHJp
bmcmIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KIH07CiAKK3RlbXBsYXRlPD4KK3N0cnVjdCBTVkdQ
cm9wZXJ0eVRyYWl0czxTVkdTdHJpbmdMaXN0PiB7CisgICAgdHlwZWRlZiBTdHJpbmcgTGlzdEl0
ZW1UeXBlOworfTsKKwogfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL3Byb3BlcnRpZXMv
U1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHU3RyaW5nTGlzdFByb3BlcnR5VGVhck9mZi5oCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVm
IFNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmZfaAorI2RlZmluZSBTVkdTdHJpbmdMaXN0UHJv
cGVydHlUZWFyT2ZmX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIlNWR1Byb3BlcnR5LmgiCisjaW5jbHVkZSAiU1ZHU3RyaW5nTGlzdC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIFVzZWQgZm9yIGxpc3RzIHRoYXQgcmV0dXJu
IG5vbi1tb2RpZnlhYmxlIHZhbHVlczogU1ZHU3RyaW5nTGlzdC4KK2NsYXNzIFNWR1N0cmluZ0xp
c3RQcm9wZXJ0eVRlYXJPZmYgOiBwdWJsaWMgU1ZHUHJvcGVydHkgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNWR1N0cmluZ0xpc3RQcm9wZXJ0eVRlYXJPZmY+IGNyZWF0ZShTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHU3RyaW5nTGlzdCYgdmFsdWVzKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdTdHJpbmdMaXN0UHJvcGVydHlUZWFyT2ZmKGNv
bnRleHRFbGVtZW50LCB2YWx1ZXMpKTsKKyAgICB9CisKKyAgICAvLyBTVkdMaXN0IEFQSQorICAg
IHZvaWQgY2xlYXIoRXhjZXB0aW9uQ29kZSYpCisgICAgeworICAgICAgICBtX3ZhbHVlcy5jbGVh
cigpOworICAgIH0KKworICAgIHVuc2lnbmVkIG51bWJlck9mSXRlbXMoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fdmFsdWVzLnNpemUoKTsKKyAgICB9CisKKyAgICBTdHJpbmcgaW5p
dGlhbGl6ZShjb25zdCBTdHJpbmcmIG5ld0l0ZW0sIEV4Y2VwdGlvbkNvZGUmKQorICAgIHsKKyAg
ICAgICAgLy8gU3BlYzogQ2xlYXJzIGFsbCBleGlzdGluZyBjdXJyZW50IGl0ZW1zIGZyb20gdGhl
IGxpc3QgYW5kIHJlLWluaXRpYWxpemVzIHRoZSBsaXN0IHRvIGhvbGQgdGhlIHNpbmdsZSBpdGVt
IHNwZWNpZmllZCBieSB0aGUgcGFyYW1ldGVyLgorICAgICAgICBtX3ZhbHVlcy5jbGVhcigpOwor
ICAgICAgICBtX3ZhbHVlcy5hcHBlbmQobmV3SXRlbSk7CisKKyAgICAgICAgbV92YWx1ZXMuY29t
bWl0Q2hhbmdlKG1fY29udGV4dEVsZW1lbnQuZ2V0KCkpOworICAgICAgICByZXR1cm4gbmV3SXRl
bTsKKyAgICB9CisKKyAgICBTdHJpbmcgZ2V0SXRlbSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9u
Q29kZSYgZWMpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gbV92YWx1ZXMuc2l6ZSgpKSB7
CisgICAgICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICAgICAgcmV0dXJuIFN0
cmluZygpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIG1fdmFsdWVzLmF0KGluZGV4KTsK
KyAgICB9CisKKyAgICBTdHJpbmcgaW5zZXJ0SXRlbUJlZm9yZShjb25zdCBTdHJpbmcmIG5ld0l0
ZW0sIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJikKKyAgICB7CisgICAgICAgIC8vIFNw
ZWM6IElmIHRoZSBpbmRleCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gbnVtYmVyT2ZJdGVt
cywgdGhlbiB0aGUgbmV3IGl0ZW0gaXMgYXBwZW5kZWQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC4K
KyAgICAgICAgaWYgKGluZGV4ID4gbV92YWx1ZXMuc2l6ZSgpKQorICAgICAgICAgICAgIGluZGV4
ID0gbV92YWx1ZXMuc2l6ZSgpOworCisgICAgICAgIC8vIFNwZWM6IEluc2VydHMgYSBuZXcgaXRl
bSBpbnRvIHRoZSBsaXN0IGF0IHRoZSBzcGVjaWZpZWQgcG9zaXRpb24uIFRoZSBpbmRleCBvZiB0
aGUgaXRlbSBiZWZvcmUgd2hpY2ggdGhlIG5ldyBpdGVtIGlzIHRvIGJlCisgICAgICAgIC8vIGlu
c2VydGVkLiBUaGUgZmlyc3QgaXRlbSBpcyBudW1iZXIgMC4gSWYgdGhlIGluZGV4IGlzIGVxdWFs
IHRvIDAsIHRoZW4gdGhlIG5ldyBpdGVtIGlzIGluc2VydGVkIGF0IHRoZSBmcm9udCBvZiB0aGUg
bGlzdC4KKyAgICAgICAgbV92YWx1ZXMuaW5zZXJ0KGluZGV4LCBuZXdJdGVtKTsKKworICAgICAg
ICBtX3ZhbHVlcy5jb21taXRDaGFuZ2UobV9jb250ZXh0RWxlbWVudC5nZXQoKSk7CisgICAgICAg
IHJldHVybiBuZXdJdGVtOworICAgIH0KKworICAgIFN0cmluZyByZXBsYWNlSXRlbShjb25zdCBT
dHJpbmcmIG5ld0l0ZW0sIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKKyAgICB7
CisgICAgICAgIGlmIChpbmRleCA+PSBtX3ZhbHVlcy5zaXplKCkpIHsKKyAgICAgICAgICAgIGVj
ID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAg
IH0KKworICAgICAgICAvLyBVcGRhdGUgdGhlIHZhbHVlIGFuZCB0aGUgd3JhcHBlciBhdCB0aGUg
ZGVzaXJlZCBwb3NpdGlvbiAnaW5kZXgnLiAKKyAgICAgICAgbV92YWx1ZXMuYXQoaW5kZXgpID0g
bmV3SXRlbTsKKworICAgICAgICBtX3ZhbHVlcy5jb21taXRDaGFuZ2UobV9jb250ZXh0RWxlbWVu
dC5nZXQoKSk7CisgICAgICAgIHJldHVybiBuZXdJdGVtOworICAgIH0KKworICAgIFN0cmluZyBy
ZW1vdmVJdGVtKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKKyAgICB7CisgICAg
ICAgIGlmIChpbmRleCA+PSBtX3ZhbHVlcy5zaXplKCkpIHsKKyAgICAgICAgICAgIGVjID0gSU5E
RVhfU0laRV9FUlI7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgIH0KKwor
ICAgICAgICBTdHJpbmcgb2xkSXRlbSA9IG1fdmFsdWVzLmF0KGluZGV4KTsKKyAgICAgICAgbV92
YWx1ZXMucmVtb3ZlKGluZGV4KTsKKworICAgICAgICBtX3ZhbHVlcy5jb21taXRDaGFuZ2UobV9j
b250ZXh0RWxlbWVudC5nZXQoKSk7CisgICAgICAgIHJldHVybiBvbGRJdGVtOworICAgIH0KKwor
ICAgIFN0cmluZyBhcHBlbmRJdGVtKGNvbnN0IFN0cmluZyYgbmV3SXRlbSwgRXhjZXB0aW9uQ29k
ZSYpCisgICAgeworICAgICAgICAvLyBBcHBlbmQgdGhlIHZhbHVlIGFuZCB3cmFwcGVyIGF0IHRo
ZSBlbmQgb2YgdGhlIGxpc3QuCisgICAgICAgIG1fdmFsdWVzLmFwcGVuZChuZXdJdGVtKTsKKwor
ICAgICAgICBtX3ZhbHVlcy5jb21taXRDaGFuZ2UobV9jb250ZXh0RWxlbWVudC5nZXQoKSk7Cisg
ICAgICAgIHJldHVybiBuZXdJdGVtOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdTdHJpbmdM
aXN0UHJvcGVydHlUZWFyT2ZmKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBTVkdTdHJpbmdM
aXN0JiB2YWx1ZXMpCisgICAgICAgIDogbV9jb250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkK
KyAgICAgICAgLCBtX3ZhbHVlcyh2YWx1ZXMpCisgICAgeworICAgICAgICBBU1NFUlQobV9jb250
ZXh0RWxlbWVudCk7CisgICAgfQorCitwcml2YXRlOgorICAgIFJlZlB0cjxTVkdFbGVtZW50PiBt
X2NvbnRleHRFbGVtZW50OworICAgIFNWR1N0cmluZ0xpc3QmIG1fdmFsdWVzOworfTsKKworfQor
CisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZiAvLyBTVkdTdHJpbmdMaXN0UHJvcGVydHlU
ZWFyT2ZmX2gKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcxMjIzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMTEtMDMgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVydCBTVkdBbmltYXRlZFN0cmluZy9TVkdT
dHJpbmdMaXN0IHRvIHRoZSBuZXcgU1ZHKlByb3BlcnR5VGVhck9mZiBjb25jZXB0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODg5OAorCisgICAgICAg
IEFkZCBhIG5ldyBTVkdTdHJpbmdMaXN0IHRlc3QgZW5zdXJpbmcgdGhhdCB0aGUgaXRlbXMgcmV0
dXJuZWQgYnkgZ2V0SXRlbSBldGMuIGFyZSBub3QgbGl2ZSAoaXQncyBhIHBsYWluIERPTVN0cmlu
ZykuCisgICAgICAgIEFkZCBhIG5ldyB0ZXN0IGZyb20gU1ZHIDEuMSAybmQgZWRpdGlvbiByZWdh
cmRpbmcgU1ZHU3RyaW5nTGlzdC4gVGhlIGxpc3Qgb3BlcmF0aW9ucyBhbGwgcGFzcywgYnV0IGJl
Y2F1c2Ugb2YgYSBidWcKKyAgICAgICAgaW4gU1ZHVGVzdHMgcmVxdWlyZWRGZWF0dXJlcyBoYW5k
bGluZyAoc2VlIGJ1ZyA0MDg4NykgdGhlcmUncyBzdGlsbCBvbmUgcmVkIHJlY3RhbmdsZSBpbiB0
aGUgbWlkZGxlLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS90
eXBlcy1kb20tMDYtZi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS90eXBlcy1kb20tMDYtZi1leHBlY3RlZC5wbmc6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEtU0UvdHlwZXMtZG9t
LTA2LWYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvVzNDLVNWRy0xLjEtU0Uv
dHlwZXMtZG9tLTA2LWYuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR1N0cmluZ0xp
c3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR1N0cmluZ0xpc3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHU3RyaW5nTGlz
dC5qczogQWRkZWQuCisKIDIwMTAtMTEtMDMgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDogdXBkYXRlIENocm9taXVtIGV4
cGVjdGF0aW9ucyBhZnRlciBXZWJLaXQgcjcxMjE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL3R5cGVzLWRvbS0wNi1mLWV4cGVjdGVkLmNoZWNrc3Vt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEt
U0UvdHlwZXMtZG9tLTA2LWYtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL3R5cGVzLWRvbS0wNi1mLWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis3NTA2N2JkZTMwMjc5
NmZjMjI0ZGUwMTU3NzdkNzczZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEtU0UvdHlwZXMtZG9tLTA2LWYt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
VzNDLVNWRy0xLjEtU0UvdHlwZXMtZG9tLTA2LWYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS90eXBlcy1kb20t
MDYtZi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgNDgweDM2MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAs
MCkgc2l6ZSA0ODB4MzYwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwCisgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTYwLDUzKSBzaXplIDE2MHgy
MSBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE2MHgyMQorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3Ip
IHRleHQgcnVuIDEgYXQgKDE2MC4wMCw3MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTcg
d2lkdGggMTYwLjAwOiAiU1ZHU3RyaW5nTGlzdCBET00iCisgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg4MCwxMDApIHNpemUgMzIweDEwMAorICAgICAgICBSZW5kZXJTVkdQYXRoIHty
ZWN0fSBhdCAoODAsMTAwKSBzaXplIDEwMHgxMDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oODAuMDAsMTAwLjAwKX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMEZGMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEwMC4wMF0gW2hlaWdodD0xMDAu
MDBdCisgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgxOTAsMTAwKSBzaXplIDEwMHgx
MDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTkwLjAwLDEwMC4w
MCl9XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDBGRjAwXX1dIFt4PTAuMDBdIFt5PTAu
MDBdIFt3aWR0aD0xMDAuMDBdIFtoZWlnaHQ9MTAwLjAwXQorICAgICAgICBSZW5kZXJTVkdQYXRo
IHtyZWN0fSBhdCAoMzAwLDEwMCkgc2l6ZSAxMDB4MTAwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDMwMC4wMCwxMDAuMDApfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9MTAwLjAwXSBbaGVpZ2h0
PTEwMC4wMF0KKyAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgxOTAsMTAwKSBzaXplIDEw
MHgxMDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTkwLjAwLDEw
MC4wMCl9XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFt4PTAuMDBdIFt5
PTAuMDBdIFt3aWR0aD0xMDAuMDBdIFtoZWlnaHQ9MTAwLjAwXQorICAgICAgUmVuZGVyU1ZHUGF0
aCB7cmVjdH0gYXQgKDMwMCwxMDApIHNpemUgMTAweDEwMCBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMTAwLjAwKX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMEZGMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTEwMC4wMF0gW2hlaWdo
dD0xMDAuMDBdCisgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDQ4MHgz
NjAgW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTQ4MC4wMF0gW2hlaWdodD0zNjAuMDBdCisgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMzEwKSBzaXplIDIzMXgzNworICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMxMCkgc2l6ZSAyMzF4MzcgY29udGFpbnMgMSBjaHVu
ayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAy
MzF4MzcKKyAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGggMjMxLjAwOiAiJFJldmlzaW9uOiAxLjUgJCIK
KyAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAgW3N0cm9rZT17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4PTEuMDBdIFt5PTEuMDBdIFt3aWR0aD00
NzguMDBdIFtoZWlnaHQ9MzU4LjAwXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkctMS4x
LVNFL3R5cGVzLWRvbS0wNi1mLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvVzND
LVNWRy0xLjEtU0UvdHlwZXMtZG9tLTA2LWYuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL1czQy1TVkctMS4xLVNFL3R5cGVzLWRvbS0wNi1mLnN2ZwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMzMgQEAKKzxzdmcgaWQ9InN2Zy1yb290IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIx
MDAlIgorICB2aWV3Qm94PSIwIDAgNDgwIDM2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIgorICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25s
b2FkPSJydW50ZXN0KCkiPgorICA8IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorICA8IS0tPSAgQ29weXJp
Z2h0IDIwMDggV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgKE1hc3NhY2h1c2V0dHMgICAgICAg
ICAgPS0tPgorICA8IS0tPSAgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEV1cm9wZWFuIFJlc2Vh
cmNoIENvbnNvcnRpdW0gZm9yICAgICAgICAgPS0tPgorICA8IS0tPSAgSW5mb3JtYXRpY3MgYW5k
IE1hdGhlbWF0aWNzIChFUkNJTSksIEtlaW8gVW5pdmVyc2l0eSkuICAgICAgICAgICAgPS0tPgor
ICA8IS0tPSAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPS0tPgorICA8IS0tPSAgU2VlIGh0dHA6Ly93d3cudzMub3JnL0Nv
bnNvcnRpdW0vTGVnYWwvLiAgICAgICAgICAgICAgICAgICAgICAgICAgPS0tPgorICA8IS0tPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PS0tPgorICA8ZDpTVkdUZXN0Q2FzZSB4bWxuczpkPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwLzAyL3N2Zy90ZXN0c3VpdGUvZGVzY3JpcHRpb24vIgorICAgIHRlbXBsYXRlLXZlcnNp
b249IjEuNCIgcmV2aWV3ZXI9IkNNIiBhdXRob3I9IkVEIiBzdGF0dXM9ImFjY2VwdGVkIgorICAg
IHZlcnNpb249IiRSZXZpc2lvbjogMS41ICQiIHRlc3RuYW1lPSIkUkNTZmlsZTogdHlwZXMtZG9t
LTA2LWYuc3ZnLHYgJCI+CisgICAgPGQ6dGVzdERlc2NyaXB0aW9uIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBl
cy5odG1sI0ludGVyZmFjZVNWR1N0cmluZ0xpc3QiPgorICAgICAgPHA+CisgICAgICAgIFRoaXMg
dGVzdHMgcGFydHMgb2YgdGhlIFNWR1N0cmluZ0xpc3QgaW50ZXJmYWNlLiBQYXJ0aWN1bGFybHkg
aXQgdGVzdHMgdGhhdAorICAgICAgICBzdHJpbmdzIHRoYXQgYXJlIHRha2VuIGZyb20gb25lIFNW
R1N0cmluZ0xpc3QgYW5kIHRoZW4gaW5zZXJ0ZWQgaW50byBhbm90aGVyCisgICAgICAgIFNWR1N0
cmluZ0xpc3QgZHVwbGljYXRlcyB0aGUgdmFsdWUgaW5zdGVhZCBvZiByZW1vdmluZyB0aGUgdmFs
dWUgZnJvbSB0aGUKKyAgICAgICAgZmlyc3QgbGlzdCB3aGVuIGl0J3MgaW5zZXJ0ZWQgaW50byB0
aGUgc2Vjb25kIGxpc3QuCisgICAgICA8L3A+CisgICAgPC9kOnRlc3REZXNjcmlwdGlvbj4KKyAg
ICA8ZDpvcGVyYXRvclNjcmlwdCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+
CisgICAgICA8cD4KKyAgICAgICAgUnVuIHRoZSB0ZXN0LiBObyBpbnRlcmFjdGlvbiByZXF1aXJl
ZC4KKyAgICAgIDwvcD4KKyAgICA8L2Q6b3BlcmF0b3JTY3JpcHQ+CisgICAgPGQ6cGFzc0NyaXRl
cmlhIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyAgICAgIDxwPgorICAg
ICAgICAKKyAgICAgIDwvcD4KKyAgICAgIDxwPgorICAgICAgICBUaGUgdGVzdCBoYXMgcGFzc2Vk
IGlmIHRoZXJlIGFyZSB0aHJlZSBncmVlbiByZWN0YW5nbGVzIHZpc2libGUgYW5kIG5vIHJlZC4g
UmVkIGlzIGFuIGluZGljYXRpb24gdGhhdCB0aGUgdGVzdCBmYWlsZWQuCisgICAgICA8L3A+Cisg
ICAgPC9kOnBhc3NDcml0ZXJpYT4KKyAgPC9kOlNWR1Rlc3RDYXNlPgorICA8dGl0bGUgaWQ9InRl
c3QtdGl0bGUiPiRSQ1NmaWxlOiB0eXBlcy1kb20tMDYtZi5zdmcsdiAkPC90aXRsZT4KKyAgPGRl
ZnM+CisgICAgPGZvbnQtZmFjZQorICAgICAgZm9udC1mYW1pbHk9IlNWR0ZyZWVTYW5zQVNDSUki
CisgICAgICB1bmljb2RlLXJhbmdlPSJVKzAtN0YiPgorICAgICAgPGZvbnQtZmFjZS1zcmM+Cisg
ICAgICAgIDxmb250LWZhY2UtdXJpIHhsaW5rOmhyZWY9Ii4uL3Jlc291cmNlcy9TVkdGcmVlU2Fu
cy5zdmcjYXNjaWkiLz4KKyAgICAgIDwvZm9udC1mYWNlLXNyYz4KKyAgICA8L2ZvbnQtZmFjZT4K
KyAgPC9kZWZzPgorICA8ZyBpZD0idGVzdC1ib2R5LWNvbnRlbnQiIGZvbnQtZmFtaWx5PSJTVkdG
cmVlU2Fuc0FTQ0lJLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTgiPgorCisJCTxkZWZzPgorCQkJ
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9lY21hc2NyaXB0Ij4KKwkJCQlmdW5jdGlvbiBydW50
ZXN0KCkKKwkJCQl7CisJCQkJCXRyeSB7CisJCQkJCQl2YXIgcjEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicjEiKTsKKwkJCQkJCXZhciByMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
MiIpOworCQkJCQkJdmFyIHIzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIzIik7CisJCQkJ
CQl2YXIgaTAgPSByMS5yZXF1aXJlZEZlYXR1cmVzLmdldEl0ZW0oMCk7CisJCQkJCQl2YXIgaTEg
PSByMS5yZXF1aXJlZEZlYXR1cmVzLmdldEl0ZW0oMSk7CisJCQkJCQkKKwkJCQkJCWlmKGkwICE9
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI1NoYXBlIikKKwkJCQkJCXsKKwkJ
CQkJCQlyMS5yZW1vdmVBdHRyaWJ1dGUoInJlcXVpcmVkRmVhdHVyZXMiKTsKKwkJCQkJCQlyZXR1
cm47CisJCQkJCQl9CisJCQkJCQlpZihpMSAhPSAidGhpcy5pcy5hLmJvZ3VzLmZlYXR1cmUuc3Ry
aW5nIikKKwkJCQkJCXsKKwkJCQkJCQlyMS5yZW1vdmVBdHRyaWJ1dGUoInJlcXVpcmVkRmVhdHVy
ZXMiKTsKKwkJCQkJCQlyZXR1cm47CisJCQkJCQl9CisJCQkJCQlpZihyMS5yZXF1aXJlZEZlYXR1
cmVzLm51bWJlck9mSXRlbXMgIT0gMikKKwkJCQkJCXsKKwkJCQkJCQlyMS5yZW1vdmVBdHRyaWJ1
dGUoInJlcXVpcmVkRmVhdHVyZXMiKTsKKwkJCQkJCQlyZXR1cm47CisJCQkJCQl9CisJCQkJCQly
Mi5yZXF1aXJlZEZlYXR1cmVzLmFwcGVuZEl0ZW0oaTEpOworCQkJCQkJaWYocjEucmVxdWlyZWRG
ZWF0dXJlcy5udW1iZXJPZkl0ZW1zICE9IDIpCisJCQkJCQl7CisJCQkJCQkJcjEucmVtb3ZlQXR0
cmlidXRlKCJyZXF1aXJlZEZlYXR1cmVzIik7CisJCQkJCQkJcmV0dXJuOworCQkJCQkJfQorCQkJ
CQkJaWYocjIucmVxdWlyZWRGZWF0dXJlcy5udW1iZXJPZkl0ZW1zICE9IDEpCisJCQkJCQl7CisJ
CQkJCQkJcjEucmVtb3ZlQXR0cmlidXRlKCJyZXF1aXJlZEZlYXR1cmVzIik7CisJCQkJCQkJcmV0
dXJuOworCQkJCQkJfQorCQkJCQkJcjMucmVxdWlyZWRGZWF0dXJlcy5pbnNlcnRJdGVtQmVmb3Jl
KGkwLDApOworCQkJCQkJaWYocjMucmVxdWlyZWRGZWF0dXJlcy5udW1iZXJPZkl0ZW1zICE9IDIp
CisJCQkJCQl7CisJCQkJCQkJcjMuc2V0QXR0cmlidXRlKCJmaWxsIiwgInJlZCIpOworCQkJCQkJ
CXJldHVybjsKKwkJCQkJCX0KKwkJCQkJCWlmKHIxLnJlcXVpcmVkRmVhdHVyZXMubnVtYmVyT2ZJ
dGVtcyAhPSAyKQorCQkJCQkJeworCQkJCQkJCXIxLnJlbW92ZUF0dHJpYnV0ZSgicmVxdWlyZWRG
ZWF0dXJlcyIpOworCQkJCQkJCXJldHVybjsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQljYXRjaChl
KQorCQkJCQl7CisJCQkJCQl2YXIgZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmYWlsIik7
CisJCQkJCQlmLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJyZWQiKTsKKwkJCQkJfQkJCQkKKwkJCQl9
CisJCQk8L3NjcmlwdD4KKwkJPC9kZWZzPgorCQkKKwkJPHRleHQgeD0iNTAlIiB5PSI3MCIgdGV4
dC1hbmNob3I9Im1pZGRsZSI+U1ZHU3RyaW5nTGlzdCBET008L3RleHQ+CisJCQorCQk8IS0tIGJh
Y2tncm91bmQgaW1hZ2VzIC0tPgorCQk8Zz4KKwkJCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0i
MTAwIiBmaWxsPSJsaW1lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MCAxMDApIi8+CisJCQk8cmVj
dCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibGltZSIgdHJhbnNmb3JtPSJ0cmFuc2xh
dGUoMTkwIDEwMCkiLz4KKwkJCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJy
ZWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCAxMDApIi8+CisJCTwvZz4KKwkJCisJCTwhLS0g
dGVzdHMgLS0+CisJCTxyZWN0IGlkPSJyMSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53
My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNTaGFwZSB0aGlzLmlzLmEuYm9ndXMuZmVhdHVyZS5zdHJp
bmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDEwMCAxMDApIi8+CisJCTxyZWN0IGlkPSJyMiIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAi
IGZpbGw9InJlZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkwIDEwMCkiLz4KKwkJPHJlY3QgaWQ9
InIzIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibGltZSIgcmVxdWlyZWRGZWF0dXJl
cz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNTaGFwZSIgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMzAwIDEwMCkiLz4KKwkJCisJCTxyZWN0IGlkPSJmYWlsIiB3aWR0aD0iMTAwJSIg
aGVpZ2h0PSIxMDAlIiBmaWxsPSJub25lIi8+CisgIDwvZz4KKyAgPGcgZm9udC1mYW1pbHk9IlNW
R0ZyZWVTYW5zQVNDSUksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIzMiI+CisgICAgPHRleHQgaWQ9
InJldmlzaW9uIiB4PSIxMCIgeT0iMzQwIiBzdHJva2U9Im5vbmUiCisgICAgICBmaWxsPSJibGFj
ayI+JFJldmlzaW9uOiAxLjUgJDwvdGV4dD4KKyAgPC9nPgorICA8cmVjdCBpZD0idGVzdC1mcmFt
ZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9r
ZT0iIzAwMCIvPgorICA8IS0tIGNvbW1lbnQgb3V0IHRoaXMgd2F0ZXJtYXJrIG9uY2UgdGhlIHRl
c3QgaXMgYXBwcm92ZWQgLS0+PCEtLQorICA8ZyBpZD0iZHJhZnQtd2F0ZXJtYXJrIj4KKyAgICA8
cmVjdCB4PSIxIiB5PSIxIiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjIwIiBmaWxsPSJyZWQiIHN0cm9r
ZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMSIvPgorICAgIDx0ZXh0IGZvbnQtZmFtaWx5PSJTVkdG
cmVlU2Fuc0FTQ0lJLHNhbnMtc2VyaWYiIGZvbnQtd2VpZ2h0PSJib2xkIiBmb250LXNpemU9IjIw
IiB4PSIyNDAiCisgICAgICB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB5PSIxOCIgc3Ryb2tlLXdpZHRo
PSIwLjUiIHN0cm9rZT0iYmxhY2siIGZpbGw9IndoaXRlIj5EUkFGVDwvdGV4dD4KKyAgPC9nPi0t
PgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1N0cmluZ0xpc3QtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHU3RyaW5nTGlzdC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1N0cmlu
Z0xpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoZSBTVkdTdHJpbmdMaXN0IEFQSSAtIHV0aWxpemluZyB0aGUgcmVxdWlyZWRG
ZWF0dXJlcyBwcm9wZXJ0eSBvZiBTVkdSZWN0RWxlbWVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworCitDaGVjayBpbml0aWFsIHJlcXVpcmVkRmVhdHVyZXMgdmFsdWVzCitQQVNT
IHJlY3QucmVxdWlyZWRGZWF0dXJlcy5udW1iZXJPZkl0ZW1zIGlzIDIKK1BBU1MgcmVjdC5yZXF1
aXJlZEZlYXR1cmVzLmdldEl0ZW0oMCkgaXMgImZvbyIKK1BBU1MgcmVjdC5yZXF1aXJlZEZlYXR1
cmVzLmdldEl0ZW0oMSkgaXMgImJhciIKKworQ2hlY2sgdGhhdCBnZXRJdGVtKCkgZG9lcyBOT1Qg
cmV0dXJuIGxpdmUgc3RyaW5ncywgYXMgdGhlIElETCBkZWZpbmVzIHRoZSByZXR1cm4gdHlwZXMg
YXMgcGxhaW4gRE9NU3RyaW5nCitQQVNTIGZpcnN0SXRlbSA9ICd0ZXN0JyBpcyAidGVzdCIKK1BB
U1MgcmVjdC5yZXF1aXJlZEZlYXR1cmVzLm51bWJlck9mSXRlbXMgaXMgMgorUEFTUyByZWN0LnJl
cXVpcmVkRmVhdHVyZXMuZ2V0SXRlbSgwKSBpcyAiZm9vIgorUEFTUyByZWN0LnJlcXVpcmVkRmVh
dHVyZXMuZ2V0SXRlbSgxKSBpcyAiYmFyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHU3RyaW5n
TGlzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHU3RyaW5nTGlz
dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTdHJpbmdMaXN0
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR1N0cmlu
Z0xpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdTdHJpbmdMaXN0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR1N0cmluZ0xpc3QuanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdTdHJpbmdM
aXN0LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGNoZWNrcyB0aGUgU1ZHU3RyaW5nTGlzdCBBUEkgLSB1dGlsaXppbmcgdGhlIHJlcXVpcmVk
RmVhdHVyZXMgcHJvcGVydHkgb2YgU1ZHUmVjdEVsZW1lbnQiKTsKKwordmFyIHN2Z0VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwg
InN2ZyIpOwordmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJyZXF1aXJlZEZl
YXR1cmVzIiwgImZvbyBiYXIiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwg
cmVxdWlyZWRGZWF0dXJlcyB2YWx1ZXMiKTsKK3Nob3VsZEJlKCJyZWN0LnJlcXVpcmVkRmVhdHVy
ZXMubnVtYmVyT2ZJdGVtcyIsICIyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3QucmVx
dWlyZWRGZWF0dXJlcy5nZXRJdGVtKDApIiwgImZvbyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJyZWN0LnJlcXVpcmVkRmVhdHVyZXMuZ2V0SXRlbSgxKSIsICJiYXIiKTsKKworZGVidWcoIiIp
OworZGVidWcoIkNoZWNrIHRoYXQgZ2V0SXRlbSgpIGRvZXMgTk9UIHJldHVybiBsaXZlIHN0cmlu
Z3MsIGFzIHRoZSBJREwgZGVmaW5lcyB0aGUgcmV0dXJuIHR5cGVzIGFzIHBsYWluIERPTVN0cmlu
ZyIpOwordmFyIGZpcnN0SXRlbSA9IHJlY3QucmVxdWlyZWRGZWF0dXJlcy5nZXRJdGVtKDApOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEl0ZW0gPSAndGVzdCciLCAidGVzdCIpOworc2hv
dWxkQmUoInJlY3QucmVxdWlyZWRGZWF0dXJlcy5udW1iZXJPZkl0ZW1zIiwgIjIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygicmVjdC5yZXF1aXJlZEZlYXR1cmVzLmdldEl0ZW0oMCkiLCAiZm9v
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3QucmVxdWlyZWRGZWF0dXJlcy5nZXRJdGVt
KDEpIiwgImJhciIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS90eXBlcy1kb20tMDYtZi1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1T
RS90eXBlcy1kb20tMDYtZi1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhF
VWdBQUFlQUFBQUZvQ0FZQUFBQ1BOeWdnQUFBRE8ybERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YK
bEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJYV2tYRVkrOUFpeURSelp4cE5N
ekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFFRWNhVWlpRUkzVXNiL0p1MU1L
bFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENBCnRuZ0NWYWhCTmJoU2h1ZTBK
eEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2NjU3MitwNzUrbmx2TlM0VEFv
cEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNuMlVHK1FWNmFEZkZnaU5QQ000
Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZcG9iOVJuN0lXZERHbFk4QnJX
dUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZwWGJjCnkyelo3SWRUcXFPczZV
T3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZY29ySUtnMzJNMzR5VGxhaUlP
ZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1OWx1Y09YRktjNEY2TWc1cDEw
ek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNva2czWTlncWNNNytXc1o3dGJC
N0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4bHpUemU1CmdkZFV4dDNURzdD
eTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJOTR4WU15cG04L2x0cVhJTmZU
bmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6cHE3amlXLzgyenRzaHpISVlG
QVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhiOHFMU1RLdXl3cXV2Q1plejc3
ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4MFZEd2o3bEhUCkdMLzhuWEZs
WmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0dVkxK3BMM3MwbVVOY2pFK0h1
aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2a2VxT09IWm1zZm5FMlhBMXIv
N09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZOYjFVNis3VlQzbDNmMGNsWW1U
ckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhKZjJqQ3pXVk1TL2lPCjRQWWZk
MGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdkMEZtQ1RGM2NmeE9qamMzZDNkTmNpaElR
L3V3VFZBc0FSN0VqaTQKNHc0Tmg5c0JnUUFKN3U0UUhBSWNGa0p3RG5kMzdiZCs5Vkw5OVBSTXpj
N3NUdlgycEw5MXo5N08xUFJVVjM5cVovNVQxZFUxQXhLYgpoZzRkYWtnSUlJQUFBZ2dnVUl6QXNH
SER6RUQ5TjN6NGNIUG9vWWNXczFmMmdnQUNDQ0NBUUlVRkZIZVZCdXEvSVVPR0dIckJraUFoCmdB
QUNDQ0FRWCtEbm4zODJZOFRmRFh0QUFBRUVFRUFBZ2J3QUFUZ3Z3bjBFRUVBQUFRUUtFQ0FBRjRE
TUxoQkFBQUVFRU1nTEVJRHoKSXR4SEFBRUVFRUNnQUFFQ2NBSEk3QUlCQkJCQUFJRzhBQUU0TDhK
OUJCQkFBQUVFQ2hBZ0FCZUF6QzRRUUFBQkJCRElDeENBOHlMYwpSd0FCQkJCQW9BQUJBbkFCeU93
Q0FRUVFRQUNCdkFBQk9DL0NmUVFRUUFBQkJBb1FJQUFYZ013dUVFQUFBUVFReUFzUWdQTWkzRWNB
CkFRUVFRS0FBQVFKd0FjanNBZ0VFRUVBQWdid0FBVGd2d24wRUVFQUFBUVFLRUNBQUY0RE1MaEJB
QUFFRUVNZ0xFSUR6SXR4SEFBRUUKRUVDZ0FBRUNjQUhJN0FJQkJCQkFBSUc4QUFFNEw4SjlCQkJB
QUFFRUNoQWdBQmVBekM0UVFBQUJCQkRJQ3hDQTh5TGNSd0FCQkJCQQpvQUFCQW5BQnlPd0NBUVFR
UUFDQnZBQUJPQy9DZlFRUVFBQUJCQW9RSUFBWGdNd3VFRUFBQVFRUXlBc1FnUE1pM0VjQUFRUVFR
S0FBCkFRSndBY2pzQWdFRUVFQUFnYndBQVRndnduMEVFRUFBQVFRS0VDQUFGNERNTGhCQUFBRUVF
TWdMRUlEekl0eEhBQUVFRUVDZ0FBRUMKY0FISTdBSUJCQkJBQUlHOEFBRTRMOEo5QkJCQUFBRUVD
aEFnQUJlQXpDNFFRQUFCQkJESUN4Q0E4eUxjUndBQkJCQkFvQUFCQW5BQgp5T3dDQVFRUVFBQ0J2
QUFCT0MvQ2ZRUVFRQUFCQkFvUUlBQVhnTXd1RUVBQUFRUVF5QXNRZ1BNaTNFY0FBUVFRUUtBQUFR
SndBY2pzCkFnRUVFRUFBZ2J3QUFUZ3Z3bjBFRUVBQUFRUUtFQ0FBRjRETUxoQkFBQUVFRU1nTEVJ
RHpJdHhIQUFFRUVFQ2dBQUVDY0FISTdBSUIKQkJCQUFJRzhBQUU0TDhKOUJCQkFBQUVFQ2hBZ0FC
ZUF6QzRRUUFBQkJCRElDeENBOHlMY1J3QUJCQkJBb0FBQkFuQUJ5T3dDQVFRUQpRQUNCdkFBQk9D
L0NmUVFRUUFBQkJBb1FJQUFYZ013dUVFQUFBUVFReUFzUWdQTWkzRWNBQVFRUVFLQUFBUUp3QWNq
c0FnRUVFRUFBCmdid0FBVGd2d24wRUVFQUFBUVFLRUNBQUY0RE1MaEJBQUFFRUVNZ0xFSUR6SXR4
SEFBRUVFRUNnQUFFQ2NBSEk3QUlCQkJCQUFJRzgKd01COEJ2Y1I2RStCMTE5LzNiejAwa3RtNE1D
QlpvNDU1akF6ekRCRHg2dnp5U2VmbUtlZmZ0cU1QLzc0WnRGRkZ6VmpqVFZXai9zbwpvbDQ5VnFL
Q0czejY2YWZtOGNjZk4yT09PYVpaY01FRnpSUlRURkZCQlE3NWYxV0FIdkQvYXN0MjJYRTk4Y1FU
WnJubGxqT3p6REtMCldXMjExY3pLSzY5c1pweHhSclBLS3F1WVJ4OTlORDJhQ3k2NHdBd1lNTURz
czg4K2FWNyt4bGxubmVXMk9lQ0FBMm9lMGo0V1gzeHgKTS9ua2s1dEJnd2FacFpkZTJrd3l5U1Jt
eFJWWE5EZmNjRVBOdHY1T3EvWFM5aDkvL0xINzhQRHp6ei83cHdkL3p6Ly8vR2FGRlZZSQpQdDdY
QjdiZmZudG5vQThPelZKdjZ0SHFjZTYvLy82dURtb3YvNk5BT3UrODg1b3R0dGpDUFBqZ2c4R3FY
WFBOTldiT09lYzBrMDAyCm1mdDdVSHROT2VXVTdnUFozLzcydDdybmJiTEpKbTRmRTB3d2dmbjY2
Ni9ySGxmR2p6Lys2TXBRWGRaZGQ5MkcyNUNKUUpFQ0JPQWkKdGRsWFF3RUZpVFhXV01OOCtPR0g1
c0lMTHpRS2V2ZmRkNTg1NFlRVFhFOTE5ZFZYTjg4ODg0eDc3b1liYm1qMEpudkZGVmVZSkVrYQps
bmY1NVplNy9HMjIyU1o5WElGN21XV1dNZSs4ODQ0cjk5NTc3elhYWFhlZDJXdXZ2Y3k3Nzc1cjFs
OS9mWFBHR1dlazIrdEdPL1hTCjlzY2RkNXlaYTY2NWpIcllQU1Y5c1BqVnIzN1YwMmJSSCs5TlBk
bzVUaDNBdnZ2dWEwNDg4VVQzYy9qaGg3dDJ1T3V1dTl5SG9KTk8KT3FudUdMWE5SaHR0Wkw3Nzdq
dlhWdHBXN1hYNjZhZWJDU2VjME95MDAwNW0yMjIzZFFFMS8yUUYzOUNIcVR2dnZOTjg5TkZIK2Fk
dwpINEgrRXpqMDBFT1RJVU9HMlBjeUVnTDlJM0RJSVljb2tpYTMzMzU3WFFYdXVPTU85OWdmL3ZD
SDlMR3R0OTdhNWQxLy8vMXBuci94CndRY2ZKTGFYbFN5ODhNSStLN0VCTnBsMDBrbVRoUlphS0xG
dndHbSt2L0hLSzY4a05xaTdiZXdidU05TzJxM1hRUWNkNU9wbFAwaWsKWmZUWGplMjIyODdWNWJY
WFh1dDRGVm85enYzMjI4L1Y0WkZISHFtcmc5cGsyV1dYVFd4dk5MRWZ1TkxIYjczMVZ2Y2NPeXFS
ZlBiWgpaMm0rdjZIMldXZWRkZHcyWjU5OXRzOU9OdDU0NDhTZVVram1ubnZ1eEFidk5EOTdZOGNk
ZDB4bW5YWFd4UGFxWFJuWng3aU5RSkVDClB1N1NBKzYveno3cytSZUJsMTkrMmQyYVpwcHA2a3hX
WFhWVk45eXM0VWlmZk0vMnNzc3U4MW5wNzZ1dnZ0cjg5Tk5QeG0rakI0WU8KSFdwMEx2SFlZNDkx
dzgvcHhyL2NtRzIyMmN6SWtTUE44c3N2YjU1NjZxbjA0WGJxdGZmZWU1dExMcm5FUFhlenpUWnp2
VFhkVWI3MgpyL1Bhdi92ZDc0d05IbTZiUC83eGorYmdndzkydC9YZkxydnNZbzQ2NmlpM25ZWm5a
NTk5ZHRkRFZxOHZueDU3N0RHejZhYWJHdnVCCnd1eTIyMjdHQmpoejJtbW5tZUhEaCtjMzdmRit2
aDdmZlBPTnNSL0l6WHp6emVmT3QrcTBnTXIyS1hTYy92RldmNnV0UjR3WTRVWXgKc3ZWVzczZU1N
Y1l3cDU1NnFwbDQ0b25yaWh0dnZQSE1LYWVjWXNZWlp4eWpiYk5KN1M3N20yNjZ5WHp4eFJmWmg4
d1BQL3hnOUxlaApvZXBXVGhIVVBKazdDRVFTSUFCSGdxWFkxZ1VVU0pUMjJHTVA4L3p6ejljOFVl
ZnJqai8rZUxQbm5udW0rVHBIUE8yMDA1b3JyN3l5CmJoaGF3ODk2QTk5eXl5M1Q3Ujk0NEFFejlk
UlRtelhYWERQTnk5OVF3TDd4eGh1TjdaV2xEN1ZUTDUyZjFQQ29rdXFtYzh0S0R6MzAKa0xFOWV6
ZkVybk9YdGlmdThtKzc3VFp6OTkxM3U5djZ6L2JtelVVWFhlVE9nMnNvZnEyMTFuTEQ1VEx4Z1Yz
YjJSRUJkODc2bm52dQpNYmFYYjE1OTlWVTNsS3NoWHRXLzNaU3ZoejRJS0REcS9MaHU2M3l2N0k4
KyttaFhkT2c0MjkydnR0YzU4SmxtbXNrWjZmNlhYMzdwClRqMHN0ZFJTN3RpVTF5alpYcXg3N3Vq
Um85MXBDNytOenZFcUFILzc3YmZtK3V1djk5bnV0OXgwYWtBZlhCU29TUWlVUXNCM2hZdnMKZnJN
dkJMSUN0cmVTMk1sUmJsalJ2aWdTMnlOTjdIbSs1Tnh6ejAxc0FNaHVtdDYyNXhYZDl2WmNjWnFu
b1Y4N2V6cXg1NHpUUFB0bQptNHc3N3JpSlBmK2I1dmtiTm5nbCtaLzMzMy9mUDV5MFc2OUdRN05M
THJta3E2Y05ESW50VWFkbDJ4NW1ZczhCMTl6WHNkdnpxMm5lClcyKzk1WWJUTlhTcXBHT3hrNmFT
NmFlZlB0RlF1MDhubjN5eTI0Y05YRDRyYVhVSU9sc1BHd0FUKytFbHNUMzF0QnpkMkdDRERSSTcK
Y1NyTmEzU2M2WU9aRzgyR29QMW1NdEJ4YTJqWnpreDN0KzBJZ0g4NCtIdlhYWGQxMi9yaGJRMUJx
eHlsZWVhWkoxbHZ2ZlZxbm1zbgpwU1YyZ3AvTDAxQzFockZKQ1BTWGdJKzc5SUR0cTViVXZ3THFP
V3BHckEyNGJqS1VlbDNubkhPTzJXR0hIZHlzMTUxMzN0bjFqcksxCnRPZUIzZDNzTUxTR0dOVUx5
ZzQvMjBEbGVrU05ocmMxOUp6L1VZL1RwOTdVeXo4MysxdTllQTEvYTFpNVdkSWxWeG9TOXNrR1dq
Y1QKK05sbm4zVlpHbXJXYlUxcVVrL1VwOTEzMzkxbzI3Nm03Ny8vM28wb3FGZHNnMzlhbkNiR2FS
SlVqS1Rqa0kvYVRXMmwxTXFsWjVxSQpwNlNKV3Zta1hyQTlsMnpzT1dUM2tJNUxzNnB0a001dnlu
MEUrbFdBQU55di9PemNDK2ljbmk2ZDBSdWxBckJtUXYvNXozOTJsNkVvCkdDc0laOU5paXkxbUZs
aGdBVGNiMnAvVDAvQ3pydTNWREZxZjlBWS85dGhqdTVuT1BzLy9Wc0QzUDlxSEFrRSt0VnV2L1BO
MVgwUFoKR21ydEtjMDg4OHh1K0R5N25TNlordnp6ejEyV1B5ZHRlM2paVGR3MXNycTBwNjlKbC94
b1ZyaWR1T1V1QjF0cHBaWE1ZWWNkWnJUZgpxYWFhcXEvRk4zeStodHZ0eENrejBVUVRwVWFhcWQ1
VDhwZFhOZnBRbzJGbUJlWnJyNzNXRmFOVEFKb0RvSHdTQW1VU0lBQ1hxVFVxCldCZTlVZDU4ODgz
bXVlZWVTNDllNTNDMVFJWW1KU2xmYjg1WFhYVlZYVzlIdldDOVdldjhxUzR2MGVVcWRyZzBQUmVy
QW5YZHFSYjAKc0RPZDZ5YmZLT0Q3SDEyT1k0ZWowanIwcFY1cEliL2NzRVBnK2F5Rzl6WEJxRm5T
QnhPbFJzRXdXL2RtWmZUMG1DNEwwblhYT3YvNwp4aHR2dUFsWk90ZHNoOEZyZkhvcXA1WEgxVVBW
aExJbGxsakNiYTV6dTJvdjMrTVBsYUVQWEhxZVBteE5OOTEwZFp2cEE0OCtrRng2CjZhWHVNWTJT
Nk1PTkxrTWpJVkFtQVFKd21WcWpnblZSc05VMXVObEpWbGtHQlY5N1BzL05ZczFmdzduVlZsdTVY
cXZlWU5WenpnOC8KKzNLMCtJWjZXcUhyUTdXZHJqdk9wcjdVSzF0T0oyOHJpQ2c5L1BERGRjVnFa
YSsrSmsxTzBnY1BlOTdhemVMV0JLOG5uM3pTVFhqUwpTSUdDWGllVFJpejgvbFN1VmlRYk5HaVFH
LzFvdGtqSExiZmNZalFCeTdkL296cXB0NnVlcjY3eFZrOVl3OCtOUmpnYVBaYzhCSW9TCklBQVhK
YzErR2dyb1RWYzlGdlZpOVlhZlR3cXFvMGFOY3JPWTgrYzVOYXlyTjJ6Tmh0Wk1ZYzArMW9JZSth
VExnRFFNcmN0KzNudnYKdmZ6RHhrNjhjc1BkMlFmNlVxOXNPWjI4cmFVWUZVVFUwODhtelg3T2Z6
akpQdDdxYmMwY1ZtOWRNNFo5V21TUlJkeWxUcnJmaVgzNApjclV2bmN2VzVXVWFoZkRKWDVLa0Qy
UnZ2LzIyejA1L2EralpYaFB1bGlvOThNQUQwL3o4RFowSDFxVkh1a3hMUFcyR24vTkMzQytECkFH
dEJsNkVWS2w0SFhVS2pRS3BMWC9RR3JCNnJoaGMxRktuSlN4cUcxbkIwbzZSaGFLMk1wSjZPbHFm
VUVHWSthWFVxTFV0NXhCRkgKdUgzb1BLZk9JU3VwVjNmTU1jY1lEWC9taDREYnJaYy96NnVsTVBX
R243MTJPVituM3R6WFVMcUMxWG5ubldjR0R4N3NQbXlvL2tjZQplYVFicG05VXBwMXQyZkI2V2gy
L25TbGQ4eFF0eWFuTHAxUzJMdHZTdVZuMWdPV2pmTFdQVXJ2SHFXdXNOVUtocEI2dnJvbldLbVFh
CjNkQnZuWHYyU2RkaXF4MjFDcHA2NG5hMnM5R0hBSjJMMXlRMG5hdlhaSzN6enovZlRhRHp6OHYv
MW9jVkRVT3I5NnY2Wmk4dnkyL0wKZlFUNlRjQlBoKzZ2NmRqc0Z3RUoyQjVSWWdPV3U1VEV2aGpT
MzNaR2JHS3ZBdzRpYWJVa1hXYWs1OWllY25BN1BXQ1hvMHpzYk9pMApiRDNIVHRKSzdLeHBkOG1S
blUyYzJNQlpVMFk3OWJMRG9tNEZMcFZyWjFPN2NuUVprZzFjTldYcVR2YnlIMy9mTGpwU3Q1MWRD
TU5kCmV1UWYrT3FycnhJN1V6cXhpMVM0NDdEclpTZG5ubmxtWXErcHJibjh5bCtHbExYTTN0NTg4
ODFka2ZsNjJIUHRpZjNDZ3hvak83S1EKMkY2MnIwTFM2RGpUQnpNMy9HVkkyZjFxbFRJZGsxWVow
MlZIb1dTWEdxMXJLOXY3VCt6RXU4UmZlcFI5YnZZeUpKK3ZGZjYwYjNsbApFNWNoWlRXNDNSOENQ
dTRPMEExTmFoZzJiSmo5V3lVaDBIOENHbTUrNFlVWHpJc3Z2dWdtL09pY3B5WUE2WnVST3BYMHQ2
NVp2ZHFICmVzYjY2U20xVzY4MzMzelRYU2JVNnVTcm52YmY2SEg3cHVGbVIvc0ZQOVRiVzN2dHRk
MTYxSTIyYnlkUHM2NjE5clltdUduWVgyM2cKTC92SmxsUEVjV29pbUZZbjAvNDFNdUtQTjFzUGJp
UFFiUUtLdDNvdjZ0dzdXN2NKVU4vU0NTalE2dHQ1OUJNcmFYSlZxNEhYMTZIZApldWxibkdJa0xh
K29JVnBOU3ROd3VnOUcrcm8rZlhEUjBIRW5rcGFBMUg1NlNyR09NN3RmRFIvN0llOXNQcmNSK0Y4
UUlBRC9MN1FpCngxQUpBWjB6MWNJaFdpcFNQWGg5UzVRZERuYm5SWFdKalM3QklpR0FRUGNJTUF1
NmU5cUttaUpnTHI3NFloZUE5YVVKNnZGcVJyUysKdkVFclB5bEFreEJBb0hzRTZBRjNUMXRSVXdU
Y3VWQmRocU1mRWdJSWRMY0FQZUR1Ymo5cWp3QUNDQ0RRcFFJRTRDNXRPS3FOQUFJSQpJTkRkQWdU
ZzdtNC9hbzhBQWdnZzBLVUNCT0F1YlRpcWpRQUNDQ0RRM1FJRTRPNXVQMnFQQUFJSUlOQ2xBZ1Rn
TG0wNHFvMEFBZ2dnCjBOMENCT0R1Ymo5cWp3QUNDQ0RRcFFJRTRDNXRPS3FOQUFJSUlORGRBZ1Rn
N200L2FvOEFBZ2dnMEtVQ0JPQXViVGlxalFBQ0NDRFEKM1FJRTRPNXVQMnFQQUFJSUlOQ2xBZ1Rn
TG0wNHFvMEFBZ2dnME4wQ0JPRHViajlxandBQ0NDRFFwUUlFNEM1dE9LcU5BQUlJSU5EZApBZ1Rn
N200L2FvOEFBZ2dnMEtVQ0JPQXViVGlxalFBQ0NDRFEzUUlFNE81dVAycVBBQUlJSU5DbEFnVGdM
bTA0cW8wQUFnZ2cwTjBDCkJPRHViajlxandBQ0NDRFFwUUlFNEM1dE9LcU5BQUlJSU5EZEFnVGc3
bTQvYW84QUFnZ2cwS1VDQk9BdWJUaXFqUUFDQ0NEUTNRSUUKNE81dVAycVBBQUlJSU5DbEFnVGdM
bTA0cW8wQUFnZ2cwTjBDQk9EdWJqOXFqd0FDQ0NEUXBRSUR1N1RlcGFuMkFET2dOSFdoSXNZawo5
bDlMYVFEdDFwSlRVUnNscmJVYnI3ZWlHcVMxL2JUOGVtdXR1TXB0UlErNGNrM09BU09BQUFJSWxF
R0FBRnlHVnFBT0NDQ0FBQUtWCkV5QUFWNjdKT1dBRUVFQUFnVElJRUlETDBBclVBUUVFRUVDZ2Nn
SUU0TW8xT1FlTUFBSUlJRkFHQVFKd0dWcUJPaUNBQUFJSVZFNkEKQUZ5NUp1ZUFFVUFBQVFUS0lF
QUFMa01yVUFjRUVFQUFnY29KRUlBcjErUWNNQUlJSUlCQUdRUUl3R1ZvQmVxQUFBSUlJRkE1QVFK
dwo1WnFjQTBZQUFRUVFLSU1BQWJnTXJVQWRFRUFBQVFRcUowQUFybHlUYzhBSUlJQUFBbVVRSUFD
WG9SV29Bd0lJSUlCQTVRUUl3SlZyCmNnNFlBUVFRUUtBTUFnVGdNclFDZFVBQUFRUVFxSndBQWJo
eVRjNEJJNEFBQWdpVVFZQUFYSVpXb0E0SUlJQUFBcFVUSUFCWHJzazUKWUFRUVFBQ0JNZ2dRZ012
UUN0UUJBUVFRUUtCeUFnVGd5alU1QjR3QUFnZ2dVQVlCQW5BWldvRTZJSUFBQWdoVVRvQUFYTGtt
NTRBUgpRQUFCQk1vZ1FBQXVReXRRQndRUVFBQ0J5Z2tRZ0N2WDVCd3dBZ2dnZ0VBWkJBakFaV2dG
Nm9BQUFnZ2dVRGtCQW5EbG1wd0RSZ0FCCkJCQW9nd0FCdUF5dFFCMFFRQUFCQkNvblFBQ3VYSk56
d0FnZ2dBQUNaUkFnQUplaEZhZ0RBZ2dnZ0VEbEJBakFsV3R5RGhnQkJCQkEKb0F3Q0JPQXl0QUox
UUFBQkJCQ29uQUFCdUhKTnpnRWpnQUFDQ0pSQmdBQmNobGFnRGdnZ2dBQUNsUk1nQUZldXlUbGdC
QkJBQUlFeQpDQkNBeTlBSzFBRUJCQkJBb0hJQ0JPREtOVGtIakFBQ0NDQlFCZ0VDY0JsYWdUb2dn
QUFDQ0ZST2dBQmN1U2JuZ0JGQUFBRUV5aUJBCkFDNURLMUFIQkJCQUFJSEtDUkNBSzlma0hEQUND
Q0NBUUJrRUNNQmxhQVhxZ0FBQ0NDQlFPUUVDY09XYW5BTkdBQUVFRUNpREFBRzQKREsxQUhSQkFB
QUVFS2lkQUFLNWNrM1BBQ0NDQUFBSmxFQ0FBbDZFVnFBTUNDQ0NBUU9VRUNNQ1ZhM0lPR0FFRUVF
Q2dEQUlFNERLMApBblZBQUFFRUVLaWNBQUc0Y2szT0FTT0FBQUlJbEVHQUFGeUdWcUFPQ0NDQUFB
S1ZFeUFBVjY3Sk9XQUVFRUFBZ1RJSUVJREwwQXJVCkFRRUVFRUNnY2dJRTRNbzFPUWVNQUFJSUlG
QUdBUUp3R1ZxQk9pQ0FBQUlJVkU2QUFGeTVKdWVBRVVBQUFRVEtJRUFBTGtNclVBY0UKRUVBQWdj
b0pFSUFyMStRY01BSUlJSUJBR1FRSXdHVm9CZXFBQUFJSUlGQTVBUUp3NVpxY0EwWUFBUVFRS0lN
QUFiZ01yVUFkRUVBQQpBUVFxSjBBQXJseVRjOEFJSUlBQUFtVVFJQUNYb1JXb0F3SUlJSUJBNVFR
SXdKVnJjZzRZQVFRUVFLQU1BZ1RnTXJRQ2RVQUFBUVFRCnFKd0FBYmh5VGM0Qkk0QUFBZ2lVUVlB
QVhJWldvQTRJSUlBQUFwVVRJQUJYcnNrNVlBUVFRQUNCTWdnUWdNdlFDdFFCQVFRUVFLQnkKQWdU
Z3lqVTVCNHdBQWdnZ1VBWUJBbkFaV29FNklJQUFBZ2hVVG9BQVhMa201NEFSUUFBQkJNb2dRQUF1
UXl0UUJ3UVFRQUNCeWdrUQpnQ3ZYNUJ3d0FnZ2dnRUFaQkFqQVpXZ0Y2b0FBQWdnZ1VEa0JBbkRs
bXB3RFJnQUJCQkFvZ3dBQnVBeXRRQjBRUUFBQkJDb25RQUN1ClhKTnp3QWdnZ0FBQ1pSQWdBSmVo
RmFnREFnZ2dnRURsQkFqQWxXdHlEaGdCQkJCQW9Bd0NCT0F5dEFKMVFBQUJCQkNvbkFBQnVISk4K
emdFamdBQUNDSlJCZ0FCY2hsYWdEZ2dnZ0FBQ2xSTWdBRmV1eVRsZ0JCQkFBSUV5Q0JDQXk5QUsx
QUVCQkJCQW9ISUNCT0RLTlRrSApqQUFDQ0NCUUJnRUNjQmxhZ1RvZ2dBQUNDRlJPZ0FCY3VTYm5n
QkZBQUFFRXlpQkFBQzVESzFBSEJCQkFBSUhLQ1JDQUs5ZmtIREFDCkNDQ0FRQmtFQ01CbGFBWHFn
QUFDQ0NCUU9RRUNjT1dhbkFOR0FBRUVFQ2lEQUFHNERLMUFIUkJBQUFFRUtpZEFBSzVjazNQQUND
Q0EKQUFKbEVDQUFsNkVWcUFNQ0NDQ0FRT1VFQ01DVmEzSU9HQUVFRUVDZ0RBSUU0REswQW5WQUFB
RUVFS2ljQUFHNGNrM09BU09BQUFJSQpsRUdBQUZ5R1ZxQU9DQ0NBQUFLVkV5QUFWNjdKT1dBRUVF
QUFnVElJREN4REpicTVEb2xKdXJuNjFhMTdRcnQxWStQemV1dkdWcVBPCklRRjZ3Q0VaOGhGQUFB
RUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJ
SWhBUUkKd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUln
b1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWgo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFR
SXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBCkFBRUVFSWdvUUFD
T2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0Va
OGhGQUFBRUUKRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZS
Q0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnbwpRQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZB
QUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPCmlFdlJDQ0NB
QUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVF
SWdvUUFDT2lFdlIKQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUlo
QVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQQpBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29R
QUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJCmhBUUl3
Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lF
dlJDQ0NBQUFJSWhBUUkKd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjho
RkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWgo4aEZBQUFFRUVJZ29RQUNPaUV2UkND
Q0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBCkFB
RUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJ
SWhBUUl3Q0VaOGhGQUFBRUUKRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUln
b1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnbwpRQUNPaUV2UkNDQ0FBQUlJaEFR
SXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNP
CmlFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0Va
OGhGQUFBRUVFSWdvUUFDT2lFdlIKQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZS
Q0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQQpBQUlJaEFRSXdDRVo4aEZB
QUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FB
QUlJCmhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVF
SWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUkKd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUlo
QVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWgo4aEZBQUFFRUVJZ29R
QUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdD
RVo4aEZBCkFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lF
dlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUUKRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjho
RkFBQUVFRUlnb1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnbwpRQUNPaUV2UkND
Q0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFF
RUVJZ29RQUNPCmlFdlJDQ0NBQUFJSWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlJDQ0NBQUFJ
SWhBUUl3Q0VaOGhGQUFBRUVFSWdvUUFDT2lFdlIKQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUln
b1FBQ09pRXZSQ0NDQUFBSUloQVFJd0NFWjhoRkFBQUVFRUlnb1FBQ09pRXZSQ0NDQQpBQUlJaEFR
SXdDRVo4aEZBQUFFRUVJZ29RQUNPaUV2UkNDQ0FBQUlJaEFRSXdDRVo4aEZBQUFFRUVJZ29RQUNP
aUV2UkNDQ0FBQUlJCmhBUTZGb0JYWEhGRmM4SUpKNFQyUXo0Q0NMUXB3R3VxVFRBMlI2RExCRG9X
Z0o5NTVobno5dHR2ZDluaFUxMEV5aXZBYTZxOGJVUE4KRU9pRXdNQytGUExQZi83VGpCbzF5ano5
OU5QbXl5Ky9ORmRjY1lYNS92dnZ6VkpMTFdWV1cyMDFNOTEwMHdXTC8vZS8vMjJXVzI2NQo0T1Ba
QndZT0hHZ21uM3h5TTlWVVU3bm5yTC8rK21hVlZWYkpibExLMnpQT09LUDU5Tk5QelpSVFRtbEdq
eDdkMFRyR0xMdWpGUzJvCnNEdnZ2TlA4OE1NUFpySEZGalBUVEROTlFYdnQvRzc2OHBycWZHMG9F
UUVFb2dvY2V1aWh5WkFoUTVKMjBqdnZ2Sk9zczg0NmlhMVkKOEdmQ0NTZE1qai8rK09USEgzOXNX
UFNUVHo0WmZHNnpjdjFqYTY2NVptSjczQTNMTGt2bXBKTk82bzdSQnVDT1Z5bG0yUjJ2Yk9RQwov
L09mLzZSL1M1ZGZmbm5IOW5iZ2dRZW01ZnEvdTJhLzdZZktYdSs3RTYrcFh1K2NKeUtBUUtFQ1B1
NjIzUU4rLy8zM3phS0xMbXJlCmUrODkrMTVrWEc5RFBkNmJiNzdaekRycnJPYW5uMzV5dlQzMWlQ
ZmRkMS96N0xQUG1yLys5YTl1MjlCL1k0MDFsdXN4aHg1WHIvcS8KLy8ydnNXOVM2U2EzM1hhYldY
dnR0YzM5OTk5dnhoOS8vRFNmRzlVVHVPQ0NDNkljOUVzdnZSU2wzSHloTVY1VCtYMXdId0VFeWlm
UQpkZ0RlZSsrOTArQ3JBUHVYdi96RmFJaDR2UEhHTXh0dXVLRVpNV0tFQzRycnJydXVHMzQ5Kyt5
enpVWWJiV1IrODV2ZkJJOStra2ttCmNRRTh1TUV2RDN6d3dRZG04T0RCYVVCLzRva25qTXBYbmNx
WTlLRkVIMGprMCtrVXMreE8xelZtZVhmZGRaYzU3cmpqb3V6Q0IrRHAKcDUvZUxMVFFRajN1WTZL
Skp1cHhtMFlieEhoTk5kb1BlUWdnVUM2QnRpS0RIZW96bDE1NnFUc0N6ZEFNdmZHdHNNSUs1dUtM
TDA2RAo3c2lSSTlQYmZUbDhuUU0rODh3enpZY2ZmbWl1dnZwcVY5UkZGMTFVMmdDODdMTEw5dVZ3
bXo0M1p0bE5kOXpQRDM3eXlTZm0rZWVmCmR5TXIraHU0OWRaYkdzeTRZZ0FBRUg5SlJFRlUzYm5m
R05YeUFYanJyYmQySHpSajdLTy9YMU14am9reUVVQ2dOWUcyQXZCamp6MlcKbHJyZGR0dWx0eHZk
V0dPTk5jd1VVMHhoUHZyb0l6ZFJxOUUydmNrYk1HQ0FVZS9hQitDWFgzNjU1V0kwbFAzZGQ5K1oz
dlpVV3Q1UgpMemI4K2VlZnpSdHZ2R0VtbTJ3eU0vSEVFL2VpaE9aUFVma0tLQ3A3Mm1tbmJiNXhD
NCtxdkcrKytjWk1NTUVFTFd6ZHVVMW1uMzEyCk43SVNLbEYvSDUxSUdoYis0b3N2WEZIenpETlBK
NHBzV0VZWlhsTU5LMFltQWdoRUYyZ3JBTC80NG90cGhhYWVldXIwZHFNYlk0NDUKcHJueXlpdmRl
VnU5S2VvTmU0d3hPblBWVTNZNDhLdXZ2bXEwK3pSUDU0alBPKzg4OC9qamp4dGQxcUdac3BwUnJm
UEh1KysrdTJuVQpreHc2ZEtoNTRJRUhYQm1iYkxLSjJXMjMzZEx5R3QxUXI5eE8vbkVQYmJYVlZt
YUhIWFp3dDNmYWFTZWoraW5vblhYV1dYVlB0UlBVCjNIRDZxYWVlNm9LalBpQW96VFRUVEdiQkJS
YzBlK3l4aDZ0bjNSTnRSazlsNnprcS82aWpqakszM0hLTGVlcXBwMXhkbEsrMjAzbDgKSGVmeXl5
K3ZySVpwZ3cwMmNMUGJGMTk4Y1hQTU1jZVlqei8rMkp4NDRvbk81dEZISDNXUHpUdnZ2RzdXdStx
NjlOSkxOeXhIbWZMVQpzTG1TWnNkcit6S243Tis2ampGV3l1Nm5QMTlUc1k2UGNoRkFvSW1BbjQz
VnloUXdlNzQxblJWcTM3eHJuakx1dU9NbSsrKy9mMDFlCnN6dlpXZER0emhLMnZkKzBIblBPT1dm
RDNkaUFueHgrK09HSi9TQ1FibXNaYW03YmM3UEo2YWVmWHZkOEc3RFQ3ZXliYjkzaitRemIKUTBx
M3QrZWwwNGVielZTMndTeXhRVFo5WHI1dXVtOC91Q1IvK3RPZkV2dWhJUzNUMzJoV3RyWjU3YlhY
RW51WlY5UHk3UWVpWksrOQo5a3JzaERsZmJNMXZ2NC9WVjE4OStkZS8vcFhZeTN1QzVka1BHVzZi
bWdJeWQ0NDk5dGowdVRiNFp4NXA3K1lMTDd5UVBQZmNjelUvCm1oSHYvZXlsY08wVkdOZzYremRn
VDNrRXR1cDdkaWRmVTMydkRTVWdnRUFSQWo3dXR0VUR6dlk4N1J1cU82Kzd6RExMMlBlK1lwT3UK
bGZSSjU2SWJKZlZjcjdycUt2ZVFoa2wvKzl2ZnVtdEVkVjN1d3c4L2JEUjU1K3V2djNhOVlQdW1i
dXdsVThZUFgyNjg4Y2F1aDZiZQpxMzJ6TnpwUHQ4QUNDelRhamJFZkpOdzVTVDI0eUNLTHVKNWx3
dzB6bWJhQmpZYncxU05YMHZYUU5zaTUzcmpPY1NyL3ROTk9jME9nCm11UTJ6ampqbUdIRGhtVkth
SDVUczhWMVBheDZyRXBMTExHRTYwa3Z1ZVNTNXMwMzMzU1Q1RzY4OFViejJXZWZtVk5PT2NVTjZm
NzkKNzM4UEZ2cktLNitZWC8vNjEyNDdYV083K2VhYm14bG1tTUVkdDhyUmpQalBQLy9jYmFOVEFo
cGhpSlhtbW11dXVxSmpETm43ODc4NgpqYUlmUHhOZjE3enJOSVpHS1BRMzBkZlRHV1Y1VGRXaGtv
RUFBdkVGZkNSdU5lcmJOK0swdDJGcmw2eTY2cXJKOWRkZm45Z2dFYjBICnJGN3RQLzd4RDljejFM
N3R6T3ZFdmlIV1ZmM2FhNjlONjJqZjRCSTdhYWR1bXdjZmZEQlJyMDNsNk9lT08rNm8yV2FiYmJa
Skg1TlIKS0ttSDZzdXd3N00xbS9rZVpMNkhyK3RGL1hOc3NLOTVqcjlqendlbjlkTTExZmJEZ0gv
SS9RNlZyUWQzM25ubnRIdzdqSnpZZ0ZIegpYTjJ4NXg0VEd6elM3VzYvL2ZhNmJmdytmRjAzMjJ5
ekpOOGJ0QUczcG1kc0EzbGRPY280NDR3ekVydDRpUHRSajdXVHlYN1lTbytqClV6MWcrNEhObFdr
L1ZDVUhISEJBTXZiWVk2Zjc4QjRhb2JDbkFoSTd6NkZQaDlPcDExU2ZLc0dURVVDZ01BRWZkNDIv
MGVxZUZSaG0KbVdXV3VqY2p2U25OTWNjY2lUMVhtT2hOdWFlVUhZSzJQZFRFcmlNZC9ORlFzajBQ
bTJnNDJMLzVLYWc5OU5CRGRidXhQWlhFOXBMYwpkdnBRWUs4ZnJ0dkdaK2lEZ3kvUG5ydjEyZTYz
QXBKL1RFUEZvV1N2ZlhiYjJXdVpFM3VaVk0xbVBvRGxBM0IyZU5QMlFHdWVrNzJ6Cnl5NjdwSFd3
NTdDekR5V2hzclVvaFI5MjEvQjhvK0ZyWDVDZFFaeVdMN044OHZ1UWc0YWhRK25nZ3c5T3k3R1gx
SVEyaTVZZkl3RGIKMFlMMG1QemZRZWkzUFhlYjJCR1ZYaDlmcDE1VHZhNEFUMFFBZ1VJRmZOeHRP
d0NybGpwbmFLOEJUaFIwUW05S2VnTzc3TExMRW5zZApiTU1EeXdiZ1VCbWhmQVhzVUdDMWwwbWxk
ZHAxMTEwYjd0dG5LbGlyZDZuOXFEZHRoMlQ5UTY3ZTZySDVPdWk4WXo3Wm9lejBjWHNOCmRQN2hZ
SkJVYjlDWGE1ZlViTmhEVldIZmZ2dXRDK29LN0twck52bmdtQS91ZSs2NVoxcTJQZ3oxbFB5SEZk
WG4zWGZmcmRuYzcwT1AKNlZoRFNhdFArZVBKZjVBSlBhZVQrVEVDY1BiWTdYWHFpVmJGMGdlMjEx
OS9QYkVUeXBJampqaWlaZ1JCUWRnT3hmZjZzRHJ4bXVyMQp6bmtpQWdnVUt1QURjSyttSmV1Y3Fx
NEIxc0lZTnNpNjg1bisvS2w5STNaSmwxZllJVXQzYmxQbnp6cVpkRzcyOTcvL3ZidHNKMSt1ClA2
K3EvRVl6bkxQYmF3V3VRWU1HdVN4ZFVxT1p3ajVweHJhdS8vUko2MXpuMHlXWFhKSm0rWm5QYVVh
VEczNmYya1RuczFWUHpaTFcKK2Q5czBybGZHMkRkaityYVN0TDViSisyMkdJTGZ6UDRXMnQyKzZU
cmEwTkpNNkZES1R0TFdPZVZ1ejNwT25QTkZWRFNtdHVhU1gvawprVWNhdS95cW02R3VtZU1ISFhT
UW14K2d5NktVZE5tU0hmcDN0M3Z6WDMrL3BucFRaNTZEQUFKOUUraFZBUGE3MUFwV20yNjZxYkZE
CnFtNmlrTjd3ano3NmFKTjlRMWFBNlNrNDJkNkdlelBUaEtkR1Axcnh5cDZqTlljY2NvamJqL1ov
OTkxM0cwMEFzNzFFWHgzM094dUEKRk5UMHB0bnNSL3Z6S2Y5dFR0dHV1NjEveUgzUlJIckgzdEJs
VmZyd29hU0pTYzFXK25JYlpmN1RkYVdISFhaWW1xUGpzNzExRjJnMQplV3EvL2Zaeng2dkpQdTBt
UDNsSXdWc1RwWHBLMld1Q1F3Rlk3ZFBzQTBDengzcmFmeGtmMTZRckJWUmRJcVJKVjVwdzFTaHBo
U3hOClh2T1gxOTF3d3czcHRjT050bThscjFPdnFWYjJ4VFlJSU5EUEFyNHIzTmYrZC9ZeUpBMDda
ODhMMmtOTTdKclFOYnZJRGtIbmgxRnIKTnN6ZHNXdEFKN3A4Um1YcUp6L3B4Z2F3OURHL1RhdS96
ejMzM056ZWtzU3VjNTJXWjROYit2Zzk5OXlUNXR1QW1lWm5iL2hoek5EeAphVUpaZGdnNFgwOU5r
dHBubjMzcXppMXJINDNLMWpDMVAvOXJlMmJacWdSdlp5OFBzcjI4bXUzOFBuVE92MW5TOEx5dnU3
NmtvK2dVCll3aTZuV1BJWG9aMjMzMzN0ZlBVcHR1Mis1cHFXaGdQSW9CQWFRUjgzRzNyTWlUN0p0
dFNVbzlBUFR4OTVhQ2RrZXllODhnamo1ajUKNXB1dnBlYzMyMGdyYk9seUgvVWFsYkk5WHQzWEFp
QSs3YmpqanU0ckRQMzlubjdQUC8vOGRadW9GNnhGSjVRMERHMW5QYnZiMmVIbgo3YmZmM3VXMSs1
K0d1UFdqUzVuVWU5S2xVWFppV2RxcjEwcE1kbkthc2NIZS9kanoxUzN2UW10UXQ1TDhsMnBvV3h0
b0d6NGxmM3FoCjRVWVZ6bFFQMlk4ZWFFUkZTN0YyT3NWOFRYVzZycFNIQUFLdENiUVZnSFd1VWtP
K0drTDFhMEkzMjQyR2ZuMEF6ZzcxTm50T0s0L3AKRGM0SDRHd0EwWE5WTjcrOG40YkgxMXByclZh
S0RHNmpZWFY5NllSVzBQSUJXTUhObnhQV3RiV2hJY3Bnb2JrSHRDcVZmdXlvZ2J2Rwo5TjU3NzNX
cmlKMS8vdm5PVzZ0NDZaeTdWcTVxbGpRVWJHZGxHMTJMKzlaYmI3a3Znc2grSUduMFhGMFg3Sk0v
bitudjg3czFBWjJPCjhFbXJtTFdUeXZLYWFxZk9iSXNBQXAwUmFDc0EyMW15eHE2dzFIRHlVNlBx
Nk1zVGZMSkRyZjVtbjM5bmwrelQ1S2xzbW52dXVkTzcKNnBYMEZJRDFkWWs2MzZla04wTTc3SmMr
WHpkMFBsRExWbDV6elRVdXNPdjRWYTRtb0NuMXB2ZXJTVDFhSmxMbiszVE9ONXQwN2xhOQpmUDFv
eld0OWlGSFNDRUlyeVY1NjVBS3d5dGRYT0RiN2NLREFvWFAwUGhHQS8xOUNJeWY2bTFEUC84SUxM
K3h4Ylc0dDFPSlRvMUVVCi8xaWozMlY1VFRXcUcza0lJQkJYb0sxSldQN1R2VlpZYXFWSDY5ZFQx
aUhrQTAxZkRpczdGSnNQd09wSit0UnNkU2R0bzFuSDZrM2IKUzRHTTFuQzJpeTM0cDliOHprL0c4
cjEvQmNzdHQ5eXladHRXN3RoTGhkdytWMTU1WmRmakRUMUhIeDU4RDdiVjJjVlpaN3ZNWnFobwps
Ni9ncXdDZ0pJZnNCeHVYV2RIL3RFS2FWdmpTYVFFL2doT2kwR2tEZnhwRUU5bzBhN3FkVkpiWFZE
dDFabHNFRU9pTVFGc0JXSXZ6Cit6UjgrSEEzRTlqZnovOVd3RkN2VVVsRG82R2xIUFBQYStWK2R2
ay9mN21JZjU1NmpYNTVUQTNkK21EcEg4LysxcEN2di9SSGdkVFAKWnMxdW85dnFBYXNucktTdldm
UkxYSzYzM25ydTI0dmNBMjM4cDJGckpaM2oxUmNsaE5Lb1VhUGNNTEllMTNLU3JTUTdhU3RkSGxG
RAoyRHEvM0NocDZVaTd3bFA2MEpBaFE5TGJNVzdvRWk5Ny9iUDc4Y1AzTWZiVFNwa2FudmQxMGU5
ODBnY3luL3psZHY1KzlyZSs2VXVuCkozelNjcUh0bmk4dnkydktId08vRVVDZ1FBRS9HNnVWNldG
YXFNRitrMDA2NDlYMkRKUFJvMGU3cDJabmJHcXhndXhLUXZiTnZhNzQKM3M2Q1ZrSFp4VFlhTGV5
dlpSYjlUR25OQ3JhWFJxV0xUR2lHdG1aazIwQ2RIb2RtRE50QVhsZkhiSWI5OXA1MGU5czg3dlpO
TjkyVQozYVR1dHA5Rm5KOEZyUlc4N0J1MUswUGIyR0hPbWdWTHRQQ0dEVkp1MlVidFM4ZWl4Uit5
S1ZTMnR0RWlFYjZPbWtsdEo0eWx4NmRsCktiV294a29yclpSdW95OXRhSlQ4UHJUYVY3UFV5aXpv
N0d6clJtM1dyUHllSG10M0ZyU1dIZlUrK3AxUFdwREZUaGhNdDVsdHR0a1MKKzgxZWlUMWY3amJW
Z2h2WFhYZGRvdG5odmh3NzFKL1lZZjk4VVQzZTcrUnJxc2Vkc1FFQ0NKUkN3TWRkNDIrMFdpdDdi
V1F5ODh3egpwMjg4ZWdPeTUxMWRrTkFsTlZyKzBMOHA2YmVkNWR1dzZMNEVZRjJLNVBkaGU5ZUo3
U25XN2VPa2swNnFXNmxMcXhXTlAvNzQ2WE5WCmhsWTVzck9jNjU2Zno3RG5ZR3VlWjY4QjdmRU4x
d2V3ZkFCVzJmYXJFR3ZLczhQWmlSMGxjRDgrT1B0akhEeDRjTDQ2RFM5RDhodloKWWZsRWEwejc1
K3UzeWxRZzFRZWxiTDVkVkNLeFBVTC8xSnJmdnY1VkM4QkMwSEtxYXJlc2xXNXJGYlo4bmo1UTZF
TkliMU9uWGxPOQozVC9QUXdDQllnVjgzRzFyQ05xKzhSaE44ckhYT2hwOUM1SDlPajlsdVhOZ210
Q2poUXY4UWhENmhob3RLSEhPT2VlNGJUcjVueVlXCithRSt6VTV1OUgyOWRrMWlZNzlDcjJaUkVF
MnMwZms5SlQzZmZpbUFHNkwxUThMTjZtaXZCNjRweTM1WlEzcCt0dG56UW8rZGZQTEoKeG41SVND
ZjRhTkVOVGViUmovMVRjRS9UT1VYNWFiaS9uYVNKWkJybUhUbHlaRHFwVEdYYTBZcjBFaWNkdjc0
UFdRdWFhRUVKVXEyQQpKcVJwcHIzK3RySUxqV2dWTnA5MHlrSkQwUG83MCt6NzNxWXl2S1o2VzNl
ZWh3QUN2UmNZb0VpczRObk8xOTM1M2RuMWE5MHlmYnBPClZlZktOQU5aWDFXbmlVQ2FZSlE5Vit1
ZlUvUnZ6UWJXVEdlZEQ5WXlsZnBnb0lreTlsdWNqTzNaRlYyZHV2MXBOclg5WmlhanIvelQKandL
ai9WSUxvd0NnYzVIWkNXZDFUMjRoUStkNmRSNVlQNisrK3FyUmJIUmRSNzN3d2d1WG9uMWFPSVIr
MzBRcnBPblNOazIya3FkVwpldE5zWndWZHU0WjRSK3ZYRGErcGpoNHdoU0ZRUVFIRlc4WGRQZ1hn
ck50a2swM20xc0lkTVdKRU5wdmJDQ0RRU3dGZVU3MkU0MmtJCmxGekFCK0MyaDZCTGZseFVEd0VF
RUVBQWdhNFE2RmdBdGw4cTNwR2xKcnRDalVvaVVJQUFyNmtDa05rRkF2MG8wTlpLV00zcW1WMGIK
dWRsMlBJWUFBcTBKOEpwcXpZbXRFT2hXZ1k3MWdMc1ZnSG9qZ0FBQ0NDRFFId0lFNFA1UVo1OElJ
SUFBQXBVWElBQlgvazhBQUFRUQpRQUNCL2hBZ0FQZUhPdnRFQUFFRUVLaThBQUc0OG44Q0FDQ0FB
QUlJOUljQUFiZy8xTmtuQWdnZ2dFRGxCUWpBbGY4VEFBQUJCQkJBCm9EOEVDTUQ5b2M0K0VVQUFB
UVFxTDBBQXJ2eWZBQUFJSUlBQUF2MGhRQUR1RDNYMmlRQUNDQ0JRZVFFQ2NPWC9CQUJBQUFFRUVP
Z1AKQVFKd2Y2aXpUd1FRUUFDQnlnc1FnQ3YvSndBQUFnZ2dnRUIvQ0xodlF4bytmSGgvN0p0OUlv
QUFBZ2dnVURrQnhkd2hRNGFZQVlsTgp3NFlOcXh3QUI0d0FBZ2dnZ0VCL0NRd2RPdFQ4SDZXV0E5
cDBsL3VwQUFBQUFFbEZUa1N1UW1DQwoK
</data>
<flag name="review"
          id="63124"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>