<?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>145896</bug_id>
          
          <creation_ts>2015-06-11 13:39:59 -0700</creation_ts>
          <short_desc>Get rid of WebOriginDataManager</short_desc>
          <delta_ts>2015-06-11 17:14:15 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1101395</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-11 13:39:59 -0700</bug_when>
    <thetext>Get rid of WebOriginDataManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101443</commentid>
    <comment_count>1</comment_count>
      <attachid>254767</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-11 16:36:04 -0700</bug_when>
    <thetext>Created attachment 254767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101451</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-11 17:14:15 -0700</bug_when>
    <thetext>Committed r185479: &lt;http://trac.webkit.org/changeset/185479&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254767</attachid>
            <date>2015-06-11 16:36:04 -0700</date>
            <delta_ts>2015-06-11 16:49:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145896-20150611163534.patch</filename>
            <type>text/plain</type>
            <size>63744</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWQ0ZmZiNzVlMGY5ZGI4
MTM3ZTllM2M1ODdlMDFkZWFhMmFlNzQxYi4uYzBlMzE4NTZkMjU1MjU3MmI2YjU1ODEwYWIzNmI3
NzY0ZTcxOTg4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc1IEBACiAyMDE1LTA2LTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgR2V0IHJpZCBvZiBX
ZWJPcmlnaW5EYXRhTWFuYWdlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ1ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzOjpEYXRhYmFzZVByb2Nlc3MpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmdldE9yaWdpbnMpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4p
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmRlbGV0ZUVudHJp
ZXNNb2RpZmllZEJldHdlZW5EYXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkRhdGFi
YXNlUHJvY2Vzczo6ZGVsZXRlQWxsRW50cmllcyk6IERlbGV0ZWQuCisgICAgICAgICogRGF0YWJh
c2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9EYXRhYmFz
ZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVBy
b2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKFdl
YktpdDo6V2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eTo6c3VwcGxlbWVudE5hbWUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpjcmVhdGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpXZWJP
cmlnaW5EYXRhTWFuYWdlclByb3h5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3Jp
Z2luRGF0YU1hbmFnZXJQcm94eTo6fldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Ojpwcm9jZXNzUG9v
bERlc3Ryb3llZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5h
Z2VyUHJveHk6OnByb2Nlc3NEaWRDbG9zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
Yk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OnNob3VsZFRlcm1pbmF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OnJlZldlYkNvbnRleHRTdXBw
bGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3JpZ2luRGF0YU1hbmFnZXJQ
cm94eTo6ZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJL
aXQ6OkNhbGxiYWNrU3luY2hyb25pemVyOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpDYWxsYmFja1N5bmNocm9uaXplcjo6fkNhbGxiYWNrU3luY2hyb25pemVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6Q2FsbGJhY2tTeW5jaHJvbml6ZXI6OnRhc2tTdGFydGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q2FsbGJhY2tTeW5jaHJvbml6ZXI6OnRhc2tDb21w
bGV0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDYWxsYmFja1N5bmNocm9uaXplcjo6
Q2FsbGJhY2tTeW5jaHJvbml6ZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVT
eW5jaHJvbml6ZWRDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OnNlbmRNZXNz
YWdlVG9BbGxQcm9jZXNzZXNJblByb2Nlc3NQb29sKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eTo6Z2V0T3JpZ2lucyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmRpZEdldE9yaWdpbnMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpkZWxl
dGVFbnRyaWVzRm9yT3JpZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3JpZ2lu
RGF0YU1hbmFnZXJQcm94eTo6ZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eTo6ZGlkRGVs
ZXRlRW50cmllcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5h
Z2VyUHJveHk6OmRlbGV0ZUFsbEVudHJpZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpX
ZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpkaWREZWxldGVBbGxFbnRyaWVzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5oOiBSZW1vdmVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6Cisg
ICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5jcHA6IFJlbW92ZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyOjpXZWJPcmlnaW5EYXRhTWFuYWdl
cik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyOjpnZXRP
cmlnaW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3JpZ2luRGF0YU1hbmFnZXI6
OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4pOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJP
cmlnaW5EYXRhTWFuYWdlcjo6ZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViT3JpZ2luRGF0YU1hbmFnZXI6OmRlbGV0ZUFsbEVu
dHJpZXMpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJPcmln
aW5EYXRhTWFuYWdlci5oOiBSZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvT3JpZ2luRGF0
YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5tZXNzYWdlcy5pbjogUmVtb3ZlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL09yaWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50Lmg6IFJl
bW92ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudDo6
V2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50Ojp+V2ViT3JpZ2luRGF0YU1hbmFnZXJT
dXBwbGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6On5XZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6V2ViUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OmdldE9yaWdpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkZWxl
dGVFbnRyaWVzRm9yT3JpZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6ZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6ZGVsZXRlQWxsRW50cmllcyk6IERlbGV0ZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW06CisKKzIwMTUtMDYtMTEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWltcGxlbWVudCBXS09yaWdpbkRhdGFNYW5hZ2Vy
IGluIHRlcm1zIG9mIEFQSTo6V2Vic2l0ZURhdGFTdG9yZQogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODg5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAKaW5kZXggMTMxNTQzZGEwNjlk
NmJjNmYyNWE2Nzc0ZTlkY2U1MDg0ZGYwMGY2MS4uM2ZlMmMzMTNmMGUxMjk1OTRiMjkxMmU4NzJj
MTA3NWEyNzc3OGM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNz
L0RhdGFiYXNlUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNz
L0RhdGFiYXNlUHJvY2Vzcy5jcHAKQEAgLTM1LDkgKzM1LDYgQEAKICNpbmNsdWRlICJEYXRhYmFz
ZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJVbmlxdWVJREJEYXRhYmFzZS5o
IgogI2luY2x1ZGUgIldlYkNyb3NzVGhyZWFkQ29waWVyLmgiCi0jaW5jbHVkZSAiV2ViT3JpZ2lu
RGF0YU1hbmFnZXIuaCIKLSNpbmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdlck1lc3NhZ2VzLmgi
Ci0jaW5jbHVkZSAiV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2Vic2l0ZURhdGEuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CkBAIC01Niw3ICs1Myw2IEBAIERhdGFiYXNl
UHJvY2VzcyYgRGF0YWJhc2VQcm9jZXNzOjpzaW5nbGV0b24oKQogCiBEYXRhYmFzZVByb2Nlc3M6
OkRhdGFiYXNlUHJvY2VzcygpCiAgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20u
YXBwbGUuV2ViS2l0LkRhdGFiYXNlUHJvY2VzcyIpKQotICAgICwgbV93ZWJPcmlnaW5EYXRhTWFu
YWdlcihzdGQ6Om1ha2VfdW5pcXVlPFdlYk9yaWdpbkRhdGFNYW5hZ2VyPigqdGhpcywgKnRoaXMp
KQogewogICAgIC8vIE1ha2Ugc3VyZSB0aGUgVVRGOEVuY29kaW5nIGVuY29kaW5nIGFuZCB0aGUg
dGV4dCBlbmNvZGluZyBtYXBzIGhhdmUgYmVlbiBidWlsdCBvbiB0aGUgbWFpbiB0aHJlYWQgYmVm
b3JlIGEgYmFja2dyb3VuZCB0aHJlYWQgbmVlZHMgaXQuCiAgICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzUzNjUgLSBOZWVkIGEgbW9yZSBleHBs
aWNpdCB3YXkgb2YgZG9pbmcgdGhpcyBiZXNpZGVzIGFjY2Vzc2luZyB0aGUgVVRGOEVuY29kaW5n
LgpAQCAtMzk1LDU3ICszOTEsNiBAQCB2b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGVsZXRlQWxsSW5k
ZXhlZERhdGFiYXNlRW50cmllcygpCiAgICAgICAgIHJlbW92ZUFsbERhdGFiYXNlc0Zvck9yaWdp
blBhdGgob3JpZ2luUGF0aCwgc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpsb3dlc3QoKSwg
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKSk7CiB9CiAKLXZvaWQgRGF0YWJhc2VQ
cm9jZXNzOjpnZXRPcmlnaW5zKFdLT3JpZ2luRGF0YVR5cGVzIHR5cGVzLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQgKGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+Jik+IGNvbXBsZXRpb24pCi17
Ci0gICAgaWYgKCEodHlwZXMgJiBrV0tXZWJTUUxEYXRhYmFzZU9yaWdpbkRhdGEpKSB7Ci0gICAg
ICAgIGNvbXBsZXRpb24oVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4oKSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBwb3N0RGF0YWJhc2VUYXNrKHN0ZDo6bWFrZV91bmlxdWU8QXN5
bmNUYXNrPihbY29tcGxldGlvbiwgdGhpc10gewotICAgICAgICBjb21wbGV0aW9uKGdldEluZGV4
ZWREYXRhYmFzZU9yaWdpbnMoKSk7Ci0gICAgfSkpOwotfQotCi12b2lkIERhdGFiYXNlUHJvY2Vz
czo6ZGVsZXRlRW50cmllc0Zvck9yaWdpbihXS09yaWdpbkRhdGFUeXBlcyB0eXBlcywgY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxl
dGlvbikKLXsKLSAgICBpZiAoISh0eXBlcyAmIGtXS1dlYlNRTERhdGFiYXNlT3JpZ2luRGF0YSkp
IHsKLSAgICAgICAgY29tcGxldGlvbigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
cG9zdERhdGFiYXNlVGFzayhzdGQ6Om1ha2VfdW5pcXVlPEFzeW5jVGFzaz4oW3RoaXMsIG9yaWdp
biwgY29tcGxldGlvbl0gewotICAgICAgICBkZWxldGVJbmRleGVkRGF0YWJhc2VFbnRyaWVzRm9y
T3JpZ2luKG9yaWdpbik7Ci0gICAgICAgIGNvbXBsZXRpb24oKTsKLSAgICB9KSk7Ci19Ci0KLXZv
aWQgRGF0YWJhc2VQcm9jZXNzOjpkZWxldGVFbnRyaWVzTW9kaWZpZWRCZXR3ZWVuRGF0ZXMoV0tP
cmlnaW5EYXRhVHlwZXMgdHlwZXMsIGRvdWJsZSBzdGFydERhdGUsIGRvdWJsZSBlbmREYXRlLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb24pCi17Ci0gICAgaWYgKCEodHlwZXMgJiBr
V0tXZWJTUUxEYXRhYmFzZU9yaWdpbkRhdGEpKSB7Ci0gICAgICAgIGNvbXBsZXRpb24oKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHBvc3REYXRhYmFzZVRhc2soc3RkOjptYWtlX3Vu
aXF1ZTxBc3luY1Rhc2s+KFt0aGlzLCBzdGFydERhdGUsIGVuZERhdGUsIGNvbXBsZXRpb25dIHsK
LSAgICAgICAgZGVsZXRlSW5kZXhlZERhdGFiYXNlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVz
KHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7Ci0gICAgICAgIGNvbXBsZXRpb24oKTsKLSAgICB9KSk7Ci19
Ci0KLXZvaWQgRGF0YWJhc2VQcm9jZXNzOjpkZWxldGVBbGxFbnRyaWVzKFdLT3JpZ2luRGF0YVR5
cGVzIHR5cGVzLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb24pCi17Ci0gICAgaWYg
KCEodHlwZXMgJiBrV0tXZWJTUUxEYXRhYmFzZU9yaWdpbkRhdGEpKSB7Ci0gICAgICAgIGNvbXBs
ZXRpb24oKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHBvc3REYXRhYmFzZVRhc2so
c3RkOjptYWtlX3VuaXF1ZTxBc3luY1Rhc2s+KFt0aGlzLCBjb21wbGV0aW9uXSB7Ci0gICAgICAg
IGRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZUVudHJpZXMoKTsKLSAgICAgICAgY29tcGxldGlvbigp
OwotICAgIH0pKTsKLX0KLQogI2lmICFQTEFURk9STShDT0NPQSkKIHZvaWQgRGF0YWJhc2VQcm9j
ZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNz
L0RhdGFiYXNlUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFi
YXNlUHJvY2Vzcy5oCmluZGV4IGNiNjJhMTJjOTZjNmIwYzUwMDZkNTAwZGVkOTMwZTFmZDYxNGMy
ZWQuLjk4ZGY2MWEyMWUzMGM5ZjdjOTBjNDEwZTI5MDNkNzdiMmZkNjI5ZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmgKQEAgLTMwLDcg
KzMwLDYgQEAKIAogI2luY2x1ZGUgIkNoaWxkUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlVuaXF1ZUlE
QkRhdGFiYXNlSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIldlYk9yaWdpbkRhdGFNYW5hZ2VyU3Vw
cGxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTM4LDExICszNywxMCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEFz
eW5jVGFzazsKIGNsYXNzIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjsKIGNsYXNzIFVu
aXF1ZUlEQkRhdGFiYXNlOwotY2xhc3MgV2ViT3JpZ2luRGF0YU1hbmFnZXI7CiAKIHN0cnVjdCBE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKLWNsYXNzIERhdGFiYXNlUHJvY2Vz
cyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHB1YmxpYyBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBs
ZW1lbnQgIHsKK2NsYXNzIERhdGFiYXNlUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3Mgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlUHJvY2Vzcyk7CiAgICAgZnJpZW5kIGNs
YXNzIE5ldmVyRGVzdHJveWVkPERhdGFiYXNlUHJvY2Vzcz47CiBwdWJsaWM6CkBAIC05NiwxMiAr
OTQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgcGVyZm9ybU5leHREYXRhYmFzZVRhc2soKTsKICAg
ICB2b2lkIGVuc3VyZVBhdGhFeGlzdHMoY29uc3QgU3RyaW5nJik7CiAKLSAgICAvLyBXZWJPcmln
aW5EYXRhTWFuYWdlclN1cHBsZW1lbnQKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0T3JpZ2lucyhXS09y
aWdpbkRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBWZWN0b3I8U2VjdXJpdHlP
cmlnaW5EYXRhPiYpPiBjb21wbGV0aW9uKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlRW50cmllc0Zvck9yaWdpbihXS09yaWdpbkRhdGFUeXBlcywgY29uc3QgU2VjdXJpdHlPcmln
aW5EYXRhJiwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKFdLT3JpZ2lu
RGF0YVR5cGVzLCBkb3VibGUgc3RhcnREYXRlLCBkb3VibGUgZW5kRGF0ZSwgc3RkOjpmdW5jdGlv
bjx2b2lkICgpPiBjb21wbGV0aW9uKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRl
QWxsRW50cmllcyhXS09yaWdpbkRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21w
bGV0aW9uKSBvdmVycmlkZTsKLQogICAgIFZlY3RvcjxSZWZQdHI8RGF0YWJhc2VUb1dlYlByb2Nl
c3NDb25uZWN0aW9uPj4gbV9kYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwogCiAgICAg
UmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKQEAgLTExMiw4ICsxMDQsNiBAQCBwcml2YXRlOgogCiAg
ICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEFzeW5jVGFzaz4+IG1fZGF0YWJhc2VUYXNrczsKICAg
ICBNdXRleCBtX2RhdGFiYXNlVGFza011dGV4OwotCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYk9y
aWdpbkRhdGFNYW5hZ2VyPiBtX3dlYk9yaWdpbkRhdGFNYW5hZ2VyOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBmNTVkNmE2ZTBh
MzNmNTMxOGVjMjU0MWZkZjQ3Y2E5ODRkNjBkZTgzLi5mMTJhMzQwMjVlYmMzYzk2YjdmNzUxY2Q3
NTQ1OTRjYTA5Nzg1MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNSw4
ICsxMjUsNiBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJNZWRpYUNhY2hlTWFuYWdl
ciBcCiAgICAgV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSBcCiAgICAgV2ViTm90aWZpY2F0aW9u
TWFuYWdlciBcCi0gICAgV2ViT3JpZ2luRGF0YU1hbmFnZXIgXAotICAgIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyUHJveHkgXAogICAgIFdlYlBhZ2UgXAogICAgIFdlYlBhZ2VHcm91cFByb3h5IFwKICAg
ICBXZWJQYWdlUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCmluZGV4IDg3ZDIyYmViZDA5MWM3ZDRlNGU2Y2U2OGU3ZGRmZDU5NzE4ZjE0ZGEuLmRmNDk5
YTJmMTZmOTRhNmM0MDJmOGYyMjcxYzY3NDgxYzhiMTNhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTk5LDcgKzk5LDYgQEAgY2xhc3MgV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI7CiBj
bGFzcyBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOwogY2xhc3MgV2ViT3BlblBhbmVsUmVzdWx0TGlz
dGVuZXJQcm94eTsKLWNsYXNzIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJQ
YWdlR3JvdXA7CiBjbGFzcyBXZWJQYWdlUHJveHk7CiBjbGFzcyBXZWJQcmVmZXJlbmNlczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggNzIzMTQw
MmJkMTJiZDdhODZhNGQyYTFhMTFkOWQwMjZiOGU3OTNlYy4uODQ1ZmIzZjdhOTRiMjYyZjgzY2E1
YzdlNjA4MGFiZmQ4NGE0N2M5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dC5jcHAKQEAgLTUyLDcgKzUyLDYgQEAKICNpbmNsdWRlICJXZWJLZXlWYWx1ZVN0
b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oIgog
I2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIgotI2luY2x1ZGUgIldlYk9y
aWdpbkRhdGFNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdl
clByb3h5LmgiCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogI2luY2x1ZGUgIldlYkJhdHRl
cnlNYW5hZ2VyUHJveHkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
YXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggYTcyZDAxZmNiNjMy
YWQyMDNiOTEyMWZhYmMxM2U1ZmUxMWQ4NGVjMy4uODNlNTdjODg5ZGYyOTdlMjQ2MTI5MTQ3ZDIz
N2E2MzI1Njc4ZDVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RhdGFi
YXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAKQEAgLTI4LDggKzI4LDYgQEAK
IAogI2luY2x1ZGUgIkRhdGFiYXNlUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRGF0YWJh
c2VQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYk9yaWdpbkRhdGFNYW5hZ2Vy
UHJveHkuaCIKLSNpbmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAtODMsMTEgKzgxLDYgQEAgdm9p
ZCBEYXRhYmFzZVByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBJUEM6Ok0KICAgICAgICAgZGlkUmVjZWl2ZURhdGFiYXNlUHJvY2Vzc1By
b3h5TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LQotICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2Vi
T3JpZ2luRGF0YU1hbmFnZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAg
IG1fcHJvY2Vzc1Bvb2wtPnN1cHBsZW1lbnQ8V2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eT4oKS0+
ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9CiB9CiAKIHZvaWQgRGF0YWJhc2VQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEo
U2Vzc2lvbklEIHNlc3Npb25JRCwgV2Vic2l0ZURhdGFUeXBlcyBkYXRhVHlwZXMsIHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoV2Vic2l0ZURhdGEpPiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5YjBhOTdmZGM0MGIwNDI5Njc3YWI4ZjFh
YTBjYjgxZjRiYThhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Lmgi
Ci0KLSNpbmNsdWRlICJBUElTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luRGF0YS5oIgotI2luY2x1ZGUgIldlYk9yaWdpbkRhdGFNYW5hZ2VyTWVzc2FnZXMuaCIKLSNp
bmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJX
ZWJQcm9jZXNzUG9vbC5oIgotI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNvbnN0IGNoYXIq
IFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICByZXR1
cm4gIldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkiOwotfQotCi1QYXNzUmVmUHRyPFdlYk9yaWdp
bkRhdGFNYW5hZ2VyUHJveHk+IFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmNyZWF0ZShXZWJQ
cm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJP
cmlnaW5EYXRhTWFuYWdlclByb3h5KHByb2Nlc3NQb29sKSk7Ci19Ci0KLVdlYk9yaWdpbkRhdGFN
YW5hZ2VyUHJveHk6OldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkoV2ViUHJvY2Vzc1Bvb2wqIHBy
b2Nlc3NQb29sKQotICAgIDogV2ViQ29udGV4dFN1cHBsZW1lbnQocHJvY2Vzc1Bvb2wpCi17Ci0g
ICAgcHJvY2Vzc1Bvb2wtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViT3JpZ2luRGF0
YU1hbmFnZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCAqdGhpcyk7Ci19Ci0KLVdlYk9y
aWdpbkRhdGFNYW5hZ2VyUHJveHk6On5XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5KCkKLXsKLX0K
LQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OnByb2Nlc3NQb29sRGVzdHJveWVk
KCkKLXsKLSAgICBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAobV9hcnJheUNhbGxiYWNrcywgQ2FsbGJh
Y2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZhbGlkYXRlZCk7Ci19Ci0KLXZvaWQgV2ViT3JpZ2lu
RGF0YU1hbmFnZXJQcm94eTo6cHJvY2Vzc0RpZENsb3NlKFdlYlByb2Nlc3NQcm94eSopCi17Ci0g
ICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fYXJyYXlDYWxsYmFja3MsIENhbGxiYWNrQmFzZTo6
RXJyb3I6OlByb2Nlc3NFeGl0ZWQpOwotfQotCi1ib29sIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJv
eHk6OnNob3VsZFRlcm1pbmF0ZShXZWJQcm9jZXNzUHJveHkqKSBjb25zdAotewotICAgIHJldHVy
biBtX2FycmF5Q2FsbGJhY2tzLmlzRW1wdHkoKTsKLX0KLQotdm9pZCBXZWJPcmlnaW5EYXRhTWFu
YWdlclByb3h5OjpyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpCi17Ci0gICAgQVBJOjpPYmplY3Q6
OnJlZigpOwotfQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmRlcmVmV2ViQ29u
dGV4dFN1cHBsZW1lbnQoKQotewotICAgIEFQSTo6T2JqZWN0OjpkZXJlZigpOwotfQotCi1jbGFz
cyBDYWxsYmFja1N5bmNocm9uaXplciA6IHB1YmxpYyBSZWZDb3VudGVkPENhbGxiYWNrU3luY2hy
b25pemVyPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FsbGJhY2tTeW5jaHJv
bml6ZXI+IGNyZWF0ZShjb25zdCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IENhbGxiYWNrQmFz
ZTo6RXJyb3ImKT4mIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDYWxsYmFja1N5bmNocm9uaXplcihjYWxsYmFjaykpOwotICAgIH0KLQotICAgIH5DYWxsYmFj
a1N5bmNocm9uaXplcigpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fY291bnQpOwotICAgICAg
ICBBU1NFUlQoIW1fY2FsbGJhY2spOwotICAgIH0KLQotICAgIHZvaWQgdGFza1N0YXJ0ZWQoKQot
ICAgIHsKLSAgICAgICAgKyttX2NvdW50OwotICAgIH0KLQotICAgIHZvaWQgdGFza0NvbXBsZXRl
ZChjb25zdCBDYWxsYmFja0Jhc2U6OkVycm9yJiBlcnJvcikKLSAgICB7Ci0gICAgICAgIGlmIChl
cnJvciAhPSBDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKQotICAgICAgICAgICAgbV9lcnJvciA9
IGVycm9yOwotCi0gICAgICAgIEFTU0VSVChtX2NvdW50KTsKLSAgICAgICAgaWYgKCEtLW1fY291
bnQpIHsKLSAgICAgICAgICAgIEFTU0VSVChtX2NhbGxiYWNrKTsKLSAgICAgICAgICAgIG1fY2Fs
bGJhY2sobV9lcnJvcik7Ci0gICAgICAgICAgICBtX2NhbGxiYWNrID0gbnVsbHB0cjsKLSAgICAg
ICAgfQotICAgIH0KLQotcHJvdGVjdGVkOgotICAgIENhbGxiYWNrU3luY2hyb25pemVyKGNvbnN0
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgQ2FsbGJhY2tCYXNlOjpFcnJvciYpPiYgY2FsbGJh
Y2spCi0gICAgICAgIDogbV9jb3VudCgwKQotICAgICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9lcnJvcihDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKQotICAgIHsKLSAg
ICAgICAgQVNTRVJUKG1fY2FsbGJhY2spOwotICAgIH0KLQotICAgIHVuc2lnbmVkIG1fY291bnQ7
Ci0gICAgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBDYWxsYmFja0Jhc2U6OkVycm9yJik+IG1f
Y2FsbGJhY2s7Ci0gICAgQ2FsbGJhY2tCYXNlOjpFcnJvciBtX2Vycm9yOwotfTsKLQotc3RhdGlj
IHN0ZDo6cGFpcjxSZWZQdHI8Q2FsbGJhY2tTeW5jaHJvbml6ZXI+LCBWb2lkQ2FsbGJhY2s6OkNh
bGxiYWNrRnVuY3Rpb24+IGNyZWF0ZVN5bmNocm9uaXplZENhbGxiYWNrKHR5cGVuYW1lIFZvaWRD
YWxsYmFjazo6Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjaykKLXsKLSAgICBSZWZQdHI8Q2FsbGJh
Y2tTeW5jaHJvbml6ZXI+IHN5bmNocm9uaXplciA9IENhbGxiYWNrU3luY2hyb25pemVyOjpjcmVh
dGUoY2FsbGJhY2spOwotICAgIFZvaWRDYWxsYmFjazo6Q2FsbGJhY2tGdW5jdGlvbiBzeW5jaHJv
bml6ZWRDYWxsYmFjayA9IFtzeW5jaHJvbml6ZXJdKENhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3Ip
IHsKLSAgICAgICAgc3luY2hyb25pemVyLT50YXNrQ29tcGxldGVkKGVycm9yKTsKLSAgICB9Owot
Ci0gICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHN5bmNocm9uaXplciwgc3luY2hyb25pemVkQ2Fs
bGJhY2spOwotfQotCi1zdGF0aWMgc3RkOjpwYWlyPFJlZlB0cjxDYWxsYmFja1N5bmNocm9uaXpl
cj4sIEFycmF5Q2FsbGJhY2s6OkNhbGxiYWNrRnVuY3Rpb24+IGNyZWF0ZVN5bmNocm9uaXplZENh
bGxiYWNrKHR5cGVuYW1lIEFycmF5Q2FsbGJhY2s6OkNhbGxiYWNrRnVuY3Rpb24gY2FsbGJhY2sp
Ci17Ci0gICAgUmVmUHRyPEFQSTo6QXJyYXk+IGFnZ3JlZ2F0ZUFycmF5ID0gQVBJOjpBcnJheTo6
Y3JlYXRlKCk7Ci0gICAgUmVmUHRyPENhbGxiYWNrU3luY2hyb25pemVyPiBzeW5jaHJvbml6ZXIg
PSBDYWxsYmFja1N5bmNocm9uaXplcjo6Y3JlYXRlKFthZ2dyZWdhdGVBcnJheSwgY2FsbGJhY2td
KGNvbnN0IENhbGxiYWNrQmFzZTo6RXJyb3ImIGVycm9yKSB7Ci0gICAgICAgIGNhbGxiYWNrKGFn
Z3JlZ2F0ZUFycmF5LmdldCgpLCBlcnJvcik7Ci0gICAgfSk7Ci0KLSAgICBBcnJheUNhbGxiYWNr
OjpDYWxsYmFja0Z1bmN0aW9uIHN5bmNocm9uaXplZENhbGxiYWNrID0gW2FnZ3JlZ2F0ZUFycmF5
LCBzeW5jaHJvbml6ZXJdKEFQSTo6QXJyYXkqIGFycmF5LCBDYWxsYmFja0Jhc2U6OkVycm9yIGVy
cm9yKSB7Ci0gICAgICAgIGlmIChhcnJheSkKLSAgICAgICAgICAgIGFnZ3JlZ2F0ZUFycmF5LT5l
bGVtZW50cygpLmFwcGVuZFZlY3RvcihhcnJheS0+ZWxlbWVudHMoKSk7Ci0gICAgICAgIHN5bmNo
cm9uaXplci0+dGFza0NvbXBsZXRlZChlcnJvcik7Ci0gICAgfTsKLQotICAgIHJldHVybiBzdGQ6
Om1ha2VfcGFpcihzeW5jaHJvbml6ZXIsIHN5bmNocm9uaXplZENhbGxiYWNrKTsKLX0KLQotdGVt
cGxhdGUgPHR5cGVuYW1lIENhbGxiYWNrVHlwZSwgdHlwZW5hbWUgTWVzc2FnZVR5cGUsIHR5cGVu
YW1lLi4uIFBhcmFtZXRlcnM+Ci1zdGF0aWMgdm9pZCBzZW5kTWVzc2FnZVRvQWxsUHJvY2Vzc2Vz
SW5Qcm9jZXNzUG9vbChXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wsIHR5cGVuYW1lIENhbGxi
YWNrVHlwZTo6Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjaywgSGFzaE1hcDx1aW50NjRfdCwgUmVm
UHRyPENhbGxiYWNrVHlwZT4+JiBjYWxsYmFja1N0b3JhZ2UsIFBhcmFtZXRlcnMuLi4gcGFyYW1l
dGVycykKLXsKLSAgICBpZiAoIXByb2Nlc3NQb29sKSB7Ci0gICAgICAgIENhbGxiYWNrVHlwZTo6
Y3JlYXRlKGNhbGxiYWNrKS0+aW52YWxpZGF0ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgYXV0byBzeW5jaHJvbml6ZXJBbmRDYWxsYmFjayA9IGNyZWF0ZVN5bmNocm9uaXplZENh
bGxiYWNrKGNhbGxiYWNrKTsKLSAgICBSZWZQdHI8Q2FsbGJhY2tTeW5jaHJvbml6ZXI+IHN5bmNo
cm9uaXplciA9IHN5bmNocm9uaXplckFuZENhbGxiYWNrLmZpcnN0OwotICAgIGF1dG8gcGVyUHJv
Y2Vzc0NhbGxiYWNrID0gc3luY2hyb25pemVyQW5kQ2FsbGJhY2suc2Vjb25kOwotCi0gICAgZm9y
IChhdXRvJiBwcm9jZXNzIDogcHJvY2Vzc1Bvb2wtPnByb2Nlc3NlcygpKSB7Ci0gICAgICAgIGlm
ICghcHJvY2VzcyB8fCAhcHJvY2Vzcy0+Y2FuU2VuZE1lc3NhZ2UoKSkKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgIHN5bmNocm9uaXplci0+dGFza1N0YXJ0ZWQoKTsKLSAgICAgICAg
UmVmUHRyPENhbGxiYWNrVHlwZT4gY2FsbGJhY2sgPSBDYWxsYmFja1R5cGU6OmNyZWF0ZShwZXJQ
cm9jZXNzQ2FsbGJhY2spOwotICAgICAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gY2FsbGJhY2st
PmNhbGxiYWNrSUQoKTsKLSAgICAgICAgY2FsbGJhY2tTdG9yYWdlLnNldChjYWxsYmFja0lELCBj
YWxsYmFjay5yZWxlYXNlKCkpOwotICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VUeXBlKHBh
cmFtZXRlcnMuLi4sIGNhbGxiYWNrSUQpLCAwKTsKLSAgICB9Ci0KLSAgICB7Ci0gICAgICAgIHN5
bmNocm9uaXplci0+dGFza1N0YXJ0ZWQoKTsKLSAgICAgICAgUmVmUHRyPENhbGxiYWNrVHlwZT4g
Y2FsbGJhY2sgPSBDYWxsYmFja1R5cGU6OmNyZWF0ZShwZXJQcm9jZXNzQ2FsbGJhY2spOwotICAg
ICAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gY2FsbGJhY2stPmNhbGxiYWNrSUQoKTsKLSAgICAg
ICAgY2FsbGJhY2tTdG9yYWdlLnNldChjYWxsYmFja0lELCBjYWxsYmFjay5yZWxlYXNlKCkpOwot
ICAgICAgICBwcm9jZXNzUG9vbC0+c2VuZFRvRGF0YWJhc2VQcm9jZXNzUmVsYXVuY2hpbmdJZk5l
Y2Vzc2FyeShNZXNzYWdlVHlwZShwYXJhbWV0ZXJzLi4uLCBjYWxsYmFja0lEKSk7Ci0gICAgfQot
fQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmdldE9yaWdpbnMoV0tPcmlnaW5E
YXRhVHlwZXMgdHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQVBJOjpBcnJheSosIENhbGxiYWNr
QmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQotewotICAgIHNlbmRNZXNzYWdlVG9BbGxQ
cm9jZXNzZXNJblByb2Nlc3NQb29sPEFycmF5Q2FsbGJhY2ssIE1lc3NhZ2VzOjpXZWJPcmlnaW5E
YXRhTWFuYWdlcjo6R2V0T3JpZ2lucz4ocHJvY2Vzc1Bvb2woKSwgY2FsbGJhY2tGdW5jdGlvbiwg
bV9hcnJheUNhbGxiYWNrcywgdHlwZXMpOwotfQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2Vy
UHJveHk6OmRpZEdldE9yaWdpbnMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBW
ZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3JpZ2luSWRlbnRpZmllcnMsIHVpbnQ2NF90IGNh
bGxiYWNrSUQpCi17Ci0gICAgUmVmUHRyPEFycmF5Q2FsbGJhY2s+IGNhbGxiYWNrID0gbV9hcnJh
eUNhbGxiYWNrcy50YWtlKGNhbGxiYWNrSUQpOwotICAgIE1FU1NBR0VfQ0hFQ0tfQkFTRShjYWxs
YmFjaywgJmNvbm5lY3Rpb24pOwotCi0gICAgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHNl
Y3VyaXR5T3JpZ2luczsKLSAgICBzZWN1cml0eU9yaWdpbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShvcmlnaW5JZGVudGlmaWVycy5zaXplKCkpOwotCi0gICAgZm9yIChjb25zdCBhdXRvJiBvcmln
aW5JZGVudGlmaWVyIDogb3JpZ2luSWRlbnRpZmllcnMpCi0gICAgICAgIHNlY3VyaXR5T3JpZ2lu
cy51bmNoZWNrZWRBcHBlbmQoQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG9yaWdpbklkZW50
aWZpZXIuc2VjdXJpdHlPcmlnaW4oKSkpOwotCi0gICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFj
a1dpdGhSZXR1cm5WYWx1ZShBUEk6OkFycmF5OjpjcmVhdGUoV1RGOjptb3ZlKHNlY3VyaXR5T3Jp
Z2lucykpLnB0cigpKTsKLX0KLQotdm9pZCBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpkZWxl
dGVFbnRyaWVzRm9yT3JpZ2luKFdLT3JpZ2luRGF0YVR5cGVzIHR5cGVzLCBBUEk6OlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+
IGNhbGxiYWNrRnVuY3Rpb24pCi17Ci0gICAgU2VjdXJpdHlPcmlnaW5EYXRhIHNlY3VyaXR5T3Jp
Z2luRGF0YTsKLSAgICBzZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2wgPSBvcmlnaW4tPnNlY3Vy
aXR5T3JpZ2luKCkucHJvdG9jb2woKTsKLSAgICBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCA9IG9y
aWdpbi0+c2VjdXJpdHlPcmlnaW4oKS5ob3N0KCk7Ci0gICAgc2VjdXJpdHlPcmlnaW5EYXRhLnBv
cnQgPSBvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkucG9ydCgpOwotCi0gICAgc2VuZE1lc3NhZ2VU
b0FsbFByb2Nlc3Nlc0luUHJvY2Vzc1Bvb2w8Vm9pZENhbGxiYWNrLCBNZXNzYWdlczo6V2ViT3Jp
Z2luRGF0YU1hbmFnZXI6OkRlbGV0ZUVudHJpZXNGb3JPcmlnaW4+KHByb2Nlc3NQb29sKCksIGNh
bGxiYWNrRnVuY3Rpb24sIG1fdm9pZENhbGxiYWNrcywgdHlwZXMsIHNlY3VyaXR5T3JpZ2luRGF0
YSk7Ci19Ci0KLXZvaWQgV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eTo6ZGVsZXRlRW50cmllc01v
ZGlmaWVkQmV0d2VlbkRhdGVzKFdLT3JpZ2luRGF0YVR5cGVzIHR5cGVzLCBkb3VibGUgc3RhcnRE
YXRlLCBkb3VibGUgZW5kRGF0ZSwgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVy
cm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKLXsKLSAgICBzZW5kTWVzc2FnZVRvQWxsUHJvY2Vzc2Vz
SW5Qcm9jZXNzUG9vbDxWb2lkQ2FsbGJhY2ssIE1lc3NhZ2VzOjpXZWJPcmlnaW5EYXRhTWFuYWdl
cjo6RGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzPihwcm9jZXNzUG9vbCgpLCBjYWxs
YmFja0Z1bmN0aW9uLCBtX3ZvaWRDYWxsYmFja3MsIHR5cGVzLCBzdGFydERhdGUsIGVuZERhdGUp
OwotfQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmRpZERlbGV0ZUVudHJpZXMo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCB1aW50NjRfdCBjYWxsYmFja0lEKQotewotICAg
IFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV92b2lkQ2FsbGJhY2tzLnRha2UoY2Fs
bGJhY2tJRCk7Ci0gICAgTUVTU0FHRV9DSEVDS19CQVNFKGNhbGxiYWNrLCAmY29ubmVjdGlvbik7
Ci0gICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFjaygpOwotfQotCi12b2lkIFdlYk9yaWdpbkRh
dGFNYW5hZ2VyUHJveHk6OmRlbGV0ZUFsbEVudHJpZXMoV0tPcmlnaW5EYXRhVHlwZXMgdHlwZXMs
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rp
b24pCi17Ci0gICAgc2VuZE1lc3NhZ2VUb0FsbFByb2Nlc3Nlc0luUHJvY2Vzc1Bvb2w8Vm9pZENh
bGxiYWNrLCBNZXNzYWdlczo6V2ViT3JpZ2luRGF0YU1hbmFnZXI6OkRlbGV0ZUFsbEVudHJpZXM+
KHByb2Nlc3NQb29sKCksIGNhbGxiYWNrRnVuY3Rpb24sIG1fdm9pZENhbGxiYWNrcywgdHlwZXMp
OwotfQotCi12b2lkIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6OmRpZERlbGV0ZUFsbEVudHJp
ZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCB1aW50NjRfdCBjYWxsYmFja0lEKQotewot
ICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV92b2lkQ2FsbGJhY2tzLnRha2Uo
Y2FsbGJhY2tJRCk7Ci0gICAgTUVTU0FHRV9DSEVDS19CQVNFKGNhbGxiYWNrLCAmY29ubmVjdGlv
bik7Ci0gICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFjaygpOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5E
YXRhTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViT3JpZ2luRGF0
YU1hbmFnZXJQcm94eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTRjZTc5YTA2
MDkwYzU1OWYwNzYzMWI3NzVkZmM2ZTRhMmVkYmJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5E
YXRhTWFuYWdlclByb3h5LmgKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5X2gKLSNkZWZpbmUg
V2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eV9oCi0KLSNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNp
bmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIK
LSNpbmNsdWRlICJXS09yaWdpbkRhdGFNYW5hZ2VyLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dFN1
cHBsZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xh
c3MgQ29ubmVjdGlvbjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlByb2Nl
c3NQb29sOwotc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKLQotdHlwZWRlZiBHZW5lcmljQ2Fs
bGJhY2s8QVBJOjpBcnJheSo+IEFycmF5Q2FsbGJhY2s7Ci0KLWNsYXNzIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpP
cmlnaW5EYXRhTWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVudCwgcHJpdmF0ZSBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1
cHBsZW1lbnROYW1lKCk7Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJPcmlnaW5EYXRhTWFu
YWdlclByb3h5PiBjcmVhdGUoV2ViUHJvY2Vzc1Bvb2wqKTsKLSAgICB2aXJ0dWFsIH5XZWJPcmln
aW5EYXRhTWFuYWdlclByb3h5KCk7Ci0KLSAgICB2b2lkIGdldE9yaWdpbnMoV0tPcmlnaW5EYXRh
VHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQVBJOjpBcnJheSosIENhbGxiYWNrQmFzZTo6RXJy
b3IpPik7Ci0gICAgdm9pZCBkZWxldGVFbnRyaWVzRm9yT3JpZ2luKFdLT3JpZ2luRGF0YVR5cGVz
LCBBUEk6OlNlY3VyaXR5T3JpZ2luKiwgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6
OkVycm9yKT4pOwotICAgIHZvaWQgZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKFdL
T3JpZ2luRGF0YVR5cGVzLCBkb3VibGUgc3RhcnREYXRlLCBkb3VibGUgZW5kRGF0ZSwgc3RkOjpm
dW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4pOwotICAgIHZvaWQgZGVsZXRlQWxs
RW50cmllcyhXS09yaWdpbkRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
c2U6OkVycm9yKT4pOwotCi0gICAgdXNpbmcgQVBJOjpPYmplY3Q6OnJlZjsKLSAgICB1c2luZyBB
UEk6Ok9iamVjdDo6ZGVyZWY7Ci0KLSAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJikgb3ZlcnJpZGU7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViT3JpZ2lu
RGF0YU1hbmFnZXJQcm94eShXZWJQcm9jZXNzUG9vbCopOwotCi0gICAgdm9pZCBkaWRHZXRPcmln
aW5zKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+Jiwg
dWludDY0X3QgY2FsbGJhY2tJRCk7Ci0gICAgdm9pZCBkaWREZWxldGVFbnRyaWVzKElQQzo6Q29u
bmVjdGlvbiYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwotICAgIHZvaWQgZGlkRGVsZXRlQWxsRW50
cmllcyhJUEM6OkNvbm5lY3Rpb24mLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKLQotICAgIC8vIFdl
YkNvbnRleHRTdXBwbGVtZW50Ci0gICAgdmlydHVhbCB2b2lkIHByb2Nlc3NQb29sRGVzdHJveWVk
KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEaWRDbG9zZShXZWJQcm9jZXNz
UHJveHkqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVGVybWluYXRlKFdlYlBy
b2Nlc3NQcm94eSopIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZWZXZWJDb250
ZXh0U3VwcGxlbWVudCgpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkZXJlZldlYkNvbnRl
eHRTdXBwbGVtZW50KCkgb3ZlcnJpZGU7Ci0KLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8
QXJyYXlDYWxsYmFjaz4+IG1fYXJyYXlDYWxsYmFja3M7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwg
UmVmUHRyPFZvaWRDYWxsYmFjaz4+IG1fdm9pZENhbGxiYWNrczsKLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAotCi0jZW5kaWYgLy8gV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5EYXRhTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGFj
OGE2ZmFlYzRhNjg4ODk3NjkwYzlkYjFkMjBjOTQ2NmZhY2U3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJP
cmlnaW5EYXRhTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyAvZGV2L251bGwKQEAgLTEsMjcg
KzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMg
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1t
ZXNzYWdlcyAtPiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5IHsKLSAgICBEaWRHZXRPcmlnaW5z
KFZlY3RvcjxXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2luSWRlbnRpZmllcnMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpIFdhbnRzQ29ubmVjdGlvbgotICAgIERpZERlbGV0ZUVudHJpZXMo
dWludDY0X3QgY2FsbGJhY2tJRCkgV2FudHNDb25uZWN0aW9uCi0gICAgRGlkRGVsZXRlQWxsRW50
cmllcyh1aW50NjRfdCBjYWxsYmFja0lEKSBXYW50c0Nvbm5lY3Rpb24KLX0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDQ1OGFlN2FmZmY0MGZhNWRh
NDRkZWE0MzlkZmE4Yzk0MGZkMDc0OWIuLjk4ZjFkYzk3YWE3NGI4ZWE2OWY0OTBjNDBkMzQ2MDlm
YzJjZDU3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cApAQCAtNzgsNyArNzgsNiBAQAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQogI2luY2x1
ZGUgIkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlUHJvY2Vzc01lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94
eS5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpAQCAtMjA4LDkgKzIw
Nyw2IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAg
ICAgYWRkU3VwcGxlbWVudDxXZWJCYXR0ZXJ5TWFuYWdlclByb3h5PigpOwogI2VuZGlmCi0jaWYg
RU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCi0gICAgYWRkU3VwcGxlbWVudDxXZWJPcmlnaW5EYXRh
TWFuYWdlclByb3h5PigpOwotI2VuZGlmCiAKICAgICBwcm9jZXNzUG9vbHMoKS5hcHBlbmQodGhp
cyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBkMTJjYzMyMjIwNTEwMzVlZWQyNGExZjM5MjZlZmRmZTMxODFhZmU1Li5kYmQ0
ZDE4NjhkMGE5MDUzOTFmMmZlN2YyZWJhMzY4NmMyNTVmMDViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg1LDEwICsxMDg1
LDYgQEAKIAkJNzUzRTNFMEQxODg3Mzk4NTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1M0UzRTBCMTg4
NzM5NzMwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5jcHAgKi87IH07CiAJCTc1M0UzRTBFMTg4
NzM5ODkwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzUzRTNFMDkxODg3Mzk0QjAwMTg4NDk2IC8qIFNlc3Np
b25UcmFja2VyLmggKi87IH07CiAJCTc1NTQyMkJEMTgwNjJCQjIwMDQ2RjZBOCAvKiBXS09yaWdp
bkRhdGFNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc1NTQyMkI5MTgwNjJCOUMwMDQ2RjZBOCAvKiBXS09yaWdpbkRhdGFNYW5hZ2VyLmNw
cCAqLzsgfTsKLQkJNzU1NDIyQzQxODA2MkJGOTAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5h
Z2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzU1NDIyQkUxODA2MkJFNDAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHku
Y3BwICovOyB9OwotCQk3NTU0MjJDQjE4MDY1MDAyMDA0NkY2QTggLyogV2ViT3JpZ2luRGF0YU1h
bmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzU1NDIyQzYxODA2NEZGQzAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyLmNwcCAqLzsg
fTsKLQkJNzU1NDIyQ0MxODA3NzNDRTAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTU0MjJDNzE4
MDY0RkZDMDA0NkY2QTggLyogV2ViT3JpZ2luRGF0YU1hbmFnZXIuaCAqLzsgfTsKLQkJNzU5Q0NE
NUExODA4RjYxNjAwNzhFOEE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTQyMkJGMTgwNjJCRTQw
MDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmggKi87IH07CiAJCTc1QThEMkM4
MTg3Q0NGQUIwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkM0MTg3Q0NGOUYwMEMzOUM5RSAv
KiBXS1dlYnNpdGVEYXRhU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJs
aWMsICk7IH07IH07CiAJCTc1QThEMkM5MTg3Q0NGQUYwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRh
U3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
NUE4RDJDNTE4N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLm1tICovOyB9Owog
CQk3NUE4RDJENjE4N0QxQzBFMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkQ0
MTg3RDFDMDEwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oICovOyB9OwpA
QCAtMTA5NiwxMCArMTA5Miw2IEBACiAJCTc1QThEMkQ4MTg3RDMwNDAwMEMzOUM5RSAvKiBXS1Nl
c3Npb25SZWYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzVBOEQyRDAxODdEMTdCRjAwQzM5QzlFIC8qIFdLU2Vzc2lvblJlZi5jcHAgKi87IH07CiAJ
CTc1QThEMkUxMTg3REVDMUEwMEMzOUM5RSAvKiBBUElTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJERTE4N0RFODc0MDBDMzlDOUUg
LyogQVBJU2Vzc2lvbi5oICovOyB9OwogCQk3NUE4RDJFMjE4N0RFQzFFMDBDMzlDOUUgLyogQVBJ
U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3NUE4RDJERDE4N0RFODc0MDBDMzlDOUUgLyogQVBJU2Vzc2lvbi5jcHAgKi87IH07Ci0JCTc1
RTc0OUU5MTgwREJCOTgwMDA4OEJBNiAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
NUU3NDlFNTE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwotCQk3NUU3NDlFQTE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2lu
RGF0YU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzVFNzQ5RTYxODBEQkI5ODAwMDg4QkE2IC8qIFdlYk9yaWdpbkRhdGFNYW5h
Z2VyTWVzc2FnZXMuaCAqLzsgfTsKLQkJNzVFNzQ5RUIxODBEQkI5ODAwMDg4QkE2IC8qIFdlYk9y
aWdpbkRhdGFNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzVFNzQ5RTcxODBEQkI5ODAwMDg4QkE2IC8q
IFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwotCQk3
NUU3NDlFQzE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUU3
NDlFODE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eU1lc3NhZ2Vz
LmggKi87IH07CiAJCTc2MkI3NDhEMTIwQkM3NUMwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzYyQjc0ODQxMjBCQkEyRDAwODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzgwMUMwOTkx
NDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzgwMUMwOTUxNDIyOTBDNDAwRkFGOUFGIC8q
IFdlYkhpdFRlc3RSZXN1bHQuY3BwICovOyB9OwogCQk3ODAxQzA5QTE0MjI5MEM0MDBGQUY5QUYg
LyogV2ViSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzgwMUMwOTYxNDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQu
aCAqLzsgfTsKQEAgLTE3MjIsNyArMTcxNCw2IEBACiAJCUNEQzM4MzEwMTcyMTI0NDAwMDhBMkZD
MyAvKiBDb29raWVTdG9yYWdlU2hpbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQzM4MzBEMTcyMTI0MkQwMDhBMkZDMyAvKiBDb29raWVTdG9yYWdl
U2hpbS5tbSAqLzsgfTsKIAkJQ0RDQTg1QzgxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVl
bldpbmRvd0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRENBODVDNjEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93
Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0RDQTg1QzkxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVs
bFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQ0E4NUM3MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVyLmggKi87IH07Ci0JCUNERTZFMkQzMTlGNzMxQzQwMEJBOTY4OCAvKiBX
ZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmln
aW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRF
Rjc0IC8qIEJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9j
ZXNzQXNzZXJ0aW9uU1BJLmggKi87IH07CiAJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBD
b3JlUERGU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTFBMEJDRDFBNDhFNkM2MDA1NEVGNzQgLyogQ29yZVBERlNQSS5oICovOyB9OwogCQlDRTFB
MEJENDFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFBMEJDRTFBNDhFNkM2MDA1NEVG
NzQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggKi87IH07CkBAIC0zMzEwLDEyICszMzAxLDYgQEAK
IAkJNzUzRTNFMEIxODg3Mzk3MzAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlc3Npb25UcmFja2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzU1NDIyQjkxODA2MkI5QzAwNDZGNkE4IC8qIFdLT3Jp
Z2luRGF0YU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tPcmlnaW5EYXRhTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1
NTQyMkJBMTgwNjJCOUMwMDQ2RjZBOCAvKiBXS09yaWdpbkRhdGFNYW5hZ2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLT3JpZ2luRGF0YU1hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzU1NDIyQkUxODA2MkJFNDAwNDZGNkE4IC8qIFdlYk9yaWdp
bkRhdGFNYW5hZ2VyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTc1NTQyMkJGMTgwNjJCRTQwMDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk9yaWdpbkRhdGFNYW5h
Z2VyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzU1NDIyQzAxODA2MkJF
NDAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzU1NDIyQzYxODA2NEZGQzAwNDZGNkE4IC8q
IFdlYk9yaWdpbkRhdGFNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFdlYk9yaWdpbkRhdGFNYW5hZ2VyLmNwcDsgcGF0aCA9IE9yaWdpbkRhdGEvV2ViT3Jp
Z2luRGF0YU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3NTU0MjJD
NzE4MDY0RkZDMDA0NkY2QTggLyogV2ViT3JpZ2luRGF0YU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViT3JpZ2luRGF0YU1hbmFnZXIuaDsgcGF0aCA9IE9yaWdp
bkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNzU1NDIyQzgxODA2NEZGQzAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYk9yaWdpbkRhdGFNYW5hZ2VyLm1lc3Nh
Z2VzLmluOyBwYXRoID0gT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzVBOEQyQzQxODdDQ0Y5RjAwQzM5QzlF
IC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1dlYnNpdGVEYXRhU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzVB
OEQyQzUxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2Vic2l0ZURhdGFTdG9yZS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzVBOEQyRDAxODdEMTdCRjAwQzM5QzlFIC8qIFdL
U2Vzc2lvblJlZi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1Nl
c3Npb25SZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzMyMywxMCArMzMw
OCw2IEBACiAJCTc1QThEMkQ0MTg3RDFDMDEwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmVJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYnNpdGVEYXRh
U3RvcmVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NUE4RDJERDE4
N0RFODc0MDBDMzlDOUUgLyogQVBJU2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBBUElTZXNzaW9uLmNwcDsgcGF0aCA9IFVJUHJvY2Vzcy9BUEkvQVBJU2Vz
c2lvbi5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNzVBOEQyREUxODdERTg3
NDAwQzM5QzlFIC8qIEFQSVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQVBJU2Vzc2lvbi5oOyBwYXRoID0gVUlQcm9jZXNzL0FQSS9BUElTZXNzaW9uLmg7IHNvdXJj
ZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKLQkJNzVFNzQ5RTUxODBEQkI5ODAwMDg4QkE2IC8qIFdl
Yk9yaWdpbkRhdGFNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk9yaWdpbkRhdGFNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzVFNzQ5RTYxODBEQkI5ODAwMDg4QkE2
IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViT3JpZ2luRGF0YU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3NUU3NDlFNzE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2luRGF0
YU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzVFNzQ5RTgxODBEQkI5ODAwMDg4QkE2
IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5TWVzc2FnZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzYyQjc0ODExMjBCQkEwMTAwODE5MzM5IC8qIEZv
bnRTbW9vdGhpbmdMZXZlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250
U21vb3RoaW5nTGV2ZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzYyQjc0ODQx
MjBCQkEyRDAwODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc4MDFDMDk1MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRU
ZXN0UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhp
dFRlc3RSZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk5OCw3ICsz
OTc5LDYgQEAKIAkJQ0RDQTg1QzYxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
S0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRENBODVDNzEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQ0E4NUQ0MTMy
QUMyQjMwMEU5NjFERiAvKiBJT0tpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IElPS2l0
LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPS2l0LmZyYW1l
d29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKLQkJQ0RFNkUyRDIxOUY3MzFDNDAw
QkE5Njg4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaDsgcGF0
aCA9IE9yaWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9j
ZXNzQXNzZXJ0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJLU1By
b2Nlc3NBc3NlcnRpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxQTBC
Q0QxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ29yZVBERlNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RTFBMEJDRTFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFEZXRlY3RvcnNVSVNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTkzNiwxNyArNTkxNiw2IEBACiAJCQluYW1lID0gbWFjOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJNzU1NDIyQzUxODA2NEZGQzAwNDZG
NkE4IC8qIE9yaWdpbkRhdGEgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVu
ID0gKAotCQkJCTc1NTQyMkM2MTgwNjRGRkMwMDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdl
ci5jcHAgKi8sCi0JCQkJNzU1NDIyQzcxODA2NEZGQzAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyLmggKi8sCi0JCQkJNzU1NDIyQzgxODA2NEZGQzAwNDZGNkE4IC8qIFdlYk9yaWdpbkRh
dGFNYW5hZ2VyLm1lc3NhZ2VzLmluICovLAotCQkJCUNERTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAv
KiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCAqLywKLQkJCSk7Ci0JCQluYW1lID0g
T3JpZ2luRGF0YTsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTdDNkU3MEY4
MThCMkQ0N0UwMEYyNEUyRSAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCkBAIC02MDQ3LDcgKzYwMTYsNiBAQAogCQkJCTRBNDEwRjQxMTlBRjdCMjcw
MDJFQkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkg
LyogTmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkgLyogTm90aWZpY2F0
aW9ucyAoVXNlcikgKi8sCi0JCQkJNzU1NDIyQzUxODA2NEZGQzAwNDZGNkE4IC8qIE9yaWdpbkRh
dGEgKi8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJ
MzMzNjc2MkIxMzBDOTk3ODAwNkM5REUyIC8qIFJlc291cmNlQ2FjaGUgKi8sCiAJCQkJMEY1OTQ3
OEMxODdCM0IyQTAwNDM3ODU3IC8qIFNjcm9sbGluZyAqLywKQEAgLTYyOTIsOSArNjI2MCw2IEBA
CiAJCQkJN0NDQ0M4RjkxQTVGNTBGRDAwOEZCMERBIC8qIFdlYk5hdmlnYXRpb25TdGF0ZS5oICov
LAogCQkJCUJDMURGRUEzMTJCMzFGODcwMDVERjczMCAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lclByb3h5LmNwcCAqLywKIAkJCQlCQzFERkVBMjEyQjMxRjg3MDA1REY3MzAgLyogV2ViT3Bl
blBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oICovLAotCQkJCTc1NTQyMkJFMTgwNjJCRTQwMDQ2
RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNwcCAqLywKLQkJCQk3NTU0MjJCRjE4
MDYyQkU0MDA0NkY2QTggLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5oICovLAotCQkJCTc1
NTQyMkMwMTgwNjJCRTQwMDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluICovLAogCQkJCTgzNzJEQjI2MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuY3BwICovLAogCQkJCTgzNzJEQjI3MUE2NzU2MjgwMEM2OTdDNSAv
KiBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLywKIAkJCQlCQzdCNjIwNTEyOUEw
QTY3MDBEMTc0QTQgLyogV2ViUGFnZUdyb3VwLmNwcCAqLywKQEAgLTczNzUsMTAgKzczNDAsNiBA
QAogCQkJCTMzRDNBM0M3MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5TWVzc2FnZXMuaCAqLywKIAkJCQkzMUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90
aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMzFCQTkyNDkxNDg4
MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovLAotCQkJ
CTc1RTc0OUU1MTgwREJCOTgwMDA4OEJBNiAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCi0JCQkJNzVFNzQ5RTYxODBEQkI5ODAwMDg4QkE2IC8qIFdlYk9yaWdp
bkRhdGFNYW5hZ2VyTWVzc2FnZXMuaCAqLywKLQkJCQk3NUU3NDlFNzE4MERCQjk4MDAwODhCQTYg
LyogV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJ
NzVFNzQ5RTgxODBEQkI5ODAwMDg4QkE2IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHlNZXNz
YWdlcy5oICovLAogCQkJCTI5RDU1REVGMTYxQkY5RjEwMDMxQTJFMyAvKiBXZWJQYWdlR3JvdXBQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMjlENTVERjAxNjFCRjlGMTAwMzFBMkUz
IC8qIFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQlDMENFNzI5RTEyNDdFNzFE
MDBCQzBFQzQgLyogV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC03NjAwLDcgKzc1
NjEsNiBAQAogCQkJCTdDNEVEMzI5MUEzMTE5RDkwMDc5QkQ0OSAvKiBJbmplY3RlZEJ1bmRsZUNT
U1N0eWxlRGVjbGFyYXRpb25IYW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUJEQThBMTkz
Njg2QTQwMEI5N0Y1NyAvKiBTYW5kYm94VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTcyODQ0NzE5NTlFRDEwMDAwN0JDRTUgLyogU2Vzc2lvblN0YXRlQ29udmVyc2lvbi5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQ0RFNkUyRDMxOUY3MzFDNDAwQkE5Njg4IC8qIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGNDU5MzIxOTQ2NTU5NTAw
RjlENEEyIC8qIFdLRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBREFFMTJFMTkxOUE1QjQw
MEY0OEUyMSAvKiBXS1ByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CkBAIC04MTM3
LDEwICs4MDk3LDYgQEAKIAkJCQlCQzg1N0ZCNTEyQjgzMEU2MDBFREVCMkUgLyogV2ViT3BlblBh
bmVsUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NTdGODUxMkI4MkQwQjAwRURF
QjJFIC8qIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzFERkVBNDEyQjMxRjg3MDA1REY3MzAgLyogV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94
eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNzU1NDIyQ0MxODA3NzNDRTAwNDZGNkE4IC8qIFdlYk9y
aWdpbkRhdGFNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk3NUU3NDlFQTE4MERCQjk4MDAw
ODhCQTYgLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNzU5Q0NENUExODA4RjYxNjAwNzhFOEE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHku
aCBpbiBIZWFkZXJzICovLAotCQkJCTc1RTc0OUVDMTgwREJCOTgwMDA4OEJBNiAvKiBXZWJPcmln
aW5EYXRhTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDhG
MTBGNDM3QTAwMDU4QzE1QSAvKiBXZWJQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzcyREIy
OTFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzdCNjIwNjEyOUEwQTY3MDBEMTc0QTQgLyogV2ViUGFnZUdyb3Vw
LmggaW4gSGVhZGVycyAqLywKQEAgLTk5ODEsMTAgKzk5MzcsNiBAQAogCQkJCUJDODU3RkI2MTJC
ODMwRTYwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDODU3Rjg2MTJCODJEMEIwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg1N0Y3RTEyQjgyQ0VFMDBFREVCMkUgLyog
V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk3
NTU0MjJDQjE4MDY1MDAyMDA0NkY2QTggLyogV2ViT3JpZ2luRGF0YU1hbmFnZXIuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNzVFNzQ5RTkxODBEQkI5ODAwMDg4QkE2IC8qIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTc1NTQyMkM0MTgw
NjJCRjkwMDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTc1RTc0OUVCMTgwREJCOTgwMDA4OEJBNiAvKiBXZWJPcmlnaW5EYXRhTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTYzRDZCMTEz
REQxOTIwMDU3NEJFMiAvKiBXZWJQYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMwNkM2MDk1
MTI0QzE0NEIwMDAxNjgyRiAvKiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTgzNzJEQjI4MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL09yaWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhL1dlYk9yaWdpbkRhdGFNYW5hZ2VyLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNjODViOTkxM2U5ZWZjNWUzMGYxNzcw
MTMxMDc1YTAzZjBiOTExZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL09yaWdpbkRhdGEvV2ViT3JpZ2luRGF0
YU1hbmFnZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdl
ci5oIgotCi0jaW5jbHVkZSAiQ2hpbGRQcm9jZXNzLmgiCi0jaWYgRU5BQkxFKERBVEFCQVNFX1BS
T0NFU1MpCi0jaW5jbHVkZSAiRGF0YWJhc2VQcm9jZXNzLmgiCi0jZW5kaWYKLSNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbkRhdGEuaCIKLSNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
LSNpbmNsdWRlICJXZWJPcmlnaW5EYXRhTWFuYWdlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2Vi
T3JpZ2luRGF0YU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViT3JpZ2luRGF0
YU1hbmFnZXJTdXBwbGVtZW50LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5IYXNoLmg+Ci0KLSNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLVdlYk9yaWdpbkRhdGFNYW5hZ2VyOjpXZWJPcmlnaW5EYXRhTWFuYWdlcihDaGls
ZFByb2Nlc3MmIGNoaWxkUHJvY2VzcywgV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50JiBz
dXBwbGVtZW50KQotICAgIDogbV9jaGlsZFByb2Nlc3MoY2hpbGRQcm9jZXNzKQotICAgICwgbV9z
dXBwbGVtZW50KHN1cHBsZW1lbnQpCi17Ci0gICAgbV9jaGlsZFByb2Nlc3MuYWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpXZWJPcmlnaW5EYXRhTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCAqdGhpcyk7Ci19Ci0KLXZvaWQgV2ViT3JpZ2luRGF0YU1hbmFnZXI6OmdldE9yaWdpbnMo
V0tPcmlnaW5EYXRhVHlwZXMgdHlwZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi17Ci0gICAgbV9z
dXBwbGVtZW50LmdldE9yaWdpbnModHlwZXMsIFt0aGlzLCBjYWxsYmFja0lEXShjb25zdCBWZWN0
b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgcmVzdWx0cykgewotICAgICAgICBtX2NoaWxkUHJvY2Vz
cy5zZW5kKE1lc3NhZ2VzOjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpEaWRHZXRPcmlnaW5z
KHJlc3VsdHMsIGNhbGxiYWNrSUQpLCAwKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJPcmlnaW5E
YXRhTWFuYWdlcjo6ZGVsZXRlRW50cmllc0Zvck9yaWdpbihXS09yaWdpbkRhdGFUeXBlcyB0eXBl
cywgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQotewotICAgIG1fc3VwcGxlbWVudC5kZWxldGVFbnRyaWVzRm9yT3JpZ2luKHR5cGVzLCBv
cmlnaW5EYXRhLCBbdGhpcywgY2FsbGJhY2tJRF0gewotICAgICAgICBtX2NoaWxkUHJvY2Vzcy5z
ZW5kKE1lc3NhZ2VzOjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpEaWREZWxldGVFbnRyaWVz
KGNhbGxiYWNrSUQpLCAwKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJPcmlnaW5EYXRhTWFuYWdl
cjo6ZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKFdLT3JpZ2luRGF0YVR5cGVzIHR5
cGVzLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgdWludDY0X3QgY2FsbGJhY2tJ
RCkKLXsKLSAgICBtX3N1cHBsZW1lbnQuZGVsZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVz
KHR5cGVzLCBzdGFydFRpbWUsIGVuZFRpbWUsIFt0aGlzLCBjYWxsYmFja0lEXSB7Ci0gICAgICAg
IG1fY2hpbGRQcm9jZXNzLnNlbmQoTWVzc2FnZXM6OldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHk6
OkRpZERlbGV0ZUVudHJpZXMoY2FsbGJhY2tJRCksIDApOwotICAgIH0pOwotfQotCi12b2lkIFdl
Yk9yaWdpbkRhdGFNYW5hZ2VyOjpkZWxldGVBbGxFbnRyaWVzKFdLT3JpZ2luRGF0YVR5cGVzIHR5
cGVzLCB1aW50NjRfdCBjYWxsYmFja0lEKQotewotICAgIG1fc3VwcGxlbWVudC5kZWxldGVBbGxF
bnRyaWVzKHR5cGVzLCBbdGhpcywgY2FsbGJhY2tJRF0gewotICAgICAgICBtX2NoaWxkUHJvY2Vz
cy5zZW5kKE1lc3NhZ2VzOjpXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5OjpEaWREZWxldGVBbGxF
bnRyaWVzKGNhbGxiYWNrSUQpLCAwKTsKLSAgICB9KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL09yaWdpbkRhdGEvV2Vi
T3JpZ2luRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvT3JpZ2luRGF0
YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
OWM2MDgxMDcxOThlYTllYTIyMTVhN2MyNjJmNzVkYzI1MzBlNTk1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
T3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViT3JpZ2luRGF0YU1hbmFnZXJf
aAotI2RlZmluZSBXZWJPcmlnaW5EYXRhTWFuYWdlcl9oCi0KLSNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXIuaCIKLSNpbmNsdWRlICJXS09yaWdpbkRhdGFNYW5hZ2VyLmgiCi0jaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIENoaWxkUHJv
Y2VzczsKLWNsYXNzIFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudDsKLXN0cnVjdCBTZWN1
cml0eU9yaWdpbkRhdGE7Ci0KLWNsYXNzIFdlYk9yaWdpbkRhdGFNYW5hZ2VyIDogcHVibGljIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJPcmlnaW5E
YXRhTWFuYWdlcik7Ci1wdWJsaWM6Ci0gICAgV2ViT3JpZ2luRGF0YU1hbmFnZXIoQ2hpbGRQcm9j
ZXNzJiwgV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50Jik7Ci0KLXByaXZhdGU6Ci0gICAg
dm9pZCBnZXRPcmlnaW5zKFdLT3JpZ2luRGF0YVR5cGVzLCB1aW50NjRfdCBjYWxsYmFja0lEKTsK
LSAgICB2b2lkIGRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oV0tPcmlnaW5EYXRhVHlwZXMsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luRGF0YSYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwotICAgIHZvaWQgZGVs
ZXRlRW50cmllc01vZGlmaWVkQmV0d2VlbkRhdGVzKFdLT3JpZ2luRGF0YVR5cGVzLCBkb3VibGUg
c3RhcnREYXRlLCBkb3VibGUgZW5kRGF0ZSwgdWludDY0X3QgY2FsbGJhY2tJRCk7Ci0gICAgdm9p
ZCBkZWxldGVBbGxFbnRyaWVzKFdLT3JpZ2luRGF0YVR5cGVzLCB1aW50NjRfdCBjYWxsYmFja0lE
KTsKLQotICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVy
cmlkZTsKLQotICAgIENoaWxkUHJvY2VzcyYgbV9jaGlsZFByb2Nlc3M7Ci0gICAgV2ViT3JpZ2lu
RGF0YU1hbmFnZXJTdXBwbGVtZW50JiBtX3N1cHBsZW1lbnQ7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIFdlYk9yaWdpbkRhdGFNYW5hZ2VyX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdl
ci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJP
cmlnaW5EYXRhTWFuYWdlci5tZXNzYWdlcy5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWMxOGMyYTU3MjY5ZmRmYzllZGExNjBkYzY4M2Y1MjhkNDYwMjIyMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL09yaWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIC9kZXYv
bnVsbApAQCAtMSwyOCArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1l
dDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotIyBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0j
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0KLW1lc3NhZ2VzIC0+IFdlYk9yaWdpbkRhdGFNYW5hZ2VyIHsKLSAgICB2b2lkIEdldE9y
aWdpbnModWludDMyX3QgdHlwZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgdm9pZCBEZWxl
dGVFbnRyaWVzRm9yT3JpZ2luKHVpbnQzMl90IHR5cGVzLCBzdHJ1Y3QgV2ViS2l0OjpTZWN1cml0
eU9yaWdpbkRhdGEgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICB2
b2lkIERlbGV0ZUVudHJpZXNNb2RpZmllZEJldHdlZW5EYXRlcyh1aW50MzJfdCB0eXBlcywgZG91
YmxlIHN0YXJ0RGF0ZSwgZG91YmxlIGVuZERhdGUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAg
dm9pZCBEZWxldGVBbGxFbnRyaWVzKHVpbnQzMl90IHR5cGVzLCB1aW50NjRfdCBjYWxsYmFja0lE
KQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhL1dl
Yk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9PcmlnaW5EYXRhL1dlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudC5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3YzQ5ZTkzOTBjYTRlNDI2Nzk3MTM0ZDMzMTgzNjg3YjQ5ZWQz
M2NlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBs
ZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVm
IFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudF9oCi0jZGVmaW5lIFdlYk9yaWdpbkRhdGFN
YW5hZ2VyU3VwcGxlbWVudF9oCi0KLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKLSNp
bmNsdWRlICJXS09yaWdpbkRhdGFNYW5hZ2VyLmgiCi0jaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVu
dCB7Ci1wdWJsaWM6Ci0gICAgV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50KCkgeyB9Ci0g
ICAgdmlydHVhbCB+V2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50KCkgeyB9Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgZ2V0T3JpZ2lucyhXS09yaWdpbkRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2
b2lkIChjb25zdCBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYpPiBjb21wbGV0aW9uKSA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oV0tPcmlnaW5EYXRhVHlw
ZXMsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29t
cGxldGlvbikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkZWxldGVFbnRyaWVzTW9kaWZpZWRCZXR3
ZWVuRGF0ZXMoV0tPcmlnaW5EYXRhVHlwZXMsIGRvdWJsZSBzdGFydERhdGUsIGRvdWJsZSBlbmRE
YXRlLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb24pID0gMDsKLSAgICB2aXJ0dWFs
IHZvaWQgZGVsZXRlQWxsRW50cmllcyhXS09yaWdpbkRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2
b2lkICgpPiBjb21wbGV0aW9uKSA9IDA7Ci19OwotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IDkwNTI4MTIzZDY0MjEwMjJjNjIzMjlmOTY4Y2U4MTVjMjY4NzQ0NDUu
LmQ4ODI4ZjMzODE3YjYzYWI3NWZlNjZlMjlmODgxZTg5NzBkYTNkYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJDaHJvbWVDbGllbnQuaCIKIAorI2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVk
ZSAiQVBJU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1
ZGUgIkluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGE1MjJlOTNkMWNkNGNmMGYxMzVi
YWQ2YTZkYzVmYmZhZjA3YTA4MjAuLjFmNmZjMTgxZDU2MDcxYmQzMDIxZWMwNDI1ODc3MTg4MWE3
ZmMwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQ
YWdlLmgiCiAKKyNpbmNsdWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQSUdlb21ldHJ5Lmgi
CiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMjEyNmY3NDU3Y2E4YjA1
NzVjNTdjMTgxZjk2MWU0ZGFmZDVkYjhmNy4uMTVkOGM4MWJjMjg0MTM4MDFlYTYxYzE2Y2ZiOGM5
OGVlZTE1ZmU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBA
IC01Miw3ICs1Miw2IEBACiAjaW5jbHVkZSAiV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCIKICNpbmNs
dWRlICJXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViTWVtb3J5U2Ft
cGxlci5oIgotI2luY2x1ZGUgIldlYk9yaWdpbkRhdGFNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZS5oIgogI2luY2x1ZGUgIldlYlBhZ2VHcm91cFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZUdyb3VwUHJveHlNZXNzYWdlcy5oIgpAQCAtMTc0LDcgKzE3Myw2IEBAIFdlYlByb2Nlc3M6Oldl
YlByb2Nlc3MoKQogICAgICwgbV9oYXNSaWNoQ29udGVudFNlcnZpY2VzKGZhbHNlKQogI2VuZGlm
CiAgICAgLCBtX25vblZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyKCp0aGlzLCAmV2ViUHJvY2Vz
czo6bm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJGaXJlZCkKLSAgICAsIG1fd2ViT3JpZ2lu
RGF0YU1hbmFnZXIoc3RkOjptYWtlX3VuaXF1ZTxXZWJPcmlnaW5EYXRhTWFuYWdlcj4oKnRoaXMs
ICp0aGlzKSkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3dlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlcigqdGhpcykKICNlbmRpZgpAQCAtMjEwLDYgKzIwOCwxMCBAQCBXZWJQcm9jZXNzOjpXZWJQ
cm9jZXNzKCkKICNlbmRpZgogfQogCitXZWJQcm9jZXNzOjp+V2ViUHJvY2VzcygpCit7Cit9CisK
IHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIHBsYXRmb3JtSW5pdGlh
bGl6ZVByb2Nlc3MocGFyYW1ldGVycyk7CkBAIC0xNDM4LDcxICsxNDQwLDQgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpzZXRFbmFibGVkU2VydmljZXMoYm9vbCBoYXNJbWFnZVNlcnZpY2VzLCBib29sIGhh
c1NlbGVjdGlvblNlcnYKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3M6OmdldE9yaWdpbnMo
V0tPcmlnaW5EYXRhVHlwZXMgdHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgVmVjdG9y
PFNlY3VyaXR5T3JpZ2luRGF0YT4mKT4gY29tcGxldGlvbikKLXsKLSAgICBpZiAoISh0eXBlcyAm
IGtXS01lZGlhS2V5U3RvcmFnZU9yaWdpbkRhdGEpKSB7Ci0gICAgICAgIGNvbXBsZXRpb24oVmVj
dG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4oKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2VyKiBtYW5hZ2VyID0gc3VwcGxlbWVudDxXZWJNZWRp
YUtleVN0b3JhZ2VNYW5hZ2VyPigpOwotICAgIGlmICghbWFuYWdlcikgewotICAgICAgICBjb21w
bGV0aW9uKFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+KCkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgY29tcGxldGlvbihtYW5hZ2VyLT5nZXRNZWRpYUtleU9yaWdpbnMoKSk7Ci19
Ci0KLXZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRlRW50cmllc0Zvck9yaWdpbihXS09yaWdpbkRhdGFU
eXBlcyB0eXBlcywgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIHN0ZDo6ZnVuY3Rp
b248dm9pZCAoKT4gY29tcGxldGlvbikKLXsKLSAgICBpZiAoISh0eXBlcyAmIGtXS01lZGlhS2V5
U3RvcmFnZU9yaWdpbkRhdGEpKSB7Ci0gICAgICAgIGNvbXBsZXRpb24oKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIqIG1hbmFnZXIgPSBz
dXBwbGVtZW50PFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXI+KCk7Ci0gICAgaWYgKCFtYW5hZ2Vy
KSB7Ci0gICAgICAgIGNvbXBsZXRpb24oKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IG1hbmFnZXItPmRlbGV0ZU1lZGlhS2V5RW50cmllc0Zvck9yaWdpbihvcmlnaW4pOwotICAgIGNv
bXBsZXRpb24oKTsKLX0KLQotdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVFbnRyaWVzTW9kaWZpZWRC
ZXR3ZWVuRGF0ZXMoV0tPcmlnaW5EYXRhVHlwZXMgdHlwZXMsIGRvdWJsZSBzdGFydERhdGUsIGRv
dWJsZSBlbmREYXRlLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb24pCi17Ci0gICAg
aWYgKCEodHlwZXMgJiBrV0tNZWRpYUtleVN0b3JhZ2VPcmlnaW5EYXRhKSkgewotICAgICAgICBj
b21wbGV0aW9uKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBXZWJNZWRpYUtleVN0
b3JhZ2VNYW5hZ2VyKiBtYW5hZ2VyID0gc3VwcGxlbWVudDxXZWJNZWRpYUtleVN0b3JhZ2VNYW5h
Z2VyPigpOwotICAgIGlmICghbWFuYWdlcikgewotICAgICAgICBjb21wbGV0aW9uKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtYW5hZ2VyLT5kZWxldGVNZWRpYUtleUVudHJpZXNN
b2RpZmllZEJldHdlZW5EYXRlcyhzdGFydERhdGUsIGVuZERhdGUpOwotICAgIGNvbXBsZXRpb24o
KTsKLX0KLQotdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVBbGxFbnRyaWVzKFdLT3JpZ2luRGF0YVR5
cGVzIHR5cGVzLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb24pCi17Ci0gICAgaWYg
KCEodHlwZXMgJiBrV0tNZWRpYUtleVN0b3JhZ2VPcmlnaW5EYXRhKSkgewotICAgICAgICBjb21w
bGV0aW9uKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgV2ViTWVkaWFLZXlT
dG9yYWdlTWFuYWdlciogbWFuYWdlciA9IHN1cHBsZW1lbnQ8V2ViTWVkaWFLZXlTdG9yYWdlTWFu
YWdlcj4oKTsKLSAgICBpZiAoIW1hbmFnZXIpIHsKLSAgICAgICAgY29tcGxldGlvbigpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbWFuYWdlci0+ZGVsZXRlQWxsTWVkaWFLZXlFbnRy
aWVzKCk7Ci0gICAgY29tcGxldGlvbigpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZmVlOWEwZjI3ZTNmMDc4ZTBi
ZDU1MTczNDExMWMyMGVkNzdjZTMxMC4uMGY4ZjdmYmZmMDZhODQ5ZWQ2MzJhYTI5NGY2ZjdjY2Y1
NWNhMjE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTM3LDcg
KzM3LDYgQEAKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCiAjaW5jbHVkZSAiVmlld1Vw
ZGF0ZURpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1RhYmxlLmgiCi0jaW5jbHVk
ZSAiV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZXNzaW9uSUQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KQEAgLTcyLDE0ICs3MSwxNSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIERv
d25sb2FkTWFuYWdlcjsKIGNsYXNzIEV2ZW50RGlzcGF0Y2hlcjsKIGNsYXNzIEluamVjdGVkQnVu
ZGxlOworY2xhc3MgT2JqQ09iamVjdEdyYXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYkljb25EYXRh
YmFzZVByb3h5OwotY2xhc3MgV2ViT3JpZ2luRGF0YU1hbmFnZXI7CiBjbGFzcyBXZWJQYWdlOwog
Y2xhc3MgV2ViUGFnZUdyb3VwUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzU3VwcGxlbWVudDsKK3N0
cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
czsKIHN0cnVjdCBXZWJQYWdlR3JvdXBEYXRhOwogc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmU7
CkBAIC05NCw3ICs5NCw3IEBAIGNsYXNzIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjsKIGNsYXNz
IFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjsKICNlbmRpZgogCi1jbGFzcyBXZWJQcm9j
ZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHVibGljIFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3Vw
cGxlbWVudCwgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCB7CitjbGFzcyBXZWJQcm9j
ZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVu
dCB7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPERvd25sb2FkTWFuYWdlcj47CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYlByb2Nlc3MmIHNpbmdsZXRvbigpOwpAQCAtMjEyLDYgKzIx
Miw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7CisgICAgfldlYlBy
b2Nlc3MoKTsKIAogICAgIC8vIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50LgogICAgIHZpcnR1YWwg
dm9pZCBkaWRDcmVhdGVEb3dubG9hZCgpIG92ZXJyaWRlOwpAQCAtMzEzLDEyICszMTQsNiBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2Vi
UHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOwogCi0gICAgLy8gV2ViT3JpZ2lu
RGF0YU1hbmFnZXJTdXBwbGVtZW50Ci0gICAgdmlydHVhbCB2b2lkIGdldE9yaWdpbnMoV0tPcmln
aW5EYXRhVHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgVmVjdG9yPFNlY3VyaXR5T3Jp
Z2luRGF0YT4mKT4gY29tcGxldGlvbikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUVudHJpZXNGb3JPcmlnaW4oV0tPcmlnaW5EYXRhVHlwZXMsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
RGF0YSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbikgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCB2b2lkIGRlbGV0ZUVudHJpZXNNb2RpZmllZEJldHdlZW5EYXRlcyhXS09yaWdpbkRh
dGFUeXBlcywgZG91YmxlIHN0YXJ0RGF0ZSwgZG91YmxlIGVuZERhdGUsIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoKT4gY29tcGxldGlvbikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFs
bEVudHJpZXMoV0tPcmlnaW5EYXRhVHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxl
dGlvbikgb3ZlcnJpZGU7Ci0KICAgICBSZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBt
X3dlYkNvbm5lY3Rpb247CiAKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViUGFnZT4+
IG1fcGFnZU1hcDsKQEAgLTM4MCw3ICszNzUsNiBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8dWlu
dDY0X3Q+IG1fcGFnZXNJbldpbmRvd3M7CiAgICAgV2ViQ29yZTo6VGltZXIgbV9ub25WaXNpYmxl
UHJvY2Vzc0NsZWFudXBUaW1lcjsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJPcmlnaW5EYXRh
TWFuYWdlcj4gbV93ZWJPcmlnaW5EYXRhTWFuYWdlcjsKICNpZiBQTEFURk9STShJT1MpCiAgICAg
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCmluZGV4IDVhMmIxYzcwZDUzY2ZhNWY5Mjk4MDJjMDRkMzk5ZjIzNGRjZTZjMDQuLmJm
NGY0ZmY4OWRjOGMxZWY0NzA3ZjlkZDQxNDY0NDE5MmI3MDkyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTZWNJdGVtU2hpbS5oIgorI2ltcG9y
dCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFs
LmgiCiAjaW1wb3J0ICJXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCIKICNpbXBvcnQgIldL
VHlwZVJlZldyYXBwZXIuaCIK
</data>
<flag name="review"
          id="279756"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>