<?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>147687</bug_id>
          
          <creation_ts>2015-08-05 10:52:29 -0700</creation_ts>
          <short_desc>Get rid of DatabaseBackend as another step towards merging Database and DatabaseBackendBase</short_desc>
          <delta_ts>2015-08-05 12:31:48 -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>1115054</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 10:52:29 -0700</bug_when>
    <thetext>Get rid of DatabaseBackend as another step towards merging Database and DatabaseBackendBase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115055</commentid>
    <comment_count>1</comment_count>
      <attachid>258284</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 10:54:07 -0700</bug_when>
    <thetext>Created attachment 258284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115091</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 12:31:48 -0700</bug_when>
    <thetext>Committed r187974: &lt;http://trac.webkit.org/changeset/187974&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258284</attachid>
            <date>2015-08-05 10:54:07 -0700</date>
            <delta_ts>2015-08-05 11:57:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147687-20150805105359.patch</filename>
            <type>text/plain</type>
            <size>35946</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM4MDVmYzg5NjdhYjc3
M2E5YjMwZTBiOTIwMmIxYzdlMzJlMGNmMi4uNDU1MGEzZmIyMmI4MDdkODcwM2I3ODI3OWY0N2Fh
MjYxYjE5ZjZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE1LTA4LTA1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBE
YXRhYmFzZUJhY2tlbmQgYXMgYW5vdGhlciBzdGVwIHRvd2FyZHMgbWVyZ2luZyBEYXRhYmFzZSBh
bmQgRGF0YWJhc2VCYWNrZW5kQmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ3Njg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5n
ZVZlcnNpb25XcmFwcGVyOjpwZXJmb3JtUHJlZmxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkNo
YW5nZVZlcnNpb25XcmFwcGVyOjpwZXJmb3JtUG9zdGZsaWdodCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6
RGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OmNsb3NlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlOjpmcm9tKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRh
dGFiYXNlOjpiYWNrZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tl
bmQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRh
YmFzZUJhY2tlbmQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VCYWNrZW5kLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VTZXJ2ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6RGF0YWJhc2VUYXNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlT3BlblRhc2s6OkRhdGFiYXNlT3BlblRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2VPcGVuVGFzazo6ZG9QZXJmb3JtVGFzayk6CisgICAgICAg
IChXZWJDb3JlOjpEYXRhYmFzZU9wZW5UYXNrOjpkZWJ1Z1Rhc2tOYW1lKToKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFiYXNlQ2xvc2VUYXNrOjpEYXRhYmFzZUNsb3NlVGFzayk6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhYmFzZUNsb3NlVGFzazo6ZG9QZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJD
b3JlOjpEYXRhYmFzZUNsb3NlVGFzazo6ZGVidWdUYXNrTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6On5EYXRhYmFzZVRyYW5zYWN0
aW9uVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZG9Q
ZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6
ZGVidWdUYXNrTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNr
OjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFi
bGVOYW1lc1Rhc2s6OmRvUGVyZm9ybVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VU
YWJsZU5hbWVzVGFzazo6ZGVidWdUYXNrTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFz
ZUJhY2tlbmQ6OkRhdGFiYXNlT3BlblRhc2s6OkRhdGFiYXNlT3BlblRhc2spOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZU9wZW5UYXNrOjpkb1Bl
cmZvcm1UYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFja2VuZDo6
RGF0YWJhc2VPcGVuVGFzazo6ZGVidWdUYXNrTmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlQ2xvc2VUYXNrOjpEYXRhYmFzZUNsb3NlVGFz
ayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNl
Q2xvc2VUYXNrOjpkb1BlcmZvcm1UYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRh
dGFiYXNlQmFja2VuZDo6RGF0YWJhc2VDbG9zZVRhc2s6OmRlYnVnVGFza05hbWUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRyYW5zYWN0aW9u
VGFzazo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6fkRhdGFiYXNlVHJh
bnNhY3Rpb25UYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFja2Vu
ZDo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6OmRvUGVyZm9ybVRhc2spOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6
ZGVidWdUYXNrTmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhY2tl
bmQ6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2spOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRhYmxlTmFt
ZXNUYXNrOjpkb1BlcmZvcm1UYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFi
YXNlQmFja2VuZDo6RGF0YWJhc2VUYWJsZU5hbWVzVGFzazo6ZGVidWdUYXNrTmFtZSk6IERlbGV0
ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6ZGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
UUxTdGF0ZW1lbnRCYWNrZW5kOjpleGVjdXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2Fj
dGlvbkJhY2tlbmQ6OmV4ZWN1dGVTUUwpOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rp
b25CYWNrZW5kOjpvcGVuVHJhbnNhY3Rpb25BbmRQcmVmbGlnaHQpOgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKwogMjAxNS0wOC0wNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggYWZ0ZXIgMTg3OTYxCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDVhZTMwYjkxOWNhODZlZDVkOTZjNTkxZDRjZTQ0ZjkxZWExN2MyMzAuLjNjOGY1
NmUxMzM4ZmQ4ZjkzMTU3Y2Y4ZjY4NzNiOTYzZmQ5OTlkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xMDAzLDcgKzEwMDMsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy93
ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5jcHAKICAgICBNb2R1bGVzL3dlYmRhdGFi
YXNlL0RhdGFiYXNlLmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VBdXRob3Jp
emVyLmNwcAotICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kLmNwcAogICAg
IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQmFzZS5jcHAKICAgICBNb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlTWFuYWdlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAKaW5kZXggMjQ5NzRkZjgx
MDJlZmM3NzYwZWNhNWI4ODNlMzcxZTExZWVjZDEyYS4uM2RhZTkyMzRmNmUyYTRmNjM3NmU5MGU3
ZGFmNzY5YzBjYmJjMzVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAKQEAgLTQ1LDcgKzQ1LDcg
QEAgYm9vbCBDaGFuZ2VWZXJzaW9uV3JhcHBlcjo6cGVyZm9ybVByZWZsaWdodChTUUxUcmFuc2Fj
dGlvbkJhY2tlbmQqIHRyYW5zYWN0aW9uKQogewogICAgIEFTU0VSVCh0cmFuc2FjdGlvbiAmJiB0
cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKSk7CiAKLSAgICBEYXRhYmFzZUJhY2tlbmQqIGRhdGFiYXNl
ID0gdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCk7CisgICAgRGF0YWJhc2UqIGRhdGFiYXNlID0gdHJh
bnNhY3Rpb24tPmRhdGFiYXNlKCk7CiAKICAgICBTdHJpbmcgYWN0dWFsVmVyc2lvbjsKICAgICBp
ZiAoIWRhdGFiYXNlLT5nZXRWZXJzaW9uRnJvbURhdGFiYXNlKGFjdHVhbFZlcnNpb24pKSB7CkBA
IC02Nyw3ICs2Nyw3IEBAIGJvb2wgQ2hhbmdlVmVyc2lvbldyYXBwZXI6OnBlcmZvcm1Qb3N0Zmxp
Z2h0KFNRTFRyYW5zYWN0aW9uQmFja2VuZCogdHJhbnNhY3Rpb24pCiB7CiAgICAgQVNTRVJUKHRy
YW5zYWN0aW9uICYmIHRyYW5zYWN0aW9uLT5kYXRhYmFzZSgpKTsKIAotICAgIERhdGFiYXNlQmFj
a2VuZCogZGF0YWJhc2UgPSB0cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKTsKKyAgICBEYXRhYmFzZSog
ZGF0YWJhc2UgPSB0cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKTsKIAogICAgIGlmICghZGF0YWJhc2Ut
PnNldFZlcnNpb25JbkRhdGFiYXNlKG1fbmV3VmVyc2lvbikpIHsKICAgICAgICAgaW50IHNxbGl0
ZUVycm9yID0gZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkubGFzdEVycm9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwCmluZGV4IDMwMzMx
ZjNiM2JjMjg3Mzc1NjM4YWVmMTUxZjA0NDVlNjAyZWQ3YWYuLjY1OTUxYTEwOTkzODkwMGQwZjM1
NzA2Yjc5YjhhZWExMjJiMDllYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2UuY3BwCkBAIC03MCw3ICs3MCw5IEBAIFBhc3NSZWZQdHI8RGF0YWJh
c2U+IERhdGFiYXNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8
RGF0YWJhCiB9CiAKIERhdGFiYXNlOjpEYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNlQ29udGV4
dD4gZGF0YWJhc2VDb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhw
ZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVz
dGltYXRlZFNpemUpCi0gICAgOiBEYXRhYmFzZUJhY2tlbmQoZGF0YWJhc2VDb250ZXh0LmdldCgp
LCBuYW1lLCBleHBlY3RlZFZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplKQorICAg
IDogRGF0YWJhc2VCYWNrZW5kQmFzZShkYXRhYmFzZUNvbnRleHQuZ2V0KCksIG5hbWUsIGV4cGVj
dGVkVmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUpCisgICAgLCBtX3RyYW5zYWN0
aW9uSW5Qcm9ncmVzcyhmYWxzZSkKKyAgICAsIG1faXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxlZCh0
cnVlKQogICAgICwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGRhdGFiYXNlQ29udGV4dC0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICwgbV9kYXRhYmFzZUNvbnRleHQoZGF0YWJhc2VD
b250ZXh0KQogICAgICwgbV9kZWxldGVkKGZhbHNlKQpAQCAtMTM4LDcgKzE0MCw3IEBAIHZvaWQg
RGF0YWJhc2U6OmNsb3NlKCkKICAgICAvLyB0byBpdCB3aXRoIGEgbG9jYWwgcG9pbnRlciBoZXJl
IGZvciBhIGxpaXRsZSBsb25nZXIsIHNvIHRoYXQgd2UgY2FuCiAgICAgLy8gdW5zY2hlZHVsZSBh
bnkgRGF0YWJhc2VUYXNrcyB0aGF0IHJlZmVyIHRvIGl0IGJlZm9yZSB0aGUgZGF0YWJhc2UgZ2V0
cwogICAgIC8vIGRlbGV0ZWQuCi0gICAgUmVmPERhdGFiYXNlQmFja2VuZD4gcHJvdGVjdCgqdGhp
cyk7CisgICAgUmVmPERhdGFiYXNlPiBwcm90ZWN0KCp0aGlzKTsKICAgICBkYXRhYmFzZUNvbnRl
eHQoKS0+ZGF0YWJhc2VUaHJlYWQoKS0+cmVjb3JkRGF0YWJhc2VDbG9zZWQodGhpcyk7CiAgICAg
ZGF0YWJhc2VDb250ZXh0KCktPmRhdGFiYXNlVGhyZWFkKCktPnVuc2NoZWR1bGVEYXRhYmFzZVRh
c2tzKHRoaXMpOwogfQpAQCAtMjIzLDE2ICsyMjUsNiBAQCBTUUxUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yKiBEYXRhYmFzZTo6dHJhbnNhY3Rpb25Db29yZGluYXRvcigpIGNvbnN0CiAgICAgcmV0dXJu
IGRhdGFiYXNlQ29udGV4dCgpLT5kYXRhYmFzZVRocmVhZCgpLT50cmFuc2FjdGlvbkNvb3JkaW5h
dG9yKCk7CiB9CiAKLURhdGFiYXNlKiBEYXRhYmFzZTo6ZnJvbShEYXRhYmFzZUJhY2tlbmQqIGJh
Y2tlbmQpCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PERhdGFiYXNlKj4oYmFja2VuZC0+bV9m
cm9udGVuZCk7Ci19Ci0KLVBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kPiBEYXRhYmFzZTo6YmFj
a2VuZCgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KIFN0cmluZyBEYXRhYmFzZTo6dmVyc2lv
bigpIGNvbnN0CiB7CiAgICAgaWYgKG1fZGVsZXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaAppbmRleCAyZjJlYjk4NTE3MjFhMDI0Yjk1NzVkZTll
NDM2OWNjMmViNWViY2Q3Li4xNjM2NzM5NThhNTkxOTFhY2VjNzFkYWM2OTg4OWU2YzMyYzRjMmEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCkBA
IC0yOSw5ICsyOSwxMCBAQAogI2lmbmRlZiBEYXRhYmFzZV9oCiAjZGVmaW5lIERhdGFiYXNlX2gK
IAotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZC5oIgorI2luY2x1ZGUgIkRhdGFiYXNlQmFja2Vu
ZEJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUJhc2ljVHlwZXMuaCIKICNpbmNsdWRlICJEYXRh
YmFzZUVycm9yLmgiCisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDEwICs0NSwxMiBAQCBj
bGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogY2xhc3MgU1FMVHJh
bnNhY3Rpb25CYWNrZW5kOwogY2xhc3MgU1FMVHJhbnNhY3Rpb25DYWxsYmFjazsKK2NsYXNzIFNR
TFRyYW5zYWN0aW9uQ2xpZW50OworY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcjsKIGNs
YXNzIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIAot
Y2xhc3MgRGF0YWJhc2UgZmluYWwgOiBwdWJsaWMgRGF0YWJhc2VCYWNrZW5kIHsKK2NsYXNzIERh
dGFiYXNlIGZpbmFsIDogcHVibGljIERhdGFiYXNlQmFja2VuZEJhc2UgewogcHVibGljOgogICAg
IHZpcnR1YWwgfkRhdGFiYXNlKCk7CiAKQEAgLTc0LDcgKzc3LDYgQEAgcHVibGljOgogICAgIHZv
aWQgcmVhZFRyYW5zYWN0aW9uKFBhc3NSZWZQdHI8U1FMVHJhbnNhY3Rpb25DYWxsYmFjaz4sIFBh
c3NSZWZQdHI8U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxWb2lkQ2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayk7CiAKICAgICAvLyBJbnRlcm5hbCBlbmdpbmUgc3VwcG9y
dAotICAgIHN0YXRpYyBEYXRhYmFzZSogZnJvbShEYXRhYmFzZUJhY2tlbmQqKTsKICAgICBEYXRh
YmFzZUNvbnRleHQqIGRhdGFiYXNlQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VD
b250ZXh0LmdldCgpOyB9CiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkgeyByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LmdldCgpOyB9
CkBAIC04OSwxOSArOTEsMjIgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY2hlZHVsZVRyYW5zYWN0
aW9uQ2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qKTsKIAorICAgIHZpcnR1YWwgYm9vbCBwZXJmb3Jt
T3BlbkFuZFZlcmlmeShib29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZUVycm9y
JiwgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOworICAgIFZlY3RvcjxTdHJpbmc+IHBlcmZvcm1HZXRU
YWJsZU5hbWVzKCk7CisKIHByaXZhdGU6CiAgICAgRGF0YWJhc2UoUGFzc1JlZlB0cjxEYXRhYmFz
ZUNvbnRleHQ+LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJz
aW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNp
emUpOwogCi0gICAgUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmQ+IGJhY2tlbmQoKTsKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEYXRhYmFzZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZEJhc2U+KTsKIAotICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtT3BlbkFuZFZlcmlmeShib29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFz
ZUVycm9yJiwgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwotCiAgICAgdm9pZCBzY2hlZHVsZVRyYW5z
YWN0aW9uKCk7CiAKICAgICB2b2lkIHJ1blRyYW5zYWN0aW9uKFJlZlB0cjxTUUxUcmFuc2FjdGlv
bkNhbGxiYWNrPiYmLCBSZWZQdHI8U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPiYmLCBSZWZQ
dHI8Vm9pZENhbGxiYWNrPiYmIHN1Y2Nlc3NDYWxsYmFjaywgYm9vbCByZWFkT25seSwgY29uc3Qg
Q2hhbmdlVmVyc2lvbkRhdGEqID0gbnVsbHB0cik7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBwZXJm
b3JtR2V0VGFibGVOYW1lcygpOworICAgIERlcXVlPFJlZlB0cjxTUUxUcmFuc2FjdGlvbkJhY2tl
bmQ+PiBtX3RyYW5zYWN0aW9uUXVldWU7CisgICAgTXV0ZXggbV90cmFuc2FjdGlvbkluUHJvZ3Jl
c3NNdXRleDsKKyAgICBib29sIG1fdHJhbnNhY3Rpb25JblByb2dyZXNzOworICAgIGJvb2wgbV9p
c1RyYW5zYWN0aW9uUXVldWVFbmFibGVkOwogCiAgICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ+IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBSZWZQdHI8U2VjdXJpdHlPcmln
aW4+IG1fZGF0YWJhc2VUaHJlYWRTZWN1cml0eU9yaWdpbjsKQEAgLTExMiw3ICsxMTcsNiBAQCBw
cml2YXRlOgogCiAgICAgZnJpZW5kIGNsYXNzIERhdGFiYXNlTWFuYWdlcjsKICAgICBmcmllbmQg
Y2xhc3MgRGF0YWJhc2VTZXJ2ZXI7IC8vIEZJWE1FOiByZW1vdmUgdGhpcyB3aGVuIHRoZSBiYWNr
ZW5kIGhhcyBiZWVuIHNwbGl0IG91dC4KLSAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VCYWNrZW5k
OyAvLyBGSVhNRTogcmVtb3ZlIHRoaXMgd2hlbiB0aGUgYmFja2VuZCBoYXMgYmVlbiBzcGxpdCBv
dXQuCiAgICAgZnJpZW5kIGNsYXNzIFNRTFN0YXRlbWVudDsKICAgICBmcmllbmQgY2xhc3MgU1FM
VHJhbnNhY3Rpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZUJhY2tlbmQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhYWZhOWQ0Y2E3MzY1NzZkMjc1MmUxZmYzNDY0MzUxYjUxNTc3ZGJlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZC5oIgotCi0jaW5jbHVk
ZSAiQ2hhbmdlVmVyc2lvbkRhdGEuaCIKLSNpbmNsdWRlICJDaGFuZ2VWZXJzaW9uV3JhcHBlci5o
IgotI2luY2x1ZGUgIkRhdGFiYXNlLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCi0j
aW5jbHVkZSAiRGF0YWJhc2VUYXNrLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VUaHJlYWQuaCIKLSNp
bmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVk
ZSAiU1FMRXJyb3IuaCIKLSNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbi5oIgotI2luY2x1ZGUgIlNR
TFRyYW5zYWN0aW9uQmFja2VuZC5oIgotI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ2FsbGJhY2su
aCIKLSNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbkNsaWVudC5oIgotI2luY2x1ZGUgIlNRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2suaCIKLSNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1EYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlQmFja2VuZChQYXNzUmVmUHRyPERhdGFiYXNlQ29u
dGV4dD4gZGF0YWJhc2VDb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25n
IGVzdGltYXRlZFNpemUpCi0gICAgOiBEYXRhYmFzZUJhY2tlbmRCYXNlKGRhdGFiYXNlQ29udGV4
dCwgbmFtZSwgZXhwZWN0ZWRWZXJzaW9uLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSkKLSAg
ICAsIG1fdHJhbnNhY3Rpb25JblByb2dyZXNzKGZhbHNlKQotICAgICwgbV9pc1RyYW5zYWN0aW9u
UXVldWVFbmFibGVkKHRydWUpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5k
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZC5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWZkZmQ4MDY2YTc0ZThmZTgzZTJhM2Jj
OTEwMTM4OGM2ZDQ3ZTI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5k
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgRGF0YWJhc2VCYWNrZW5kX2gKLSNkZWZp
bmUgRGF0YWJhc2VCYWNrZW5kX2gKLQotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZEJhc2UuaCIK
LSNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDaGFuZ2VWZXJzaW9uRGF0YTsKLWNsYXNz
IERhdGFiYXNlOwotY2xhc3MgRGF0YWJhc2VTZXJ2ZXI7Ci1jbGFzcyBTUUxUcmFuc2FjdGlvbjsK
LWNsYXNzIFNRTFRyYW5zYWN0aW9uQmFja2VuZDsKLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50
OwotY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcjsKLQotLy8gRklYTUU6IFRoaXMgaW1w
bGVtZW50YXRpb24gb2YgRGF0YWJhc2VCYWNrZW5kIGlzIG9ubHkgYSBwbGFjZSBob2xkZXIKLS8v
IGZvciB0aGUgc3BsaXQgb3V0IG9mIHRoZSBEYXRhYmFzZSBiYWNrZW5kIHRvIGJlIGRvbmUgbGF0
ZXIuIFRoaXMKLS8vIHBsYWNlIGhvbGRlciBpcyBuZWVkZWQgdG8gYWxsb3cgb3RoZXIgY29kZSB0
aGF0IG5lZWQgdG8gcmVmZXJlbmNlIHRoZQotLy8gRGF0YWJhc2VCYWNrZW5kIHRvIGRvIHNvIGJl
Zm9yZSB0aGUgcHJvcGVyIGJhY2tlbmQgc3BsaXQgaXMKLS8vIGF2YWlsYWJsZS4gVGhpcyBzaG91
bGQgYmUgcmVwbGFjZWQgd2l0aCB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIGxhdGVyLgotCi1j
bGFzcyBEYXRhYmFzZUJhY2tlbmQgOiBwdWJsaWMgRGF0YWJhc2VCYWNrZW5kQmFzZSB7Ci1wdWJs
aWM6Ci0gICAgRGF0YWJhc2VCYWNrZW5kKFBhc3NSZWZQdHI8RGF0YWJhc2VDb250ZXh0PiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwgY29uc3QgU3Ry
aW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKTsKLQotcHJpdmF0
ZToKLSAgICBjbGFzcyBEYXRhYmFzZU9wZW5UYXNrOwotICAgIGNsYXNzIERhdGFiYXNlQ2xvc2VU
YXNrOwotICAgIGNsYXNzIERhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOwotICAgIGNsYXNzIERhdGFi
YXNlVGFibGVOYW1lc1Rhc2s7Ci0KLSAgICBEZXF1ZTxSZWZQdHI8U1FMVHJhbnNhY3Rpb25CYWNr
ZW5kPj4gbV90cmFuc2FjdGlvblF1ZXVlOwotICAgIE11dGV4IG1fdHJhbnNhY3Rpb25JblByb2dy
ZXNzTXV0ZXg7Ci0gICAgYm9vbCBtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzczsKLSAgICBib29sIG1f
aXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxlZDsKLQotICAgIGZyaWVuZCBjbGFzcyBEYXRhYmFzZTsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIERhdGFiYXNlQmFja2Vu
ZF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlTWFuYWdlci5jcHAKaW5kZXggOGEzODE4ZDZkNDAzYzk0OTBmODJiODY2ZThmMTg1OTZmZjIy
NTI4Mi4uZGNiN2JhZTNmNTFjYTdmNmQzYWYwMjdhNDBkMGI5Zjg3NzdjYzE2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2Vy
LmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZVNlcnZl
ci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5kQmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ2Fs
bGJhY2suaCIKICNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVNlcnZlci5jcHAKaW5kZXggY2Nm
ODdjODkzYjY0OWY5ZDZmYjRjMzhjYzEzMDJmMDkwZWEzZDhhYy4uYzlkOTQyODhlMTEzMjdhNDJh
ZjlmYWVjOWJmMWM3YjZmNDVmN2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZVNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVNlcnZlci5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNp
bmNsdWRlICJEYXRhYmFzZVNlcnZlci5oIgogCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKLSNpbmNs
dWRlICJEYXRhYmFzZUJhY2tlbmQuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKICNp
bmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwCmluZGV4IDdkZGZjOWZhMDRmMjNhMDMy
ZDNjYzFjM2IwOWI5MDg0ZjljNDMwZDAuLjkxYWU3ZTY2MmQ0NGEwMTcxZWEwNTgyZWEzNWExZWVi
MmMyODhmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlVGFzay5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJEYXRhYmFzZVRh
c2suaCIKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5k
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OCw3
ICs1Nyw3IEBAIHZvaWQgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyOjp0YXNrQ29tcGxldGVkKCkK
ICAgICBtX3N5bmNocm9ub3VzTXV0ZXgudW5sb2NrKCk7CiB9CiAKLURhdGFiYXNlVGFzazo6RGF0
YWJhc2VUYXNrKERhdGFiYXNlQmFja2VuZCYgZGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNocm9u
aXplciogc3luY2hyb25pemVyKQorRGF0YWJhc2VUYXNrOjpEYXRhYmFzZVRhc2soRGF0YWJhc2Um
IGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9uaXplcikKICAgICA6
IG1fZGF0YWJhc2UoZGF0YWJhc2UpCiAgICAgLCBtX3N5bmNocm9uaXplcihzeW5jaHJvbml6ZXIp
CiAjaWYgIUxPR19ESVNBQkxFRApAQCAtOTgsNyArOTcsNyBAQCB2b2lkIERhdGFiYXNlVGFzazo6
cGVyZm9ybVRhc2soKQogLy8gKioqIERhdGFiYXNlT3BlblRhc2sgKioqCiAvLyBPcGVucyB0aGUg
ZGF0YWJhc2UgZmlsZSBhbmQgdmVyaWZpZXMgdGhlIHZlcnNpb24gbWF0Y2hlcyB0aGUgZXhwZWN0
ZWQgdmVyc2lvbi4KIAotRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZU9wZW5UYXNrOjpEYXRhYmFz
ZU9wZW5UYXNrKERhdGFiYXNlQmFja2VuZCYgZGF0YWJhc2UsIGJvb2wgc2V0VmVyc2lvbkluTmV3
RGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNocm9uaXplciYgc3luY2hyb25pemVyLCBEYXRhYmFz
ZUVycm9yJiBlcnJvciwgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGJvb2wmIHN1Y2Nlc3MpCitEYXRh
YmFzZU9wZW5UYXNrOjpEYXRhYmFzZU9wZW5UYXNrKERhdGFiYXNlJiBkYXRhYmFzZSwgYm9vbCBz
ZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyJiBzeW5jaHJv
bml6ZXIsIERhdGFiYXNlRXJyb3ImIGVycm9yLCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgYm9vbCYg
c3VjY2VzcykKICAgICA6IERhdGFiYXNlVGFzayhkYXRhYmFzZSwgJnN5bmNocm9uaXplcikKICAg
ICAsIG1fc2V0VmVyc2lvbkluTmV3RGF0YWJhc2Uoc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UpCiAg
ICAgLCBtX2Vycm9yKGVycm9yKQpAQCAtMTA3LDcgKzEwNiw3IEBAIERhdGFiYXNlQmFja2VuZDo6
RGF0YWJhc2VPcGVuVGFzazo6RGF0YWJhc2VPcGVuVGFzayhEYXRhYmFzZUJhY2tlbmQmIGRhdGFi
YXNlLCBiCiB7CiB9CiAKLXZvaWQgRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZU9wZW5UYXNrOjpk
b1BlcmZvcm1UYXNrKCkKK3ZvaWQgRGF0YWJhc2VPcGVuVGFzazo6ZG9QZXJmb3JtVGFzaygpCiB7
CiAgICAgU3RyaW5nIGVycm9yTWVzc2FnZTsKICAgICBtX3N1Y2Nlc3MgPSBkYXRhYmFzZSgpLnBl
cmZvcm1PcGVuQW5kVmVyaWZ5KG1fc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIG1fZXJyb3IsIGVy
cm9yTWVzc2FnZSk7CkBAIC0xMTYsNyArMTE1LDcgQEAgdm9pZCBEYXRhYmFzZUJhY2tlbmQ6OkRh
dGFiYXNlT3BlblRhc2s6OmRvUGVyZm9ybVRhc2soKQogfQogCiAjaWYgIUxPR19ESVNBQkxFRAot
Y29uc3QgY2hhciogRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZU9wZW5UYXNrOjpkZWJ1Z1Rhc2tO
YW1lKCkgY29uc3QKK2NvbnN0IGNoYXIqIERhdGFiYXNlT3BlblRhc2s6OmRlYnVnVGFza05hbWUo
KSBjb25zdAogewogICAgIHJldHVybiAiRGF0YWJhc2VPcGVuVGFzayI7CiB9CkBAIC0xMjUsMTgg
KzEyNCwxOCBAQCBjb25zdCBjaGFyKiBEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlT3BlblRhc2s6
OmRlYnVnVGFza05hbWUoKSBjb25zdAogLy8gKioqIERhdGFiYXNlQ2xvc2VUYXNrICoqKgogLy8g
Q2xvc2VzIHRoZSBkYXRhYmFzZS4KIAotRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZUNsb3NlVGFz
azo6RGF0YWJhc2VDbG9zZVRhc2soRGF0YWJhc2VCYWNrZW5kJiBkYXRhYmFzZSwgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyJiBzeW5jaHJvbml6ZXIpCitEYXRhYmFzZUNsb3NlVGFzazo6RGF0YWJh
c2VDbG9zZVRhc2soRGF0YWJhc2UmIGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIm
IHN5bmNocm9uaXplcikKICAgICA6IERhdGFiYXNlVGFzayhkYXRhYmFzZSwgJnN5bmNocm9uaXpl
cikKIHsKIH0KIAotdm9pZCBEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1Bl
cmZvcm1UYXNrKCkKK3ZvaWQgRGF0YWJhc2VDbG9zZVRhc2s6OmRvUGVyZm9ybVRhc2soKQogewot
ICAgIERhdGFiYXNlOjpmcm9tKCZkYXRhYmFzZSgpKS0+Y2xvc2UoKTsKKyAgICBkYXRhYmFzZSgp
LmNsb3NlKCk7CiB9CiAKICNpZiAhTE9HX0RJU0FCTEVECi1jb25zdCBjaGFyKiBEYXRhYmFzZUJh
Y2tlbmQ6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKK2NvbnN0IGNo
YXIqIERhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1
cm4gIkRhdGFiYXNlQ2xvc2VUYXNrIjsKIH0KQEAgLTE0NSwxNCArMTQ0LDE0IEBAIGNvbnN0IGNo
YXIqIERhdGFiYXNlQmFja2VuZDo6RGF0YWJhc2VDbG9zZVRhc2s6OmRlYnVnVGFza05hbWUoKSBj
b25zdAogLy8gKioqIERhdGFiYXNlVHJhbnNhY3Rpb25UYXNrICoqKgogLy8gU3RhcnRzIGEgdHJh
bnNhY3Rpb24gdGhhdCB3aWxsIHJlcG9ydCBpdHMgcmVzdWx0cyB2aWEgYSBjYWxsYmFjay4KIAot
RGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6RGF0YWJhc2VUcmFuc2Fj
dGlvblRhc2soUGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbkJhY2tlbmQ+IHRyYW5zYWN0aW9uKQot
ICAgIDogRGF0YWJhc2VUYXNrKCpEYXRhYmFzZTo6ZnJvbSh0cmFuc2FjdGlvbi0+ZGF0YWJhc2Uo
KSksIDApCitEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2so
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbkJhY2tlbmQ+IHRyYW5zYWN0aW9uKQorICAgIDogRGF0
YWJhc2VUYXNrKCp0cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKSwgMCkKICAgICAsIG1fdHJhbnNhY3Rp
b24odHJhbnNhY3Rpb24pCiAgICAgLCBtX2RpZFBlcmZvcm1UYXNrKGZhbHNlKQogewogfQogCi1E
YXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjp+RGF0YWJhc2VUcmFuc2Fj
dGlvblRhc2soKQorRGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6On5EYXRhYmFzZVRyYW5zYWN0aW9u
VGFzaygpCiB7CiAgICAgLy8gSWYgdGhlIHRhc2sgaXMgYmVpbmcgZGVzdHJ1Y3RlZCB3aXRob3V0
IHRoZSB0cmFuc2FjdGlvbiBldmVyIGJlaW5nIHJ1biwKICAgICAvLyB0aGVuIHdlIG11c3QgZWl0
aGVyIGhhdmUgYW4gZXJyb3Igb3IgYW4gaW50ZXJydXB0aW9uLiBHaXZlIHRoZQpAQCAtMTY2LDE0
ICsxNjUsMTQgQEAgRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6fkRh
dGFiYXNlVHJhbnNhY3Rpb25UYXNrKCkKICAgICAgICAgbV90cmFuc2FjdGlvbi0+bm90aWZ5RGF0
YWJhc2VUaHJlYWRJc1NodXR0aW5nRG93bigpOwogfQogCi12b2lkIERhdGFiYXNlQmFja2VuZDo6
RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6OmRvUGVyZm9ybVRhc2soKQordm9pZCBEYXRhYmFzZVRy
YW5zYWN0aW9uVGFzazo6ZG9QZXJmb3JtVGFzaygpCiB7CiAgICAgbV90cmFuc2FjdGlvbi0+cGVy
Zm9ybU5leHRTdGVwKCk7CiAgICAgbV9kaWRQZXJmb3JtVGFzayA9IHRydWU7CiB9CiAKICNpZiAh
TE9HX0RJU0FCTEVECi1jb25zdCBjaGFyKiBEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlVHJhbnNh
Y3Rpb25UYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKK2NvbnN0IGNoYXIqIERhdGFiYXNlVHJh
bnNhY3Rpb25UYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkRhdGFi
YXNlVHJhbnNhY3Rpb25UYXNrIjsKIH0KQEAgLTE4MiwxOSArMTgxLDE5IEBAIGNvbnN0IGNoYXIq
IERhdGFiYXNlQmFja2VuZDo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6OmRlYnVnVGFza05hbWUo
KSBjb25zdAogLy8gKioqIERhdGFiYXNlVGFibGVOYW1lc1Rhc2sgKioqCiAvLyBSZXRyaWV2ZXMg
YSBsaXN0IG9mIGFsbCB0YWJsZXMgaW4gdGhlIGRhdGFiYXNlIC0gZm9yIFdlYkluc3BlY3RvciBz
dXBwb3J0LgogCi1EYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OkRhdGFi
YXNlVGFibGVOYW1lc1Rhc2soRGF0YWJhc2VCYWNrZW5kJiBkYXRhYmFzZSwgRGF0YWJhc2VUYXNr
U3luY2hyb25pemVyJiBzeW5jaHJvbml6ZXIsIFZlY3RvcjxTdHJpbmc+JiBuYW1lcykKK0RhdGFi
YXNlVGFibGVOYW1lc1Rhc2s6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2soRGF0YWJhc2UmIGRhdGFi
YXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXImIHN5bmNocm9uaXplciwgVmVjdG9yPFN0cmlu
Zz4mIG5hbWVzKQogICAgIDogRGF0YWJhc2VUYXNrKGRhdGFiYXNlLCAmc3luY2hyb25pemVyKQog
ICAgICwgbV90YWJsZU5hbWVzKG5hbWVzKQogewogfQogCi12b2lkIERhdGFiYXNlQmFja2VuZDo6
RGF0YWJhc2VUYWJsZU5hbWVzVGFzazo6ZG9QZXJmb3JtVGFzaygpCit2b2lkIERhdGFiYXNlVGFi
bGVOYW1lc1Rhc2s6OmRvUGVyZm9ybVRhc2soKQogewotICAgIG1fdGFibGVOYW1lcyA9IERhdGFi
YXNlOjpmcm9tKCZkYXRhYmFzZSgpKS0+cGVyZm9ybUdldFRhYmxlTmFtZXMoKTsKKyAgICBtX3Rh
YmxlTmFtZXMgPSBkYXRhYmFzZSgpLnBlcmZvcm1HZXRUYWJsZU5hbWVzKCk7CiB9CiAKICNpZiAh
TE9HX0RJU0FCTEVECi1jb25zdCBjaGFyKiBEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlVGFibGVO
YW1lc1Rhc2s6OmRlYnVnVGFza05hbWUoKSBjb25zdAorY29uc3QgY2hhciogRGF0YWJhc2VUYWJs
ZU5hbWVzVGFzazo6ZGVidWdUYXNrTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICJEYXRhYmFz
ZVRhYmxlTmFtZXNUYXNrIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlVGFzay5oCmluZGV4IDAwZTQ1MDY1ZTBlMjIzYjYyNDZhYTdjYjg2MWFl
MWY2MDA2MzU0MWUuLmU2MWMyMGNlNWY4YWYzZGIxMTlhYmIyOTU5OTcwNTEzZmExZDE5YjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2su
aApAQCAtMjgsNyArMjgsNiBAQAogI2lmbmRlZiBEYXRhYmFzZVRhc2tfaAogI2RlZmluZSBEYXRh
YmFzZVRhc2tfaAogCi0jaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5kLmgiCiAjaW5jbHVkZSAiRGF0
YWJhc2VCYXNpY1R5cGVzLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VFcnJvci5oIgogI2luY2x1ZGUg
IlNRTFRyYW5zYWN0aW9uQmFja2VuZC5oIgpAQCAtNzMsMTkgKzcyLDE5IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgcGVyZm9ybVRhc2soKTsKIAotICAgIERhdGFiYXNlQmFja2VuZCYgZGF0YWJhc2Uo
KSBjb25zdCB7IHJldHVybiBtX2RhdGFiYXNlOyB9CisgICAgRGF0YWJhc2UmIGRhdGFiYXNlKCkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZTsgfQogI2lmbmRlZiBOREVCVUcKICAgICBib29sIGhh
c1N5bmNocm9uaXplcigpIGNvbnN0IHsgcmV0dXJuIG1fc3luY2hyb25pemVyOyB9CiAgICAgYm9v
bCBoYXNDaGVja2VkRm9yVGVybWluYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N5bmNocm9uaXpl
ci0+aGFzQ2hlY2tlZEZvclRlcm1pbmF0aW9uKCk7IH0KICNlbmRpZgogCiBwcm90ZWN0ZWQ6Ci0g
ICAgRGF0YWJhc2VUYXNrKERhdGFiYXNlQmFja2VuZCYsIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciopOworICAgIERhdGFiYXNlVGFzayhEYXRhYmFzZSYsIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciopOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkb1BlcmZvcm1UYXNrKCkgPSAwOwog
Ci0gICAgRGF0YWJhc2VCYWNrZW5kJiBtX2RhdGFiYXNlOworICAgIERhdGFiYXNlJiBtX2RhdGFi
YXNlOwogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplciogbV9zeW5jaHJvbml6ZXI7CiAKICNp
ZiAhTE9HX0RJU0FCTEVECkBAIC05NCw5ICs5Myw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIERhdGFiYXNlQmFja2VuZDo6RGF0YWJhc2VPcGVuVGFzayA6IHB1YmxpYyBEYXRhYmFz
ZVRhc2sgeworY2xhc3MgRGF0YWJhc2VPcGVuVGFzayA6IHB1YmxpYyBEYXRhYmFzZVRhc2sgewog
cHVibGljOgotICAgIERhdGFiYXNlT3BlblRhc2soRGF0YWJhc2VCYWNrZW5kJiwgYm9vbCBzZXRW
ZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyJiwgRGF0YWJhc2VF
cnJvciYsIFN0cmluZyYgZXJyb3JNZXNzYWdlLCBib29sJiBzdWNjZXNzKTsKKyAgICBEYXRhYmFz
ZU9wZW5UYXNrKERhdGFiYXNlJiwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJh
c2VUYXNrU3luY2hyb25pemVyJiwgRGF0YWJhc2VFcnJvciYsIFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBib29sJiBzdWNjZXNzKTsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3Jt
VGFzaygpIG92ZXJyaWRlOwpAQCAtMTEwLDkgKzEwOSw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCYg
bV9zdWNjZXNzOwogfTsKIAotY2xhc3MgRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZUNsb3NlVGFz
ayA6IHB1YmxpYyBEYXRhYmFzZVRhc2sgeworY2xhc3MgRGF0YWJhc2VDbG9zZVRhc2sgOiBwdWJs
aWMgRGF0YWJhc2VUYXNrIHsKIHB1YmxpYzoKLSAgICBEYXRhYmFzZUNsb3NlVGFzayhEYXRhYmFz
ZUJhY2tlbmQmLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXImKTsKKyAgICBEYXRhYmFzZUNsb3Nl
VGFzayhEYXRhYmFzZSYsIERhdGFiYXNlVGFza1N5bmNocm9uaXplciYpOwogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBkb1BlcmZvcm1UYXNrKCkgb3ZlcnJpZGU7CkBAIC0xMjEsNyArMTIw
LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VCYWNrZW5kOjpEYXRh
YmFzZVRyYW5zYWN0aW9uVGFzayA6IHB1YmxpYyBEYXRhYmFzZVRhc2sgeworY2xhc3MgRGF0YWJh
c2VUcmFuc2FjdGlvblRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBEYXRhYmFzZVRyYW5zYWN0aW9uVGFzayhQYXNzUmVmUHRyPFNRTFRyYW5zYWN0aW9u
QmFja2VuZD4pOwogICAgIHZpcnR1YWwgfkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrKCk7CkBAIC0x
MzgsOSArMTM3LDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZGlkUGVyZm9ybVRhc2s7CiB9Owog
Ci1jbGFzcyBEYXRhYmFzZUJhY2tlbmQ6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2sgOiBwdWJsaWMg
RGF0YWJhc2VUYXNrIHsKK2NsYXNzIERhdGFiYXNlVGFibGVOYW1lc1Rhc2sgOiBwdWJsaWMgRGF0
YWJhc2VUYXNrIHsKIHB1YmxpYzoKLSAgICBEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKERhdGFiYXNl
QmFja2VuZCYsIERhdGFiYXNlVGFza1N5bmNocm9uaXplciYsIFZlY3RvcjxTdHJpbmc+JiBuYW1l
cyk7CisgICAgRGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFzZSYsIERhdGFiYXNlVGFza1N5
bmNocm9uaXplciYsIFZlY3RvcjxTdHJpbmc+JiBuYW1lcyk7CiAKIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIGRvUGVyZm9ybVRhc2soKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuY3BwCmlu
ZGV4IDNmODcyNTA5MzU2ZWJhYjdlOGEwMGFiMGVkNWI3NjA2ZDRhNGVkMTcuLjE1ZGVlMWM1Yzgw
YzJjN2Y0ZDE1MDViMGEyZTU2OGI1NTdmZjdjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmNwcApAQCAt
MjgsNyArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFN0YXRlbWVu
dEJhY2tlbmQuaCIKIAotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZC5oIgorI2luY2x1ZGUgIkRh
dGFiYXNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNRTEVycm9yLmgiCiAj
aW5jbHVkZSAiU1FMUmVzdWx0U2V0LmgiCkBAIC0xMTIsNyArMTEyLDcgQEAgUGFzc1JlZlB0cjxT
UUxSZXN1bHRTZXQ+IFNRTFN0YXRlbWVudEJhY2tlbmQ6OnNxbFJlc3VsdFNldCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcmVzdWx0U2V0OwogfQogCi1ib29sIFNRTFN0YXRlbWVudEJhY2tlbmQ6OmV4
ZWN1dGUoRGF0YWJhc2VCYWNrZW5kJiBkYikKK2Jvb2wgU1FMU3RhdGVtZW50QmFja2VuZDo6ZXhl
Y3V0ZShEYXRhYmFzZSYgZGIpCiB7CiAgICAgQVNTRVJUKCFtX3Jlc3VsdFNldCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFj
a2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRC
YWNrZW5kLmgKaW5kZXggNDkyODc1ODJmY2FiYzY3Y2MzODYyZmE0MDNhNzIzZDE4MzhjMGVjYi4u
N2U5OGNhYTZjM2EwM2I3MDUwMzQ2YmFiZmY4MzEzNWI5ZDlmYTJiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5k
LmgKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEYXRh
YmFzZUJhY2tlbmQ7CitjbGFzcyBEYXRhYmFzZTsKIGNsYXNzIFNRTEVycm9yOwogY2xhc3MgU1FM
UmVzdWx0U2V0OwogY2xhc3MgU1FMU3RhdGVtZW50OwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGNvbnN0IFN0cmluZyYgc3FsU3RhdGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFs
dWU+JiBhcmd1bWVudHMsIGludCBwZXJtaXNzaW9ucyk7CiAgICAgdmlydHVhbCB+U1FMU3RhdGVt
ZW50QmFja2VuZCgpOwogCi0gICAgYm9vbCBleGVjdXRlKERhdGFiYXNlQmFja2VuZCYpOworICAg
IGJvb2wgZXhlY3V0ZShEYXRhYmFzZSYpOwogICAgIGJvb2wgbGFzdEV4ZWN1dGlvbkZhaWxlZER1
ZVRvUXVvdGEoKSBjb25zdDsKIAogICAgIGJvb2wgaGFzU3RhdGVtZW50Q2FsbGJhY2soKSBjb25z
dCB7IHJldHVybiBtX2hhc0NhbGxiYWNrOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKaW5kZXgg
ZDMxMTM4MGU0NDg1ODFhZDllNDM3ZDI0NWVlYTI5ZjZhOWY5YzA5Ni4uMTE0Nzg0OGViMzExYzU3
YmNiNDdjZTI5MGRmNmI1ZmQ3ZjRlYjg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApAQCAt
MjksOSArMjksOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0
aW9uQmFja2VuZC5oIgogCi0jaW5jbHVkZSAiRGF0YWJhc2UuaCIgLy8gRklYTUU6IFNob3VsZCBv
bmx5IGJlIHVzZWQgaW4gdGhlIGZyb250ZW5kLgorI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2VBdXRob3JpemVyLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUaHJlYWQu
aCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKQEAgLTUyOSw3ICs1MjgsNyBAQCB2b2lk
IFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6ZXhlY3V0ZVNRTChzdGQ6OnVuaXF1ZV9wdHI8U1FMU3Rh
dGVtZW50PiBzdGF0ZW1lbnQsCiAgICAgUmVmUHRyPFNRTFN0YXRlbWVudEJhY2tlbmQ+IHN0YXRl
bWVudEJhY2tlbmQ7CiAgICAgc3RhdGVtZW50QmFja2VuZCA9IFNRTFN0YXRlbWVudEJhY2tlbmQ6
OmNyZWF0ZShXVEY6Om1vdmUoc3RhdGVtZW50KSwgc3FsU3RhdGVtZW50LCBhcmd1bWVudHMsIHBl
cm1pc3Npb25zKTsKIAotICAgIGlmIChEYXRhYmFzZTo6ZnJvbShtX2RhdGFiYXNlLmdldCgpKS0+
ZGVsZXRlZCgpKQorICAgIGlmIChtX2RhdGFiYXNlLT5kZWxldGVkKCkpCiAgICAgICAgIHN0YXRl
bWVudEJhY2tlbmQtPnNldERhdGFiYXNlRGVsZXRlZEVycm9yKCk7CiAKICAgICBlbnF1ZXVlU3Rh
dGVtZW50QmFja2VuZChzdGF0ZW1lbnRCYWNrZW5kKTsKQEAgLTU2Nyw3ICs1NjYsNyBAQCBTUUxU
cmFuc2FjdGlvblN0YXRlIFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6b3BlblRyYW5zYWN0aW9uQW5k
UHJlZmxpZ2h0KCkKICAgICBMT0coU3RvcmFnZUFQSSwgIk9wZW5pbmcgYW5kIHByZWZsaWdodGlu
ZyB0cmFuc2FjdGlvbiAlcCIsIHRoaXMpOwogCiAgICAgLy8gSWYgdGhlIGRhdGFiYXNlIHdhcyBk
ZWxldGVkLCBqdW1wIHRvIHRoZSBlcnJvciBjYWxsYmFjawotICAgIGlmIChEYXRhYmFzZTo6ZnJv
bShtX2RhdGFiYXNlLmdldCgpKS0+ZGVsZXRlZCgpKSB7CisgICAgaWYgKG1fZGF0YWJhc2UtPmRl
bGV0ZWQoKSkgewogICAgICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRl
KFNRTEVycm9yOjpVTktOT1dOX0VSUiwgInVuYWJsZSB0byBvcGVuIGEgdHJhbnNhY3Rpb24sIGJl
Y2F1c2UgdGhlIHVzZXIgZGVsZXRlZCB0aGUgZGF0YWJhc2UiKTsKICAgICAgICAgcmV0dXJuIG5l
eHRTdGF0ZUZvclRyYW5zYWN0aW9uRXJyb3IoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBjMjA0ZmNmMTYwNGJiMTJjNGU2
N2Q1NmMxZjNlOWQ3ZjdlZGEyYThkLi4wNGYwN2QxZGE3OGVkYWVmOTM3MzcxMWI2NmNlZDVkYzlk
ZGY5MTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKQEAgLTY4MDgsNyArNjgwOCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxN
b2R1bGVzXHdlYmRhdGFiYXNlXENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2UuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUF1
dGhvcml6ZXIuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJk
YXRhYmFzZVxEYXRhYmFzZUJhY2tlbmQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhY2tlbmRCYXNlLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2VDb250ZXh0
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2Vc
RGF0YWJhc2VNYW5hZ2VyLmNwcCIgLz4KQEAgLTIwNTQ4LDcgKzIwNTQ3LDYgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcQ2hhbmdlVmVyc2lvbldyYXBw
ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2Vc
RGF0YWJhc2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0
YWJhc2VcRGF0YWJhc2VBdXRob3JpemVyLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhY2tlbmRCYXNlLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFi
YXNlQmFzaWNUeXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3
ZWJkYXRhYmFzZVxEYXRhYmFzZUNhbGxiYWNrLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMGZhYmJk
ODRlY2Y5NjNmYzAzOGNjZTczNDQ5ZDRjMmFhZGZiYjlkZC4uYTdlMTM1NjVlNmJkZWVhNzAyMzEy
OWJhM2NhNDcxMDRiMzNlOTYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDgzLDkgKzQ4Myw2IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQXV0
aG9yaXplci5jcHAiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdl
YmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZC5jcHAiPgotICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdl
YmRhdGFiYXNlPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZEJhc2UuY3BwIj4KICAg
ICAgIDxGaWx0ZXI+TW9kdWxlc1x3ZWJkYXRhYmFzZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxl
PgpAQCAtNzQ0OCw5ICs3NDQ1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVs
ZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2VBdXRob3JpemVyLmgiPgogICAgICAgPEZpbHRlcj5Nb2R1
bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZC5oIj4KLSAg
ICAgIDxGaWx0ZXI+TW9kdWxlc1x3ZWJkYXRhYmFzZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFz
ZUJhY2tlbmRCYXNlLmgiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmQ0NzUzOWQyZjI1OWNlYjA2ZWM3MzBjN2RhYWVm
ODA0ZTZlNDM3Mi4uZDc3YWUyYmQ1NTI0OGRmMTIwZTAxY2NkMjUzNjA5ZDBhYmE5NmU0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNjgxNCw4ICs2ODE0LDYgQEAKIAkJRkUwRDg0RTkxMDQ4NDM0ODAwMUExNzlFIC8qIFdlYkV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTBE
ODRFODEwNDg0MzQ4MDAxQTE3OUUgLyogV2ViRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTBEODRFQjEwNDg0MzZFMDAxQTE3OUUgLyog
V2ViRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRTBEODRFQTEwNDg0MzZFMDAxQTE3OUUgLyogV2ViRXZlbnQubW0gKi87IH07CiAJCUZFMTE1
RkFCMTY3OTg4Q0QwMDI0OTEzNCAvKiBBYnN0cmFjdERhdGFiYXNlU2VydmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTExNUZBOTE2Nzk4OENEMDAy
NDkxMzQgLyogQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUZFMTZDRkQzMTY5RDFERUQwMEQzQTBDNyAvKiBE
YXRhYmFzZUJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkUxNkNGQ0YxNjlEMURFQzAwRDNBMEM3IC8qIERhdGFiYXNlQmFja2VuZC5jcHAg
Ki87IH07Ci0JCUZFMTZDRkQ0MTY5RDFERUQwMEQzQTBDNyAvKiBEYXRhYmFzZUJhY2tlbmQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMTZDRkQwMTY5
RDFERUMwMEQzQTBDNyAvKiBEYXRhYmFzZUJhY2tlbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTMzNzFBMjE2N0MxMUQ0MDBFREI3NTIgLyog
RGF0YWJhc2VCYXNpY1R5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRTMzNzFBMDE2N0MxMUQ0MDBFREI3NTIgLyogRGF0YWJhc2VCYXNpY1R5cGVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkUz
NkZEMTUxNkM3ODI2NTAwRjg4N0MxIC8qIENoYW5nZVZlcnNpb25EYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTM2RkQxMTE2Qzc4MjY0MDBGODg3
QzEgLyogQ2hhbmdlVmVyc2lvbkRhdGEuaCAqLzsgfTsKIAkJRkUzNkZEMTYxNkM3ODI2NTAwRjg4
N0MxIC8qIFNRTFRyYW5zYWN0aW9uU3RhdGVNYWNoaW5lLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMzZGRDEyMTZDNzgyNjQwMEY4ODdDMSAvKiBT
UUxUcmFuc2FjdGlvblN0YXRlTWFjaGluZS5jcHAgKi87IH07CkBAIC0xNDU3Nyw4ICsxNDU3NSw2
IEBACiAJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBXZWJFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRTBEODRFQTEwNDg0MzZFMDAxQTE3OUUgLyogV2ViRXZlbnQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFdmVudC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkUxMTVGQTkxNjc5ODhDRDAwMjQ5MTM0IC8qIEFic3RyYWN0RGF0
YWJhc2VTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RE
YXRhYmFzZVNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRTE2Q0ZDRjE2
OUQxREVDMDBEM0EwQzcgLyogRGF0YWJhc2VCYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlQmFja2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUZFMTZDRkQwMTY5RDFERUMwMEQzQTBDNyAvKiBEYXRhYmFzZUJhY2tlbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YWJhc2VCYWNrZW5kLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMzM3MUEwMTY3QzExRDQwMEVEQjc1MiAvKiBE
YXRhYmFzZUJhc2ljVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0
YWJhc2VCYXNpY1R5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMzZGRDEx
MTZDNzgyNjQwMEY4ODdDMSAvKiBDaGFuZ2VWZXJzaW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDaGFuZ2VWZXJzaW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRTM2RkQxMjE2Qzc4MjY0MDBGODg3QzEgLyogU1FMVHJhbnNhY3Rpb25TdGF0
ZU1hY2hpbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1FMVHJh
bnNhY3Rpb25TdGF0ZU1hY2hpbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTg3NzUsOCArMTg3NzEsNiBAQAogCQkJCTk3QkM2OUUwMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRh
YmFzZS5pZGwgKi8sCiAJCQkJOTdCQzY5RTExNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlQXV0
aG9yaXplci5jcHAgKi8sCiAJCQkJOTdCQzY5RTIxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNl
QXV0aG9yaXplci5oICovLAotCQkJCUZFMTZDRkNGMTY5RDFERUMwMEQzQTBDNyAvKiBEYXRhYmFz
ZUJhY2tlbmQuY3BwICovLAotCQkJCUZFMTZDRkQwMTY5RDFERUMwMEQzQTBDNyAvKiBEYXRhYmFz
ZUJhY2tlbmQuaCAqLywKIAkJCQk5N0JDNjlENjE1MDVGMDc2MDAxQjc0QUMgLyogRGF0YWJhc2VC
YWNrZW5kQmFzZS5jcHAgKi8sCiAJCQkJOTdCQzY5RDcxNTA1RjA3NjAwMUI3NEFDIC8qIERhdGFi
YXNlQmFja2VuZEJhc2UuaCAqLywKIAkJCQlGRTMzNzFBMDE2N0MxMUQ0MDBFREI3NTIgLyogRGF0
YWJhc2VCYXNpY1R5cGVzLmggKi8sCkBAIC0yNDM1NCw3ICsyNDM0OCw2IEBACiAJCQkJMjZGNzU2
QjAxQjNCNjVBQzAwMDVERDc5IC8qIE11dGFibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdCQzZBMjExNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0JDNkEyNDE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VBdXRob3JpemVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlGRTE2Q0ZENDE2OUQxREVEMDBEM0EwQzcgLyogRGF0YWJhc2VCYWNrZW5k
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNjlEQjE1MDVGMDc2MDAxQjc0QUMgLyogRGF0YWJh
c2VCYWNrZW5kQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUzMzcxQTIxNjdDMTFENDAwRURC
NzUyIC8qIERhdGFiYXNlQmFzaWNUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzZBMjUx
NTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLApAQCAt
MjgxMTAsNyArMjgxMDMsNiBAQAogCQkJCTYyQ0QzMjU5MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0
b21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0JDNkEyMDE1MDVGMDgxMDAxQjc0QUMg
LyogRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzZBMjMxNTA1RjA4MTAwMUI3
NEFDIC8qIERhdGFiYXNlQXV0aG9yaXplci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGRTE2Q0ZE
MzE2OUQxREVEMDBEM0EwQzcgLyogRGF0YWJhc2VCYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk3QkM2OURBMTUwNUYwNzYwMDFCNzRBQyAvKiBEYXRhYmFzZUJhY2tlbmRCYXNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTk3QkM2QTI3MTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZUNv
bnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkU0NTZGMTgxNjc3RDc0RTAwNUVEREY5IC8q
IERhdGFiYXNlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywK
</data>
<flag name="review"
          id="283460"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>