<?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>10684</bug_id>
          
          <creation_ts>2006-09-01 19:08:15 -0700</creation_ts>
          <short_desc>Auto-generate the Objective-C DOM CSS bindings</short_desc>
          <delta_ts>2006-09-02 19:04:43 -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>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54597</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-01 19:08:15 -0700</bug_when>
    <thetext>patch in a minute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54599</commentid>
    <comment_count>1</comment_count>
      <attachid>10357</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-01 19:21:19 -0700</bug_when>
    <thetext>Created attachment 10357
patch

Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule, DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule, DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet, DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.

Splits DOMRGBColor into its own files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54600</commentid>
    <comment_count>2</comment_count>
      <attachid>10357</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-09-01 19:38:14 -0700</bug_when>
    <thetext>Comment on attachment 10357
patch

Looking good.

Some comments before I r+ this:

Double ChangeLog entry.

+//- (NSString *)description
+//{
+//    return [NSString stringWithFormat:@&quot;DOMCSSStyleDeclaration: %@&quot;, [self cssText]];
+//}  

That should be removed. We can add back in descriptions per-class if we feel they are needed.

@interface DOMDocument (DOMViewCSS)
 - (DOMCSSStyleDeclaration *)getComputedStyle:(DOMElement *)elt :(NSString *)pseudoElt;
 @end

Can that be moved to another headers? DOMExtensions.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54663</commentid>
    <comment_count>3</comment_count>
      <attachid>10373</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-02 18:25:56 -0700</bug_when>
    <thetext>Created attachment 10373
patch 2

Updated patch addressing most of Tim&apos;s comments.  For now I have left the DOMDocument getComputedStyle method interface in DOMCSS.h as I ultimately want that to be auto-generated in DOMDocument itself, and moving it into a DOMExtension file would just mean that we have to include DOMExtension,h in DOMCSS.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54667</commentid>
    <comment_count>4</comment_count>
      <attachid>10373</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-09-02 18:54:09 -0700</bug_when>
    <thetext>Comment on attachment 10373
patch 2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54668</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-02 19:04:43 -0700</bug_when>
    <thetext>Landed in r16195.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10357</attachid>
            <date>2006-09-01 19:21:19 -0700</date>
            <delta_ts>2006-09-02 18:25:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoCSS.diff</filename>
            <type>text/plain</type>
            <size>101206</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjE5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODEgQEAKKzIwMDYtMDktMDEgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNjg0CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIENTUyBi
aW5kaW5ncworCisgICAgICAgICAgQXV0by1nZW5lcmF0ZXMgRE9NQ1NTQ2hhcnNldFJ1bGUsIERP
TUNTU0ZvbnRGYWNlUnVsZSwgRE9NQ1NTSW1wb3J0UnVsZSwKKyAgICAgICAgICBET01DU1NNZWRp
YVJ1bGUsIERPTUNTU1BhZ2VSdWxlLCBET01DU1NQcmltaXRpdmVWYWx1ZSwgRE9NQ1NTUnVsZSwK
KyAgICAgICAgICBET01DU1NSdWxlTGlzdCwgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiwgRE9NQ1NT
U3R5bGVSdWxlLCBET01DU1NTdHlsZVNoZWV0LAorICAgICAgICAgIERPTUNTU1Vua25vd25SdWxl
LCBET01DU1NWYWx1ZSwgRE9NQ1NTVmFsdWVMaXN0LCBET01Db3VudGVyLCBhbmQgRE9NUmVjdC4K
KworICAgICAgICAgIFNwbGl0cyBET01SR0JDb2xvciBpbnRvIGl0cyBvd24gZmlsZXMuCisKKyAg
ICAgICAgKiBDaGFuZ2VMb2c6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3Mvb2JqYy9ET01DU1MuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTUy5tbToKKyAg
ICAgICAgKCtbRE9NQ1NTU3R5bGVTaGVldCBfQ1NTU3R5bGVTaGVldFdpdGg6XSk6CisgICAgICAg
ICgrW0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6XSk6CisgICAgICAgICogYmluZGlu
Z3Mvb2JqYy9ET01DU1NJbnRlcm5hbC5oOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NRXh0
ZW5zaW9ucy5oOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvRE9NUkdCQ29sb3IubW06IEFkZGVkLgorICAgICAgICAoZ2V0V3JhcHBlckZvclJH
Qik6CisgICAgICAgIChzZXRXcmFwcGVyRm9yUkdCKToKKyAgICAgICAgKHJlbW92ZVdyYXBwZXJG
b3JSR0IpOgorICAgICAgICAoLVtET01SR0JDb2xvciBkZWFsbG9jXSk6CisgICAgICAgICgtW0RP
TVJHQkNvbG9yIGZpbmFsaXplXSk6CisgICAgICAgICgtW0RPTVJHQkNvbG9yIHJlZF0pOgorICAg
ICAgICAoLVtET01SR0JDb2xvciBncmVlbl0pOgorICAgICAgICAoLVtET01SR0JDb2xvciBibHVl
XSk6CisgICAgICAgICgtW0RPTVJHQkNvbG9yIGFscGhhXSk6CisgICAgICAgICgtW0RPTVJHQkNv
bG9yIGNvbG9yXSk6CisgICAgICAgICgtW0RPTVJHQkNvbG9yIF9pbml0V2l0aFJHQjpXZWJDb3Jl
OjpdKToKKyAgICAgICAgKCtbRE9NUkdCQ29sb3IgX1JHQkNvbG9yV2l0aFJHQjpXZWJDb3JlOjpd
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAg
ICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NG
b250RmFjZVJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5pZGw6
IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MvQ1NTUGFnZVJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6
CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NVbmtub3duUnVsZS5pZGw6IEFkZGVkLgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5pZGw6CisgICAgICAgICogY3NzL01lZGlhTGlzdC5pZGw6CisgICAg
ICAgICogY3NzL1JHQkNvbG9yLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL1JlY3QuaWRsOgor
ICAgICAgICAqIGNzcy9SZWN0SW1wbC5oOgorCisyMDA2LTA5LTAxICBTYW0gV2VpbmlnICA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VECisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTUy5oOgorICAg
ICAgICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoK1tET01DU1NTdHlsZVNo
ZWV0IF9DU1NTdHlsZVNoZWV0V2l0aDpdKToKKyAgICAgICAgKCtbRE9NQ1NTUHJpbWl0aXZlVmFs
dWUgX3ZhbHVlV2l0aDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFs
Lmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmg6CisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgICogY3NzL0NTU1J1bGUuaWRsOgorICAgICAg
ICAqIGNzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUu
aWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaWRsOgorICAgICAgICAqIGNzcy9SZWN0Lmlk
bDoKKyAgICAgICAgKiBjc3MvUmVjdEltcGwuaDoKKwogMjAwNi0wOS0wMSAgRGF2aWQgSHlhdHQg
IDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGZvciAxMDY4MiwgcmVmaW5lIHRoZSBG
T1VDIHBhaW50IHN1cHByZXNzaW9uIGxvZ2ljIHNvIHRoYXQgaXQKSW5kZXg6IFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UJKHJldmlzaW9uIDE2MTcyKQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Niw2ICs0NiwyMiBAQCBhbGwgOiBcCiAgICAgQ2hhcnNldERhdGEuY3Bw
IFwKICAgICBDb2xvckRhdGEuYyBcCiAgICAgRG9jVHlwZVN0cmluZ3MuY3BwIFwKKyAgICBET01D
U1NDaGFyc2V0UnVsZS5oIFwKKyAgICBET01DU1NGb250RmFjZVJ1bGUuaCBcCisgICAgRE9NQ1NT
SW1wb3J0UnVsZS5oIFwKKyAgICBET01DU1NNZWRpYVJ1bGUuaCBcCisgICAgRE9NQ1NTUGFnZVJ1
bGUuaCBcCisgICAgRE9NQ1NTUnVsZS5oIFwKKyAgICBET01DU1NSdWxlTGlzdC5oIFwKKyAgICBE
T01DU1NTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIERPTUNTU1N0eWxlUnVsZS5oIFwKKyAgICBE
T01DU1NVbmtub3duUnVsZS5oIFwKKyAgICBET01DU1NWYWx1ZS5oIFwKKyAgICBET01DU1NQcmlt
aXRpdmVWYWx1ZS5oIFwKKyAgICBET01DU1NWYWx1ZUxpc3QuaCBcCisgICAgRE9NQ1NTU3R5bGVT
aGVldC5oIFwKKyAgICBET01Db3VudGVyLmggXAorICAgIERPTVJlY3QuaCBcCiAgICAgRE9NQXR0
ci5oIFwKICAgICBET01DREFUQVNlY3Rpb24uaCBcCiAgICAgRE9NQ2hhcmFjdGVyRGF0YS5oIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxNjE3MikKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0zNzcsNiArMzc3LDI2IEBACiAJCTg1MDMxQjRGMEE0NEVGQzcwMEY5
OTJFMCAvKiBVSUV2ZW50V2l0aEtleVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMUIzOTBBNDRFRkM3MDBGOTkyRTAgLyogVUlFdmVudFdp
dGhLZXlTdGF0ZS5oICovOyB9OwogCQk4NTAzMUI1MDBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NTAzMUIzQTBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxFdmVudC5jcHAgKi87IH07CiAJCTg1MDMx
QjUxMEE0NEVGQzcwMEY5OTJFMCAvKiBXaGVlbEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMUIzQjBBNDRFRkM3MDBGOTkyRTAgLyogV2hl
ZWxFdmVudC5oICovOyB9OworCQk4NTAzMkRENzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hh
cnNldFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1MDMyREMzMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oICovOyB9Owor
CQk4NTAzMkREODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNldFJ1bGUubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDNDBBQThDOUJF
MDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNldFJ1bGUubW0gKi87IH07CisJCTg1MDMyREQ5MEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREM1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01D
U1NGb250RmFjZVJ1bGUuaCAqLzsgfTsKKwkJODUwMzJEREEwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU0ZvbnRGYWNlUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1MDMyREM2MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFjZVJ1bGUu
bW0gKi87IH07CisJCTg1MDMyRERCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRD
NzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5oICovOyB9OworCQk4NTAzMkRE
QzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREM4MEFBOEM5QkUwMDdEM0I3RCAv
KiBET01DU1NJbXBvcnRSdWxlLm1tICovOyB9OworCQk4NTAzMkRERDBBQThDOUJFMDA3RDNCN0Qg
LyogRE9NQ1NTTWVkaWFSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTAzMkRDOTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmgg
Ki87IH07CisJCTg1MDMyRERFMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDQTBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLm1tICovOyB9OworCQk4NTAzMkRERjBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyRENCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01D
U1NQYWdlUnVsZS5oICovOyB9OworCQk4NTAzMkRFMDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
UGFnZVJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NTAzMkRDQzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1bGUubW0gKi87IH07CisJ
CTg1MDMyREUxMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NSdWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDRDBBQThDOUJFMDA3RDNCN0Qg
LyogRE9NQ1NTUnVsZS5oICovOyB9OworCQk4NTAzMkRFMjBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1MDMyRENFMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NSdWxlLm1tICovOyB9OworCQk4NTAz
MkRFMzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyRENGMEFBOEM5QkUwMDdEM0I3RCAv
KiBET01DU1NSdWxlTGlzdC5oICovOyB9OworCQk4NTAzMkRFNDBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTUnVsZUxpc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTAzMkREMDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QubW0gKi87
IH07CisJCTg1MDMyREU1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZURlY2xhcmF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRE
MTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oICovOyB9OworCQk4
NTAzMkRFNjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREQyMEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZURlY2xhcmF0aW9uLm1tICovOyB9OworCQk4NTAzMkRF
NzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkREMzBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTU3R5bGVSdWxlLmggKi87IH07CisJCTg1MDMyREU4MEFBOEM5QkUwMDdEM0I3RCAvKiBE
T01DU1NTdHlsZVJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTAzMkRENDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLm1tICov
OyB9OworCQk4NTAzMkRFOTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREQ1MEFB
OEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICovOyB9OworCQk4NTAzMkRFQTBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENjBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTVW5rbm93blJ1bGUubW0gKi87IH07CiAJCTg1MDg5Q0M4MEE5OEMyMjYwMEEyNzVBQSAv
KiBDb21tZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwODlDQzcwQTk4QzIyNjAwQTI3NUFBIC8qIENvbW1lbnQuaWRsICovOyB9OwogCQk4
NTA4OUNDQTBBOThDMkFCMDBBMjc1QUEgLyogQ0RBVEFTZWN0aW9uLmlkbCBpbiBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwODlDQzkwQTk4QzJBQjAwQTI3
NUFBIC8qIENEQVRBU2VjdGlvbi5pZGwgKi87IH07CiAJCTg1MDg5Q0NDMEE5OEMzM0EwMEEyNzVB
QSAvKiBFbnRpdHlSZWZlcmVuY2UuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NTA4OUNDQjBBOThDMzNBMDBBMjc1QUEgLyogRW50aXR5UmVmZXJl
bmNlLmlkbCAqLzsgfTsKQEAgLTQzNiw2ICs0NTYsMjYgQEAKIAkJODU3NURGODUwQUE2MTMwRTAw
RjVEQkI1IC8qIERPTUhUTUxIdG1sRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRN
TEh0bWxFbGVtZW50LmggKi87IH07CiAJCTg1NzVERjg2MEFBNjEzMEUwMEY1REJCNSAvKiBET01I
VE1MTGlua0VsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODU5OTJFQjYwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxMaW5rRWxlbWVudC5o
ICovOyB9OwogCQk4NTc1REY4NzBBQTYxMzBFMDBGNURCQjUgLyogRE9NSFRNTFRpdGxlRWxlbWVu
dC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk5
MkVCODBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTFRpdGxlRWxlbWVudC5oICovOyB9OworCQk4
NThDMzgxQzBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODFBMEFBOEUyOTYwMEIxODdBNCAv
KiBET01DU1NWYWx1ZS5oICovOyB9OworCQk4NThDMzgxRDBBQThFMjk2MDBCMTg3QTQgLyogRE9N
Q1NTVmFsdWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NThDMzgxQjBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUubW0gKi87IH07CisJCTg1
OEMzODJDMEFBOEU0MDUwMEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM4MkEwQUE4RTQwNTAw
QjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggKi87IH07CisJCTg1OEMzODJEMEFBOEU0
MDUwMEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODJCMEFBOEU0MDUwMEIxODdBNCAvKiBE
T01DU1NQcmltaXRpdmVWYWx1ZS5tbSAqLzsgfTsKKwkJODU4QzM4M0MwQUE4RUQ4MjAwQjE4N0E0
IC8qIERPTUNTU1ZhbHVlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODU4QzM4M0EwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5o
ICovOyB9OworCQk4NThDMzgzRDBBQThFRDgyMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM4M0Iw
QUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSAqLzsgfTsKKwkJODU4QzM4QTUw
QUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEExMEFBOEYyMDQwMEIxODdBNCAvKiBET01Db3Vu
dGVyLmggKi87IH07CisJCTg1OEMzOEE2MEFBOEYyMDQwMEIxODdBNCAvKiBET01Db3VudGVyLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM4QTIw
QUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIubW0gKi87IH07CisJCTg1OEMzOEE3MEFBOEYy
MDQwMEIxODdBNCAvKiBET01SZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NThDMzhBMzBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVjdC5oICovOyB9
OworCQk4NThDMzhBODBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVjdC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEE0MEFBOEYyMDQwMEIxODdB
NCAvKiBET01SZWN0Lm1tICovOyB9OworCQk4NThDMzkyODBBQThGRjlEMDBCMTg3QTQgLyogRE9N
Q1NTU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODU4QzM5MjYwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCAqLzsg
fTsKKwkJODU4QzM5MjkwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzkyNzBBQThG
RjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5tbSAqLzsgfTsKKwkJODU4QzM5NUYwQUE5
MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzk1RDBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29s
b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4
NThDMzk2MDBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzk1RTBBQTkwMkE5MDBCMTg3QTQg
LyogRE9NUkdCQ29sb3IubW0gKi87IH07CisJCTg1OEMzOUI4MEFBOTA1RUYwMEIxODdBNCAvKiBE
T01DU1NWYWx1ZS5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCAqLzsgfTsKKwkJ
ODU4QzM5QjkwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggaW4gQ29w
eUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODJBMEFBOEU0
MDUwMEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oICovOyB9OworCQk4NThDMzlCQTBB
QTkwNUVGMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0LmggaW4gQ29weUZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODNBMEFBOEVEODIwMEIxODdBNCAvKiBE
T01DU1NWYWx1ZUxpc3QuaCAqLzsgfTsKKwkJODU4QzM5QkIwQUE5MDVFRjAwQjE4N0E0IC8qIERP
TUNvdW50ZXIuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU4QzM4QTEwQUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIuaCAqLzsgfTsKKwkJODU4
QzM5QkMwQUE5MDVFRjAwQjE4N0E0IC8qIERPTVJlY3QuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM4QTMwQUE4RjIwNDAwQjE4N0E0IC8qIERP
TVJlY3QuaCAqLzsgfTsKKwkJODU4QzM5QkQwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNTU1N0eWxl
U2hlZXQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU4QzM5MjYwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCAqLzsgfTsKIAkJ
ODU5OTJFQkEwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5OTJFQjIwQUE1MDY5NTAw
QUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CiAJCTg1OTkyRUJCMEFBNTA2OTUwMEFDMDc4NSAvKiBET01IVE1MSGVhZEVs
ZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NTk5MkVCMzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEhlYWRFbGVtZW50Lm1tICovOyB9Owog
CQk4NTk5MkVCQzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxFbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk5MkVCNDBBQTUwNjk1
MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoKTsgfTsgfTsKQEAgLTU5Myw2ICs2MzMsMTYgQEAKIAkJODVGMzJCNDMwQUE2NDAxQTAw
RkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsKIAkJODVGNTZBN0EwQTk4Q0UzNzAwQURCNjBB
IC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVGNTZBNzgwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07
CiAJCTg1RjU2QTdCMEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUY1NkE3
OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tICovOyB9Owor
CQk4NUY3NEUwMTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTQ2hhcnNldFJ1bGUuaCBpbiBDb3B5
RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQzMwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU0NoYXJzZXRSdWxlLmggKi87IH07CisJCTg1Rjc0RTAyMEFBOERG
OEMwMDBEQzI4NCAvKiBET01DU1NGb250RmFjZVJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQzUwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU0ZvbnRGYWNlUnVsZS5oICovOyB9OworCQk4NUY3NEUwMzBBQThERjhDMDAwREMyODQgLyog
RE9NQ1NTSW1wb3J0UnVsZS5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTAzMkRDNzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5o
ICovOyB9OworCQk4NUY3NEUwNDBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTTWVkaWFSdWxlLmgg
aW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREM5
MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUuaCAqLzsgfTsKKwkJODVGNzRFMDUw
QUE4REY4QzAwMERDMjg0IC8qIERPTUNTU1BhZ2VSdWxlLmggaW4gQ29weUZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyRENCMEFBOEM5QkUwMDdEM0I3RCAvKiBE
T01DU1NQYWdlUnVsZS5oICovOyB9OworCQk4NUY3NEUwNjBBQThERjhDMDAwREMyODQgLyogRE9N
Q1NTUnVsZS5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NTAzMkRDRDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZS5oICovOyB9OworCQk4NUY3
NEUwNzBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTUnVsZUxpc3QuaCBpbiBDb3B5RmlsZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQ0YwQUE4QzlCRTAwN0QzQjdE
IC8qIERPTUNTU1J1bGVMaXN0LmggKi87IH07CisJCTg1Rjc0RTA4MEFBOERGOEMwMDBEQzI4NCAv
KiBET01DU1NTdHlsZURlY2xhcmF0aW9uLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREQxMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHls
ZURlY2xhcmF0aW9uLmggKi87IH07CisJCTg1Rjc0RTA5MEFBOERGOEMwMDBEQzI4NCAvKiBET01D
U1NTdHlsZVJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwMzJERDMwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5oICovOyB9
OworCQk4NUY3NEUwQTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCBpbiBD
b3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDUwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggKi87IH07CiAJCTkzMDMyQ0M4MDlB
RUMzNDMwMEY4MkExOCAvKiBQYXRoQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTMwMzJDQzcwOUFFQzM0MzAwRjgyQTE4IC8qIFBhdGhDRy5jcHAg
Ki87IH07CiAJCTkzMDMyQ0NBMDlBRUMzNEIwMEY4MkExOCAvKiBQYXRoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzAzMkNDOTA5QUVDMzRCMDBGODJB
MTggLyogUGF0aC5oICovOyB9OwogCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDVCMjRD
MDk4RjFCNkIwMEMyODg1NSAvKiBUaW1lci5oICovOyB9OwpAQCAtMTkxNSw2ICsxOTY1LDIyIEBA
CiAJCQkJMUMxMUNDQzUwQUE2MDkzNzAwREFEQjIwIC8qIERPTUNoYXJhY3RlckRhdGEuaCBpbiBD
b3B5RmlsZXMgKi8sCiAJCQkJMUMxMUNDQzYwQUE2MDkzNzAwREFEQjIwIC8qIERPTURvY3VtZW50
RnJhZ21lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkJMUMxMUNDQzcwQUE2MDkzNzAwREFEQjIw
IC8qIERPTUNEQVRBU2VjdGlvbi5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NThDMzlCODBBQTkw
NUVGMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODU4QzM5
QjkwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggaW4gQ29weUZpbGVz
ICovLAorCQkJCTg1OEMzOUJBMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NWYWx1ZUxpc3QuaCBp
biBDb3B5RmlsZXMgKi8sCisJCQkJODU4QzM5QkIwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNvdW50
ZXIuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODU4QzM5QkMwQUE5MDVFRjAwQjE4N0E0IC8qIERP
TVJlY3QuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODU4QzM5QkQwQUE5MDVFRjAwQjE4N0E0IC8q
IERPTUNTU1N0eWxlU2hlZXQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRFMDEwQUE4REY4
QzAwMERDMjg0IC8qIERPTUNTU0NoYXJzZXRSdWxlLmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1
Rjc0RTAyMEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NGb250RmFjZVJ1bGUuaCBpbiBDb3B5Rmls
ZXMgKi8sCisJCQkJODVGNzRFMDMwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU0ltcG9ydFJ1bGUu
aCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRFMDQwQUE4REY4QzAwMERDMjg0IC8qIERPTUNT
U01lZGlhUnVsZS5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NUY3NEUwNTBBQThERjhDMDAwREMy
ODQgLyogRE9NQ1NTUGFnZVJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRFMDYwQUE4
REY4QzAwMERDMjg0IC8qIERPTUNTU1J1bGUuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRF
MDcwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU1J1bGVMaXN0LmggaW4gQ29weUZpbGVzICovLAor
CQkJCTg1Rjc0RTA4MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NTdHlsZURlY2xhcmF0aW9uLmgg
aW4gQ29weUZpbGVzICovLAorCQkJCTg1Rjc0RTA5MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NT
dHlsZVJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRFMEEwQUE4REY4QzAwMERDMjg0
IC8qIERPTUNTU1Vua25vd25SdWxlLmggaW4gQ29weUZpbGVzICovLAogCQkJCTFDMTFDQ0M4MEFB
NjA5MzcwMERBREIyMCAvKiBET01IVE1MRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKIAkJCQkx
QzExQ0NCQTBBQTYwOTM3MDBEQURCMjAgLyogRE9NSFRNTENvbGxlY3Rpb24uaCBpbiBDb3B5Rmls
ZXMgKi8sCiAJCQkJMUMxMUNDQkIwQUE2MDkzNzAwREFEQjIwIC8qIERPTUhUTUxGb3JtRWxlbWVu
dC5oIGluIENvcHlGaWxlcyAqLywKQEAgLTI0MTQsNiArMjQ4MCwyNiBAQAogCQk4NTAzMUIzOTBB
NDRFRkM3MDBGOTkyRTAgLyogVUlFdmVudFdpdGhLZXlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVUlFdmVudFdpdGhLZXlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NTAzMUIzQTBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxFdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2hlZWxFdmVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MDMxQjNCMEE0NEVGQzcwMEY5OTJFMCAvKiBX
aGVlbEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaGVlbEV2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREMzMEFBOEM5QkUwMDdEM0I3
RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NQ1NTQ2hhcnNldFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUw
MzJEQzQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0NoYXJzZXRSdWxlLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU0NoYXJzZXRSdWxlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDNTBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTRm9udEZhY2VSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01D
U1NGb250RmFjZVJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJEQzYw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ZvbnRGYWNlUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NGb250RmFjZVJ1bGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREM3MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJ
bXBvcnRSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NJbXBv
cnRSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREM4MEFBOEM5QkUw
MDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERPTUNTU0ltcG9ydFJ1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg1MDMyREM5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU01lZGlhUnVsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDQTBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTTWVkaWFSdWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IERPTUNTU01lZGlhUnVsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJE
Q0IwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01DU1NQYWdlUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NTAzMkRDQzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1bGUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NTUGFnZVJ1bGUubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyRENEMEFBOEM5QkUwMDdEM0I3RCAv
KiBET01DU1NSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NS
dWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyRENFMEFBOEM5QkUwMDdE
M0I3RCAvKiBET01DU1NSdWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTUNTU1J1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMy
RENGMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NSdWxlTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTUnVsZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODUwMzJERDAwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGVMaXN0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1J1bGVMaXN0Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkREMTBBQThDOUJFMDA3RDNCN0Qg
LyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NTAzMkREMjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NTdHlsZURl
Y2xhcmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkREMzBBQThD
OUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01DU1NTdHlsZVJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NTdHlsZVJ1bGUubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREQ1MEFBOEM5QkUwMDdEM0I3RCAvKiBE
T01DU1NVbmtub3duUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
Q1NTVW5rbm93blJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJERDYw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1Vua25vd25SdWxlLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NTA4OUNDNzBBOThDMjI2MDBBMjc1QUEgLyogQ29tbWVudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENvbW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NTA4OUNDOTBBOThDMkFCMDBBMjc1QUEgLyogQ0RBVEFTZWN0aW9uLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ0RBVEFTZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODUwODlDQ0IwQTk4QzMzQTAwQTI3NUFBIC8qIEVudGl0eVJlZmVy
ZW5jZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVudGl0eVJlZmVyZW5jZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDcwLDYgKzI1NTYsMjIgQEAKIAkJODU2Qzg5
RkIwQTkwRjA2ODAwNUM2ODdCIC8qIERPTU5vZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRE9NTm9kZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODU2QzhBRTIwQTkxMjY0OTAwNUM2ODdCIC8qIERPTU9iamVjdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg1NkM4QUUzMEE5MTI2NDkwMDVDNjg3QiAvKiBET01PYmplY3QubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NT2JqZWN0Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1ZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzODFCMEFBOEUyOTYwMEIxODdBNCAvKiBE
T01DU1NWYWx1ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01DU1NWYWx1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4QzM4MkEwQUE4
RTQwNTAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01DU1NQcmltaXRpdmVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NThDMzgyQjBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NTUHJpbWl0aXZl
VmFsdWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NT
UHJpbWl0aXZlVmFsdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzODNB
MEFBOEVEODIwMEIxODdBNCAvKiBET01DU1NWYWx1ZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUNTU1ZhbHVlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NThDMzgzQjBBQThFRDgyMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1ZhbHVlTGlzdC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4QzM4QTEwQUE4RjIwNDAwQjE4N0E0
IC8qIERPTUNvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNv
dW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4QzM4QTIwQUE4RjIwNDAw
QjE4N0E0IC8qIERPTUNvdW50ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRE9NQ291bnRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4
QzM4QTMwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4
QzM4QTQwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NUmVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODU4QzM4RUYwQUE4RkREMTAwQjE4N0E0IC8qIFJHQkNvbG9yLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUkdCQ29sb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NThDMzkxMDBBQThGRjAwMDBCMTg3QTQgLyogQ1NTU3R5bGVTaGVldC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IENTU1N0eWxlU2hlZXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NThDMzkyNjBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTU3R5bGVTaGVldC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NThDMzkyNzBBQThGRjlEMDBCMTg3QTQgLyogRE9N
Q1NTU3R5bGVTaGVldC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBET01DU1NTdHlsZVNoZWV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NThD
Mzk1RDBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTVJHQkNvbG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1OEMzOTVFMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01SR0JDb2xvci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU5OTJFQjIwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxI
ZWFkRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEhl
YWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTkyRUIzMEFBNTA2
OTUwMEFDMDc4NSAvKiBET01IVE1MSGVhZEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEhlYWRFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MSHRtbEVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1MjUsNiArMjYyNywxNCBA
QAogCQk4NUJBNEQwODBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTE9MaXN0RWxlbWVudC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MT0xpc3RFbGVt
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUJBNEQwOTBBQTY4ODY4MDA4
ODA1MkQgLyogRE9NSFRNTFVMaXN0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NSFRNTFVMaXN0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NUJBNEQwQTBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTFVMaXN0RWxlbWVudC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MVUxpc3RFbGVt
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUM1NkM1QjBBQTg3QUZEMDBE
OTU3NTUgLyogTWVkaWFMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFMaXN0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVDNTZDQTEwQUE4OUFCNDAwRDk1
NzU1IC8qIENTU1N0eWxlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1N0eWxl
UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QzU2Q0EyMEFBODlDMTAw
MEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NN
ZWRpYVJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUM1NkNBMzBBQTg5
Q0E0MDBEOTU3NTUgLyogQ1NTRm9udEZhY2VSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gQ1NTRm9udEZhY2VSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVD
NTZDQTYwQUE4OUQ1RjAwRDk1NzU1IC8qIENTU1BhZ2VSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gQ1NTUGFnZVJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
NUM1NkNBOTBBQTg5RTY2MDBEOTU3NTUgLyogQ1NTSW1wb3J0UnVsZS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IENTU0ltcG9ydFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NUM1NkNBQzBBQTg5RjhFMDBEOTU3NTUgLyogQ1NTQ2hhcnNldFJ1bGUuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBDU1NDaGFyc2V0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg1QzU2Q0FEMEFBODlGRTAwMEQ5NTc1NSAvKiBDU1NVbmtub3duUnVsZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1Vua25vd25SdWxlLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDQTk2QjYwQTk2MjFBNjAwNjkwQ0NGIC8qIERPTUVudGl0
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRW50aXR5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1Q0E5NkI3MEE5NjIxQTYwMDY5MENDRiAvKiBET01F
bnRpdHkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRW50
aXR5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUNBOTZFODBBOTYyNEU5MDA2
OTBDQ0YgLyogRE9NTm90YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTU5vdGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NjI5LDIwICs0
NzM5LDE2IEBACiAJCQluYW1lID0gQ29yZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJ
CX07Ci0JCTg1OTkyRkMyMEFBNURENDYwMEFDMDc4NSAvKiBIVE1MICovID0geworCQk4NThDMzk1
MTBBQTkwMjRDMDBCMTg3QTQgLyogQ1NTICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKLQkJCQk4NTJCOUU4MzBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxl
dEVsZW1lbnQuaCAqLywKLQkJCQk4NTJCOUU4NDBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFw
cGxldEVsZW1lbnQubW0gKi8sCi0JCQkJODU5OTJGQkUwQUE1REQ0MDAwQUMwNzg1IC8qIERPTUhU
TUxEb2N1bWVudC5oICovLAotCQkJCTg1OTkyRkJGMEFBNURENDAwMEFDMDc4NSAvKiBET01IVE1M
RG9jdW1lbnQubW0gKi8sCi0JCQkJODUyQjlFODUwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxP
cHRpb25FbGVtZW50LmggKi8sCi0JCQkJODUyQjlFODYwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhU
TUxPcHRpb25FbGVtZW50Lm1tICovLAorCQkJCTg1OEMzOTVEMEFBOTAyQTkwMEIxODdBNCAvKiBE
T01SR0JDb2xvci5oICovLAorCQkJCTg1OEMzOTVFMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JD
b2xvci5tbSAqLywKIAkJCSk7Ci0JCQluYW1lID0gSFRNTDsKKwkJCW5hbWUgPSBDU1M7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwotCQk4NUIyMzIyNjBBOEJGM0ExMDBGREY0N0Ig
LyogRGVyaXZlZCBTb3VyY2VzICovID0geworCQk4NTk2N0Q5RjBBQThCQjU5MDA1RkVERUUgLyog
Q29yZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJODVE
Mzg5QjAwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIuaCAqLywKQEAgLTQ2NzcsNiArNDc4Myw3
NiBAQAogCQkJCTg1RjU2QTc5MEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24ubW0gKi8sCiAJCQkJODVBQ0E5OUEwQTlCNTc1OTAwNjcxRTkwIC8qIERPTVRleHQuaCAq
LywKIAkJCQk4NUFDQTk5QjBBOUI1NzU5MDA2NzFFOTAgLyogRE9NVGV4dC5tbSAqLywKKwkJCSk7
CisJCQluYW1lID0gQ29yZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTg1
OTY3RENBMEFBOEJGMEYwMDVGRURFRSAvKiBDU1MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTg1MDMyREMzMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1ND
aGFyc2V0UnVsZS5oICovLAorCQkJCTg1MDMyREM0MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1ND
aGFyc2V0UnVsZS5tbSAqLywKKwkJCQk4NTAzMkRDNTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
Rm9udEZhY2VSdWxlLmggKi8sCisJCQkJODUwMzJEQzYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U0ZvbnRGYWNlUnVsZS5tbSAqLywKKwkJCQk4NTAzMkRDNzBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTSW1wb3J0UnVsZS5oICovLAorCQkJCTg1MDMyREM4MEFBOEM5QkUwMDdEM0I3RCAvKiBET01D
U1NJbXBvcnRSdWxlLm1tICovLAorCQkJCTg1MDMyREM5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01D
U1NNZWRpYVJ1bGUuaCAqLywKKwkJCQk4NTAzMkRDQTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
TWVkaWFSdWxlLm1tICovLAorCQkJCTg1MDMyRENCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NQ
YWdlUnVsZS5oICovLAorCQkJCTg1MDMyRENDMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NQYWdl
UnVsZS5tbSAqLywKKwkJCQk4NThDMzgyQTBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NTUHJpbWl0
aXZlVmFsdWUuaCAqLywKKwkJCQk4NThDMzgyQjBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NTUHJp
bWl0aXZlVmFsdWUubW0gKi8sCisJCQkJODUwMzJEQ0QwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U1J1bGUuaCAqLywKKwkJCQk4NTAzMkRDRTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZS5t
bSAqLywKKwkJCQk4NTAzMkRDRjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QuaCAq
LywKKwkJCQk4NTAzMkREMDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QubW0gKi8s
CisJCQkJODUwMzJERDEwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24u
aCAqLywKKwkJCQk4NTAzMkREMjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJh
dGlvbi5tbSAqLywKKwkJCQk4NTAzMkREMzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVS
dWxlLmggKi8sCisJCQkJODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVs
ZS5tbSAqLywKKwkJCQk4NThDMzkyNjBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVl
dC5oICovLAorCQkJCTg1OEMzOTI3MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0
Lm1tICovLAorCQkJCTg1OEMzODFBMEFBOEUyOTYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5oICov
LAorCQkJCTg1OEMzODFCMEFBOEUyOTYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5tbSAqLywKKwkJ
CQk4NThDMzgzQTBBQThFRDgyMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0LmggKi8sCisJCQkJ
ODU4QzM4M0IwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSAqLywKKwkJCQk4
NTAzMkRENTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCAqLywKKwkJCQk4
NTAzMkRENjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUubW0gKi8sCisJCQkJ
ODU4QzM4QTEwQUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIuaCAqLywKKwkJCQk4NThDMzhB
MjBBQThGMjA0MDBCMTg3QTQgLyogRE9NQ291bnRlci5tbSAqLywKKwkJCQk4NThDMzhBMzBBQThG
MjA0MDBCMTg3QTQgLyogRE9NUmVjdC5oICovLAorCQkJCTg1OEMzOEE0MEFBOEYyMDQwMEIxODdB
NCAvKiBET01SZWN0Lm1tICovLAorCQkJKTsKKwkJCW5hbWUgPSBDU1M7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OworCQk4NTk5MkZDMjBBQTVERDQ2MDBBQzA3ODUgLyogSFRNTCAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJODUyQjlFODMw
QUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50LmggKi8sCisJCQkJODUyQjlF
ODQwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50Lm1tICovLAorCQkJCTg1
OTkyRkJFMEFBNURENDAwMEFDMDc4NSAvKiBET01IVE1MRG9jdW1lbnQuaCAqLywKKwkJCQk4NTk5
MkZCRjBBQTVERDQwMDBBQzA3ODUgLyogRE9NSFRNTERvY3VtZW50Lm1tICovLAorCQkJCTg1MkI5
RTg1MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5oICovLAorCQkJCTg1
MkI5RTg2MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5tbSAqLywKKwkJ
CSk7CisJCQluYW1lID0gSFRNTDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CTg1QjIzMjI2MEE4QkYzQTEwMEZERjQ3QiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTg1OTY3RDlGMEFBOEJCNTkwMDVG
RURFRSAvKiBDb3JlICovLAorCQkJCTg1OTY3RENBMEFBOEJGMEYwMDVGRURFRSAvKiBDU1MgKi8s
CisJCQkJODVDNTZEMDMwQUE4QkFBNzAwRDk1NzU1IC8qIEhUTUwgKi8sCisJCQkpOworCQkJbmFt
ZSA9ICJEZXJpdmVkIFNvdXJjZXMiOworCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmU7
CisJCQlzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOworCQl9OworCQk4NUM1NkQwMzBB
QThCQUE3MDBEOTU3NTUgLyogSFRNTCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCiAJCQkJODVERjgxMjEwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JF
bGVtZW50LmggKi8sCiAJCQkJODVERjgxMjIwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNo
b3JFbGVtZW50Lm1tICovLAogCQkJCTg1RUNCRUREMEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1M
QXJlYUVsZW1lbnQuaCAqLywKQEAgLTQ3ODQsOSArNDk2MCw4IEBACiAJCQkJODVCQTREMDkwQUE2
ODg2ODAwODgwNTJEIC8qIERPTUhUTUxVTGlzdEVsZW1lbnQuaCAqLywKIAkJCQk4NUJBNEQwQTBB
QTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTFVMaXN0RWxlbWVudC5tbSAqLywKIAkJCSk7Ci0JCQlu
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7Ci0JCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZTsKLQkJCXNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7CisJCQluYW1lID0gSFRNTDsK
KwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTkzMDMyQ0NDMDlBRUMzNjIwMEY4
MkExOCAvKiBjZyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwpAQCAtNTc5Nyw2ICs1OTcyLDcg
QEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTg1QjIzMjI2MEE4QkYzQTEwMEZERjQ3QiAvKiBEZXJp
dmVkIFNvdXJjZXMgKi8sCiAJCQkJODU0RjEyQUMwQThFQkMxODAwMDk0MEI1IC8qIENvcmUgKi8s
CisJCQkJODU4QzM5NTEwQUE5MDI0QzAwQjE4N0E0IC8qIENTUyAqLywKIAkJCQk4NTk5MkZDMjBB
QTVERDQ2MDBBQzA3ODUgLyogSFRNTCAqLywKIAkJCQk4NTlCN0ZCOTBBOEQyODg4MDBBNUYxRUEg
LyogQ29kZUdlbmVyYXRvck9iakMucG0gKi8sCiAJCQkJQkMxQTM3OTcwOTdDNzE1RjAwMTlGM0Q4
IC8qIERPTS5oICovLApAQCAtNjA3OSwxMCArNjI1NSwxMiBAQAogCQkJCUE4MEU2Q0JCMEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQlBODBFNkNERDBB
MTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oICovLAogCQkJCUE4MEU2Q0NG
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oICovLAorCQkJCTg1QzU2Q0FDMEFB
ODlGOEUwMEQ5NTc1NSAvKiBDU1NDaGFyc2V0UnVsZS5pZGwgKi8sCiAJCQkJQkNFQTQ3N0MwOTdD
QUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgKi8sCiAJCQkJ
QkNFQTQ3N0QwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5o
ICovLAogCQkJCUE4MEU2Q0JEMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NGb250RmFjZVJ1bGUuY3Bw
ICovLAogCQkJCUE4MEU2Q0QzMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NGb250RmFjZVJ1bGUuaCAq
LywKKwkJCQk4NUM1NkNBMzBBQTg5Q0E0MDBEOTU3NTUgLyogQ1NTRm9udEZhY2VSdWxlLmlkbCAq
LywKIAkJCQlCQ0VBNDc3RTA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTR3JhbW1hci55ICovLAogCQkJ
CUJDRUE0Nzg1MDk3Q0FBQzgwMDk0QzlFNCAvKiBjc3NoZWxwZXIuY3BwICovLAogCQkJCUJDRUE0
Nzg2MDk3Q0FBQzgwMDk0QzlFNCAvKiBjc3NoZWxwZXIuaCAqLywKQEAgLTYwOTAsMTcgKzYyNjgs
MjAgQEAKIAkJCQlBODBFNkNEMDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW1hZ2VWYWx1ZS5oICov
LAogCQkJCUE4MEU2Q0MxMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbXBvcnRSdWxlLmNwcCAqLywK
IAkJCQlBODBFNkNDQzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW1wb3J0UnVsZS5oICovLAorCQkJ
CTg1QzU2Q0E5MEFBODlFNjYwMEQ5NTc1NSAvKiBDU1NJbXBvcnRSdWxlLmlkbCAqLywKIAkJCQlB
ODBFNkNDNjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5oZXJpdGVkVmFsdWUuY3BwICovLAogCQkJ
CUE4MEU2Q0Q3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbmhlcml0ZWRWYWx1ZS5oICovLAogCQkJ
CUE4MEU2Q0Q4MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuY3BwICovLAogCQkJ
CUE4MEU2Q0RFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuaCAqLywKIAkJCQlB
ODBFNkNEMjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFSdWxlLmNwcCAqLywKIAkJCQlBODBF
NkNEOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFSdWxlLmggKi8sCisJCQkJODVDNTZDQTIw
QUE4OUMxMDAwRDk1NzU1IC8qIENTU01lZGlhUnVsZS5pZGwgKi8sCiAJCQkJQTgwRTZERjkwQTE5
OTA2NzAwN0ZCOEM1IC8qIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCAqLywKIAkJCQlB
ODBFNkRGQTBBMTk5MDY3MDA3RkI4QzUgLyogQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCAq
LywKIAkJCQlBODBFNzM0NzBBMTk5Qzc3MDA3RkI4QzUgLyogQ1NTTmFtZXNwYWNlLmggKi8sCiAJ
CQkJQTgwRTZDQ0IwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VSdWxlLmNwcCAqLywKIAkJCQlB
ODBFNkNENjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuaCAqLywKKwkJCQk4NUM1NkNB
NjBBQTg5RDVGMDBEOTU3NTUgLyogQ1NTUGFnZVJ1bGUuaWRsICovLAogCQkJCUJDRUE0Nzg3MDk3
Q0FBQzgwMDk0QzlFNCAvKiBjc3NwYXJzZXIuY3BwICovLAogCQkJCUJDRUE0Nzg4MDk3Q0FBQzgw
MDk0QzlFNCAvKiBjc3NwYXJzZXIuaCAqLywKIAkJCQlBODBFNkNEQjBBMTk4OUNBMDA3RkI4QzUg
LyogQ1NTUHJpbWl0aXZlVmFsdWUuY3BwICovLApAQCAtNjEyMywxMSArNjMwNCwxNCBAQAogCQkJ
CTE0MjAxMUFFMEEwMDMxMTcwMDgzMDNGOSAvKiBDU1NTdHlsZURlY2xhcmF0aW9uLmlkbCAqLywK
IAkJCQlBODBFNkNDNTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTU3R5bGVSdWxlLmNwcCAqLywKIAkJ
CQlBODBFNkNFMjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTU3R5bGVSdWxlLmggKi8sCisJCQkJODVD
NTZDQTEwQUE4OUFCNDAwRDk1NzU1IC8qIENTU1N0eWxlUnVsZS5pZGwgKi8sCiAJCQkJQkNFQTQ3
OEEwOTdDQUFDODAwOTRDOUU0IC8qIGNzc3N0eWxlc2VsZWN0b3IuY3BwICovLAogCQkJCUJDRUE0
NzhCMDk3Q0FBQzgwMDk0QzlFNCAvKiBjc3NzdHlsZXNlbGVjdG9yLmggKi8sCiAJCQkJQThFQTgw
MDAwQTE5NTE2RTAwQThFRjVGIC8qIENTU1N0eWxlU2hlZXQuY3BwICovLAogCQkJCUE4RUE3RkZG
MEExOTUxNkUwMEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmggKi8sCisJCQkJODU4QzM5MTAwQUE4
RkYwMDAwQjE4N0E0IC8qIENTU1N0eWxlU2hlZXQuaWRsICovLAogCQkJCUE4MEU2Q0NFMEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NVbmtub3duUnVsZS5oICovLAorCQkJCTg1QzU2Q0FEMEFBODlGRTAw
MEQ5NTc1NSAvKiBDU1NVbmtub3duUnVsZS5pZGwgKi8sCiAJCQkJQTgwRTZDQzQwQTE5ODlDQTAw
N0ZCOEM1IC8qIENTU1ZhbHVlLmggKi8sCiAJCQkJMTRDRjc4NzEwOUY1ODdDQTAwRUIzNjY1IC8q
IENTU1ZhbHVlLmlkbCAqLywKIAkJCQlCQ0VBNDc4QzA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTVmFs
dWVLZXl3b3Jkcy5pbiAqLywKQEAgLTYxNDgsNiArNjMzMiw3IEBACiAJCQkJNEUxOTU5MjAwQTM5
REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggKi8sCiAJCQkJQThFQTgwMDEwQTE5
NTE2RTAwQThFRjVGIC8qIE1lZGlhTGlzdC5jcHAgKi8sCiAJCQkJQThFQTgwMDYwQTE5NTE2RTAw
QThFRjVGIC8qIE1lZGlhTGlzdC5oICovLAorCQkJCTg1QzU2QzVCMEFBODdBRkQwMEQ5NTc1NSAv
KiBNZWRpYUxpc3QuaWRsICovLAogCQkJCTRFMTk1OTIzMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRp
YVF1ZXJ5LmNwcCAqLywKIAkJCQk0RTE5NTkyNDBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVy
eS5oICovLAogCQkJCTRFMTk1OTI1MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmNwcCAqLywKQEAgLTYxNTYsNiArNjM0MSw3IEBACiAJCQkJNEUxOTU5MjgwQTM5REFDQzAw
MjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuaCAqLywKIAkJCQlBODBFNkNEMTBBMTk4OUNBMDA3RkI4
QzUgLyogUGFpci5oICovLAogCQkJCTkzQ0E0QzlGMDlERjkzRkEwMERGODY3NyAvKiBxdWlya3Mu
Y3NzICovLAorCQkJCTg1OEMzOEVGMEFBOEZERDEwMEIxODdBNCAvKiBSR0JDb2xvci5pZGwgKi8s
CiAJCQkJQTgwRTc5OTYwQTE5QkQyMTAwN0ZCOEM1IC8qIFJlY3QuaWRsICovLAogCQkJCUE4MEU2
Q0UwMEExOTg5Q0EwMDdGQjhDNSAvKiBSZWN0SW1wbC5oICovLAogCQkJCUE4MEU2Q0NBMEExOTg5
Q0EwMDdGQjhDNSAvKiBTaGFkb3dWYWx1ZS5jcHAgKi8sCkBAIC03MzQzLDYgKzc1MjksMjMgQEAK
IAkJCQk4NTJCOUU4NzBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1MkI5RTg5MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0
aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5ODk1NUQwQUE3ODE0OTAwNUVGNUVG
IC8qIENTdHJpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMyREQ3MEFBOEM5QkUwMDdEM0I3
RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODUwMzJERDkwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODUwMzJEREIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1bGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg1MDMyREREMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUuaCBp
biBIZWFkZXJzICovLAorCQkJCTg1MDMyRERGMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NQYWdl
UnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODUwMzJERTEwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU1J1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMyREUzMEFBOEM5QkUwMDdEM0I3RCAv
KiBET01DU1NSdWxlTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODUwMzJERTUwQUE4QzlCRTAw
N0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTg1
MDMyREU3MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg1MDMyREU5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODU4QzM4MUMwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NThDMzgyQzBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NT
UHJpbWl0aXZlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OEMzODNDMEFBOEVEODIwMEIx
ODdBNCAvKiBET01DU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OEMzOEE1MEFB
OEYyMDQwMEIxODdBNCAvKiBET01Db3VudGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NThDMzhB
NzBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU4QzM5
MjgwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg1OEMzOTVGMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC03Mzc3LDcgKzc1ODAsNiBAQAogCQkwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyog
UHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25m
aWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1
cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICovOwotCQkJY29tcGF0aWJpbGl0
eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwog
CQkJa25vd25SZWdpb25zID0gKAogCQkJCUVuZ2xpc2gsCkBAIC03MzkyLDcgKzc1OTQsNiBAQAog
CQkJcHJvZHVjdFJlZkdyb3VwID0gMDM0NzY4REZGRjM4QTUwNDExREI5QzhCIC8qIFByb2R1Y3Rz
ICovOwogCQkJcHJvamVjdERpclBhdGggPSAiIjsKIAkJCXByb2plY3RSb290ID0gIiI7Ci0JCQlz
aG91bGRDaGVja0NvbXBhdGliaWxpdHkgPSAxOwogCQkJdGFyZ2V0cyA9ICgKIAkJCQk5M0YxOThB
NTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLywKIAkJCQlERDA0MUZCRTA5RDlEREJFMDAx
MEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLApAQCAtODMzMSw2ICs4NTMyLDIzIEBACiAJCQkJ
ODUyQjlFOEEwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUE5ODk1NUMwQUE3ODE0OTAwNUVGNUVGIC8qIENTdHJpbmcuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1NkIwQUE3OEY4MDAwNUVGNUVGIC8qIEtVUkxDRk5ldC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkREODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
Q2hhcnNldFJ1bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkREQTBBQThDOUJFMDA3RDNC
N0QgLyogRE9NQ1NTRm9udEZhY2VSdWxlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODUwMzJEREMw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1bGUubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk4NTAzMkRERTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJODUwMzJERTAwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJODUwMzJERTIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1
bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkRFNDBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTUnVsZUxpc3QubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkRFNjBBQThDOUJFMDA3RDNC
N0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1MDMy
REU4MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUubW0gaW4gU291cmNlcyAqLywK
KwkJCQk4NTAzMkRFQTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUubW0gaW4g
U291cmNlcyAqLywKKwkJCQk4NThDMzgxRDBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUu
bW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThDMzgyRDBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NT
UHJpbWl0aXZlVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThDMzgzRDBBQThFRDgyMDBC
MTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODU4QzM4QTYw
QUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThD
MzhBODBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVjdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1
OEMzOTI5MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJODU4QzM5NjAwQUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5oCShyZXZpc2lvbiAxNjE3MikKKysr
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcw
ICszMCwyOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01PYmplY3QuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRE9NU3R5bGVzaGVldHMuaD4KIAotQGNsYXNzIERPTUNvdW50ZXI7Ci1AY2xhc3MgRE9NQ1NT
UnVsZTsKLUBjbGFzcyBET01DU1NTdHlsZURlY2xhcmF0aW9uOwotQGNsYXNzIERPTUNTU1N0eWxl
U2hlZXQ7Ci1AY2xhc3MgRE9NQ1NTVmFsdWU7Ci1AY2xhc3MgRE9NUmVjdDsKLUBjbGFzcyBET01S
R0JDb2xvcjsKKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTQ2hhcnNldFJ1bGUuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU0lt
cG9ydFJ1bGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTTWVkaWFSdWxlLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0RPTUNTU1BhZ2VSdWxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1ByaW1p
dGl2ZVZhbHVlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1J1bGUuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvRE9NQ1NTUnVsZUxpc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTU3R5bGVEZWNs
YXJhdGlvbi5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NTdHlsZVJ1bGUuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvRE9NQ1NTU3R5bGVTaGVldC5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NVbmtu
b3duUnVsZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NWYWx1ZS5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9ET01DU1NWYWx1ZUxpc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ291bnRlci5oPgor
I2ltcG9ydCA8V2ViQ29yZS9ET01SR0JDb2xvci5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01SZWN0
Lmg+CiAKIEBpbnRlcmZhY2UgRE9NRG9jdW1lbnQgKERPTVZpZXdDU1MpCiAtIChET01DU1NTdHls
ZURlY2xhcmF0aW9uICopZ2V0Q29tcHV0ZWRTdHlsZTooRE9NRWxlbWVudCAqKWVsdCA6KE5TU3Ry
aW5nICopcHNldWRvRWx0OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUNTU1J1bGVMaXN0IDogRE9N
T2JqZWN0Ci0tICh1bnNpZ25lZClsZW5ndGg7Ci0tIChET01DU1NSdWxlICopaXRlbToodW5zaWdu
ZWQpaW5kZXg7Ci1AZW5kCi0KLWVudW0gewotICAgIC8vIERPTUNTU1J1bGUgUnVsZVR5cGUKLSAg
ICBET01fVU5LTk9XTl9SVUxFICAgICAgICAgICAgICAgPSAwLAotICAgIERPTV9TVFlMRV9SVUxF
ICAgICAgICAgICAgICAgICA9IDEsCi0gICAgRE9NX0NIQVJTRVRfUlVMRSAgICAgICAgICAgICAg
ID0gMiwKLSAgICBET01fSU1QT1JUX1JVTEUgICAgICAgICAgICAgICAgPSAzLAotICAgIERPTV9N
RURJQV9SVUxFICAgICAgICAgICAgICAgICA9IDQsCi0gICAgRE9NX0ZPTlRfRkFDRV9SVUxFICAg
ICAgICAgICAgID0gNSwKLSAgICBET01fUEFHRV9SVUxFICAgICAgICAgICAgICAgICAgPSA2Ci19
OwotCi1AaW50ZXJmYWNlIERPTUNTU1J1bGUgOiBET01PYmplY3QKLS0gKHVuc2lnbmVkIHNob3J0
KXR5cGU7Ci0tIChOU1N0cmluZyAqKWNzc1RleHQ7Ci0tICh2b2lkKXNldENzc1RleHQ6KE5TU3Ry
aW5nICopY3NzVGV4dDsKLS0gKERPTUNTU1N0eWxlU2hlZXQgKilwYXJlbnRTdHlsZVNoZWV0Owot
LSAoRE9NQ1NTUnVsZSAqKXBhcmVudFJ1bGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTU3R5
bGVSdWxlIDogRE9NQ1NTUnVsZQotLSAoTlNTdHJpbmcgKilzZWxlY3RvclRleHQ7Ci0tICh2b2lk
KXNldFNlbGVjdG9yVGV4dDooTlNTdHJpbmcgKilzZWxlY3RvclRleHQ7Ci0tIChET01DU1NTdHls
ZURlY2xhcmF0aW9uICopc3R5bGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTTWVkaWFSdWxl
IDogRE9NQ1NTUnVsZQotLSAoRE9NTWVkaWFMaXN0ICopbWVkaWE7Ci0tIChET01DU1NSdWxlTGlz
dCAqKWNzc1J1bGVzOwotLSAodW5zaWduZWQpaW5zZXJ0UnVsZTooTlNTdHJpbmcgKilydWxlIDoo
dW5zaWduZWQpaW5kZXg7Ci0tICh2b2lkKWRlbGV0ZVJ1bGU6KHVuc2lnbmVkKWluZGV4OwotQGVu
ZAotCi1AaW50ZXJmYWNlIERPTUNTU0ZvbnRGYWNlUnVsZSA6IERPTUNTU1J1bGUKLS0gKERPTUNT
U1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZTsKLUBlbmQKLQotQGludGVyZmFjZSBET01DU1NQYWdl
UnVsZSA6IERPTUNTU1J1bGUKLS0gKE5TU3RyaW5nICopc2VsZWN0b3JUZXh0OwotLSAodm9pZClz
ZXRTZWxlY3RvclRleHQ6KE5TU3RyaW5nICopc2VsZWN0b3JUZXh0OwotLSAoRE9NQ1NTU3R5bGVE
ZWNsYXJhdGlvbiAqKXN0eWxlOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUNTU0ltcG9ydFJ1bGUg
OiBET01DU1NSdWxlCi0tIChET01NZWRpYUxpc3QgKiltZWRpYTsKLS0gKE5TU3RyaW5nICopaHJl
ZjsKLS0gKERPTUNTU1N0eWxlU2hlZXQgKilzdHlsZVNoZWV0OwotQGVuZAotCi1AaW50ZXJmYWNl
IERPTUNTU0NoYXJzZXRSdWxlIDogRE9NQ1NTUnVsZQotLSAoTlNTdHJpbmcgKillbmNvZGluZzsK
LUBlbmQKLQotQGludGVyZmFjZSBET01DU1NVbmtub3duUnVsZSA6IERPTUNTU1J1bGUKLUBlbmQK
LQotQGludGVyZmFjZSBET01DU1NTdHlsZURlY2xhcmF0aW9uIDogRE9NT2JqZWN0Ci0tIChOU1N0
cmluZyAqKWNzc1RleHQ7Ci0tICh2b2lkKXNldENzc1RleHQ6KE5TU3RyaW5nICopY3NzVGV4dDsK
LS0gKE5TU3RyaW5nICopZ2V0UHJvcGVydHlWYWx1ZTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWU7
Ci0tIChET01DU1NWYWx1ZSAqKWdldFByb3BlcnR5Q1NTVmFsdWU6KE5TU3RyaW5nICopcHJvcGVy
dHlOYW1lOwotLSAoTlNTdHJpbmcgKilyZW1vdmVQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0
eU5hbWU7Ci0tIChOU1N0cmluZyAqKWdldFByb3BlcnR5UHJpb3JpdHk6KE5TU3RyaW5nICopcHJv
cGVydHlOYW1lOwotLSAodm9pZClzZXRQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWUg
OihOU1N0cmluZyAqKXZhbHVlIDooTlNTdHJpbmcgKilwcmlvcml0eTsKLS0gKHVuc2lnbmVkKWxl
bmd0aDsKLS0gKE5TU3RyaW5nICopaXRlbToodW5zaWduZWQpaW5kZXg7Ci0tIChET01DU1NSdWxl
ICopcGFyZW50UnVsZTsKLUBlbmQKLQotZW51bSB7Ci0gICAgLy8gRE9NQ1NTVmFsdWUgVW5pdFR5
cGVzCi0gICAgRE9NX0NTU19JTkhFUklUID0gMCwKLSAgICBET01fQ1NTX1BSSU1JVElWRV9WQUxV
RSA9IDEsCi0gICAgRE9NX0NTU19WQUxVRV9MSVNUID0gMiwKLSAgICBET01fQ1NTX0NVU1RPTSA9
IDMKLX07Ci0KLUBpbnRlcmZhY2UgRE9NQ1NTVmFsdWUgOiBET01PYmplY3QKLS0gKE5TU3RyaW5n
ICopY3NzVGV4dDsKLS0gKHZvaWQpc2V0Q3NzVGV4dDooTlNTdHJpbmcgKiljc3NUZXh0OwotLSAo
dW5zaWduZWQgc2hvcnQpY3NzVmFsdWVUeXBlOwotQGVuZAotCi1lbnVtIHsKLSAgICAvLyBET01D
U1NQcmltaXRpdmVWYWx1ZSBVbml0VHlwZXMKLSAgICBET01fQ1NTX1VOS05PV04gICAgICAgICAg
ICAgICAgICAgID0gMCwKLSAgICBET01fQ1NTX05VTUJFUiAgICAgICAgICAgICAgICAgICAgID0g
MSwKLSAgICBET01fQ1NTX1BFUkNFTlRBR0UgICAgICAgICAgICAgICAgID0gMiwKLSAgICBET01f
Q1NTX0VNUyAgICAgICAgICAgICAgICAgICAgICAgID0gMywKLSAgICBET01fQ1NTX0VYUyAgICAg
ICAgICAgICAgICAgICAgICAgID0gNCwKLSAgICBET01fQ1NTX1BYICAgICAgICAgICAgICAgICAg
ICAgICAgID0gNSwKLSAgICBET01fQ1NTX0NNICAgICAgICAgICAgICAgICAgICAgICAgID0gNiwK
LSAgICBET01fQ1NTX01NICAgICAgICAgICAgICAgICAgICAgICAgID0gNywKLSAgICBET01fQ1NT
X0lOICAgICAgICAgICAgICAgICAgICAgICAgID0gOCwKLSAgICBET01fQ1NTX1BUICAgICAgICAg
ICAgICAgICAgICAgICAgID0gOSwKLSAgICBET01fQ1NTX1BDICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTAsCi0gICAgRE9NX0NTU19ERUcgICAgICAgICAgICAgICAgICAgICAgICA9IDExLAot
ICAgIERPTV9DU1NfUkFEICAgICAgICAgICAgICAgICAgICAgICAgPSAxMiwKLSAgICBET01fQ1NT
X0dSQUQgICAgICAgICAgICAgICAgICAgICAgID0gMTMsCi0gICAgRE9NX0NTU19NUyAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE0LAotICAgIERPTV9DU1NfUyAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxNSwKLSAgICBET01fQ1NTX0haICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYs
Ci0gICAgRE9NX0NTU19LSFogICAgICAgICAgICAgICAgICAgICAgICA9IDE3LAotICAgIERPTV9D
U1NfRElNRU5TSU9OICAgICAgICAgICAgICAgICAgPSAxOCwKLSAgICBET01fQ1NTX1NUUklORyAg
ICAgICAgICAgICAgICAgICAgID0gMTksCi0gICAgRE9NX0NTU19VUkkgICAgICAgICAgICAgICAg
ICAgICAgICA9IDIwLAotICAgIERPTV9DU1NfSURFTlQgICAgICAgICAgICAgICAgICAgICAgPSAy
MSwKLSAgICBET01fQ1NTX0FUVFIgICAgICAgICAgICAgICAgICAgICAgID0gMjIsCi0gICAgRE9N
X0NTU19DT1VOVEVSICAgICAgICAgICAgICAgICAgICA9IDIzLAotICAgIERPTV9DU1NfUkVDVCAg
ICAgICAgICAgICAgICAgICAgICAgPSAyNCwKLSAgICBET01fQ1NTX1JHQkNPTE9SICAgICAgICAg
ICAgICAgICAgID0gMjUKLX07Ci0KLUBpbnRlcmZhY2UgRE9NQ1NTUHJpbWl0aXZlVmFsdWUgOiBE
T01DU1NWYWx1ZQotLSAodW5zaWduZWQgc2hvcnQpcHJpbWl0aXZlVHlwZTsKLS0gKHZvaWQpc2V0
RmxvYXRWYWx1ZToodW5zaWduZWQgc2hvcnQpdW5pdFR5cGUgOihmbG9hdClmbG9hdFZhbHVlOwot
LSAoZmxvYXQpZ2V0RmxvYXRWYWx1ZToodW5zaWduZWQgc2hvcnQpdW5pdFR5cGU7Ci0tICh2b2lk
KXNldFN0cmluZ1ZhbHVlOih1bnNpZ25lZCBzaG9ydClzdHJpbmdUeXBlIDooTlNTdHJpbmcgKilz
dHJpbmdWYWx1ZTsKLS0gKE5TU3RyaW5nICopZ2V0U3RyaW5nVmFsdWU7Ci0tIChET01Db3VudGVy
ICopZ2V0Q291bnRlclZhbHVlOwotLSAoRE9NUmVjdCAqKWdldFJlY3RWYWx1ZTsKLS0gKERPTVJH
QkNvbG9yICopZ2V0UkdCQ29sb3JWYWx1ZTsKLUBlbmQKLQotQGludGVyZmFjZSBET01DU1NWYWx1
ZUxpc3QgOiBET01DU1NWYWx1ZQotLSAodW5zaWduZWQpbGVuZ3RoOwotLSAoRE9NQ1NTVmFsdWUg
KilpdGVtOih1bnNpZ25lZClpbmRleDsKLUBlbmQKLQotQGludGVyZmFjZSBET01SR0JDb2xvciA6
IERPTU9iamVjdAotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilyZWQ7Ci0tIChET01DU1NQcmlt
aXRpdmVWYWx1ZSAqKWdyZWVuOwotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilibHVlOwotQGVu
ZAotCi1AaW50ZXJmYWNlIERPTVJlY3QgOiBET01PYmplY3QKLS0gKERPTUNTU1ByaW1pdGl2ZVZh
bHVlICopdG9wOwotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilyaWdodDsKLS0gKERPTUNTU1By
aW1pdGl2ZVZhbHVlICopYm90dG9tOwotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilsZWZ0Owot
QGVuZAotCi1AaW50ZXJmYWNlIERPTUNvdW50ZXIgOiBET01PYmplY3QKLS0gKE5TU3RyaW5nICop
aWRlbnRpZmllcjsKLS0gKE5TU3RyaW5nICopbGlzdFN0eWxlOwotLSAoTlNTdHJpbmcgKilzZXBh
cmF0b3I7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAoRE9NQ1NT
MlByb3BlcnRpZXMpCiAtIChOU1N0cmluZyAqKWF6aW11dGg7CiAtICh2b2lkKXNldEF6aW11dGg6
KE5TU3RyaW5nICopYXppbXV0aDsKQEAgLTQ0MCwxMCArMjk4LDMgQEAgZW51bSB7CiAtIChOU1N0
cmluZyAqKXpJbmRleDsKIC0gKHZvaWQpc2V0WkluZGV4OihOU1N0cmluZyAqKXpJbmRleDsKIEBl
bmQKLQotQGludGVyZmFjZSBET01DU1NTdHlsZVNoZWV0IDogRE9NU3R5bGVTaGVldAotLSAoRE9N
Q1NTUnVsZSAqKW93bmVyUnVsZTsKLS0gKERPTUNTU1J1bGVMaXN0ICopY3NzUnVsZXM7Ci0tICh1
bnNpZ25lZClpbnNlcnRSdWxlOihOU1N0cmluZyAqKXJ1bGUgOih1bnNpZ25lZClpbmRleDsKLS0g
KHZvaWQpZGVsZXRlUnVsZToodW5zaWduZWQpaW5kZXg7Ci1AZW5kCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NQ1NTLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01DU1MubW0JKHJldmlzaW9uIDE2MTcyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUNTUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIzLDQ1ICsyMjMsMTEgQEAgdHlwZWRlZiBET01X
aW5kb3cgQWJzdHJhY3RWaWV3OwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIERPTUNTU1N0eWxlU2hlZXQKIAotQGltcGxlbWVudGF0aW9uIERPTUNTU1N0eWxlU2hlZXQK
LQotLSAoQ1NTU3R5bGVTaGVldCAqKV9DU1NTdHlsZVNoZWV0Ci17Ci0gICAgcmV0dXJuIERPTV9j
YXN0PENTU1N0eWxlU2hlZXQqPihfaW50ZXJuYWwpOwotfQotCi0tIChET01DU1NSdWxlICopb3du
ZXJSdWxlCi17Ci0gICAgcmV0dXJuIFtET01DU1NSdWxlIF9ydWxlV2l0aDpbc2VsZiBfQ1NTU3R5
bGVTaGVldF0tPm93bmVyUnVsZSgpXTsKLX0KLQotLSAoRE9NQ1NTUnVsZUxpc3QgKiljc3NSdWxl
cwotewotICAgIHJldHVybiBbRE9NQ1NTUnVsZUxpc3QgX3J1bGVMaXN0V2l0aDpbc2VsZiBfQ1NT
U3R5bGVTaGVldF0tPmNzc1J1bGVzKCldOwotfQotCi0tICh1bnNpZ25lZClpbnNlcnRSdWxlOihO
U1N0cmluZyAqKXJ1bGUgOih1bnNpZ25lZClpbmRleAotewotICAgIEV4Y2VwdGlvbkNvZGUgZWM7
Ci0gICAgdW5zaWduZWQgcmVzdWx0ID0gW3NlbGYgX0NTU1N0eWxlU2hlZXRdLT5pbnNlcnRSdWxl
KHJ1bGUsIGluZGV4LCBlYyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0tICh2b2lkKWRlbGV0ZVJ1bGU6KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAg
RXhjZXB0aW9uQ29kZSBlYzsKLSAgICBbc2VsZiBfQ1NTU3R5bGVTaGVldF0tPmRlbGV0ZVJ1bGUo
aW5kZXgsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi1AZW5kCi0KIEBpbXBs
ZW1lbnRhdGlvbiBET01DU1NTdHlsZVNoZWV0IChXZWJDb3JlSW50ZXJuYWwpCiAKICsgKERPTUNT
U1N0eWxlU2hlZXQgKilfQ1NTU3R5bGVTaGVldFdpdGg6KENTU1N0eWxlU2hlZXQgKilpbXBsCiB7
Ci0gICAgcmV0dXJuIChET01DU1NTdHlsZVNoZWV0ICopW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxl
U2hlZXRXaXRoOmltcGxdOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01DU1NTdHlsZVNoZWV0
Kj4oW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxlU2hlZXRXaXRoOmltcGxdKTsKIH0KIAogQGVuZApA
QCAtMzU5LDQxICszMjUsNiBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAvLy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9NQ1NTUnVsZUxpc3QKIAotQGlt
cGxlbWVudGF0aW9uIERPTUNTU1J1bGVMaXN0Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlm
IChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8Q1NTUnVsZUxpc3QqPihfaW50ZXJuYWwp
LT5kZXJlZigpOwotICAgIH0KLSAgICBbc3VwZXIgZGVhbGxvY107Ci19Ci0KLS0gKHZvaWQpZmlu
YWxpemUKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PENTU1J1bGVM
aXN0Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGZpbmFsaXplXTsK
LX0KLQotLSAoQ1NTUnVsZUxpc3QgKilfcnVsZUxpc3QKLXsKLSAgICByZXR1cm4gRE9NX2Nhc3Q8
Q1NTUnVsZUxpc3QqPihfaW50ZXJuYWwpOwotfQotCi0tICh1bnNpZ25lZClsZW5ndGgKLXsKLSAg
ICByZXR1cm4gW3NlbGYgX3J1bGVMaXN0XS0+bGVuZ3RoKCk7Ci19Ci0KLS0gKERPTUNTU1J1bGUg
KilpdGVtOih1bnNpZ25lZClpbmRleAotewotICAgIHJldHVybiBbRE9NQ1NTUnVsZSBfcnVsZVdp
dGg6W3NlbGYgX3J1bGVMaXN0XS0+aXRlbShpbmRleCldOwotfQotCi1AZW5kCi0KIEBpbXBsZW1l
bnRhdGlvbiBET01DU1NSdWxlTGlzdCAoV2ViQ29yZUludGVybmFsKQogCiAtIChpZClfaW5pdFdp
dGhSdWxlTGlzdDooQ1NTUnVsZUxpc3QgKilpbXBsCkBAIC00MjAsNTkgKzM1MSwxMCBAQCB0eXBl
ZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAKIEBlbmQKIAorCiAvLy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9NQ1NTUnVsZQogCi1AaW1wbGVtZW50YXRpb24gRE9N
Q1NTUnVsZQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAg
ICAgIERPTV9jYXN0PENTU1J1bGUqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBb
c3VwZXIgZGVhbGxvY107Ci19Ci0KLS0gKHZvaWQpZmluYWxpemUKLXsKLSAgICBpZiAoX2ludGVy
bmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PENTU1J1bGUqPihfaW50ZXJuYWwpLT5kZXJlZigpOwot
ICAgIH0KLSAgICBbc3VwZXIgZmluYWxpemVdOwotfQotCi0tIChDU1NSdWxlICopX3J1bGUKLXsK
LSAgICByZXR1cm4gRE9NX2Nhc3Q8Q1NTUnVsZSo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKHVuc2ln
bmVkIHNob3J0KXR5cGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX3J1bGVdLT50eXBlKCk7Ci19Ci0K
LS0gKE5TU3RyaW5nICopY3NzVGV4dAotewotICAgIHJldHVybiBbc2VsZiBfcnVsZV0tPmNzc1Rl
eHQoKTsKLX0KLQotLSAodm9pZClzZXRDc3NUZXh0OihOU1N0cmluZyAqKWNzc1RleHQKLXsKLSAg
ICBbc2VsZiBfcnVsZV0tPnNldENzc1RleHQoY3NzVGV4dCk7Ci19Ci0KLS0gKERPTUNTU1N0eWxl
U2hlZXQgKilwYXJlbnRTdHlsZVNoZWV0Ci17Ci0gICAgcmV0dXJuIFtET01DU1NTdHlsZVNoZWV0
IF9DU1NTdHlsZVNoZWV0V2l0aDpbc2VsZiBfcnVsZV0tPnBhcmVudFN0eWxlU2hlZXQoKV07Ci19
Ci0KLS0gKERPTUNTU1J1bGUgKilwYXJlbnRSdWxlCi17Ci0gICAgcmV0dXJuIFtET01DU1NSdWxl
IF9ydWxlV2l0aDpbc2VsZiBfcnVsZV0tPnBhcmVudFJ1bGUoKV07Ci19Ci0KLUBlbmQKLQogQGlt
cGxlbWVudGF0aW9uIERPTUNTU1J1bGUgKFdlYkNvcmVJbnRlcm5hbCkKIAogLSAoaWQpX2luaXRX
aXRoUnVsZTooQ1NTUnVsZSAqKWltcGwKQEAgLTUyMywyMjAgKzQwNSwxNiBAQCB0eXBlZGVmIERP
TVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAKIEBlbmQKIAotLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLS8vIERPTUNTU1N0eWxlUnVsZQotCi1AaW1wbGVtZW50YXRpb24gRE9NQ1NT
U3R5bGVSdWxlCi0KLS0gKENTU1N0eWxlUnVsZSAqKV9zdHlsZVJ1bGUKLXsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oRE9NX2Nhc3Q8Q1NTUnVsZSo+KF9pbnRlcm5hbCkp
OwotfQotCi0tIChOU1N0cmluZyAqKXNlbGVjdG9yVGV4dAotewotICAgIHJldHVybiBbc2VsZiBf
c3R5bGVSdWxlXS0+c2VsZWN0b3JUZXh0KCk7Ci19Ci0KLS0gKHZvaWQpc2V0U2VsZWN0b3JUZXh0
OihOU1N0cmluZyAqKXNlbGVjdG9yVGV4dAotewotICAgIFtzZWxmIF9zdHlsZVJ1bGVdLT5zZXRT
ZWxlY3RvclRleHQoc2VsZWN0b3JUZXh0KTsKLX0KLQotLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlv
biAqKXN0eWxlCi17Ci0gICAgcmV0dXJuIFtET01DU1NTdHlsZURlY2xhcmF0aW9uIF9zdHlsZURl
Y2xhcmF0aW9uV2l0aDpbc2VsZiBfc3R5bGVSdWxlXS0+c3R5bGUoKV07Ci19Ci0KLUBlbmQKLQot
Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTUNTU01lZGlhUnVsZQot
Ci1AaW1wbGVtZW50YXRpb24gRE9NQ1NTTWVkaWFSdWxlCi0KLS0gKENTU01lZGlhUnVsZSAqKV9t
ZWRpYVJ1bGUKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTTWVkaWFSdWxlKj4oRE9NX2Nh
c3Q8Q1NTUnVsZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChET01NZWRpYUxpc3QgKiltZWRpYQot
ewotICAgIHJldHVybiBbRE9NTWVkaWFMaXN0IF9tZWRpYUxpc3RXaXRoOltzZWxmIF9tZWRpYVJ1
bGVdLT5tZWRpYSgpXTsKLX0KLQotLSAoRE9NQ1NTUnVsZUxpc3QgKiljc3NSdWxlcwotewotICAg
IHJldHVybiBbRE9NQ1NTUnVsZUxpc3QgX3J1bGVMaXN0V2l0aDpbc2VsZiBfbWVkaWFSdWxlXS0+
Y3NzUnVsZXMoKV07Ci19Ci0KLS0gKHVuc2lnbmVkKWluc2VydFJ1bGU6KE5TU3RyaW5nICopcnVs
ZSA6KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9tZWRpYVJ1bGVdLT5pbnNl
cnRSdWxlKHJ1bGUsIGluZGV4KTsKLX0KLQotLSAodm9pZClkZWxldGVSdWxlOih1bnNpZ25lZClp
bmRleAotewotICAgIFtzZWxmIF9tZWRpYVJ1bGVdLT5kZWxldGVSdWxlKGluZGV4KTsKLX0KLQot
QGVuZAotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NTRm9u
dEZhY2VSdWxlCi0KLUBpbXBsZW1lbnRhdGlvbiBET01DU1NGb250RmFjZVJ1bGUKLQotLSAoQ1NT
Rm9udEZhY2VSdWxlICopX2ZvbnRGYWNlUnVsZQotewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxD
U1NGb250RmFjZVJ1bGUqPihET01fY2FzdDxDU1NSdWxlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0g
KERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZQotewotICAgIHJldHVybiBbRE9NQ1NTU3R5
bGVEZWNsYXJhdGlvbiBfc3R5bGVEZWNsYXJhdGlvbldpdGg6W3NlbGYgX2ZvbnRGYWNlUnVsZV0t
PnN0eWxlKCldOwotfQotCi1AZW5kCi0KLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0vLyBET01DU1NQYWdlUnVsZQotCi1AaW1wbGVtZW50YXRpb24gRE9NQ1NTUGFnZVJ1bGUK
LQotLSAoQ1NTUGFnZVJ1bGUgKilfcGFnZVJ1bGUKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Q1NTUGFnZVJ1bGUqPihET01fY2FzdDxDU1NSdWxlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0gKE5T
U3RyaW5nICopc2VsZWN0b3JUZXh0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9wYWdlUnVsZV0tPnNl
bGVjdG9yVGV4dCgpOwotfQotCi0tICh2b2lkKXNldFNlbGVjdG9yVGV4dDooTlNTdHJpbmcgKilz
ZWxlY3RvclRleHQKLXsKLSAgICBbc2VsZiBfcGFnZVJ1bGVdLT5zZXRTZWxlY3RvclRleHQoc2Vs
ZWN0b3JUZXh0KTsKLX0KLQotLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKXN0eWxlCi17Ci0g
ICAgcmV0dXJuIFtET01DU1NTdHlsZURlY2xhcmF0aW9uIF9zdHlsZURlY2xhcmF0aW9uV2l0aDpb
c2VsZiBfcGFnZVJ1bGVdLT5zdHlsZSgpXTsKLX0KLQotQGVuZAotCi0vLy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NTSW1wb3J0UnVsZQotCi1AaW1wbGVtZW50YXRp
b24gRE9NQ1NTSW1wb3J0UnVsZQotCi0tIChDU1NJbXBvcnRSdWxlICopX2ltcG9ydFJ1bGUKLXsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTSW1wb3J0UnVsZSo+KERPTV9jYXN0PENTU1J1bGUq
PihfaW50ZXJuYWwpKTsKLX0KLQotLSAoRE9NTWVkaWFMaXN0ICopbWVkaWEKLXsKLSAgICByZXR1
cm4gW0RPTU1lZGlhTGlzdCBfbWVkaWFMaXN0V2l0aDpbc2VsZiBfaW1wb3J0UnVsZV0tPm1lZGlh
KCldOwotfQotCi0tIChOU1N0cmluZyAqKWhyZWYKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ltcG9y
dFJ1bGVdLT5ocmVmKCk7Ci19Ci0KLS0gKERPTUNTU1N0eWxlU2hlZXQgKilzdHlsZVNoZWV0Ci17
Ci0gICAgcmV0dXJuIFtET01DU1NTdHlsZVNoZWV0IF9DU1NTdHlsZVNoZWV0V2l0aDpbc2VsZiBf
aW1wb3J0UnVsZV0tPnN0eWxlU2hlZXQoKV07Ci19Ci0KLUBlbmQKLQotLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTUNTU0NoYXJzZXRSdWxlCi0KLUBpbXBsZW1lbnRh
dGlvbiBET01DU1NDaGFyc2V0UnVsZQotCi0tIChDU1NDaGFyc2V0UnVsZSAqKV9pbXBvcnRSdWxl
Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU0NoYXJzZXRSdWxlKj4oRE9NX2Nhc3Q8Q1NT
UnVsZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChOU1N0cmluZyAqKWVuY29kaW5nCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9pbXBvcnRSdWxlXS0+ZW5jb2RpbmcoKTsKLX0KLQotQGVuZAotCi0vLy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NTVW5rbm93blJ1bGUKLQot
QGltcGxlbWVudGF0aW9uIERPTUNTU1Vua25vd25SdWxlCi0KLUBlbmQKIAogLy8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTUNTU1N0eWxlRGVjbGFyYXRpb24KIAotQGlt
cGxlbWVudGF0aW9uIERPTUNTU1N0eWxlRGVjbGFyYXRpb24KLQotLSAodm9pZClkZWFsbG9jCi17
Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxDU1NTdHlsZURlY2xhcmF0
aW9uKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwot
fQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBE
T01fY2FzdDxDU1NTdHlsZURlY2xhcmF0aW9uKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9
Ci0gICAgW3N1cGVyIGZpbmFsaXplXTsKLX0KLQotLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgot
ewotICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIkRPTUNTU1N0eWxlRGVj
bGFyYXRpb246ICVAIiwgW3NlbGYgY3NzVGV4dF1dOwotfQotCi0tIChOU1N0cmluZyAqKWNzc1Rl
eHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5jc3NUZXh0KCk7Ci19
CitAaW1wbGVtZW50YXRpb24gRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAoRE9NQ1NTU3R5bGVEZWNs
YXJhdGlvbkV4dGVuc2lvbnMpCiAKLS0gKHZvaWQpc2V0Q3NzVGV4dDooTlNTdHJpbmcgKiljc3NU
ZXh0Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICBbc2VsZiBfc3R5bGVEZWNsYXJhdGlv
bl0tPnNldENzc1RleHQoY3NzVGV4dCwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci19
Ci0KLS0gKE5TU3RyaW5nICopZ2V0UHJvcGVydHlWYWx1ZTooTlNTdHJpbmcgKilwcm9wZXJ0eU5h
bWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5nZXRQcm9wZXJ0eVZh
bHVlKHByb3BlcnR5TmFtZSk7Ci19Ci0KLS0gKERPTUNTU1ZhbHVlICopZ2V0UHJvcGVydHlDU1NW
YWx1ZTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWUKLXsKLSAgICByZXR1cm4gW0RPTUNTU1ZhbHVl
IF92YWx1ZVdpdGg6W3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KHByb3BlcnR5TmFtZSkuZ2V0KCldOwotfQotCi0tIChOU1N0cmluZyAqKXJlbW92ZVByb3BlcnR5
OihOU1N0cmluZyAqKXByb3BlcnR5TmFtZQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwot
ICAgIFN0cmluZyByZXN1bHQgPSBbc2VsZiBfc3R5bGVEZWNsYXJhdGlvbl0tPnJlbW92ZVByb3Bl
cnR5KHByb3BlcnR5TmFtZSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLSAoTlNTdHJpbmcgKilnZXRQcm9wZXJ0eVByaW9yaXR5OihOU1N0
cmluZyAqKXByb3BlcnR5TmFtZQotewotICAgIHJldHVybiBbc2VsZiBfc3R5bGVEZWNsYXJhdGlv
bl0tPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydHlOYW1lKTsKLX0KKy8vLSAoTlNTdHJpbmcg
KilkZXNjcmlwdGlvbgorLy97CisvLyAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3Jt
YXQ6QCJET01DU1NTdHlsZURlY2xhcmF0aW9uOiAlQCIsIFtzZWxmIGNzc1RleHRdXTsKKy8vfQog
CiAtIChOU1N0cmluZyAqKWdldFByb3BlcnR5U2hvcnRoYW5kOihOU1N0cmluZyAqKXByb3BlcnR5
TmFtZQogewpAQCAtNzQ4LDI4ICs0MjYsNiBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZp
ZXc7CiAgICAgcmV0dXJuIFtzZWxmIF9zdHlsZURlY2xhcmF0aW9uXS0+aXNQcm9wZXJ0eUltcGxp
Y2l0KHByb3BlcnR5TmFtZSk7CiB9CiAKLS0gKHZvaWQpc2V0UHJvcGVydHk6KE5TU3RyaW5nICop
cHJvcGVydHlOYW1lIDooTlNTdHJpbmcgKil2YWx1ZSA6KE5TU3RyaW5nICopcHJpb3JpdHkKLXsK
LSAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIFtzZWxmIF9zdHlsZURlY2xhcmF0aW9uXS0+c2V0
UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSwgcHJpb3JpdHksIGVjKTsKLSAgICByYWlzZU9u
RE9NRXJyb3IoZWMpOwotfQotCi0tICh1bnNpZ25lZClsZW5ndGgKLXsKLSAgICByZXR1cm4gW3Nl
bGYgX3N0eWxlRGVjbGFyYXRpb25dLT5sZW5ndGgoKTsKLX0KLQotLSAoTlNTdHJpbmcgKilpdGVt
Oih1bnNpZ25lZClpbmRleAotewotICAgIHJldHVybiBbc2VsZiBfc3R5bGVEZWNsYXJhdGlvbl0t
Pml0ZW0oaW5kZXgpOwotfQotCi0tIChET01DU1NSdWxlICopcGFyZW50UnVsZQotewotICAgIHJl
dHVybiBbRE9NQ1NTUnVsZSBfcnVsZVdpdGg6W3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5wYXJl
bnRSdWxlKCldOwotfQotCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBET01DU1NTdHlsZURlY2xh
cmF0aW9uIChXZWJDb3JlSW50ZXJuYWwpCkBAIC04MDYsNDYgKzQ2Miw2IEBAIHR5cGVkZWYgRE9N
V2luZG93IEFic3RyYWN0VmlldzsKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAvLyBET01DU1NWYWx1ZQogCi1AaW1wbGVtZW50YXRpb24gRE9NQ1NTVmFsdWUKLQotLSAodm9p
ZClkZWFsbG9jCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxDU1NW
YWx1ZSo+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBkZWFsbG9jXTsK
LX0KLQotLSAodm9pZClmaW5hbGl6ZQotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAg
RE9NX2Nhc3Q8Q1NTVmFsdWUqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBbc3Vw
ZXIgZmluYWxpemVdOwotfQotCi0tIChDU1NWYWx1ZSAqKV92YWx1ZQotewotICAgIHJldHVybiBE
T01fY2FzdDxDU1NWYWx1ZSo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopY3NzVGV4
dAotewotICAgIHJldHVybiBbc2VsZiBfdmFsdWVdLT5jc3NUZXh0KCk7Ci19Ci0KLS0gKHZvaWQp
c2V0Q3NzVGV4dDooTlNTdHJpbmcgKiljc3NUZXh0Ci17Ci0gICAgW3NlbGYgX3ZhbHVlXS0+c2V0
Q3NzVGV4dChjc3NUZXh0KTsKLX0KLQotLSAodW5zaWduZWQgc2hvcnQpY3NzVmFsdWVUeXBlCi17
Ci0gICAgcmV0dXJuIFtzZWxmIF92YWx1ZV0tPmNzc1ZhbHVlVHlwZSgpOwotfQotCi1AZW5kCi0K
IEBpbXBsZW1lbnRhdGlvbiBET01DU1NWYWx1ZSAoV2ViQ29yZUludGVybmFsKQogCiAtIChpZClf
aW5pdFdpdGhWYWx1ZTooQ1NTVmFsdWUgKilpbXBsCkBAIC04ODcsMjAxICs1MDMsMjMgQEAgdHlw
ZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3OwogCiBAZW5kCiAKKwogLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTUNTU1ByaW1pdGl2ZVZhbHVlCiAKLUBpbXBsZW1l
bnRhdGlvbiBET01DU1NQcmltaXRpdmVWYWx1ZQorQGltcGxlbWVudGF0aW9uIERPTUNTU1ByaW1p
dGl2ZVZhbHVlIChXZWJDb3JlSW50ZXJuYWwpCiAKICsgKERPTUNTU1ByaW1pdGl2ZVZhbHVlICop
X3ZhbHVlV2l0aDooQ1NTVmFsdWUgKilpbXBsCiB7Ci0gICAgcmV0dXJuIChET01DU1NQcmltaXRp
dmVWYWx1ZSAqKShbRE9NQ1NTVmFsdWUgX3ZhbHVlV2l0aDogaW1wbF0pOwotfQotCi0tIChDU1NQ
cmltaXRpdmVWYWx1ZSAqKV9wcmltaXRpdmVWYWx1ZQotewotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZSo+KERPTV9jYXN0PENTU1ZhbHVlKj4oX2ludGVybmFsKSk7Ci19
Ci0KLS0gKHVuc2lnbmVkIHNob3J0KXByaW1pdGl2ZVR5cGUKLXsKLSAgICByZXR1cm4gW3NlbGYg
X3ByaW1pdGl2ZVZhbHVlXS0+cHJpbWl0aXZlVHlwZSgpOwotfQotCi0tICh2b2lkKXNldEZsb2F0
VmFsdWU6KHVuc2lnbmVkIHNob3J0KXVuaXRUeXBlIDooZmxvYXQpZmxvYXRWYWx1ZQotewotICAg
IEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgW3NlbGYgX3ByaW1pdGl2ZVZhbHVlXS0+c2V0RmxvYXRW
YWx1ZSh1bml0VHlwZSwgZmxvYXRWYWx1ZSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7
Ci19Ci0KLS0gKGZsb2F0KWdldEZsb2F0VmFsdWU6KHVuc2lnbmVkIHNob3J0KXVuaXRUeXBlCi17
Ci0gICAgcmV0dXJuIFtzZWxmIF9wcmltaXRpdmVWYWx1ZV0tPmdldEZsb2F0VmFsdWUodW5pdFR5
cGUpOwotfQotCi0tICh2b2lkKXNldFN0cmluZ1ZhbHVlOih1bnNpZ25lZCBzaG9ydClzdHJpbmdU
eXBlIDooTlNTdHJpbmcgKilzdHJpbmdWYWx1ZQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0g
ICAgU3RyaW5nIHN0cmluZyhzdHJpbmdWYWx1ZSk7Ci0gICAgW3NlbGYgX3ByaW1pdGl2ZVZhbHVl
XS0+c2V0U3RyaW5nVmFsdWUoc3RyaW5nVHlwZSwgc3RyaW5nLCBlYyk7Ci0gICAgcmFpc2VPbkRP
TUVycm9yKGVjKTsKLX0KLQotLSAoTlNTdHJpbmcgKilnZXRTdHJpbmdWYWx1ZQotewotICAgIHJl
dHVybiBTdHJpbmcoW3NlbGYgX3ByaW1pdGl2ZVZhbHVlXS0+Z2V0U3RyaW5nVmFsdWUoKSk7Ci19
Ci0KLS0gKERPTUNvdW50ZXIgKilnZXRDb3VudGVyVmFsdWUKLXsKLSAgICByZXR1cm4gW0RPTUNv
dW50ZXIgX2NvdW50ZXJXaXRoOltzZWxmIF9wcmltaXRpdmVWYWx1ZV0tPmdldENvdW50ZXJWYWx1
ZSgpXTsKLX0KLQotLSAoRE9NUmVjdCAqKWdldFJlY3RWYWx1ZQotewotICAgIHJldHVybiBbRE9N
UmVjdCBfcmVjdFdpdGg6W3NlbGYgX3ByaW1pdGl2ZVZhbHVlXS0+Z2V0UmVjdFZhbHVlKCldOwot
fQotCi0tIChET01SR0JDb2xvciAqKWdldFJHQkNvbG9yVmFsdWUKLXsKLSAgICByZXR1cm4gW0RP
TVJHQkNvbG9yIF9SR0JDb2xvcldpdGhSR0I6W3NlbGYgX3ByaW1pdGl2ZVZhbHVlXS0+Z2V0UkdC
Q29sb3JWYWx1ZSgpXTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NQ1NTUHJpbWl0aXZlVmFs
dWUqPihbRE9NQ1NTVmFsdWUgX3ZhbHVlV2l0aDppbXBsXSk7CiB9CiAKIEBlbmQKIAotLy8tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTUNTU1ZhbHVlTGlzdAotCi1AaW1w
bGVtZW50YXRpb24gRE9NQ1NTVmFsdWVMaXN0Ci0KLS0gKENTU1ZhbHVlTGlzdCAqKV92YWx1ZUxp
c3QKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4oRE9NX2Nhc3Q8Q1NT
VmFsdWUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAodW5zaWduZWQpbGVuZ3RoCi17Ci0gICAgcmV0
dXJuIFtzZWxmIF92YWx1ZUxpc3RdLT5sZW5ndGgoKTsKLX0KLQotLSAoRE9NQ1NTVmFsdWUgKilp
dGVtOih1bnNpZ25lZClpbmRleAotewotICAgIHJldHVybiBbRE9NQ1NTVmFsdWUgX3ZhbHVlV2l0
aDpbc2VsZiBfdmFsdWVMaXN0XS0+aXRlbShpbmRleCldOwotfQotCi1AZW5kCiAKIC8vLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01SR0JDb2xvcgogCi1zdGF0aWMgQ0ZN
dXRhYmxlRGljdGlvbmFyeVJlZiB3cmFwcGVyQ2FjaGUgPSBOVUxMOwotCi1pZCBnZXRXcmFwcGVy
Rm9yUkdCKFJHQkEzMiB2YWx1ZSkKLXsKLSAgICBpZiAoIXdyYXBwZXJDYWNoZSkKLSAgICAgICAg
cmV0dXJuIG5pbDsKLSAgICByZXR1cm4gKGlkKUNGRGljdGlvbmFyeUdldFZhbHVlKHdyYXBwZXJD
YWNoZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4odmFsdWUpKTsKLX0KLQotdm9pZCBz
ZXRXcmFwcGVyRm9yUkdCKGlkIHdyYXBwZXIsIFJHQkEzMiB2YWx1ZSkKLXsKLSAgICBpZiAoIXdy
YXBwZXJDYWNoZSkgewotICAgICAgICAvLyBObyBuZWVkIHRvIHJldGFpbi9mcmVlIGVpdGhlciBp
bXBsIGtleSwgb3IgaWQgdmFsdWUuICBJdGVtcyB3aWxsIGJlIHJlbW92ZWQKLSAgICAgICAgLy8g
ZnJvbSB0aGUgY2FjaGUgaW4gZGVhbGxvYyBtZXRob2RzLgotICAgICAgICB3cmFwcGVyQ2FjaGUg
PSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKE5VTEwsIDAsIE5VTEwsIE5VTEwpOwotICAgIH0K
LSAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZSh3cmFwcGVyQ2FjaGUsIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3Qgdm9pZCo+KHZhbHVlKSwgd3JhcHBlcik7Ci19Ci0KLXZvaWQgcmVtb3ZlV3JhcHBlckZv
clJHQihSR0JBMzIgdmFsdWUpCi17Ci0gICAgaWYgKCF3cmFwcGVyQ2FjaGUpCi0gICAgICAgIHJl
dHVybjsKLSAgICBDRkRpY3Rpb25hcnlSZW1vdmVWYWx1ZSh3cmFwcGVyQ2FjaGUsIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KHZhbHVlKSk7Ci19Ci0KLUBpbXBsZW1lbnRhdGlvbiBET01S
R0JDb2xvcgotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICByZW1vdmVXcmFwcGVyRm9yUkdCKHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwpKTsKLSAgICBbc3VwZXIgZGVhbGxv
Y107Ci19Ci0KLS0gKHZvaWQpZmluYWxpemUKLXsKLSAgICByZW1vdmVXcmFwcGVyRm9yUkdCKHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwpKTsKLSAgICBbc3VwZXIgZmluYWxp
emVdOwotfQotCi0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKXJlZAotewotICAgIFJHQkEzMiBy
Z2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKTsKLSAgICBpbnQgdmFs
dWUgPSAocmdiID4+IDE2KSAmIDB4RkY7Ci0gICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1
ZSBfdmFsdWVXaXRoOm5ldyBDU1NQcmltaXRpdmVWYWx1ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpXTsKLX0KLQotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilncmVlbgot
ewotICAgIFJHQkEzMiByZ2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFs
KTsKLSAgICBpbnQgdmFsdWUgPSAocmdiID4+IDgpICYgMHhGRjsKLSAgICByZXR1cm4gW0RPTUNT
U1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6bmV3IENTU1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOwotfQotCi0tIChET01DU1NQcmltaXRpdmVW
YWx1ZSAqKWJsdWUKLXsKLSAgICBSR0JBMzIgcmdiID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KF9pbnRlcm5hbCk7Ci0gICAgaW50IHZhbHVlID0gcmdiICYgMHhGRjsKLSAgICByZXR1cm4g
W0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6bmV3IENTU1ByaW1pdGl2ZVZhbHVlKHZh
bHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOwotfQotCi0tIChpZCljb3B5V2l0
aFpvbmU6KE5TWm9uZSAqKXpvbmUKLXsKLSAgICByZXR1cm4gW3NlbGYgcmV0YWluXTsKLX0KLQot
QGVuZAotCi1AaW1wbGVtZW50YXRpb24gRE9NUkdCQ29sb3IgKFdlYkNvcmVJbnRlcm5hbCkKLQot
LSAoaWQpX2luaXRXaXRoUkdCOihSR0JBMzIpdmFsdWUKLXsKLSAgICBbc3VwZXIgX2luaXRdOwot
ICAgIF9pbnRlcm5hbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPih2YWx1
ZSk7Ci0gICAgc2V0V3JhcHBlckZvclJHQihzZWxmLCB2YWx1ZSk7Ci0gICAgcmV0dXJuIHNlbGY7
Ci19Ci0KLSsgKERPTVJHQkNvbG9yICopX1JHQkNvbG9yV2l0aFJHQjooUkdCQTMyKXZhbHVlCi17
Ci0gICAgaWQgY2FjaGVkSW5zdGFuY2U7Ci0gICAgY2FjaGVkSW5zdGFuY2UgPSBnZXRXcmFwcGVy
Rm9yUkdCKHZhbHVlKTsKLSAgICBpZiAoY2FjaGVkSW5zdGFuY2UpCi0gICAgICAgIHJldHVybiBb
W2NhY2hlZEluc3RhbmNlIHJldGFpbl0gYXV0b3JlbGVhc2VdOwotICAgIAotICAgIHJldHVybiBb
W1tzZWxmIGFsbG9jXSBfaW5pdFdpdGhSR0I6dmFsdWVdIGF1dG9yZWxlYXNlXTsKLX0KLQotQGVu
ZAotCi1AaW1wbGVtZW50YXRpb24gRE9NUkdCQ29sb3IgKERPTVJHQkNvbG9yRXh0ZW5zaW9ucykK
LQotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilhbHBoYQotewotICAgIFJHQkEzMiByZ2IgPSBy
ZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKTsKLSAgICBmbG9hdCB2YWx1ZSA9
IChmbG9hdClDb2xvcihyZ2IpLmFscGhhKCkgLyAweEZGOwotICAgIHJldHVybiBbRE9NQ1NTUHJp
bWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpuZXcgQ1NTUHJpbWl0aXZlVmFsdWUodmFsdWUsIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKV07Ci0gICAgCi19Ci0KLS0gKE5TQ29sb3IgKiljb2xv
cgotewotICAgIFJHQkEzMiByZ2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVy
bmFsKTsKLSAgICByZXR1cm4gbnNDb2xvcihDb2xvcihyZ2IpKTsKLX0KLQotQGVuZAotCiBAaW1w
bGVtZW50YXRpb24gRE9NUkdCQ29sb3IgKFdlYlByaXZhdGUpCiAKIC0gKE5TQ29sb3IgKilfY29s
b3IKQEAgLTEwOTUsNTYgKzUzMyw2IEBAIHZvaWQgcmVtb3ZlV3JhcHBlckZvclJHQihSR0JBMzIg
dmFsdWUpCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9NUmVjdAog
Ci1AaW1wbGVtZW50YXRpb24gRE9NUmVjdAotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAo
X2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PFJlY3RJbXBsKj4oX2ludGVybmFsKS0+ZGVy
ZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXpl
Ci17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxSZWN0SW1wbCo+KF9p
bnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0g
KFJlY3RJbXBsICopX3JlY3QKLXsKLSAgICByZXR1cm4gRE9NX2Nhc3Q8UmVjdEltcGwqPihfaW50
ZXJuYWwpOwotfQotCi0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKXRvcAotewotICAgIHJldHVy
biBbRE9NQ1NTUHJpbWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpbc2VsZiBfcmVjdF0tPnRvcCgpXTsK
LX0KLQotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilyaWdodAotewotICAgIHJldHVybiBbRE9N
Q1NTUHJpbWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpbc2VsZiBfcmVjdF0tPnJpZ2h0KCldOwotfQot
Ci0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWJvdHRvbQotewotICAgIHJldHVybiBbRE9NQ1NT
UHJpbWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpbc2VsZiBfcmVjdF0tPmJvdHRvbSgpXTsKLX0KLQot
LSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilsZWZ0Ci17Ci0gICAgcmV0dXJuIFtET01DU1NQcmlt
aXRpdmVWYWx1ZSBfdmFsdWVXaXRoOltzZWxmIF9yZWN0XS0+bGVmdCgpXTsKLX0KLQotLSAoaWQp
Y29weVdpdGhab25lOihOU1pvbmUgKil6b25lCi17Ci0gICAgcmV0dXJuIFtzZWxmIHJldGFpbl07
Ci19Ci0KLUBlbmQKLQogQGltcGxlbWVudGF0aW9uIERPTVJlY3QgKFdlYkNvcmVJbnRlcm5hbCkK
IAogLSAoaWQpX2luaXRXaXRoUmVjdDooUmVjdEltcGwgKilpbXBsCkBAIC0xMTc0LDUxICs1NjIs
NiBAQCB2b2lkIHJlbW92ZVdyYXBwZXJGb3JSR0IoUkdCQTMyIHZhbHVlKQogLy8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTUNvdW50ZXIKIAotQGltcGxlbWVudGF0aW9u
IERPTUNvdW50ZXIKLQotLSAodm9pZClkZWFsbG9jCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewot
ICAgICAgICBET01fY2FzdDxDb3VudGVyKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0g
ICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9p
bnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxDb3VudGVyKj4oX2ludGVybmFsKS0+ZGVyZWYo
KTsKLSAgICB9Ci0gICAgW3N1cGVyIGZpbmFsaXplXTsKLX0KLQotLSAoQ291bnRlciAqKV9jb3Vu
dGVyCi17Ci0gICAgcmV0dXJuIERPTV9jYXN0PENvdW50ZXIqPihfaW50ZXJuYWwpOwotfQotCi0t
IChOU1N0cmluZyAqKWlkZW50aWZpZXIKLXsKLSAgICByZXR1cm4gW3NlbGYgX2NvdW50ZXJdLT5p
ZGVudGlmaWVyKCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbGlzdFN0eWxlCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF9jb3VudGVyXS0+bGlzdFN0eWxlKCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopc2VwYXJh
dG9yCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9jb3VudGVyXS0+c2VwYXJhdG9yKCk7Ci19Ci0KLS0g
KGlkKWNvcHlXaXRoWm9uZTooTlNab25lICopem9uZQotewotICAgIHJldHVybiBbc2VsZiByZXRh
aW5dOwotfQotCi1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBET01Db3VudGVyIChXZWJDb3JlSW50
ZXJuYWwpCiAKIC0gKGlkKV9pbml0V2l0aENvdW50ZXI6KENvdW50ZXIgKilpbXBsCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTSW50ZXJuYWwuaAkocmV2aXNpb24gMTYxNzIpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAt
MjcsMTQgKzI3LDI2IEBACiAjaW1wb3J0ICJET01DU1MuaCIKICNpbXBvcnQgIkNvbG9yLmgiCiAK
KyNpbXBvcnQgIkRPTUNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW1wb3J0ICJET01DU1NSdWxlLmgi
CisjaW1wb3J0ICJET01DU1NSdWxlTGlzdC5oIgorI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJh
dGlvbi5oIgorI2ltcG9ydCAiRE9NQ1NTU3R5bGVTaGVldC5oIgorI2ltcG9ydCAiRE9NQ1NTVmFs
dWUuaCIKKyNpbXBvcnQgIkRPTUNvdW50ZXIuaCIKKyNpbXBvcnQgIkRPTVJHQkNvbG9yLmgiCisj
aW1wb3J0ICJET01SZWN0LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBTdHls
ZVNoZWV0OwotICAgIGNsYXNzIE1lZGlhTGlzdDsKLSAgICBjbGFzcyBDU1NSdWxlTGlzdDsKICAg
ICBjbGFzcyBDU1NSdWxlOworICAgIGNsYXNzIENTU1J1bGVMaXN0OworICAgIGNsYXNzIENTU1N0
eWxlRGVjbGFyYXRpb247CisgICAgY2xhc3MgQ1NTU3R5bGVTaGVldDsKICAgICBjbGFzcyBDU1NW
YWx1ZTsKLSAgICBjbGFzcyBSZWN0SW1wbDsKICAgICBjbGFzcyBDb3VudGVyOworICAgIGNsYXNz
IE1lZGlhTGlzdDsKKyAgICBjbGFzcyBSZWN0SW1wbDsKKyAgICBjbGFzcyBTdHlsZVNoZWV0Owog
fQogCiBAaW50ZXJmYWNlIERPTVN0eWxlU2hlZXQgKFdlYkNvcmVJbnRlcm5hbCkKQEAgLTcyLDMg
Kzg0LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEBpbnRlcmZhY2UgRE9NQ291bnRlciAoV2Vi
Q29yZUludGVybmFsKQogKyAoRE9NQ291bnRlciAqKV9jb3VudGVyV2l0aDooV2ViQ29yZTo6Q291
bnRlciAqKWltcGw7CiBAZW5kCisKK0BpbnRlcmZhY2UgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAo
V2ViQ29yZUludGVybmFsKQorKyAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKV9zdHlsZURlY2xh
cmF0aW9uV2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbiAqKWltcGw7CistIChXZWJD
b3JlOjpDU1NTdHlsZURlY2xhcmF0aW9uICopX3N0eWxlRGVjbGFyYXRpb247CitAZW5kCisKK0Bp
bnRlcmZhY2UgRE9NQ1NTU3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQorKyAoRE9NQ1NTU3R5
bGVTaGVldCAqKV9DU1NTdHlsZVNoZWV0V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCAqKWlt
cGw7CitAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXh0ZW5zaW9ucy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmgJKHJldmlz
aW9uIDE2MTcyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW1wb3J0IDxXZWJDb3JlL0RPTUF0dHIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1N0
eWxlRGVjbGFyYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NRE9NSW1wbGVtZW50YXRpb24u
aD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9N
RWxlbWVudC5oPgpAQCAtMzksMTEgKzQwLDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxM
aW5rRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MT2JqZWN0RWxlbWVudC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9ET01Ob2RlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVJHQkNvbG9y
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlLmg+CiAKLUBjbGFzcyBOU0NvbG9yOwogQGNs
YXNzIE5TSW1hZ2U7Ci1AY2xhc3MgRE9NSFRNTENvbGxlY3Rpb247CiAKIEBpbnRlcmZhY2UgRE9N
RG9jdW1lbnQgKERPTURvY3VtZW50Q1NTRXh0ZW5zaW9ucykKIC0gKERPTUNTU1N0eWxlRGVjbGFy
YXRpb24gKiljcmVhdGVDU1NTdHlsZURlY2xhcmF0aW9uOwpAQCAtOTUsMTEgKzk1LDYgQEAKIC0g
KHZvaWQpc2V0V2lkdGg6KGludCl3aWR0aDsKIEBlbmQKIAotQGludGVyZmFjZSBET01SR0JDb2xv
ciAoRE9NUkdCQ29sb3JFeHRlbnNpb25zKQotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilhbHBo
YTsKLS0gKE5TQ29sb3IgKiljb2xvcjsKLUBlbmQKLQogQGludGVyZmFjZSBET01DU1NTdHlsZURl
Y2xhcmF0aW9uIChET01DU1NTdHlsZURlY2xhcmF0aW9uRXh0ZW5zaW9ucykKIC0gKE5TU3RyaW5n
ICopZ2V0UHJvcGVydHlTaG9ydGhhbmQ6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lOwogLSAoQk9P
TClpc1Byb3BlcnR5SW1wbGljaXQ6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lOwpJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUludGVybmFsLmgJKHJldmlzaW9uIDE2MTcyKQorKysgV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcg
QEAKICAqLwogCiAjaW1wb3J0ICJET00uaCIKKyNpbXBvcnQgIkRPTUNTU0ludGVybmFsLmgiCiAK
ICNpbXBvcnQgIkRPTUF0dHIuaCIKICNpbXBvcnQgIkRPTUNEQVRBU2VjdGlvbi5oIgpAQCAtNDYs
OCArNDcsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF0dHI7CiAgICAgY2xh
c3MgQ0RBVEFTZWN0aW9uOwotICAgIGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247Ci0gICAgY2xh
c3MgQ1NTU3R5bGVTaGVldDsKICAgICBjbGFzcyBDb21tZW50OwogICAgIGNsYXNzIERPTUltcGxl
bWVudGF0aW9uRnJvbnQ7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CkBAIC0xNTAsMTkgKzE0OSwxMCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiArIChET01UcmVlV2Fsa2VyICopX3RyZWVXYWxrZXJXaXRo
OihXZWJDb3JlOjpUcmVlV2Fsa2VyICopaW1wbCBmaWx0ZXI6KGlkIDxET01Ob2RlRmlsdGVyPilm
aWx0ZXI7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAoV2ViQ29y
ZUludGVybmFsKQotKyAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKV9zdHlsZURlY2xhcmF0aW9u
V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbiAqKWltcGw7Ci0tIChXZWJDb3JlOjpD
U1NTdHlsZURlY2xhcmF0aW9uICopX3N0eWxlRGVjbGFyYXRpb247Ci1AZW5kCi0KIEBpbnRlcmZh
Y2UgRE9NU3R5bGVTaGVldExpc3QgKFdlYkNvcmVJbnRlcm5hbCkKICsgKERPTVN0eWxlU2hlZXRM
aXN0ICopX3N0eWxlU2hlZXRMaXN0V2l0aDooV2ViQ29yZTo6U3R5bGVTaGVldExpc3QgKilpbXBs
OwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUNTU1N0eWxlU2hlZXQgKFdlYkNvcmVJbnRlcm5hbCkK
LSsgKERPTUNTU1N0eWxlU2hlZXQgKilfQ1NTU3R5bGVTaGVldFdpdGg6KFdlYkNvcmU6OkNTU1N0
eWxlU2hlZXQgKilpbXBsOwotQGVuZAotCiBAaW50ZXJmYWNlIERPTU5vZGVGaWx0ZXIgOiBET01P
YmplY3QgPERPTU5vZGVGaWx0ZXI+CiArIChET01Ob2RlRmlsdGVyICopX25vZGVGaWx0ZXJXaXRo
OihXZWJDb3JlOjpOb2RlRmlsdGVyICopaW1wbDsKIEBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01SR0JDb2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01SR0JDb2xvci5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TVJHQkNvbG9yLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDQtMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2ltcG9ydCA8V2ViQ29yZS9ET01PYmplY3QuaD4KKworQGNsYXNzIERP
TUNTU1ByaW1pdGl2ZVZhbHVlOworCitAaW50ZXJmYWNlIERPTVJHQkNvbG9yIDogRE9NT2JqZWN0
CistIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKXJlZDsKKy0gKERPTUNTU1ByaW1pdGl2ZVZhbHVl
ICopZ3JlZW47CistIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWJsdWU7CitAZW5kCisKK0BpbnRl
cmZhY2UgRE9NUkdCQ29sb3IgKERPTVJHQkNvbG9yRXh0ZW5zaW9ucykKKy0gKERPTUNTU1ByaW1p
dGl2ZVZhbHVlICopYWxwaGE7CistIChOU0NvbG9yICopY29sb3I7CitAZW5kCkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLm1tCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVJHQkNvbG9yLm1tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNh
bS53ZWluaWdAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
RE9NUkdCQ29sb3IuaCIKKworI2ltcG9ydCAiRE9NSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUNT
U0ludGVybmFsLmgiCisjaW1wb3J0IDx3dGYvR2V0UHRyLmg+CisjaW1wb3J0ICJDb2xvci5oIgor
I2ltcG9ydCAiRE9NQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbXBvcnQgIkNTU1ByaW1pdGl2ZVZh
bHVlLmgiCisKK3N0YXRpYyBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIHdyYXBwZXJDYWNoZSA9IE5V
TEw7CisKK2lkIGdldFdyYXBwZXJGb3JSR0IoV2ViQ29yZTo6UkdCQTMyIHZhbHVlKQoreworICAg
IGlmICghd3JhcHBlckNhY2hlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIHJldHVybiAoaWQp
Q0ZEaWN0aW9uYXJ5R2V0VmFsdWUod3JhcHBlckNhY2hlLCByZWludGVycHJldF9jYXN0PGNvbnN0
IHZvaWQqPih2YWx1ZSkpOworfQorCit2b2lkIHNldFdyYXBwZXJGb3JSR0IoaWQgd3JhcHBlciwg
V2ViQ29yZTo6UkdCQTMyIHZhbHVlKQoreworICAgIGlmICghd3JhcHBlckNhY2hlKSB7CisgICAg
ICAgIC8vIE5vIG5lZWQgdG8gcmV0YWluL2ZyZWUgZWl0aGVyIGltcGwga2V5LCBvciBpZCB2YWx1
ZS4gIEl0ZW1zIHdpbGwgYmUgcmVtb3ZlZAorICAgICAgICAvLyBmcm9tIHRoZSBjYWNoZSBpbiBk
ZWFsbG9jIG1ldGhvZHMuCisgICAgICAgIHdyYXBwZXJDYWNoZSA9IENGRGljdGlvbmFyeUNyZWF0
ZU11dGFibGUoTlVMTCwgMCwgTlVMTCwgTlVMTCk7CisgICAgfQorICAgIENGRGljdGlvbmFyeVNl
dFZhbHVlKHdyYXBwZXJDYWNoZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4odmFsdWUp
LCB3cmFwcGVyKTsKK30KKwordm9pZCByZW1vdmVXcmFwcGVyRm9yUkdCKFdlYkNvcmU6OlJHQkEz
MiB2YWx1ZSkKK3sKKyAgICBpZiAoIXdyYXBwZXJDYWNoZSkKKyAgICAgICAgcmV0dXJuOworICAg
IENGRGljdGlvbmFyeVJlbW92ZVZhbHVlKHdyYXBwZXJDYWNoZSwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCB2b2lkKj4odmFsdWUpKTsKK30KKworCitAaW1wbGVtZW50YXRpb24gRE9NUkdCQ29sb3IK
KworLSAodm9pZClkZWFsbG9jCit7CisgICAgcmVtb3ZlV3JhcHBlckZvclJHQihyZWludGVycHJl
dF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKSk7CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQor
CistICh2b2lkKWZpbmFsaXplCit7CisgICAgcmVtb3ZlV3JhcHBlckZvclJHQihyZWludGVycHJl
dF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKSk7CisgICAgW3N1cGVyIGZpbmFsaXplXTsKK30K
KworLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilyZWQKK3sKKyAgICBXZWJDb3JlOjpSR0JBMzIg
cmdiID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KF9pbnRlcm5hbCk7CisgICAgaW50IHZh
bHVlID0gKHJnYiA+PiAxNikgJiAweEZGOworICAgIHJldHVybiBbRE9NQ1NTUHJpbWl0aXZlVmFs
dWUgX3ZhbHVlV2l0aDpuZXcgV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWUodmFsdWUsIFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKV07Cit9CisKKy0gKERPTUNTU1ByaW1p
dGl2ZVZhbHVlICopZ3JlZW4KK3sKKyAgICBXZWJDb3JlOjpSR0JBMzIgcmdiID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KF9pbnRlcm5hbCk7CisgICAgaW50IHZhbHVlID0gKHJnYiA+PiA4
KSAmIDB4RkY7CisgICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRoOm5l
dyBXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZSh2YWx1ZSwgV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19OVU1CRVIpXTsKK30KKworLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilibHVl
Cit7CisgICAgV2ViQ29yZTo6UkdCQTMyIHJnYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihfaW50ZXJuYWwpOworICAgIGludCB2YWx1ZSA9IHJnYiAmIDB4RkY7CisgICAgcmV0dXJuIFtE
T01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRoOm5ldyBXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZSh2YWx1ZSwgV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpXTsKK30K
KworQGVuZAorCitAaW1wbGVtZW50YXRpb24gRE9NUkdCQ29sb3IgKERPTVJHQkNvbG9yRXh0ZW5z
aW9ucykKKworLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilhbHBoYQoreworICAgIFdlYkNvcmU6
OlJHQkEzMiByZ2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKTsKKyAg
ICBmbG9hdCB2YWx1ZSA9IHN0YXRpY19jYXN0PGZsb2F0PihXZWJDb3JlOjpDb2xvcihyZ2IpLmFs
cGhhKCkpIC8gMHhGRjsKKyAgICByZXR1cm4gW0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdp
dGg6bmV3IFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBXZWJDb3JlOjpDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOworICAgIAorfQorCistIChOU0NvbG9yICopY29sb3IK
K3sKKyAgICBXZWJDb3JlOjpSR0JBMzIgcmdiID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KF9pbnRlcm5hbCk7CisgICAgcmV0dXJuIG5zQ29sb3IoV2ViQ29yZTo6Q29sb3IocmdiKSk7Cit9
CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIERPTVJHQkNvbG9yIChXZWJDb3JlSW50ZXJuYWwp
CisKKy0gKGlkKV9pbml0V2l0aFJHQjooV2ViQ29yZTo6UkdCQTMyKXZhbHVlCit7CisgICAgW3N1
cGVyIF9pbml0XTsKKyAgICBfaW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0PERPTU9iamVjdElu
dGVybmFsKj4odmFsdWUpOworICAgIHNldFdyYXBwZXJGb3JSR0Ioc2VsZiwgdmFsdWUpOworICAg
IHJldHVybiBzZWxmOworfQorCisrIChET01SR0JDb2xvciAqKV9SR0JDb2xvcldpdGhSR0I6KFdl
YkNvcmU6OlJHQkEzMil2YWx1ZQoreworICAgIGlkIGNhY2hlZEluc3RhbmNlOworICAgIGNhY2hl
ZEluc3RhbmNlID0gZ2V0V3JhcHBlckZvclJHQih2YWx1ZSk7CisgICAgaWYgKGNhY2hlZEluc3Rh
bmNlKQorICAgICAgICByZXR1cm4gW1tjYWNoZWRJbnN0YW5jZSByZXRhaW5dIGF1dG9yZWxlYXNl
XTsKKyAgICAKKyAgICByZXR1cm4gW1tbc2VsZiBhbGxvY10gX2luaXRXaXRoUkdCOnZhbHVlXSBh
dXRvcmVsZWFzZV07Cit9CisKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yT2JqQy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHJldmlzaW9uIDE2MTcyKQorKysgV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEs
MTMgKzIwMSwxNyBAQCBzdWIgR2V0Q2xhc3NOYW1lCiBzdWIgR2V0SW1wbENsYXNzTmFtZQogewog
ICAgIG15ICRuYW1lID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKHNoaWZ0KTsKLSAgICAK
KwogICAgICMgc3BlY2lhbCBjYXNlcwogICAgIGlmICgkbmFtZSBlcSAiRE9NSW1wbGVtZW50YXRp
b24iKSB7Ci0gICAgICAgIHJldHVybiAiV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb25Gcm9udCI7
CisgICAgICAgIHJldHVybiAiRE9NSW1wbGVtZW50YXRpb25Gcm9udCI7CisgICAgfQorCisgICAg
aWYgKCRuYW1lIGVxICJSZWN0IikgeworICAgICAgICByZXR1cm4gIlJlY3RJbXBsIjsKICAgICB9
CiAKLSAgICByZXR1cm4gIldlYkNvcmU6OiIgLiAkbmFtZTsKKyAgICByZXR1cm4gJG5hbWU7CiB9
CiAKIHN1YiBHZXRQYXJlbnRJbXBsQ2xhc3NOYW1lCkBAIC0yNTQsNyArMjU4LDcgQEAgc3ViIEdl
dE9iakNUeXBlTWFrZXIKICAgICAgICAgcmV0dXJuICIiOwogICAgIH0KIAotICAgIGlmICgkdHlw
ZSBlcSAiRE9NUkdCQ29sb3IiKSB7CisgICAgaWYgKCR0eXBlIGVxICJSR0JDb2xvciIpIHsKICAg
ICAgICAgcmV0dXJuICJfUkdCQ29sb3JXaXRoUkdCIjsKICAgICB9CiAKQEAgLTI3OCw2ICsyODIs
MTQgQEAgc3ViIEdldE9iakNUeXBlTWFrZXIKICAgICAgICAgJHR5cGVNYWtlciA9ICJzdHlsZURl
Y2xhcmF0aW9uIjsKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiQ1NTU3R5bGVTaGVldCIpIHsKICAg
ICAgICAgJHR5cGVNYWtlciA9ICJDU1NTdHlsZVNoZWV0IjsKKyAgICB9IGVsc2lmICgkdHlwZSBl
cSAiQ1NTUnVsZSIpIHsKKyAgICAgICAgJHR5cGVNYWtlciA9ICJydWxlIjsKKyAgICB9IGVsc2lm
ICgkdHlwZSBlcSAiQ1NTUnVsZUxpc3QiKSB7CisgICAgICAgICR0eXBlTWFrZXIgPSAicnVsZUxp
c3QiOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJDU1NWYWx1ZSIpIHsKKyAgICAgICAgJHR5cGVN
YWtlciA9ICJ2YWx1ZSI7CisgICAgfSBlbHNpZiAoJHR5cGUgZXEgIkNTU1ByaW1pdGl2ZVZhbHVl
IikgeworICAgICAgICAkdHlwZU1ha2VyID0gInZhbHVlIjsKICAgICB9IGVsc2lmICgkdHlwZSBl
cSAiRE9NSW1wbGVtZW50YXRpb24iKSB7CiAgICAgICAgICR0eXBlTWFrZXIgPSAiRE9NSW1wbGVt
ZW50YXRpb24iOwogICAgIH0gZWxzaWYgKCR0eXBlIGVxICJDREFUQVNlY3Rpb24iKSB7CkBAIC0z
NDAsMjkgKzM1MiwxNCBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgfQogCiAgICAgIyBU
ZW1wIERPTUNTUy5oCi0gICAgaWYgKCR0eXBlIGVxICJDb3VudGVyIgotICAgICAgICAgICAgb3Ig
JHR5cGUgZXEgIk1lZGlhTGlzdCIKLSAgICAgICAgICAgIG9yICR0eXBlIGVxICJDU1NTdHlsZVNo
ZWV0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01DU1MuaCJ9ID0gMTsKLSAgICAgICAg
JGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9ID0gMTsKKyAgICBpZiAoJHR5cGUgZXEgIlJlY3QiKSB7
CisgICAgICAgICRpbXBsSW5jbHVkZXN7IkRPTVJlY3QuaCJ9ID0gMTsKKyAgICAgICAgJGltcGxJ
bmNsdWRlc3siUmVjdEltcGwuaCJ9ID0gMTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBp
ZiAoJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iKSB7Ci0gICAgICAgICRpbXBsSW5jbHVk
ZXN7IkRPTUNTUy5oIn0gPSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyIkdHlwZS5oIn0gPSAx
OwotICAgICAgICAkaW1wbEluY2x1ZGVzeyJDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIn0g
PSAxOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICgkdHlwZSBlcSAiUkdCQ29sb3Ii
IG9yICR0eXBlIGVxICJSZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01DU1MuaCJ9
ID0gMTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgICMgVGVtcCBET01IVE1MLmgKLSAg
ICBpZiAoJHR5cGUgZXEgIkhUTUxEb2N1bWVudCIpIHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3si
RE9NSFRNTC5oIn0gPSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01IVE1MSW50ZXJuYWwu
aCJ9ID0gMTsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9ID0gMTsKKyAgICBpZiAo
JHR5cGUgZXEgIlJHQkNvbG9yIikgeworICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01SR0JDb2xv
ci5oIn0gPSAxOworICAgICAgICAkaW1wbEluY2x1ZGVzeyJDb2xvci5oIn0gPSAxOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0zNzQsOSArMzcxLDExIEBAIHN1YiBBZGRJbmNsdWRlc0Zv
clR5cGUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgICMgVGVtcCBET01TdHlsZVNoZWV0
cy5oCi0gICAgaWYgKCR0eXBlIGVxICJTdHlsZVNoZWV0TGlzdCIpIHsKLSAgICAgICAgJGltcGxJ
bmNsdWRlc3siRE9NU3R5bGVTaGVldHMuaCJ9ID0gMTsKKyAgICAjIFRlbXAgRE9NU3R5bGVzaGVl
dHMuaAorICAgIGlmICgkdHlwZSBlcSAiU3R5bGVTaGVldCIKKyAgICAgICAgICAgIG9yICR0eXBl
IGVxICJTdHlsZVNoZWV0TGlzdCIKKyAgICAgICAgICAgIG9yICR0eXBlIGVxICJNZWRpYUxpc3Qi
KSB7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IkRPTVN0eWxlc2hlZXRzLmgifSA9IDE7CiAgICAg
ICAgICRpbXBsSW5jbHVkZXN7IiR0eXBlLmgifSA9IDE7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC00MDQsNiArNDAzLDEzIEBAIHN1YiBBZGRJbmNsdWRlc0ZvclR5cGUKICAgICAgICAgJGlt
cGxJbmNsdWRlc3siRE9NSW1wbGVtZW50YXRpb25Gcm9udC5oIn0gPSAxOwogICAgIH0KIAorICAg
ICMgRklYTUU6IGZvciBzb21lIHJlYXNvbiBpdCB3b24ndCBjb21waWxlIHdpdGhvdXQgYm90aCBD
U1NTdHlsZURlY2xhcmF0aW9uLmgKKyAgICAjIGFuZCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bi5oCisgICAgaWYgKCR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIikgeworICAgICAgICAk
aW1wbEluY2x1ZGVzeyJDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIn0gPSAxOworICAgIH0K
KworCiAgICAgIyBBZGQgdHlwZSBzcGVjaWZpYyBpbnRlcm5hbCB0eXBlcy4KICAgICAkaW1wbElu
Y2x1ZGVzeyJET01IVE1MSW50ZXJuYWwuaCJ9ID0gMSBpZiAoJHR5cGUgPX4gL15IVE1MLyk7CiAK
QEAgLTQzNCw3ICs0NDAsMTEgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgQGhlYWRlckNvbnRl
bnRIZWFkZXIgPSBzcGxpdCgiXHIiLCAkaGVhZGVyTGljZW5jZVRlbXBsYXRlKTsKIAogICAgICMg
LSBJTkNMVURFUyAtCi0gICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgIlxuI2ltcG9ydCA8
V2ViQ29yZS8kcGFyZW50Q2xhc3NOYW1lLmg+IC8vIHBhcmVudCBjbGFzc1xuXG4iKTsKKyAgICBp
ZiAoJHBhcmVudENsYXNzTmFtZSBlcSAiRE9NU3R5bGVTaGVldCIpIHsKKyAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudEhlYWRlciwgIlxuI2ltcG9ydCA8V2ViQ29yZS9ET01TdHlsZXNoZWV0cy5o
PiAvLyBwYXJlbnQgY2xhc3NcblxuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudEhlYWRlciwgIlxuI2ltcG9ydCA8V2ViQ29yZS8kcGFyZW50Q2xhc3NOYW1lLmg+
IC8vIHBhcmVudCBjbGFzc1xuXG4iKTsKKyAgICB9CiAKICAgICAjIC0gQWRkIGNvbnN0YW50cy4K
ICAgICBpZiAoJG51bUNvbnN0YW50cyA+IDApIHsKQEAgLTQ1MSw5ICs0NjEsOSBAQCBzdWIgR2Vu
ZXJhdGVIZWFkZXIKICAgICAgICAgbXkgJGNvbWJpbmVkQ29uc3RhbnRzID0gam9pbigiLFxuIiwg
QGhlYWRlckNvbnN0YW50cyk7CiAKICAgICAgICAgIyBGSVhNRTogdGhlIGZvcm1hdHRpbmcgb2Yg
dGhlIGVudW1zIHNob3VsZCBsaW5lIHVwIHRoZSBlcXVhbCBzaWducy4KLSAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIlxuZW51bSB7XG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgImVudW0ge1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICRjb21iaW5lZENv
bnN0YW50cyk7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJcbn07XG4iKTsgICAgICAg
IAorICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG59O1xuXG4iKTsgICAgICAgIAogICAg
IH0KICAgICAKICAgICAjIC0gQmVnaW4gQGludGVyZmFjZSAKQEAgLTU4MywxMSArNTkzLDcgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgfQogCiAgICAgICAgICMgaW5jbHVk
ZSBJbXBsZW1lbnRhdGlvbiBjbGFzcwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwg
IiNpbXBvcnQgXCIkaW50ZXJmYWNlTmFtZS5oXCIgLy8gaW1wbGVtZW50YXRpb24gY2xhc3NcbiIp
OwotICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTUltcGxlbWVudGF0aW9uIikgewot
ICAgICAgICAgICAgIyBGSVhNRTogbmVlZGVkIHVudGlsIHdlIGNhbiByZW1vdmUgRE9NSW1wbGVt
ZW50YXRpb25Gcm9udAotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnRIZWFkZXIsICIjaW1w
b3J0IFwiRE9NSW1wbGVtZW50YXRpb25Gcm9udC5oXCJcbiIpOwotICAgICAgICB9CisgICAgICAg
IHB1c2goQGltcGxDb250ZW50SGVhZGVyLCAiI2ltcG9ydCBcIiRpbXBsQ2xhc3NOYW1lLmhcIiAv
LyBpbXBsZW1lbnRhdGlvbiBjbGFzc1xuIik7CiAgICAgfQogCiAgICAgQGltcGxDb250ZW50ID0g
KCk7CkBAIC01OTYsNiArNjAyLDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIlxAaW1wbGVtZW50YXRpb24gJGNsYXNzTmFtZVxuXG4iKTsKIAog
ICAgIGlmICgkaGFzRnVuY3Rpb25zT3JBdHRyaWJ1dGVzKSB7CisgICAgICAgICMgQWRkIG5hbWVz
cGFjZSB0byBpbXBsZW1lbnRhdGlvbiBjbGFzcyBuYW1lIAorICAgICAgICAkaW1wbENsYXNzTmFt
ZSA9ICJXZWJDb3JlOjoiIC4gJGltcGxDbGFzc05hbWU7CisKICAgICAgICAgaWYgKCRwYXJlbnRJ
bXBsQ2xhc3NOYW1lIGVxICJPYmplY3QiKSB7CiAgICAgICAgICAgICAjIE9ubHkgZ2VuZXJhdGUg
J2RlYWxsb2MnIGFuZCAnZmluYWxpemUnIG1ldGhvZHMgZm9yIGRpcmVjdCBzdWJjbGFzc2VzIG9m
IERPTU9iamVjdC4KIApAQCAtNjE0LDExICs2MjMsMTUgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBJTVBMLT5kZXJl
ZigpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBbc3VwZXIgZmlu
YWxpemVdO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7Cisg
ICAgICAgICAgICAKKyAgICAgICAgfSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIkNTU1N0eWxl
U2hlZXQiKSB7CisgICAgICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgQ1NTU3R5bGVTaGVldAor
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZGVmaW5lIElNUEwgcmVpbnRlcnByZXRf
Y2FzdDxXZWJDb3JlOjpDU1NTdHlsZVNoZWV0Kj4oX2ludGVybmFsKVxuXG4iKTsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIG15ICRpbnRlcm5hbEJhc2VUeXBlOwotICAgICAgICAgICAg
aWYgKCRpbnRlcmZhY2VOYW1lID1+IC9eQ1NTLitWYWx1ZSQvKSB7CisgICAgICAgICAgICBpZiAo
JHBhcmVudEltcGxDbGFzc05hbWUgZXEgIkNTU1ZhbHVlIikgewogICAgICAgICAgICAgICAgICRp
bnRlcm5hbEJhc2VUeXBlID0gIldlYkNvcmU6OkNTU1ZhbHVlIgotICAgICAgICAgICAgfSBlbHNp
ZiAoJGludGVyZmFjZU5hbWUgPX4gL15DU1MuK1J1bGUkLykgeworICAgICAgICAgICAgfSBlbHNp
ZiAoJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIkNTU1J1bGUiKSB7CiAgICAgICAgICAgICAgICAg
JGludGVybmFsQmFzZVR5cGUgPSAiV2ViQ29yZTo6Q1NTUnVsZSIKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgJGludGVybmFsQmFzZVR5cGUgPSAiV2ViQ29yZTo6Tm9kZSIK
QEAgLTg1NCw4ICs4NjcsMTMgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgICAgICMgU3Vycm91bmQgZ2V0dGVyIHdp
dGggVHlwZU1ha2VyCi0gICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbkNvbnRlbnRIZWFkID0g
IlskcmV0dXJuVHlwZUNsYXNzICR0eXBlTWFrZXI6V1RGOjpnZXRQdHIoIiAuICRmdW5jdGlvbkNv
bnRlbnRIZWFkOwotICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25Db250ZW50VGFpbCAuPSAi
KV0iOworICAgICAgICAgICAgICAgICAgICBpZiAoJHJldHVyblR5cGVDbGFzcyBlcSAiRE9NUkdC
Q29sb3IiKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25Db250ZW50SGVhZCA9
ICJbJHJldHVyblR5cGVDbGFzcyAkdHlwZU1ha2VyOiIgLiAkZnVuY3Rpb25Db250ZW50SGVhZDsK
KyAgICAgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbkNvbnRlbnRUYWlsIC49ICJdIjsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICRmdW5j
dGlvbkNvbnRlbnRIZWFkID0gIlskcmV0dXJuVHlwZUNsYXNzICR0eXBlTWFrZXI6V1RGOjpnZXRQ
dHIoIiAuICRmdW5jdGlvbkNvbnRlbnRIZWFkOworICAgICAgICAgICAgICAgICAgICAgICAgJGZ1
bmN0aW9uQ29udGVudFRhaWwgLj0gIildIjsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIG15ICRjb250ZW50ID0gIiI7CkluZGV4OiBX
ZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3Mv
Q1NTQ2hhcnNldFJ1bGUuaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvQ1NTQ2hhcnNl
dFJ1bGUuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGNzcyB7CisKKyAgICAvLyBJbnRy
b2R1Y2VkIGluIERPTSBMZXZlbCAyOgorICAgIGludGVyZmFjZSBDU1NDaGFyc2V0UnVsZSA6IENT
U1J1bGUgeworCisgICAgICAgIC8vIEZJWE1FOiB0aGUgRE9NIHNwZWMgc2F5cyB0aGF0IHRoaXMg
YXR0cmlidXRlCisgICAgICAgIC8vIHNob3VsZCBub3QgYmUgcmVhZG9ubHkuICBUaGUgY29ycmVj
dCBkZWNsYXJhdGlvbgorICAgICAgICAvLyBpcyBjb21tZW50ZWQgb3V0IGJlbG93LgorICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBlbmNvZGluZzsKKyAgICAgICAg
ICAgICAgIC8qYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgZW5jb2RpbmcKKyAgICAgICAgICAg
ICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOyovCisKKyAgICB9OworCit9Cklu
ZGV4OiBXZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVJ1bGUuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAor
ICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGNzcyB7CisKKyAg
ICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgorICAgIGludGVyZmFjZSBDU1NGb250RmFj
ZVJ1bGUgOiBDU1NSdWxlIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVj
bGFyYXRpb24gIHN0eWxlOworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0
ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vpbmln
QGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU
ZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4K
KyAqLworCittb2R1bGUgY3NzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6
CisgICAgaW50ZXJmYWNlIENTU0ltcG9ydFJ1bGUgOiBDU1NSdWxlIHsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgaHJlZjsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHN0eWxlc2hlZXRzOjpNZWRpYUxpc3QgIG1lZGlhOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgQ1NTU3R5bGVTaGVldCAgICBzdHlsZVNoZWV0OworICAgIH07CisKK30KSW5kZXg6
IFdlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3Mv
Q1NTTWVkaWFSdWxlLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL0NTU01lZGlhUnVs
ZS5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1B
IDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgY3NzIHsKKworICAgIC8vIEludHJvZHVj
ZWQgaW4gRE9NIExldmVsIDI6CisgICAgaW50ZXJmYWNlIENTU01lZGlhUnVsZSA6IENTU1J1bGUg
eworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzdHlsZXNoZWV0czo6TWVkaWFMaXN0ICBt
ZWRpYTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0ICAgICAgY3NzUnVs
ZXM7CisgICAgICAgIAorICAgICAgICAvLyBGSVhNRTogdGhlIERPTSBzcGVjIHNheXMgdGhhdCB0
aGlzIGNhbiByYWlzZSBhbiBleGVjZXB0aW9uLgorICAgICAgICB1bnNpZ25lZCBsb25nICAgICAg
aW5zZXJ0UnVsZShpbiBET01TdHJpbmcgcnVsZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgICAgICAvKnJhaXNl
cyhET01FeGNlcHRpb24pKi87CisgICAgICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IHRoZSBE
T00gc3BlYyBzYXlzIHRoYXQgdGhpcyBjYW4gcmFpc2UgYW4gZXhlY2VwdGlvbi4KKyAgICAgICAg
dm9pZCAgICAgICAgICAgICAgIGRlbGV0ZVJ1bGUoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAg
ICAgICAgICAgIC8qcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKKworICAgIH07CisKK30KSW5kZXg6
IFdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9D
U1NQYWdlUnVsZS5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5p
ZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vp
bmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgY3NzIHsKKworICAgIC8vIEludHJvZHVjZWQg
aW4gRE9NIExldmVsIDI6CisgICAgaW50ZXJmYWNlIENTU1BhZ2VSdWxlIDogQ1NTUnVsZSB7CisK
KyAgICAgICAgICAgICAgICAgLy8gRklYTUU6IERPTSBzcGVjIHNheXMgdGhhdCB0aGlzIGNhbiBy
YWlzZSBhbgorICAgICAgICAgICAgICAgICAvLyBleGNlcHRpb24gb24gc2V0dGluZy4KKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgc2VsZWN0b3JUZXh0CisgICAg
ICAgICAgICAgICAgICAgICAvKnNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOworCisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uICBzdHlsZTsKKworICAg
IH07CisKK30KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsCShyZXZpc2lvbiAxNjE3MikKKysrIFdlYkNvcmUvY3NzL0NT
U1J1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNh
bXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0zMCw1ICszMSwxNiBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgTUVESUFfUlVMRSA9IDQ7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfRkFD
RV9SVUxFID0gNTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFHRV9SVUxFID0gNjsK
KworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9SlNdIHVuc2lnbmVkIHNob3J0
ICAgdHlwZTsKKyAgICAgICAgCisgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBET00gc3BlYyBz
YXlzIHRoYXQgdGhpcyBjYW4gcmFpc2UgYW4KKyAgICAgICAgICAgICAgICAgLy8gZXhjZXB0aW9u
IG9uIHNldHRpbmcuCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1KU10gRE9N
U3RyaW5nICAgICAgICBjc3NUZXh0CisgICAgICAgICAgICAgICAgICAgICAvKnNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbikqLzsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1
ZGU9SlNdIENTU1N0eWxlU2hlZXQgICAgcGFyZW50U3R5bGVTaGVldDsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtFeGNsdWRlPUpTXSBDU1NSdWxlICAgICAgICAgIHBhcmVudFJ1bGU7CisK
ICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwJKHJldmlzaW9u
IDE2MTcyKQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENv
bXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIxLDYgKzIyLDI0IEBAIG1v
ZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICBpbnRl
cmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkRPTUNTU1N0eWxlRGVjbGFyYXRpb24sIEdlbmVyYXRl
Q29uc3RydWN0b3JdIENTU1N0eWxlRGVjbGFyYXRpb24geworCisgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbRXhjbHVkZT1KU10gRE9NU3RyaW5nICAgICAgICBjc3NUZXh0CisgICAgICAgICAg
ICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgW0V4Y2x1
ZGU9SlNdIERPTVN0cmluZyAgICAgICAgICBnZXRQcm9wZXJ0eVZhbHVlKGluIERPTVN0cmluZyBw
cm9wZXJ0eU5hbWUpOworICAgICAgICBbRXhjbHVkZT1KU10gQ1NTVmFsdWUgICAgICAgICAgIGdl
dFByb3BlcnR5Q1NTVmFsdWUoaW4gRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CisgICAgICAgIFtF
eGNsdWRlPUpTXSBET01TdHJpbmcgICAgICAgICAgcmVtb3ZlUHJvcGVydHkoaW4gRE9NU3RyaW5n
IHByb3BlcnR5TmFtZSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAg
ICBbRXhjbHVkZT1KU10gRE9NU3RyaW5nICAgICAgICAgIGdldFByb3BlcnR5UHJpb3JpdHkoaW4g
RE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CisgICAgICAgIFtFeGNsdWRlPUpTXSB2b2lkICAgICAg
ICAgICAgICAgc2V0UHJvcGVydHkoaW4gRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NU3RyaW5n
IHZhbHVlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBET01TdHJpbmcgcHJpb3JpdHkpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9SlNdIHVuc2lnbmVk
IGxvbmcgICAgbGVuZ3RoOworICAgICAgICBbRXhjbHVkZT1KU10gRE9NU3RyaW5nICAgICAgICAg
IGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbRXhjbHVkZT1KU10gQ1NTUnVsZSAgICAgICAgICBwYXJlbnRSdWxlOworCiAgICAgfTsKLSAg
CisKIH0KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3Nz
L0NTU1N0eWxlUnVsZS5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisg
KiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgY3NzIHsKKworICAg
IC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CisgICAgaW50ZXJmYWNlIENTU1N0eWxlUnVs
ZSA6IENTU1J1bGUgeworCisgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBET00gc3BlYyBzYXlz
IHRoYXQgdGhpcyBjYW4gcmFpc2UgYW4KKyAgICAgICAgICAgICAgICAgLy8gZXhjZXB0aW9uIG9u
IHNldHRpbmcuCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgICAg
ICBzZWxlY3RvclRleHQKKyAgICAgICAgICAgICAgICAgICAgIC8qc2V0dGVyIHJhaXNlcyhET01F
eGNlcHRpb24pKi87CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVjbGFy
YXRpb24gIHN0eWxlOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwJKHJl
dmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRl
ciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdA
Z21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl
bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICovCisKK21vZHVsZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoK
KyAgICBpbnRlcmZhY2UgQ1NTU3R5bGVTaGVldCA6IHN0eWxlc2hlZXRzOjpTdHlsZVNoZWV0IHsK
KworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZSAgICAgICAgICBvd25lclJ1bGU7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCAgICAgIGNzc1J1bGVzOwor
ICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgaW5zZXJ0UnVsZShpbiBET01TdHJpbmcgcnVsZSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCAg
ICAgICAgICAgICAgIGRlbGV0ZVJ1bGUoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9j
c3MvQ1NTVW5rbm93blJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1Vua25v
d25SdWxlLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmlk
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIx
MTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKKyAgICBpbnRlcmZhY2UgQ1NTVW5rbm93blJ1bGUgOiBDU1NSdWxlIHsK
KyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaWRsCShyZXZpc2lvbiAxNjE3MikKKysrIFdlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtMjAsMTAgKzIxLDIwIEBACiBtb2R1bGUgY3NzIHsKIAogICAgIGludGVyZmFjZSBb
TGVnYWN5UGFyZW50PUtKUzo6RE9NQ1NTVmFsdWUsIEdlbmVyYXRlQ29uc3RydWN0b3JdIENTU1Zh
bHVlIHsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0lOSEVSSVQgPSAwOworCisg
ICAgICAgIC8vIFVuaXRUeXBlcworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfSU5I
RVJJVCAgICAgICAgID0gMDsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX1BSSU1J
VElWRV9WQUxVRSA9IDE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19WQUxVRV9M
SVNUID0gMjsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0NVU1RPTSA9IDM7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19WQUxVRV9MSVNUICAgICAgPSAyOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfQ1VTVE9NICAgICAgICAgID0gMzsKKworICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogRE9NIHNwZWMgc2F5cyB0aGF0IHRoaXMgY2FuIHJhaXNl
IGFuCisgICAgICAgICAgICAgICAgIC8vIGV4Y2VwdGlvbiBvbiBzZXR0aW5nLgorICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0V4Y2x1ZGU9SlNdIERPTVN0cmluZyAgICAgICAgY3NzVGV4dAor
ICAgICAgICAgICAgICAgICAgICAgLypzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKKwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9SlNdIHVuc2lnbmVkIHNob3J0ICAg
Y3NzVmFsdWVUeXBlOworCiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9jc3MvTWVkaWFMaXN0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCShyZXZpc2lvbiAx
NjE3MikKKysrIFdlYkNvcmUvY3NzL01lZGlhTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDE0ICsyNywxNiBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewogCiAgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2UgTWVkaWFMaXN0IHsKLSAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbWVkaWFUZXh0Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
IAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgICBsZW5ndGg7Ci0g
ICAgICAgIERPTVN0cmluZyAgICAgICAgICBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwot
ICAgICAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlTWVkaXVtKGluIERPTVN0cmluZyBvbGRN
ZWRpdW0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwotICAgICAgICB2b2lkICAgICAgICAgICAgICAgYXBwZW5kTWVkaXVt
KGluIERPTVN0cmluZyBuZXdNZWRpdW0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG1lZGlhVGV4dAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CisKKyAgICAgICAgRE9NU3RyaW5nIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBp
bmRleCk7CisgICAgICAgIHZvaWQgZGVsZXRlTWVkaXVtKGluIERPTVN0cmluZyBvbGRNZWRpdW0p
CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBhcHBlbmRN
ZWRpdW0oaW4gRE9NU3RyaW5nIG5ld01lZGl1bSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOworCiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvY3NzL1JHQkNvbG9yLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL2Nzcy9SR0JDb2xvci5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
CisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgY3NzIHsKKwor
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CisgICAgaW50ZXJmYWNlIFJHQkNvbG9y
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1ByaW1pdGl2ZVZhbHVlICByZWQ7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NQcmltaXRpdmVWYWx1ZSAgZ3JlZW47CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NQcmltaXRpdmVWYWx1ZSAgYmx1ZTsKKyAgICB9Owor
Cit9CkluZGV4OiBXZWJDb3JlL2Nzcy9SZWN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nz
cy9SZWN0LmlkbAkocmV2aXNpb24gMTYxNzIpCisrKyBXZWJDb3JlL2Nzcy9SZWN0LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMTgsMTAgKzE4LDEyIEBACiAgKi8KIAogbW9kdWxlIGNzcyB7CisKICAg
ICBpbnRlcmZhY2UgUmVjdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NQcmltaXRp
dmVWYWx1ZSAgdG9wOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUHJpbWl0aXZlVmFs
dWUgIHJpZ2h0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUHJpbWl0aXZlVmFsdWUg
IGJvdHRvbTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1ByaW1pdGl2ZVZhbHVlICBs
ZWZ0OwogICAgIH07CisKIH0KSW5kZXg6IFdlYkNvcmUvY3NzL1JlY3RJbXBsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9jc3MvUmVjdEltcGwuaAkocmV2aXNpb24gMTYxNzIpCisrKyBXZWJDb3Jl
L2Nzcy9SZWN0SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiU2hhcmVkLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkluZGV4OiBXZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2MTkxKQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDA2LTA5LTAxICBTYW0gV2VpbmlnICA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLSBwYXRjaCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDY4NAorICAgICAgICAgIEF1dG8tZ2VuZXJhdGUgdGhlIE9iamVjdGl2ZS1DIERP
TSBDU1MgYmluZGluZ3MKKworICAgICAgICAqIE1pZ3JhdGVIZWFkZXJzLm1ha2U6CisKIDIwMDYt
MDktMDEgIE1vcmdhbkwgIDxtb3JsbW9yQHlhaG9vLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbi4gVXBkYXRlZC9sYW5kZWQgYnkgQWRhbS4KSW5kZXg6IFdlYktpdC9NaWdyYXRlSGVh
ZGVycy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9NaWdyYXRlSGVhZGVycy5tYWtlCShyZXZp
c2lvbiAxNjE3MikKKysrIFdlYktpdC9NaWdyYXRlSGVhZGVycy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC0zMiw5ICszMiwyNCBAQCBhbGwgOiBcCiAgICAgRE9NQXR0ci5oIFwKICAgICBET01DREFU
QVNlY3Rpb24uaCBcCiAgICAgRE9NQ1NTLmggXAorICAgIERPTUNTU0NoYXJzZXRSdWxlLmggXAor
ICAgIERPTUNTU0ZvbnRGYWNlUnVsZS5oIFwKKyAgICBET01DU1NJbXBvcnRSdWxlLmggXAorICAg
IERPTUNTU01lZGlhUnVsZS5oIFwKKyAgICBET01DU1NQYWdlUnVsZS5oIFwKKyAgICBET01DU1NQ
cmltaXRpdmVWYWx1ZS5oIFwKKyAgICBET01DU1NSdWxlLmggXAorICAgIERPTUNTU1J1bGVMaXN0
LmggXAorICAgIERPTUNTU1N0eWxlRGVjbGFyYXRpb24uaCBcCisgICAgRE9NQ1NTU3R5bGVSdWxl
LmggXAorICAgIERPTUNTU1N0eWxlU2hlZXQuaCBcCisgICAgRE9NQ1NTVW5rbm93blJ1bGUuaCBc
CisgICAgRE9NQ1NTVmFsdWUuaCBcCisgICAgRE9NQ1NTVmFsdWVMaXN0LmggXAogICAgIERPTUNo
YXJhY3RlckRhdGEuaCBcCiAgICAgRE9NQ29tbWVudC5oIFwKICAgICBET01Db3JlLmggXAorICAg
IERPTUNvdW50ZXIuaCBcCiAgICAgRE9NRE9NSW1wbGVtZW50YXRpb24uaCBcCiAgICAgRE9NRG9j
dW1lbnQuaCBcCiAgICAgRE9NRG9jdW1lbnRGcmFnbWVudC5oIFwKQEAgLTEwOSw3ICsxMjQsOSBA
QCBhbGwgOiBcCiAgICAgRE9NT2JqZWN0LmggXAogICAgIERPTVByaXZhdGUuaCBcCiAgICAgRE9N
UHJvY2Vzc2luZ0luc3RydWN0aW9uLmggXAorICAgIERPTVJHQkNvbG9yLmggXAogICAgIERPTVJh
bmdlLmggXAorICAgIERPTVJlY3QuaCBcCiAgICAgRE9NU3R5bGVzaGVldHMuaCBcCiAgICAgRE9N
VGV4dC5oIFwKICAgICBET01UcmF2ZXJzYWwuaCBcCg==
</data>
<flag name="review"
          id="3295"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10373</attachid>
            <date>2006-09-02 18:25:56 -0700</date>
            <delta_ts>2006-09-02 18:54:09 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>autoCSS2.diff</filename>
            <type>text/plain</type>
            <size>100323</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjE5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTcgQEAKKzIwMDYtMDktMDIgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNjg0CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIENTUyBi
aW5kaW5ncworCisgICAgICAgICAgQXV0by1nZW5lcmF0ZXMgRE9NQ1NTQ2hhcnNldFJ1bGUsIERP
TUNTU0ZvbnRGYWNlUnVsZSwgRE9NQ1NTSW1wb3J0UnVsZSwKKyAgICAgICAgICBET01DU1NNZWRp
YVJ1bGUsIERPTUNTU1BhZ2VSdWxlLCBET01DU1NQcmltaXRpdmVWYWx1ZSwgRE9NQ1NTUnVsZSwK
KyAgICAgICAgICBET01DU1NSdWxlTGlzdCwgRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiwgRE9NQ1NT
U3R5bGVSdWxlLCBET01DU1NTdHlsZVNoZWV0LAorICAgICAgICAgIERPTUNTU1Vua25vd25SdWxl
LCBET01DU1NWYWx1ZSwgRE9NQ1NTVmFsdWVMaXN0LCBET01Db3VudGVyLCBhbmQgRE9NUmVjdC4K
KworICAgICAgICAgIFNwbGl0cyBET01SR0JDb2xvciBpbnRvIGl0cyBvd24gZmlsZXMuCisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTUy5oOgorICAg
ICAgICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoK1tET01DU1NTdHlsZVNo
ZWV0IF9DU1NTdHlsZVNoZWV0V2l0aDpdKToKKyAgICAgICAgKCtbRE9NQ1NTUHJpbWl0aXZlVmFs
dWUgX3ZhbHVlV2l0aDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFs
Lmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmg6CisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9N
UkdCQ29sb3IuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01SR0JDb2xvci5t
bTogQWRkZWQuCisgICAgICAgIChnZXRXcmFwcGVyRm9yUkdCKToKKyAgICAgICAgKHNldFdyYXBw
ZXJGb3JSR0IpOgorICAgICAgICAocmVtb3ZlV3JhcHBlckZvclJHQik6CisgICAgICAgICgtW0RP
TVJHQkNvbG9yIGRlYWxsb2NdKToKKyAgICAgICAgKC1bRE9NUkdCQ29sb3IgZmluYWxpemVdKToK
KyAgICAgICAgKC1bRE9NUkdCQ29sb3IgcmVkXSk6CisgICAgICAgICgtW0RPTVJHQkNvbG9yIGdy
ZWVuXSk6CisgICAgICAgICgtW0RPTVJHQkNvbG9yIGJsdWVdKToKKyAgICAgICAgKC1bRE9NUkdC
Q29sb3IgYWxwaGFdKToKKyAgICAgICAgKC1bRE9NUkdCQ29sb3IgY29sb3JdKToKKyAgICAgICAg
KC1bRE9NUkdCQ29sb3IgX2luaXRXaXRoUkdCOldlYkNvcmU6Ol0pOgorICAgICAgICAoK1tET01S
R0JDb2xvciBfUkdCQ29sb3JXaXRoUkdCOldlYkNvcmU6Ol0pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgICogY3NzL0NTU0NoYXJzZXRS
dWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGw6IEFkZGVk
LgorICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3Nz
L0NTU01lZGlhUnVsZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5pZGw6
IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5pZGw6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5pZGw6IEFkZGVk
LgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDogQWRkZWQuCisgICAgICAgICogY3Nz
L0NTU1Vua25vd25SdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1ZhbHVlLmlkbDoK
KyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmlkbDoKKyAgICAgICAgKiBjc3MvUkdCQ29sb3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MvUmVjdC5pZGw6CisgICAgICAgICogY3NzL1JlY3RJbXBs
Lmg6CisKIDIwMDYtMDktMDIgIEdyYWhhbSBEZW5uaXMgIDxncmFoYW0uZGVubmlzQGdtYWlsLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKdXN0aW4uCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAxNjE5NCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBj
b3B5KQpAQCAtNDYsNiArNDYsMjIgQEAgYWxsIDogXAogICAgIENoYXJzZXREYXRhLmNwcCBcCiAg
ICAgQ29sb3JEYXRhLmMgXAogICAgIERvY1R5cGVTdHJpbmdzLmNwcCBcCisgICAgRE9NQ1NTQ2hh
cnNldFJ1bGUuaCBcCisgICAgRE9NQ1NTRm9udEZhY2VSdWxlLmggXAorICAgIERPTUNTU0ltcG9y
dFJ1bGUuaCBcCisgICAgRE9NQ1NTTWVkaWFSdWxlLmggXAorICAgIERPTUNTU1BhZ2VSdWxlLmgg
XAorICAgIERPTUNTU1J1bGUuaCBcCisgICAgRE9NQ1NTUnVsZUxpc3QuaCBcCisgICAgRE9NQ1NT
U3R5bGVEZWNsYXJhdGlvbi5oIFwKKyAgICBET01DU1NTdHlsZVJ1bGUuaCBcCisgICAgRE9NQ1NT
VW5rbm93blJ1bGUuaCBcCisgICAgRE9NQ1NTVmFsdWUuaCBcCisgICAgRE9NQ1NTUHJpbWl0aXZl
VmFsdWUuaCBcCisgICAgRE9NQ1NTVmFsdWVMaXN0LmggXAorICAgIERPTUNTU1N0eWxlU2hlZXQu
aCBcCisgICAgRE9NQ291bnRlci5oIFwKKyAgICBET01SZWN0LmggXAogICAgIERPTUF0dHIuaCBc
CiAgICAgRE9NQ0RBVEFTZWN0aW9uLmggXAogICAgIERPTUNoYXJhY3RlckRhdGEuaCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYx
OTQpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMzc3LDYgKzM3NywyNiBAQAogCQk4NTAzMUI0RjBBNDRFRkM3MDBGOTkyRTAg
LyogVUlFdmVudFdpdGhLZXlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODUwMzFCMzkwQTQ0RUZDNzAwRjk5MkUwIC8qIFVJRXZlbnRXaXRoS2V5
U3RhdGUuaCAqLzsgfTsKIAkJODUwMzFCNTAwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzFC
M0EwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZlbnQuY3BwICovOyB9OwogCQk4NTAzMUI1MTBB
NDRFRkM3MDBGOTkyRTAgLyogV2hlZWxFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzFCM0IwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZl
bnQuaCAqLzsgfTsKKwkJODUwMzJERDcwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0NoYXJzZXRS
dWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAz
MkRDMzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNldFJ1bGUuaCAqLzsgfTsKKwkJODUw
MzJERDgwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0NoYXJzZXRSdWxlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQzQwQUE4QzlCRTAwN0Qz
QjdEIC8qIERPTUNTU0NoYXJzZXRSdWxlLm1tICovOyB9OworCQk4NTAzMkREOTBBQThDOUJFMDA3
RDNCN0QgLyogRE9NQ1NTRm9udEZhY2VSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDNTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTRm9u
dEZhY2VSdWxlLmggKi87IH07CisJCTg1MDMyRERBMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NG
b250RmFjZVJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NTAzMkRDNjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTRm9udEZhY2VSdWxlLm1tICov
OyB9OworCQk4NTAzMkREQjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQzcwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1bGUuaCAqLzsgfTsKKwkJODUwMzJEREMwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDODBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTSW1wb3J0UnVsZS5tbSAqLzsgfTsKKwkJODUwMzJEREQwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU01lZGlhUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwMzJEQzkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU01lZGlhUnVsZS5oICovOyB9
OworCQk4NTAzMkRERTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQ0EwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU01lZGlhUnVsZS5tbSAqLzsgfTsKKwkJODUwMzJEREYwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDQjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFn
ZVJ1bGUuaCAqLzsgfTsKKwkJODUwMzJERTAwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VS
dWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUw
MzJEQ0MwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLm1tICovOyB9OworCQk4NTAz
MkRFMTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJEQ0QwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU1J1bGUuaCAqLzsgfTsKKwkJODUwMzJERTIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1
bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAz
MkRDRTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZS5tbSAqLzsgfTsKKwkJODUwMzJERTMw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDRjBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTUnVsZUxpc3QuaCAqLzsgfTsKKwkJODUwMzJERTQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U1J1bGVMaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODUwMzJERDAwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGVMaXN0Lm1tICovOyB9Owor
CQk4NTAzMkRFNTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDEwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24uaCAqLzsgfTsKKwkJODUwMzJE
RTYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkREMjBBQThDOUJFMDA3
RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5tbSAqLzsgfTsKKwkJODUwMzJERTcwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDMwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U1N0eWxlUnVsZS5oICovOyB9OworCQk4NTAzMkRFODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
U3R5bGVSdWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5tbSAqLzsgfTsK
KwkJODUwMzJERTkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENTBBQThDOUJF
MDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCAqLzsgfTsKKwkJODUwMzJERUEwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U1Vua25vd25SdWxlLm1tICovOyB9OwogCQk4NTA4OUNDODBBOThDMjI2MDBBMjc1QUEgLyogQ29t
bWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1MDg5Q0M3MEE5OEMyMjYwMEEyNzVBQSAvKiBDb21tZW50LmlkbCAqLzsgfTsKIAkJODUwODlD
Q0EwQTk4QzJBQjAwQTI3NUFBIC8qIENEQVRBU2VjdGlvbi5pZGwgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDg5Q0M5MEE5OEMyQUIwMEEyNzVBQSAv
KiBDREFUQVNlY3Rpb24uaWRsICovOyB9OwogCQk4NTA4OUNDQzBBOThDMzNBMDBBMjc1QUEgLyog
RW50aXR5UmVmZXJlbmNlLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODUwODlDQ0IwQTk4QzMzQTAwQTI3NUFBIC8qIEVudGl0eVJlZmVyZW5jZS5p
ZGwgKi87IH07CkBAIC00MzYsNiArNDU2LDI2IEBACiAJCTg1NzVERjg1MEFBNjEzMEUwMEY1REJC
NSAvKiBET01IVE1MSHRtbEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODU5OTJFQjQwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIdG1s
RWxlbWVudC5oICovOyB9OwogCQk4NTc1REY4NjBBQTYxMzBFMDBGNURCQjUgLyogRE9NSFRNTExp
bmtFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1OTkyRUI2MEFBNTA2OTUwMEFDMDc4NSAvKiBET01IVE1MTGlua0VsZW1lbnQuaCAqLzsg
fTsKIAkJODU3NURGODcwQUE2MTMwRTAwRjVEQkI1IC8qIERPTUhUTUxUaXRsZUVsZW1lbnQuaCBp
biBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5OTJFQjgw
QUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxUaXRsZUVsZW1lbnQuaCAqLzsgfTsKKwkJODU4QzM4
MUMwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9N
Q1NTVmFsdWUuaCAqLzsgfTsKKwkJODU4QzM4MUQwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1Zh
bHVlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4
QzM4MUIwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLm1tICovOyB9OworCQk4NThDMzgy
QzBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODJBMEFBOEU0MDUwMEIxODdB
NCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oICovOyB9OworCQk4NThDMzgyRDBBQThFNDA1MDBC
MTg3QTQgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzgyQjBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NT
UHJpbWl0aXZlVmFsdWUubW0gKi87IH07CisJCTg1OEMzODNDMEFBOEVEODIwMEIxODdBNCAvKiBE
T01DU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1OEMzODNBMEFBOEVEODIwMEIxODdBNCAvKiBET01DU1NWYWx1ZUxpc3QuaCAqLzsg
fTsKKwkJODU4QzM4M0QwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzODNCMEFBOEVE
ODIwMEIxODdBNCAvKiBET01DU1NWYWx1ZUxpc3QubW0gKi87IH07CisJCTg1OEMzOEE1MEFBOEYy
MDQwMEIxODdBNCAvKiBET01Db3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NThDMzhBMTBBQThGMjA0MDBCMTg3QTQgLyogRE9NQ291bnRlci5o
ICovOyB9OworCQk4NThDMzhBNjBBQThGMjA0MDBCMTg3QTQgLyogRE9NQ291bnRlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEEyMEFBOEYy
MDQwMEIxODdBNCAvKiBET01Db3VudGVyLm1tICovOyB9OworCQk4NThDMzhBNzBBQThGMjA0MDBC
MTg3QTQgLyogRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODU4QzM4QTMwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCAqLzsgfTsKKwkJ
ODU4QzM4QTgwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzhBNDBBQThGMjA0MDBCMTg3QTQgLyog
RE9NUmVjdC5tbSAqLzsgfTsKKwkJODU4QzM5MjgwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1OEMzOTI2MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi87IH07CisJ
CTg1OEMzOTI5MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM5MjcwQUE4RkY5RDAw
QjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQubW0gKi87IH07CisJCTg1OEMzOTVGMEFBOTAyQTkw
MEIxODdBNCAvKiBET01SR0JDb2xvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODU4QzM5NUQwQUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODU4QzM5
NjAwQUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM5NUUwQUE5MDJBOTAwQjE4N0E0IC8qIERP
TVJHQkNvbG9yLm1tICovOyB9OworCQk4NThDMzlCODBBQTkwNUVGMDBCMTg3QTQgLyogRE9NQ1NT
VmFsdWUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU4QzM4MUEwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLmggKi87IH07CisJCTg1OEMz
OUI5MEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oIGluIENvcHlGaWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzgyQTBBQThFNDA1MDBC
MTg3QTQgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWUuaCAqLzsgfTsKKwkJODU4QzM5QkEwQUE5MDVF
RjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzgzQTBBQThFRDgyMDBCMTg3QTQgLyogRE9NQ1NT
VmFsdWVMaXN0LmggKi87IH07CisJCTg1OEMzOUJCMEFBOTA1RUYwMEIxODdBNCAvKiBET01Db3Vu
dGVyLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
OEMzOEExMEFBOEYyMDQwMEIxODdBNCAvKiBET01Db3VudGVyLmggKi87IH07CisJCTg1OEMzOUJD
MEFBOTA1RUYwMEIxODdBNCAvKiBET01SZWN0LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEEzMEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0
LmggKi87IH07CisJCTg1OEMzOUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0
LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMz
OTI2MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi87IH07CiAJCTg1OTky
RUJBMEFBNTA2OTUwMEFDMDc4NSAvKiBET01IVE1MSGVhZEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTkyRUIyMEFBNTA2OTUwMEFDMDc4
NSAvKiBET01IVE1MSGVhZEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgp
OyB9OyB9OwogCQk4NTk5MkVCQjBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEhlYWRFbGVtZW50
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5OTJF
QjMwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5tbSAqLzsgfTsKIAkJODU5
OTJFQkMwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIdG1sRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5OTJFQjQwQUE1MDY5NTAwQUMw
Nzg1IC8qIERPTUhUTUxIdG1sRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KCk7IH07IH07CkBAIC01OTMsNiArNjMzLDE2IEBACiAJCTg1RjMyQjQzMEFBNjQwMUEwMEZGMzE4
NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMyQUVBMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1M
VGV4dEFyZWFFbGVtZW50LmggKi87IH07CiAJCTg1RjU2QTdBMEE5OENFMzcwMEFEQjYwQSAvKiBE
T01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1RjU2QTc4MEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQk4
NUY1NkE3QjBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGNTZBNzkwQTk4
Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbSAqLzsgfTsKKwkJODVG
NzRFMDEwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU0NoYXJzZXRSdWxlLmggaW4gQ29weUZpbGVz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREMzMEFBOEM5QkUwMDdE
M0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oICovOyB9OworCQk4NUY3NEUwMjBBQThERjhDMDAw
REMyODQgLyogRE9NQ1NTRm9udEZhY2VSdWxlLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREM1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NG
b250RmFjZVJ1bGUuaCAqLzsgfTsKKwkJODVGNzRFMDMwQUE4REY4QzAwMERDMjg0IC8qIERPTUNT
U0ltcG9ydFJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwMzJEQzcwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1bGUuaCAqLzsg
fTsKKwkJODVGNzRFMDQwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU01lZGlhUnVsZS5oIGluIENv
cHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDOTBBQThD
OUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmggKi87IH07CisJCTg1Rjc0RTA1MEFBOERG
OEMwMDBEQzI4NCAvKiBET01DU1NQYWdlUnVsZS5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRDQjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
UGFnZVJ1bGUuaCAqLzsgfTsKKwkJODVGNzRFMDYwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU1J1
bGUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUw
MzJEQ0QwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGUuaCAqLzsgfTsKKwkJODVGNzRFMDcw
QUE4REY4QzAwMERDMjg0IC8qIERPTUNTU1J1bGVMaXN0LmggaW4gQ29weUZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyRENGMEFBOEM5QkUwMDdEM0I3RCAvKiBE
T01DU1NSdWxlTGlzdC5oICovOyB9OworCQk4NUY3NEUwODBBQThERjhDMDAwREMyODQgLyogRE9N
Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NTAzMkREMTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNs
YXJhdGlvbi5oICovOyB9OworCQk4NUY3NEUwOTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTU3R5
bGVSdWxlLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1MDMyREQzMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUuaCAqLzsgfTsKKwkJ
ODVGNzRFMEEwQUE4REY4QzAwMERDMjg0IC8qIERPTUNTU1Vua25vd25SdWxlLmggaW4gQ29weUZp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREQ1MEFBOEM5QkUw
MDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICovOyB9OwogCQk5MzAzMkNDODA5QUVDMzQz
MDBGODJBMTggLyogUGF0aENHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzMDMyQ0M3MDlBRUMzNDMwMEY4MkExOCAvKiBQYXRoQ0cuY3BwICovOyB9
OwogCQk5MzAzMkNDQTA5QUVDMzRCMDBGODJBMTggLyogUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwMzJDQzkwOUFFQzM0QjAwRjgyQTE4IC8q
IFBhdGguaCAqLzsgfTsKIAkJOTMwNUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1QjI0QzA5OEYx
QjZCMDBDMjg4NTUgLyogVGltZXIuaCAqLzsgfTsKQEAgLTE5MTUsNiArMTk2NSwyMiBAQAogCQkJ
CTFDMTFDQ0M1MEFBNjA5MzcwMERBREIyMCAvKiBET01DaGFyYWN0ZXJEYXRhLmggaW4gQ29weUZp
bGVzICovLAogCQkJCTFDMTFDQ0M2MEFBNjA5MzcwMERBREIyMCAvKiBET01Eb2N1bWVudEZyYWdt
ZW50LmggaW4gQ29weUZpbGVzICovLAogCQkJCTFDMTFDQ0M3MEFBNjA5MzcwMERBREIyMCAvKiBE
T01DREFUQVNlY3Rpb24uaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODU4QzM5QjgwQUE5MDVFRjAw
QjE4N0E0IC8qIERPTUNTU1ZhbHVlLmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1OEMzOUI5MEFB
OTA1RUYwMEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oIGluIENvcHlGaWxlcyAqLywK
KwkJCQk4NThDMzlCQTBBQTkwNUVGMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0LmggaW4gQ29w
eUZpbGVzICovLAorCQkJCTg1OEMzOUJCMEFBOTA1RUYwMEIxODdBNCAvKiBET01Db3VudGVyLmgg
aW4gQ29weUZpbGVzICovLAorCQkJCTg1OEMzOUJDMEFBOTA1RUYwMEIxODdBNCAvKiBET01SZWN0
LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1OEMzOUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01D
U1NTdHlsZVNoZWV0LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1Rjc0RTAxMEFBOERGOEMwMDBE
QzI4NCAvKiBET01DU1NDaGFyc2V0UnVsZS5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NUY3NEUw
MjBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTRm9udEZhY2VSdWxlLmggaW4gQ29weUZpbGVzICov
LAorCQkJCTg1Rjc0RTAzMEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NJbXBvcnRSdWxlLmggaW4g
Q29weUZpbGVzICovLAorCQkJCTg1Rjc0RTA0MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NNZWRp
YVJ1bGUuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVGNzRFMDUwQUE4REY4QzAwMERDMjg0IC8q
IERPTUNTU1BhZ2VSdWxlLmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1Rjc0RTA2MEFBOERGOEMw
MDBEQzI4NCAvKiBET01DU1NSdWxlLmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1Rjc0RTA3MEFB
OERGOEMwMDBEQzI4NCAvKiBET01DU1NSdWxlTGlzdC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4
NUY3NEUwODBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIGluIENv
cHlGaWxlcyAqLywKKwkJCQk4NUY3NEUwOTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTU3R5bGVS
dWxlLmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1Rjc0RTBBMEFBOERGOEMwMDBEQzI4NCAvKiBE
T01DU1NVbmtub3duUnVsZS5oIGluIENvcHlGaWxlcyAqLywKIAkJCQkxQzExQ0NDODBBQTYwOTM3
MDBEQURCMjAgLyogRE9NSFRNTEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkJMUMxMUND
QkEwQUE2MDkzNzAwREFEQjIwIC8qIERPTUhUTUxDb2xsZWN0aW9uLmggaW4gQ29weUZpbGVzICov
LAogCQkJCTFDMTFDQ0JCMEFBNjA5MzcwMERBREIyMCAvKiBET01IVE1MRm9ybUVsZW1lbnQuaCBp
biBDb3B5RmlsZXMgKi8sCkBAIC0yNDE0LDYgKzI0ODAsMjYgQEAKIAkJODUwMzFCMzkwQTQ0RUZD
NzAwRjk5MkUwIC8qIFVJRXZlbnRXaXRoS2V5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFVJRXZlbnRXaXRoS2V5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODUwMzFCM0EwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdoZWVsRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NTAzMUIzQjBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2hlZWxFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDMzBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTQ2hhcnNldFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUNTU0NoYXJzZXRSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREM0
MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NDaGFyc2V0UnVsZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJEQzUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0Zv
bnRGYWNlUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTRm9u
dEZhY2VSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREM2MEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFjZVJ1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NTRm9udEZhY2VSdWxlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NTAzMkRDNzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0
UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTSW1wb3J0UnVs
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDODBBQThDOUJFMDA3RDNC
N0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBET01DU1NJbXBvcnRSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NTAzMkRDOTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NNZWRpYVJ1bGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJEQ0EwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU01l
ZGlhUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01D
U1NNZWRpYVJ1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyRENCMEFB
OEM5QkUwMDdEM0I3RCAvKiBET01DU1NQYWdlUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NQ1NTUGFnZVJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODUwMzJEQ0MwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1BhZ2VSdWxlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDRDBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTUnVsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDRTBBQThDOUJFMDA3RDNCN0Qg
LyogRE9NQ1NTUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBET01DU1NSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRDRjBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUNTU1J1bGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1MDMyREQwMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NSdWxlTGlzdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NSdWxlTGlzdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJERDEwQUE4QzlCRTAwN0QzQjdEIC8qIERP
TUNTU1N0eWxlRGVjbGFyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUNTU1N0eWxlRGVjbGFyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODUwMzJERDIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NTU3R5bGVEZWNsYXJh
dGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwMzJERDMwQUE4QzlCRTAw
N0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NQ1NTU3R5bGVSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1
MDMyREQ0MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NTU3R5bGVSdWxlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NTAzMkRENTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NT
VW5rbm93blJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1Vu
a25vd25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDMyREQ2MEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NVbmtub3duUnVsZS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODUwODlDQzcwQTk4QzIyNjAwQTI3NUFBIC8qIENvbW1lbnQuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDb21tZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODUwODlDQzkwQTk4QzJBQjAwQTI3NUFBIC8qIENEQVRBU2VjdGlvbi5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IENEQVRBU2VjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1MDg5Q0NCMEE5OEMzM0EwMEEyNzVBQSAvKiBFbnRpdHlSZWZlcmVuY2Uu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFbnRpdHlSZWZlcmVuY2UuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQ3MCw2ICsyNTU2LDIyIEBACiAJCTg1NkM4OUZCMEE5
MEYwNjgwMDVDNjg3QiAvKiBET01Ob2RlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1
NkM4QUUyMEE5MTI2NDkwMDVDNjg3QiAvKiBET01PYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NTZDOEFFMzBBOTEyNjQ5MDA1QzY4N0IgLyogRE9NT2JqZWN0Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU9iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODU4QzM4MUEwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NWYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NThDMzgxQjBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NT
VmFsdWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NT
VmFsdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzODJBMEFBOEU0MDUw
MEIxODdBNCAvKiBET01DU1NQcmltaXRpdmVWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NQ1NTUHJpbWl0aXZlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODU4QzM4MkIwQUE4RTQwNTAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVl
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1ByaW1p
dGl2ZVZhbHVlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NThDMzgzQTBBQThF
RDgyMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01DU1NWYWx1ZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODU4QzM4M0IwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NWYWx1ZUxpc3QubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzOEExMEFBOEYyMDQwMEIxODdBNCAvKiBE
T01Db3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Db3VudGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzOEEyMEFBOEYyMDQwMEIxODdB
NCAvKiBET01Db3VudGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IERPTUNvdW50ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzOEEz
MEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01SZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OEMzOEE0
MEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERPTVJlY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg1OEMzOEVGMEFBOEZERDEwMEIxODdBNCAvKiBSR0JDb2xvci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFJHQkNvbG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4
QzM5MTAwQUE4RkYwMDAwQjE4N0E0IC8qIENTU1N0eWxlU2hlZXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBDU1NTdHlsZVNoZWV0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODU4QzM5MjYwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1N0eWxlU2hlZXQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4QzM5MjcwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0
eWxlU2hlZXQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9N
Q1NTU3R5bGVTaGVldC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU4QzM5NUQw
QUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01SR0JDb2xvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
NThDMzk1RTBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NUkdCQ29sb3IubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1OTkyRUIyMEFBNTA2OTUwMEFDMDc4NSAvKiBET01IVE1MSGVhZEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxIZWFkRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTk5MkVCMzBBQTUwNjk1MDBB
QzA3ODUgLyogRE9NSFRNTEhlYWRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERPTUhUTUxIZWFkRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODU5OTJFQjQwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIdG1sRWxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEh0bWxFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTI1LDYgKzI2MjcsMTQgQEAKIAkJ
ODVCQTREMDgwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxPTGlzdEVsZW1lbnQubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTE9MaXN0RWxlbWVudC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVCQTREMDkwQUE2ODg2ODAwODgwNTJE
IC8qIERPTUhUTUxVTGlzdEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTUhUTUxVTGlzdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODVCQTREMEEwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxVTGlzdEVsZW1lbnQubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFVMaXN0RWxlbWVudC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVDNTZDNUIwQUE4N0FGRDAwRDk1NzU1
IC8qIE1lZGlhTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhTGlzdC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QzU2Q0ExMEFBODlBQjQwMEQ5NTc1NSAv
KiBDU1NTdHlsZVJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NTdHlsZVJ1bGUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUM1NkNBMjBBQTg5QzEwMDBEOTU3
NTUgLyogQ1NTTWVkaWFSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTTWVkaWFS
dWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVDNTZDQTMwQUE4OUNBNDAw
RDk1NzU1IC8qIENTU0ZvbnRGYWNlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENT
U0ZvbnRGYWNlUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QzU2Q0E2
MEFBODlENUYwMEQ5NTc1NSAvKiBDU1NQYWdlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IENTU1BhZ2VSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVDNTZD
QTkwQUE4OUU2NjAwRDk1NzU1IC8qIENTU0ltcG9ydFJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBDU1NJbXBvcnRSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODVDNTZDQUMwQUE4OUY4RTAwRDk1NzU1IC8qIENTU0NoYXJzZXRSdWxlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQ1NTQ2hhcnNldFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NUM1NkNBRDBBQTg5RkUwMDBEOTU3NTUgLyogQ1NTVW5rbm93blJ1bGUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NVbmtub3duUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1Q0E5NkI2MEE5NjIxQTYwMDY5MENDRiAvKiBET01FbnRpdHkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUVudGl0eS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NUNBOTZCNzBBOTYyMUE2MDA2OTBDQ0YgLyogRE9NRW50aXR5
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUVudGl0eS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDQTk2RTgwQTk2MjRFOTAwNjkwQ0NG
IC8qIERPTU5vdGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01O
b3RhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDYyOSwyMCArNDczOSwx
NiBAQAogCQkJbmFtZSA9IENvcmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owot
CQk4NTk5MkZDMjBBQTVERDQ2MDBBQzA3ODUgLyogSFRNTCAqLyA9IHsKKwkJODU4QzM5NTEwQUE5
MDI0QzAwQjE4N0E0IC8qIENTUyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCi0JCQkJODUyQjlFODMwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVt
ZW50LmggKi8sCi0JCQkJODUyQjlFODQwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRF
bGVtZW50Lm1tICovLAotCQkJCTg1OTkyRkJFMEFBNURENDAwMEFDMDc4NSAvKiBET01IVE1MRG9j
dW1lbnQuaCAqLywKLQkJCQk4NTk5MkZCRjBBQTVERDQwMDBBQzA3ODUgLyogRE9NSFRNTERvY3Vt
ZW50Lm1tICovLAotCQkJCTg1MkI5RTg1MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9u
RWxlbWVudC5oICovLAotCQkJCTg1MkI5RTg2MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0
aW9uRWxlbWVudC5tbSAqLywKKwkJCQk4NThDMzk1RDBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdC
Q29sb3IuaCAqLywKKwkJCQk4NThDMzk1RTBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3Iu
bW0gKi8sCiAJCQkpOwotCQkJbmFtZSA9IEhUTUw7CisJCQluYW1lID0gQ1NTOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJODVCMjMyMjYwQThCRjNBMTAwRkRGNDdCIC8qIERl
cml2ZWQgU291cmNlcyAqLyA9IHsKKwkJODU5NjdEOUYwQUE4QkI1OTAwNUZFREVFIC8qIENvcmUg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTg1RDM4OUIw
MEE5OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggKi8sCkBAIC00Njc3LDYgKzQ3ODMsNzYgQEAK
IAkJCQk4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9u
Lm1tICovLAogCQkJCTg1QUNBOTlBMEE5QjU3NTkwMDY3MUU5MCAvKiBET01UZXh0LmggKi8sCiAJ
CQkJODVBQ0E5OUIwQTlCNTc1OTAwNjcxRTkwIC8qIERPTVRleHQubW0gKi8sCisJCQkpOworCQkJ
bmFtZSA9IENvcmU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk4NTk2N0RD
QTBBQThCRjBGMDA1RkVERUUgLyogQ1NTICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk4NTAzMkRDMzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNl
dFJ1bGUuaCAqLywKKwkJCQk4NTAzMkRDNDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNl
dFJ1bGUubW0gKi8sCisJCQkJODUwMzJEQzUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ZvbnRG
YWNlUnVsZS5oICovLAorCQkJCTg1MDMyREM2MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NGb250
RmFjZVJ1bGUubW0gKi8sCisJCQkJODUwMzJEQzcwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0lt
cG9ydFJ1bGUuaCAqLywKKwkJCQk4NTAzMkRDODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1w
b3J0UnVsZS5tbSAqLywKKwkJCQk4NTAzMkRDOTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVk
aWFSdWxlLmggKi8sCisJCQkJODUwMzJEQ0EwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU01lZGlh
UnVsZS5tbSAqLywKKwkJCQk4NTAzMkRDQjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1
bGUuaCAqLywKKwkJCQk4NTAzMkRDQzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1bGUu
bW0gKi8sCisJCQkJODU4QzM4MkEwQUE4RTQwNTAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2ZVZh
bHVlLmggKi8sCisJCQkJODU4QzM4MkIwQUE4RTQwNTAwQjE4N0E0IC8qIERPTUNTU1ByaW1pdGl2
ZVZhbHVlLm1tICovLAorCQkJCTg1MDMyRENEMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NSdWxl
LmggKi8sCisJCQkJODUwMzJEQ0UwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGUubW0gKi8s
CisJCQkJODUwMzJEQ0YwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGVMaXN0LmggKi8sCisJ
CQkJODUwMzJERDAwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGVMaXN0Lm1tICovLAorCQkJ
CTg1MDMyREQxMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZURlY2xhcmF0aW9uLmggKi8s
CisJCQkJODUwMzJERDIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24u
bW0gKi8sCisJCQkJODUwMzJERDMwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5o
ICovLAorCQkJCTg1MDMyREQ0MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUubW0g
Ki8sCisJCQkJODU4QzM5MjYwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCAq
LywKKwkJCQk4NThDMzkyNzBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5tbSAq
LywKKwkJCQk4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCAqLywKKwkJ
CQk4NThDMzgxQjBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUubW0gKi8sCisJCQkJODU4
QzM4M0EwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5oICovLAorCQkJCTg1OEMz
ODNCMEFBOEVEODIwMEIxODdBNCAvKiBET01DU1NWYWx1ZUxpc3QubW0gKi8sCisJCQkJODUwMzJE
RDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggKi8sCisJCQkJODUwMzJE
RDYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tICovLAorCQkJCTg1OEMz
OEExMEFBOEYyMDQwMEIxODdBNCAvKiBET01Db3VudGVyLmggKi8sCisJCQkJODU4QzM4QTIwQUE4
RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIubW0gKi8sCisJCQkJODU4QzM4QTMwQUE4RjIwNDAw
QjE4N0E0IC8qIERPTVJlY3QuaCAqLywKKwkJCQk4NThDMzhBNDBBQThGMjA0MDBCMTg3QTQgLyog
RE9NUmVjdC5tbSAqLywKKwkJCSk7CisJCQluYW1lID0gQ1NTOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJODU5OTJGQzIwQUE1REQ0NjAwQUMwNzg1IC8qIEhUTUwgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTg1MkI5RTgzMEFBNzlD
NDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5oICovLAorCQkJCTg1MkI5RTg0MEFB
NzlDNDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5tbSAqLywKKwkJCQk4NTk5MkZC
RTBBQTVERDQwMDBBQzA3ODUgLyogRE9NSFRNTERvY3VtZW50LmggKi8sCisJCQkJODU5OTJGQkYw
QUE1REQ0MDAwQUMwNzg1IC8qIERPTUhUTUxEb2N1bWVudC5tbSAqLywKKwkJCQk4NTJCOUU4NTBB
QTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQuaCAqLywKKwkJCQk4NTJCOUU4
NjBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQubW0gKi8sCisJCQkpOwor
CQkJbmFtZSA9IEhUTUw7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk4NUIy
MzIyNjBBOEJGM0ExMDBGREY0N0IgLyogRGVyaXZlZCBTb3VyY2VzICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4NTk2N0Q5RjBBQThCQjU5MDA1RkVERUUg
LyogQ29yZSAqLywKKwkJCQk4NTk2N0RDQTBBQThCRjBGMDA1RkVERUUgLyogQ1NTICovLAorCQkJ
CTg1QzU2RDAzMEFBOEJBQTcwMEQ5NTc1NSAvKiBIVE1MICovLAorCQkJKTsKKwkJCW5hbWUgPSAi
RGVyaXZlZCBTb3VyY2VzIjsKKwkJCXBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlOworCQkJ
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsKKwkJfTsKKwkJODVDNTZEMDMwQUE4QkFB
NzAwRDk1NzU1IC8qIEhUTUwgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAogCQkJCTg1REY4MTIxMEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVu
dC5oICovLAogCQkJCTg1REY4MTIyMEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxl
bWVudC5tbSAqLywKIAkJCQk4NUVDQkVERDBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFF
bGVtZW50LmggKi8sCkBAIC00Nzg0LDkgKzQ5NjAsOCBAQAogCQkJCTg1QkE0RDA5MEFBNjg4Njgw
MDg4MDUyRCAvKiBET01IVE1MVUxpc3RFbGVtZW50LmggKi8sCiAJCQkJODVCQTREMEEwQUE2ODg2
ODAwODgwNTJEIC8qIERPTUhUTUxVTGlzdEVsZW1lbnQubW0gKi8sCiAJCQkpOwotCQkJbmFtZSA9
ICJEZXJpdmVkIFNvdXJjZXMiOwotCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmU7Ci0J
CQlzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOworCQkJbmFtZSA9IEhUTUw7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQk5MzAzMkNDQzA5QUVDMzYyMDBGODJBMTgg
LyogY2cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKQEAgLTU3OTcsNiArNTk3Miw3IEBACiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQk4NUIyMzIyNjBBOEJGM0ExMDBGREY0N0IgLyogRGVyaXZlZCBT
b3VyY2VzICovLAogCQkJCTg1NEYxMkFDMEE4RUJDMTgwMDA5NDBCNSAvKiBDb3JlICovLAorCQkJ
CTg1OEMzOTUxMEFBOTAyNEMwMEIxODdBNCAvKiBDU1MgKi8sCiAJCQkJODU5OTJGQzIwQUE1REQ0
NjAwQUMwNzg1IC8qIEhUTUwgKi8sCiAJCQkJODU5QjdGQjkwQThEMjg4ODAwQTVGMUVBIC8qIENv
ZGVHZW5lcmF0b3JPYmpDLnBtICovLAogCQkJCUJDMUEzNzk3MDk3QzcxNUYwMDE5RjNEOCAvKiBE
T00uaCAqLywKQEAgLTYwNzksMTAgKzYyNTUsMTIgQEAKIAkJCQlBODBFNkNCQjBBMTk4OUNBMDA3
RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgKi8sCiAJCQkJQTgwRTZDREQwQTE5ODlD
QTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUuaCAqLywKIAkJCQlBODBFNkNDRjBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCAqLywKKwkJCQk4NUM1NkNBQzBBQTg5RjhF
MDBEOTU3NTUgLyogQ1NTQ2hhcnNldFJ1bGUuaWRsICovLAogCQkJCUJDRUE0NzdDMDk3Q0FBQzgw
MDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwICovLAogCQkJCUJDRUE0
NzdEMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCAqLywK
IAkJCQlBODBFNkNCRDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTRm9udEZhY2VSdWxlLmNwcCAqLywK
IAkJCQlBODBFNkNEMzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTRm9udEZhY2VSdWxlLmggKi8sCisJ
CQkJODVDNTZDQTMwQUE4OUNBNDAwRDk1NzU1IC8qIENTU0ZvbnRGYWNlUnVsZS5pZGwgKi8sCiAJ
CQkJQkNFQTQ3N0UwOTdDQUFDODAwOTRDOUU0IC8qIENTU0dyYW1tYXIueSAqLywKIAkJCQlCQ0VB
NDc4NTA5N0NBQUM4MDA5NEM5RTQgLyogY3NzaGVscGVyLmNwcCAqLywKIAkJCQlCQ0VBNDc4NjA5
N0NBQUM4MDA5NEM5RTQgLyogY3NzaGVscGVyLmggKi8sCkBAIC02MDkwLDE3ICs2MjY4LDIwIEBA
CiAJCQkJQTgwRTZDRDAwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0ltYWdlVmFsdWUuaCAqLywKIAkJ
CQlBODBFNkNDMTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW1wb3J0UnVsZS5jcHAgKi8sCiAJCQkJ
QTgwRTZDQ0MwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0ltcG9ydFJ1bGUuaCAqLywKKwkJCQk4NUM1
NkNBOTBBQTg5RTY2MDBEOTU3NTUgLyogQ1NTSW1wb3J0UnVsZS5pZGwgKi8sCiAJCQkJQTgwRTZD
QzYwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0luaGVyaXRlZFZhbHVlLmNwcCAqLywKIAkJCQlBODBF
NkNENzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5oZXJpdGVkVmFsdWUuaCAqLywKIAkJCQlBODBF
NkNEODBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5pdGlhbFZhbHVlLmNwcCAqLywKIAkJCQlBODBF
NkNERTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5pdGlhbFZhbHVlLmggKi8sCiAJCQkJQTgwRTZD
RDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAgKi8sCiAJCQkJQTgwRTZDRDkw
QTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oICovLAorCQkJCTg1QzU2Q0EyMEFBODlD
MTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUuaWRsICovLAogCQkJCUE4MEU2REY5MEExOTkwNjcw
MDdGQjhDNSAvKiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgKi8sCiAJCQkJQTgwRTZE
RkEwQTE5OTA2NzAwN0ZCOEM1IC8qIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggKi8sCiAJ
CQkJQTgwRTczNDcwQTE5OUM3NzAwN0ZCOEM1IC8qIENTU05hbWVzcGFjZS5oICovLAogCQkJCUE4
MEU2Q0NCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5jcHAgKi8sCiAJCQkJQTgwRTZD
RDYwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VSdWxlLmggKi8sCisJCQkJODVDNTZDQTYwQUE4
OUQ1RjAwRDk1NzU1IC8qIENTU1BhZ2VSdWxlLmlkbCAqLywKIAkJCQlCQ0VBNDc4NzA5N0NBQUM4
MDA5NEM5RTQgLyogY3NzcGFyc2VyLmNwcCAqLywKIAkJCQlCQ0VBNDc4ODA5N0NBQUM4MDA5NEM5
RTQgLyogY3NzcGFyc2VyLmggKi8sCiAJCQkJQTgwRTZDREIwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U1ByaW1pdGl2ZVZhbHVlLmNwcCAqLywKQEAgLTYxMjMsMTEgKzYzMDQsMTQgQEAKIAkJCQkxNDIw
MTFBRTBBMDAzMTE3MDA4MzAzRjkgLyogQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwgKi8sCiAJCQkJ
QTgwRTZDQzUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1N0eWxlUnVsZS5jcHAgKi8sCiAJCQkJQTgw
RTZDRTIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1N0eWxlUnVsZS5oICovLAorCQkJCTg1QzU2Q0Ex
MEFBODlBQjQwMEQ5NTc1NSAvKiBDU1NTdHlsZVJ1bGUuaWRsICovLAogCQkJCUJDRUE0NzhBMDk3
Q0FBQzgwMDk0QzlFNCAvKiBjc3NzdHlsZXNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQ0VBNDc4QjA5
N0NBQUM4MDA5NEM5RTQgLyogY3Nzc3R5bGVzZWxlY3Rvci5oICovLAogCQkJCUE4RUE4MDAwMEEx
OTUxNkUwMEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlBOEVBN0ZGRjBBMTk1
MTZFMDBBOEVGNUYgLyogQ1NTU3R5bGVTaGVldC5oICovLAorCQkJCTg1OEMzOTEwMEFBOEZGMDAw
MEIxODdBNCAvKiBDU1NTdHlsZVNoZWV0LmlkbCAqLywKIAkJCQlBODBFNkNDRTBBMTk4OUNBMDA3
RkI4QzUgLyogQ1NTVW5rbm93blJ1bGUuaCAqLywKKwkJCQk4NUM1NkNBRDBBQTg5RkUwMDBEOTU3
NTUgLyogQ1NTVW5rbm93blJ1bGUuaWRsICovLAogCQkJCUE4MEU2Q0M0MEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NWYWx1ZS5oICovLAogCQkJCTE0Q0Y3ODcxMDlGNTg3Q0EwMEVCMzY2NSAvKiBDU1NW
YWx1ZS5pZGwgKi8sCiAJCQkJQkNFQTQ3OEMwOTdDQUFDODAwOTRDOUU0IC8qIENTU1ZhbHVlS2V5
d29yZHMuaW4gKi8sCkBAIC02MTQ4LDYgKzYzMzIsNyBAQAogCQkJCTRFMTk1OTIwMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovLAogCQkJCUE4RUE4MDAxMEExOTUxNkUw
MEE4RUY1RiAvKiBNZWRpYUxpc3QuY3BwICovLAogCQkJCUE4RUE4MDA2MEExOTUxNkUwMEE4RUY1
RiAvKiBNZWRpYUxpc3QuaCAqLywKKwkJCQk4NUM1NkM1QjBBQTg3QUZEMDBEOTU3NTUgLyogTWVk
aWFMaXN0LmlkbCAqLywKIAkJCQk0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVy
eS5jcHAgKi8sCiAJCQkJNEUxOTU5MjQwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCAq
LywKIAkJCQk0RTE5NTkyNTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5j
cHAgKi8sCkBAIC02MTU2LDYgKzYzNDEsNyBAQAogCQkJCTRFMTk1OTI4MEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5RXhwLmggKi8sCiAJCQkJQTgwRTZDRDEwQTE5ODlDQTAwN0ZCOEM1IC8q
IFBhaXIuaCAqLywKIAkJCQk5M0NBNEM5RjA5REY5M0ZBMDBERjg2NzcgLyogcXVpcmtzLmNzcyAq
LywKKwkJCQk4NThDMzhFRjBBQThGREQxMDBCMTg3QTQgLyogUkdCQ29sb3IuaWRsICovLAogCQkJ
CUE4MEU3OTk2MEExOUJEMjEwMDdGQjhDNSAvKiBSZWN0LmlkbCAqLywKIAkJCQlBODBFNkNFMDBB
MTk4OUNBMDA3RkI4QzUgLyogUmVjdEltcGwuaCAqLywKIAkJCQlBODBFNkNDQTBBMTk4OUNBMDA3
RkI4QzUgLyogU2hhZG93VmFsdWUuY3BwICovLApAQCAtNzM0Myw2ICs3NTI5LDIzIEBACiAJCQkJ
ODUyQjlFODcwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NTJCOUU4OTBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlvbkVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOTg5NTVEMEFBNzgxNDkwMDVFRjVFRiAvKiBD
U3RyaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTAzMkRENzBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMyREQ5MEFBOEM5QkUw
MDdEM0I3RCAvKiBET01DU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMy
RERCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4NTAzMkRERDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NTAzMkRERjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUGFnZVJ1bGUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMyREUxMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NS
dWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTAzMkRFMzBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTUnVsZUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MDMyREU1MEFBOEM5QkUwMDdEM0I3
RCAvKiBET01DU1NTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTAzMkRF
NzBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4NTAzMkRFOTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg1OEMzODFDMEFBOEUyOTYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODU4QzM4MkMwQUE4RTQwNTAwQjE4N0E0IC8qIERPTUNTU1ByaW1p
dGl2ZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NThDMzgzQzBBQThFRDgyMDBCMTg3QTQg
LyogRE9NQ1NTVmFsdWVMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NThDMzhBNTBBQThGMjA0
MDBCMTg3QTQgLyogRE9NQ291bnRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU4QzM4QTcwQUE4
RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OEMzOTI4MEFB
OEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKKwkJCQk4
NThDMzk1RjBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtODMyOCw2ICs4NTMxLDIzIEBACiAJCQkJODUyQjlFOEEwQUE3OUM0NzAwMkFEQTZFIC8qIERP
TUhUTUxPcHRpb25FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1NUMwQUE3ODE0
OTAwNUVGNUVGIC8qIENTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1NkIwQUE3
OEY4MDAwNUVGNUVGIC8qIEtVUkxDRk5ldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkRE
ODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTQ2hhcnNldFJ1bGUubW0gaW4gU291cmNlcyAqLywK
KwkJCQk4NTAzMkREQTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTRm9udEZhY2VSdWxlLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJODUwMzJEREMwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9y
dFJ1bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkRERTBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTTWVkaWFSdWxlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODUwMzJERTAwQUE4QzlCRTAw
N0QzQjdEIC8qIERPTUNTU1BhZ2VSdWxlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODUwMzJERTIw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1J1bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAz
MkRFNDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTUnVsZUxpc3QubW0gaW4gU291cmNlcyAqLywK
KwkJCQk4NTAzMkRFNjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTg1MDMyREU4MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NT
dHlsZVJ1bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTAzMkRFQTBBQThDOUJFMDA3RDNCN0Qg
LyogRE9NQ1NTVW5rbm93blJ1bGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThDMzgxRDBBQThF
Mjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThDMzgy
RDBBQThFNDA1MDBCMTg3QTQgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWUubW0gaW4gU291cmNlcyAq
LywKKwkJCQk4NThDMzgzRDBBQThFRDgyMDBCMTg3QTQgLyogRE9NQ1NTVmFsdWVMaXN0Lm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJODU4QzM4QTYwQUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIu
bW0gaW4gU291cmNlcyAqLywKKwkJCQk4NThDMzhBODBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVj
dC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1OEMzOTI5MEFBOEZGOUQwMEIxODdBNCAvKiBET01D
U1NTdHlsZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODU4QzM5NjAwQUE5MDJBOTAwQjE4
N0E0IC8qIERPTVJHQkNvbG9yLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NQ1NTLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUNTUy5oCShyZXZpc2lvbiAxNjE5NCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDE3MCArMzEsMjggQEAKICNpbXBvcnQgPFdl
YkNvcmUvRE9NT2JqZWN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVN0eWxlc2hlZXRzLmg+CiAK
LUBjbGFzcyBET01Db3VudGVyOwotQGNsYXNzIERPTUNTU1J1bGU7Ci1AY2xhc3MgRE9NQ1NTU3R5
bGVEZWNsYXJhdGlvbjsKLUBjbGFzcyBET01DU1NTdHlsZVNoZWV0OwotQGNsYXNzIERPTUNTU1Zh
bHVlOwotQGNsYXNzIERPTVJlY3Q7Ci1AY2xhc3MgRE9NUkdCQ29sb3I7CisjaW1wb3J0IDxXZWJD
b3JlL0RPTUNTU0NoYXJzZXRSdWxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU0ZvbnRGYWNl
UnVsZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NJbXBvcnRSdWxlLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0RPTUNTU01lZGlhUnVsZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NQYWdlUnVs
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01DU1NQcmltaXRpdmVWYWx1ZS5oPgorI2ltcG9ydCA8
V2ViQ29yZS9ET01DU1NSdWxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1J1bGVMaXN0Lmg+
CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1N0eWxlRGVjbGFyYXRpb24uaD4KKyNpbXBvcnQgPFdl
YkNvcmUvRE9NQ1NTU3R5bGVSdWxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1N0eWxlU2hl
ZXQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTVW5rbm93blJ1bGUuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvRE9NQ1NTVmFsdWUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTVmFsdWVMaXN0Lmg+
CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNvdW50ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NUkdC
Q29sb3IuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NUmVjdC5oPgogCiBAaW50ZXJmYWNlIERPTURv
Y3VtZW50IChET01WaWV3Q1NTKQogLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWdldENvbXB1
dGVkU3R5bGU6KERPTUVsZW1lbnQgKillbHQgOihOU1N0cmluZyAqKXBzZXVkb0VsdDsKIEBlbmQK
IAotQGludGVyZmFjZSBET01DU1NSdWxlTGlzdCA6IERPTU9iamVjdAotLSAodW5zaWduZWQpbGVu
Z3RoOwotLSAoRE9NQ1NTUnVsZSAqKWl0ZW06KHVuc2lnbmVkKWluZGV4OwotQGVuZAotCi1lbnVt
IHsKLSAgICAvLyBET01DU1NSdWxlIFJ1bGVUeXBlCi0gICAgRE9NX1VOS05PV05fUlVMRSAgICAg
ICAgICAgICAgID0gMCwKLSAgICBET01fU1RZTEVfUlVMRSAgICAgICAgICAgICAgICAgPSAxLAot
ICAgIERPTV9DSEFSU0VUX1JVTEUgICAgICAgICAgICAgICA9IDIsCi0gICAgRE9NX0lNUE9SVF9S
VUxFICAgICAgICAgICAgICAgID0gMywKLSAgICBET01fTUVESUFfUlVMRSAgICAgICAgICAgICAg
ICAgPSA0LAotICAgIERPTV9GT05UX0ZBQ0VfUlVMRSAgICAgICAgICAgICA9IDUsCi0gICAgRE9N
X1BBR0VfUlVMRSAgICAgICAgICAgICAgICAgID0gNgotfTsKLQotQGludGVyZmFjZSBET01DU1NS
dWxlIDogRE9NT2JqZWN0Ci0tICh1bnNpZ25lZCBzaG9ydCl0eXBlOwotLSAoTlNTdHJpbmcgKilj
c3NUZXh0OwotLSAodm9pZClzZXRDc3NUZXh0OihOU1N0cmluZyAqKWNzc1RleHQ7Ci0tIChET01D
U1NTdHlsZVNoZWV0ICopcGFyZW50U3R5bGVTaGVldDsKLS0gKERPTUNTU1J1bGUgKilwYXJlbnRS
dWxlOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUNTU1N0eWxlUnVsZSA6IERPTUNTU1J1bGUKLS0g
KE5TU3RyaW5nICopc2VsZWN0b3JUZXh0OwotLSAodm9pZClzZXRTZWxlY3RvclRleHQ6KE5TU3Ry
aW5nICopc2VsZWN0b3JUZXh0OwotLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKXN0eWxlOwot
QGVuZAotCi1AaW50ZXJmYWNlIERPTUNTU01lZGlhUnVsZSA6IERPTUNTU1J1bGUKLS0gKERPTU1l
ZGlhTGlzdCAqKW1lZGlhOwotLSAoRE9NQ1NTUnVsZUxpc3QgKiljc3NSdWxlczsKLS0gKHVuc2ln
bmVkKWluc2VydFJ1bGU6KE5TU3RyaW5nICopcnVsZSA6KHVuc2lnbmVkKWluZGV4OwotLSAodm9p
ZClkZWxldGVSdWxlOih1bnNpZ25lZClpbmRleDsKLUBlbmQKLQotQGludGVyZmFjZSBET01DU1NG
b250RmFjZVJ1bGUgOiBET01DU1NSdWxlCi0tIChET01DU1NTdHlsZURlY2xhcmF0aW9uICopc3R5
bGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTUGFnZVJ1bGUgOiBET01DU1NSdWxlCi0tIChO
U1N0cmluZyAqKXNlbGVjdG9yVGV4dDsKLS0gKHZvaWQpc2V0U2VsZWN0b3JUZXh0OihOU1N0cmlu
ZyAqKXNlbGVjdG9yVGV4dDsKLS0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZTsKLUBl
bmQKLQotQGludGVyZmFjZSBET01DU1NJbXBvcnRSdWxlIDogRE9NQ1NTUnVsZQotLSAoRE9NTWVk
aWFMaXN0ICopbWVkaWE7Ci0tIChOU1N0cmluZyAqKWhyZWY7Ci0tIChET01DU1NTdHlsZVNoZWV0
ICopc3R5bGVTaGVldDsKLUBlbmQKLQotQGludGVyZmFjZSBET01DU1NDaGFyc2V0UnVsZSA6IERP
TUNTU1J1bGUKLS0gKE5TU3RyaW5nICopZW5jb2Rpbmc7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9N
Q1NTVW5rbm93blJ1bGUgOiBET01DU1NSdWxlCi1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTU3R5
bGVEZWNsYXJhdGlvbiA6IERPTU9iamVjdAotLSAoTlNTdHJpbmcgKiljc3NUZXh0OwotLSAodm9p
ZClzZXRDc3NUZXh0OihOU1N0cmluZyAqKWNzc1RleHQ7Ci0tIChOU1N0cmluZyAqKWdldFByb3Bl
cnR5VmFsdWU6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lOwotLSAoRE9NQ1NTVmFsdWUgKilnZXRQ
cm9wZXJ0eUNTU1ZhbHVlOihOU1N0cmluZyAqKXByb3BlcnR5TmFtZTsKLS0gKE5TU3RyaW5nICop
cmVtb3ZlUHJvcGVydHk6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lOwotLSAoTlNTdHJpbmcgKiln
ZXRQcm9wZXJ0eVByaW9yaXR5OihOU1N0cmluZyAqKXByb3BlcnR5TmFtZTsKLS0gKHZvaWQpc2V0
UHJvcGVydHk6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lIDooTlNTdHJpbmcgKil2YWx1ZSA6KE5T
U3RyaW5nICopcHJpb3JpdHk7Ci0tICh1bnNpZ25lZClsZW5ndGg7Ci0tIChOU1N0cmluZyAqKWl0
ZW06KHVuc2lnbmVkKWluZGV4OwotLSAoRE9NQ1NTUnVsZSAqKXBhcmVudFJ1bGU7Ci1AZW5kCi0K
LWVudW0gewotICAgIC8vIERPTUNTU1ZhbHVlIFVuaXRUeXBlcwotICAgIERPTV9DU1NfSU5IRVJJ
VCA9IDAsCi0gICAgRE9NX0NTU19QUklNSVRJVkVfVkFMVUUgPSAxLAotICAgIERPTV9DU1NfVkFM
VUVfTElTVCA9IDIsCi0gICAgRE9NX0NTU19DVVNUT00gPSAzCi19OwotCi1AaW50ZXJmYWNlIERP
TUNTU1ZhbHVlIDogRE9NT2JqZWN0Ci0tIChOU1N0cmluZyAqKWNzc1RleHQ7Ci0tICh2b2lkKXNl
dENzc1RleHQ6KE5TU3RyaW5nICopY3NzVGV4dDsKLS0gKHVuc2lnbmVkIHNob3J0KWNzc1ZhbHVl
VHlwZTsKLUBlbmQKLQotZW51bSB7Ci0gICAgLy8gRE9NQ1NTUHJpbWl0aXZlVmFsdWUgVW5pdFR5
cGVzCi0gICAgRE9NX0NTU19VTktOT1dOICAgICAgICAgICAgICAgICAgICA9IDAsCi0gICAgRE9N
X0NTU19OVU1CRVIgICAgICAgICAgICAgICAgICAgICA9IDEsCi0gICAgRE9NX0NTU19QRVJDRU5U
QUdFICAgICAgICAgICAgICAgICA9IDIsCi0gICAgRE9NX0NTU19FTVMgICAgICAgICAgICAgICAg
ICAgICAgICA9IDMsCi0gICAgRE9NX0NTU19FWFMgICAgICAgICAgICAgICAgICAgICAgICA9IDQs
Ci0gICAgRE9NX0NTU19QWCAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsCi0gICAgRE9NX0NT
U19DTSAgICAgICAgICAgICAgICAgICAgICAgICA9IDYsCi0gICAgRE9NX0NTU19NTSAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDcsCi0gICAgRE9NX0NTU19JTiAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDgsCi0gICAgRE9NX0NTU19QVCAgICAgICAgICAgICAgICAgICAgICAgICA9IDksCi0g
ICAgRE9NX0NTU19QQyAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLAotICAgIERPTV9DU1Nf
REVHICAgICAgICAgICAgICAgICAgICAgICAgPSAxMSwKLSAgICBET01fQ1NTX1JBRCAgICAgICAg
ICAgICAgICAgICAgICAgID0gMTIsCi0gICAgRE9NX0NTU19HUkFEICAgICAgICAgICAgICAgICAg
ICAgICA9IDEzLAotICAgIERPTV9DU1NfTVMgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNCwK
LSAgICBET01fQ1NTX1MgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUsCi0gICAgRE9NX0NT
U19IWiAgICAgICAgICAgICAgICAgICAgICAgICA9IDE2LAotICAgIERPTV9DU1NfS0haICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxNywKLSAgICBET01fQ1NTX0RJTUVOU0lPTiAgICAgICAgICAg
ICAgICAgID0gMTgsCi0gICAgRE9NX0NTU19TVFJJTkcgICAgICAgICAgICAgICAgICAgICA9IDE5
LAotICAgIERPTV9DU1NfVVJJICAgICAgICAgICAgICAgICAgICAgICAgPSAyMCwKLSAgICBET01f
Q1NTX0lERU5UICAgICAgICAgICAgICAgICAgICAgID0gMjEsCi0gICAgRE9NX0NTU19BVFRSICAg
ICAgICAgICAgICAgICAgICAgICA9IDIyLAotICAgIERPTV9DU1NfQ09VTlRFUiAgICAgICAgICAg
ICAgICAgICAgPSAyMywKLSAgICBET01fQ1NTX1JFQ1QgICAgICAgICAgICAgICAgICAgICAgID0g
MjQsCi0gICAgRE9NX0NTU19SR0JDT0xPUiAgICAgICAgICAgICAgICAgICA9IDI1Ci19OwotCi1A
aW50ZXJmYWNlIERPTUNTU1ByaW1pdGl2ZVZhbHVlIDogRE9NQ1NTVmFsdWUKLS0gKHVuc2lnbmVk
IHNob3J0KXByaW1pdGl2ZVR5cGU7Ci0tICh2b2lkKXNldEZsb2F0VmFsdWU6KHVuc2lnbmVkIHNo
b3J0KXVuaXRUeXBlIDooZmxvYXQpZmxvYXRWYWx1ZTsKLS0gKGZsb2F0KWdldEZsb2F0VmFsdWU6
KHVuc2lnbmVkIHNob3J0KXVuaXRUeXBlOwotLSAodm9pZClzZXRTdHJpbmdWYWx1ZToodW5zaWdu
ZWQgc2hvcnQpc3RyaW5nVHlwZSA6KE5TU3RyaW5nICopc3RyaW5nVmFsdWU7Ci0tIChOU1N0cmlu
ZyAqKWdldFN0cmluZ1ZhbHVlOwotLSAoRE9NQ291bnRlciAqKWdldENvdW50ZXJWYWx1ZTsKLS0g
KERPTVJlY3QgKilnZXRSZWN0VmFsdWU7Ci0tIChET01SR0JDb2xvciAqKWdldFJHQkNvbG9yVmFs
dWU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTVmFsdWVMaXN0IDogRE9NQ1NTVmFsdWUKLS0g
KHVuc2lnbmVkKWxlbmd0aDsKLS0gKERPTUNTU1ZhbHVlICopaXRlbToodW5zaWduZWQpaW5kZXg7
Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NUkdCQ29sb3IgOiBET01PYmplY3QKLS0gKERPTUNTU1By
aW1pdGl2ZVZhbHVlICopcmVkOwotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilncmVlbjsKLS0g
KERPTUNTU1ByaW1pdGl2ZVZhbHVlICopYmx1ZTsKLUBlbmQKLQotQGludGVyZmFjZSBET01SZWN0
IDogRE9NT2JqZWN0Ci0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKXRvcDsKLS0gKERPTUNTU1By
aW1pdGl2ZVZhbHVlICopcmlnaHQ7Ci0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWJvdHRvbTsK
LS0gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICopbGVmdDsKLUBlbmQKLQotQGludGVyZmFjZSBET01D
b3VudGVyIDogRE9NT2JqZWN0Ci0tIChOU1N0cmluZyAqKWlkZW50aWZpZXI7Ci0tIChOU1N0cmlu
ZyAqKWxpc3RTdHlsZTsKLS0gKE5TU3RyaW5nICopc2VwYXJhdG9yOwotQGVuZAotCiBAaW50ZXJm
YWNlIERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKERPTUNTUzJQcm9wZXJ0aWVzKQogLSAoTlNTdHJp
bmcgKilhemltdXRoOwogLSAodm9pZClzZXRBemltdXRoOihOU1N0cmluZyAqKWF6aW11dGg7CkBA
IC00NDAsMTAgKzI5OSwzIEBAIGVudW0gewogLSAoTlNTdHJpbmcgKil6SW5kZXg7CiAtICh2b2lk
KXNldFpJbmRleDooTlNTdHJpbmcgKil6SW5kZXg7CiBAZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NT
U3R5bGVTaGVldCA6IERPTVN0eWxlU2hlZXQKLS0gKERPTUNTU1J1bGUgKilvd25lclJ1bGU7Ci0t
IChET01DU1NSdWxlTGlzdCAqKWNzc1J1bGVzOwotLSAodW5zaWduZWQpaW5zZXJ0UnVsZTooTlNT
dHJpbmcgKilydWxlIDoodW5zaWduZWQpaW5kZXg7Ci0tICh2b2lkKWRlbGV0ZVJ1bGU6KHVuc2ln
bmVkKWluZGV4OwotQGVuZApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCShyZXZpc2lvbiAx
NjE5NCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0JKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
SmFtZXMgRy4gU3BldGggKHNwZXRoQGVuZC5jb20pCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20pCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTIyMyw0NSArMjI0LDExIEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0
VmlldzsKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01DU1NTdHls
ZVNoZWV0CiAKLUBpbXBsZW1lbnRhdGlvbiBET01DU1NTdHlsZVNoZWV0Ci0KLS0gKENTU1N0eWxl
U2hlZXQgKilfQ1NTU3R5bGVTaGVldAotewotICAgIHJldHVybiBET01fY2FzdDxDU1NTdHlsZVNo
ZWV0Kj4oX2ludGVybmFsKTsKLX0KLQotLSAoRE9NQ1NTUnVsZSAqKW93bmVyUnVsZQotewotICAg
IHJldHVybiBbRE9NQ1NTUnVsZSBfcnVsZVdpdGg6W3NlbGYgX0NTU1N0eWxlU2hlZXRdLT5vd25l
clJ1bGUoKV07Ci19Ci0KLS0gKERPTUNTU1J1bGVMaXN0ICopY3NzUnVsZXMKLXsKLSAgICByZXR1
cm4gW0RPTUNTU1J1bGVMaXN0IF9ydWxlTGlzdFdpdGg6W3NlbGYgX0NTU1N0eWxlU2hlZXRdLT5j
c3NSdWxlcygpXTsKLX0KLQotLSAodW5zaWduZWQpaW5zZXJ0UnVsZTooTlNTdHJpbmcgKilydWxl
IDoodW5zaWduZWQpaW5kZXgKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIHVuc2lnbmVk
IHJlc3VsdCA9IFtzZWxmIF9DU1NTdHlsZVNoZWV0XS0+aW5zZXJ0UnVsZShydWxlLCBpbmRleCwg
ZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LSAodm9pZClkZWxldGVSdWxlOih1bnNpZ25lZClpbmRleAotewotICAgIEV4Y2VwdGlvbkNvZGUg
ZWM7Ci0gICAgW3NlbGYgX0NTU1N0eWxlU2hlZXRdLT5kZWxldGVSdWxlKGluZGV4LCBlYyk7Ci0g
ICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLX0KLQotQGVuZAotCiBAaW1wbGVtZW50YXRpb24gRE9N
Q1NTU3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQogCiArIChET01DU1NTdHlsZVNoZWV0ICop
X0NTU1N0eWxlU2hlZXRXaXRoOihDU1NTdHlsZVNoZWV0ICopaW1wbAogewotICAgIHJldHVybiAo
RE9NQ1NTU3R5bGVTaGVldCAqKVtET01TdHlsZVNoZWV0IF9ET01TdHlsZVNoZWV0V2l0aDppbXBs
XTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NQ1NTU3R5bGVTaGVldCo+KFtET01TdHlsZVNo
ZWV0IF9ET01TdHlsZVNoZWV0V2l0aDppbXBsXSk7CiB9CiAKIEBlbmQKQEAgLTM1OSw0MSArMzI2
LDYgQEAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3OwogLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTUNTU1J1bGVMaXN0CiAKLUBpbXBsZW1lbnRhdGlvbiBE
T01DU1NSdWxlTGlzdAotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7
Ci0gICAgICAgIERPTV9jYXN0PENTU1J1bGVMaXN0Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAg
ICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAg
aWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxDU1NSdWxlTGlzdCo+KF9pbnRlcm5h
bCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKENTU1J1
bGVMaXN0ICopX3J1bGVMaXN0Ci17Ci0gICAgcmV0dXJuIERPTV9jYXN0PENTU1J1bGVMaXN0Kj4o
X2ludGVybmFsKTsKLX0KLQotLSAodW5zaWduZWQpbGVuZ3RoCi17Ci0gICAgcmV0dXJuIFtzZWxm
IF9ydWxlTGlzdF0tPmxlbmd0aCgpOwotfQotCi0tIChET01DU1NSdWxlICopaXRlbToodW5zaWdu
ZWQpaW5kZXgKLXsKLSAgICByZXR1cm4gW0RPTUNTU1J1bGUgX3J1bGVXaXRoOltzZWxmIF9ydWxl
TGlzdF0tPml0ZW0oaW5kZXgpXTsKLX0KLQotQGVuZAotCiBAaW1wbGVtZW50YXRpb24gRE9NQ1NT
UnVsZUxpc3QgKFdlYkNvcmVJbnRlcm5hbCkKIAogLSAoaWQpX2luaXRXaXRoUnVsZUxpc3Q6KENT
U1J1bGVMaXN0ICopaW1wbApAQCAtNDIwLDU5ICszNTIsMTAgQEAgdHlwZWRlZiBET01XaW5kb3cg
QWJzdHJhY3RWaWV3OwogCiBAZW5kCiAKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIC8vIERPTUNTU1J1bGUKIAotQGltcGxlbWVudGF0aW9uIERPTUNTU1J1bGUKLQotLSAo
dm9pZClkZWFsbG9jCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxD
U1NSdWxlKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2Nd
OwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAg
ICBET01fY2FzdDxDU1NSdWxlKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1
cGVyIGZpbmFsaXplXTsKLX0KLQotLSAoQ1NTUnVsZSAqKV9ydWxlCi17Ci0gICAgcmV0dXJuIERP
TV9jYXN0PENTU1J1bGUqPihfaW50ZXJuYWwpOwotfQotCi0tICh1bnNpZ25lZCBzaG9ydCl0eXBl
Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9ydWxlXS0+dHlwZSgpOwotfQotCi0tIChOU1N0cmluZyAq
KWNzc1RleHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX3J1bGVdLT5jc3NUZXh0KCk7Ci19Ci0KLS0g
KHZvaWQpc2V0Q3NzVGV4dDooTlNTdHJpbmcgKiljc3NUZXh0Ci17Ci0gICAgW3NlbGYgX3J1bGVd
LT5zZXRDc3NUZXh0KGNzc1RleHQpOwotfQotCi0tIChET01DU1NTdHlsZVNoZWV0ICopcGFyZW50
U3R5bGVTaGVldAotewotICAgIHJldHVybiBbRE9NQ1NTU3R5bGVTaGVldCBfQ1NTU3R5bGVTaGVl
dFdpdGg6W3NlbGYgX3J1bGVdLT5wYXJlbnRTdHlsZVNoZWV0KCldOwotfQotCi0tIChET01DU1NS
dWxlICopcGFyZW50UnVsZQotewotICAgIHJldHVybiBbRE9NQ1NTUnVsZSBfcnVsZVdpdGg6W3Nl
bGYgX3J1bGVdLT5wYXJlbnRSdWxlKCldOwotfQotCi1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBE
T01DU1NSdWxlIChXZWJDb3JlSW50ZXJuYWwpCiAKIC0gKGlkKV9pbml0V2l0aFJ1bGU6KENTU1J1
bGUgKilpbXBsCkBAIC01MjMsMjIwICs0MDYsMTEgQEAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJh
Y3RWaWV3OwogCiBAZW5kCiAKLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0v
LyBET01DU1NTdHlsZVJ1bGUKLQotQGltcGxlbWVudGF0aW9uIERPTUNTU1N0eWxlUnVsZQotCi0t
IChDU1NTdHlsZVJ1bGUgKilfc3R5bGVSdWxlCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENT
U1N0eWxlUnVsZSo+KERPTV9jYXN0PENTU1J1bGUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAoTlNT
dHJpbmcgKilzZWxlY3RvclRleHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX3N0eWxlUnVsZV0tPnNl
bGVjdG9yVGV4dCgpOwotfQotCi0tICh2b2lkKXNldFNlbGVjdG9yVGV4dDooTlNTdHJpbmcgKilz
ZWxlY3RvclRleHQKLXsKLSAgICBbc2VsZiBfc3R5bGVSdWxlXS0+c2V0U2VsZWN0b3JUZXh0KHNl
bGVjdG9yVGV4dCk7Ci19Ci0KLS0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZQotewot
ICAgIHJldHVybiBbRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiBfc3R5bGVEZWNsYXJhdGlvbldpdGg6
W3NlbGYgX3N0eWxlUnVsZV0tPnN0eWxlKCldOwotfQotCi1AZW5kCi0KLS8vLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBET01DU1NNZWRpYVJ1bGUKLQotQGltcGxlbWVudGF0
aW9uIERPTUNTU01lZGlhUnVsZQotCi0tIChDU1NNZWRpYVJ1bGUgKilfbWVkaWFSdWxlCi17Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU01lZGlhUnVsZSo+KERPTV9jYXN0PENTU1J1bGUqPihf
aW50ZXJuYWwpKTsKLX0KLQotLSAoRE9NTWVkaWFMaXN0ICopbWVkaWEKLXsKLSAgICByZXR1cm4g
W0RPTU1lZGlhTGlzdCBfbWVkaWFMaXN0V2l0aDpbc2VsZiBfbWVkaWFSdWxlXS0+bWVkaWEoKV07
Ci19Ci0KLS0gKERPTUNTU1J1bGVMaXN0ICopY3NzUnVsZXMKLXsKLSAgICByZXR1cm4gW0RPTUNT
U1J1bGVMaXN0IF9ydWxlTGlzdFdpdGg6W3NlbGYgX21lZGlhUnVsZV0tPmNzc1J1bGVzKCldOwot
fQotCi0tICh1bnNpZ25lZClpbnNlcnRSdWxlOihOU1N0cmluZyAqKXJ1bGUgOih1bnNpZ25lZClp
bmRleAotewotICAgIHJldHVybiBbc2VsZiBfbWVkaWFSdWxlXS0+aW5zZXJ0UnVsZShydWxlLCBp
bmRleCk7Ci19Ci0KLS0gKHZvaWQpZGVsZXRlUnVsZToodW5zaWduZWQpaW5kZXgKLXsKLSAgICBb
c2VsZiBfbWVkaWFSdWxlXS0+ZGVsZXRlUnVsZShpbmRleCk7Ci19Ci0KLUBlbmQKLQotLy8tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTUNTU0ZvbnRGYWNlUnVsZQotCi1A
aW1wbGVtZW50YXRpb24gRE9NQ1NTRm9udEZhY2VSdWxlCi0KLS0gKENTU0ZvbnRGYWNlUnVsZSAq
KV9mb250RmFjZVJ1bGUKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTRm9udEZhY2VSdWxl
Kj4oRE9NX2Nhc3Q8Q1NTUnVsZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChET01DU1NTdHlsZURl
Y2xhcmF0aW9uICopc3R5bGUKLXsKLSAgICByZXR1cm4gW0RPTUNTU1N0eWxlRGVjbGFyYXRpb24g
X3N0eWxlRGVjbGFyYXRpb25XaXRoOltzZWxmIF9mb250RmFjZVJ1bGVdLT5zdHlsZSgpXTsKLX0K
LQotQGVuZAotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NT
UGFnZVJ1bGUKLQotQGltcGxlbWVudGF0aW9uIERPTUNTU1BhZ2VSdWxlCi0KLS0gKENTU1BhZ2VS
dWxlICopX3BhZ2VSdWxlCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU1BhZ2VSdWxlKj4o
RE9NX2Nhc3Q8Q1NTUnVsZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChOU1N0cmluZyAqKXNlbGVj
dG9yVGV4dAotewotICAgIHJldHVybiBbc2VsZiBfcGFnZVJ1bGVdLT5zZWxlY3RvclRleHQoKTsK
LX0KLQotLSAodm9pZClzZXRTZWxlY3RvclRleHQ6KE5TU3RyaW5nICopc2VsZWN0b3JUZXh0Ci17
Ci0gICAgW3NlbGYgX3BhZ2VSdWxlXS0+c2V0U2VsZWN0b3JUZXh0KHNlbGVjdG9yVGV4dCk7Ci19
Ci0KLS0gKERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZQotewotICAgIHJldHVybiBbRE9N
Q1NTU3R5bGVEZWNsYXJhdGlvbiBfc3R5bGVEZWNsYXJhdGlvbldpdGg6W3NlbGYgX3BhZ2VSdWxl
XS0+c3R5bGUoKV07Ci19Ci0KLUBlbmQKLQotLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLS8vIERPTUNTU0ltcG9ydFJ1bGUKLQotQGltcGxlbWVudGF0aW9uIERPTUNTU0ltcG9y
dFJ1bGUKLQotLSAoQ1NTSW1wb3J0UnVsZSAqKV9pbXBvcnRSdWxlCi17Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENTU0ltcG9ydFJ1bGUqPihET01fY2FzdDxDU1NSdWxlKj4oX2ludGVybmFsKSk7
Ci19Ci0KLS0gKERPTU1lZGlhTGlzdCAqKW1lZGlhCi17Ci0gICAgcmV0dXJuIFtET01NZWRpYUxp
c3QgX21lZGlhTGlzdFdpdGg6W3NlbGYgX2ltcG9ydFJ1bGVdLT5tZWRpYSgpXTsKLX0KLQotLSAo
TlNTdHJpbmcgKilocmVmCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbXBvcnRSdWxlXS0+aHJlZigp
OwotfQotCi0tIChET01DU1NTdHlsZVNoZWV0ICopc3R5bGVTaGVldAotewotICAgIHJldHVybiBb
RE9NQ1NTU3R5bGVTaGVldCBfQ1NTU3R5bGVTaGVldFdpdGg6W3NlbGYgX2ltcG9ydFJ1bGVdLT5z
dHlsZVNoZWV0KCldOwotfQotCi1AZW5kCi0KLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0vLyBET01DU1NDaGFyc2V0UnVsZQotCi1AaW1wbGVtZW50YXRpb24gRE9NQ1NTQ2hh
cnNldFJ1bGUKLQotLSAoQ1NTQ2hhcnNldFJ1bGUgKilfaW1wb3J0UnVsZQotewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDU1NDaGFyc2V0UnVsZSo+KERPTV9jYXN0PENTU1J1bGUqPihfaW50ZXJu
YWwpKTsKLX0KLQotLSAoTlNTdHJpbmcgKillbmNvZGluZwotewotICAgIHJldHVybiBbc2VsZiBf
aW1wb3J0UnVsZV0tPmVuY29kaW5nKCk7Ci19Ci0KLUBlbmQKLQotLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTUNTU1Vua25vd25SdWxlCi0KLUBpbXBsZW1lbnRhdGlv
biBET01DU1NVbmtub3duUnVsZQotCi1AZW5kCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAvLyBET01DU1NTdHlsZURlY2xhcmF0aW9uCiAKLUBpbXBsZW1lbnRhdGlvbiBE
T01DU1NTdHlsZURlY2xhcmF0aW9uCi0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChfaW50
ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8Q1NTU3R5bGVEZWNsYXJhdGlvbio+KF9pbnRlcm5h
bCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClm
aW5hbGl6ZQotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8Q1NTU3R5
bGVEZWNsYXJhdGlvbio+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBm
aW5hbGl6ZV07Ci19Ci0KLS0gKE5TU3RyaW5nICopZGVzY3JpcHRpb24KLXsKLSAgICByZXR1cm4g
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJET01DU1NTdHlsZURlY2xhcmF0aW9uOiAlQCIs
IFtzZWxmIGNzc1RleHRdXTsKLX0KLQotLSAoTlNTdHJpbmcgKiljc3NUZXh0Ci17Ci0gICAgcmV0
dXJuIFtzZWxmIF9zdHlsZURlY2xhcmF0aW9uXS0+Y3NzVGV4dCgpOwotfQotCi0tICh2b2lkKXNl
dENzc1RleHQ6KE5TU3RyaW5nICopY3NzVGV4dAotewotICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0g
ICAgW3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5zZXRDc3NUZXh0KGNzc1RleHQsIGVjKTsKLSAg
ICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tIChOU1N0cmluZyAqKWdldFByb3BlcnR5VmFs
dWU6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9zdHlsZURl
Y2xhcmF0aW9uXS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eU5hbWUpOwotfQotCi0tIChET01D
U1NWYWx1ZSAqKWdldFByb3BlcnR5Q1NTVmFsdWU6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lCi17
Ci0gICAgcmV0dXJuIFtET01DU1NWYWx1ZSBfdmFsdWVXaXRoOltzZWxmIF9zdHlsZURlY2xhcmF0
aW9uXS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eU5hbWUpLmdldCgpXTsKLX0KLQotLSAo
TlNTdHJpbmcgKilyZW1vdmVQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWUKLXsKLSAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBTdHJpbmcgcmVzdWx0ID0gW3NlbGYgX3N0eWxl
RGVjbGFyYXRpb25dLT5yZW1vdmVQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIGVjKTsKLSAgICByYWlz
ZU9uRE9NRXJyb3IoZWMpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS0gKE5TU3RyaW5nICop
Z2V0UHJvcGVydHlQcmlvcml0eTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWUKLXsKLSAgICByZXR1
cm4gW3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5
TmFtZSk7Ci19CitAaW1wbGVtZW50YXRpb24gRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAoRE9NQ1NT
U3R5bGVEZWNsYXJhdGlvbkV4dGVuc2lvbnMpCiAKIC0gKE5TU3RyaW5nICopZ2V0UHJvcGVydHlT
aG9ydGhhbmQ6KE5TU3RyaW5nICopcHJvcGVydHlOYW1lCiB7CkBAIC03NDgsMjggKzQyMiw2IEBA
IHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKICAgICByZXR1cm4gW3NlbGYgX3N0eWxl
RGVjbGFyYXRpb25dLT5pc1Byb3BlcnR5SW1wbGljaXQocHJvcGVydHlOYW1lKTsKIH0KIAotLSAo
dm9pZClzZXRQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eU5hbWUgOihOU1N0cmluZyAqKXZh
bHVlIDooTlNTdHJpbmcgKilwcmlvcml0eQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAg
W3NlbGYgX3N0eWxlRGVjbGFyYXRpb25dLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBwcmlvcml0eSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci19Ci0KLS0gKHVuc2ln
bmVkKWxlbmd0aAotewotICAgIHJldHVybiBbc2VsZiBfc3R5bGVEZWNsYXJhdGlvbl0tPmxlbmd0
aCgpOwotfQotCi0tIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAgcmV0
dXJuIFtzZWxmIF9zdHlsZURlY2xhcmF0aW9uXS0+aXRlbShpbmRleCk7Ci19Ci0KLS0gKERPTUNT
U1J1bGUgKilwYXJlbnRSdWxlCi17Ci0gICAgcmV0dXJuIFtET01DU1NSdWxlIF9ydWxlV2l0aDpb
c2VsZiBfc3R5bGVEZWNsYXJhdGlvbl0tPnBhcmVudFJ1bGUoKV07Ci19Ci0KIEBlbmQKIAogQGlt
cGxlbWVudGF0aW9uIERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKFdlYkNvcmVJbnRlcm5hbCkKQEAg
LTgwNiw0NiArNDU4LDYgQEAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3OwogLy8tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTUNTU1ZhbHVlCiAKLUBpbXBsZW1l
bnRhdGlvbiBET01DU1NWYWx1ZQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX2ludGVy
bmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PENTU1ZhbHVlKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsK
LSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0g
ICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxDU1NWYWx1ZSo+KF9pbnRlcm5h
bCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKENTU1Zh
bHVlICopX3ZhbHVlCi17Ci0gICAgcmV0dXJuIERPTV9jYXN0PENTU1ZhbHVlKj4oX2ludGVybmFs
KTsKLX0KLQotLSAoTlNTdHJpbmcgKiljc3NUZXh0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF92YWx1
ZV0tPmNzc1RleHQoKTsKLX0KLQotLSAodm9pZClzZXRDc3NUZXh0OihOU1N0cmluZyAqKWNzc1Rl
eHQKLXsKLSAgICBbc2VsZiBfdmFsdWVdLT5zZXRDc3NUZXh0KGNzc1RleHQpOwotfQotCi0tICh1
bnNpZ25lZCBzaG9ydCljc3NWYWx1ZVR5cGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX3ZhbHVlXS0+
Y3NzVmFsdWVUeXBlKCk7Ci19Ci0KLUBlbmQKLQogQGltcGxlbWVudGF0aW9uIERPTUNTU1ZhbHVl
IChXZWJDb3JlSW50ZXJuYWwpCiAKIC0gKGlkKV9pbml0V2l0aFZhbHVlOihDU1NWYWx1ZSAqKWlt
cGwKQEAgLTg4NywyMDEgKzQ5OSwyMyBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7
CiAKIEBlbmQKIAorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9N
Q1NTUHJpbWl0aXZlVmFsdWUKIAotQGltcGxlbWVudGF0aW9uIERPTUNTU1ByaW1pdGl2ZVZhbHVl
CitAaW1wbGVtZW50YXRpb24gRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKFdlYkNvcmVJbnRlcm5hbCkK
IAogKyAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilfdmFsdWVXaXRoOihDU1NWYWx1ZSAqKWltcGwK
IHsKLSAgICByZXR1cm4gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICopKFtET01DU1NWYWx1ZSBfdmFs
dWVXaXRoOiBpbXBsXSk7Ci19Ci0KLS0gKENTU1ByaW1pdGl2ZVZhbHVlICopX3ByaW1pdGl2ZVZh
bHVlCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oRE9NX2Nh
c3Q8Q1NTVmFsdWUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAodW5zaWduZWQgc2hvcnQpcHJpbWl0
aXZlVHlwZQotewotICAgIHJldHVybiBbc2VsZiBfcHJpbWl0aXZlVmFsdWVdLT5wcmltaXRpdmVU
eXBlKCk7Ci19Ci0KLS0gKHZvaWQpc2V0RmxvYXRWYWx1ZToodW5zaWduZWQgc2hvcnQpdW5pdFR5
cGUgOihmbG9hdClmbG9hdFZhbHVlCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICBbc2Vs
ZiBfcHJpbWl0aXZlVmFsdWVdLT5zZXRGbG9hdFZhbHVlKHVuaXRUeXBlLCBmbG9hdFZhbHVlLCBl
Yyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLX0KLQotLSAoZmxvYXQpZ2V0RmxvYXRWYWx1
ZToodW5zaWduZWQgc2hvcnQpdW5pdFR5cGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX3ByaW1pdGl2
ZVZhbHVlXS0+Z2V0RmxvYXRWYWx1ZSh1bml0VHlwZSk7Ci19Ci0KLS0gKHZvaWQpc2V0U3RyaW5n
VmFsdWU6KHVuc2lnbmVkIHNob3J0KXN0cmluZ1R5cGUgOihOU1N0cmluZyAqKXN0cmluZ1ZhbHVl
Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICBTdHJpbmcgc3RyaW5nKHN0cmluZ1ZhbHVl
KTsKLSAgICBbc2VsZiBfcHJpbWl0aXZlVmFsdWVdLT5zZXRTdHJpbmdWYWx1ZShzdHJpbmdUeXBl
LCBzdHJpbmcsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tIChOU1N0cmlu
ZyAqKWdldFN0cmluZ1ZhbHVlCi17Ci0gICAgcmV0dXJuIFN0cmluZyhbc2VsZiBfcHJpbWl0aXZl
VmFsdWVdLT5nZXRTdHJpbmdWYWx1ZSgpKTsKLX0KLQotLSAoRE9NQ291bnRlciAqKWdldENvdW50
ZXJWYWx1ZQotewotICAgIHJldHVybiBbRE9NQ291bnRlciBfY291bnRlcldpdGg6W3NlbGYgX3By
aW1pdGl2ZVZhbHVlXS0+Z2V0Q291bnRlclZhbHVlKCldOwotfQotCi0tIChET01SZWN0ICopZ2V0
UmVjdFZhbHVlCi17Ci0gICAgcmV0dXJuIFtET01SZWN0IF9yZWN0V2l0aDpbc2VsZiBfcHJpbWl0
aXZlVmFsdWVdLT5nZXRSZWN0VmFsdWUoKV07Ci19Ci0KLS0gKERPTVJHQkNvbG9yICopZ2V0UkdC
Q29sb3JWYWx1ZQotewotICAgIHJldHVybiBbRE9NUkdCQ29sb3IgX1JHQkNvbG9yV2l0aFJHQjpb
c2VsZiBfcHJpbWl0aXZlVmFsdWVdLT5nZXRSR0JDb2xvclZhbHVlKCldOworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxET01DU1NQcmltaXRpdmVWYWx1ZSo+KFtET01DU1NWYWx1ZSBfdmFsdWVXaXRo
OmltcGxdKTsKIH0KIAogQGVuZAogCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotLy8gRE9NQ1NTVmFsdWVMaXN0Ci0KLUBpbXBsZW1lbnRhdGlvbiBET01DU1NWYWx1ZUxpc3QK
LQotLSAoQ1NTVmFsdWVMaXN0ICopX3ZhbHVlTGlzdAotewotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDU1NWYWx1ZUxpc3QqPihET01fY2FzdDxDU1NWYWx1ZSo+KF9pbnRlcm5hbCkpOwotfQotCi0t
ICh1bnNpZ25lZClsZW5ndGgKLXsKLSAgICByZXR1cm4gW3NlbGYgX3ZhbHVlTGlzdF0tPmxlbmd0
aCgpOwotfQotCi0tIChET01DU1NWYWx1ZSAqKWl0ZW06KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAg
cmV0dXJuIFtET01DU1NWYWx1ZSBfdmFsdWVXaXRoOltzZWxmIF92YWx1ZUxpc3RdLT5pdGVtKGlu
ZGV4KV07Ci19Ci0KLUBlbmQKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIERPTVJHQkNvbG9yCiAKLXN0YXRpYyBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIHdyYXBwZXJD
YWNoZSA9IE5VTEw7Ci0KLWlkIGdldFdyYXBwZXJGb3JSR0IoUkdCQTMyIHZhbHVlKQotewotICAg
IGlmICghd3JhcHBlckNhY2hlKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiAoaWQp
Q0ZEaWN0aW9uYXJ5R2V0VmFsdWUod3JhcHBlckNhY2hlLCByZWludGVycHJldF9jYXN0PGNvbnN0
IHZvaWQqPih2YWx1ZSkpOwotfQotCi12b2lkIHNldFdyYXBwZXJGb3JSR0IoaWQgd3JhcHBlciwg
UkdCQTMyIHZhbHVlKQotewotICAgIGlmICghd3JhcHBlckNhY2hlKSB7Ci0gICAgICAgIC8vIE5v
IG5lZWQgdG8gcmV0YWluL2ZyZWUgZWl0aGVyIGltcGwga2V5LCBvciBpZCB2YWx1ZS4gIEl0ZW1z
IHdpbGwgYmUgcmVtb3ZlZAotICAgICAgICAvLyBmcm9tIHRoZSBjYWNoZSBpbiBkZWFsbG9jIG1l
dGhvZHMuCi0gICAgICAgIHdyYXBwZXJDYWNoZSA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUo
TlVMTCwgMCwgTlVMTCwgTlVMTCk7Ci0gICAgfQotICAgIENGRGljdGlvbmFyeVNldFZhbHVlKHdy
YXBwZXJDYWNoZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4odmFsdWUpLCB3cmFwcGVy
KTsKLX0KLQotdm9pZCByZW1vdmVXcmFwcGVyRm9yUkdCKFJHQkEzMiB2YWx1ZSkKLXsKLSAgICBp
ZiAoIXdyYXBwZXJDYWNoZSkKLSAgICAgICAgcmV0dXJuOwotICAgIENGRGljdGlvbmFyeVJlbW92
ZVZhbHVlKHdyYXBwZXJDYWNoZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4odmFsdWUp
KTsKLX0KLQotQGltcGxlbWVudGF0aW9uIERPTVJHQkNvbG9yCi0KLS0gKHZvaWQpZGVhbGxvYwot
ewotICAgIHJlbW92ZVdyYXBwZXJGb3JSR0IocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KF9p
bnRlcm5hbCkpOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClmaW5hbGl6ZQot
ewotICAgIHJlbW92ZVdyYXBwZXJGb3JSR0IocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KF9p
bnRlcm5hbCkpOwotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKERPTUNTU1ByaW1pdGl2
ZVZhbHVlICopcmVkCi17Ci0gICAgUkdCQTMyIHJnYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihfaW50ZXJuYWwpOwotICAgIGludCB2YWx1ZSA9IChyZ2IgPj4gMTYpICYgMHhGRjsKLSAg
ICByZXR1cm4gW0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6bmV3IENTU1ByaW1pdGl2
ZVZhbHVlKHZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOwotfQotCi0tIChE
T01DU1NQcmltaXRpdmVWYWx1ZSAqKWdyZWVuCi17Ci0gICAgUkdCQTMyIHJnYiA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwpOwotICAgIGludCB2YWx1ZSA9IChyZ2IgPj4g
OCkgJiAweEZGOwotICAgIHJldHVybiBbRE9NQ1NTUHJpbWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpu
ZXcgQ1NTUHJpbWl0aXZlVmFsdWUodmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
KV07Ci19Ci0KLS0gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICopYmx1ZQotewotICAgIFJHQkEzMiBy
Z2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKTsKLSAgICBpbnQgdmFs
dWUgPSByZ2IgJiAweEZGOwotICAgIHJldHVybiBbRE9NQ1NTUHJpbWl0aXZlVmFsdWUgX3ZhbHVl
V2l0aDpuZXcgQ1NTUHJpbWl0aXZlVmFsdWUodmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSKV07Ci19Ci0KLS0gKGlkKWNvcHlXaXRoWm9uZTooTlNab25lICopem9uZQotewotICAg
IHJldHVybiBbc2VsZiByZXRhaW5dOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01S
R0JDb2xvciAoV2ViQ29yZUludGVybmFsKQotCi0tIChpZClfaW5pdFdpdGhSR0I6KFJHQkEzMil2
YWx1ZQotewotICAgIFtzdXBlciBfaW5pdF07Ci0gICAgX2ludGVybmFsID0gcmVpbnRlcnByZXRf
Y2FzdDxET01PYmplY3RJbnRlcm5hbCo+KHZhbHVlKTsKLSAgICBzZXRXcmFwcGVyRm9yUkdCKHNl
bGYsIHZhbHVlKTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotKyAoRE9NUkdCQ29sb3IgKilfUkdC
Q29sb3JXaXRoUkdCOihSR0JBMzIpdmFsdWUKLXsKLSAgICBpZCBjYWNoZWRJbnN0YW5jZTsKLSAg
ICBjYWNoZWRJbnN0YW5jZSA9IGdldFdyYXBwZXJGb3JSR0IodmFsdWUpOwotICAgIGlmIChjYWNo
ZWRJbnN0YW5jZSkKLSAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRv
cmVsZWFzZV07Ci0gICAgCi0gICAgcmV0dXJuIFtbW3NlbGYgYWxsb2NdIF9pbml0V2l0aFJHQjp2
YWx1ZV0gYXV0b3JlbGVhc2VdOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01SR0JD
b2xvciAoRE9NUkdCQ29sb3JFeHRlbnNpb25zKQotCi0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAq
KWFscGhhCi17Ci0gICAgUkdCQTMyIHJnYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihf
aW50ZXJuYWwpOwotICAgIGZsb2F0IHZhbHVlID0gKGZsb2F0KUNvbG9yKHJnYikuYWxwaGEoKSAv
IDB4RkY7Ci0gICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRoOm5ldyBD
U1NQcmltaXRpdmVWYWx1ZSh2YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpXTsK
LSAgICAKLX0KLQotLSAoTlNDb2xvciAqKWNvbG9yCi17Ci0gICAgUkdCQTMyIHJnYiA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwpOwotICAgIHJldHVybiBuc0NvbG9yKENv
bG9yKHJnYikpOwotfQotCi1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBET01SR0JDb2xvciAoV2Vi
UHJpdmF0ZSkKIAogLSAoTlNDb2xvciAqKV9jb2xvcgpAQCAtMTA5NSw1NiArNTI5LDYgQEAgdm9p
ZCByZW1vdmVXcmFwcGVyRm9yUkdCKFJHQkEzMiB2YWx1ZSkKIC8vLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAvLyBET01SZWN0CiAKLUBpbXBsZW1lbnRhdGlvbiBET01SZWN0Ci0K
LS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nh
c3Q8UmVjdEltcGwqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBbc3VwZXIgZGVh
bGxvY107Ci19Ci0KLS0gKHZvaWQpZmluYWxpemUKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0g
ICAgICAgIERPTV9jYXN0PFJlY3RJbXBsKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0g
ICAgW3N1cGVyIGZpbmFsaXplXTsKLX0KLQotLSAoUmVjdEltcGwgKilfcmVjdAotewotICAgIHJl
dHVybiBET01fY2FzdDxSZWN0SW1wbCo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKERPTUNTU1ByaW1p
dGl2ZVZhbHVlICopdG9wCi17Ci0gICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFs
dWVXaXRoOltzZWxmIF9yZWN0XS0+dG9wKCldOwotfQotCi0tIChET01DU1NQcmltaXRpdmVWYWx1
ZSAqKXJpZ2h0Ci17Ci0gICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRo
OltzZWxmIF9yZWN0XS0+cmlnaHQoKV07Ci19Ci0KLS0gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICop
Ym90dG9tCi17Ci0gICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRoOltz
ZWxmIF9yZWN0XS0+Ym90dG9tKCldOwotfQotCi0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWxl
ZnQKLXsKLSAgICByZXR1cm4gW0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6W3NlbGYg
X3JlY3RdLT5sZWZ0KCldOwotfQotCi0tIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUK
LXsKLSAgICByZXR1cm4gW3NlbGYgcmV0YWluXTsKLX0KLQotQGVuZAotCiBAaW1wbGVtZW50YXRp
b24gRE9NUmVjdCAoV2ViQ29yZUludGVybmFsKQogCiAtIChpZClfaW5pdFdpdGhSZWN0OihSZWN0
SW1wbCAqKWltcGwKQEAgLTExNzQsNTEgKzU1OCw2IEBAIHZvaWQgcmVtb3ZlV3JhcHBlckZvclJH
QihSR0JBMzIgdmFsdWUpCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8g
RE9NQ291bnRlcgogCi1AaW1wbGVtZW50YXRpb24gRE9NQ291bnRlcgotCi0tICh2b2lkKWRlYWxs
b2MKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PENvdW50ZXIqPihf
aW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBbc3VwZXIgZGVhbGxvY107Ci19Ci0KLS0g
KHZvaWQpZmluYWxpemUKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0
PENvdW50ZXIqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBbc3VwZXIgZmluYWxp
emVdOwotfQotCi0tIChDb3VudGVyICopX2NvdW50ZXIKLXsKLSAgICByZXR1cm4gRE9NX2Nhc3Q8
Q291bnRlcio+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopaWRlbnRpZmllcgotewot
ICAgIHJldHVybiBbc2VsZiBfY291bnRlcl0tPmlkZW50aWZpZXIoKTsKLX0KLQotLSAoTlNTdHJp
bmcgKilsaXN0U3R5bGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX2NvdW50ZXJdLT5saXN0U3R5bGUo
KTsKLX0KLQotLSAoTlNTdHJpbmcgKilzZXBhcmF0b3IKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Nv
dW50ZXJdLT5zZXBhcmF0b3IoKTsKLX0KLQotLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6
b25lCi17Ci0gICAgcmV0dXJuIFtzZWxmIHJldGFpbl07Ci19Ci0KLUBlbmQKLQogQGltcGxlbWVu
dGF0aW9uIERPTUNvdW50ZXIgKFdlYkNvcmVJbnRlcm5hbCkKIAogLSAoaWQpX2luaXRXaXRoQ291
bnRlcjooQ291bnRlciAqKWltcGwKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1NJ
bnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1NJbnRl
cm5hbC5oCShyZXZpc2lvbiAxNjE5NCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1NJ
bnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxNCArMjcsMjYgQEAKICNpbXBvcnQgIkRP
TUNTUy5oIgogI2ltcG9ydCAiQ29sb3IuaCIKIAorI2ltcG9ydCAiRE9NQ1NTUHJpbWl0aXZlVmFs
dWUuaCIKKyNpbXBvcnQgIkRPTUNTU1J1bGUuaCIKKyNpbXBvcnQgIkRPTUNTU1J1bGVMaXN0Lmgi
CisjaW1wb3J0ICJET01DU1NTdHlsZURlY2xhcmF0aW9uLmgiCisjaW1wb3J0ICJET01DU1NTdHls
ZVNoZWV0LmgiCisjaW1wb3J0ICJET01DU1NWYWx1ZS5oIgorI2ltcG9ydCAiRE9NQ291bnRlci5o
IgorI2ltcG9ydCAiRE9NUkdCQ29sb3IuaCIKKyNpbXBvcnQgIkRPTVJlY3QuaCIKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFN0eWxlU2hlZXQ7Ci0gICAgY2xhc3MgTWVkaWFMaXN0
OwotICAgIGNsYXNzIENTU1J1bGVMaXN0OwogICAgIGNsYXNzIENTU1J1bGU7CisgICAgY2xhc3Mg
Q1NTUnVsZUxpc3Q7CisgICAgY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKyAgICBjbGFzcyBD
U1NTdHlsZVNoZWV0OwogICAgIGNsYXNzIENTU1ZhbHVlOwotICAgIGNsYXNzIFJlY3RJbXBsOwog
ICAgIGNsYXNzIENvdW50ZXI7CisgICAgY2xhc3MgTWVkaWFMaXN0OworICAgIGNsYXNzIFJlY3RJ
bXBsOworICAgIGNsYXNzIFN0eWxlU2hlZXQ7CiB9CiAKIEBpbnRlcmZhY2UgRE9NU3R5bGVTaGVl
dCAoV2ViQ29yZUludGVybmFsKQpAQCAtNzIsMyArODQsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogQGludGVyZmFjZSBET01Db3VudGVyIChXZWJDb3JlSW50ZXJuYWwpCiArIChET01Db3VudGVy
ICopX2NvdW50ZXJXaXRoOihXZWJDb3JlOjpDb3VudGVyICopaW1wbDsKIEBlbmQKKworQGludGVy
ZmFjZSBET01DU1NTdHlsZURlY2xhcmF0aW9uIChXZWJDb3JlSW50ZXJuYWwpCisrIChET01DU1NT
dHlsZURlY2xhcmF0aW9uICopX3N0eWxlRGVjbGFyYXRpb25XaXRoOihXZWJDb3JlOjpDU1NTdHls
ZURlY2xhcmF0aW9uICopaW1wbDsKKy0gKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb24gKilf
c3R5bGVEZWNsYXJhdGlvbjsKK0BlbmQKKworQGludGVyZmFjZSBET01DU1NTdHlsZVNoZWV0IChX
ZWJDb3JlSW50ZXJuYWwpCisrIChET01DU1NTdHlsZVNoZWV0ICopX0NTU1N0eWxlU2hlZXRXaXRo
OihXZWJDb3JlOjpDU1NTdHlsZVNoZWV0ICopaW1wbDsKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUV4dGVuc2lvbnMuaAkocmV2aXNpb24gMTYxOTQpCisrKyBXZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NRXh0ZW5zaW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBA
CiAKICNpbXBvcnQgPFdlYkNvcmUvRE9NQXR0ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01DU1Mu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oPgogI2ltcG9ydCA8
V2ViQ29yZS9ET01ET01JbXBsZW1lbnRhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01Eb2N1
bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01FbGVtZW50Lmg+CkBAIC0zOSwxMSArNDAsMTAg
QEAKICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTExpbmtFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0RPTUhUTUxPYmplY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTU5vZGUuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRE9NUkdCQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NUmFu
Z2UuaD4KIAotQGNsYXNzIE5TQ29sb3I7CiBAY2xhc3MgTlNJbWFnZTsKLUBjbGFzcyBET01IVE1M
Q29sbGVjdGlvbjsKIAogQGludGVyZmFjZSBET01Eb2N1bWVudCAoRE9NRG9jdW1lbnRDU1NFeHRl
bnNpb25zKQogLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKWNyZWF0ZUNTU1N0eWxlRGVjbGFy
YXRpb247CkBAIC05NSwxMSArOTUsNiBAQAogLSAodm9pZClzZXRXaWR0aDooaW50KXdpZHRoOwog
QGVuZAogCi1AaW50ZXJmYWNlIERPTVJHQkNvbG9yIChET01SR0JDb2xvckV4dGVuc2lvbnMpCi0t
IChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWFscGhhOwotLSAoTlNDb2xvciAqKWNvbG9yOwotQGVu
ZAotCiBAaW50ZXJmYWNlIERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKERPTUNTU1N0eWxlRGVjbGFy
YXRpb25FeHRlbnNpb25zKQogLSAoTlNTdHJpbmcgKilnZXRQcm9wZXJ0eVNob3J0aGFuZDooTlNT
dHJpbmcgKilwcm9wZXJ0eU5hbWU7CiAtIChCT09MKWlzUHJvcGVydHlJbXBsaWNpdDooTlNTdHJp
bmcgKilwcm9wZXJ0eU5hbWU7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJu
YWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAko
cmV2aXNpb24gMTYxOTQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogICovCiAKICNpbXBvcnQgIkRPTS5oIgor
I2ltcG9ydCAiRE9NQ1NTSW50ZXJuYWwuaCIKIAogI2ltcG9ydCAiRE9NQXR0ci5oIgogI2ltcG9y
dCAiRE9NQ0RBVEFTZWN0aW9uLmgiCkBAIC00Niw4ICs0Nyw2IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgQXR0cjsKICAgICBjbGFzcyBDREFUQVNlY3Rpb247Ci0gICAgY2xhc3Mg
Q1NTU3R5bGVEZWNsYXJhdGlvbjsKLSAgICBjbGFzcyBDU1NTdHlsZVNoZWV0OwogICAgIGNsYXNz
IENvbW1lbnQ7CiAgICAgY2xhc3MgRE9NSW1wbGVtZW50YXRpb25Gcm9udDsKICAgICBjbGFzcyBE
b2N1bWVudDsKQEAgLTE1MCwxOSArMTQ5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICsgKERP
TVRyZWVXYWxrZXIgKilfdHJlZVdhbGtlcldpdGg6KFdlYkNvcmU6OlRyZWVXYWxrZXIgKilpbXBs
IGZpbHRlcjooaWQgPERPTU5vZGVGaWx0ZXI+KWZpbHRlcjsKIEBlbmQKIAotQGludGVyZmFjZSBE
T01DU1NTdHlsZURlY2xhcmF0aW9uIChXZWJDb3JlSW50ZXJuYWwpCi0rIChET01DU1NTdHlsZURl
Y2xhcmF0aW9uICopX3N0eWxlRGVjbGFyYXRpb25XaXRoOihXZWJDb3JlOjpDU1NTdHlsZURlY2xh
cmF0aW9uICopaW1wbDsKLS0gKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb24gKilfc3R5bGVE
ZWNsYXJhdGlvbjsKLUBlbmQKLQogQGludGVyZmFjZSBET01TdHlsZVNoZWV0TGlzdCAoV2ViQ29y
ZUludGVybmFsKQogKyAoRE9NU3R5bGVTaGVldExpc3QgKilfc3R5bGVTaGVldExpc3RXaXRoOihX
ZWJDb3JlOjpTdHlsZVNoZWV0TGlzdCAqKWltcGw7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NT
U3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NQ1NTU3R5bGVTaGVldCAqKV9DU1NT
dHlsZVNoZWV0V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCAqKWltcGw7Ci1AZW5kCi0KIEBp
bnRlcmZhY2UgRE9NTm9kZUZpbHRlciA6IERPTU9iamVjdCA8RE9NTm9kZUZpbHRlcj4KICsgKERP
TU5vZGVGaWx0ZXIgKilfbm9kZUZpbHRlcldpdGg6KFdlYkNvcmU6Ok5vZGVGaWx0ZXIgKilpbXBs
OwogQGVuZApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNh
bXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0IDxXZWJD
b3JlL0RPTU9iamVjdC5oPgorCitAY2xhc3MgRE9NQ1NTUHJpbWl0aXZlVmFsdWU7CisKK0BpbnRl
cmZhY2UgRE9NUkdCQ29sb3IgOiBET01PYmplY3QKKy0gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICop
cmVkOworLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilncmVlbjsKKy0gKERPTUNTU1ByaW1pdGl2
ZVZhbHVlICopYmx1ZTsKK0BlbmQKKworQGludGVyZmFjZSBET01SR0JDb2xvciAoRE9NUkdCQ29s
b3JFeHRlbnNpb25zKQorLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilhbHBoYTsKKy0gKE5TQ29s
b3IgKiljb2xvcjsKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01SR0JDb2xv
ci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IubW0J
KHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IubW0JKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIw
MDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20pCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJET01SR0JDb2xvci5oIgorCisjaW1wb3J0ICJE
T01JbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTSW50ZXJuYWwuaCIKKyNpbXBvcnQgPHd0Zi9H
ZXRQdHIuaD4KKyNpbXBvcnQgIkNvbG9yLmgiCisjaW1wb3J0ICJET01DU1NQcmltaXRpdmVWYWx1
ZS5oIgorI2ltcG9ydCAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKworc3RhdGljIENGTXV0YWJsZURp
Y3Rpb25hcnlSZWYgd3JhcHBlckNhY2hlID0gTlVMTDsKKworaWQgZ2V0V3JhcHBlckZvclJHQihX
ZWJDb3JlOjpSR0JBMzIgdmFsdWUpCit7CisgICAgaWYgKCF3cmFwcGVyQ2FjaGUpCisgICAgICAg
IHJldHVybiBuaWw7CisgICAgcmV0dXJuIChpZClDRkRpY3Rpb25hcnlHZXRWYWx1ZSh3cmFwcGVy
Q2FjaGUsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KHZhbHVlKSk7Cit9CisKK3ZvaWQg
c2V0V3JhcHBlckZvclJHQihpZCB3cmFwcGVyLCBXZWJDb3JlOjpSR0JBMzIgdmFsdWUpCit7Cisg
ICAgaWYgKCF3cmFwcGVyQ2FjaGUpIHsKKyAgICAgICAgLy8gTm8gbmVlZCB0byByZXRhaW4vZnJl
ZSBlaXRoZXIgaW1wbCBrZXksIG9yIGlkIHZhbHVlLiAgSXRlbXMgd2lsbCBiZSByZW1vdmVkCisg
ICAgICAgIC8vIGZyb20gdGhlIGNhY2hlIGluIGRlYWxsb2MgbWV0aG9kcy4KKyAgICAgICAgd3Jh
cHBlckNhY2hlID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShOVUxMLCAwLCBOVUxMLCBOVUxM
KTsKKyAgICB9CisgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUod3JhcHBlckNhY2hlLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IHZvaWQqPih2YWx1ZSksIHdyYXBwZXIpOworfQorCit2b2lkIHJlbW92
ZVdyYXBwZXJGb3JSR0IoV2ViQ29yZTo6UkdCQTMyIHZhbHVlKQoreworICAgIGlmICghd3JhcHBl
ckNhY2hlKQorICAgICAgICByZXR1cm47CisgICAgQ0ZEaWN0aW9uYXJ5UmVtb3ZlVmFsdWUod3Jh
cHBlckNhY2hlLCByZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPih2YWx1ZSkpOworfQorCisK
K0BpbXBsZW1lbnRhdGlvbiBET01SR0JDb2xvcgorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBy
ZW1vdmVXcmFwcGVyRm9yUkdCKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwp
KTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisKKy0gKHZvaWQpZmluYWxpemUKK3sKKyAgICBy
ZW1vdmVXcmFwcGVyRm9yUkdCKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwp
KTsKKyAgICBbc3VwZXIgZmluYWxpemVdOworfQorCistIChET01DU1NQcmltaXRpdmVWYWx1ZSAq
KXJlZAoreworICAgIFdlYkNvcmU6OlJHQkEzMiByZ2IgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4oX2ludGVybmFsKTsKKyAgICBpbnQgdmFsdWUgPSAocmdiID4+IDE2KSAmIDB4RkY7Cisg
ICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBfdmFsdWVXaXRoOm5ldyBXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZSh2YWx1ZSwgV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVIpXTsKK30KKworLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilncmVlbgoreworICAgIFdl
YkNvcmU6OlJHQkEzMiByZ2IgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFs
KTsKKyAgICBpbnQgdmFsdWUgPSAocmdiID4+IDgpICYgMHhGRjsKKyAgICByZXR1cm4gW0RPTUNT
U1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdpdGg6bmV3IFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
KHZhbHVlLCBXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOworfQorCist
IChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWJsdWUKK3sKKyAgICBXZWJDb3JlOjpSR0JBMzIgcmdi
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KF9pbnRlcm5hbCk7CisgICAgaW50IHZhbHVl
ID0gcmdiICYgMHhGRjsKKyAgICByZXR1cm4gW0RPTUNTU1ByaW1pdGl2ZVZhbHVlIF92YWx1ZVdp
dGg6bmV3IFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBXZWJDb3JlOjpDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUildOworfQorCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBE
T01SR0JDb2xvciAoRE9NUkdCQ29sb3JFeHRlbnNpb25zKQorCistIChET01DU1NQcmltaXRpdmVW
YWx1ZSAqKWFscGhhCit7CisgICAgV2ViQ29yZTo6UkdCQTMyIHJnYiA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihfaW50ZXJuYWwpOworICAgIGZsb2F0IHZhbHVlID0gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KFdlYkNvcmU6OkNvbG9yKHJnYikuYWxwaGEoKSkgLyAweEZGOworICAgIHJldHVybiBb
RE9NQ1NTUHJpbWl0aXZlVmFsdWUgX3ZhbHVlV2l0aDpuZXcgV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWUodmFsdWUsIFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKV07Cisg
ICAgCit9CisKKy0gKE5TQ29sb3IgKiljb2xvcgoreworICAgIFdlYkNvcmU6OlJHQkEzMiByZ2Ig
PSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oX2ludGVybmFsKTsKKyAgICByZXR1cm4gbnND
b2xvcihXZWJDb3JlOjpDb2xvcihyZ2IpKTsKK30KKworQGVuZAorCitAaW1wbGVtZW50YXRpb24g
RE9NUkdCQ29sb3IgKFdlYkNvcmVJbnRlcm5hbCkKKworLSAoaWQpX2luaXRXaXRoUkdCOihXZWJD
b3JlOjpSR0JBMzIpdmFsdWUKK3sKKyAgICBbc3VwZXIgX2luaXRdOworICAgIF9pbnRlcm5hbCA9
IHJlaW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPih2YWx1ZSk7CisgICAgc2V0V3Jh
cHBlckZvclJHQihzZWxmLCB2YWx1ZSk7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKysgKERPTVJH
QkNvbG9yICopX1JHQkNvbG9yV2l0aFJHQjooV2ViQ29yZTo6UkdCQTMyKXZhbHVlCit7CisgICAg
aWQgY2FjaGVkSW5zdGFuY2U7CisgICAgY2FjaGVkSW5zdGFuY2UgPSBnZXRXcmFwcGVyRm9yUkdC
KHZhbHVlKTsKKyAgICBpZiAoY2FjaGVkSW5zdGFuY2UpCisgICAgICAgIHJldHVybiBbW2NhY2hl
ZEluc3RhbmNlIHJldGFpbl0gYXV0b3JlbGVhc2VdOworICAgIAorICAgIHJldHVybiBbW1tzZWxm
IGFsbG9jXSBfaW5pdFdpdGhSR0I6dmFsdWVdIGF1dG9yZWxlYXNlXTsKK30KKworQGVuZApJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkocmV2
aXNpb24gMTYxOTQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9i
akMucG0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSwxMyArMjAxLDE3IEBAIHN1YiBHZXRDbGFzc05h
bWUKIHN1YiBHZXRJbXBsQ2xhc3NOYW1lCiB7CiAgICAgbXkgJG5hbWUgPSAkY29kZUdlbmVyYXRv
ci0+U3RyaXBNb2R1bGUoc2hpZnQpOwotICAgIAorCiAgICAgIyBzcGVjaWFsIGNhc2VzCiAgICAg
aWYgKCRuYW1lIGVxICJET01JbXBsZW1lbnRhdGlvbiIpIHsKLSAgICAgICAgcmV0dXJuICJXZWJD
b3JlOjpET01JbXBsZW1lbnRhdGlvbkZyb250IjsKKyAgICAgICAgcmV0dXJuICJET01JbXBsZW1l
bnRhdGlvbkZyb250IjsKKyAgICB9CisKKyAgICBpZiAoJG5hbWUgZXEgIlJlY3QiKSB7CisgICAg
ICAgIHJldHVybiAiUmVjdEltcGwiOwogICAgIH0KIAotICAgIHJldHVybiAiV2ViQ29yZTo6IiAu
ICRuYW1lOworICAgIHJldHVybiAkbmFtZTsKIH0KIAogc3ViIEdldFBhcmVudEltcGxDbGFzc05h
bWUKQEAgLTI1NCw3ICsyNTgsNyBAQCBzdWIgR2V0T2JqQ1R5cGVNYWtlcgogICAgICAgICByZXR1
cm4gIiI7CiAgICAgfQogCi0gICAgaWYgKCR0eXBlIGVxICJET01SR0JDb2xvciIpIHsKKyAgICBp
ZiAoJHR5cGUgZXEgIlJHQkNvbG9yIikgewogICAgICAgICByZXR1cm4gIl9SR0JDb2xvcldpdGhS
R0IiOwogICAgIH0KIApAQCAtMjc4LDYgKzI4MiwxNCBAQCBzdWIgR2V0T2JqQ1R5cGVNYWtlcgog
ICAgICAgICAkdHlwZU1ha2VyID0gInN0eWxlRGVjbGFyYXRpb24iOwogICAgIH0gZWxzaWYgKCR0
eXBlIGVxICJDU1NTdHlsZVNoZWV0IikgewogICAgICAgICAkdHlwZU1ha2VyID0gIkNTU1N0eWxl
U2hlZXQiOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJDU1NSdWxlIikgeworICAgICAgICAkdHlw
ZU1ha2VyID0gInJ1bGUiOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJDU1NSdWxlTGlzdCIpIHsK
KyAgICAgICAgJHR5cGVNYWtlciA9ICJydWxlTGlzdCI7CisgICAgfSBlbHNpZiAoJHR5cGUgZXEg
IkNTU1ZhbHVlIikgeworICAgICAgICAkdHlwZU1ha2VyID0gInZhbHVlIjsKKyAgICB9IGVsc2lm
ICgkdHlwZSBlcSAiQ1NTUHJpbWl0aXZlVmFsdWUiKSB7CisgICAgICAgICR0eXBlTWFrZXIgPSAi
dmFsdWUiOwogICAgIH0gZWxzaWYgKCR0eXBlIGVxICJET01JbXBsZW1lbnRhdGlvbiIpIHsKICAg
ICAgICAgJHR5cGVNYWtlciA9ICJET01JbXBsZW1lbnRhdGlvbiI7CiAgICAgfSBlbHNpZiAoJHR5
cGUgZXEgIkNEQVRBU2VjdGlvbiIpIHsKQEAgLTM0MCwyOSArMzUyLDE0IEBAIHN1YiBBZGRJbmNs
dWRlc0ZvclR5cGUKICAgICB9CiAKICAgICAjIFRlbXAgRE9NQ1NTLmgKLSAgICBpZiAoJHR5cGUg
ZXEgIkNvdW50ZXIiCi0gICAgICAgICAgICBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IgotICAgICAg
ICAgICAgb3IgJHR5cGUgZXEgIkNTU1N0eWxlU2hlZXQiKSB7Ci0gICAgICAgICRpbXBsSW5jbHVk
ZXN7IkRPTUNTUy5oIn0gPSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyIkdHlwZS5oIn0gPSAx
OworICAgIGlmICgkdHlwZSBlcSAiUmVjdCIpIHsKKyAgICAgICAgJGltcGxJbmNsdWRlc3siRE9N
UmVjdC5oIn0gPSAxOworICAgICAgICAkaW1wbEluY2x1ZGVzeyJSZWN0SW1wbC5oIn0gPSAxOwog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICgkdHlwZSBlcSAiQ1NTU3R5bGVEZWNsYXJh
dGlvbiIpIHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siRE9NQ1NTLmgifSA9IDE7Ci0gICAgICAg
ICRpbXBsSW5jbHVkZXN7IiR0eXBlLmgifSA9IDE7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IkNT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgifSA9IDE7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgaWYgKCR0eXBlIGVxICJSR0JDb2xvciIgb3IgJHR5cGUgZXEgIlJlY3QiKSB7Ci0gICAg
ICAgICRpbXBsSW5jbHVkZXN7IkRPTUNTUy5oIn0gPSAxOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgIyBUZW1wIERPTUhUTUwuaAotICAgIGlmICgkdHlwZSBlcSAiSFRNTERvY3VtZW50
IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01IVE1MLmgifSA9IDE7Ci0gICAgICAgICRp
bXBsSW5jbHVkZXN7IkRPTUhUTUxJbnRlcm5hbC5oIn0gPSAxOwotICAgICAgICAkaW1wbEluY2x1
ZGVzeyIkdHlwZS5oIn0gPSAxOworICAgIGlmICgkdHlwZSBlcSAiUkdCQ29sb3IiKSB7CisgICAg
ICAgICRpbXBsSW5jbHVkZXN7IkRPTVJHQkNvbG9yLmgifSA9IDE7CisgICAgICAgICRpbXBsSW5j
bHVkZXN7IkNvbG9yLmgifSA9IDE7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM3NCw5
ICszNzEsMTEgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgIyBUZW1wIERPTVN0eWxlU2hlZXRzLmgKLSAgICBpZiAoJHR5cGUgZXEgIlN0eWxl
U2hlZXRMaXN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01TdHlsZVNoZWV0cy5oIn0g
PSAxOworICAgICMgVGVtcCBET01TdHlsZXNoZWV0cy5oCisgICAgaWYgKCR0eXBlIGVxICJTdHls
ZVNoZWV0IgorICAgICAgICAgICAgb3IgJHR5cGUgZXEgIlN0eWxlU2hlZXRMaXN0IgorICAgICAg
ICAgICAgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIpIHsKKyAgICAgICAgJGltcGxJbmNsdWRlc3si
RE9NU3R5bGVzaGVldHMuaCJ9ID0gMTsKICAgICAgICAgJGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9
ID0gMTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQwNCw2ICs0MDMsMTMgQEAgc3ViIEFk
ZEluY2x1ZGVzRm9yVHlwZQogICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01JbXBsZW1lbnRhdGlv
bkZyb250LmgifSA9IDE7CiAgICAgfQogCisgICAgIyBGSVhNRTogZm9yIHNvbWUgcmVhc29uIGl0
IHdvbid0IGNvbXBpbGUgd2l0aG91dCBib3RoIENTU1N0eWxlRGVjbGFyYXRpb24uaAorICAgICMg
YW5kIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgKKyAgICBpZiAoJHR5cGUgZXEgIkNTU1N0
eWxlRGVjbGFyYXRpb24iKSB7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IkNTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uLmgifSA9IDE7CisgICAgfQorCisKICAgICAjIEFkZCB0eXBlIHNwZWNpZmlj
IGludGVybmFsIHR5cGVzLgogICAgICRpbXBsSW5jbHVkZXN7IkRPTUhUTUxJbnRlcm5hbC5oIn0g
PSAxIGlmICgkdHlwZSA9fiAvXkhUTUwvKTsKIApAQCAtNDM0LDcgKzQ0MCwxMSBAQCBzdWIgR2Vu
ZXJhdGVIZWFkZXIKICAgICBAaGVhZGVyQ29udGVudEhlYWRlciA9IHNwbGl0KCJcciIsICRoZWFk
ZXJMaWNlbmNlVGVtcGxhdGUpOwogCiAgICAgIyAtIElOQ0xVREVTIC0KLSAgICBwdXNoKEBoZWFk
ZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRDbGFzc05hbWUuaD4g
Ly8gcGFyZW50IGNsYXNzXG5cbiIpOworICAgIGlmICgkcGFyZW50Q2xhc3NOYW1lIGVxICJET01T
dHlsZVNoZWV0IikgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1w
b3J0IDxXZWJDb3JlL0RPTVN0eWxlc2hlZXRzLmg+IC8vIHBhcmVudCBjbGFzc1xuXG4iKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0
IDxXZWJDb3JlLyRwYXJlbnRDbGFzc05hbWUuaD4gLy8gcGFyZW50IGNsYXNzXG5cbiIpOworICAg
IH0KIAogICAgICMgLSBBZGQgY29uc3RhbnRzLgogICAgIGlmICgkbnVtQ29uc3RhbnRzID4gMCkg
ewpAQCAtNDUxLDkgKzQ2MSw5IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBteSAkY29t
YmluZWRDb25zdGFudHMgPSBqb2luKCIsXG4iLCBAaGVhZGVyQ29uc3RhbnRzKTsKIAogICAgICAg
ICAjIEZJWE1FOiB0aGUgZm9ybWF0dGluZyBvZiB0aGUgZW51bXMgc2hvdWxkIGxpbmUgdXAgdGhl
IGVxdWFsIHNpZ25zLgotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG5lbnVtIHtcbiIp
OworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiZW51bSB7XG4iKTsKICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgJGNvbWJpbmVkQ29uc3RhbnRzKTsKLSAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIlxufTtcbiIpOyAgICAgICAgCisgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICJcbn07XG5cbiIpOyAgICAgICAgCiAgICAgfQogICAgIAogICAgICMgLSBCZWdpbiBAaW50
ZXJmYWNlIApAQCAtNTgzLDExICs1OTMsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
ICAgICAgICB9CiAKICAgICAgICAgIyBpbmNsdWRlIEltcGxlbWVudGF0aW9uIGNsYXNzCi0gICAg
ICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCAiI2ltcG9ydCBcIiRpbnRlcmZhY2VOYW1lLmhc
IiAvLyBpbXBsZW1lbnRhdGlvbiBjbGFzc1xuIik7Ci0gICAgICAgIGlmICgkaW50ZXJmYWNlTmFt
ZSBlcSAiRE9NSW1wbGVtZW50YXRpb24iKSB7Ci0gICAgICAgICAgICAjIEZJWE1FOiBuZWVkZWQg
dW50aWwgd2UgY2FuIHJlbW92ZSBET01JbXBsZW1lbnRhdGlvbkZyb250Ci0gICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudEhlYWRlciwgIiNpbXBvcnQgXCJET01JbXBsZW1lbnRhdGlvbkZyb250
LmhcIlxuIik7Ci0gICAgICAgIH0KKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnRIZWFkZXIsICIj
aW1wb3J0IFwiJGltcGxDbGFzc05hbWUuaFwiIC8vIGltcGxlbWVudGF0aW9uIGNsYXNzXG4iKTsK
ICAgICB9CiAKICAgICBAaW1wbENvbnRlbnQgPSAoKTsKQEAgLTU5Niw2ICs2MDIsOSBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50LCAiXEBpbXBsZW1l
bnRhdGlvbiAkY2xhc3NOYW1lXG5cbiIpOwogCiAgICAgaWYgKCRoYXNGdW5jdGlvbnNPckF0dHJp
YnV0ZXMpIHsKKyAgICAgICAgIyBBZGQgbmFtZXNwYWNlIHRvIGltcGxlbWVudGF0aW9uIGNsYXNz
IG5hbWUgCisgICAgICAgICRpbXBsQ2xhc3NOYW1lID0gIldlYkNvcmU6OiIgLiAkaW1wbENsYXNz
TmFtZTsKKwogICAgICAgICBpZiAoJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIk9iamVjdCIpIHsK
ICAgICAgICAgICAgICMgT25seSBnZW5lcmF0ZSAnZGVhbGxvYycgYW5kICdmaW5hbGl6ZScgbWV0
aG9kcyBmb3IgZGlyZWN0IHN1YmNsYXNzZXMgb2YgRE9NT2JqZWN0LgogCkBAIC02MTQsMTEgKzYy
MywxNSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgICAgIElNUEwtPmRlcmVmKCk7XG4iKTsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIFtzdXBlciBmaW5hbGl6ZV07XG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKKyAgICAgICAgICAgIAorICAgICAgICB9IGVsc2lm
ICgkaW50ZXJmYWNlTmFtZSBlcSAiQ1NTU3R5bGVTaGVldCIpIHsKKyAgICAgICAgICAgICMgU3Bl
Y2lhbCBjYXNlIGZvciBDU1NTdHlsZVNoZWV0CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiNkZWZpbmUgSU1QTCByZWludGVycHJldF9jYXN0PFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQq
PihfaW50ZXJuYWwpXG5cbiIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbXkgJGlu
dGVybmFsQmFzZVR5cGU7Ci0gICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgPX4gL15DU1Mu
K1ZhbHVlJC8pIHsKKyAgICAgICAgICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiQ1NT
VmFsdWUiKSB7CiAgICAgICAgICAgICAgICAgJGludGVybmFsQmFzZVR5cGUgPSAiV2ViQ29yZTo6
Q1NTVmFsdWUiCi0gICAgICAgICAgICB9IGVsc2lmICgkaW50ZXJmYWNlTmFtZSA9fiAvXkNTUy4r
UnVsZSQvKSB7CisgICAgICAgICAgICB9IGVsc2lmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAi
Q1NTUnVsZSIpIHsKICAgICAgICAgICAgICAgICAkaW50ZXJuYWxCYXNlVHlwZSA9ICJXZWJDb3Jl
OjpDU1NSdWxlIgogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAkaW50ZXJu
YWxCYXNlVHlwZSA9ICJXZWJDb3JlOjpOb2RlIgpAQCAtODU0LDggKzg2NywxMyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
ICAgICAgICAgIyBTdXJyb3VuZCBnZXR0ZXIgd2l0aCBUeXBlTWFrZXIKLSAgICAgICAgICAgICAg
ICAgICAgJGZ1bmN0aW9uQ29udGVudEhlYWQgPSAiWyRyZXR1cm5UeXBlQ2xhc3MgJHR5cGVNYWtl
cjpXVEY6OmdldFB0cigiIC4gJGZ1bmN0aW9uQ29udGVudEhlYWQ7Ci0gICAgICAgICAgICAgICAg
ICAgICRmdW5jdGlvbkNvbnRlbnRUYWlsIC49ICIpXSI7CisgICAgICAgICAgICAgICAgICAgIGlm
ICgkcmV0dXJuVHlwZUNsYXNzIGVxICJET01SR0JDb2xvciIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICRmdW5jdGlvbkNvbnRlbnRIZWFkID0gIlskcmV0dXJuVHlwZUNsYXNzICR0eXBlTWFr
ZXI6IiAuICRmdW5jdGlvbkNvbnRlbnRIZWFkOworICAgICAgICAgICAgICAgICAgICAgICAgJGZ1
bmN0aW9uQ29udGVudFRhaWwgLj0gIl0iOworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uQ29udGVudEhlYWQgPSAiWyRyZXR1cm5U
eXBlQ2xhc3MgJHR5cGVNYWtlcjpXVEY6OmdldFB0cigiIC4gJGZ1bmN0aW9uQ29udGVudEhlYWQ7
CisgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25Db250ZW50VGFpbCAuPSAiKV0iOwor
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAg
ICAgbXkgJGNvbnRlbnQgPSAiIjsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg
UGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLwor
Cittb2R1bGUgY3NzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CisgICAg
aW50ZXJmYWNlIENTU0NoYXJzZXRSdWxlIDogQ1NTUnVsZSB7CisKKyAgICAgICAgLy8gRklYTUU6
IHRoZSBET00gc3BlYyBzYXlzIHRoYXQgdGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgLy8gc2hvdWxk
IG5vdCBiZSByZWFkb25seS4gIFRoZSBjb3JyZWN0IGRlY2xhcmF0aW9uCisgICAgICAgIC8vIGlz
IGNvbW1lbnRlZCBvdXQgYmVsb3cuCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgICAgICAgIGVuY29kaW5nOworICAgICAgICAgICAgICAgLyphdHRyaWJ1dGUgRE9NU3RyaW5n
ICAgICAgICBlbmNvZGluZworICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4
Y2VwdGlvbik7Ki8KKworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
UnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAko
cmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vp
bmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4KKyAqLworCittb2R1bGUgY3NzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVs
IDI6CisgICAgaW50ZXJmYWNlIENTU0ZvbnRGYWNlUnVsZSA6IENTU1J1bGUgeworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiAgc3R5bGU7CisgICAgfTsKKwor
fQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAy
MDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAq
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBjc3MgeworCisgICAg
Ly8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKKyAgICBpbnRlcmZhY2UgQ1NTSW1wb3J0UnVs
ZSA6IENTU1J1bGUgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAg
ICBocmVmOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgc3R5bGVzaGVldHM6Ok1lZGlhTGlz
dCAgbWVkaWE7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0ICAgIHN0
eWxlU2hlZXQ7CisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCShyZXZpc2lvbiAw
KQorKysgV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29t
PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21v
ZHVsZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKKyAgICBpbnRl
cmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTUnVsZSB7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHN0eWxlc2hlZXRzOjpNZWRpYUxpc3QgIG1lZGlhOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBjc3NSdWxlczsKKyAgICAgICAgCisgICAgICAgIC8vIEZJ
WE1FOiB0aGUgRE9NIHNwZWMgc2F5cyB0aGF0IHRoaXMgY2FuIHJhaXNlIGFuIGV4ZWNlcHRpb24u
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICBpbnNlcnRSdWxlKGluIERPTVN0cmluZyBydWxl
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9u
ZyBpbmRleCkKKyAgICAgICAgICAgIC8qcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKKyAgICAgICAg
ICAgIAorICAgICAgICAvLyBGSVhNRTogdGhlIERPTSBzcGVjIHNheXMgdGhhdCB0aGlzIGNhbiBy
YWlzZSBhbiBleGVjZXB0aW9uLgorICAgICAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlUnVs
ZShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICAgICAgLypyYWlzZXMoRE9NRXhjZXB0
aW9uKSovOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlkbAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt
IFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVs
ZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKKyAgICBpbnRlcmZh
Y2UgQ1NTUGFnZVJ1bGUgOiBDU1NSdWxlIHsKKworICAgICAgICAgICAgICAgICAvLyBGSVhNRTog
RE9NIHNwZWMgc2F5cyB0aGF0IHRoaXMgY2FuIHJhaXNlIGFuCisgICAgICAgICAgICAgICAgIC8v
IGV4Y2VwdGlvbiBvbiBzZXR0aW5nLgorICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgICBzZWxlY3RvclRleHQKKyAgICAgICAgICAgICAgICAgICAgIC8qc2V0dGVyIHJh
aXNlcyhET01FeGNlcHRpb24pKi87CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0
eWxlRGVjbGFyYXRpb24gIHN0eWxlOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwJKHJldmlz
aW9uIDE2MTk0KQorKysgV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFp
bC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMwLDUgKzMxLDE2IEBAIG1vZHVsZSBjc3Mg
ewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9SVUxFID0gNDsKICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgRk9OVF9GQUNFX1JVTEUgPSA1OwogICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBQQUdFX1JVTEUgPSA2OworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbRXhjbHVkZT1KU10gdW5zaWduZWQgc2hvcnQgICB0eXBlOworICAgICAgICAKKyAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IERPTSBzcGVjIHNheXMgdGhhdCB0aGlzIGNhbiByYWlzZSBhbgor
ICAgICAgICAgICAgICAgICAvLyBleGNlcHRpb24gb24gc2V0dGluZy4KKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtFeGNsdWRlPUpTXSBET01TdHJpbmcgICAgICAgIGNzc1RleHQKKyAgICAg
ICAgICAgICAgICAgICAgIC8qc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKSovOworCisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1KU10gQ1NTU3R5bGVTaGVldCAgICBwYXJl
bnRTdHlsZVNoZWV0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9SlNdIENT
U1J1bGUgICAgICAgICAgcGFyZW50UnVsZTsKKwogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2Nz
cy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NT
dHlsZURlY2xhcmF0aW9uLmlkbAkocmV2aXNpb24gMTYxOTQpCisrKyBXZWJDb3JlL2Nzcy9DU1NT
dHlsZURlY2xhcmF0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMjEsNiArMjIsMjQgQEAgbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRyb2R1
Y2VkIGluIERPTSBMZXZlbCAyOgogICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9N
Q1NTU3R5bGVEZWNsYXJhdGlvbiwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gQ1NTU3R5bGVEZWNsYXJh
dGlvbiB7CisKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFeGNsdWRlPUpTXSBET01TdHJp
bmcgICAgICAgIGNzc1RleHQKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKworICAgICAgICBbRXhjbHVkZT1KU10gRE9NU3RyaW5nICAgICAgICAgIGdl
dFByb3BlcnR5VmFsdWUoaW4gRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CisgICAgICAgIFtFeGNs
dWRlPUpTXSBDU1NWYWx1ZSAgICAgICAgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZShpbiBET01TdHJp
bmcgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgW0V4Y2x1ZGU9SlNdIERPTVN0cmluZyAgICAgICAg
ICByZW1vdmVQcm9wZXJ0eShpbiBET01TdHJpbmcgcHJvcGVydHlOYW1lKQorICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtFeGNsdWRlPUpTXSBET01TdHJpbmcgICAg
ICAgICAgZ2V0UHJvcGVydHlQcmlvcml0eShpbiBET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKKyAg
ICAgICAgW0V4Y2x1ZGU9SlNdIHZvaWQgICAgICAgICAgICAgICBzZXRQcm9wZXJ0eShpbiBET01T
dHJpbmcgcHJvcGVydHlOYW1lLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBET01TdHJpbmcgdmFsdWUsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBwcmlvcml0eSkK
KyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbRXhjbHVkZT1KU10gdW5zaWduZWQgbG9uZyAgICBsZW5ndGg7CisgICAgICAgIFtF
eGNsdWRlPUpTXSBET01TdHJpbmcgICAgICAgICAgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4
KTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFeGNsdWRlPUpTXSBDU1NSdWxlICAgICAg
ICAgIHBhcmVudFJ1bGU7CisKICAgICB9OwotICAKKwogfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NT
U3R5bGVSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaWRs
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5
IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNB
LgorICovCisKK21vZHVsZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwg
MjoKKyAgICBpbnRlcmZhY2UgQ1NTU3R5bGVSdWxlIDogQ1NTUnVsZSB7CisKKyAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IERPTSBzcGVjIHNheXMgdGhhdCB0aGlzIGNhbiByYWlzZSBhbgorICAg
ICAgICAgICAgICAgICAvLyBleGNlcHRpb24gb24gc2V0dGluZy4KKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgICAgIHNlbGVjdG9yVGV4dAorICAgICAgICAgICAg
ICAgICAgICAgLypzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKKworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiAgc3R5bGU7CisKKyAgICB9OworCit9
CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL0NT
U1N0eWxlU2hlZXQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICog
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGNzcyB7CisKKyAgICAv
LyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgorICAgIGludGVyZmFjZSBDU1NTdHlsZVNoZWV0
IDogc3R5bGVzaGVldHM6OlN0eWxlU2hlZXQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NSdWxlICAgICAgICAgIG93bmVyUnVsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IENTU1J1bGVMaXN0ICAgICAgY3NzUnVsZXM7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICBp
bnNlcnRSdWxlKGluIERPTVN0cmluZyBydWxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKKyAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOworICAgICAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlUnVsZShpbiB1
bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisK
KyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Cisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxl
IGNzcyB7CisKKyAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgorICAgIGludGVyZmFj
ZSBDU1NVbmtub3duUnVsZSA6IENTU1J1bGUgeworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGwJ
KHJldmlzaW9uIDE2MTk0KQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCwxMCArMjEsMjAgQEAKIG1v
ZHVsZSBjc3MgewogCiAgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01DU1NWYWx1
ZSwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gQ1NTVmFsdWUgewotICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBDU1NfSU5IRVJJVCA9IDA7CisKKyAgICAgICAgLy8gVW5pdFR5cGVzCisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19JTkhFUklUICAgICAgICAgPSAwOwogICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfUFJJTUlUSVZFX1ZBTFVFID0gMTsKLSAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgQ1NTX1ZBTFVFX0xJU1QgPSAyOwotICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBDU1NfQ1VTVE9NID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Q1NTX1ZBTFVFX0xJU1QgICAgICA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENT
U19DVVNUT00gICAgICAgICAgPSAzOworCisgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBET00g
c3BlYyBzYXlzIHRoYXQgdGhpcyBjYW4gcmFpc2UgYW4KKyAgICAgICAgICAgICAgICAgLy8gZXhj
ZXB0aW9uIG9uIHNldHRpbmcuCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1K
U10gRE9NU3RyaW5nICAgICAgICBjc3NUZXh0CisgICAgICAgICAgICAgICAgICAgICAvKnNldHRl
ciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
RXhjbHVkZT1KU10gdW5zaWduZWQgc2hvcnQgICBjc3NWYWx1ZVR5cGU7CisKICAgICB9OwogCiB9
CkluZGV4OiBXZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
Y3NzL01lZGlhTGlzdC5pZGwJKHJldmlzaW9uIDE2MTk0KQorKysgV2ViQ29yZS9jc3MvTWVkaWFM
aXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTQgKzI3LDE2IEBAIG1vZHVsZSBzdHlsZXNo
ZWV0cyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAgIGludGVyZmFj
ZSBNZWRpYUxpc3QgewotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAg
ICBtZWRpYVRleHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nICAgIGxlbmd0aDsKLSAgICAgICAgRE9NU3RyaW5nICAgICAgICAgIGl0
ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgICAgIHZvaWQgICAgICAgICAgICAgICBk
ZWxldGVNZWRpdW0oaW4gRE9NU3RyaW5nIG9sZE1lZGl1bSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIHZv
aWQgICAgICAgICAgICAgICBhcHBlbmRNZWRpdW0oaW4gRE9NU3RyaW5nIG5ld01lZGl1bSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbWVkaWFUZXh0Cisg
ICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKworICAgICAgICBET01T
dHJpbmcgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgdm9pZCBkZWxldGVN
ZWRpdW0oaW4gRE9NU3RyaW5nIG9sZE1lZGl1bSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICB2b2lkIGFwcGVuZE1lZGl1bShpbiBET01TdHJpbmcgbmV3TWVkaXVt
KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKICAgICB9OwogfQpJbmRleDog
V2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL1JHQkNv
bG9yLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL1JHQkNvbG9yLmlkbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBD
b21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53
ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLgorICovCisKK21vZHVsZSBjc3MgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2
ZWwgMjoKKyAgICBpbnRlcmZhY2UgUkdCQ29sb3IgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgQ1NTUHJpbWl0aXZlVmFsdWUgIHJlZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENT
U1ByaW1pdGl2ZVZhbHVlICBncmVlbjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1By
aW1pdGl2ZVZhbHVlICBibHVlOworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUvY3NzL1JlY3Qu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL1JlY3QuaWRsCShyZXZpc2lvbiAxNjE5NCkK
KysrIFdlYkNvcmUvY3NzL1JlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOCwxMCArMTgsMTIg
QEAKICAqLwogCiBtb2R1bGUgY3NzIHsKKwogICAgIGludGVyZmFjZSBSZWN0IHsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIENTU1ByaW1pdGl2ZVZhbHVlICB0b3A7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDU1NQcmltaXRpdmVWYWx1ZSAgcmlnaHQ7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDU1NQcmltaXRpdmVWYWx1ZSAgYm90dG9tOwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgQ1NTUHJpbWl0aXZlVmFsdWUgIGxlZnQ7CiAgICAgfTsKKwogfQpJbmRleDogV2Vi
Q29yZS9jc3MvUmVjdEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9SZWN0SW1wbC5o
CShyZXZpc2lvbiAxNjE5NCkKKysrIFdlYkNvcmUvY3NzL1JlY3RJbXBsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJTaGFyZWQuaCIKICNpbmNsdWRlICJDU1NQ
cmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFdlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMTYxOTQpCisr
KyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDYt
MDktMDIgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHBhdGNoIGZvciBodHRwOi8vYnVn
emlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjg0CisgICAgICAgICAgQXV0
by1nZW5lcmF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIENTUyBiaW5kaW5ncworCisgICAgICAgICog
TWlncmF0ZUhlYWRlcnMubWFrZToKKwogMjAwNi0wOS0wMSAgTW9yZ2FuTCAgPG1vcmxtb3JAeWFo
b28uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLiBVcGRhdGVkL2xhbmRlZCBieSBB
ZGFtLgpJbmRleDogV2ViS2l0L01pZ3JhdGVIZWFkZXJzLm1ha2UKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L01pZ3JhdGVIZWFkZXJzLm1ha2UJKHJldmlzaW9uIDE2MTk0KQorKysgV2ViS2l0L01pZ3Jh
dGVIZWFkZXJzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTMyLDkgKzMyLDI0IEBAIGFsbCA6IFwK
ICAgICBET01BdHRyLmggXAogICAgIERPTUNEQVRBU2VjdGlvbi5oIFwKICAgICBET01DU1MuaCBc
CisgICAgRE9NQ1NTQ2hhcnNldFJ1bGUuaCBcCisgICAgRE9NQ1NTRm9udEZhY2VSdWxlLmggXAor
ICAgIERPTUNTU0ltcG9ydFJ1bGUuaCBcCisgICAgRE9NQ1NTTWVkaWFSdWxlLmggXAorICAgIERP
TUNTU1BhZ2VSdWxlLmggXAorICAgIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggXAorICAgIERPTUNT
U1J1bGUuaCBcCisgICAgRE9NQ1NTUnVsZUxpc3QuaCBcCisgICAgRE9NQ1NTU3R5bGVEZWNsYXJh
dGlvbi5oIFwKKyAgICBET01DU1NTdHlsZVJ1bGUuaCBcCisgICAgRE9NQ1NTU3R5bGVTaGVldC5o
IFwKKyAgICBET01DU1NVbmtub3duUnVsZS5oIFwKKyAgICBET01DU1NWYWx1ZS5oIFwKKyAgICBE
T01DU1NWYWx1ZUxpc3QuaCBcCiAgICAgRE9NQ2hhcmFjdGVyRGF0YS5oIFwKICAgICBET01Db21t
ZW50LmggXAogICAgIERPTUNvcmUuaCBcCisgICAgRE9NQ291bnRlci5oIFwKICAgICBET01ET01J
bXBsZW1lbnRhdGlvbi5oIFwKICAgICBET01Eb2N1bWVudC5oIFwKICAgICBET01Eb2N1bWVudEZy
YWdtZW50LmggXApAQCAtMTA5LDcgKzEyNCw5IEBAIGFsbCA6IFwKICAgICBET01PYmplY3QuaCBc
CiAgICAgRE9NUHJpdmF0ZS5oIFwKICAgICBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBcCisg
ICAgRE9NUkdCQ29sb3IuaCBcCiAgICAgRE9NUmFuZ2UuaCBcCisgICAgRE9NUmVjdC5oIFwKICAg
ICBET01TdHlsZXNoZWV0cy5oIFwKICAgICBET01UZXh0LmggXAogICAgIERPTVRyYXZlcnNhbC5o
IFwK
</data>
<flag name="review"
          id="3303"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>