<?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>11248</bug_id>
          
          <creation_ts>2006-10-10 15:38:18 -0700</creation_ts>
          <short_desc>Even More auto-generated Objective-C DOM bindings changes</short_desc>
          <delta_ts>2006-10-10 20:52:27 -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>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>53581</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-10 15:38:18 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53582</commentid>
    <comment_count>1</comment_count>
      <attachid>11025</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-10 15:46:55 -0700</bug_when>
    <thetext>Created attachment 11025
patch

- Auto-generate DOMSVGPathElement. (I think this is the final SVG class to generate!!)

- Auto-generate the internal interfaces even for classes that have custom internal implementations.  Change IDL property from ObjCNoInternal to ObjCCustomInternalImpl to indicate the change.

- Add SVG classes to DOMNode and DOMEvent internal interfaces.

- Add isSVGZoomEvent() method to Event class to match other Event subclasses and make DOM binding possible.

- Assorted cleanups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53583</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-10 15:49:36 -0700</bug_when>
    <thetext>As noted in a FIXME in the patch, I use two HashMaps to differentiate between HTML and SVG classes in DOM.mm.  I did not try to make to a HashMap that mapped from QualifiedNames to Classes, as I&apos;ve had some issues getting HashMaps to work in the last couple days, but, it this is easy, I think it would be a better solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53591</commentid>
    <comment_count>3</comment_count>
      <attachid>11027</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-10 18:25:07 -0700</bug_when>
    <thetext>Created attachment 11027
patch 2

Scratch that last comment.  The patch now uses one HashMap that maps from a QualifedName to a Class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53595</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-10 20:52:27 -0700</bug_when>
    <thetext>Landed in r16982.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11025</attachid>
            <date>2006-10-10 15:46:55 -0700</date>
            <delta_ts>2006-10-10 18:25:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoMore.diff</filename>
            <type>text/plain</type>
            <size>68566</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMDYtMTAtMTAgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNDgKKyAg
ICAgICAgRXZlbiBNb3JlIGF1dG8tZ2VuZXJhdGVkIE9iamVjdGl2ZS1DIERPTSBiaW5kaW5ncyBj
aGFuZ2VzCisKKyAgICAgICAgLSBBdXRvLWdlbmVyYXRlIERPTVNWR1BhdGhFbGVtZW50LgorCisg
ICAgICAgIC0gQXV0by1nZW5lcmF0ZSB0aGUgaW50ZXJuYWwgaW50ZXJmYWNlcyBldmVuIGZvciBj
bGFzc2VzIHRoYXQgaGF2ZQorICAgICAgICAgIGN1c3RvbSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlv
bnMuICBDaGFuZ2UgSURMIHByb3BlcnR5IGZyb20gT2JqQ05vSW50ZXJuYWwKKyAgICAgICAgICB0
byBPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsIHRvIGluZGljYXRlIHRoZSBjaGFuZ2UuCisKKyAgICAg
ICAgLSBBZGQgU1ZHIGNsYXNzZXMgdG8gRE9NTm9kZSBhbmQgRE9NRXZlbnQgaW50ZXJuYWwgaW50
ZXJmYWNlcy4KKworICAgICAgICAtIEFkZCBpc1NWR1pvb21FdmVudCgpIG1ldGhvZCB0byBFdmVu
dCBjbGFzcyB0byBtYXRjaCBvdGhlciBFdmVudCBzdWJjbGFzc2VzCisgICAgICAgICAgYW5kIG1h
a2UgRE9NIGJpbmRpbmcgcG9zc2libGUuCisKKyAgICAgICAgLSBBc3NvcnRlZCBjbGVhbnVwcy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6YWRkSFRNTEVsZW1lbnRDbGFzcyk6CisgICAgICAgIChXZWJDb3Jl
OjphZGRTVkdFbGVtZW50Q2xhc3MpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlSFRNTEVsZW1l
bnRDbGFzc01hcCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTVkdFbGVtZW50Q2xhc3NNYXAp
OgorICAgICAgICAoV2ViQ29yZTo6aHRtbEVsZW1lbnRDbGFzcyk6CisgICAgICAgIChXZWJDb3Jl
OjpzdmdFbGVtZW50Q2xhc3MpOgorICAgICAgICAoK1tET01Ob2RlIF9ub2RlV2l0aDpXZWJDb3Jl
OjpdKToKKyAgICAgICAgKC1bRE9NTm9kZSBhZGRFdmVudExpc3RlbmVyOmxpc3RlbmVyOnVzZUNh
cHR1cmU6XSk6CisgICAgICAgICgtW0RPTU5vZGUgcmVtb3ZlRXZlbnRMaXN0ZW5lcjpsaXN0ZW5l
cjp1c2VDYXB0dXJlOl0pOgorICAgICAgICAoV2ViQ29yZTo6T2JqQ0V2ZW50TGlzdGVuZXI6Omhh
bmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbToKKyAgICAg
ICAgKCtbRE9NRXZlbnQgX2V2ZW50V2l0aDpXZWJDb3JlOjpdKToKKyAgICAgICAgKiBiaW5kaW5n
cy9vYmpjL0RPTUludGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01SR0JDb2xv
ci5tbToKKyAgICAgICAgKC1bRE9NUkdCQ29sb3IgV2ViQ29yZTo6XSk6CisgICAgICAgICogYmlu
ZGluZ3Mvb2JqYy9ET01TVkdQYXRoU2VnSW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAgICAgICAqIGNzcy9DU1NS
dWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaWRsOgorICAgICAgICAqIGNzcy9TdHls
ZVNoZWV0LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnQ6OmlzU1ZHWm9vbUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKyAgICAgICAg
KiBkb20vRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlLmlkbDoKKyAgICAgICAgKiBrc3Zn
Mi9ldmVudHMvU1ZHWm9vbUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21FdmVu
dDo6aXNTVkdab29tRXZlbnQpOgorICAgICAgICAqIGtzdmcyL2V2ZW50cy9TVkdab29tRXZlbnQu
aDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGw6CisgICAgICAgICog
a3N2ZzIvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdD
bGlwUGF0aEVsZW1lbnQuaWRsOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5p
ZGw6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhdGhTZWcuaWRsOgorCiAyMDA2LTEwLTEwICBB
ZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVs
ZS4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIFZQQVRIID0g
XAogaWZlcSAoJChPUyksTUFDT1MpCiBhbGwgOiBcCiAgICAgRE9NQWJzdHJhY3RWaWV3LmggXAor
ICAgIERPTVNWR1BhdGhFbGVtZW50LmggXAogICAgIERPTUF0dHIuaCBcCiAgICAgRE9NQ0RBVEFT
ZWN0aW9uLmggXAogICAgIERPTUNTU0NoYXJzZXRSdWxlLmggXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg4
NCw2ICs4ODQsMTUgQEAKIAkJODVBRjVDNTcwQUNERDFCNjAwNTI2OURFIC8qIERPTVNWR1VSSVJl
ZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVBRjVDNTYwQUNERDFCNjAwNTI2OURFIC8qIERPTVNWR1VSSVJlZmVyZW5jZS5oICovOyB9Owog
CQk4NUFGQTgyMjBBQUY1MjhBMDBFODQzMDUgLyogRE9NRXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QUZBODIwMEFBRjUyOEEwMEU4NDMwNSAv
KiBET01FdmVudC5oICovOyB9OwogCQk4NUFGQTgyMzBBQUY1MjhBMDBFODQzMDUgLyogRE9NRXZl
bnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUFG
QTgyMTBBQUY1MjhBMDBFODQzMDUgLyogRE9NRXZlbnQubW0gKi87IH07CisJCTg1QjQ5OEVEMEFE
QjMyRkIwMDkyNUNCQiAvKiBET01DU1NSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QjQ5OEVDMEFEQjMyRkIwMDkyNUNCQiAvKiBE
T01DU1NSdWxlSW50ZXJuYWwuaCAqLzsgfTsKKwkJODVCNDk4RjMwQURCMzM2QTAwOTI1Q0JCIC8q
IERPTUNTU1ZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg1QjQ5OEYyMEFEQjMzNkEwMDkyNUNCQiAvKiBET01DU1NWYWx1ZUludGVy
bmFsLmggKi87IH07CisJCTg1QjQ5OEY1MEFEQjMzN0EwMDkyNUNCQiAvKiBET01FdmVudEludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUI0
OThGNDBBREIzMzdBMDA5MjVDQkIgLyogRE9NRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQk4NUI0
OThGQjBBREIzNDAyMDA5MjVDQkIgLyogRE9NTm9kZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUI0OThGQTBBREIzNDAyMDA5MjVDQkIg
LyogRE9NTm9kZUludGVybmFsLmggKi87IH07CisJCTg1QjQ5OEZGMEFEQjM0ODEwMDkyNUNCQiAv
KiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1QjQ5OEZFMEFEQjM0ODEwMDkyNUNCQiAvKiBET01TdHlsZVNoZWV0
SW50ZXJuYWwuaCAqLzsgfTsKKwkJODVCNDk5MDEwQURCMzRCMzAwOTI1Q0JCIC8qIERPTVNWR1Bh
dGhTZWdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVCNDk5MDAwQURCMzRCMzAwOTI1Q0JCIC8qIERPTVNWR1BhdGhTZWdJbnRlcm5hbC5o
ICovOyB9OworCQk4NUI0OTk2QjBBREIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QjQ5OTY5
MEFEQjNGRjUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudC5oICovOyB9OworCQk4NUI0OTk2
QzBBREIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUI0OTk2QTBBREIzRkY1MDA5MjVDQkIg
LyogRE9NU1ZHUGF0aEVsZW1lbnQubW0gKi87IH07CisJCTg1QjQ5OTc4MEFEQjQyNUUwMDkyNUNC
QiAvKiBET01TVkdQYXRoRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUI0OTk3NzBBREI0MjVFMDA5MjVDQkIgLyogRE9NU1ZH
UGF0aEVsZW1lbnRJbnRlcm5hbC5oICovOyB9OwogCQk4NUJBNENERDBBQTY4NjFCMDA4ODA1MkQg
LyogRE9NSFRNTEJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1QkE0Q0Q1MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9u
RWxlbWVudC5oICovOyB9OwogCQk4NUJBNENERTBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEJ1
dHRvbkVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NUJBNENENjBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEJ1dHRvbkVsZW1lbnQubW0g
Ki87IH07CiAJCTg1QkE0Q0RGMEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MRmllbGRTZXRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUJB
NENENzBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEZpZWxkU2V0RWxlbWVudC5oICovOyB9OwpA
QCAtMTAyOSw3ICsxMDM4LDYgQEAKIAkJODVDRTFBOUMwQURBQzcwODAwM0JCREVBIC8qIERPTVNW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1Q0UxQTlBMEFEQUM3MDgwMDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50LmggKi87IH07
CiAJCTg1Q0UxQTlEMEFEQUM3MDgwMDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDRTFBOUIwQURBQzcw
ODAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnQubW0gKi87IH07CiAJCTg1Q0UxQUExMEFEQUM3
NTIwMDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1Q0UxQUEwMEFEQUM3NTIwMDNCQkRFQSAv
KiBET01TVkdTVkdFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKLQkJODVDRTFBRjMwQURBRDQ0MDAw
M0JCREVBIC8qIERPTVNWR1BhdGhTZWdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDRTFBRjIwQURBRDQ0MDAwM0JCREVBIC8qIERPTVNW
R1BhdGhTZWdJbnRlcm5hbC5oICovOyB9OwogCQk4NUNFMUIwMjBBREFEQTk2MDAzQkJERUEgLyog
RE9NU1ZHUGF0aFNlZ0ludGVybmFsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVDRTFCMDEwQURBREE5NjAwM0JCREVBIC8qIERPTVNWR1BhdGhTZWdJ
bnRlcm5hbC5tbSAqLzsgfTsKIAkJODVEMkFENjgwQUIxQTQwQTAwQzMxM0VBIC8qIERPTUV2ZW50
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1RDJBRDY3MEFCMUE0MEEwMEMzMTNFQSAvKiBET01FdmVudExpc3RlbmVyLmggKi87IH07CiAJ
CTg1RDJBRDZEMEFCMUE0ODIwMEMzMTNFQSAvKiBET01FdmVudExpc3RlbmVyLmggaW4gQ29weUZp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RDJBRDY3MEFCMUE0MEEw
MEMzMTNFQSAvKiBET01FdmVudExpc3RlbmVyLmggKi87IH07CkBAIC0zNzY0LDYgKzM3NzIsMTUg
QEAKIAkJODVBRkE3NDIwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50VGFyZ2V0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRUYXJnZXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NUFGQTgyMDBBQUY1MjhBMDBFODQzMDUgLyogRE9NRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg1QUZBODIxMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01FdmVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVCNDk4RUMwQURCMzJGQjAwOTI1Q0JCIC8qIERPTUNTU1J1
bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTUnVs
ZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QjQ5OEYyMEFEQjMz
NkEwMDkyNUNCQiAvKiBET01DU1NWYWx1ZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01DU1NWYWx1ZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg1QjQ5OEY0MEFEQjMzN0EwMDkyNUNCQiAvKiBET01FdmVudEludGVybmFsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01FdmVudEludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QjQ5OEZBMEFEQjM0MDIwMDkyNUNCQiAvKiBE
T01Ob2RlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU5v
ZGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUI0OThGRTBBREIz
NDgxMDA5MjVDQkIgLyogRE9NU3R5bGVTaGVldEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01TdHlsZVNoZWV0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODVCNDk5MDAwQURCMzRCMzAwOTI1Q0JCIC8qIERPTVNWR1BhdGhTZWdJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHUGF0aFNl
Z0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QjQ5OTY5MEFEQjNG
RjUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NU1ZHUGF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODVCNDk5NkEwQURCM0ZGNTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVNWR1BhdGhFbGVtZW50
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUI0OTk3NzBBREI0MjVFMDA5MjVD
QkIgLyogRE9NU1ZHUGF0aEVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NU1ZHUGF0aEVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NUJBNENENTBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEJ1dHRvbkVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxCdXR0b25F
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1QkE0Q0Q2MEFBNjg2MUIw
MDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MQnV0dG9uRWxlbWVudC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODVCQTRDRDcwQUE2ODYxQjAwODgwNTJEIC8qIERPTUhUTUxGaWVs
ZFNldEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxG
aWVsZFNldEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5MDMsNyAr
MzkyMCw2IEBACiAJCTg1Q0UxQTlBMEFEQUM3MDgwMDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdTVkdFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1Q0UxQTlCMEFEQUM3MDgwMDNCQkRFQSAv
KiBET01TVkdTVkdFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTVNWR1NWR0VsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1Q0UxQUEwMEFEQUM3NTIwMDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50SW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR1NWR0VsZW1lbnRJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4NUNFMUFGMjBBREFENDQwMDAzQkJE
RUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVNWR1BhdGhTZWdJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NUNFMUIwMTBBREFEQTk2MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFsLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHUGF0aFNlZ0lu
dGVybmFsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUQyQUQ2NzBBQjFBNDBB
MDBDMzEzRUEgLyogRE9NRXZlbnRMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NRXZlbnRMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NUQzODlCMDBBOTkxQTdGMDAyODIxNDUgLyogRE9NQXR0ci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NQXR0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNjQ3Miw3ICs2NDg4LDYgQEAKIAkJCQk4NTE2MjBFRTBBRDJGRDg4MDA1OUE3REUgLyogRE9N
U1ZHTnVtYmVyLm1tICovLAogCQkJCTg1MTYyMEYwMEFEMkZEODgwMDU5QTdERSAvKiBET01TVkdQ
b2ludC5tbSAqLywKIAkJCQk4NTE2MjBGMjBBRDJGRDg5MDA1OUE3REUgLyogRE9NU1ZHUmVjdC5t
bSAqLywKLQkJCQk4NUNFMUFGMjBBREFENDQwMDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVy
bmFsLmggKi8sCiAJCQkJODVDRTFCMDEwQURBREE5NjAwM0JCREVBIC8qIERPTVNWR1BhdGhTZWdJ
bnRlcm5hbC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gU1ZHOwpAQCAtNjczNiw2ICs2NzUxLDgg
QEAKIAkJCQk4NUMyMzk4MDBBRDU5MDdEMDAzNTMzRTcgLyogRE9NU1ZHTnVtYmVyTGlzdC5tbSAq
LywKIAkJCQk4NUM5QTMwMzBBRDdFOTQyMDBGQkZGMUUgLyogRE9NU1ZHUGFpbnQuaCAqLywKIAkJ
CQk4NUM5QTMwNDBBRDdFOTQyMDBGQkZGMUUgLyogRE9NU1ZHUGFpbnQubW0gKi8sCisJCQkJODVC
NDk5NjkwQURCM0ZGNTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50LmggKi8sCisJCQkJODVC
NDk5NkEwQURCM0ZGNTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50Lm1tICovLAogCQkJCTg1
NDE2MzYxMEFDNzE4MEIwMDAxRTAxQiAvKiBET01TVkdQYXRoU2VnLmggKi8sCiAJCQkJODU0MTYz
NjAwQUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1BhdGhTZWcubW0gKi8sCiAJCQkJODUwMTIwNEQw
QURBQkM5MjAwMjY3MTI1IC8qIERPTVNWR1BhdGhTZWdBcmNBYnMuaCAqLywKQEAgLTcwNDEsMTEg
KzcwNTgsMTMgQEAKIAkJCQk4NTkwOUNENjBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTTWVkaWFS
dWxlSW50ZXJuYWwuaCAqLywKIAkJCQk4NTkwOUNENzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
UGFnZVJ1bGVJbnRlcm5hbC5oICovLAogCQkJCTg1OTA5RDI2MEFDQzdENTUwMERGMDFGMSAvKiBE
T01DU1NQcmltaXRpdmVWYWx1ZUludGVybmFsLmggKi8sCisJCQkJODVCNDk4RUMwQURCMzJGQjAw
OTI1Q0JCIC8qIERPTUNTU1J1bGVJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTQzMEFDNUQ1MzQw
MDUzMjcwRiAvKiBET01DU1NSdWxlTGlzdEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNDQwQUM1
RDUzNDAwNTMyNzBGIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb25JbnRlcm5hbC5oICovLAogCQkJ
CTg1OTA5Q0Q5MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oICov
LAogCQkJCTg1OTA5Q0RBMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJu
YWwuaCAqLywKIAkJCQk4NTkwOUNEQjBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1
bGVJbnRlcm5hbC5oICovLAorCQkJCTg1QjQ5OEYyMEFEQjMzNkEwMDkyNUNCQiAvKiBET01DU1NW
YWx1ZUludGVybmFsLmggKi8sCiAJCQkJODU5MDlEMjgwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNT
U1ZhbHVlTGlzdEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8q
IERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTQ2MEFDNUQ1MzQw
MDUzMjcwRiAvKiBET01Eb2N1bWVudEludGVybmFsLmggKi8sCkBAIC03MDU0LDYgKzcwNzMsNyBA
QAogCQkJCTg1RTcxMTQ5MEFDNUQ1MzQwMDUzMjcwRiAvKiBET01FbGVtZW50SW50ZXJuYWwuaCAq
LywKIAkJCQk4NUU3MTE0QTBBQzVENTM0MDA1MzI3MEYgLyogRE9NRW50aXR5SW50ZXJuYWwuaCAq
LywKIAkJCQk4NUU3MTE0QjBBQzVENTM0MDA1MzI3MEYgLyogRE9NRW50aXR5UmVmZXJlbmNlSW50
ZXJuYWwuaCAqLywKKwkJCQk4NUI0OThGNDBBREIzMzdBMDA5MjVDQkIgLyogRE9NRXZlbnRJbnRl
cm5hbC5oICovLAogCQkJCTg1RTcxMTRDMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01IVE1MQW5jaG9y
RWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJODU1MjQ3Q0QwQUQ4NTBCODAwMTIwOTNCIC8qIERP
TUhUTUxBcHBsZXRFbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE0RDBBQzVENTM0MDA1
MzI3MEYgLyogRE9NSFRNTEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLywKQEAgLTcxMTUsNiArNzEz
NSw3IEBACiAJCQkJODU5ODlEQzYwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU1vdXNlRXZlbnRJbnRl
cm5hbC5oICovLAogCQkJCTg1OTg5REM3MEFDQzhCQkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2
ZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4MzBBQzVENTM1MDA1MzI3MEYgLyogRE9NTmFt
ZWROb2RlTWFwSW50ZXJuYWwuaCAqLywKKwkJCQk4NUI0OThGQTBBREIzNDAyMDA5MjVDQkIgLyog
RE9NTm9kZUludGVybmFsLmggKi8sCiAJCQkJODUwQjQxQzAwQUQ5RTdFNzAwQTZFRDRGIC8qIERP
TU5vZGVJdGVyYXRvckludGVybmFsLmggKi8sCiAJCQkJODVFNzExODQwQUM1RDUzNTAwNTMyNzBG
IC8qIERPTU5vZGVMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4NTBBQzVENTM1MDA1MzI3
MEYgLyogRE9NTm90YXRpb25JbnRlcm5hbC5oICovLApAQCAtNzEyMiw2ICs3MTQzLDcgQEAKIAkJ
CQk4NUU3MTE4NjBBQzVENTM1MDA1MzI3MEYgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uSW50
ZXJuYWwuaCAqLywKIAkJCQk4NTM4RjA1QTBBRDcyMkYxMDA2QTgxRDEgLyogRE9NUmFuZ2VJbnRl
cm5hbC5oICovLAogCQkJCTg1RTcxMTg3MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01SZWN0SW50ZXJu
YWwuaCAqLywKKwkJCQk4NUI0OThGRTBBREIzNDgxMDA5MjVDQkIgLyogRE9NU3R5bGVTaGVldElu
dGVybmFsLmggKi8sCiAJCQkJODVFNzExODgwQUM1RDUzNTAwNTMyNzBGIC8qIERPTVN0eWxlU2hl
ZXRMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUFDRUY4NTBBQ0REMDRBMDAxMjE0RkYgLyogRE9N
U1ZHQUVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJCTg1NDE2Mzk2MEFDNzE4NjgwMDAxRTAxQiAv
KiBET01TVkdBbmdsZUludGVybmFsLmggKi8sCkBAIC03MTg4LDYgKzcyMTAsNyBAQAogCQkJCTg1
NTlGMTFFMEFDOUJGNDEwMEEzNDM5QyAvKiBET01TVkdNZXRhZGF0YUVsZW1lbnRJbnRlcm5hbC5o
ICovLAogCQkJCTg1QzIzOTgzMEFENTkwOTgwMDM1MzNFNyAvKiBET01TVkdOdW1iZXJMaXN0SW50
ZXJuYWwuaCAqLywKIAkJCQk4NUM5QTMxODBBRDdFOUE0MDBGQkZGMUUgLyogRE9NU1ZHUGFpbnRJ
bnRlcm5hbC5oICovLAorCQkJCTg1QjQ5OTc3MEFEQjQyNUUwMDkyNUNCQiAvKiBET01TVkdQYXRo
RWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJODUwMTIwNTUwQURBQkNEOTAwMjY3MTI1IC8qIERP
TVNWR1BhdGhTZWdBcmNBYnNJbnRlcm5hbC5oICovLAogCQkJCTg1MDEyMDU2MEFEQUJDRDkwMDI2
NzEyNSAvKiBET01TVkdQYXRoU2VnQXJjUmVsSW50ZXJuYWwuaCAqLywKIAkJCQk4NUNFMUE5MzBB
REFDNjZEMDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0Nsb3NlUGF0aEludGVybmFsLmggKi8sCkBA
IC03MTk5LDYgKzcyMjIsNyBAQAogCQkJCTg1Q0UxQTYyMEFEQUM0QzUwMDNCQkRFQSAvKiBET01T
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbEludGVybmFsLmggKi8sCiAJCQkJODVDRTFBNjMw
QURBQzRDNTAwM0JCREVBIC8qIERPTVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJz
SW50ZXJuYWwuaCAqLywKIAkJCQk4NUNFMUE2NDBBREFDNEM1MDAzQkJERUEgLyogRE9NU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWxJbnRlcm5hbC5oICovLAorCQkJCTg1QjQ5OTAw
MEFEQjM0QjMwMDkyNUNCQiAvKiBET01TVkdQYXRoU2VnSW50ZXJuYWwuaCAqLywKIAkJCQk4NUNF
MUE2NTBBREFDNEM1MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0xpbmV0b0Fic0ludGVybmFsLmgg
Ki8sCiAJCQkJODVDRTFBNjYwQURBQzRDNTAwM0JCREVBIC8qIERPTVNWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsQWJzSW50ZXJuYWwuaCAqLywKIAkJCQk4NUNFMUE2NzBBREFDNEM1MDAzQkJERUEg
LyogRE9NU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWxJbnRlcm5hbC5oICovLApAQCAtMTAz
MTQsNyArMTAzMzgsMTQgQEAKIAkJCQk4NUNFMUE5NDBBREFDNjZEMDAzQkJERUEgLyogRE9NU1ZH
UGF0aFNlZ0Nsb3NlUGF0aEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUNFMUE5QzBB
REFDNzA4MDAzQkJERUEgLyogRE9NU1ZHU1ZHRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODVDRTFBQTEwQURBQzc1MjAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJODVDRTFBRjMwQURBRDQ0MDAwM0JCREVBIC8qIERPTVNWR1BhdGhT
ZWdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVCNDk4RUQwQURCMzJGQjAwOTI1Q0JC
IC8qIERPTUNTU1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVCNDk4RjMwQURC
MzM2QTAwOTI1Q0JCIC8qIERPTUNTU1ZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTg1QjQ5OEY1MEFEQjMzN0EwMDkyNUNCQiAvKiBET01FdmVudEludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4NUI0OThGQjBBREIzNDAyMDA5MjVDQkIgLyogRE9NTm9kZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4NUI0OThGRjBBREIzNDgxMDA5MjVDQkIgLyogRE9NU3R5bGVT
aGVldEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUI0OTkwMTBBREIzNEIzMDA5MjVD
QkIgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUI0OTk2
QjBBREIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg1QjQ5OTc4MEFEQjQyNUUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTZEMzczMjBBREJBNURFMDBBNDU1NEQgLyogTG9hZGVy
TlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NkQzNzM0MEFEQkE1REUwMEE0NTU0
RCAvKiBXZWJEYXRhUHJvdG9jb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NkQzNzM2MEFEQkE1
REUwMEE0NTU0RCAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTU0
MCw2ICsxMTU3MSw3IEBACiAJCQkJODVDRTFBOTIwQURBQzY1MDAwM0JCREVBIC8qIERPTVNWR1Bh
dGhTZWdDbG9zZVBhdGgubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUNFMUE5RDBBREFDNzA4MDAz
QkJERUEgLyogRE9NU1ZHU1ZHRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1Q0UxQjAy
MEFEQURBOTYwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnSW50ZXJuYWwubW0gaW4gU291cmNlcyAq
LywKKwkJCQk4NUI0OTk2QzBBREIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQubW0g
aW4gU291cmNlcyAqLywKIAkJCQk2NTZEMzczMzBBREJBNURFMDBBNDU1NEQgLyogTG9hZGVyTlNV
UkxFeHRyYXMubSBpbiBTb3VyY2VzICovLAogCQkJCTY1NkQzNzM1MEFEQkE1REUwMEE0NTU0RCAv
KiBXZWJEYXRhUHJvdG9jb2wubW0gaW4gU291cmNlcyAqLywKIAkJCQk2NTZEMzczNzBBREJBNURF
MDBBNDU1NEQgLyogV2ViRG9jdW1lbnRMb2FkZXIubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTS5tbQkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Myw5ICs2MywxNyBAQAogI2ltcG9ydCA8b2JqYy9v
YmpjLWNsYXNzLmg+CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogCisjaWZkZWYgU1ZHX1NVUFBP
UlQKKyNpbXBvcnQgIlNWR0VsZW1lbnQuaCIKKyNpbXBvcnQgIlNWR0RvY3VtZW50LmgiCisjaW1w
b3J0ICJTVkdOYW1lcy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOjpIVE1M
TmFtZXM7CiAKLWNsYXNzIE9iakNFdmVudExpc3RlbmVyIDogcHVibGljIFdlYkNvcmU6OkV2ZW50
TGlzdGVuZXIgeworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBPYmpDRXZlbnRMaXN0ZW5l
ciA6IHB1YmxpYyBFdmVudExpc3RlbmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgT2JqQ0V2ZW50
TGlzdGVuZXIqIGZpbmQoaWQgPERPTUV2ZW50TGlzdGVuZXI+KTsKICAgICBzdGF0aWMgT2JqQ0V2
ZW50TGlzdGVuZXIqIGNyZWF0ZShpZCA8RE9NRXZlbnRMaXN0ZW5lcj4pOwpAQCAtODAsMTAxICs4
OCwyMDMgQEAgcHJpdmF0ZToKIH07CiAKIHR5cGVkZWYgSGFzaE1hcDxpZCwgT2JqQ0V2ZW50TGlz
dGVuZXIqPiBMaXN0ZW5lck1hcDsKLXR5cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpBdG9taWNTdHJp
bmdJbXBsKiwgQ2xhc3M+IE9iakNDbGFzc01hcDsKLQotc3RhdGljIE9iakNDbGFzc01hcCogZWxl
bWVudENsYXNzTWFwOwogc3RhdGljIExpc3RlbmVyTWFwKiBsaXN0ZW5lck1hcDsKIAorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAvLyBET01Ob2RlCiAKLXN0YXRpYyB2b2lkIGFkZEVsZW1lbnRDbGFzcyhjb25zdCBXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lJiB0YWcsIENsYXNzIG9iakNDbGFzcykKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gRklYTUU6IHRoZSBIYXNoTWFwIHNob3VsZCB1c2UgUXVhbGlmaWVkTmFtZXMgYXMg
a2V5cyBzbyB0aGF0IHdlIGNhbgorLy8gdXNlIG9uZSB0YWJsZSBmb3IgYm90aCBIVE1MIGFuZCBT
Vkcgd2l0aG91dCBjb25mbGljdHMgKGllLiB0aGUgJ2EnIHRhZykuCit0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nSW1wbCosIENsYXNzPiBPYmpDQ2xhc3NNYXA7CisKK3N0YXRpYyBPYmpDQ2xh
c3NNYXAqIGh0bWxFbGVtZW50Q2xhc3NNYXA7CisjaWZkZWYgU1ZHX1NVUFBPUlQKK3N0YXRpYyBP
YmpDQ2xhc3NNYXAqIHN2Z0VsZW1lbnRDbGFzc01hcDsKKyNlbmRpZgorCitzdGF0aWMgdm9pZCBh
ZGRIVE1MRWxlbWVudENsYXNzKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZywgQ2xhc3Mgb2JqQ0Ns
YXNzKQogewotICAgIGVsZW1lbnRDbGFzc01hcC0+c2V0KHRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
IG9iakNDbGFzcyk7CisgICAgaHRtbEVsZW1lbnRDbGFzc01hcC0+c2V0KHRhZy5sb2NhbE5hbWUo
KS5pbXBsKCksIG9iakNDbGFzcyk7CiB9CiAKKyNpZmRlZiBTVkdfU1VQUE9SVAorc3RhdGljIHZv
aWQgYWRkU1ZHRWxlbWVudENsYXNzKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZywgQ2xhc3Mgb2Jq
Q0NsYXNzKQoreworICAgIHN2Z0VsZW1lbnRDbGFzc01hcC0+c2V0KHRhZy5sb2NhbE5hbWUoKS5p
bXBsKCksIG9iakNDbGFzcyk7Cit9CisjZW5kaWYKKwogc3RhdGljIHZvaWQgY3JlYXRlSFRNTEVs
ZW1lbnRDbGFzc01hcCgpCiB7CiAgICAgLy8gQ3JlYXRlIHRoZSB0YWJsZS4KLSAgICBlbGVtZW50
Q2xhc3NNYXAgPSBuZXcgT2JqQ0NsYXNzTWFwOwotICAgIAotICAgIC8vIFBvcHVsYXRlIGl0IHdp
dGggSFRNTCBlbGVtZW50IGNsYXNzZXMuCi0gICAgYWRkRWxlbWVudENsYXNzKGFUYWcsIFtET01I
VE1MQW5jaG9yRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhhcHBsZXRUYWcs
IFtET01IVE1MQXBwbGV0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhhcmVh
VGFnLCBbRE9NSFRNTEFyZWFFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGJh
c2VUYWcsIFtET01IVE1MQmFzZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
YmFzZWZvbnRUYWcsIFtET01IVE1MQmFzZUZvbnRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxl
bWVudENsYXNzKGJvZHlUYWcsIFtET01IVE1MQm9keUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MoYnJUYWcsIFtET01IVE1MQlJFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxl
bWVudENsYXNzKGJ1dHRvblRhZywgW0RPTUhUTUxCdXR0b25FbGVtZW50IGNsYXNzXSk7Ci0gICAg
YWRkRWxlbWVudENsYXNzKGNhbnZhc1RhZywgW0RPTUhUTUxJbWFnZUVsZW1lbnQgY2xhc3NdKTsK
LSAgICBhZGRFbGVtZW50Q2xhc3MoY2FwdGlvblRhZywgW0RPTUhUTUxUYWJsZUNhcHRpb25FbGVt
ZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGNvbFRhZywgW0RPTUhUTUxUYWJsZUNv
bEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoY29sZ3JvdXBUYWcsIFtET01I
VE1MVGFibGVDb2xFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRpclRhZywg
W0RPTUhUTUxEaXJlY3RvcnlFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRp
dlRhZywgW0RPTUhUTUxEaXZFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRs
VGFnLCBbRE9NSFRNTERMaXN0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhm
aWVsZHNldFRhZywgW0RPTUhUTUxGaWVsZFNldEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVt
ZW50Q2xhc3MoZm9udFRhZywgW0RPTUhUTUxGb250RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVs
ZW1lbnRDbGFzcyhmb3JtVGFnLCBbRE9NSFRNTEZvcm1FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRk
RWxlbWVudENsYXNzKGZyYW1lVGFnLCBbRE9NSFRNTEZyYW1lRWxlbWVudCBjbGFzc10pOwotICAg
IGFkZEVsZW1lbnRDbGFzcyhmcmFtZXNldFRhZywgW0RPTUhUTUxGcmFtZVNldEVsZW1lbnQgY2xh
c3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDFUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQg
Y2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDJUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1l
bnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDNUYWcsIFtET01IVE1MSGVhZGluZ0Vs
ZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDRUYWcsIFtET01IVE1MSGVhZGlu
Z0VsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDVUYWcsIFtET01IVE1MSGVh
ZGluZ0VsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDZUYWcsIFtET01IVE1M
SGVhZGluZ0VsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaGVhZFRhZywgW0RP
TUhUTUxIZWFkRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoclRhZywgW0RP
TUhUTUxIUkVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaHRtbFRhZywgW0RP
TUhUTUxIdG1sRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhpZnJhbWVUYWcs
IFtET01IVE1MSUZyYW1lRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhpbWdU
YWcsIFtET01IVE1MSW1hZ2VFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGlu
cHV0VGFnLCBbRE9NSFRNTElucHV0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhpc2luZGV4VGFnLCBbRE9NSFRNTElzSW5kZXhFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxl
bWVudENsYXNzKGxhYmVsVGFnLCBbRE9NSFRNTExhYmVsRWxlbWVudCBjbGFzc10pOwotICAgIGFk
ZEVsZW1lbnRDbGFzcyhsZWdlbmRUYWcsIFtET01IVE1MTGVnZW5kRWxlbWVudCBjbGFzc10pOwot
ICAgIGFkZEVsZW1lbnRDbGFzcyhsaVRhZywgW0RPTUhUTUxMSUVsZW1lbnQgY2xhc3NdKTsKLSAg
ICBhZGRFbGVtZW50Q2xhc3MobGlua1RhZywgW0RPTUhUTUxMaW5rRWxlbWVudCBjbGFzc10pOwot
ICAgIGFkZEVsZW1lbnRDbGFzcyhsaXN0aW5nVGFnLCBbRE9NSFRNTFByZUVsZW1lbnQgY2xhc3Nd
KTsKLSAgICBhZGRFbGVtZW50Q2xhc3MobWFwVGFnLCBbRE9NSFRNTE1hcEVsZW1lbnQgY2xhc3Nd
KTsKLSAgICBhZGRFbGVtZW50Q2xhc3MobWVudVRhZywgW0RPTUhUTUxNZW51RWxlbWVudCBjbGFz
c10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhtZXRhVGFnLCBbRE9NSFRNTE1ldGFFbGVtZW50IGNs
YXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKG9iamVjdFRhZywgW0RPTUhUTUxPYmplY3RFbGVt
ZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKG9sVGFnLCBbRE9NSFRNTE9MaXN0RWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhvcHRncm91cFRhZywgW0RPTUhUTUxP
cHRHcm91cEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mob3B0aW9uVGFnLCBb
RE9NSFRNTE9wdGlvbkVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MocFRhZywg
W0RPTUhUTUxQYXJhZ3JhcGhFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKHBh
cmFtVGFnLCBbRE9NSFRNTFBhcmFtRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhwcmVUYWcsIFtET01IVE1MUHJlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhxVGFnLCBbRE9NSFRNTFF1b3RlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhzY3JpcHRUYWcsIFtET01IVE1MU2NyaXB0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1l
bnRDbGFzcyhzZWxlY3RUYWcsIFtET01IVE1MU2VsZWN0RWxlbWVudCBjbGFzc10pOwotICAgIGFk
ZEVsZW1lbnRDbGFzcyhzdHlsZVRhZywgW0RPTUhUTUxTdHlsZUVsZW1lbnQgY2xhc3NdKTsKLSAg
ICBhZGRFbGVtZW50Q2xhc3ModGFibGVUYWcsIFtET01IVE1MVGFibGVFbGVtZW50IGNsYXNzXSk7
Ci0gICAgYWRkRWxlbWVudENsYXNzKHRib2R5VGFnLCBbRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1l
bnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3ModGRUYWcsIFtET01IVE1MVGFibGVDZWxs
RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyh0ZXh0YXJlYVRhZywgW0RPTUhU
TUxUZXh0QXJlYUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3ModGZvb3RUYWcs
IFtET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyh0aGVhZFRhZywgW0RPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRk
RWxlbWVudENsYXNzKHRpdGxlVGFnLCBbRE9NSFRNTFRpdGxlRWxlbWVudCBjbGFzc10pOwotICAg
IGFkZEVsZW1lbnRDbGFzcyh0clRhZywgW0RPTUhUTUxUYWJsZVJvd0VsZW1lbnQgY2xhc3NdKTsK
LSAgICBhZGRFbGVtZW50Q2xhc3ModWxUYWcsIFtET01IVE1MVUxpc3RFbGVtZW50IGNsYXNzXSk7
CisgICAgaHRtbEVsZW1lbnRDbGFzc01hcCA9IG5ldyBPYmpDQ2xhc3NNYXA7CiAKICAgICAvLyBG
SVhNRTogUmVmbGVjdCBtYXJxdWVlIG9uY2UgdGhlIEFQSSBoYXMgYmVlbiBkZXRlcm1pbmVkLgor
CisgICAgLy8gUG9wdWxhdGUgaXQgd2l0aCBIVE1MIGVsZW1lbnQgY2xhc3Nlcy4KKyAgICBhZGRI
VE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6YVRhZywgW0RPTUhUTUxBbmNob3JFbGVtZW50IGNs
YXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmFwcGxldFRhZywgW0RP
TUhUTUxBcHBsZXRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1M
TmFtZXM6OmFyZWFUYWcsIFtET01IVE1MQXJlYUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1M
RWxlbWVudENsYXNzKEhUTUxOYW1lczo6YmFzZVRhZywgW0RPTUhUTUxCYXNlRWxlbWVudCBjbGFz
c10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpiYXNlZm9udFRhZywgW0RP
TUhUTUxCYXNlRm9udEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhU
TUxOYW1lczo6Ym9keVRhZywgW0RPTUhUTUxCb2R5RWxlbWVudCBjbGFzc10pOworICAgIGFkZEhU
TUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpiclRhZywgW0RPTUhUTUxCUkVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6YnV0dG9uVGFnLCBbRE9NSFRN
TEJ1dHRvbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1l
czo6Y2FudmFzVGFnLCBbRE9NSFRNTEltYWdlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxF
bGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpjYXB0aW9uVGFnLCBbRE9NSFRNTFRhYmxlQ2FwdGlvbkVs
ZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6Y29sVGFn
LCBbRE9NSFRNTFRhYmxlQ29sRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xh
c3MoSFRNTE5hbWVzOjpjb2xncm91cFRhZywgW0RPTUhUTUxUYWJsZUNvbEVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6ZGlyVGFnLCBbRE9NSFRNTERp
cmVjdG9yeUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1l
czo6ZGl2VGFnLCBbRE9NSFRNTERpdkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVu
dENsYXNzKEhUTUxOYW1lczo6ZGxUYWcsIFtET01IVE1MRExpc3RFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmZpZWxkc2V0VGFnLCBbRE9NSFRNTEZp
ZWxkU2V0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVz
Ojpmb250VGFnLCBbRE9NSFRNTEZvbnRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1l
bnRDbGFzcyhIVE1MTmFtZXM6OmZvcm1UYWcsIFtET01IVE1MRm9ybUVsZW1lbnQgY2xhc3NdKTsK
KyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6ZnJhbWVUYWcsIFtET01IVE1MRnJh
bWVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmZy
YW1lc2V0VGFnLCBbRE9NSFRNTEZyYW1lU2V0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxF
bGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpoMVRhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVudCBjbGFz
c10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpoMlRhZywgW0RPTUhUTUxI
ZWFkaW5nRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVz
OjpoM1RhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVt
ZW50Q2xhc3MoSFRNTE5hbWVzOjpoNFRhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVudCBjbGFzc10p
OworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpoNVRhZywgW0RPTUhUTUxIZWFk
aW5nRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpo
NlRhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50
Q2xhc3MoSFRNTE5hbWVzOjpoZWFkVGFnLCBbRE9NSFRNTEhlYWRFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmhyVGFnLCBbRE9NSFRNTEhSRWxlbWVu
dCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpodG1sVGFnLCBb
RE9NSFRNTEh0bWxFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1M
TmFtZXM6OmlmcmFtZVRhZywgW0RPTUhUTUxJRnJhbWVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRk
SFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmltZ1RhZywgW0RPTUhUTUxJbWFnZUVsZW1lbnQg
Y2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6aW5wdXRUYWcsIFtE
T01IVE1MSW5wdXRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1M
TmFtZXM6OmlzaW5kZXhUYWcsIFtET01IVE1MSXNJbmRleEVsZW1lbnQgY2xhc3NdKTsKKyAgICBh
ZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6bGFiZWxUYWcsIFtET01IVE1MTGFiZWxFbGVt
ZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmxlZ2VuZFRh
ZywgW0RPTUhUTUxMZWdlbmRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFz
cyhIVE1MTmFtZXM6OmxpVGFnLCBbRE9NSFRNTExJRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhU
TUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpsaW5rVGFnLCBbRE9NSFRNTExpbmtFbGVtZW50IGNs
YXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6Omxpc3RpbmdUYWcsIFtE
T01IVE1MUHJlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5h
bWVzOjptYXBUYWcsIFtET01IVE1MTWFwRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVt
ZW50Q2xhc3MoSFRNTE5hbWVzOjptZW51VGFnLCBbRE9NSFRNTE1lbnVFbGVtZW50IGNsYXNzXSk7
CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6Om1ldGFUYWcsIFtET01IVE1MTWV0
YUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6b2Jq
ZWN0VGFnLCBbRE9NSFRNTE9iamVjdEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVu
dENsYXNzKEhUTUxOYW1lczo6b2xUYWcsIFtET01IVE1MT0xpc3RFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6Om9wdGdyb3VwVGFnLCBbRE9NSFRNTE9w
dEdyb3VwRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVz
OjpvcHRpb25UYWcsIFtET01IVE1MT3B0aW9uRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxF
bGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpwVGFnLCBbRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQgY2xh
c3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6cGFyYW1UYWcsIFtET01I
VE1MUGFyYW1FbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFt
ZXM6OnByZVRhZywgW0RPTUhUTUxQcmVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1l
bnRDbGFzcyhIVE1MTmFtZXM6OnFUYWcsIFtET01IVE1MUXVvdGVFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnNjcmlwdFRhZywgW0RPTUhUTUxTY3Jp
cHRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnNl
bGVjdFRhZywgW0RPTUhUTUxTZWxlY3RFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1l
bnRDbGFzcyhIVE1MTmFtZXM6OnN0eWxlVGFnLCBbRE9NSFRNTFN0eWxlRWxlbWVudCBjbGFzc10p
OworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp0YWJsZVRhZywgW0RPTUhUTUxU
YWJsZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhUTUxOYW1lczo6
dGJvZHlUYWcsIFtET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhU
TUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp0ZFRhZywgW0RPTUhUTUxUYWJsZUNlbGxFbGVtZW50
IGNsYXNzXSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnRleHRhcmVhVGFn
LCBbRE9NSFRNTFRleHRBcmVhRWxlbWVudCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xh
c3MoSFRNTE5hbWVzOjp0Zm9vdFRhZywgW0RPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IGNsYXNz
XSk7CisgICAgYWRkSFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnRoZWFkVGFnLCBbRE9NSFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRIVE1MRWxlbWVudENsYXNzKEhU
TUxOYW1lczo6dGl0bGVUYWcsIFtET01IVE1MVGl0bGVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRk
SFRNTEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnRyVGFnLCBbRE9NSFRNTFRhYmxlUm93RWxlbWVu
dCBjbGFzc10pOworICAgIGFkZEhUTUxFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp1bFRhZywgW0RP
TUhUTUxVTGlzdEVsZW1lbnQgY2xhc3NdKTsKIH0KIAotc3RhdGljIENsYXNzIGVsZW1lbnRDbGFz
cyhjb25zdCBXZWJDb3JlOjpBdG9taWNTdHJpbmcmIHRhZ05hbWUpCisKKyNpZmRlZiBTVkdfU1VQ
UE9SVAorc3RhdGljIHZvaWQgY3JlYXRlU1ZHRWxlbWVudENsYXNzTWFwKCkKIHsKLSAgICBpZiAo
IWVsZW1lbnRDbGFzc01hcCkKKyAgICAvLyBDcmVhdGUgdGhlIHRhYmxlLgorICAgIHN2Z0VsZW1l
bnRDbGFzc01hcCA9IG5ldyBPYmpDQ2xhc3NNYXA7CisKKyAgICAvLyBQb3B1bGF0ZSBpdCB3aXRo
IFNWRyBlbGVtZW50IGNsYXNzZXMuCisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjph
VGFnLCBbRE9NU1ZHQUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZH
TmFtZXM6OmFuaW1hdGVUYWcsIFtET01TVkdBbmltYXRlRWxlbWVudCBjbGFzc10pOworICAgIGFk
ZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6YW5pbWF0ZUNvbG9yVGFnLCBbRE9NU1ZHQW5pbWF0
ZUNvbG9yRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6
YW5pbWF0ZVRyYW5zZm9ybVRhZywgW0RPTVNWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50IGNsYXNz
XSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpjaXJjbGVUYWcsIFtET01TVkdD
aXJjbGVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpj
bGlwUGF0aFRhZywgW0RPTVNWR0NsaXBQYXRoRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0Vs
ZW1lbnRDbGFzcyhTVkdOYW1lczo6Y3Vyc29yVGFnLCBbRE9NU1ZHQ3Vyc29yRWxlbWVudCBjbGFz
c10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZGVmc1RhZywgW0RPTVNWR0Rl
ZnNFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpkZXNj
VGFnLCBbRE9NU1ZHRGVzY0VsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3Mo
U1ZHTmFtZXM6OmVsbGlwc2VUYWcsIFtET01TVkdFbGxpcHNlRWxlbWVudCBjbGFzc10pOworICAg
IGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVCbGVuZFRhZywgW0RPTVNWR0ZFQmxlbmRF
bGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUNvbG9y
TWF0cml4VGFnLCBbRE9NU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRT
VkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlQ29tcG9uZW50VHJhbnNmZXJUYWcsIFtET01TVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFz
cyhTVkdOYW1lczo6ZmVDb21wb3NpdGVUYWcsIFtET01TVkdGRUNvbXBvc2l0ZUVsZW1lbnQgY2xh
c3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlRGlmZnVzZUxpZ2h0aW5n
VGFnLCBbRE9NU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZH
RWxlbWVudENsYXNzKFNWR05hbWVzOjpmZURpc3BsYWNlbWVudE1hcFRhZywgW0RPTVNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdO
YW1lczo6ZmVEaXN0YW50TGlnaHRUYWcsIFtET01TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQgY2xh
c3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlRmxvb2RUYWcsIFtET01T
VkdGRUZsb29kRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1l
czo6ZmVGdW5jQVRhZywgW0RPTVNWR0ZFRnVuY0FFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZH
RWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUZ1bmNCVGFnLCBbRE9NU1ZHRkVGdW5jQkVsZW1lbnQg
Y2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlRnVuY0dUYWcsIFtE
T01TVkdGRUZ1bmNHRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdO
YW1lczo6ZmVGdW5jUlRhZywgW0RPTVNWR0ZFRnVuY1JFbGVtZW50IGNsYXNzXSk7CisgICAgYWRk
U1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUdhdXNzaWFuQmx1clRhZywgW0RPTVNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1l
czo6ZmVJbWFnZVRhZywgW0RPTVNWR0ZFSW1hZ2VFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZH
RWxlbWVudENsYXNzKFNWR05hbWVzOjpmZU1lcmdlVGFnLCBbRE9NU1ZHRkVNZXJnZUVsZW1lbnQg
Y2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlTWVyZ2VOb2RlVGFn
LCBbRE9NU1ZHRkVNZXJnZU5vZGVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENs
YXNzKFNWR05hbWVzOjpmZU9mZnNldFRhZywgW0RPTVNWR0ZFT2Zmc2V0RWxlbWVudCBjbGFzc10p
OworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVQb2ludExpZ2h0VGFnLCBbRE9N
U1ZHRkVQb2ludExpZ2h0RWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhT
VkdOYW1lczo6ZmVTcGVjdWxhckxpZ2h0aW5nVGFnLCBbRE9NU1ZHRkVTcGVjdWxhckxpZ2h0aW5n
RWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVTcG90
TGlnaHRUYWcsIFtET01TVkdGRVNwb3RMaWdodEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdF
bGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlVGlsZVRhZywgW0RPTVNWR0ZFVGlsZUVsZW1lbnQgY2xh
c3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlVHVyYnVsZW5jZVRhZywg
W0RPTVNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xh
c3MoU1ZHTmFtZXM6OmZpbHRlclRhZywgW0RPTVNWR0ZpbHRlckVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcsIFtET01TVkdG
b3JlaWduT2JqZWN0RWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdO
YW1lczo6Z1RhZywgW0RPTVNWR0dFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENs
YXNzKFNWR05hbWVzOjppbWFnZVRhZywgW0RPTVNWR0ltYWdlRWxlbWVudCBjbGFzc10pOworICAg
IGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6bGluZVRhZywgW0RPTVNWR0xpbmVFbGVtZW50
IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVu
dFRhZywgW0RPTVNWR0xpbmVhckdyYWRpZW50RWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0Vs
ZW1lbnRDbGFzcyhTVkdOYW1lczo6bWFya2VyVGFnLCBbRE9NU1ZHTWFya2VyRWxlbWVudCBjbGFz
c10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6bWFza1RhZywgW0RPTVNWR01h
c2tFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjptZXRh
ZGF0YVRhZywgW0RPTVNWR01ldGFkYXRhRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1l
bnRDbGFzcyhTVkdOYW1lczo6cGF0aFRhZywgW0RPTVNWR1BhdGhFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkU1ZHRWxlbWVudENsYXNzKFNWR05hbWVzOjpwYXR0ZXJuVGFnLCBbRE9NU1ZHUGF0dGVy
bkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnBvbHln
b25UYWcsIFtET01TVkdQb2x5Z29uRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRD
bGFzcyhTVkdOYW1lczo6cG9seWxpbmVUYWcsIFtET01TVkdQb2x5bGluZUVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnLCBb
RE9NU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkU1ZHRWxlbWVudENs
YXNzKFNWR05hbWVzOjpyZWN0VGFnLCBbRE9NU1ZHUmVjdEVsZW1lbnQgY2xhc3NdKTsKKyAgICBh
ZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnNjcmlwdFRhZywgW0RPTVNWR1NjcmlwdEVsZW1l
bnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnNldFRhZywgW0RP
TVNWR1NldEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6
OnN0b3BUYWcsIFtET01TVkdTdG9wRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRD
bGFzcyhTVkdOYW1lczo6c3R5bGVUYWcsIFtET01TVkdTdHlsZUVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN2Z1RhZywgW0RPTVNWR1NWR0VsZW1lbnQg
Y2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN3aXRjaFRhZywgW0RP
TVNWR1N3aXRjaEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFt
ZXM6OnN5bWJvbFRhZywgW0RPTVNWR1N5bWJvbEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdF
bGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnRleHRUYWcsIFtET01TVkdUZXh0RWxlbWVudCBjbGFzc10p
OworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhTVkdOYW1lczo6dGl0bGVUYWcsIFtET01TVkdUaXRs
ZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnRyZWZU
YWcsIFtET01TVkdUUmVmRWxlbWVudCBjbGFzc10pOworICAgIGFkZFNWR0VsZW1lbnRDbGFzcyhT
VkdOYW1lczo6dHNwYW5UYWcsIFtET01TVkdUU3BhbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRT
VkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnVzZVRhZywgW0RPTVNWR1VzZUVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRTVkdFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnZpZXdUYWcsIFtET01TVkdWaWV3
RWxlbWVudCBjbGFzc10pOworfQorI2VuZGlmCisKK3N0YXRpYyBDbGFzcyBodG1sRWxlbWVudENs
YXNzKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKK3sKKyAgICBpZiAoIWh0bWxFbGVtZW50
Q2xhc3NNYXApCiAgICAgICAgIGNyZWF0ZUhUTUxFbGVtZW50Q2xhc3NNYXAoKTsKLSAgICBDbGFz
cyBvYmpjQ2xhc3MgPSBlbGVtZW50Q2xhc3NNYXAtPmdldCh0YWdOYW1lLmltcGwoKSk7CisgICAg
Q2xhc3Mgb2JqY0NsYXNzID0gaHRtbEVsZW1lbnRDbGFzc01hcC0+Z2V0KHRhZ05hbWUuaW1wbCgp
KTsKICAgICBpZiAoIW9iamNDbGFzcykKICAgICAgICAgb2JqY0NsYXNzID0gW0RPTUhUTUxFbGVt
ZW50IGNsYXNzXTsKICAgICByZXR1cm4gb2JqY0NsYXNzOwogfQogCisjaWZkZWYgU1ZHX1NVUFBP
UlQKK3N0YXRpYyBDbGFzcyBzdmdFbGVtZW50Q2xhc3MoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdO
YW1lKQoreworICAgIGlmICghc3ZnRWxlbWVudENsYXNzTWFwKQorICAgICAgICBjcmVhdGVTVkdF
bGVtZW50Q2xhc3NNYXAoKTsKKyAgICBDbGFzcyBvYmpjQ2xhc3MgPSBzdmdFbGVtZW50Q2xhc3NN
YXAtPmdldCh0YWdOYW1lLmltcGwoKSk7CisgICAgaWYgKCFvYmpjQ2xhc3MpCisgICAgICAgIG9i
amNDbGFzcyA9IFtET01TVkdFbGVtZW50IGNsYXNzXTsKKyAgICByZXR1cm4gb2JqY0NsYXNzOwor
fQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwogQGltcGxlbWVudGF0aW9uIERP
TU5vZGUgKFdlYkNvcmVJbnRlcm5hbCkKIAogLy8gRklYTUU6IHNob3VsZCB0aGlzIGdvIGluIHRo
ZSBtYWluIGltcGxlbWVudGF0aW9uPwpAQCAtMjE2LDcgKzMyNiwxMSBAQCBzdGF0aWMgQ2xhc3Mg
ZWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6CiAgICAgc3dpdGNoIChpbXBsLT5ub2RlVHlwZSgp
KSB7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6Tm9kZTo6RUxFTUVOVF9OT0RFOgogICAgICAgICAg
ICAgaWYgKGltcGwtPmlzSFRNTEVsZW1lbnQoKSkKLSAgICAgICAgICAgICAgICB3cmFwcGVyQ2xh
c3MgPSBlbGVtZW50Q2xhc3Moc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEVsZW1lbnQqPihpbXBs
KS0+bG9jYWxOYW1lKCkpOworICAgICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFdlYkNvcmU6
Omh0bWxFbGVtZW50Q2xhc3Moc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEVsZW1lbnQqPihpbXBs
KS0+bG9jYWxOYW1lKCkpOworI2lmZGVmIFNWR19TVVBQT1JUCisgICAgICAgICAgICBlbHNlIGlm
IChpbXBsLT5pc1NWR0VsZW1lbnQoKSkKKyAgICAgICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBX
ZWJDb3JlOjpzdmdFbGVtZW50Q2xhc3Moc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U1ZHRWxlbWVudCo+
KGltcGwpLT5sb2NhbE5hbWUoKSk7CisjZW5kaWYKICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NRWxlbWVudCBjbGFzc107CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTI0NCw2ICszNTgsMTAgQEAgc3RhdGljIENsYXNzIGVsZW1lbnRDbGFzcyhjb25z
dCBXZWJDb3JlOgogICAgICAgICBjYXNlIFdlYkNvcmU6Ok5vZGU6OkRPQ1VNRU5UX05PREU6CiAg
ICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RG9jdW1lbnQqPihpbXBsKS0+aXNI
VE1MRG9jdW1lbnQoKSkKICAgICAgICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NSFRNTERv
Y3VtZW50IGNsYXNzXTsKKyNpZmRlZiBTVkdfU1VQUE9SVAorICAgICAgICAgICAgZWxzZSBpZiAo
c3RhdGljX2Nhc3Q8V2ViQ29yZTo6RG9jdW1lbnQqPihpbXBsKS0+aXNTVkdEb2N1bWVudCgpKQor
ICAgICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01TVkdEb2N1bWVudCBjbGFzc107Cisj
ZW5kaWYKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBb
RE9NRG9jdW1lbnQgY2xhc3NdOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zMTcsNyArNDM1LDcg
QEAgc3RhdGljIENsYXNzIGVsZW1lbnRDbGFzcyhjb25zdCBXZWJDb3JlOgogICAgIGlmICghW3Nl
bGYgX25vZGVdLT5pc0V2ZW50VGFyZ2V0Tm9kZSgpKQogICAgICAgICBXZWJDb3JlOjpyYWlzZURP
TUV4Y2VwdGlvbihET01fTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgIAotICAgIFdlYkNvcmU6OkV2
ZW50TGlzdGVuZXIgKndyYXBwZXIgPSBPYmpDRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGxpc3RlbmVy
KTsKKyAgICBXZWJDb3JlOjpFdmVudExpc3RlbmVyICp3cmFwcGVyID0gV2ViQ29yZTo6T2JqQ0V2
ZW50TGlzdGVuZXI6OmNyZWF0ZShsaXN0ZW5lcik7CiAgICAgV2ViQ29yZTo6RXZlbnRUYXJnZXRO
b2RlQ2FzdChbc2VsZiBfbm9kZV0pLT5hZGRFdmVudExpc3RlbmVyKHR5cGUsIHdyYXBwZXIsIHVz
ZUNhcHR1cmUpOwogICAgIHdyYXBwZXItPmRlcmVmKCk7CiB9CkBAIC0zMzMsNyArNDUxLDcgQEAg
c3RhdGljIENsYXNzIGVsZW1lbnRDbGFzcyhjb25zdCBXZWJDb3JlOgogICAgIGlmICghW3NlbGYg
X25vZGVdLT5pc0V2ZW50VGFyZ2V0Tm9kZSgpKQogICAgICAgICBXZWJDb3JlOjpyYWlzZURPTUV4
Y2VwdGlvbihET01fTk9UX1NVUFBPUlRFRF9FUlIpOwogCi0gICAgaWYgKFdlYkNvcmU6OkV2ZW50
TGlzdGVuZXIgKndyYXBwZXIgPSBPYmpDRXZlbnRMaXN0ZW5lcjo6ZmluZChsaXN0ZW5lcikpCisg
ICAgaWYgKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXIgKndyYXBwZXIgPSBXZWJDb3JlOjpPYmpDRXZl
bnRMaXN0ZW5lcjo6ZmluZChsaXN0ZW5lcikpCiAgICAgICAgIFdlYkNvcmU6OkV2ZW50VGFyZ2V0
Tm9kZUNhc3QoW3NlbGYgX25vZGVdKS0+cmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCB3cmFwcGVy
LCB1c2VDYXB0dXJlKTsKIH0KIApAQCAtNTkwLDkgKzcwOCwxMiBAQCBzaG9ydCBPYmpDTm9kZUZp
bHRlckNvbmRpdGlvbjo6YWNjZXB0Tm9kCiAKIEBlbmQKIAorCiAvLy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogLy8gT2JqQ0V2ZW50TGlzdGVuZXIKIAorbmFtZXNwYWNlIFdlYkNv
cmUgeworCiBPYmpDRXZlbnRMaXN0ZW5lciogT2JqQ0V2ZW50TGlzdGVuZXI6OmZpbmQoaWQgPERP
TUV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKQogewogICAgIGlmIChMaXN0ZW5lck1hcCogbWFwID0g
bGlzdGVuZXJNYXApCkBAIC02MjYsNyArNzQ3LDkgQEAgT2JqQ0V2ZW50TGlzdGVuZXI6On5PYmpD
RXZlbnRMaXN0ZW5lcigpCiAgICAgW21fbGlzdGVuZXIgcmVsZWFzZV07CiB9CiAKLXZvaWQgT2Jq
Q0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFdlYkNvcmU6OkV2ZW50KiBldmVudCwgYm9vbCkK
K3ZvaWQgT2JqQ0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KEV2ZW50KiBldmVudCwgYm9vbCkK
IHsKICAgICBbbV9saXN0ZW5lciBoYW5kbGVFdmVudDpbRE9NRXZlbnQgX2V2ZW50V2l0aDpldmVu
dF1dOwogfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NRXZlbnRzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01FdmVudHMubW0JKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUV2ZW50cy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDE3IEBACiAjaW1wb3J0ICJE
T01Qcml2YXRlLmgiCiAjaW1wb3J0ICJEb2N1bWVudC5oIgogI2ltcG9ydCAiRXZlbnQuaCIKLSNp
bXBvcnQgIk1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIktleWJvYXJkRXZlbnQuaCIKKyNpbXBvcnQg
Ik1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIk11dGF0aW9uRXZlbnQuaCIKICNpbXBvcnQgIk92ZXJm
bG93RXZlbnQuaCIKICNpbXBvcnQgIlVJRXZlbnQuaCIKIAorI2lmZGVmIFNWR19TVVBQT1JUCisj
aW1wb3J0ICJET01TVkdab29tRXZlbnQuaCIKKyNpbXBvcnQgIlNWR1pvb21FdmVudC5oIgorI2Vu
ZGlmCisKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01FdmVudAog
CkBAIC04Miw2ICs4NywxMCBAQAogICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NVUlFdmVudCBj
bGFzc107CiAgICAgZWxzZSBpZiAoaW1wbC0+aXNPdmVyZmxvd0V2ZW50KCkpCiAgICAgICAgIHdy
YXBwZXJDbGFzcyA9IFtET01PdmVyZmxvd0V2ZW50IGNsYXNzXTsKKyNpZmRlZiBTVkdfU1VQUE9S
VAorICAgIGVsc2UgaWYgKGltcGwtPmlzU1ZHWm9vbUV2ZW50KCkpCisgICAgICAgIHdyYXBwZXJD
bGFzcyA9IFtET01TVkdab29tRXZlbnQgY2xhc3NdOworI2VuZGlmCiAgICAgZWxzZQogICAgICAg
ICB3cmFwcGVyQ2xhc3MgPSBbRE9NRXZlbnQgY2xhc3NdOwogCkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NSW50ZXJuYWwuaAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTMgKzI4LDggQEAKICNpbXBv
cnQgIkRPTS5oIgogCiAjaW1wb3J0ICJDb2xvci5oIgotI2ltcG9ydCAiRE9NQ1NTUnVsZS5oIgot
I2ltcG9ydCAiRE9NQ1NTVmFsdWUuaCIKLSNpbXBvcnQgIkRPTUV2ZW50cy5oIgotI2ltcG9ydCAi
RE9NTm9kZS5oIgogI2ltcG9ydCAiRE9NT2JqZWN0LmgiCiAjaW1wb3J0ICJET01SR0JDb2xvci5o
IgotI2ltcG9ydCAiRE9NU3R5bGVTaGVldC5oIgogCiAjaWZkZWYgU1ZHX1NVUFBPUlQKICNpbXBv
cnQgIkRPTVNWR051bWJlci5oIgpAQCAtNDYsNiArNDEsNyBAQAogI2ltcG9ydCAiRE9NWFBhdGhO
U1Jlc29sdmVyLmgiCiAjZW5kaWYgLy8gWFBBVEhfU1VQUE9SVAogCisKIC8vIEF1dG8tZ2VuZXJh
dGVkIGludGVybmFsIGludGVyZmFjZXMKICNpbXBvcnQgIkRPTUFic3RyYWN0Vmlld0ludGVybmFs
LmgiCiAjaW1wb3J0ICJET01BdHRySW50ZXJuYWwuaCIKQEAgLTU2LDExICs1MiwxMyBAQAogI2lt
cG9ydCAiRE9NQ1NTTWVkaWFSdWxlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1BhZ2VSdWxl
SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1ByaW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCIKKyNp
bXBvcnQgIkRPTUNTU1J1bGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTUnVsZUxpc3RJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmgiCiAjaW1w
b3J0ICJET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTU3R5bGVTaGVl
dEludGVybmFsLmgiCiAjaW1wb3J0ICJET01DU1NVbmtub3duUnVsZUludGVybmFsLmgiCisjaW1w
b3J0ICJET01DU1NWYWx1ZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01DU1NWYWx1ZUxpc3RJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NQ2hhcmFjdGVyRGF0YUludGVybmFsLmgiCiAjaW1wb3J0ICJE
T01Db21tZW50SW50ZXJuYWwuaCIKQEAgLTcyLDYgKzcwLDcgQEAKICNpbXBvcnQgIkRPTUVsZW1l
bnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NRW50aXR5SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRP
TUVudGl0eVJlZmVyZW5jZUludGVybmFsLmgiCisjaW1wb3J0ICJET01FdmVudEludGVybmFsLmgi
CiAjaW1wb3J0ICJET01IVE1MQW5jaG9yRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01I
VE1MQXBwbGV0RWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01IVE1MQXJlYUVsZW1lbnRJ
bnRlcm5hbC5oIgpAQCAtMTM0LDYgKzEzMyw3IEBACiAjaW1wb3J0ICJET01Nb3VzZUV2ZW50SW50
ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU11dGF0aW9uRXZlbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NTmFtZWROb2RlTWFwSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTU5vZGVJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NTm9kZUl0ZXJhdG9ySW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU5vZGVMaXN0
SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU5vdGF0aW9uSW50ZXJuYWwuaCIKQEAgLTE0MSw2ICsx
NDEsNyBAQAogI2ltcG9ydCAiRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uSW50ZXJuYWwuaCIKICNp
bXBvcnQgIkRPTVJhbmdlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVJlY3RJbnRlcm5hbC5oIgor
I2ltcG9ydCAiRE9NU3R5bGVTaGVldEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TdHlsZVNoZWV0
TGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJET01UZXh0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRP
TVRyZWVXYWxrZXJJbnRlcm5hbC5oIgpAQCAtMTk4LDIxICsxOTksMjIgQEAKICNpbXBvcnQgIkRP
TVNWR0ZFU3BvdExpZ2h0RWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdGRVRpbGVF
bGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR0ZFVHVyYnVsZW5jZUVsZW1lbnRJbnRl
cm5hbC5oIgotI2ltcG9ydCAiRE9NU1ZHRmlsdGVyRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NU1ZH
Rm9yZWlnbk9iamVjdEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTVNWR0dFbGVtZW50LmgiCi0jaW1w
b3J0ICJET01TVkdHcmFkaWVudEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTVNWR0ltYWdlRWxlbWVu
dC5oIgorI2ltcG9ydCAiRE9NU1ZHRmlsdGVyRWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJE
T01TVkdGb3JlaWduT2JqZWN0RWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdHRWxl
bWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdHcmFkaWVudEVsZW1lbnRJbnRlcm5hbC5o
IgorI2ltcG9ydCAiRE9NU1ZHSW1hZ2VFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNW
R0xlbmd0aEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdMZW5ndGhMaXN0SW50ZXJuYWwuaCIK
LSNpbXBvcnQgIkRPTVNWR0xpbmVFbGVtZW50LmgiCi0jaW1wb3J0ICJET01TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTVNWR01hcmtlckVsZW1lbnQuaCIKLSNpbXBvcnQg
IkRPTVNWR01hc2tFbGVtZW50LmgiCisjaW1wb3J0ICJET01TVkdMaW5lRWxlbWVudEludGVybmFs
LmgiCisjaW1wb3J0ICJET01TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnRJbnRlcm5hbC5oIgorI2lt
cG9ydCAiRE9NU1ZHTWFya2VyRWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdNYXNr
RWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdNYXRyaXhJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NU1ZHTWV0YWRhdGFFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR051
bWJlckxpc3RJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NU1ZHUGFpbnQuaCIKKyNpbXBvcnQgIkRP
TVNWR1BhaW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR1BhdGhFbGVtZW50SW50ZXJuYWwu
aCIKICNpbXBvcnQgIkRPTVNWR1BhdGhTZWdBcmNBYnNJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9N
U1ZHUGF0aFNlZ0FyY1JlbEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdQYXRoU2VnQ2xvc2VQ
YXRoSW50ZXJuYWwuaCIKQEAgLTI3MCwxMiArMjcyLDcgQEAKICNlbmRpZiAvLyBYUEFUSF9TVVBQ
T1JUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBDU1NSdWxlOwotICAgIGNsYXNz
IENTU1ZhbHVlOwotICAgIGNsYXNzIEV2ZW50OwotICAgIGNsYXNzIE5vZGU7CiAgICAgY2xhc3Mg
Tm9kZUZpbHRlcjsKLSAgICBjbGFzcyBTdHlsZVNoZWV0OwogCiAjaWZkZWYgU1ZHX1NVUFBPUlQK
ICAgICBjbGFzcyBGbG9hdFBvaW50OwpAQCAtMjkzLDM5ICsyOTAsMTEgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogLSAoaWQpX2luaXQ7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NTm9kZSAoV2ViQ29y
ZUludGVybmFsKQotKyAoRE9NTm9kZSAqKV9ub2RlV2l0aDooV2ViQ29yZTo6Tm9kZSAqKWltcGw7
Ci0tIChXZWJDb3JlOjpOb2RlICopX25vZGU7Ci1AZW5kCi0KIC8vIENTUyBJbnRlcm5hbCBJbnRl
cmZhY2VzCiAKLUBpbnRlcmZhY2UgRE9NQ1NTUnVsZSAoV2ViQ29yZUludGVybmFsKQotKyAoRE9N
Q1NTUnVsZSAqKV9DU1NSdWxlV2l0aDooV2ViQ29yZTo6Q1NTUnVsZSAqKWltcGw7Ci0tIChXZWJD
b3JlOjpDU1NSdWxlICopX0NTU1J1bGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTVmFsdWUg
KFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTUNTU1ZhbHVlICopX0NTU1ZhbHVlV2l0aDooV2ViQ29y
ZTo6Q1NTVmFsdWUgKilpbXBsOwotLSAoV2ViQ29yZTo6Q1NTVmFsdWUgKilfQ1NTVmFsdWU7Ci1A
ZW5kCi0KIEBpbnRlcmZhY2UgRE9NUkdCQ29sb3IgKFdlYkNvcmVJbnRlcm5hbCkKICsgKERPTVJH
QkNvbG9yICopX1JHQkNvbG9yV2l0aFJHQjooV2ViQ29yZTo6UkdCQTMyKXZhbHVlOwotQGVuZAot
Ci0vLyBTdHlsZVNoZWV0cyBJbnRlcm5hbCBJbnRlcmZhY2VzCi0KLUBpbnRlcmZhY2UgRE9NU3R5
bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NU3R5bGVTaGVldCAqKV9zdHlsZVNoZWV0
V2l0aDooV2ViQ29yZTo6U3R5bGVTaGVldCAqKWltcGw7Ci0tIChXZWJDb3JlOjpTdHlsZVNoZWV0
ICopX3N0eWxlU2hlZXQ7Ci1AZW5kCi0KLS8vIEV2ZW50cyBJbnRlcm5hbCBJbnRlcmZhY2VzCi0K
LUBpbnRlcmZhY2UgRE9NRXZlbnQgKFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTUV2ZW50ICopX2V2
ZW50V2l0aDooV2ViQ29yZTo6RXZlbnQgKilpbXBsOwotLSAoV2ViQ29yZTo6RXZlbnQgKilfZXZl
bnQ7CistIChXZWJDb3JlOjpSR0JBMzIpX1JHQkNvbG9yOwogQGVuZAogCiAvLyBUcmF2ZXJzYWwg
SW50ZXJuYWwgSW50ZXJmYWNlcwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVJHQkNv
bG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01SR0JDb2xvci5t
bQkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3Iu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsMTEgQEAgdm9pZCByZW1vdmVXcmFwcGVy
Rm9yUkdCKFdlYkNvcmU6OlJHQkEzMgogCiBAaW1wbGVtZW50YXRpb24gRE9NUkdCQ29sb3IgKFdl
YkNvcmVJbnRlcm5hbCkKIAorLSAoV2ViQ29yZTo6UkdCQTMyKV9SR0JDb2xvcgoreworICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UkdCQTMyPihyZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4oX2ludGVybmFsKSk7Cit9CisKIC0gKGlkKV9pbml0V2l0aFJHQjooV2ViQ29yZTo6UkdC
QTMyKXZhbHVlCiB7CiAgICAgW3N1cGVyIF9pbml0XTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET01TVkdQYXRoU2VnSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NU1ZHUGF0aFNlZ0ludGVybmFsLmgJKHJldmlzaW9uIDE2OTc3KQorKysgV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTVNWR1BhdGhTZWdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Ci0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbXBvcnQgIkRPTVNW
R1BhdGhTZWcuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBTVkdQYXRoU2VnOyB9Ci0K
LUBpbnRlcmZhY2UgRE9NU1ZHUGF0aFNlZyAoV2ViQ29yZUludGVybmFsKQotLSAoV2ViQ29yZTo6
U1ZHUGF0aFNlZyAqKV9TVkdQYXRoU2VnOwotKyAoRE9NU1ZHUGF0aFNlZyAqKV9TVkdQYXRoU2Vn
V2l0aDooV2ViQ29yZTo6U1ZHUGF0aFNlZyAqKWltcGw7Ci1AZW5kCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZpc2lvbiAxNjk3NykK
KysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsMTEgKzU4LDIwIEBAIG15ICVzdHJpbmdUeXBlSGFzaCA9ICgiRE9NU3Ry
aW5nIiA9PiAxLCAKIG15ICVuYXRpdmVPYmpDVHlwZUhhc2ggPSAoIlVSTCIgPT4gMSwgIkNvbG9y
IiA9PiAxKTsKIG15ICVub25Qb2ludGVyVHlwZUhhc2ggPSAoIkRPTVRpbWVTdGFtcCIgPT4gMSwg
IkNvbXBhcmVIb3ciID0+IDEsICJTVkdQYWludFR5cGUiID0+IDEpOwogCi0jIEZJWE1FOiBuZWVk
IHRvIGFkZCB0aGUgU1ZHIGJhc2UgdHlwZXMgdG8gdGhpcyBoYXNoLgotbXkgJWJhc2VUeXBlSGFz
aCA9ICgiTm9kZSIgPT4gMSwgIk5vZGVMaXN0IiA9PiAxLCAiTmFtZWROb2RlTWFwIiA9PiAxLCAi
RE9NSW1wbGVtZW50YXRpb24iID0+IDEsCisjIEZJWE1FOiB0aGlzIHNob3VsZCBiZSByZXBsYWNl
ZCB3aXRoIGEgZnVuY3Rpb24gdGhhdCByZWN1cnNlcyB1cCB0aGUgdHJlZQorIyB0byBmaW5kIHRo
ZSBhY3R1YWwgYmFzZSB0eXBlLgorbXkgJWJhc2VUeXBlSGFzaCA9ICgiT2JqZWN0IiA9PiAxLCAi
Tm9kZSIgPT4gMSwgIk5vZGVMaXN0IiA9PiAxLCAiTmFtZWROb2RlTWFwIiA9PiAxLCAiRE9NSW1w
bGVtZW50YXRpb24iID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICJFdmVudCIgPT4gMSwgIkNT
U1J1bGUiID0+IDEsICJDU1NWYWx1ZSIgPT4gMSwgIlN0eWxlU2hlZXQiID0+IDEsICJNZWRpYUxp
c3QiID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICJDb3VudGVyIiA9PiAxLCAiUmVjdCIgPT4g
MSwgIlJHQkNvbG9yIiA9PiAxLCAiWFBhdGhFeHByZXNzaW9uIiA9PiAxLCAiWFBhdGhSZXN1bHQi
ID0+IDEsCi0gICAgICAgICAgICAgICAgICAgICJOb2RlSXRlcmF0b3IiID0+IDEsICJUcmVlV2Fs
a2VyIiA9PiAxLCAiQWJzdHJhY3RWaWV3IiA9PiAxLCAiU1ZHUGF0aFNlZyIgPT4gMSk7CisgICAg
ICAgICAgICAgICAgICAgICJOb2RlSXRlcmF0b3IiID0+IDEsICJUcmVlV2Fsa2VyIiA9PiAxLCAi
QWJzdHJhY3RWaWV3IiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAiU1ZHQW5nbGUiID0+IDEs
ICJTVkdBbmltYXRlZEFuZ2xlIiA9PiAxLCAiU1ZHQW5pbWF0ZWRCb29sZWFuIiA9PiAxLCAiU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbiIgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1h
dGVkSW50ZWdlciIgPT4gMSwgIlNWR0FuaW1hdGVkTGVuZ3RoIiA9PiAxLCAiU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0IiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWROdW1iZXIi
ID0+IDEsICJTVkdBbmltYXRlZE51bWJlckxpc3QiID0+IDEsICJTVkdBbmltYXRlZFBvaW50cyIg
PT4gMSwKKyAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
byIgPT4gMSwgIlNWR0FuaW1hdGVkUmVjdCIgPT4gMSwgIlNWR0FuaW1hdGVkU3RyaW5nIiA9PiAx
LAorICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IiA9PiAxLCAi
U1ZHTGVuZ3RoIiA9PiAxLCAiU1ZHTGVuZ3RoTGlzdCIgPT4gMSwgIlNWR01hdHJpeCIgPT4gMSwK
KyAgICAgICAgICAgICAgICAgICAgIlNWR051bWJlciIgPT4gMSwgIlNWR051bWJlckxpc3QiID0+
IDEsICJTVkdQYXRoU2VnIiA9PiAxLCAiU1ZHUGF0aFNlZ0xpc3QiID0+IDEsICJTVkdQb2ludCIg
PT4gMSwKKyAgICAgICAgICAgICAgICAgICAgIlNWR1BvaW50TGlzdCIgPT4gMSwgIlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8iID0+IDEsICJTVkdSZWN0IiA9PiAxLCAiU1ZHUmVuZGVyaW5nSW50ZW50
IiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAiU1ZHU3RyaW5nTGlzdCIgPT4gMSwgIlNWR1Ry
YW5zZm9ybSIgPT4gMSwgIlNWR1RyYW5zZm9ybUxpc3QiID0+IDEsICJTVkdVbml0VHlwZXMiID0+
IDEpOwogCiAjIENvbnN0YW50cwogbXkgJGJ1aWxkaW5nRm9yVGlnZXJPckVhcmxpZXIgPSAxIGlm
ICRFTlZ7Ik1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCJ9IGFuZCAkRU5WeyJNQUNPU1hfREVQTE9Z
TUVOVF9UQVJHRVQifSA8PSAxMC40OwpAQCAtMTIwNSw0MiArMTIxNCw1OSBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxAZW5kXG4iKTsK
ICAgICB9CiAKLSAgICB1bmxlc3MgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57T2Jq
Q05vSW50ZXJuYWx9KSB7CisKKyAgICAjIEdlbmVyYXRlIGludGVybmFsIGludGVyZmFjZXMKKwor
ICAgICMgLSBUeXBlLUdldHRlcgorICAgICMgLSAoV2ViQ29yZTo6Rm9vQmFyICopX2Zvb0JhciBm
b3IgaW1wbGVtZW50YXRpb24gY2xhc3MgRm9vQmFyCisgICAgbXkgJHR5cGVHZXR0ZXJOYW1lID0g
R2V0T2JqQ1R5cGVHZXR0ZXJOYW1lKCRpbnRlcmZhY2VOYW1lKTsKKyAgICBteSAkdHlwZUdldHRl
clNpZyA9ICItICgkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2UgKikkdHlwZUdldHRlck5hbWUi
OworCisgICAgbXkgQGl2YXJzVG9SZXRhaW4gPSAoKTsKKyAgICBteSAkaXZhcnNUb0luaXQgPSAi
IjsKKyAgICBteSAkdHlwZU1ha2VyU2lnQWRkaXRpb24gPSAiIjsKKyAgICBpZiAoQGl2YXJzID4g
MCkgeworICAgICAgICBteSBAaXZhcnNJbml0U2lnID0gKCk7CisgICAgICAgIG15IEBpdmFyc0lu
aXRDYWxsID0gKCk7CisgICAgICAgIGZvcmVhY2ggJGF0dHJpYnV0ZSAoQGl2YXJzKSB7CisgICAg
ICAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZTsKKyAgICAgICAg
ICAgIG15ICRtZW1iZXJOYW1lID0gIm1fIiAuICRuYW1lOworICAgICAgICAgICAgbXkgJHZhck5h
bWUgPSAiaW4iIC4gJG5hbWU7CisgICAgICAgICAgICBteSAkdHlwZSA9IEdldE9iakNUeXBlKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSk7CisgICAgICAgICAgICBwdXNoKEBpdmFyc0luaXRT
aWcsICIkbmFtZTooJHR5cGUpJHZhck5hbWUiKTsKKyAgICAgICAgICAgIHB1c2goQGl2YXJzSW5p
dENhbGwsICIkbmFtZTokdmFyTmFtZSIpOworICAgICAgICAgICAgcHVzaChAaXZhcnNUb1JldGFp
biwgIiAgICAkbWVtYmVyTmFtZSA9IFskdmFyTmFtZSByZXRhaW5dO1xuIik7CisgICAgICAgIH0K
KyAgICAgICAgJGl2YXJzVG9Jbml0ID0gIiAiIC4gam9pbigiICIsIEBpdmFyc0luaXRDYWxsKTsK
KyAgICAgICAgJHR5cGVNYWtlclNpZ0FkZGl0aW9uID0gIiAiIC4gam9pbigiICIsIEBpdmFyc0lu
aXRTaWcpOworICAgIH0KKworICAgICMgLSBUeXBlLU1ha2VyCisgICAgbXkgJHR5cGVNYWtlck5h
bWUgPSBHZXRPYmpDVHlwZU1ha2VyKCRpbnRlcmZhY2VOYW1lKTsKKyAgICBteSAkdHlwZU1ha2Vy
U2lnID0gIisgKCRjbGFzc05hbWUgKikkdHlwZU1ha2VyTmFtZTooJGltcGxDbGFzc05hbWVXaXRo
TmFtZXNwYWNlICopaW1wbCIgLiAkdHlwZU1ha2VyU2lnQWRkaXRpb247CisKKyAgICAjIEdlbmVy
YXRlIGludGVyZmFjZSBkZWZpbml0aW9ucy4gCisgICAgQGludGVuYWxIZWFkZXJDb250ZW50ID0g
c3BsaXQoIlxyIiwgJGltcGxlbWVudGF0aW9uTGljZW5jZVRlbXBsYXRlKTsKKyAgICBwdXNoKEBp
bnRlbmFsSGVhZGVyQ29udGVudCwgIlxuI2ltcG9ydCBcIiRjbGFzc05hbWUuaFwiXG4iKTsKKyAg
ICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCRpbnRlcmZhY2VOYW1lKSkg
eworICAgICAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgIiNpbXBvcnQgXCJTVkdBbmlt
YXRlZFRlbXBsYXRlLmhcIlxuXG4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwdXNoKEBpbnRl
bmFsSGVhZGVyQ29udGVudCwgIlxubmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyAkaW1wbENsYXNz
TmFtZTsgfVxuXG4iKTsKKyAgICB9CisgICAgcHVzaChAaW50ZW5hbEhlYWRlckNvbnRlbnQsICJc
QGludGVyZmFjZSAkY2xhc3NOYW1lIChXZWJDb3JlSW50ZXJuYWwpXG4iKTsKKyAgICBwdXNoKEBp
bnRlbmFsSGVhZGVyQ29udGVudCwgJHR5cGVHZXR0ZXJTaWcgLiAiO1xuIik7CisgICAgcHVzaChA
aW50ZW5hbEhlYWRlckNvbnRlbnQsICR0eXBlTWFrZXJTaWcgLiAiO1xuIik7CisgICAgcHVzaChA
aW50ZW5hbEhlYWRlckNvbnRlbnQsICJcQGVuZFxuIik7CisKKyAgICB1bmxlc3MgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57T2JqQ0N1c3RvbUludGVybmFsSW1wbH0pIHsKICAgICAg
ICAgIyAtIEJFR0lOIFdlYkNvcmVJbnRlcm5hbCBjYXRlZ29yeSBAaW1wbGVtZW50YXRpb24KICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcblxAaW1wbGVtZW50YXRpb24gJGNsYXNzTmFtZSAo
V2ViQ29yZUludGVybmFsKVxuXG4iKTsKIAotICAgICAgICAjIC0gVHlwZS1HZXR0ZXIKLSAgICAg
ICAgIyAtIChXZWJDb3JlOjpGb29CYXIgKilfZm9vQmFyIGZvciBpbXBsZW1lbnRhdGlvbiBjbGFz
cyBGb29CYXIKLSAgICAgICAgbXkgJHR5cGVHZXR0ZXJOYW1lID0gR2V0T2JqQ1R5cGVHZXR0ZXJO
YW1lKCRpbnRlcmZhY2VOYW1lKTsKLSAgICAgICAgbXkgJHR5cGVHZXR0ZXJTaWcgPSAiLSAoJGlt
cGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlICopJHR5cGVHZXR0ZXJOYW1lIjsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIkdHlwZUdldHRlclNpZ1xuIik7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAie1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBJ
TVBMO1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKIAotICAgICAg
ICBteSBAaXZhcnNUb1JldGFpbiA9ICgpOwotICAgICAgICBteSAkaXZhcnNUb0luaXQgPSAiIjsK
LSAgICAgICAgbXkgJHR5cGVNYWtlclNpZ0FkZGl0aW9uID0gIiI7Ci0gICAgICAgIGlmIChAaXZh
cnMgPiAwKSB7Ci0gICAgICAgICAgICBteSBAaXZhcnNJbml0U2lnID0gKCk7Ci0gICAgICAgICAg
ICBteSBAaXZhcnNJbml0Q2FsbCA9ICgpOwotICAgICAgICAgICAgZm9yZWFjaCAkYXR0cmlidXRl
IChAaXZhcnMpIHsKLSAgICAgICAgICAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+bmFtZTsKLSAgICAgICAgICAgICAgICBteSAkbWVtYmVyTmFtZSA9ICJtXyIgLiAkbmFt
ZTsKLSAgICAgICAgICAgICAgICBteSAkdmFyTmFtZSA9ICJpbiIgLiAkbmFtZTsKLSAgICAgICAg
ICAgICAgICBteSAkdHlwZSA9IEdldE9iakNUeXBlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlw
ZSk7Ci0gICAgICAgICAgICAgICAgcHVzaChAaXZhcnNJbml0U2lnLCAiJG5hbWU6KCR0eXBlKSR2
YXJOYW1lIik7Ci0gICAgICAgICAgICAgICAgcHVzaChAaXZhcnNJbml0Q2FsbCwgIiRuYW1lOiR2
YXJOYW1lIik7Ci0gICAgICAgICAgICAgICAgcHVzaChAaXZhcnNUb1JldGFpbiwgIiAgICAkbWVt
YmVyTmFtZSA9IFskdmFyTmFtZSByZXRhaW5dO1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAkaXZhcnNUb0luaXQgPSAiICIgLiBqb2luKCIgIiwgQGl2YXJzSW5pdENhbGwpOwotICAg
ICAgICAgICAgJHR5cGVNYWtlclNpZ0FkZGl0aW9uID0gIiAiIC4gam9pbigiICIsIEBpdmFyc0lu
aXRTaWcpOwotICAgICAgICB9Ci0KLSAgICAgICAgIyAtIFR5cGUtTWFrZXIKLSAgICAgICAgbXkg
JHR5cGVNYWtlck5hbWUgPSBHZXRPYmpDVHlwZU1ha2VyKCRpbnRlcmZhY2VOYW1lKTsKLSAgICAg
ICAgbXkgJHR5cGVNYWtlclNpZyA9ICIrICgkY2xhc3NOYW1lICopJHR5cGVNYWtlck5hbWU6KCRp
bXBsQ2xhc3NOYW1lV2l0aE5hbWVzcGFjZSAqKWltcGwiIC4gJHR5cGVNYWtlclNpZ0FkZGl0aW9u
OwotCiAgICAgICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiT2JqZWN0IikgeyAgICAg
ICAgCiAgICAgICAgICAgICAjIC0gKGlkKV9pbml0V2l0aEZvb0JhcjooV2ViQ29yZTo6Rm9vQmFy
ICopaW1wbCBmb3IgaW1wbGVtZW50YXRpb24gY2xhc3MgRm9vQmFyCiAgICAgICAgICAgICBteSAk
aW5pdFdpdGhJbXBsTmFtZSA9ICJfaW5pdFdpdGgiIC4gJGltcGxDbGFzc05hbWU7CkBAIC0xMjgw
LDE5ICsxMzA2LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICAgICAjIEVO
RCBXZWJDb3JlSW50ZXJuYWwgY2F0ZWdvcnkKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJc
QGVuZFxuIik7Ci0KLSAgICAgICAgIyBHZW5lcmF0ZSBpbnRlcmZhY2UgZGVmaW5pdGlvbnMuIAot
ICAgICAgICBAaW50ZW5hbEhlYWRlckNvbnRlbnQgPSBzcGxpdCgiXHIiLCAkaW1wbGVtZW50YXRp
b25MaWNlbmNlVGVtcGxhdGUpOwotICAgICAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwg
IlxuI2ltcG9ydCBcIiRjbGFzc05hbWUuaFwiXG4iKTsKLSAgICAgICAgaWYgKCRjb2RlR2VuZXJh
dG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkaW50ZXJmYWNlTmFtZSkpIHsKLSAgICAgICAgICAgIHB1
c2goQGludGVuYWxIZWFkZXJDb250ZW50LCAiI2ltcG9ydCBcIlNWR0FuaW1hdGVkVGVtcGxhdGUu
aFwiXG5cbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHVzaChAaW50ZW5hbEhl
YWRlckNvbnRlbnQsICJcbm5hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgJGltcGxDbGFzc05hbWU7
IH1cblxuIik7Ci0gICAgICAgIH0KLSAgICAgICAgcHVzaChAaW50ZW5hbEhlYWRlckNvbnRlbnQs
ICJcQGludGVyZmFjZSAkY2xhc3NOYW1lIChXZWJDb3JlSW50ZXJuYWwpXG4iKTsKLSAgICAgICAg
cHVzaChAaW50ZW5hbEhlYWRlckNvbnRlbnQsICR0eXBlR2V0dGVyU2lnIC4gIjtcbiIpOwotICAg
ICAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgJHR5cGVNYWtlclNpZyAuICI7XG4iKTsK
LSAgICAgICAgcHVzaChAaW50ZW5hbEhlYWRlckNvbnRlbnQsICJcQGVuZFxuIik7CiAgICAgfQog
CiAgICAgIyAtIEVuZCB0aGUgaWZkZWYgY29uZGl0aW9uYWwgaWYgbmVjZXNzYXJ5CkluZGV4OiBX
ZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NSdWxl
LmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRyb2R1
Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9N
Q1NTUnVsZSwgR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2JqQ05vSW50ZXJuYWxdIENTU1J1bGUgewor
ICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NQ1NTUnVsZSwgR2VuZXJhdGVDb25z
dHJ1Y3RvciwgT2JqQ0N1c3RvbUludGVybmFsSW1wbF0gQ1NTUnVsZSB7CiAKICAgICAgICAgLy8g
UnVsZVR5cGUKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVU5LTk9XTl9SVUxFID0gMDsK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ZhbHVlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5pZGwJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBjc3MgewogCi0g
ICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01DU1NWYWx1ZSwgR2VuZXJhdGVDb25z
dHJ1Y3RvciwgT2JqQ05vSW50ZXJuYWxdIENTU1ZhbHVlIHsKKyAgICBpbnRlcmZhY2UgW0xlZ2Fj
eVBhcmVudD1LSlM6OkRPTUNTU1ZhbHVlLCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBPYmpDQ3VzdG9t
SW50ZXJuYWxJbXBsXSBDU1NWYWx1ZSB7CiAKICAgICAgICAgLy8gVW5pdFR5cGVzCiAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19JTkhFUklUICAgICAgICAgPSAwOwpJbmRleDogV2Vi
Q29yZS9jc3MvU3R5bGVTaGVldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVT
aGVldC5pZGwJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1vZHVsZSBzdHlsZXNoZWV0cyB7CiAK
ICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbT2JqQ05v
SW50ZXJuYWxdIFN0eWxlU2hlZXQgeworICAgIGludGVyZmFjZSBbT2JqQ0N1c3RvbUludGVybmFs
SW1wbF0gU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgIHR5cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAg
IGRpc2FibGVkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAgICAgICAgICBv
d25lck5vZGU7CkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRXZlbnQuY3BwCShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUvZG9tL0V2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiwxNCBAQCBib29sIEV2ZW50Ojppc092
ZXJmbG93RXZlbnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorI2lmZGVmIFNWR19T
VVBQT1JUCitib29sIEV2ZW50Ojppc1NWR1pvb21FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorI2VuZGlmCisKKwogYm9vbCBFdmVudDo6c3RvcmVzUmVzdWx0QXNTdHJpbmco
KSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuaAkocmV2aXNpb24gMTY5NzcpCisrKyBX
ZWJDb3JlL2RvbS9FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzV2hlZWxFdmVudCgpIGNvbnN0
OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpIGNvbnN0
OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNPdmVyZmxvd0V2ZW50KCkgY29uc3Q7CisjaWZkZWYg
U1ZHX1NVUFBPUlQKKyAgICAgICAgdmlydHVhbCBib29sIGlzU1ZHWm9vbUV2ZW50KCkgY29uc3Q7
CisjZW5kaWYKICAgICAgICAgCiAgICAgICAgIGJvb2wgcHJvcGFnYXRpb25TdG9wcGVkKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wYWdhdGlvblN0b3BwZWQ7IH0KICAgICAgICAgYm9vbCBkZWZhdWx0
UHJldmVudGVkKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0UHJldmVudGVkOyB9CkluZGV4OiBX
ZWJDb3JlL2RvbS9FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuaWRs
CShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBJbnRyb2R1Y2Vk
IGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NRXZl
bnQsIEdlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNOb0ludGVybmFsXSBFdmVudCB7CisgICAgaW50
ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01FdmVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvciwg
T2JqQ0N1c3RvbUludGVybmFsSW1wbF0gRXZlbnQgewogCiAgICAgICAgIC8vIERPTSBQaGFzZVR5
cGUKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ0FQVFVSSU5HX1BIQVNFICAgICA9IDE7
CkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9O
b2RlLmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogCiBtb2R1bGUgY29yZSB7CiAKLSAgICBpbnRlcmZh
Y2UgW0xlZ2FjeVBhcmVudD1LSlM6OkRPTU5vZGUsIEdlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNO
b0ludGVybmFsXSBOb2RlIHsgICAgICAgIAorICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtK
Uzo6RE9NTm9kZSwgR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2JqQ0N1c3RvbUludGVybmFsSW1wbF0g
Tm9kZSB7ICAgICAgICAKICAgICAgICAgLy8gTm9kZVR5cGUKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgICAgICBFTEVNRU5UX05PREUgICAgICAgICAgICAgICAgICAgPSAxOwogICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCAgICAgIEFUVFJJQlVURV9OT0RFICAgICAgICAgICAgICAg
ICA9IDI7CkluZGV4OiBXZWJDb3JlL2tzdmcyL2V2ZW50cy9TVkdab29tRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvZXZlbnRzL1NWR1pvb21FdmVudC5jcHAJKHJldmlzaW9u
IDE2OTc3KQorKysgV2ViQ29yZS9rc3ZnMi9ldmVudHMvU1ZHWm9vbUV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1
IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgotICAgICAgICAgICAgICAgICAg
MjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNiBT
YW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKIAogICAgIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC0yNCw3ICsyNSw3IEBACiAjaWZkZWYgU1ZHX1NV
UFBPUlQKICNpbmNsdWRlICJTVkdab29tRXZlbnQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KCkK
ICAgICA6IG1fbmV3U2NhbGUoMC4wKQpAQCAtNzEsNiArNzIsMTMgQEAgRmxvYXRQb2ludCBTVkda
b29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSgpIAogICAgIHJldHVybiBtX25ld1RyYW5zbGF0ZTsKIH0K
IAotLy8gdmltOnRzPTQ6bm9ldAorYm9vbCBTVkdab29tRXZlbnQ6OmlzU1ZHWm9vbUV2ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKIAorLy8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29y
ZS9rc3ZnMi9ldmVudHMvU1ZHWm9vbUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9ldmVudHMvU1ZHWm9vbUV2ZW50LmgJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9rc3Zn
Mi9ldmVudHMvU1ZHWm9vbUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiAv
KgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRm
b3hAa2RlLm9yZz4KLSAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2Rl
Lm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtLndlaW5pZ0Bn
bWFpbC5jb20pCiAgICAgICAgICAgICAgICAgICAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0
aGUgS0RFIHByb2plY3QKIApAQCAtNDcsNiArNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgRmxvYXRQb2ludCBuZXdUcmFuc2xhdGUoKSBjb25zdDsKIAorICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNTVkdab29tRXZlbnQoKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAg
IGZsb2F0IG1fbmV3U2NhbGU7CiAgICAgICAgIGZsb2F0IG1fcHJldmlvdXNTY2FsZTsKSW5kZXg6
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaWRsCShyZXZpc2lvbiAxNjk3NykKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yMyw3ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi1tb2R1bGUgc3ZneworbW9k
dWxlIHN2ZyB7CiAKICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHQW5pbWF0ZWRB
bmdsZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmdsZSBiYXNlVmFsOwpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5pZGwJKHJldmlzaW9uIDE2OTc3KQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
PHNhbS53ZWluaWdAZ21haWwuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0yNSwxMiArMjYsMTIgQEAKIAogbW9kdWxl
IHN2ZyB7CiAKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHQ2lyY2xlRWxlbWVu
dCA6IFNWR0VsZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAsIFNWR1Rlc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLCBTVkdMYW5nU3BhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIFNWR1N0eWxhYmxl
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBTVkdU
cmFuc2Zvcm1hYmxlIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHQ2lyY2xl
RWxlbWVudCA6IFNWR0VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTVkdUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNWR0xhbmdTcGFjZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VkdTdHlsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNWR1RyYW5zZm9ybWFibGUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZWRMZW5ndGggY3g7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRl
ZExlbmd0aCBjeTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTGVuZ3Ro
IHI7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5pZGwJKHJldmlz
aW9uIDE2OTc3KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
U2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI1LDEzICsyNiwx
MyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHXSBT
VkdDbGlwUGF0aEVsZW1lbnQgOiBTVkdFbGVtZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAsIFNWR1Rlc3RzCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIFNWR0xhbmdTcGFjZQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAsIFNWR1N0eWxhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAsIFNWR1RyYW5zZm9ybWFibGUKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiwgU1ZHVW5pdFR5cGVzKi8geyAKKyAg
ICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHQ2xpcFBhdGhFbGVtZW50IDogU1ZHRWxl
bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU1ZHVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNWR0xhbmdTcGFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHU3R5bGFi
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNWR1RyYW5zZm9ybWFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogU1ZHVW5pdFR5cGVzICovIHsgCiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIGNsaXBQYXRoVW5pdHM7CiAgICAgfTsKIApJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53
ZWluaWdAZ21haWwuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0yMywzOSArMjQsODkgQEAKICAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAogICovCiAKLW1vZHVsZSBzdmcKLXsKLSAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNW
R1BhdGhFbGVtZW50IDogCi0gICAgICAgICAgICAgICAgU1ZHRWxlbWVudCwKLSAgICAgICAgICAg
ICAgICBTVkdUZXN0cywKLSAgICAgICAgICAgICAgICBTVkdMYW5nU3BhY2UsCi0gICAgICAgICAg
ICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKLSAgICAgICAgICAgICAgICBTVkdT
dHlsYWJsZSwKLSAgICAgICAgICAgICAgICBTVkdUcmFuc2Zvcm1hYmxlLAotICAgICAgICAgICAg
ICAgIFNWR0FuaW1hdGVkUGF0aERhdGEgeyAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWROdW1iZXIgcGF0aExlbmd0aDsKLSAgICBmbG9hdCAgICAgICAgIGdldFRvdGFsTGVuZ3Ro
ICggICk7Ci0gICAgU1ZHUG9pbnQgICAgICBnZXRQb2ludEF0TGVuZ3RoICggaW4gZmxvYXQgZGlz
dGFuY2UgKTsKLSAgICB1bnNpZ25lZCBsb25nIGdldFBhdGhTZWdBdExlbmd0aCAoIGluIGZsb2F0
IGRpc3RhbmNlICk7Ci0gICAgU1ZHUGF0aFNlZ0Nsb3NlUGF0aCAgICBjcmVhdGVTVkdQYXRoU2Vn
Q2xvc2VQYXRoICggICk7Ci0gICAgU1ZHUGF0aFNlZ01vdmV0b0FicyAgICBjcmVhdGVTVkdQYXRo
U2VnTW92ZXRvQWJzICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSApOwotICAgIFNWR1BhdGhTZWdN
b3ZldG9SZWwgICAgY3JlYXRlU1ZHUGF0aFNlZ01vdmV0b1JlbCAoIGluIGZsb2F0IHgsIGluIGZs
b2F0IHkgKTsKLSAgICBTVkdQYXRoU2VnTGluZXRvQWJzICAgIGNyZWF0ZVNWR1BhdGhTZWdMaW5l
dG9BYnMgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5ICk7Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b1Jl
bCAgICBjcmVhdGVTVkdQYXRoU2VnTGluZXRvUmVsICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSAp
OwotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY0FicyAoIGluIGZsb2F0IHgsIGluIGZsb2F0IHksIGluIGZsb2F0IHgxLCBpbiBmbG9h
dCB5MSwgaW4gZmxvYXQgeDIsIGluIGZsb2F0IHkyICk7Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1JlbCAgICBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsICggaW4gZmxvYXQgeCwg
aW4gZmxvYXQgeSwgaW4gZmxvYXQgeDEsIGluIGZsb2F0IHkxLCBpbiBmbG9hdCB4MiwgaW4gZmxv
YXQgeTIgKTsKLSAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyAgICBjcmVhdGVTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyAoIGluIGZsb2F0IHgsIGluIGZsb2F0IHksIGluIGZs
b2F0IHgxLCBpbiBmbG9hdCB5MSApOwotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVs
ICAgIGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsICggaW4gZmxvYXQgeCwgaW4g
ZmxvYXQgeSwgaW4gZmxvYXQgeDEsIGluIGZsb2F0IHkxICk7Ci0gICAgU1ZHUGF0aFNlZ0FyY0Fi
cyAgICBjcmVhdGVTVkdQYXRoU2VnQXJjQWJzICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSwgaW4g
ZmxvYXQgcjEsIGluIGZsb2F0IHIyLCBpbiBmbG9hdCBhbmdsZSwgaW4gYm9vbGVhbiBsYXJnZUFy
Y0ZsYWcsIGluIGJvb2xlYW4gc3dlZXBGbGFnICk7Ci0gICAgU1ZHUGF0aFNlZ0FyY1JlbCAgICBj
cmVhdGVTVkdQYXRoU2VnQXJjUmVsICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSwgaW4gZmxvYXQg
cjEsIGluIGZsb2F0IHIyLCBpbiBmbG9hdCBhbmdsZSwgaW4gYm9vbGVhbiBsYXJnZUFyY0ZsYWcs
IGluIGJvb2xlYW4gc3dlZXBGbGFnICk7Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxB
YnMgICAgY3JlYXRlU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMgKCBpbiBmbG9hdCB4ICk7
Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwgICAgY3JlYXRlU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWxSZWwgKCBpbiBmbG9hdCB4ICk7Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsQWJzICAgIGNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicyAoIGluIGZsb2F0
IHkgKTsKLSAgICBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwgICAgY3JlYXRlU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsUmVsICggaW4gZmxvYXQgeSApOwotICAgIFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNTbW9vdGhBYnMgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyAo
IGluIGZsb2F0IHgsIGluIGZsb2F0IHksIGluIGZsb2F0IHgyLCBpbiBmbG9hdCB5MiApOwotICAg
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aFJlbCAoIGluIGZsb2F0IHgsIGluIGZsb2F0IHksIGluIGZsb2F0IHgyLCBp
biBmbG9hdCB5MiApOwotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzICAg
IGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzICggaW4gZmxvYXQgeCwg
aW4gZmxvYXQgeSApOwotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsICAg
IGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsICggaW4gZmxvYXQgeCwg
aW4gZmxvYXQgeSApOwotfTsKK21vZHVsZSBzdmcgewogCi19OworICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHXSBTVkdQYXRoRWxlbWVudCA6IFNWR0VsZW1lbnQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVGVzdHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHTGFuZ1NwYWNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU1ZHU3R5bGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU1ZHVHJhbnNmb3JtYWJsZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdBbmltYXRlZFBhdGhEYXRhIHsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIHBhdGhMZW5ndGg7CisKKyAg
ICAgICAgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKTsKKyAgICAgICAgU1ZHUG9pbnQgZ2V0UG9pbnRB
dExlbmd0aChpbiBmbG9hdCBkaXN0YW5jZSk7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2V0UGF0
aFNlZ0F0TGVuZ3RoKGluIGZsb2F0IGRpc3RhbmNlKTsKKworICAgICAgICBTVkdQYXRoU2VnQ2xv
c2VQYXRoIGNyZWF0ZVNWR1BhdGhTZWdDbG9zZVBhdGgoKTsKKworICAgICAgICBTVkdQYXRoU2Vn
TW92ZXRvQWJzIGNyZWF0ZVNWR1BhdGhTZWdNb3ZldG9BYnMoaW4gZmxvYXQgeCwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5
KTsKKyAgICAgICAgU1ZHUGF0aFNlZ01vdmV0b1JlbCBjcmVhdGVTVkdQYXRoU2VnTW92ZXRvUmVs
KGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gZmxvYXQgeSk7CisKKyAgICAgICAgU1ZHUGF0aFNlZ0xpbmV0b0FicyBj
cmVhdGVTVkdQYXRoU2VnTGluZXRvQWJzKGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeSk7CisgICAgICAg
IFNWR1BhdGhTZWdMaW5ldG9SZWwgY3JlYXRlU1ZHUGF0aFNlZ0xpbmV0b1JlbChpbiBmbG9hdCB4
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIGZsb2F0IHkpOworCisgICAgICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMgY3JlYXRl
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0FicyhpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0
IHksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gZmxvYXQgeDEsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeTEsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gZmxvYXQgeDIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeTIpOworICAgICAgICBTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljUmVsIGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwoaW4g
ZmxvYXQgeCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5LCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHgxLCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIGZsb2F0IHkxLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHgyLCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIGZsb2F0IHkyKTsKKworICAgICAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyBj
cmVhdGVTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyhpbiBmbG9hdCB4LCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gZmxvYXQgeSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHgxLCAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gZmxvYXQgeTEpOworICAgICAgICBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1JlbCBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbChpbiBmbG9hdCB4
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeSwgCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZs
b2F0IHgxLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeTEpOworCisgICAgICAgIFNWR1Bh
dGhTZWdBcmNBYnMgY3JlYXRlU1ZHUGF0aFNlZ0FyY0FicyhpbiBmbG9hdCB4LCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHksIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgcjEs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxv
YXQgcjIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gZmxvYXQgYW5nbGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gYm9vbGVhbiBsYXJnZUFyY0ZsYWcsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBzd2VlcEZsYWcpOworICAgICAg
ICBTVkdQYXRoU2VnQXJjUmVsIGNyZWF0ZVNWR1BhdGhTZWdBcmNSZWwoaW4gZmxvYXQgeCwgCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZs
b2F0IHIxLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIGZsb2F0IHIyLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIGZsb2F0IGFuZ2xlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gbGFyZ2VBcmNGbGFnLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gc3dlZXBGbGFnKTsK
KworICAgICAgICBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyBjcmVhdGVTVkdQYXRoU2Vn
TGluZXRvSG9yaXpvbnRhbEFicyhpbiBmbG9hdCB4KTsKKyAgICAgICAgU1ZHUGF0aFNlZ0xpbmV0
b0hvcml6b250YWxSZWwgY3JlYXRlU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwoaW4gZmxv
YXQgeCk7CisKKyAgICAgICAgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzIGNyZWF0ZVNWR1Bh
dGhTZWdMaW5ldG9WZXJ0aWNhbEFicyhpbiBmbG9hdCB5KTsKKyAgICAgICAgU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsUmVsIGNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbChpbiBmbG9h
dCB5KTsKKworICAgICAgICBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzIGNyZWF0ZVNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoaW4gZmxvYXQgeCwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBmbG9hdCB5LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHgyLCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHkyKTsKKyAgICAgICAgU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aFJlbCBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVs
KGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBmbG9hdCB4MiwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9h
dCB5Mik7CisKKyAgICAgICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMgY3Jl
YXRlU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMoaW4gZmxvYXQgeCwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHkpOworICAgICAgICBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbCBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1Ntb290aFJlbChpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
ZmxvYXQgeSk7CisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aFNl
Zy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aFNlZy5pZGwJKHJl
dmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aFNlZy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRlcmZh
Y2UgW0NvbmRpdGlvbmFsPVNWRywgR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2JqQ05vSW50ZXJuYWxd
IFNWR1BhdGhTZWcgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBHZW5lcmF0ZUNv
bnN0cnVjdG9yLCBPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsXSBTVkdQYXRoU2VnIHsKICAgICAgICAg
Ly8gUGF0aCBTZWdtZW50IFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBBVEhT
RUdfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFBBVEhTRUdfQ0xPU0VQQVRIICAgICAgICAgICAgICAgICAgICA9IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11027</attachid>
            <date>2006-10-10 18:25:07 -0700</date>
            <delta_ts>2006-10-10 19:55:37 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>autoMore2.diff</filename>
            <type>text/plain</type>
            <size>68880</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTkgQEAKKzIwMDYtMTAtMTAgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNDgKKyAg
ICAgICAgRXZlbiBNb3JlIGF1dG8tZ2VuZXJhdGVkIE9iamVjdGl2ZS1DIERPTSBiaW5kaW5ncyBj
aGFuZ2VzCisKKyAgICAgICAgLSBBdXRvLWdlbmVyYXRlIERPTVNWR1BhdGhFbGVtZW50LgorCisg
ICAgICAgIC0gQXV0by1nZW5lcmF0ZSB0aGUgaW50ZXJuYWwgaW50ZXJmYWNlcyBldmVuIGZvciBj
bGFzc2VzIHRoYXQgaGF2ZQorICAgICAgICAgIGN1c3RvbSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlv
bnMuICBDaGFuZ2UgSURMIHByb3BlcnR5IGZyb20gT2JqQ05vSW50ZXJuYWwKKyAgICAgICAgICB0
byBPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsIHRvIGluZGljYXRlIHRoZSBjaGFuZ2UuCisKKyAgICAg
ICAgLSBBZGQgU1ZHIGNsYXNzZXMgdG8gRE9NTm9kZSBhbmQgRE9NRXZlbnQgaW50ZXJuYWwgaW50
ZXJmYWNlcy4KKworICAgICAgICAtIEFkZCBpc1NWR1pvb21FdmVudCgpIG1ldGhvZCB0byBFdmVu
dCBjbGFzcyB0byBtYXRjaCBvdGhlciBFdmVudCBzdWJjbGFzc2VzCisgICAgICAgICAgYW5kIG1h
a2UgRE9NIGJpbmRpbmcgcG9zc2libGUuCisKKyAgICAgICAgLSBBc3NvcnRlZCBjbGVhbnVwcy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6YWRkRWxlbWVudENsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZUVsZW1lbnRDbGFzc01hcCk6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50Q2xhc3MpOgor
ICAgICAgICAoLVtET01Ob2RlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgrW0RPTU5vZGUgX25v
ZGVXaXRoOldlYkNvcmU6Ol0pOgorICAgICAgICAoLVtET01Ob2RlIGFkZEV2ZW50TGlzdGVuZXI6
bGlzdGVuZXI6dXNlQ2FwdHVyZTpdKToKKyAgICAgICAgKC1bRE9NTm9kZSByZW1vdmVFdmVudExp
c3RlbmVyOmxpc3RlbmVyOnVzZUNhcHR1cmU6XSk6CisgICAgICAgICgtW0RPTUVsZW1lbnQgX05Q
T2JqZWN0XSk6CisgICAgICAgIChXZWJDb3JlOjpPYmpDRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZl
bnQpOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tOgorICAgICAgICAoK1tE
T01FdmVudCBfZXZlbnRXaXRoOldlYkNvcmU6Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMv
RE9NSW50ZXJuYWwuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLm1tOgor
ICAgICAgICAoLVtET01SR0JDb2xvciBXZWJDb3JlOjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9v
YmpjL0RPTVNWR1BhdGhTZWdJbnRlcm5hbC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgICogY3NzL0NTU1J1bGUuaWRs
OgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5pZGw6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXQu
aWRsOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6
aXNTVkdab29tRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9F
dmVudC5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAqIGtzdmcyL2V2ZW50
cy9TVkdab29tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUV2ZW50Ojppc1NW
R1pvb21FdmVudCk6CisgICAgICAgICoga3N2ZzIvZXZlbnRzL1NWR1pvb21FdmVudC5oOgorICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmlkbDoKKyAgICAgICAgKiBrc3ZnMi9z
dmcvU1ZHQ2lyY2xlRWxlbWVudC5pZGw6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0NsaXBQYXRo
RWxlbWVudC5pZGw6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aFNlZy5pZGw6CisKIDIwMDYtMTAtMTAgIEFkYW0gUm9i
ZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlLgpJbmRl
eDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgVlBBVEggPSBcCiBpZmVx
ICgkKE9TKSxNQUNPUykKIGFsbCA6IFwKICAgICBET01BYnN0cmFjdFZpZXcuaCBcCisgICAgRE9N
U1ZHUGF0aEVsZW1lbnQuaCBcCiAgICAgRE9NQXR0ci5oIFwKICAgICBET01DREFUQVNlY3Rpb24u
aCBcCiAgICAgRE9NQ1NTQ2hhcnNldFJ1bGUuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODg0LDYgKzg4
NCwxNSBAQAogCQk4NUFGNUM1NzBBQ0REMUI2MDA1MjY5REUgLyogRE9NU1ZHVVJJUmVmZXJlbmNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUFGNUM1
NjBBQ0REMUI2MDA1MjY5REUgLyogRE9NU1ZHVVJJUmVmZXJlbmNlLmggKi87IH07CiAJCTg1QUZB
ODIyMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVBRkE4MjAwQUFGNTI4QTAwRTg0MzA1IC8qIERPTUV2
ZW50LmggKi87IH07CiAJCTg1QUZBODIzMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QUZBODIxMEFB
RjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5tbSAqLzsgfTsKKwkJODVCNDk4RUQwQURCMzJGQjAw
OTI1Q0JCIC8qIERPTUNTU1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVCNDk4RUMwQURCMzJGQjAwOTI1Q0JCIC8qIERPTUNTU1J1
bGVJbnRlcm5hbC5oICovOyB9OworCQk4NUI0OThGMzBBREIzMzZBMDA5MjVDQkIgLyogRE9NQ1NT
VmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVCNDk4RjIwQURCMzM2QTAwOTI1Q0JCIC8qIERPTUNTU1ZhbHVlSW50ZXJuYWwuaCAq
LzsgfTsKKwkJODVCNDk4RjUwQURCMzM3QTAwOTI1Q0JCIC8qIERPTUV2ZW50SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QjQ5OEY0MEFE
QjMzN0EwMDkyNUNCQiAvKiBET01FdmVudEludGVybmFsLmggKi87IH07CisJCTg1QjQ5OEZCMEFE
QjM0MDIwMDkyNUNCQiAvKiBET01Ob2RlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QjQ5OEZBMEFEQjM0MDIwMDkyNUNCQiAvKiBET01O
b2RlSW50ZXJuYWwuaCAqLzsgfTsKKwkJODVCNDk4RkYwQURCMzQ4MTAwOTI1Q0JCIC8qIERPTVN0
eWxlU2hlZXRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVCNDk4RkUwQURCMzQ4MTAwOTI1Q0JCIC8qIERPTVN0eWxlU2hlZXRJbnRlcm5h
bC5oICovOyB9OworCQk4NUI0OTkwMTBBREIzNEIzMDA5MjVDQkIgLyogRE9NU1ZHUGF0aFNlZ0lu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUI0OTkwMDBBREIzNEIzMDA5MjVDQkIgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFsLmggKi87IH07
CisJCTg1QjQ5OTZCMEFEQjNGRjUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVCNDk5NjkwQURCM0ZG
NTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50LmggKi87IH07CisJCTg1QjQ5OTZDMEFEQjNG
RjUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QjQ5OTZBMEFEQjNGRjUwMDkyNUNCQiAvKiBET01T
VkdQYXRoRWxlbWVudC5tbSAqLzsgfTsKKwkJODVCNDk5NzgwQURCNDI1RTAwOTI1Q0JCIC8qIERP
TVNWR1BhdGhFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1QjQ5OTc3MEFEQjQyNUUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxl
bWVudEludGVybmFsLmggKi87IH07CiAJCTg1QkE0Q0REMEFBNjg2MUIwMDg4MDUyRCAvKiBET01I
VE1MQnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVCQTRDRDUwQUE2ODYxQjAwODgwNTJEIC8qIERPTUhUTUxCdXR0b25FbGVtZW50
LmggKi87IH07CiAJCTg1QkE0Q0RFMEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxl
bWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
QkE0Q0Q2MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxlbWVudC5tbSAqLzsgfTsK
IAkJODVCQTRDREYwQUE2ODYxQjAwODgwNTJEIC8qIERPTUhUTUxGaWVsZFNldEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QkE0Q0Q3MEFB
Njg2MUIwMDg4MDUyRCAvKiBET01IVE1MRmllbGRTZXRFbGVtZW50LmggKi87IH07CkBAIC0xMDI5
LDcgKzEwMzgsNiBAQAogCQk4NUNFMUE5QzBBREFDNzA4MDAzQkJERUEgLyogRE9NU1ZHU1ZHRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVD
RTFBOUEwQURBQzcwODAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnQuaCAqLzsgfTsKIAkJODVD
RTFBOUQwQURBQzcwODAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnQubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUNFMUE5QjBBREFDNzA4MDAzQkJE
RUEgLyogRE9NU1ZHU1ZHRWxlbWVudC5tbSAqLzsgfTsKIAkJODVDRTFBQTEwQURBQzc1MjAwM0JC
REVBIC8qIERPTVNWR1NWR0VsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDRTFBQTAwQURBQzc1MjAwM0JCREVBIC8qIERPTVNW
R1NWR0VsZW1lbnRJbnRlcm5hbC5oICovOyB9OwotCQk4NUNFMUFGMzBBREFENDQwMDAzQkJERUEg
LyogRE9NU1ZHUGF0aFNlZ0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUNFMUFGMjBBREFENDQwMDAzQkJERUEgLyogRE9NU1ZHUGF0aFNl
Z0ludGVybmFsLmggKi87IH07CiAJCTg1Q0UxQjAyMEFEQURBOTYwMDNCQkRFQSAvKiBET01TVkdQ
YXRoU2VnSW50ZXJuYWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NUNFMUIwMTBBREFEQTk2MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFs
Lm1tICovOyB9OwogCQk4NUQyQUQ2ODBBQjFBNDBBMDBDMzEzRUEgLyogRE9NRXZlbnRMaXN0ZW5l
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVEMkFE
NjcwQUIxQTQwQTAwQzMxM0VBIC8qIERPTUV2ZW50TGlzdGVuZXIuaCAqLzsgfTsKIAkJODVEMkFE
NkQwQUIxQTQ4MjAwQzMxM0VBIC8qIERPTUV2ZW50TGlzdGVuZXIuaCBpbiBDb3B5RmlsZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVEMkFENjcwQUIxQTQwQTAwQzMxM0VB
IC8qIERPTUV2ZW50TGlzdGVuZXIuaCAqLzsgfTsKQEAgLTM3NjQsNiArMzc3MiwxNSBAQAogCQk4
NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZlbnRUYXJnZXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBFdmVudFRhcmdldC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1QUZBODIwMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODVBRkE4MjEwQUFGNTI4QTAwRTg0MzA1IC8qIERPTUV2ZW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NUI0OThFQzBBREIzMkZCMDA5MjVDQkIgLyogRE9NQ1NTUnVsZUludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NSdWxlSW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVCNDk4RjIwQURCMzM2QTAwOTI1
Q0JCIC8qIERPTUNTU1ZhbHVlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTUNTU1ZhbHVlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODVCNDk4RjQwQURCMzM3QTAwOTI1Q0JCIC8qIERPTUV2ZW50SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVCNDk4RkEwQURCMzQwMjAwOTI1Q0JCIC8qIERPTU5vZGVJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZUludGVy
bmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QjQ5OEZFMEFEQjM0ODEwMDky
NUNCQiAvKiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVN0eWxlU2hlZXRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NUI0OTkwMDBBREIzNEIzMDA5MjVDQkIgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdQYXRoU2VnSW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVCNDk5NjkwQURCM0ZGNTAwOTI1
Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01TVkdQYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
NUI0OTk2QTBBREIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHUGF0aEVsZW1lbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1QjQ5OTc3MEFEQjQyNUUwMDkyNUNCQiAvKiBE
T01TVkdQYXRoRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01TVkdQYXRoRWxlbWVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg1QkE0Q0Q1MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEJ1dHRvbkVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVCQTRDRDYwQUE2ODYxQjAwODgwNTJE
IC8qIERPTUhUTUxCdXR0b25FbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTUhUTUxCdXR0b25FbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NUJBNENENzBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEZpZWxkU2V0RWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEZpZWxkU2V0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzkwMyw3ICszOTIwLDYg
QEAKIAkJODVDRTFBOUEwQURBQzcwODAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR1NWR0VsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDRTFBOUIwQURBQzcwODAwM0JCREVBIC8qIERPTVNW
R1NWR0VsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
RE9NU1ZHU1ZHRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDRTFB
QTAwQURBQzc1MjAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHU1ZHRWxlbWVudEludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1Q0UxQUYyMEFEQUQ0NDAwMDNCQkRFQSAvKiBE
T01TVkdQYXRoU2VnSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NU1ZHUGF0aFNlZ0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1
Q0UxQjAxMEFEQURBOTYwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnSW50ZXJuYWwubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdQYXRoU2VnSW50ZXJuYWwu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RDJBRDY3MEFCMUE0MEEwMEMzMTNF
QSAvKiBET01FdmVudExpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01FdmVudExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RDM4
OUIwMEE5OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01BdHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NDcy
LDcgKzY0ODgsNiBAQAogCQkJCTg1MTYyMEVFMEFEMkZEODgwMDU5QTdERSAvKiBET01TVkdOdW1i
ZXIubW0gKi8sCiAJCQkJODUxNjIwRjAwQUQyRkQ4ODAwNTlBN0RFIC8qIERPTVNWR1BvaW50Lm1t
ICovLAogCQkJCTg1MTYyMEYyMEFEMkZEODkwMDU5QTdERSAvKiBET01TVkdSZWN0Lm1tICovLAot
CQkJCTg1Q0UxQUYyMEFEQUQ0NDAwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnSW50ZXJuYWwuaCAq
LywKIAkJCQk4NUNFMUIwMTBBREFEQTk2MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVybmFs
Lm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBTVkc7CkBAIC02NzM2LDYgKzY3NTEsOCBAQAogCQkJ
CTg1QzIzOTgwMEFENTkwN0QwMDM1MzNFNyAvKiBET01TVkdOdW1iZXJMaXN0Lm1tICovLAogCQkJ
CTg1QzlBMzAzMEFEN0U5NDIwMEZCRkYxRSAvKiBET01TVkdQYWludC5oICovLAogCQkJCTg1QzlB
MzA0MEFEN0U5NDIwMEZCRkYxRSAvKiBET01TVkdQYWludC5tbSAqLywKKwkJCQk4NUI0OTk2OTBB
REIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQuaCAqLywKKwkJCQk4NUI0OTk2QTBB
REIzRkY1MDA5MjVDQkIgLyogRE9NU1ZHUGF0aEVsZW1lbnQubW0gKi8sCiAJCQkJODU0MTYzNjEw
QUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1BhdGhTZWcuaCAqLywKIAkJCQk4NTQxNjM2MDBBQzcx
ODBCMDAwMUUwMUIgLyogRE9NU1ZHUGF0aFNlZy5tbSAqLywKIAkJCQk4NTAxMjA0RDBBREFCQzky
MDAyNjcxMjUgLyogRE9NU1ZHUGF0aFNlZ0FyY0Ficy5oICovLApAQCAtNzA0MSwxMSArNzA1OCwx
MyBAQAogCQkJCTg1OTA5Q0Q2MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NNZWRpYVJ1bGVJbnRl
cm5hbC5oICovLAogCQkJCTg1OTA5Q0Q3MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NQYWdlUnVs
ZUludGVybmFsLmggKi8sCiAJCQkJODU5MDlEMjYwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1By
aW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCAqLywKKwkJCQk4NUI0OThFQzBBREIzMkZCMDA5MjVDQkIg
LyogRE9NQ1NTUnVsZUludGVybmFsLmggKi8sCiAJCQkJODVFNzExNDMwQUM1RDUzNDAwNTMyNzBG
IC8qIERPTUNTU1J1bGVMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE0NDBBQzVENTM0MDA1
MzI3MEYgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmggKi8sCiAJCQkJODU5MDlD
RDkwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8sCiAJCQkJ
ODU5MDlDREEwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oICov
LAogCQkJCTg1OTA5Q0RCMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVy
bmFsLmggKi8sCisJCQkJODVCNDk4RjIwQURCMzM2QTAwOTI1Q0JCIC8qIERPTUNTU1ZhbHVlSW50
ZXJuYWwuaCAqLywKIAkJCQk4NTkwOUQyODBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFsdWVM
aXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE0NTBBQzVENTM0MDA1MzI3MEYgLyogRE9NRG9j
dW1lbnRGcmFnbWVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNDYwQUM1RDUzNDAwNTMyNzBG
IC8qIERPTURvY3VtZW50SW50ZXJuYWwuaCAqLywKQEAgLTcwNTQsNiArNzA3Myw3IEBACiAJCQkJ
ODVFNzExNDkwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJ
CTg1RTcxMTRBMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01FbnRpdHlJbnRlcm5hbC5oICovLAogCQkJ
CTg1RTcxMTRCMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01FbnRpdHlSZWZlcmVuY2VJbnRlcm5hbC5o
ICovLAorCQkJCTg1QjQ5OEY0MEFEQjMzN0EwMDkyNUNCQiAvKiBET01FdmVudEludGVybmFsLmgg
Ki8sCiAJCQkJODVFNzExNEMwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUhUTUxBbmNob3JFbGVtZW50
SW50ZXJuYWwuaCAqLywKIAkJCQk4NTUyNDdDRDBBRDg1MEI4MDAxMjA5M0IgLyogRE9NSFRNTEFw
cGxldEVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTREMEFDNUQ1MzQwMDUzMjcwRiAv
KiBET01IVE1MQXJlYUVsZW1lbnRJbnRlcm5hbC5oICovLApAQCAtNzExNSw2ICs3MTM1LDcgQEAK
IAkJCQk4NTk4OURDNjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFsLmgg
Ki8sCiAJCQkJODU5ODlEQzcwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU11dGF0aW9uRXZlbnRJbnRl
cm5hbC5oICovLAogCQkJCTg1RTcxMTgzMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01OYW1lZE5vZGVN
YXBJbnRlcm5hbC5oICovLAorCQkJCTg1QjQ5OEZBMEFEQjM0MDIwMDkyNUNCQiAvKiBET01Ob2Rl
SW50ZXJuYWwuaCAqLywKIAkJCQk4NTBCNDFDMDBBRDlFN0U3MDBBNkVENEYgLyogRE9NTm9kZUl0
ZXJhdG9ySW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4NDBBQzVENTM1MDA1MzI3MEYgLyogRE9N
Tm9kZUxpc3RJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTg1MEFDNUQ1MzUwMDUzMjcwRiAvKiBE
T01Ob3RhdGlvbkludGVybmFsLmggKi8sCkBAIC03MTIyLDYgKzcxNDMsNyBAQAogCQkJCTg1RTcx
MTg2MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb25JbnRlcm5hbC5o
ICovLAogCQkJCTg1MzhGMDVBMEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZUludGVybmFsLmgg
Ki8sCiAJCQkJODVFNzExODcwQUM1RDUzNTAwNTMyNzBGIC8qIERPTVJlY3RJbnRlcm5hbC5oICov
LAorCQkJCTg1QjQ5OEZFMEFEQjM0ODEwMDkyNUNCQiAvKiBET01TdHlsZVNoZWV0SW50ZXJuYWwu
aCAqLywKIAkJCQk4NUU3MTE4ODBBQzVENTM1MDA1MzI3MEYgLyogRE9NU3R5bGVTaGVldExpc3RJ
bnRlcm5hbC5oICovLAogCQkJCTg1QUNFRjg1MEFDREQwNEEwMDEyMTRGRiAvKiBET01TVkdBRWxl
bWVudEludGVybmFsLmggKi8sCiAJCQkJODU0MTYzOTYwQUM3MTg2ODAwMDFFMDFCIC8qIERPTVNW
R0FuZ2xlSW50ZXJuYWwuaCAqLywKQEAgLTcxODgsNiArNzIxMCw3IEBACiAJCQkJODU1OUYxMUUw
QUM5QkY0MTAwQTM0MzlDIC8qIERPTVNWR01ldGFkYXRhRWxlbWVudEludGVybmFsLmggKi8sCiAJ
CQkJODVDMjM5ODMwQUQ1OTA5ODAwMzUzM0U3IC8qIERPTVNWR051bWJlckxpc3RJbnRlcm5hbC5o
ICovLAogCQkJCTg1QzlBMzE4MEFEN0U5QTQwMEZCRkYxRSAvKiBET01TVkdQYWludEludGVybmFs
LmggKi8sCisJCQkJODVCNDk5NzcwQURCNDI1RTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50
SW50ZXJuYWwuaCAqLywKIAkJCQk4NTAxMjA1NTBBREFCQ0Q5MDAyNjcxMjUgLyogRE9NU1ZHUGF0
aFNlZ0FyY0Fic0ludGVybmFsLmggKi8sCiAJCQkJODUwMTIwNTYwQURBQkNEOTAwMjY3MTI1IC8q
IERPTVNWR1BhdGhTZWdBcmNSZWxJbnRlcm5hbC5oICovLAogCQkJCTg1Q0UxQTkzMEFEQUM2NkQw
MDNCQkRFQSAvKiBET01TVkdQYXRoU2VnQ2xvc2VQYXRoSW50ZXJuYWwuaCAqLywKQEAgLTcxOTks
NiArNzIyMiw3IEBACiAJCQkJODVDRTFBNjIwQURBQzRDNTAwM0JCREVBIC8qIERPTVNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljUmVsSW50ZXJuYWwuaCAqLywKIAkJCQk4NUNFMUE2MzBBREFDNEM1
MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnNJbnRlcm5h
bC5oICovLAogCQkJCTg1Q0UxQTY0MEFEQUM0QzUwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aFJlbEludGVybmFsLmggKi8sCisJCQkJODVCNDk5MDAwQURCMzRC
MzAwOTI1Q0JCIC8qIERPTVNWR1BhdGhTZWdJbnRlcm5hbC5oICovLAogCQkJCTg1Q0UxQTY1MEFE
QUM0QzUwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnTGluZXRvQWJzSW50ZXJuYWwuaCAqLywKIAkJ
CQk4NUNFMUE2NjBBREFDNEM1MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250
YWxBYnNJbnRlcm5hbC5oICovLAogCQkJCTg1Q0UxQTY3MEFEQUM0QzUwMDNCQkRFQSAvKiBET01T
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbEludGVybmFsLmggKi8sCkBAIC0xMDMxNCw3ICsx
MDMzOCwxNCBAQAogCQkJCTg1Q0UxQTk0MEFEQUM2NkQwMDNCQkRFQSAvKiBET01TVkdQYXRoU2Vn
Q2xvc2VQYXRoSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1Q0UxQTlDMEFEQUM3MDgw
MDNCQkRFQSAvKiBET01TVkdTVkdFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUNFMUFB
MTBBREFDNzUyMDAzQkJERUEgLyogRE9NU1ZHU1ZHRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk4NUNFMUFGMzBBREFENDQwMDAzQkJERUEgLyogRE9NU1ZHUGF0aFNlZ0ludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUI0OThFRDBBREIzMkZCMDA5MjVDQkIgLyogRE9N
Q1NTUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUI0OThGMzBBREIzMzZBMDA5
MjVDQkIgLyogRE9NQ1NTVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVCNDk4
RjUwQURCMzM3QTAwOTI1Q0JCIC8qIERPTUV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg1QjQ5OEZCMEFEQjM0MDIwMDkyNUNCQiAvKiBET01Ob2RlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg1QjQ5OEZGMEFEQjM0ODEwMDkyNUNCQiAvKiBET01TdHlsZVNoZWV0SW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1QjQ5OTAxMEFEQjM0QjMwMDkyNUNCQiAvKiBE
T01TVkdQYXRoU2VnSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1QjQ5OTZCMEFEQjNG
RjUwMDkyNUNCQiAvKiBET01TVkdQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVC
NDk5NzgwQURCNDI1RTAwOTI1Q0JCIC8qIERPTVNWR1BhdGhFbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1NkQzNzMyMEFEQkE1REUwMEE0NTU0RCAvKiBMb2FkZXJOU1VSTEV4
dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2RDM3MzQwQURCQTVERTAwQTQ1NTREIC8qIFdl
YkRhdGFQcm90b2NvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2RDM3MzYwQURCQTVERTAwQTQ1
NTREIC8qIFdlYkRvY3VtZW50TG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTEwMzYyLDcgKzEw
MzkzLDYgQEAKIAkJMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICov
ID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKLQkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2Rl
IDIuNCI7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9
ICgKIAkJCQlFbmdsaXNoLApAQCAtMTE1NDAsNiArMTE1NzAsNyBAQAogCQkJCTg1Q0UxQTkyMEFE
QUM2NTAwMDNCQkRFQSAvKiBET01TVkdQYXRoU2VnQ2xvc2VQYXRoLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJODVDRTFBOUQwQURBQzcwODAwM0JCREVBIC8qIERPTVNWR1NWR0VsZW1lbnQubW0gaW4g
U291cmNlcyAqLywKIAkJCQk4NUNFMUIwMjBBREFEQTk2MDAzQkJERUEgLyogRE9NU1ZHUGF0aFNl
Z0ludGVybmFsLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVCNDk5NkMwQURCM0ZGNTAwOTI1Q0JC
IC8qIERPTVNWR1BhdGhFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU2RDM3MzMwQURC
QTVERTAwQTQ1NTREIC8qIExvYWRlck5TVVJMRXh0cmFzLm0gaW4gU291cmNlcyAqLywKIAkJCQk2
NTZEMzczNTBBREJBNURFMDBBNDU1NEQgLyogV2ViRGF0YVByb3RvY29sLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNjU2RDM3MzcwQURCQTVERTAwQTQ1NTREIC8qIFdlYkRvY3VtZW50TG9hZGVyLm1t
IGluIFNvdXJjZXMgKi8sCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0JKHJldmlzaW9uIDE2OTc3KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjMsOSAr
NjMsMTUgQEAKICNpbXBvcnQgPG9iamMvb2JqYy1jbGFzcy5oPgogI2ltcG9ydCA8d3RmL0hhc2hN
YXAuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkhUTUxOYW1lczsKKyNpZmRlZiBTVkdf
U1VQUE9SVAorI2ltcG9ydCAiU1ZHRG9jdW1lbnQuaCIKKyNpbXBvcnQgIlNWR0VsZW1lbnQuaCIK
KyNpbXBvcnQgIlNWR05hbWVzLmgiCisjZW5kaWYKIAotY2xhc3MgT2JqQ0V2ZW50TGlzdGVuZXIg
OiBwdWJsaWMgV2ViQ29yZTo6RXZlbnRMaXN0ZW5lciB7CituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE9iakNFdmVudExpc3RlbmVyIDogcHVibGljIEV2ZW50TGlzdGVuZXIgewogcHVibGlj
OgogICAgIHN0YXRpYyBPYmpDRXZlbnRMaXN0ZW5lciogZmluZChpZCA8RE9NRXZlbnRMaXN0ZW5l
cj4pOwogICAgIHN0YXRpYyBPYmpDRXZlbnRMaXN0ZW5lciogY3JlYXRlKGlkIDxET01FdmVudExp
c3RlbmVyPik7CkBAIC03NCwxMDcgKzgwLDE3NiBAQCBwcml2YXRlOgogICAgIE9iakNFdmVudExp
c3RlbmVyKGlkIDxET01FdmVudExpc3RlbmVyPik7CiAgICAgdmlydHVhbCB+T2JqQ0V2ZW50TGlz
dGVuZXIoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChXZWJDb3JlOjpFdmVudCos
IGJvb2wgaXNXaW5kb3dFdmVudCk7CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KEV2ZW50
KiwgYm9vbCBpc1dpbmRvd0V2ZW50KTsKIAogICAgIGlkIDxET01FdmVudExpc3RlbmVyPiBtX2xp
c3RlbmVyOwogfTsKIAogdHlwZWRlZiBIYXNoTWFwPGlkLCBPYmpDRXZlbnRMaXN0ZW5lcio+IExp
c3RlbmVyTWFwOwotdHlwZWRlZiBIYXNoTWFwPFdlYkNvcmU6OkF0b21pY1N0cmluZ0ltcGwqLCBD
bGFzcz4gT2JqQ0NsYXNzTWFwOwotCi1zdGF0aWMgT2JqQ0NsYXNzTWFwKiBlbGVtZW50Q2xhc3NN
YXA7CiBzdGF0aWMgTGlzdGVuZXJNYXAqIGxpc3RlbmVyTWFwOwogCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTU5v
ZGUKIAotc3RhdGljIHZvaWQgYWRkRWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6OlF1YWxpZmll
ZE5hbWUmIHRhZywgQ2xhc3Mgb2JqQ0NsYXNzKQorbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBl
ZGVmIEhhc2hNYXA8Y29uc3QgUXVhbGlmaWVkTmFtZSosIENsYXNzPiBPYmpDQ2xhc3NNYXA7Citz
dGF0aWMgT2JqQ0NsYXNzTWFwKiBlbGVtZW50Q2xhc3NNYXA7CisKK3N0YXRpYyB2b2lkIGFkZEVs
ZW1lbnRDbGFzcyhjb25zdCBRdWFsaWZpZWROYW1lJiB0YWcsIENsYXNzIG9iakNDbGFzcykKIHsK
LSAgICBlbGVtZW50Q2xhc3NNYXAtPnNldCh0YWcubG9jYWxOYW1lKCkuaW1wbCgpLCBvYmpDQ2xh
c3MpOworICAgIGVsZW1lbnRDbGFzc01hcC0+c2V0KCZ0YWcsIG9iakNDbGFzcyk7CiB9CiAKLXN0
YXRpYyB2b2lkIGNyZWF0ZUhUTUxFbGVtZW50Q2xhc3NNYXAoKQorc3RhdGljIHZvaWQgY3JlYXRl
RWxlbWVudENsYXNzTWFwKCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIHRhYmxlLgogICAgIGVsZW1l
bnRDbGFzc01hcCA9IG5ldyBPYmpDQ2xhc3NNYXA7Ci0gICAgCi0gICAgLy8gUG9wdWxhdGUgaXQg
d2l0aCBIVE1MIGVsZW1lbnQgY2xhc3Nlcy4KLSAgICBhZGRFbGVtZW50Q2xhc3MoYVRhZywgW0RP
TUhUTUxBbmNob3JFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGFwcGxldFRh
ZywgW0RPTUhUTUxBcHBsZXRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGFy
ZWFUYWcsIFtET01IVE1MQXJlYUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
YmFzZVRhZywgW0RPTUhUTUxCYXNlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhiYXNlZm9udFRhZywgW0RPTUhUTUxCYXNlRm9udEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MoYm9keVRhZywgW0RPTUhUTUxCb2R5RWxlbWVudCBjbGFzc10pOwotICAgIGFk
ZEVsZW1lbnRDbGFzcyhiclRhZywgW0RPTUhUTUxCUkVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MoYnV0dG9uVGFnLCBbRE9NSFRNTEJ1dHRvbkVsZW1lbnQgY2xhc3NdKTsKLSAg
ICBhZGRFbGVtZW50Q2xhc3MoY2FudmFzVGFnLCBbRE9NSFRNTEltYWdlRWxlbWVudCBjbGFzc10p
OwotICAgIGFkZEVsZW1lbnRDbGFzcyhjYXB0aW9uVGFnLCBbRE9NSFRNTFRhYmxlQ2FwdGlvbkVs
ZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoY29sVGFnLCBbRE9NSFRNTFRhYmxl
Q29sRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhjb2xncm91cFRhZywgW0RP
TUhUTUxUYWJsZUNvbEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoZGlyVGFn
LCBbRE9NSFRNTERpcmVjdG9yeUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
ZGl2VGFnLCBbRE9NSFRNTERpdkVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
ZGxUYWcsIFtET01IVE1MRExpc3RFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNz
KGZpZWxkc2V0VGFnLCBbRE9NSFRNTEZpZWxkU2V0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVs
ZW1lbnRDbGFzcyhmb250VGFnLCBbRE9NSFRNTEZvbnRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRk
RWxlbWVudENsYXNzKGZvcm1UYWcsIFtET01IVE1MRm9ybUVsZW1lbnQgY2xhc3NdKTsKLSAgICBh
ZGRFbGVtZW50Q2xhc3MoZnJhbWVUYWcsIFtET01IVE1MRnJhbWVFbGVtZW50IGNsYXNzXSk7Ci0g
ICAgYWRkRWxlbWVudENsYXNzKGZyYW1lc2V0VGFnLCBbRE9NSFRNTEZyYW1lU2V0RWxlbWVudCBj
bGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoMVRhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVu
dCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoMlRhZywgW0RPTUhUTUxIZWFkaW5nRWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoM1RhZywgW0RPTUhUTUxIZWFkaW5n
RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoNFRhZywgW0RPTUhUTUxIZWFk
aW5nRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoNVRhZywgW0RPTUhUTUxI
ZWFkaW5nRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoNlRhZywgW0RPTUhU
TUxIZWFkaW5nRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoZWFkVGFnLCBb
RE9NSFRNTEhlYWRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGhyVGFnLCBb
RE9NSFRNTEhSRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhodG1sVGFnLCBb
RE9NSFRNTEh0bWxFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGlmcmFtZVRh
ZywgW0RPTUhUTUxJRnJhbWVFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGlt
Z1RhZywgW0RPTUhUTUxJbWFnZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
aW5wdXRUYWcsIFtET01IVE1MSW5wdXRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKGlzaW5kZXhUYWcsIFtET01IVE1MSXNJbmRleEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MobGFiZWxUYWcsIFtET01IVE1MTGFiZWxFbGVtZW50IGNsYXNzXSk7Ci0gICAg
YWRkRWxlbWVudENsYXNzKGxlZ2VuZFRhZywgW0RPTUhUTUxMZWdlbmRFbGVtZW50IGNsYXNzXSk7
Ci0gICAgYWRkRWxlbWVudENsYXNzKGxpVGFnLCBbRE9NSFRNTExJRWxlbWVudCBjbGFzc10pOwot
ICAgIGFkZEVsZW1lbnRDbGFzcyhsaW5rVGFnLCBbRE9NSFRNTExpbmtFbGVtZW50IGNsYXNzXSk7
Ci0gICAgYWRkRWxlbWVudENsYXNzKGxpc3RpbmdUYWcsIFtET01IVE1MUHJlRWxlbWVudCBjbGFz
c10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhtYXBUYWcsIFtET01IVE1MTWFwRWxlbWVudCBjbGFz
c10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhtZW51VGFnLCBbRE9NSFRNTE1lbnVFbGVtZW50IGNs
YXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKG1ldGFUYWcsIFtET01IVE1MTWV0YUVsZW1lbnQg
Y2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mob2JqZWN0VGFnLCBbRE9NSFRNTE9iamVjdEVs
ZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mob2xUYWcsIFtET01IVE1MT0xpc3RF
bGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKG9wdGdyb3VwVGFnLCBbRE9NSFRN
TE9wdEdyb3VwRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhvcHRpb25UYWcs
IFtET01IVE1MT3B0aW9uRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhwVGFn
LCBbRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
cGFyYW1UYWcsIFtET01IVE1MUGFyYW1FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKHByZVRhZywgW0RPTUhUTUxQcmVFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKHFUYWcsIFtET01IVE1MUXVvdGVFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKHNjcmlwdFRhZywgW0RPTUhUTUxTY3JpcHRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxl
bWVudENsYXNzKHNlbGVjdFRhZywgW0RPTUhUTUxTZWxlY3RFbGVtZW50IGNsYXNzXSk7Ci0gICAg
YWRkRWxlbWVudENsYXNzKHN0eWxlVGFnLCBbRE9NSFRNTFN0eWxlRWxlbWVudCBjbGFzc10pOwot
ICAgIGFkZEVsZW1lbnRDbGFzcyh0YWJsZVRhZywgW0RPTUhUTUxUYWJsZUVsZW1lbnQgY2xhc3Nd
KTsKLSAgICBhZGRFbGVtZW50Q2xhc3ModGJvZHlUYWcsIFtET01IVE1MVGFibGVTZWN0aW9uRWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyh0ZFRhZywgW0RPTUhUTUxUYWJsZUNl
bGxFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKHRleHRhcmVhVGFnLCBbRE9N
SFRNTFRleHRBcmVhRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyh0Zm9vdFRh
ZywgW0RPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKHRoZWFkVGFnLCBbRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgY2xhc3NdKTsKLSAgICBh
ZGRFbGVtZW50Q2xhc3ModGl0bGVUYWcsIFtET01IVE1MVGl0bGVFbGVtZW50IGNsYXNzXSk7Ci0g
ICAgYWRkRWxlbWVudENsYXNzKHRyVGFnLCBbRE9NSFRNTFRhYmxlUm93RWxlbWVudCBjbGFzc10p
OwotICAgIGFkZEVsZW1lbnRDbGFzcyh1bFRhZywgW0RPTUhUTUxVTGlzdEVsZW1lbnQgY2xhc3Nd
KTsKIAogICAgIC8vIEZJWE1FOiBSZWZsZWN0IG1hcnF1ZWUgb25jZSB0aGUgQVBJIGhhcyBiZWVu
IGRldGVybWluZWQuCisKKyAgICAvLyBQb3B1bGF0ZSBpdCB3aXRoIEhUTUwgYW5kIFNWRyBlbGVt
ZW50IGNsYXNzZXMuCisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6YVRhZywgW0RPTUhU
TUxBbmNob3JFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6
YXBwbGV0VGFnLCBbRE9NSFRNTEFwcGxldEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50
Q2xhc3MoSFRNTE5hbWVzOjphcmVhVGFnLCBbRE9NSFRNTEFyZWFFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6YmFzZVRhZywgW0RPTUhUTUxCYXNlRWxlbWVu
dCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmJhc2Vmb250VGFnLCBb
RE9NSFRNTEJhc2VGb250RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1M
TmFtZXM6OmJvZHlUYWcsIFtET01IVE1MQm9keUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVt
ZW50Q2xhc3MoSFRNTE5hbWVzOjpiclRhZywgW0RPTUhUTUxCUkVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpidXR0b25UYWcsIFtET01IVE1MQnV0dG9uRWxl
bWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmNhbnZhc1RhZywg
W0RPTUhUTUxJbWFnZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5h
bWVzOjpjYXB0aW9uVGFnLCBbRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpjb2xUYWcsIFtET01IVE1MVGFibGVDb2xFbGVt
ZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6Y29sZ3JvdXBUYWcs
IFtET01IVE1MVGFibGVDb2xFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhU
TUxOYW1lczo6ZGlyVGFnLCBbRE9NSFRNTERpcmVjdG9yeUVsZW1lbnQgY2xhc3NdKTsKKyAgICBh
ZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpkaXZUYWcsIFtET01IVE1MRGl2RWxlbWVudCBjbGFz
c10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmRsVGFnLCBbRE9NSFRNTERMaXN0
RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmZpZWxkc2V0
VGFnLCBbRE9NSFRNTEZpZWxkU2V0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFz
cyhIVE1MTmFtZXM6OmZvbnRUYWcsIFtET01IVE1MRm9udEVsZW1lbnQgY2xhc3NdKTsKKyAgICBh
ZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpmb3JtVGFnLCBbRE9NSFRNTEZvcm1FbGVtZW50IGNs
YXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6ZnJhbWVUYWcsIFtET01IVE1M
RnJhbWVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6ZnJh
bWVzZXRUYWcsIFtET01IVE1MRnJhbWVTZXRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVu
dENsYXNzKEhUTUxOYW1lczo6aDFUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xhc3NdKTsK
KyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpoMlRhZywgW0RPTUhUTUxIZWFkaW5nRWxl
bWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmgzVGFnLCBbRE9N
SFRNTEhlYWRpbmdFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1l
czo6aDRUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50
Q2xhc3MoSFRNTE5hbWVzOjpoNVRhZywgW0RPTUhUTUxIZWFkaW5nRWxlbWVudCBjbGFzc10pOwor
ICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6Omg2VGFnLCBbRE9NSFRNTEhlYWRpbmdFbGVt
ZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6aGVhZFRhZywgW0RP
TUhUTUxIZWFkRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6
OmhyVGFnLCBbRE9NSFRNTEhSRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhI
VE1MTmFtZXM6Omh0bWxUYWcsIFtET01IVE1MSHRtbEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRF
bGVtZW50Q2xhc3MoSFRNTE5hbWVzOjppZnJhbWVUYWcsIFtET01IVE1MSUZyYW1lRWxlbWVudCBj
bGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OmltZ1RhZywgW0RPTUhUTUxJ
bWFnZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjppbnB1
dFRhZywgW0RPTUhUTUxJbnB1dEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3Mo
SFRNTE5hbWVzOjppc2luZGV4VGFnLCBbRE9NSFRNTElzSW5kZXhFbGVtZW50IGNsYXNzXSk7Cisg
ICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6bGFiZWxUYWcsIFtET01IVE1MTGFiZWxFbGVt
ZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6bGVnZW5kVGFnLCBb
RE9NSFRNTExlZ2VuZEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5h
bWVzOjpsaVRhZywgW0RPTUhUTUxMSUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xh
c3MoSFRNTE5hbWVzOjpsaW5rVGFnLCBbRE9NSFRNTExpbmtFbGVtZW50IGNsYXNzXSk7CisgICAg
YWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6bGlzdGluZ1RhZywgW0RPTUhUTUxQcmVFbGVtZW50
IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6bWFwVGFnLCBbRE9NSFRN
TE1hcEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjptZW51
VGFnLCBbRE9NSFRNTE1lbnVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhU
TUxOYW1lczo6bWV0YVRhZywgW0RPTUhUTUxNZXRhRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVs
ZW1lbnRDbGFzcyhIVE1MTmFtZXM6Om9iamVjdFRhZywgW0RPTUhUTUxPYmplY3RFbGVtZW50IGNs
YXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6b2xUYWcsIFtET01IVE1MT0xp
c3RFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6b3B0Z3Jv
dXBUYWcsIFtET01IVE1MT3B0R3JvdXBFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENs
YXNzKEhUTUxOYW1lczo6b3B0aW9uVGFnLCBbRE9NSFRNTE9wdGlvbkVsZW1lbnQgY2xhc3NdKTsK
KyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpwVGFnLCBbRE9NSFRNTFBhcmFncmFwaEVs
ZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpwYXJhbVRhZywg
W0RPTUhUTUxQYXJhbUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5h
bWVzOjpwcmVUYWcsIFtET01IVE1MUHJlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRD
bGFzcyhIVE1MTmFtZXM6OnFUYWcsIFtET01IVE1MUXVvdGVFbGVtZW50IGNsYXNzXSk7CisgICAg
YWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6c2NyaXB0VGFnLCBbRE9NSFRNTFNjcmlwdEVsZW1l
bnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjpzZWxlY3RUYWcsIFtE
T01IVE1MU2VsZWN0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFt
ZXM6OnN0eWxlVGFnLCBbRE9NSFRNTFN0eWxlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1l
bnRDbGFzcyhIVE1MTmFtZXM6OnRhYmxlVGFnLCBbRE9NSFRNTFRhYmxlRWxlbWVudCBjbGFzc10p
OworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6OnRib2R5VGFnLCBbRE9NSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp0
ZFRhZywgW0RPTUhUTUxUYWJsZUNlbGxFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENs
YXNzKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcsIFtET01IVE1MVGV4dEFyZWFFbGVtZW50IGNsYXNz
XSk7CisgICAgYWRkRWxlbWVudENsYXNzKEhUTUxOYW1lczo6dGZvb3RUYWcsIFtET01IVE1MVGFi
bGVTZWN0aW9uRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhIVE1MTmFtZXM6
OnRoZWFkVGFnLCBbRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRF
bGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp0aXRsZVRhZywgW0RPTUhUTUxUaXRsZUVsZW1lbnQgY2xh
c3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp0clRhZywgW0RPTUhUTUxUYWJs
ZVJvd0VsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoSFRNTE5hbWVzOjp1bFRh
ZywgW0RPTUhUTUxVTGlzdEVsZW1lbnQgY2xhc3NdKTsKKworI2lmZGVmIFNWR19TVVBQT1JUCisg
ICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjphVGFnLCBbRE9NU1ZHQUVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmFuaW1hdGVUYWcsIFtET01TVkdBbmlt
YXRlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6YW5pbWF0
ZUNvbG9yVGFnLCBbRE9NU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVs
ZW1lbnRDbGFzcyhTVkdOYW1lczo6YW5pbWF0ZVRyYW5zZm9ybVRhZywgW0RPTVNWR0FuaW1hdGVU
cmFuc2Zvcm1FbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpj
aXJjbGVUYWcsIFtET01TVkdDaXJjbGVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENs
YXNzKFNWR05hbWVzOjpjbGlwUGF0aFRhZywgW0RPTVNWR0NsaXBQYXRoRWxlbWVudCBjbGFzc10p
OworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6Y3Vyc29yVGFnLCBbRE9NU1ZHQ3Vyc29y
RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZGVmc1RhZywg
W0RPTVNWR0RlZnNFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVz
OjpkZXNjVGFnLCBbRE9NU1ZHRGVzY0VsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xh
c3MoU1ZHTmFtZXM6OmVsbGlwc2VUYWcsIFtET01TVkdFbGxpcHNlRWxlbWVudCBjbGFzc10pOwor
ICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVCbGVuZFRhZywgW0RPTVNWR0ZFQmxlbmRF
bGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUNvbG9yTWF0
cml4VGFnLCBbRE9NU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVt
ZW50Q2xhc3MoU1ZHTmFtZXM6OmZlQ29tcG9uZW50VHJhbnNmZXJUYWcsIFtET01TVkdGRUNvbXBv
bmVudFRyYW5zZmVyRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1l
czo6ZmVDb21wb3NpdGVUYWcsIFtET01TVkdGRUNvbXBvc2l0ZUVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlRGlmZnVzZUxpZ2h0aW5nVGFnLCBbRE9NU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNW
R05hbWVzOjpmZURpc3BsYWNlbWVudE1hcFRhZywgW0RPTVNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVEaXN0YW50TGln
aHRUYWcsIFtET01TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVt
ZW50Q2xhc3MoU1ZHTmFtZXM6OmZlRmxvb2RUYWcsIFtET01TVkdGRUZsb29kRWxlbWVudCBjbGFz
c10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVGdW5jQVRhZywgW0RPTVNWR0ZF
RnVuY0FFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUZ1
bmNCVGFnLCBbRE9NU1ZHRkVGdW5jQkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xh
c3MoU1ZHTmFtZXM6OmZlRnVuY0dUYWcsIFtET01TVkdGRUZ1bmNHRWxlbWVudCBjbGFzc10pOwor
ICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVGdW5jUlRhZywgW0RPTVNWR0ZFRnVuY1JF
bGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZUdhdXNzaWFu
Qmx1clRhZywgW0RPTVNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVs
ZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVJbWFnZVRhZywgW0RPTVNWR0ZFSW1hZ2VFbGVtZW50IGNs
YXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmZU1lcmdlVGFnLCBbRE9NU1ZH
RkVNZXJnZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZl
TWVyZ2VOb2RlVGFnLCBbRE9NU1ZHRkVNZXJnZU5vZGVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRk
RWxlbWVudENsYXNzKFNWR05hbWVzOjpmZU9mZnNldFRhZywgW0RPTVNWR0ZFT2Zmc2V0RWxlbWVu
dCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVQb2ludExpZ2h0VGFn
LCBbRE9NU1ZHRkVQb2ludExpZ2h0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFz
cyhTVkdOYW1lczo6ZmVTcGVjdWxhckxpZ2h0aW5nVGFnLCBbRE9NU1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmVTcG90
TGlnaHRUYWcsIFtET01TVkdGRVNwb3RMaWdodEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVt
ZW50Q2xhc3MoU1ZHTmFtZXM6OmZlVGlsZVRhZywgW0RPTVNWR0ZFVGlsZUVsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmZlVHVyYnVsZW5jZVRhZywgW0RPTVNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFt
ZXM6OmZpbHRlclRhZywgW0RPTVNWR0ZpbHRlckVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVt
ZW50Q2xhc3MoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcsIFtET01TVkdGb3JlaWduT2JqZWN0
RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6Z1RhZywgW0RP
TVNWR0dFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjppbWFn
ZVRhZywgW0RPTVNWR0ltYWdlRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhT
VkdOYW1lczo6bGluZVRhZywgW0RPTVNWR0xpbmVFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxl
bWVudENsYXNzKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZywgW0RPTVNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6bWFya2Vy
VGFnLCBbRE9NU1ZHTWFya2VyRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhT
VkdOYW1lczo6bWFza1RhZywgW0RPTVNWR01hc2tFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxl
bWVudENsYXNzKFNWR05hbWVzOjptZXRhZGF0YVRhZywgW0RPTVNWR01ldGFkYXRhRWxlbWVudCBj
bGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6cGF0aFRhZywgW0RPTVNWR1Bh
dGhFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpwYXR0ZXJu
VGFnLCBbRE9NU1ZHUGF0dGVybkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3Mo
U1ZHTmFtZXM6OnBvbHlnb25UYWcsIFtET01TVkdQb2x5Z29uRWxlbWVudCBjbGFzc10pOworICAg
IGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6cG9seWxpbmVUYWcsIFtET01TVkdQb2x5bGluZUVs
ZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnJhZGlhbEdyYWRp
ZW50VGFnLCBbRE9NU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IGNsYXNzXSk7CisgICAgYWRkRWxl
bWVudENsYXNzKFNWR05hbWVzOjpyZWN0VGFnLCBbRE9NU1ZHUmVjdEVsZW1lbnQgY2xhc3NdKTsK
KyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnNjcmlwdFRhZywgW0RPTVNWR1NjcmlwdEVs
ZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnNldFRhZywgW0RP
TVNWR1NldEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN0
b3BUYWcsIFtET01TVkdTdG9wRWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhT
VkdOYW1lczo6c3R5bGVUYWcsIFtET01TVkdTdHlsZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRF
bGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN2Z1RhZywgW0RPTVNWR1NWR0VsZW1lbnQgY2xhc3NdKTsK
KyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN3aXRjaFRhZywgW0RPTVNWR1N3aXRjaEVs
ZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnN5bWJvbFRhZywg
W0RPTVNWR1N5bWJvbEVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFt
ZXM6OnRleHRUYWcsIFtET01TVkdUZXh0RWxlbWVudCBjbGFzc10pOworICAgIGFkZEVsZW1lbnRD
bGFzcyhTVkdOYW1lczo6dGl0bGVUYWcsIFtET01TVkdUaXRsZUVsZW1lbnQgY2xhc3NdKTsKKyAg
ICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnRyZWZUYWcsIFtET01TVkdUUmVmRWxlbWVudCBj
bGFzc10pOworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6dHNwYW5UYWcsIFtET01TVkdU
U3BhbkVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OnVzZVRh
ZywgW0RPTVNWR1VzZUVsZW1lbnQgY2xhc3NdKTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFt
ZXM6OnZpZXdUYWcsIFtET01TVkdWaWV3RWxlbWVudCBjbGFzc10pOworI2VuZGlmCiB9CiAKLXN0
YXRpYyBDbGFzcyBlbGVtZW50Q2xhc3MoY29uc3QgV2ViQ29yZTo6QXRvbWljU3RyaW5nJiB0YWdO
YW1lKQorc3RhdGljIENsYXNzIGVsZW1lbnRDbGFzcyhjb25zdCBRdWFsaWZpZWROYW1lJiB0YWcs
IENsYXNzIGRlZmF1bHRDbGFzcykKIHsKICAgICBpZiAoIWVsZW1lbnRDbGFzc01hcCkKLSAgICAg
ICAgY3JlYXRlSFRNTEVsZW1lbnRDbGFzc01hcCgpOwotICAgIENsYXNzIG9iamNDbGFzcyA9IGVs
ZW1lbnRDbGFzc01hcC0+Z2V0KHRhZ05hbWUuaW1wbCgpKTsKKyAgICAgICAgY3JlYXRlRWxlbWVu
dENsYXNzTWFwKCk7CisgICAgQ2xhc3Mgb2JqY0NsYXNzID0gZWxlbWVudENsYXNzTWFwLT5nZXQo
JnRhZyk7CiAgICAgaWYgKCFvYmpjQ2xhc3MpCi0gICAgICAgIG9iamNDbGFzcyA9IFtET01IVE1M
RWxlbWVudCBjbGFzc107CisgICAgICAgIG9iamNDbGFzcyA9IGRlZmF1bHRDbGFzczsKICAgICBy
ZXR1cm4gb2JqY0NsYXNzOwogfQogCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKIEBpbXBsZW1l
bnRhdGlvbiBET01Ob2RlIChXZWJDb3JlSW50ZXJuYWwpCiAKIC8vIEZJWE1FOiBzaG91bGQgdGhp
cyBnbyBpbiB0aGUgbWFpbiBpbXBsZW1lbnRhdGlvbj8KQEAgLTE4Miw3ICsyNTcsNyBAQCBzdGF0
aWMgQ2xhc3MgZWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6CiB7CiAgICAgaWYgKCFfaW50ZXJu
YWwpCiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwlQDogbnVs
bD4iLCBbW3NlbGYgY2xhc3NdIGRlc2NyaXB0aW9uXSwgc2VsZl07Ci0gICAgCisKICAgICBOU1N0
cmluZyAqdmFsdWUgPSBbc2VsZiBub2RlVmFsdWVdOwogICAgIGlmICh2YWx1ZSkKICAgICAgICAg
cmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPCVAIFslQF06ICVwICclQCc+IiwK
QEAgLTIwNiwxNyArMjgxLDIxIEBAIHN0YXRpYyBDbGFzcyBlbGVtZW50Q2xhc3MoY29uc3QgV2Vi
Q29yZToKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCisKICAg
ICBpZCBjYWNoZWRJbnN0YW5jZTsKICAgICBjYWNoZWRJbnN0YW5jZSA9IFdlYkNvcmU6OmdldERP
TVdyYXBwZXIoaW1wbCk7CiAgICAgaWYgKGNhY2hlZEluc3RhbmNlKQogICAgICAgICByZXR1cm4g
W1tjYWNoZWRJbnN0YW5jZSByZXRhaW5dIGF1dG9yZWxlYXNlXTsKLSAgICAKKwogICAgIENsYXNz
IHdyYXBwZXJDbGFzcyA9IG5pbDsKICAgICBzd2l0Y2ggKGltcGwtPm5vZGVUeXBlKCkpIHsKICAg
ICAgICAgY2FzZSBXZWJDb3JlOjpOb2RlOjpFTEVNRU5UX05PREU6CiAgICAgICAgICAgICBpZiAo
aW1wbC0+aXNIVE1MRWxlbWVudCgpKQotICAgICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IGVs
ZW1lbnRDbGFzcyhzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MRWxlbWVudCo+KGltcGwpLT5sb2Nh
bE5hbWUoKSk7CisgICAgICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gV2ViQ29yZTo6ZWxlbWVu
dENsYXNzKHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxFbGVtZW50Kj4oaW1wbCktPnRhZ1FOYW1l
KCksIFtET01IVE1MRWxlbWVudCBjbGFzc10pOworI2lmZGVmIFNWR19TVVBQT1JUCisgICAgICAg
ICAgICBlbHNlIGlmIChpbXBsLT5pc1NWR0VsZW1lbnQoKSkKKyAgICAgICAgICAgICAgICB3cmFw
cGVyQ2xhc3MgPSBXZWJDb3JlOjplbGVtZW50Q2xhc3Moc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U1ZH
RWxlbWVudCo+KGltcGwpLT50YWdRTmFtZSgpLCBbRE9NU1ZHRWxlbWVudCBjbGFzc10pOworI2Vu
ZGlmCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RP
TUVsZW1lbnQgY2xhc3NdOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNDQsNiArMzIzLDEwIEBA
IHN0YXRpYyBDbGFzcyBlbGVtZW50Q2xhc3MoY29uc3QgV2ViQ29yZToKICAgICAgICAgY2FzZSBX
ZWJDb3JlOjpOb2RlOjpET0NVTUVOVF9OT0RFOgogICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0
PFdlYkNvcmU6OkRvY3VtZW50Kj4oaW1wbCktPmlzSFRNTERvY3VtZW50KCkpCiAgICAgICAgICAg
ICAgICAgd3JhcHBlckNsYXNzID0gW0RPTUhUTUxEb2N1bWVudCBjbGFzc107CisjaWZkZWYgU1ZH
X1NVUFBPUlQKKyAgICAgICAgICAgIGVsc2UgaWYgKHN0YXRpY19jYXN0PFdlYkNvcmU6OkRvY3Vt
ZW50Kj4oaW1wbCktPmlzU1ZHRG9jdW1lbnQoKSkKKyAgICAgICAgICAgICAgICB3cmFwcGVyQ2xh
c3MgPSBbRE9NU1ZHRG9jdW1lbnQgY2xhc3NdOworI2VuZGlmCiAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTURvY3VtZW50IGNsYXNzXTsKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMzE3LDcgKzQwMCw3IEBAIHN0YXRpYyBDbGFzcyBlbGVtZW50Q2xh
c3MoY29uc3QgV2ViQ29yZToKICAgICBpZiAoIVtzZWxmIF9ub2RlXS0+aXNFdmVudFRhcmdldE5v
ZGUoKSkKICAgICAgICAgV2ViQ29yZTo6cmFpc2VET01FeGNlcHRpb24oRE9NX05PVF9TVVBQT1JU
RURfRVJSKTsKICAgICAKLSAgICBXZWJDb3JlOjpFdmVudExpc3RlbmVyICp3cmFwcGVyID0gT2Jq
Q0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShsaXN0ZW5lcik7CisgICAgV2ViQ29yZTo6RXZlbnRMaXN0
ZW5lciAqd3JhcHBlciA9IFdlYkNvcmU6Ok9iakNFdmVudExpc3RlbmVyOjpjcmVhdGUobGlzdGVu
ZXIpOwogICAgIFdlYkNvcmU6OkV2ZW50VGFyZ2V0Tm9kZUNhc3QoW3NlbGYgX25vZGVdKS0+YWRk
RXZlbnRMaXN0ZW5lcih0eXBlLCB3cmFwcGVyLCB1c2VDYXB0dXJlKTsKICAgICB3cmFwcGVyLT5k
ZXJlZigpOwogfQpAQCAtMzMzLDcgKzQxNiw3IEBAIHN0YXRpYyBDbGFzcyBlbGVtZW50Q2xhc3Mo
Y29uc3QgV2ViQ29yZToKICAgICBpZiAoIVtzZWxmIF9ub2RlXS0+aXNFdmVudFRhcmdldE5vZGUo
KSkKICAgICAgICAgV2ViQ29yZTo6cmFpc2VET01FeGNlcHRpb24oRE9NX05PVF9TVVBQT1JURURf
RVJSKTsKIAotICAgIGlmIChXZWJDb3JlOjpFdmVudExpc3RlbmVyICp3cmFwcGVyID0gT2JqQ0V2
ZW50TGlzdGVuZXI6OmZpbmQobGlzdGVuZXIpKQorICAgIGlmIChXZWJDb3JlOjpFdmVudExpc3Rl
bmVyICp3cmFwcGVyID0gV2ViQ29yZTo6T2JqQ0V2ZW50TGlzdGVuZXI6OmZpbmQobGlzdGVuZXIp
KQogICAgICAgICBXZWJDb3JlOjpFdmVudFRhcmdldE5vZGVDYXN0KFtzZWxmIF9ub2RlXSktPnJl
bW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgd3JhcHBlciwgdXNlQ2FwdHVyZSk7CiB9CiAKQEAgLTQx
Miw3ICs0OTUsNyBAQCBzdGF0aWMgQ2xhc3MgZWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6CiAt
ICh2b2lkICopX05QT2JqZWN0CiB7CiAgICAgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCA9IFtz
ZWxmIF9lbGVtZW50XTsKLSAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShhcHBsZXRUYWcpIHx8
IGVsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUob2Jq
ZWN0VGFnKSkKKyAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6
OmFwcGxldFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OmVt
YmVkVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6b2JqZWN0
VGFnKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVt
ZW50Kj4oZWxlbWVudCktPmdldE5QT2JqZWN0KCk7CiAgICAgcmV0dXJuIDA7CiB9CkBAIC01OTAs
OSArNjczLDEyIEBAIHNob3J0IE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uOjphY2NlcHROb2QKIAog
QGVuZAogCisKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBPYmpDRXZl
bnRMaXN0ZW5lcgogCituYW1lc3BhY2UgV2ViQ29yZSB7CisKIE9iakNFdmVudExpc3RlbmVyKiBP
YmpDRXZlbnRMaXN0ZW5lcjo6ZmluZChpZCA8RE9NRXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpCiB7
CiAgICAgaWYgKExpc3RlbmVyTWFwKiBtYXAgPSBsaXN0ZW5lck1hcCkKQEAgLTYyNiw3ICs3MTIs
OSBAQCBPYmpDRXZlbnRMaXN0ZW5lcjo6fk9iakNFdmVudExpc3RlbmVyKCkKICAgICBbbV9saXN0
ZW5lciByZWxlYXNlXTsKIH0KIAotdm9pZCBPYmpDRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQo
V2ViQ29yZTo6RXZlbnQqIGV2ZW50LCBib29sKQordm9pZCBPYmpDRXZlbnRMaXN0ZW5lcjo6aGFu
ZGxlRXZlbnQoRXZlbnQqIGV2ZW50LCBib29sKQogewogICAgIFttX2xpc3RlbmVyIGhhbmRsZUV2
ZW50OltET01FdmVudCBfZXZlbnRXaXRoOmV2ZW50XV07CiB9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQkocmV2aXNpb24gMTY5Nzcp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiwxMiArMzIsMTcgQEAKICNpbXBvcnQgIkRPTVByaXZhdGUuaCIKICNpbXBvcnQgIkRvY3Vt
ZW50LmgiCiAjaW1wb3J0ICJFdmVudC5oIgotI2ltcG9ydCAiTW91c2VFdmVudC5oIgogI2ltcG9y
dCAiS2V5Ym9hcmRFdmVudC5oIgorI2ltcG9ydCAiTW91c2VFdmVudC5oIgogI2ltcG9ydCAiTXV0
YXRpb25FdmVudC5oIgogI2ltcG9ydCAiT3ZlcmZsb3dFdmVudC5oIgogI2ltcG9ydCAiVUlFdmVu
dC5oIgogCisjaWZkZWYgU1ZHX1NVUFBPUlQKKyNpbXBvcnQgIkRPTVNWR1pvb21FdmVudC5oIgor
I2ltcG9ydCAiU1ZHWm9vbUV2ZW50LmgiCisjZW5kaWYKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIC8vIERPTUV2ZW50CiAKQEAgLTgyLDYgKzg3LDEwIEBACiAgICAgICAg
IHdyYXBwZXJDbGFzcyA9IFtET01VSUV2ZW50IGNsYXNzXTsKICAgICBlbHNlIGlmIChpbXBsLT5p
c092ZXJmbG93RXZlbnQoKSkKICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTU92ZXJmbG93RXZl
bnQgY2xhc3NdOworI2lmZGVmIFNWR19TVVBQT1JUCisgICAgZWxzZSBpZiAoaW1wbC0+aXNTVkda
b29tRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTVNWR1pvb21FdmVudCBjbGFz
c107CisjZW5kaWYKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01FdmVudCBj
bGFzc107CiAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCShyZXZpc2lvbiAx
Njk3NykKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxMyArMjgsOCBAQAogI2ltcG9ydCAiRE9NLmgiCiAKICNpbXBvcnQgIkNvbG9y
LmgiCi0jaW1wb3J0ICJET01DU1NSdWxlLmgiCi0jaW1wb3J0ICJET01DU1NWYWx1ZS5oIgotI2lt
cG9ydCAiRE9NRXZlbnRzLmgiCi0jaW1wb3J0ICJET01Ob2RlLmgiCiAjaW1wb3J0ICJET01PYmpl
Y3QuaCIKICNpbXBvcnQgIkRPTVJHQkNvbG9yLmgiCi0jaW1wb3J0ICJET01TdHlsZVNoZWV0Lmgi
CiAKICNpZmRlZiBTVkdfU1VQUE9SVAogI2ltcG9ydCAiRE9NU1ZHTnVtYmVyLmgiCkBAIC00Niw2
ICs0MSw3IEBACiAjaW1wb3J0ICJET01YUGF0aE5TUmVzb2x2ZXIuaCIKICNlbmRpZiAvLyBYUEFU
SF9TVVBQT1JUCiAKKwogLy8gQXV0by1nZW5lcmF0ZWQgaW50ZXJuYWwgaW50ZXJmYWNlcwogI2lt
cG9ydCAiRE9NQWJzdHJhY3RWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUF0dHJJbnRlcm5h
bC5oIgpAQCAtNTYsMTEgKzUyLDEzIEBACiAjaW1wb3J0ICJET01DU1NNZWRpYVJ1bGVJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NT
UHJpbWl0aXZlVmFsdWVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTUnVsZUludGVybmFsLmgi
CiAjaW1wb3J0ICJET01DU1NSdWxlTGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJET01DU1NTdHls
ZURlY2xhcmF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1N0eWxlUnVsZUludGVybmFs
LmgiCiAjaW1wb3J0ICJET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNT
U1Vua25vd25SdWxlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUNTU1ZhbHVlSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRPTUNTU1ZhbHVlTGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJET01DaGFyYWN0
ZXJEYXRhSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNvbW1lbnRJbnRlcm5hbC5oIgpAQCAtNzIs
NiArNzAsNyBAQAogI2ltcG9ydCAiRE9NRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01F
bnRpdHlJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NRW50aXR5UmVmZXJlbmNlSW50ZXJuYWwuaCIK
KyNpbXBvcnQgIkRPTUV2ZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxBbmNob3JFbGVt
ZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxBcHBsZXRFbGVtZW50SW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRPTUhUTUxBcmVhRWxlbWVudEludGVybmFsLmgiCkBAIC0xMzQsNiArMTMzLDcg
QEAKICNpbXBvcnQgIkRPTU1vdXNlRXZlbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTXV0YXRp
b25FdmVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01OYW1lZE5vZGVNYXBJbnRlcm5hbC5oIgor
I2ltcG9ydCAiRE9NTm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01Ob2RlSXRlcmF0b3JJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NTm9kZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTm90
YXRpb25JbnRlcm5hbC5oIgpAQCAtMTQxLDYgKzE0MSw3IEBACiAjaW1wb3J0ICJET01Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NUmFuZ2VJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NUmVjdEludGVybmFsLmgiCisjaW1wb3J0ICJET01TdHlsZVNoZWV0SW50ZXJu
YWwuaCIKICNpbXBvcnQgIkRPTVN0eWxlU2hlZXRMaXN0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRP
TVRleHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVHJlZVdhbGtlckludGVybmFsLmgiCkBAIC0x
OTgsMjEgKzE5OSwyMiBAQAogI2ltcG9ydCAiRE9NU1ZHRkVTcG90TGlnaHRFbGVtZW50SW50ZXJu
YWwuaCIKICNpbXBvcnQgIkRPTVNWR0ZFVGlsZUVsZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NU1ZHRkVUdXJidWxlbmNlRWxlbWVudEludGVybmFsLmgiCi0jaW1wb3J0ICJET01TVkdGaWx0
ZXJFbGVtZW50LmgiCi0jaW1wb3J0ICJET01TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIgotI2lt
cG9ydCAiRE9NU1ZHR0VsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTVNWR0dyYWRpZW50RWxlbWVudC5o
IgotI2ltcG9ydCAiRE9NU1ZHSW1hZ2VFbGVtZW50LmgiCisjaW1wb3J0ICJET01TVkdGaWx0ZXJF
bGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR0ZvcmVpZ25PYmplY3RFbGVtZW50SW50
ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR0dFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRP
TVNWR0dyYWRpZW50RWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdJbWFnZUVsZW1l
bnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHTGVuZ3RoSW50ZXJuYWwuaCIKICNpbXBvcnQg
IkRPTVNWR0xlbmd0aExpc3RJbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NU1ZHTGluZUVsZW1lbnQu
aCIKLSNpbXBvcnQgIkRPTVNWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oIgotI2ltcG9ydCAiRE9N
U1ZHTWFya2VyRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NU1ZHTWFza0VsZW1lbnQuaCIKKyNpbXBv
cnQgIkRPTVNWR0xpbmVFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR0xpbmVhckdy
YWRpZW50RWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdNYXJrZXJFbGVtZW50SW50
ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR01hc2tFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQg
IkRPTVNWR01hdHJpeEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdNZXRhZGF0YUVsZW1lbnRJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHTnVtYmVyTGlzdEludGVybmFsLmgiCi0jaW1wb3J0
ICJET01TVkdQYWludC5oIgorI2ltcG9ydCAiRE9NU1ZHUGFpbnRJbnRlcm5hbC5oIgorI2ltcG9y
dCAiRE9NU1ZHUGF0aEVsZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHUGF0aFNlZ0Fy
Y0Fic0ludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdQYXRoU2VnQXJjUmVsSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIkRPTVNWR1BhdGhTZWdDbG9zZVBhdGhJbnRlcm5hbC5oIgpAQCAtMjcwLDEyICsy
NzIsNyBAQAogI2VuZGlmIC8vIFhQQVRIX1NVUFBPUlQKIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
ICAgIGNsYXNzIENTU1J1bGU7Ci0gICAgY2xhc3MgQ1NTVmFsdWU7Ci0gICAgY2xhc3MgRXZlbnQ7
Ci0gICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBOb2RlRmlsdGVyOwotICAgIGNsYXNzIFN0eWxl
U2hlZXQ7CiAKICNpZmRlZiBTVkdfU1VQUE9SVAogICAgIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC0y
OTMsMzkgKzI5MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAtIChpZClfaW5pdDsKIEBlbmQK
IAotQGludGVyZmFjZSBET01Ob2RlIChXZWJDb3JlSW50ZXJuYWwpCi0rIChET01Ob2RlICopX25v
ZGVXaXRoOihXZWJDb3JlOjpOb2RlICopaW1wbDsKLS0gKFdlYkNvcmU6Ok5vZGUgKilfbm9kZTsK
LUBlbmQKLQogLy8gQ1NTIEludGVybmFsIEludGVyZmFjZXMKIAotQGludGVyZmFjZSBET01DU1NS
dWxlIChXZWJDb3JlSW50ZXJuYWwpCi0rIChET01DU1NSdWxlICopX0NTU1J1bGVXaXRoOihXZWJD
b3JlOjpDU1NSdWxlICopaW1wbDsKLS0gKFdlYkNvcmU6OkNTU1J1bGUgKilfQ1NTUnVsZTsKLUBl
bmQKLQotQGludGVyZmFjZSBET01DU1NWYWx1ZSAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NQ1NT
VmFsdWUgKilfQ1NTVmFsdWVXaXRoOihXZWJDb3JlOjpDU1NWYWx1ZSAqKWltcGw7Ci0tIChXZWJD
b3JlOjpDU1NWYWx1ZSAqKV9DU1NWYWx1ZTsKLUBlbmQKLQogQGludGVyZmFjZSBET01SR0JDb2xv
ciAoV2ViQ29yZUludGVybmFsKQogKyAoRE9NUkdCQ29sb3IgKilfUkdCQ29sb3JXaXRoUkdCOihX
ZWJDb3JlOjpSR0JBMzIpdmFsdWU7Ci1AZW5kCi0KLS8vIFN0eWxlU2hlZXRzIEludGVybmFsIElu
dGVyZmFjZXMKLQotQGludGVyZmFjZSBET01TdHlsZVNoZWV0IChXZWJDb3JlSW50ZXJuYWwpCi0r
IChET01TdHlsZVNoZWV0ICopX3N0eWxlU2hlZXRXaXRoOihXZWJDb3JlOjpTdHlsZVNoZWV0ICop
aW1wbDsKLS0gKFdlYkNvcmU6OlN0eWxlU2hlZXQgKilfc3R5bGVTaGVldDsKLUBlbmQKLQotLy8g
RXZlbnRzIEludGVybmFsIEludGVyZmFjZXMKLQotQGludGVyZmFjZSBET01FdmVudCAoV2ViQ29y
ZUludGVybmFsKQotKyAoRE9NRXZlbnQgKilfZXZlbnRXaXRoOihXZWJDb3JlOjpFdmVudCAqKWlt
cGw7Ci0tIChXZWJDb3JlOjpFdmVudCAqKV9ldmVudDsKKy0gKFdlYkNvcmU6OlJHQkEzMilfUkdC
Q29sb3I7CiBAZW5kCiAKIC8vIFRyYXZlcnNhbCBJbnRlcm5hbCBJbnRlcmZhY2VzCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLm1tCShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01SR0JDb2xvci5tbQkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYg
KzEyNywxMSBAQCB2b2lkIHJlbW92ZVdyYXBwZXJGb3JSR0IoV2ViQ29yZTo6UkdCQTMyCiAKIEBp
bXBsZW1lbnRhdGlvbiBET01SR0JDb2xvciAoV2ViQ29yZUludGVybmFsKQogCistIChXZWJDb3Jl
OjpSR0JBMzIpX1JHQkNvbG9yCit7CisgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpS
R0JBMzI+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihfaW50ZXJuYWwpKTsKK30KKwogLSAo
aWQpX2luaXRXaXRoUkdCOihXZWJDb3JlOjpSR0JBMzIpdmFsdWUKIHsKICAgICBbc3VwZXIgX2lu
aXRdOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVNWR1BhdGhTZWdJbnRlcm5hbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01TVkdQYXRoU2VnSW50ZXJu
YWwuaAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHUGF0
aFNlZ0ludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCi0gKi8KLQotI2ltcG9ydCAiRE9NU1ZHUGF0aFNlZy5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7IGNsYXNzIFNWR1BhdGhTZWc7IH0KLQotQGludGVyZmFjZSBET01TVkdQYXRoU2VnIChX
ZWJDb3JlSW50ZXJuYWwpCi0tIChXZWJDb3JlOjpTVkdQYXRoU2VnICopX1NWR1BhdGhTZWc7Ci0r
IChET01TVkdQYXRoU2VnICopX1NWR1BhdGhTZWdXaXRoOihXZWJDb3JlOjpTVkdQYXRoU2VnICop
aW1wbDsKLUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
T2JqQy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0JKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JPYmpDLnBtCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxMSArNTgsMjAgQEAg
bXkgJXN0cmluZ1R5cGVIYXNoID0gKCJET01TdHJpbmciID0+IDEsIAogbXkgJW5hdGl2ZU9iakNU
eXBlSGFzaCA9ICgiVVJMIiA9PiAxLCAiQ29sb3IiID0+IDEpOwogbXkgJW5vblBvaW50ZXJUeXBl
SGFzaCA9ICgiRE9NVGltZVN0YW1wIiA9PiAxLCAiQ29tcGFyZUhvdyIgPT4gMSwgIlNWR1BhaW50
VHlwZSIgPT4gMSk7CiAKLSMgRklYTUU6IG5lZWQgdG8gYWRkIHRoZSBTVkcgYmFzZSB0eXBlcyB0
byB0aGlzIGhhc2guCi1teSAlYmFzZVR5cGVIYXNoID0gKCJOb2RlIiA9PiAxLCAiTm9kZUxpc3Qi
ID0+IDEsICJOYW1lZE5vZGVNYXAiID0+IDEsICJET01JbXBsZW1lbnRhdGlvbiIgPT4gMSwKKyMg
RklYTUU6IHRoaXMgc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggYSBmdW5jdGlvbiB0aGF0IHJlY3Vy
c2VzIHVwIHRoZSB0cmVlCisjIHRvIGZpbmQgdGhlIGFjdHVhbCBiYXNlIHR5cGUuCitteSAlYmFz
ZVR5cGVIYXNoID0gKCJPYmplY3QiID0+IDEsICJOb2RlIiA9PiAxLCAiTm9kZUxpc3QiID0+IDEs
ICJOYW1lZE5vZGVNYXAiID0+IDEsICJET01JbXBsZW1lbnRhdGlvbiIgPT4gMSwKICAgICAgICAg
ICAgICAgICAgICAgIkV2ZW50IiA9PiAxLCAiQ1NTUnVsZSIgPT4gMSwgIkNTU1ZhbHVlIiA9PiAx
LCAiU3R5bGVTaGVldCIgPT4gMSwgIk1lZGlhTGlzdCIgPT4gMSwKICAgICAgICAgICAgICAgICAg
ICAgIkNvdW50ZXIiID0+IDEsICJSZWN0IiA9PiAxLCAiUkdCQ29sb3IiID0+IDEsICJYUGF0aEV4
cHJlc3Npb24iID0+IDEsICJYUGF0aFJlc3VsdCIgPT4gMSwKLSAgICAgICAgICAgICAgICAgICAg
Ik5vZGVJdGVyYXRvciIgPT4gMSwgIlRyZWVXYWxrZXIiID0+IDEsICJBYnN0cmFjdFZpZXciID0+
IDEsICJTVkdQYXRoU2VnIiA9PiAxKTsKKyAgICAgICAgICAgICAgICAgICAgIk5vZGVJdGVyYXRv
ciIgPT4gMSwgIlRyZWVXYWxrZXIiID0+IDEsICJBYnN0cmFjdFZpZXciID0+IDEsCisgICAgICAg
ICAgICAgICAgICAgICJTVkdBbmdsZSIgPT4gMSwgIlNWR0FuaW1hdGVkQW5nbGUiID0+IDEsICJT
VkdBbmltYXRlZEJvb2xlYW4iID0+IDEsICJTVkdBbmltYXRlZEVudW1lcmF0aW9uIiA9PiAxLAor
ICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRJbnRlZ2VyIiA9PiAxLCAiU1ZHQW5pbWF0
ZWRMZW5ndGgiID0+IDEsICJTVkdBbmltYXRlZExlbmd0aExpc3QiID0+IDEsCisgICAgICAgICAg
ICAgICAgICAgICJTVkdBbmltYXRlZE51bWJlciIgPT4gMSwgIlNWR0FuaW1hdGVkTnVtYmVyTGlz
dCIgPT4gMSwgIlNWR0FuaW1hdGVkUG9pbnRzIiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAi
U1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvIiA9PiAxLCAiU1ZHQW5pbWF0ZWRSZWN0IiA9
PiAxLCAiU1ZHQW5pbWF0ZWRTdHJpbmciID0+IDEsCisgICAgICAgICAgICAgICAgICAgICJTVkdB
bmltYXRlZFRyYW5zZm9ybUxpc3QiID0+IDEsICJTVkdMZW5ndGgiID0+IDEsICJTVkdMZW5ndGhM
aXN0IiA9PiAxLCAiU1ZHTWF0cml4IiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAiU1ZHTnVt
YmVyIiA9PiAxLCAiU1ZHTnVtYmVyTGlzdCIgPT4gMSwgIlNWR1BhdGhTZWciID0+IDEsICJTVkdQ
YXRoU2VnTGlzdCIgPT4gMSwgIlNWR1BvaW50IiA9PiAxLAorICAgICAgICAgICAgICAgICAgICAi
U1ZHUG9pbnRMaXN0IiA9PiAxLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyIgPT4gMSwgIlNWR1Jl
Y3QiID0+IDEsICJTVkdSZW5kZXJpbmdJbnRlbnQiID0+IDEsCisgICAgICAgICAgICAgICAgICAg
ICJTVkdTdHJpbmdMaXN0IiA9PiAxLCAiU1ZHVHJhbnNmb3JtIiA9PiAxLCAiU1ZHVHJhbnNmb3Jt
TGlzdCIgPT4gMSwgIlNWR1VuaXRUeXBlcyIgPT4gMSk7CiAKICMgQ29uc3RhbnRzCiBteSAkYnVp
bGRpbmdGb3JUaWdlck9yRWFybGllciA9IDEgaWYgJEVOVnsiTUFDT1NYX0RFUExPWU1FTlRfVEFS
R0VUIn0gYW5kICRFTlZ7Ik1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCJ9IDw9IDEwLjQ7CkBAIC0x
MjA1LDQyICsxMjE0LDU5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiXEBlbmRcbiIpOwogICAgIH0KIAotICAgIHVubGVzcyAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntPYmpDTm9JbnRlcm5hbH0pIHsKKworICAgICMgR2Vu
ZXJhdGUgaW50ZXJuYWwgaW50ZXJmYWNlcworCisgICAgIyAtIFR5cGUtR2V0dGVyCisgICAgIyAt
IChXZWJDb3JlOjpGb29CYXIgKilfZm9vQmFyIGZvciBpbXBsZW1lbnRhdGlvbiBjbGFzcyBGb29C
YXIKKyAgICBteSAkdHlwZUdldHRlck5hbWUgPSBHZXRPYmpDVHlwZUdldHRlck5hbWUoJGludGVy
ZmFjZU5hbWUpOworICAgIG15ICR0eXBlR2V0dGVyU2lnID0gIi0gKCRpbXBsQ2xhc3NOYW1lV2l0
aE5hbWVzcGFjZSAqKSR0eXBlR2V0dGVyTmFtZSI7CisKKyAgICBteSBAaXZhcnNUb1JldGFpbiA9
ICgpOworICAgIG15ICRpdmFyc1RvSW5pdCA9ICIiOworICAgIG15ICR0eXBlTWFrZXJTaWdBZGRp
dGlvbiA9ICIiOworICAgIGlmIChAaXZhcnMgPiAwKSB7CisgICAgICAgIG15IEBpdmFyc0luaXRT
aWcgPSAoKTsKKyAgICAgICAgbXkgQGl2YXJzSW5pdENhbGwgPSAoKTsKKyAgICAgICAgZm9yZWFj
aCAkYXR0cmlidXRlIChAaXZhcnMpIHsKKyAgICAgICAgICAgIG15ICRuYW1lID0gJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLT5uYW1lOworICAgICAgICAgICAgbXkgJG1lbWJlck5hbWUgPSAibV8iIC4g
JG5hbWU7CisgICAgICAgICAgICBteSAkdmFyTmFtZSA9ICJpbiIgLiAkbmFtZTsKKyAgICAgICAg
ICAgIG15ICR0eXBlID0gR2V0T2JqQ1R5cGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsK
KyAgICAgICAgICAgIHB1c2goQGl2YXJzSW5pdFNpZywgIiRuYW1lOigkdHlwZSkkdmFyTmFtZSIp
OworICAgICAgICAgICAgcHVzaChAaXZhcnNJbml0Q2FsbCwgIiRuYW1lOiR2YXJOYW1lIik7Cisg
ICAgICAgICAgICBwdXNoKEBpdmFyc1RvUmV0YWluLCAiICAgICRtZW1iZXJOYW1lID0gWyR2YXJO
YW1lIHJldGFpbl07XG4iKTsKKyAgICAgICAgfQorICAgICAgICAkaXZhcnNUb0luaXQgPSAiICIg
LiBqb2luKCIgIiwgQGl2YXJzSW5pdENhbGwpOworICAgICAgICAkdHlwZU1ha2VyU2lnQWRkaXRp
b24gPSAiICIgLiBqb2luKCIgIiwgQGl2YXJzSW5pdFNpZyk7CisgICAgfQorCisgICAgIyAtIFR5
cGUtTWFrZXIKKyAgICBteSAkdHlwZU1ha2VyTmFtZSA9IEdldE9iakNUeXBlTWFrZXIoJGludGVy
ZmFjZU5hbWUpOworICAgIG15ICR0eXBlTWFrZXJTaWcgPSAiKyAoJGNsYXNzTmFtZSAqKSR0eXBl
TWFrZXJOYW1lOigkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2UgKilpbXBsIiAuICR0eXBlTWFr
ZXJTaWdBZGRpdGlvbjsKKworICAgICMgR2VuZXJhdGUgaW50ZXJmYWNlIGRlZmluaXRpb25zLiAK
KyAgICBAaW50ZW5hbEhlYWRlckNvbnRlbnQgPSBzcGxpdCgiXHIiLCAkaW1wbGVtZW50YXRpb25M
aWNlbmNlVGVtcGxhdGUpOworICAgIHB1c2goQGludGVuYWxIZWFkZXJDb250ZW50LCAiXG4jaW1w
b3J0IFwiJGNsYXNzTmFtZS5oXCJcbiIpOworICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdB
bmltYXRlZFR5cGUoJGludGVyZmFjZU5hbWUpKSB7CisgICAgICAgIHB1c2goQGludGVuYWxIZWFk
ZXJDb250ZW50LCAiI2ltcG9ydCBcIlNWR0FuaW1hdGVkVGVtcGxhdGUuaFwiXG5cbiIpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHB1c2goQGludGVuYWxIZWFkZXJDb250ZW50LCAiXG5uYW1lc3Bh
Y2UgV2ViQ29yZSB7IGNsYXNzICRpbXBsQ2xhc3NOYW1lOyB9XG5cbiIpOworICAgIH0KKyAgICBw
dXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgIlxAaW50ZXJmYWNlICRjbGFzc05hbWUgKFdlYkNv
cmVJbnRlcm5hbClcbiIpOworICAgIHB1c2goQGludGVuYWxIZWFkZXJDb250ZW50LCAkdHlwZUdl
dHRlclNpZyAuICI7XG4iKTsKKyAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgJHR5cGVN
YWtlclNpZyAuICI7XG4iKTsKKyAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgIlxAZW5k
XG4iKTsKKworICAgIHVubGVzcyAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntPYmpD
Q3VzdG9tSW50ZXJuYWxJbXBsfSkgewogICAgICAgICAjIC0gQkVHSU4gV2ViQ29yZUludGVybmFs
IGNhdGVnb3J5IEBpbXBsZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxu
XEBpbXBsZW1lbnRhdGlvbiAkY2xhc3NOYW1lIChXZWJDb3JlSW50ZXJuYWwpXG5cbiIpOwogCi0g
ICAgICAgICMgLSBUeXBlLUdldHRlcgotICAgICAgICAjIC0gKFdlYkNvcmU6OkZvb0JhciAqKV9m
b29CYXIgZm9yIGltcGxlbWVudGF0aW9uIGNsYXNzIEZvb0JhcgotICAgICAgICBteSAkdHlwZUdl
dHRlck5hbWUgPSBHZXRPYmpDVHlwZUdldHRlck5hbWUoJGludGVyZmFjZU5hbWUpOwotICAgICAg
ICBteSAkdHlwZUdldHRlclNpZyA9ICItICgkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2UgKikk
dHlwZUdldHRlck5hbWUiOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR0eXBlR2V0dGVy
U2lnXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIElNUEw7XG4iKTsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJ9XG5cbiIpOwogCi0gICAgICAgIG15IEBpdmFyc1RvUmV0YWluID0gKCk7Ci0g
ICAgICAgIG15ICRpdmFyc1RvSW5pdCA9ICIiOwotICAgICAgICBteSAkdHlwZU1ha2VyU2lnQWRk
aXRpb24gPSAiIjsKLSAgICAgICAgaWYgKEBpdmFycyA+IDApIHsKLSAgICAgICAgICAgIG15IEBp
dmFyc0luaXRTaWcgPSAoKTsKLSAgICAgICAgICAgIG15IEBpdmFyc0luaXRDYWxsID0gKCk7Ci0g
ICAgICAgICAgICBmb3JlYWNoICRhdHRyaWJ1dGUgKEBpdmFycykgewotICAgICAgICAgICAgICAg
IG15ICRuYW1lID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lOwotICAgICAgICAgICAgICAg
IG15ICRtZW1iZXJOYW1lID0gIm1fIiAuICRuYW1lOwotICAgICAgICAgICAgICAgIG15ICR2YXJO
YW1lID0gImluIiAuICRuYW1lOwotICAgICAgICAgICAgICAgIG15ICR0eXBlID0gR2V0T2JqQ1R5
cGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBp
dmFyc0luaXRTaWcsICIkbmFtZTooJHR5cGUpJHZhck5hbWUiKTsKLSAgICAgICAgICAgICAgICBw
dXNoKEBpdmFyc0luaXRDYWxsLCAiJG5hbWU6JHZhck5hbWUiKTsKLSAgICAgICAgICAgICAgICBw
dXNoKEBpdmFyc1RvUmV0YWluLCAiICAgICRtZW1iZXJOYW1lID0gWyR2YXJOYW1lIHJldGFpbl07
XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRpdmFyc1RvSW5pdCA9ICIgIiAuIGpv
aW4oIiAiLCBAaXZhcnNJbml0Q2FsbCk7Ci0gICAgICAgICAgICAkdHlwZU1ha2VyU2lnQWRkaXRp
b24gPSAiICIgLiBqb2luKCIgIiwgQGl2YXJzSW5pdFNpZyk7Ci0gICAgICAgIH0KLQotICAgICAg
ICAjIC0gVHlwZS1NYWtlcgotICAgICAgICBteSAkdHlwZU1ha2VyTmFtZSA9IEdldE9iakNUeXBl
TWFrZXIoJGludGVyZmFjZU5hbWUpOwotICAgICAgICBteSAkdHlwZU1ha2VyU2lnID0gIisgKCRj
bGFzc05hbWUgKikkdHlwZU1ha2VyTmFtZTooJGltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlICop
aW1wbCIgLiAkdHlwZU1ha2VyU2lnQWRkaXRpb247Ci0KICAgICAgICAgaWYgKCRwYXJlbnRJbXBs
Q2xhc3NOYW1lIGVxICJPYmplY3QiKSB7ICAgICAgICAKICAgICAgICAgICAgICMgLSAoaWQpX2lu
aXRXaXRoRm9vQmFyOihXZWJDb3JlOjpGb29CYXIgKilpbXBsIGZvciBpbXBsZW1lbnRhdGlvbiBj
bGFzcyBGb29CYXIKICAgICAgICAgICAgIG15ICRpbml0V2l0aEltcGxOYW1lID0gIl9pbml0V2l0
aCIgLiAkaW1wbENsYXNzTmFtZTsKQEAgLTEyODAsMTkgKzEzMDYsNiBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogCiAgICAgICAgICMgRU5EIFdlYkNvcmVJbnRlcm5hbCBjYXRlZ29yeQog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxAZW5kXG4iKTsKLQotICAgICAgICAjIEdlbmVy
YXRlIGludGVyZmFjZSBkZWZpbml0aW9ucy4gCi0gICAgICAgIEBpbnRlbmFsSGVhZGVyQ29udGVu
dCA9IHNwbGl0KCJcciIsICRpbXBsZW1lbnRhdGlvbkxpY2VuY2VUZW1wbGF0ZSk7Ci0gICAgICAg
IHB1c2goQGludGVuYWxIZWFkZXJDb250ZW50LCAiXG4jaW1wb3J0IFwiJGNsYXNzTmFtZS5oXCJc
biIpOwotICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCRpbnRl
cmZhY2VOYW1lKSkgewotICAgICAgICAgICAgcHVzaChAaW50ZW5hbEhlYWRlckNvbnRlbnQsICIj
aW1wb3J0IFwiU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oXCJcblxuIik7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgIlxubmFtZXNwYWNlIFdl
YkNvcmUgeyBjbGFzcyAkaW1wbENsYXNzTmFtZTsgfVxuXG4iKTsKLSAgICAgICAgfQotICAgICAg
ICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwgIlxAaW50ZXJmYWNlICRjbGFzc05hbWUgKFdl
YkNvcmVJbnRlcm5hbClcbiIpOwotICAgICAgICBwdXNoKEBpbnRlbmFsSGVhZGVyQ29udGVudCwg
JHR5cGVHZXR0ZXJTaWcgLiAiO1xuIik7Ci0gICAgICAgIHB1c2goQGludGVuYWxIZWFkZXJDb250
ZW50LCAkdHlwZU1ha2VyU2lnIC4gIjtcbiIpOwotICAgICAgICBwdXNoKEBpbnRlbmFsSGVhZGVy
Q29udGVudCwgIlxAZW5kXG4iKTsKICAgICB9CiAKICAgICAjIC0gRW5kIHRoZSBpZmRlZiBjb25k
aXRpb25hbCBpZiBuZWNlc3NhcnkKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCShyZXZpc2lvbiAxNjk3NykKKysrIFdl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiBt
b2R1bGUgY3NzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50
ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01DU1NSdWxlLCBHZW5lcmF0ZUNvbnN0cnVjdG9y
LCBPYmpDTm9JbnRlcm5hbF0gQ1NTUnVsZSB7CisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9
S0pTOjpET01DU1NSdWxlLCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBPYmpDQ3VzdG9tSW50ZXJuYWxJ
bXBsXSBDU1NSdWxlIHsKIAogICAgICAgICAvLyBSdWxlVHlwZQogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBVTktOT1dOX1JVTEUgPSAwOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ZhbHVlLmlkbAkocmV2aXNpb24gMTY5
NzcpCisrKyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcg
KzIwLDcgQEAKIAogbW9kdWxlIGNzcyB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1L
SlM6OkRPTUNTU1ZhbHVlLCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBPYmpDTm9JbnRlcm5hbF0gQ1NT
VmFsdWUgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NQ1NTVmFsdWUsIEdl
bmVyYXRlQ29uc3RydWN0b3IsIE9iakNDdXN0b21JbnRlcm5hbEltcGxdIENTU1ZhbHVlIHsKIAog
ICAgICAgICAvLyBVbml0VHlwZXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0lO
SEVSSVQgICAgICAgICA9IDA7CkluZGV4OiBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAkocmV2aXNpb24gMTY5NzcpCisr
KyBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEs
NyBAQAogbW9kdWxlIHN0eWxlc2hlZXRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExl
dmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gU3R5bGVTaGVldCB7CisgICAg
aW50ZXJmYWNlIFtPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsXSBTdHlsZVNoZWV0IHsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgdHlwZTsKICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAgZGlzYWJsZWQ7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBOb2RlICAgICAgICAgICAgIG93bmVyTm9kZTsKSW5kZXg6IFdlYkNvcmUvZG9t
L0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJldmlzaW9u
IDE2OTc3KQorKysgV2ViQ29yZS9kb20vRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYs
NiArMTE2LDE0IEBAIGJvb2wgRXZlbnQ6OmlzT3ZlcmZsb3dFdmVudCgpIGNvbnN0CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCisjaWZkZWYgU1ZHX1NVUFBPUlQKK2Jvb2wgRXZlbnQ6OmlzU1ZHWm9v
bUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKworCiBib29s
IEV2ZW50OjpzdG9yZXNSZXN1bHRBc1N0cmluZygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNl
OwpJbmRleDogV2ViQ29yZS9kb20vRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9F
dmVudC5oCShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk5LDYgKzk5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNXaGVlbEV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Jl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc092
ZXJmbG93RXZlbnQoKSBjb25zdDsKKyNpZmRlZiBTVkdfU1VQUE9SVAorICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNTVkdab29tRXZlbnQoKSBjb25zdDsKKyNlbmRpZgogICAgICAgICAKICAgICAgICAg
Ym9vbCBwcm9wYWdhdGlvblN0b3BwZWQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BhZ2F0aW9uU3Rv
cHBlZDsgfQogICAgICAgICBib29sIGRlZmF1bHRQcmV2ZW50ZWQoKSBjb25zdCB7IHJldHVybiBt
X2RlZmF1bHRQcmV2ZW50ZWQ7IH0KSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5pZGwJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29y
ZS9kb20vRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiBtb2R1bGUg
ZXZlbnRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJm
YWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01FdmVudCwgR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2Jq
Q05vSW50ZXJuYWxdIEV2ZW50IHsKKyAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkRP
TUV2ZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsXSBFdmVu
dCB7CiAKICAgICAgICAgLy8gRE9NIFBoYXNlVHlwZQogICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBDQVBUVVJJTkdfUEhBU0UgICAgID0gMTsKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuaWRsCShyZXZpc2lvbiAxNjk3NykKKysr
IFdlYkNvcmUvZG9tL05vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAK
IG1vZHVsZSBjb3JlIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NTm9k
ZSwgR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2JqQ05vSW50ZXJuYWxdIE5vZGUgeyAgICAgICAgCisg
ICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01Ob2RlLCBHZW5lcmF0ZUNvbnN0cnVj
dG9yLCBPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsXSBOb2RlIHsgICAgICAgIAogICAgICAgICAvLyBO
b2RlVHlwZQogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCAgICAgIEVMRU1FTlRfTk9ERSAg
ICAgICAgICAgICAgICAgICA9IDE7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAgICAg
QVRUUklCVVRFX05PREUgICAgICAgICAgICAgICAgID0gMjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIv
ZXZlbnRzL1NWR1pvb21FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9ldmVu
dHMvU1ZHWm9vbUV2ZW50LmNwcAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2tzdmcyL2V2
ZW50cy9TVkdab29tRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94
QGtkZS5vcmc+Ci0gICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtk
ZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5v
cmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbS53ZWluaWdAZ21h
aWwuY29tKQogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAKQEAg
LTI0LDcgKzI1LDcgQEAKICNpZmRlZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNWR1pvb21FdmVu
dC5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAog
U1ZHWm9vbUV2ZW50OjpTVkdab29tRXZlbnQoKQogICAgIDogbV9uZXdTY2FsZSgwLjApCkBAIC03
MSw2ICs3MiwxMyBAQCBGbG9hdFBvaW50IFNWR1pvb21FdmVudDo6bmV3VHJhbnNsYXRlKCkgCiAg
ICAgcmV0dXJuIG1fbmV3VHJhbnNsYXRlOwogfQogCi0vLyB2aW06dHM9NDpub2V0Citib29sIFNW
R1pvb21FdmVudDo6aXNTVkdab29tRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKICNlbmRpZiAvLyBTVkdfU1VQUE9SVAogCisv
LyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL2tzdmcyL2V2ZW50cy9TVkdab29tRXZlbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL2V2ZW50cy9TVkdab29tRXZlbnQuaAkocmV2
aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2tzdmcyL2V2ZW50cy9TVkdab29tRXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1IE5pa29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgotICAgICAgICAgICAgICAg
ICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAw
NiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAgICAgICAgICAgICAgICAg
IAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC00Nyw2ICs0
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBGbG9hdFBvaW50IG5ld1RyYW5z
bGF0ZSgpIGNvbnN0OwogCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NWR1pvb21FdmVudCgpIGNv
bnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZmxvYXQgbV9uZXdTY2FsZTsKICAgICAgICAg
ZmxvYXQgbV9wcmV2aW91c1NjYWxlOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0
ZWRBbmdsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0ZWRB
bmdsZS5pZGwJKHJldmlzaW9uIDE2OTc3KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0
ZWRBbmdsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAogICovCiAKLW1vZHVsZSBzdmd7Cittb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9U1ZHXSBTVkdBbmltYXRlZEFuZ2xlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNWR0FuZ2xlIGJhc2VWYWw7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDaXJj
bGVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDaXJjbGVF
bGVtZW50LmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDaXJj
bGVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTI1LDEyICsyNiwxMiBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHXSBTVkdDaXJjbGVFbGVtZW50IDogU1ZHRWxlbWVudAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgU1ZHVGVzdHMKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIFNWR0xhbmdTcGFjZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICwgU1ZHU3R5bGFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAsIFNWR1RyYW5zZm9ybWFibGUgeworICAgIGludGVyZmFj
ZSBbQ29uZGl0aW9uYWw9U1ZHXSBTVkdDaXJjbGVFbGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1Rlc3RzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHTGFu
Z1NwYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR1N0eWxhYmxlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVHJhbnNmb3JtYWJsZSB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExlbmd0aCBjeDsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTGVuZ3RoIGN5OwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRMZW5ndGggcjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0NsaXBQYXRoRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHQ2xpcFBhdGhFbGVtZW50LmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBA
QAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdt
YWlsLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMjUsMTMgKzI2LDEzIEBACiAKIG1vZHVsZSBzdmcgewogCi0gICAg
aW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR0NsaXBQYXRoRWxlbWVudCA6IFNWR0VsZW1l
bnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwg
U1ZHVGVzdHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICwgU1ZHTGFuZ1NwYWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgU1ZHU3R5bGFibGUKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgU1ZHVHJh
bnNmb3JtYWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qLCBTVkdVbml0VHlwZXMqLyB7IAorICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZH
XSBTVkdDbGlwUGF0aEVsZW1lbnQgOiBTVkdFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdUZXN0cywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHTGFuZ1NwYWNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVkdTdHlsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVHJhbnNmb3JtYWJsZQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTVkdVbml0VHlwZXMg
Ki8geyAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24g
Y2xpcFBhdGhVbml0czsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRo
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAxNjk3NykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTIz
LDM5ICsyNCw4OSBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAotbW9kdWxlIHN2ZwotewotICBp
bnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHUGF0aEVsZW1lbnQgOiAKLSAgICAgICAgICAg
ICAgICBTVkdFbGVtZW50LAotICAgICAgICAgICAgICAgIFNWR1Rlc3RzLAotICAgICAgICAgICAg
ICAgIFNWR0xhbmdTcGFjZSwKLSAgICAgICAgICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLAotICAgICAgICAgICAgICAgIFNWR1N0eWxhYmxlLAotICAgICAgICAgICAgICAgIFNW
R1RyYW5zZm9ybWFibGUsCi0gICAgICAgICAgICAgICAgU1ZHQW5pbWF0ZWRQYXRoRGF0YSB7IAot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciBwYXRoTGVuZ3RoOwotICAg
IGZsb2F0ICAgICAgICAgZ2V0VG90YWxMZW5ndGggKCAgKTsKLSAgICBTVkdQb2ludCAgICAgIGdl
dFBvaW50QXRMZW5ndGggKCBpbiBmbG9hdCBkaXN0YW5jZSApOwotICAgIHVuc2lnbmVkIGxvbmcg
Z2V0UGF0aFNlZ0F0TGVuZ3RoICggaW4gZmxvYXQgZGlzdGFuY2UgKTsKLSAgICBTVkdQYXRoU2Vn
Q2xvc2VQYXRoICAgIGNyZWF0ZVNWR1BhdGhTZWdDbG9zZVBhdGggKCAgKTsKLSAgICBTVkdQYXRo
U2VnTW92ZXRvQWJzICAgIGNyZWF0ZVNWR1BhdGhTZWdNb3ZldG9BYnMgKCBpbiBmbG9hdCB4LCBp
biBmbG9hdCB5ICk7Ci0gICAgU1ZHUGF0aFNlZ01vdmV0b1JlbCAgICBjcmVhdGVTVkdQYXRoU2Vn
TW92ZXRvUmVsICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSApOwotICAgIFNWR1BhdGhTZWdMaW5l
dG9BYnMgICAgY3JlYXRlU1ZHUGF0aFNlZ0xpbmV0b0FicyAoIGluIGZsb2F0IHgsIGluIGZsb2F0
IHkgKTsKLSAgICBTVkdQYXRoU2VnTGluZXRvUmVsICAgIGNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9S
ZWwgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5ICk7Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0FicyAgICBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzICggaW4gZmxvYXQgeCwgaW4g
ZmxvYXQgeSwgaW4gZmxvYXQgeDEsIGluIGZsb2F0IHkxLCBpbiBmbG9hdCB4MiwgaW4gZmxvYXQg
eTIgKTsKLSAgICBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsICAgIGNyZWF0ZVNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNSZWwgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5LCBpbiBmbG9hdCB4MSwgaW4g
ZmxvYXQgeTEsIGluIGZsb2F0IHgyLCBpbiBmbG9hdCB5MiApOwotICAgIFNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljQWJzICAgIGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzICgg
aW4gZmxvYXQgeCwgaW4gZmxvYXQgeSwgaW4gZmxvYXQgeDEsIGluIGZsb2F0IHkxICk7Ci0gICAg
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNSZWwgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5LCBpbiBmbG9hdCB4MSwgaW4gZmxv
YXQgeTEgKTsKLSAgICBTVkdQYXRoU2VnQXJjQWJzICAgIGNyZWF0ZVNWR1BhdGhTZWdBcmNBYnMg
KCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5LCBpbiBmbG9hdCByMSwgaW4gZmxvYXQgcjIsIGluIGZs
b2F0IGFuZ2xlLCBpbiBib29sZWFuIGxhcmdlQXJjRmxhZywgaW4gYm9vbGVhbiBzd2VlcEZsYWcg
KTsKLSAgICBTVkdQYXRoU2VnQXJjUmVsICAgIGNyZWF0ZVNWR1BhdGhTZWdBcmNSZWwgKCBpbiBm
bG9hdCB4LCBpbiBmbG9hdCB5LCBpbiBmbG9hdCByMSwgaW4gZmxvYXQgcjIsIGluIGZsb2F0IGFu
Z2xlLCBpbiBib29sZWFuIGxhcmdlQXJjRmxhZywgaW4gYm9vbGVhbiBzd2VlcEZsYWcgKTsKLSAg
ICBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyAgICBjcmVhdGVTVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbEFicyAoIGluIGZsb2F0IHggKTsKLSAgICBTVkdQYXRoU2VnTGluZXRvSG9yaXpv
bnRhbFJlbCAgICBjcmVhdGVTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbCAoIGluIGZsb2F0
IHggKTsKLSAgICBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMgICAgY3JlYXRlU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsQWJzICggaW4gZmxvYXQgeSApOwotICAgIFNWR1BhdGhTZWdMaW5ldG9W
ZXJ0aWNhbFJlbCAgICBjcmVhdGVTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwgKCBpbiBmbG9h
dCB5ICk7Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyAgICBjcmVhdGVTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzICggaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSwgaW4g
ZmxvYXQgeDIsIGluIGZsb2F0IHkyICk7Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aFJlbCAgICBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsICggaW4gZmxvYXQg
eCwgaW4gZmxvYXQgeSwgaW4gZmxvYXQgeDIsIGluIGZsb2F0IHkyICk7Ci0gICAgU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGhBYnMgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5ICk7Ci0gICAgU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwgICAgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGhSZWwgKCBpbiBmbG9hdCB4LCBpbiBmbG9hdCB5ICk7Ci19OworbW9kdWxlIHN2
ZyB7CiAKLX07CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR1BhdGhFbGVtZW50
IDogU1ZHRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTVkdUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVkdMYW5nU3BhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdTdHlsYWJsZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdUcmFuc2Zv
cm1hYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNWR0FuaW1hdGVkUGF0aERhdGEgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWROdW1iZXIgcGF0aExlbmd0aDsKKworICAgICAgICBmbG9hdCBnZXRUb3RhbExlbmd0aCgp
OworICAgICAgICBTVkdQb2ludCBnZXRQb2ludEF0TGVuZ3RoKGluIGZsb2F0IGRpc3RhbmNlKTsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBnZXRQYXRoU2VnQXRMZW5ndGgoaW4gZmxvYXQgZGlzdGFu
Y2UpOworCisgICAgICAgIFNWR1BhdGhTZWdDbG9zZVBhdGggY3JlYXRlU1ZHUGF0aFNlZ0Nsb3Nl
UGF0aCgpOworCisgICAgICAgIFNWR1BhdGhTZWdNb3ZldG9BYnMgY3JlYXRlU1ZHUGF0aFNlZ01v
dmV0b0FicyhpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHkpOworICAgICAgICBTVkdQYXRoU2VnTW92ZXRv
UmVsIGNyZWF0ZVNWR1BhdGhTZWdNb3ZldG9SZWwoaW4gZmxvYXQgeCwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5KTsKKwor
ICAgICAgICBTVkdQYXRoU2VnTGluZXRvQWJzIGNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9BYnMoaW4g
ZmxvYXQgeCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBmbG9hdCB5KTsKKyAgICAgICAgU1ZHUGF0aFNlZ0xpbmV0b1JlbCBjcmVhdGVT
VkdQYXRoU2VnTGluZXRvUmVsKGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeSk7CisKKyAgICAgICAgU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY0FicyBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzKGlu
IGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeSwgCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB4MSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBmbG9hdCB5MSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB4MiwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBmbG9hdCB5Mik7CisgICAgICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwgY3JlYXRl
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbChpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0
IHksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gZmxvYXQgeDEsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeTEsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gZmxvYXQgeDIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeTIpOworCisgICAgICAgIFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzIGNyZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljQWJzKGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5LCAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gZmxvYXQgeDEsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5MSk7
CisgICAgICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsIGNyZWF0ZVNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljUmVsKGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9h
dCB5LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgeDEsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBmbG9hdCB5MSk7CisKKyAgICAgICAgU1ZHUGF0aFNlZ0FyY0FicyBjcmVhdGVTVkdQYXRoU2Vn
QXJjQWJzKGluIGZsb2F0IHgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gZmxvYXQgeSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBmbG9hdCByMSwgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCByMiwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCBhbmdsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGxhcmdlQXJj
RmxhZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIHN3ZWVwRmxhZyk7CisgICAgICAgIFNWR1BhdGhTZWdBcmNSZWwgY3JlYXRlU1ZH
UGF0aFNlZ0FyY1JlbChpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHksIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgcjEsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgcjIsIAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgYW5nbGUsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBs
YXJnZUFyY0ZsYWcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gYm9vbGVhbiBzd2VlcEZsYWcpOworCisgICAgICAgIFNWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsQWJzIGNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzKGluIGZsb2F0
IHgpOworICAgICAgICBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbCBjcmVhdGVTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbFJlbChpbiBmbG9hdCB4KTsKKworICAgICAgICBTVkdQYXRoU2Vn
TGluZXRvVmVydGljYWxBYnMgY3JlYXRlU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzKGluIGZs
b2F0IHkpOworICAgICAgICBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwgY3JlYXRlU1ZHUGF0
aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsKGluIGZsb2F0IHkpOworCisgICAgICAgIFNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGhBYnMgY3JlYXRlU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFi
cyhpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHksIAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gZmxvYXQgeDIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxv
YXQgeTIpOworICAgICAgICBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsIGNyZWF0ZVNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwoaW4gZmxvYXQgeCwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBmbG9hdCB5LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHgyLCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHkyKTsKKworICAgICAgICBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyBjcmVhdGVTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1Ntb290aEFicyhpbiBmbG9hdCB4LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
ZmxvYXQgeSk7CisgICAgICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsIGNy
ZWF0ZVNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsKGluIGZsb2F0IHgsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCB5KTsKKyAgICB9OworCit9CkluZGV4
OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoU2VnLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQYXRoU2VnLmlkbAkocmV2aXNpb24gMTY5NzcpCisrKyBXZWJDb3JlL2tz
dmcyL3N2Zy9TVkdQYXRoU2VnLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAog
CiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBHZW5lcmF0
ZUNvbnN0cnVjdG9yLCBPYmpDTm9JbnRlcm5hbF0gU1ZHUGF0aFNlZyB7CisgICAgaW50ZXJmYWNl
IFtDb25kaXRpb25hbD1TVkcsIEdlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNDdXN0b21JbnRlcm5h
bEltcGxdIFNWR1BhdGhTZWcgewogICAgICAgICAvLyBQYXRoIFNlZ21lbnQgVHlwZXMKICAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFUSFNFR19VTktOT1dOICAgICAgICAgICAgICAgICAg
ICAgID0gMDsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFUSFNFR19DTE9TRVBBVEgg
ICAgICAgICAgICAgICAgICAgID0gMTsK
</data>
<flag name="review"
          id="3722"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>