<?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>140365</bug_id>
          
          <creation_ts>2015-01-12 11:01:21 -0800</creation_ts>
          <short_desc>Merge DatabaseBackendContext into DatabaseContext</short_desc>
          <delta_ts>2015-01-12 11:43:31 -0800</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>1060606</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-12 11:01:21 -0800</bug_when>
    <thetext>Merge DatabaseBackendContext into DatabaseContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060607</commentid>
    <comment_count>1</comment_count>
      <attachid>244453</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-12 11:01:54 -0800</bug_when>
    <thetext>Created attachment 244453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060611</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-12 11:43:31 -0800</bug_when>
    <thetext>Committed r178288: &lt;http://trac.webkit.org/changeset/178288&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244453</attachid>
            <date>2015-01-12 11:01:54 -0800</date>
            <delta_ts>2015-01-12 11:41:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140365-20150112110158.patch</filename>
            <type>text/plain</type>
            <size>40272</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU5ODc1Nzk4MmE4ZjZi
NmVlOTA1ZmNhMmMxZmI2MjkzMmQ5OGE1NC4uZWVkYmM1YTY5ODE5MjJhNzUzMTA5ZGE3M2IwNDIy
YTg5NjM4NThlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE1LTAxLTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgRGF0YWJh
c2VCYWNrZW5kQ29udGV4dCBpbnRvIERhdGFiYXNlQ29udGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMzY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGFiYXNlOjpEYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFja2VuZDo6RGF0YWJhc2VCYWNrZW5kKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhYmFzZUJhY2tlbmRCYXNlOjpEYXRhYmFzZUJhY2tlbmRCYXNlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlQmFja2VuZEJhc2U6OmRhdGFiYXNlQ29udGV4dCk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZENvbnRleHQu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUNvbnRleHQ6OnNlY3VyaXR5T3JpZ2lu
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6aXNDb250ZXh0VGhyZWFkKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6YmFja2VuZCk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEYXRhYmFzZU1hbmFnZXI6Om9wZW5EYXRhYmFzZUJhY2tlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VNYW5hZ2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU2VydmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFiYXNlU2VydmVyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlU2VydmVyOjpvcGVuRGF0YWJhc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VTZXJ2ZXI6OmNyZWF0ZURhdGFiYXNlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU2VydmVyLmg6CisgICAgICAgICogTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YWJhc2VUcmFja2VyOjpjYW5Fc3RhYmxpc2hEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhYmFzZVRyYWNrZXI6OnJldHJ5Q2FuRXN0YWJsaXNoRGF0YWJhc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcDoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUtMDEtMTEgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBNZXJnZSBEYXRhYmFzZUJhc2UgaW50byBE
YXRhYmFzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4YmEwMGNhOTEzODMzNjRkNWVlOGU1OWQ2
ZmQyOTMxMDYxMDY1NDUzLi5hZTU5MTFhZjgxZDQ0OTVkYjkzNmQ5ZjM5OWNlNDUzZmExNjk1N2I3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTUwLDcgKzk1MCw2IEBAIHNldChXZWJDb3JlX1NP
VVJDRVMKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQXV0aG9yaXplci5jcHAKICAg
ICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZC5jcHAKICAgICBNb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuY3BwCi0gICAgTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VDb250ZXh0LmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2Vy
LmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTZXJ2ZXIuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2VT
ZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRh
YmFzZVNlcnZlci5oCmluZGV4IGVjNmRkZjBlZmJiODI1NGYzMDc5NTk2ZjFmYTIzNTMxMTE0Yzky
NWUuLjM1MmQ4MzA2MTVhMTQyYjZjNDkwYWI2MjVmMWRjZWEyOGMzYWMzMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZVNlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRh
YmFzZVNlcnZlci5oCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIERhdGFiYXNlQmFja2VuZEJhc2U7Ci1jbGFzcyBEYXRhYmFzZUJhY2tlbmRDb250ZXh0Owor
Y2xhc3MgRGF0YWJhc2VDb250ZXh0OwogY2xhc3MgRGF0YWJhc2VNYW5hZ2VyQ2xpZW50OwogY2xh
c3MgU2VjdXJpdHlPcmlnaW47CiAKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogICAgICAgICBS
ZXRyeU9wZW5EYXRhYmFzZQogICAgIH07CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0YWJh
c2VCYWNrZW5kQmFzZT4gb3BlbkRhdGFiYXNlKFJlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0
PiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNpb24sIGNv
bnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgYm9v
bCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VFcnJvciYsIFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBPcGVuQXR0ZW1wdCA9IEZpcnN0VHJ5VG9PcGVuRGF0YWJhc2UpID0gMDsKKyAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gb3BlbkRhdGFiYXNlKFJlZlB0
cjxEYXRhYmFzZUNvbnRleHQ+JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGV4
cGVjdGVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBl
c3RpbWF0ZWRTaXplLCBib29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZUVycm9y
JiwgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIE9wZW5BdHRlbXB0ID0gRmlyc3RUcnlUb09wZW5EYXRh
YmFzZSkgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc0VudHJ5Rm9yT3JpZ2luKFNlY3VyaXR5
T3JpZ2luKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBvcmlnaW5zKFZlY3RvcjxSZWZQdHI8U2Vj
dXJpdHlPcmlnaW4+PiYgcmVzdWx0KSA9IDA7CkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgZGVsZXRlT3JpZ2luKFNlY3VyaXR5T3JpZ2luKikgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVEYXRhYmFzZShTZWN1cml0eU9yaWdpbiosIGNvbnN0IFN0cmluZyYg
bmFtZSkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGludGVycnVwdEFsbERhdGFiYXNlc0ZvckNv
bnRleHQoY29uc3QgRGF0YWJhc2VCYWNrZW5kQ29udGV4dCopID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgaW50ZXJydXB0QWxsRGF0YWJhc2VzRm9yQ29udGV4dChjb25zdCBEYXRhYmFzZUNvbnRleHQq
KSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBBYnN0cmFjdERhdGFiYXNlU2VydmVyKCkgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwCmluZGV4
IDlkN2Q3Mjc0YzkxYzA0Yjc1OGExMDBiNjUyYTUzN2RkNzVmYzE5NzIuLjAyNzI5M2NhMzdhZDdm
MzhhMWQ2NmJlZGE4ZjY1MmE2NmMzZmI0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkNoYW5nZVZlcnNpb25EYXRhLmgiCi0jaW5jbHVk
ZSAiRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJhY2su
aCIKICNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKICNpbmNsdWRlICJEYXRhYmFzZU1hbmFn
ZXIuaCIKQEAgLTcxLDEwICs3MCwxMCBAQCBQYXNzUmVmUHRyPERhdGFiYXNlPiBEYXRhYmFzZTo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERhdGFiYQogICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxEYXRhYmFzZSo+KGJhY2tlbmQuZ2V0KCkpOwogfQogCi1EYXRhYmFz
ZTo6RGF0YWJhc2UoUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiBkYXRhYmFzZUNv
bnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNpb24s
IGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkK
K0RhdGFiYXNlOjpEYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNlQ29udGV4dD4gZGF0YWJhc2VD
b250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9u
LCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUp
CiAgICAgOiBEYXRhYmFzZUJhY2tlbmQoZGF0YWJhc2VDb250ZXh0LmdldCgpLCBuYW1lLCBleHBl
Y3RlZFZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplKQogICAgICwgbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KGRhdGFiYXNlQ29udGV4dC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQotICAgICwgbV9kYXRhYmFzZUNvbnRleHQoRGF0YWJhc2VCYWNrZW5kOjpkYXRhYmFzZUNvbnRl
eHQoKS0+ZnJvbnRlbmQoKSkKKyAgICAsIG1fZGF0YWJhc2VDb250ZXh0KGRhdGFiYXNlQ29udGV4
dCkKICAgICAsIG1fZGVsZXRlZChmYWxzZSkKIHsKICAgICBtX2RhdGFiYXNlVGhyZWFkU2VjdXJp
dHlPcmlnaW4gPSBtX2NvbnRleHRUaHJlYWRTZWN1cml0eU9yaWdpbi0+aXNvbGF0ZWRDb3B5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmgKaW5kZXgg
NjkyZTBjNjlmMDcwYmFjMzU2ZGZiMTkxODEwMmFjNTFjMmI2NGI3NS4uZDg0YmQxYzYwOTA1OGZi
NjEyM2Y2ZTk3ZGE5MWI3ZGMxNmE0OGZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2UuaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzY2hlZHVsZVRyYW5zYWN0aW9uQ2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qKTsKIAogcHJpdmF0
ZToKLSAgICBEYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZENvbnRleHQ+LCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJp
bmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpOworICAgIERhdGFi
YXNlKFBhc3NSZWZQdHI8RGF0YWJhc2VDb250ZXh0PiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5z
aWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKTsKIAogICAgIFBhc3NSZWZQdHI8RGF0YWJhc2VCYWNr
ZW5kPiBiYWNrZW5kKCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YWJhc2U+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRCYXNlPik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
QmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
QmFja2VuZC5jcHAKaW5kZXggOWI4MTU3OWUwMWE5NGRlZWI1MDM5ZjQ2MzgwY2Y3NzE3OTBlYWEw
ZS4uMTk2ZGEzMjVjYmU2MjY3MWU3ZDQ3ZGVkMDU2OGE5ZWViMDAzZGJiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kLmNw
cApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNoYW5nZVZlcnNpb25EYXRhLmgiCiAjaW5j
bHVkZSAiQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgotI2lu
Y2x1ZGUgIkRhdGFiYXNlQmFja2VuZENvbnRleHQuaCIKKyNpbmNsdWRlICJEYXRhYmFzZUNvbnRl
eHQuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRocmVh
ZC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgpAQCAtNDcsNyArNDcsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLURhdGFiYXNlQmFja2VuZDo6RGF0YWJhc2VCYWNrZW5kKFBh
c3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQ29udGV4dD4gZGF0YWJhc2VDb250ZXh0LCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcm
IGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpCitEYXRhYmFzZUJhY2tl
bmQ6OkRhdGFiYXNlQmFja2VuZChQYXNzUmVmUHRyPERhdGFiYXNlQ29udGV4dD4gZGF0YWJhc2VD
b250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9u
LCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUp
CiAgICAgOiBEYXRhYmFzZUJhY2tlbmRCYXNlKGRhdGFiYXNlQ29udGV4dCwgbmFtZSwgZXhwZWN0
ZWRWZXJzaW9uLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSkKICAgICAsIG1fdHJhbnNhY3Rp
b25JblByb2dyZXNzKGZhbHNlKQogICAgICwgbV9pc1RyYW5zYWN0aW9uUXVldWVFbmFibGVkKHRy
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZUJhY2tlbmQuaAppbmRleCA4NTA2ZTczMWZlY2NmMGZhYWJlMTUxYjFjY2NlODYyYjk5ZjlhMjRi
Li4zNDZkMzNkMzQ0NTFjYmU4YmE3YzBkODhmMTFmMDI5YjNhZDllMzRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kLmgKQEAg
LTUwLDcgKzUwLDcgQEAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcjsKIAogY2xhc3Mg
RGF0YWJhc2VCYWNrZW5kIDogcHVibGljIERhdGFiYXNlQmFja2VuZEJhc2UgewogcHVibGljOgot
ICAgIERhdGFiYXNlQmFja2VuZChQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZENvbnRleHQ+LCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBT
dHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpOworICAgIERh
dGFiYXNlQmFja2VuZChQYXNzUmVmUHRyPERhdGFiYXNlQ29udGV4dD4sIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxh
eU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSk7CiAKICAgICB2aXJ0dWFsIGJvb2wg
b3BlbkFuZFZlcmlmeVZlcnNpb24oYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJh
c2VFcnJvciYsIFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKICAgICB2b2lkIGNsb3NlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2Vu
ZEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJh
Y2tlbmRCYXNlLmNwcAppbmRleCAzYjkzOGY5NTRiMGM0ZGU3N2E0NTI2YjlkNmQ1YzgyYmJiNTA1
MWM3Li4yZjQxZTM1YmY1MTExNzdlNmNkZjBmZThlOGE4OTBlMTMzNzdhM2MzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNr
ZW5kQmFzZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAj
aW5jbHVkZSAiRGF0YWJhc2VBdXRob3JpemVyLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2VCYWNrZW5k
Q29udGV4dC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ29udGV4dC5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlTWFuYWdlci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgpAQCAtNTcsNyArNTYs
NyBAQAogLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQogLy8gVGhlIERhdGFiYXNlVHJhY2tlciBtYWludGFpbnMgYSBsaXN0IG9mIGRhdGFi
YXNlcyB0aGF0IGhhdmUgYmVlbgogLy8gIm9wZW5lZCIgc28gdGhhdCB0aGUgY2xpZW50IGNhbiBj
YWxsIGludGVycnVwdCBvciBkZWxldGUgb24gZXZlcnkgZGF0YWJhc2UKLS8vIGFzc29jaWF0ZWQg
d2l0aCBhIERhdGFiYXNlQmFja2VuZENvbnRleHQuCisvLyBhc3NvY2lhdGVkIHdpdGggYSBEYXRh
YmFzZUNvbnRleHQuCiAvLwogLy8gV2Ugd2lsbCBvbmx5IGNhbGwgRGF0YWJhc2VUcmFja2VyOjph
ZGRPcGVuRGF0YWJhc2UoKSB0byBhZGQgdGhlIGRhdGFiYXNlCiAvLyB0byB0aGUgdHJhY2tlciBh
cyBvcGVuZWQgd2hlbiB3ZSd2ZSBzdWNjZWVkZWQgaW4gb3BlbmluZyB0aGUgZGF0YWJhc2UsCkBA
IC0yMDYsNyArMjA1LDcgQEAgU3RyaW5nIERhdGFiYXNlQmFja2VuZEJhc2U6OmRhdGFiYXNlRGVi
dWdOYW1lKCkgY29uc3QKIH0KICNlbmRpZgogCi1EYXRhYmFzZUJhY2tlbmRCYXNlOjpEYXRhYmFz
ZUJhY2tlbmRCYXNlKFBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQ29udGV4dD4gZGF0YWJhc2VD
b250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9u
LCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUp
CitEYXRhYmFzZUJhY2tlbmRCYXNlOjpEYXRhYmFzZUJhY2tlbmRCYXNlKFBhc3NSZWZQdHI8RGF0
YWJhc2VDb250ZXh0PiBkYXRhYmFzZUNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBleHBlY3RlZFZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2ln
bmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkKICAgICA6IG1fZGF0YWJhc2VDb250ZXh0KGRhdGFiYXNl
Q29udGV4dCkKICAgICAsIG1fbmFtZShuYW1lLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9leHBl
Y3RlZFZlcnNpb24oZXhwZWN0ZWRWZXJzaW9uLmlzb2xhdGVkQ29weSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2Uu
aAppbmRleCAwNDM3ZDkxYzI3MmQ2Y2I1Y2I1YWFlOWZhZGI4YTFiNTZlNDMwNWJjLi44YWM5YTUy
ZDU3OGZmYmM0NDViMzk0YWIzNzY5YWM4M2M0ZmUyNTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuaApAQCAt
NDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERhdGFiYXNlOwogY2xh
c3MgRGF0YWJhc2VBdXRob3JpemVyOwotY2xhc3MgRGF0YWJhc2VCYWNrZW5kQ29udGV4dDsKK2Ns
YXNzIERhdGFiYXNlQ29udGV4dDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCiBjbGFzcyBEYXRh
YmFzZUJhY2tlbmRCYXNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPERhdGFiYXNlQmFj
a2VuZEJhc2U+IHsKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBt
YXJrQXNEZWxldGVkQW5kQ2xvc2UoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlSW1tZWRp
YXRlbHkoKSA9IDA7CiAKLSAgICBEYXRhYmFzZUJhY2tlbmRDb250ZXh0KiBkYXRhYmFzZUNvbnRl
eHQoKSBjb25zdCB7IHJldHVybiBtX2RhdGFiYXNlQ29udGV4dC5nZXQoKTsgfQorICAgIERhdGFi
YXNlQ29udGV4dCogZGF0YWJhc2VDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZUNv
bnRleHQuZ2V0KCk7IH0KICAgICB2b2lkIHNldEZyb250ZW5kKERhdGFiYXNlKiBmcm9udGVuZCkg
eyBtX2Zyb250ZW5kID0gZnJvbnRlbmQ7IH0KIAogcHJvdGVjdGVkOgpAQCAtOTIsNyArOTIsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgZnJpZW5kIGNsYXNzIFNRTFRyYW5zYWN0aW9uQmFja2VuZDsKICAg
ICBmcmllbmQgY2xhc3MgU1FMVHJhbnNhY3Rpb25CYWNrZW5kU3luYzsKIAotICAgIERhdGFiYXNl
QmFja2VuZEJhc2UoUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBk
aXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKTsKKyAgICBEYXRhYmFzZUJh
Y2tlbmRCYXNlKFBhc3NSZWZQdHI8RGF0YWJhc2VDb250ZXh0PiwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFt
ZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKTsKIAogICAgIHZvaWQgY2xvc2VEYXRhYmFz
ZSgpOwogCkBAIC0xMTQsNyArMTE0LDcgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiAKICAgICBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IG1fY29udGV4dFRocmVhZFNlY3VyaXR5T3JpZ2luOwotICAgIFJl
ZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiBtX2RhdGFiYXNlQ29udGV4dDsgLy8gQXNzb2Np
YXRlZCB3aXRoIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KKyAgICBSZWZQdHI8RGF0YWJhc2VD
b250ZXh0PiBtX2RhdGFiYXNlQ29udGV4dDsgLy8gQXNzb2NpYXRlZCB3aXRoIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC4KIAogICAgIFN0cmluZyBtX25hbWU7CiAgICAgU3RyaW5nIG1fZXhwZWN0
ZWRWZXJzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDhhMTkzNjBmZTBjNjc5NWM2NTQ3NTJlZjg5YjM4MDFjMmZkZjU1YjkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2Vu
ZENvbnRleHQuaCIKLQotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0KLSNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRGF0YWJhc2VD
b250ZXh0KiBEYXRhYmFzZUJhY2tlbmRDb250ZXh0Ojpmcm9udGVuZCgpCi17Ci0gICAgLy8gRklY
TUU6IEN1cnJlbnRseSwgd2UncmUgb25seSBzaW11bGF0aW5nIHRoZSBmcm9udGVuZCBieSByZXR1
cm4gdGhlCi0gICAgLy8gYmFja2VuZCBjb250ZXh0IGFzIGl0cyBvd24gdGhlIGZyb250ZW5kLiBX
aGVuIHdlIHNwbGl0IHRoZSAyIGFwYXJ0LCB0aGlzCi0gICAgLy8gY3JlYXRlKCkgZnVuY3Rpb24g
c2hvdWxkIGJlIGNoYW5nZWQgdG8gcmV0dXJuIGEgY2FjaGVkIG1fZnJvbnRlbmQuCi0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PERhdGFiYXNlQ29udGV4dCo+KHRoaXMpOwotfQotCi1TZWN1cml0eU9y
aWdpbiogRGF0YWJhc2VCYWNrZW5kQ29udGV4dDo6c2VjdXJpdHlPcmlnaW4oKSBjb25zdAotewot
ICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCk7Ci19
Ci0KLWJvb2wgRGF0YWJhc2VCYWNrZW5kQ29udGV4dDo6aXNDb250ZXh0VGhyZWFkKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0NvbnRleHRUaHJlYWQo
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFNRTF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VCYWNrZW5kQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIzYWJlZjdiNTNlZmUzM2RjMWE1YmRkMzcwNTViODNkMTliMTAxOTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRDb250ZXh0LmgKKysrIC9kZXYvbnVsbApAQCAt
MSw1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICov
Ci0KLSNpZm5kZWYgRGF0YWJhc2VCYWNrZW5kQ29udGV4dF9oCi0jZGVmaW5lIERhdGFiYXNlQmFj
a2VuZENvbnRleHRfaAotCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgIkRh
dGFiYXNlQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7Ci1jbGFzcyBTZWN1cml0eU9yaWdpbjsKLQotLy8gRklYTUU6IFRoaXMg
aW1wbGVtZW50YXRpb24gb2YgRGF0YWJhc2VCYWNrZW5kQ29udGV4dCBpcyBvbmx5IGEgcGxhY2Ug
aG9sZGVyCi0vLyBmb3IgdGhlIHNwbGl0IG91dCBvZiB0aGUgRGF0YWJhc2VDb250ZXh0IGJhY2tl
bmQgdG8gYmUgZG9uZSBsYXRlci4gVGhpcwotLy8gcGxhY2UgaG9sZGVyIGlzIG5lZWRlZCB0byBh
bGxvdyBvdGhlciBjb2RlIHRoYXQgbmVlZCB0byByZWZlcmVuY2UgdGhlCi0vLyBEYXRhYmFzZUJh
Y2tlbmRDb250ZXh0IHRvIGRvIHNvIGJlZm9yZSB0aGUgcHJvcGVyIGJhY2tlbmQgc3BsaXQgaXMK
LS8vIGF2YWlsYWJsZS4gVGhpcyBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCB0aGUgYWN0dWFsIGlt
cGxlbWVudGF0aW9uIGxhdGVyLgotCi1jbGFzcyBEYXRhYmFzZUJhY2tlbmRDb250ZXh0IDogcHVi
bGljIERhdGFiYXNlQ29udGV4dCB7Ci1wdWJsaWM6Ci0gICAgRGF0YWJhc2VDb250ZXh0KiBmcm9u
dGVuZCgpOwotCi0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQotICAgIFNl
Y3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigpIGNvbnN0OwotCi0gICAgYm9vbCBpc0NvbnRl
eHRUaHJlYWQoKSBjb25zdDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCi0KLSNlbmRpZiAvLyBEYXRhYmFzZUJhY2tlbmRDb250
ZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VDb250ZXh0LmNwcAppbmRleCAzOGRhMTVhMTZlMDVlM2Y3N2E2Y2Q1YmE0ODg1Mzk2M2Jl
MDE2MDQ2Li44ODU0OWE1ZWE0MzhlMjFmZTM3YmI2NTMzZjk2ZGQwNWFhNWQzMjA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRl
eHQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAi
Q2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKLSNpbmNsdWRlICJEYXRhYmFz
ZUJhY2tlbmRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiRGF0YWJhc2VUYXNrLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUaHJlYWQuaCIKQEAgLTE0Nywx
MiArMTQ2LDYgQEAgdm9pZCBEYXRhYmFzZUNvbnRleHQ6OnN0b3AoKQogICAgIHN0b3BEYXRhYmFz
ZXMoKTsKIH0KIAotUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiBEYXRhYmFzZUNv
bnRleHQ6OmJhY2tlbmQoKQotewotICAgIERhdGFiYXNlQmFja2VuZENvbnRleHQqIGJhY2tlbmQg
PSBzdGF0aWNfY2FzdDxEYXRhYmFzZUJhY2tlbmRDb250ZXh0Kj4odGhpcyk7Ci0gICAgcmV0dXJu
IGJhY2tlbmQ7Ci19Ci0KIERhdGFiYXNlVGhyZWFkKiBEYXRhYmFzZUNvbnRleHQ6OmRhdGFiYXNl
VGhyZWFkKCkKIHsKICAgICBpZiAoIW1fZGF0YWJhc2VUaHJlYWQgJiYgIW1faGFzT3BlbkRhdGFi
YXNlcykgewpAQCAtMjQzLDYgKzIzNiwxNiBAQCB2b2lkIERhdGFiYXNlQ29udGV4dDo6ZGF0YWJh
c2VFeGNlZWRlZFF1b3RhKGNvbnN0IFN0cmluZyYgbmFtZSwgRGF0YWJhc2VEZXRhaWxzCiAgICAg
RGF0YWJhc2VNYW5hZ2VyOjptYW5hZ2VyKCkuc2V0UXVvdGEobV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBkZWZhdWx0UXVvdGEpOwogfQogCitTZWN1cml0eU9yaWdp
biogRGF0YWJhc2VDb250ZXh0OjpzZWN1cml0eU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKTsKK30KKworYm9vbCBE
YXRhYmFzZUNvbnRleHQ6OmlzQ29udGV4dFRocmVhZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNDb250ZXh0VGhyZWFkKCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQuaApp
bmRleCBiZDE4MGVkYjhmZGIyM2JlOTFhNTVkZjVkMGFhYzQ0MWVjNDFiZmQ5Li5lZTQyYmQ5NjQ0
MGJkMmE4MWI0ZGRkYzZkNmZhOTk3NmNlMjdhNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmgKQEAgLTQyLDE1ICs0Miwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRGF0YWJh
c2VEZXRhaWxzOwotY2xhc3MgRGF0YWJhc2VCYWNrZW5kQ29udGV4dDsKIGNsYXNzIERhdGFiYXNl
VGFza1N5bmNocm9uaXplcjsKIGNsYXNzIERhdGFiYXNlVGhyZWFkOworY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiAKLWNsYXNzIERhdGFiYXNlQ29udGV4dCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxEYXRhYmFzZUNvbnRleHQ+LCBwcml2YXRlIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBE
YXRhYmFzZUNvbnRleHQgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8RGF0YWJh
c2VDb250ZXh0PiwgcHJpdmF0ZSBBY3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHZpcnR1
YWwgfkRhdGFiYXNlQ29udGV4dCgpOwogCi0gICAgUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRD
b250ZXh0PiBiYWNrZW5kKCk7CiAgICAgRGF0YWJhc2VUaHJlYWQqIGRhdGFiYXNlVGhyZWFkKCk7
CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC02Niw2ICs2NSwxMSBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhbGxvd0RhdGFiYXNlQWNjZXNzKCkgY29uc3Q7CiAgICAgdm9pZCBkYXRhYmFzZUV4Y2VlZGVk
UXVvdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBEYXRhYmFzZURldGFpbHMpOwogCisgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQorICAgIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbigpIGNvbnN0OworCisgICAgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdDsKKwog
cHJpdmF0ZToKICAgICBleHBsaWNpdCBEYXRhYmFzZUNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopOwogCkBAIC04MCw3ICs4NCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzUmVnaXN0
ZXJlZDsKICAgICBib29sIG1faGFzUmVxdWVzdGVkVGVybWluYXRpb247CiAKLSAgICBmcmllbmQg
Y2xhc3MgRGF0YWJhc2VCYWNrZW5kQ29udGV4dDsKICAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VN
YW5hZ2VyOwogCiAjaWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGFiZTU5OGNlMmQ4
YzgyYzU0ZGEzYTY4NDQwYjRhMmVkYWVjMDljM2IuLmY0MDNjMGRkOTkyYjgwYTFkMjM0ZDJkZTgy
MjE0MDRlOWJmODZhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRl
ICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZC5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlQmFja2VuZEJhc2UuaCIKLSNpbmNsdWRlICJEYXRhYmFzZUJhY2tlbmRDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ29udGV4
dC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlU2VydmVyLmgiCkBAIC0yMTUsOSArMjE0LDggQEAgUGFz
c1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRCYXNlPiBEYXRhYmFzZU1hbmFnZXI6Om9wZW5EYXRhYmFz
ZUJhY2tlbmQoU2NyaXB0RXhlY3UKICAgICBBU1NFUlQoZXJyb3IgPT0gRGF0YWJhc2VFcnJvcjo6
Tm9uZSk7CiAKICAgICBSZWZQdHI8RGF0YWJhc2VDb250ZXh0PiBkYXRhYmFzZUNvbnRleHQgPSBk
YXRhYmFzZUNvbnRleHRGb3IoY29udGV4dCk7Ci0gICAgUmVmUHRyPERhdGFiYXNlQmFja2VuZENv
bnRleHQ+IGJhY2tlbmRDb250ZXh0ID0gZGF0YWJhc2VDb250ZXh0LT5iYWNrZW5kKCk7CiAKLSAg
ICBSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gYmFja2VuZCA9IG1fc2VydmVyLT5vcGVuRGF0
YWJhc2UoYmFja2VuZENvbnRleHQsIG5hbWUsIGV4cGVjdGVkVmVyc2lvbiwgZGlzcGxheU5hbWUs
IGVzdGltYXRlZFNpemUsIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBlcnJvciwgZXJyb3JNZXNz
YWdlKTsKKyAgICBSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gYmFja2VuZCA9IG1fc2VydmVy
LT5vcGVuRGF0YWJhc2UoZGF0YWJhc2VDb250ZXh0LCBuYW1lLCBleHBlY3RlZFZlcnNpb24sIGRp
c3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplLCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgZXJyb3Is
IGVycm9yTWVzc2FnZSk7CiAKICAgICBpZiAoIWJhY2tlbmQpIHsKICAgICAgICAgQVNTRVJUKGVy
cm9yICE9IERhdGFiYXNlRXJyb3I6Ok5vbmUpOwpAQCAtMjQzLDcgKzI0MSw3IEBAIFBhc3NSZWZQ
dHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gRGF0YWJhc2VNYW5hZ2VyOjpvcGVuRGF0YWJhc2VCYWNr
ZW5kKFNjcmlwdEV4ZWN1CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlcnJvciA9IERhdGFi
YXNlRXJyb3I6Ok5vbmU7CiAKLSAgICAgICAgICAgIGJhY2tlbmQgPSBtX3NlcnZlci0+b3BlbkRh
dGFiYXNlKGJhY2tlbmRDb250ZXh0LCBuYW1lLCBleHBlY3RlZFZlcnNpb24sIGRpc3BsYXlOYW1l
LCBlc3RpbWF0ZWRTaXplLCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgZXJyb3IsIGVycm9yTWVz
c2FnZSwgQWJzdHJhY3REYXRhYmFzZVNlcnZlcjo6UmV0cnlPcGVuRGF0YWJhc2UpOworICAgICAg
ICAgICAgYmFja2VuZCA9IG1fc2VydmVyLT5vcGVuRGF0YWJhc2UoZGF0YWJhc2VDb250ZXh0LCBu
YW1lLCBleHBlY3RlZFZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplLCBzZXRWZXJz
aW9uSW5OZXdEYXRhYmFzZSwgZXJyb3IsIGVycm9yTWVzc2FnZSwgQWJzdHJhY3REYXRhYmFzZVNl
cnZlcjo6UmV0cnlPcGVuRGF0YWJhc2UpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
ZGVmYXVsdDoKQEAgLTQwNyw3ICs0MDUsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJy
dXB0QWxsRGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogewog
ICAgIFJlZlB0cjxEYXRhYmFzZUNvbnRleHQ+IGRhdGFiYXNlQ29udGV4dCA9IGV4aXN0aW5nRGF0
YWJhc2VDb250ZXh0Rm9yKGNvbnRleHQpOwogICAgIGlmIChkYXRhYmFzZUNvbnRleHQpCi0gICAg
ICAgIG1fc2VydmVyLT5pbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KGRhdGFiYXNlQ29u
dGV4dC0+YmFja2VuZCgpLmdldCgpKTsKKyAgICAgICAgbV9zZXJ2ZXItPmludGVycnVwdEFsbERh
dGFiYXNlc0ZvckNvbnRleHQoZGF0YWJhc2VDb250ZXh0LmdldCgpKTsKIH0KIAogdm9pZCBEYXRh
YmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTZXJ2ZXIuY3BwCmluZGV4IDE4MjViMGI1MDdlOWJh
Njc3MzdiMzcxMzg4ZGI5ODE1MmVlNzMyMTAuLmM4MzViYWZkMjQxYTkzM2Y0NDljYTUwMmVkOTgx
ZWJlMDBmYTIwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VTZXJ2ZXIuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZC5oIgotI2luY2x1ZGUgIkRhdGFi
YXNlQmFja2VuZENvbnRleHQuaCIKKyNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKICNpbmNs
dWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTEwLDEy
ICsxMTAsMTIgQEAgYm9vbCBEYXRhYmFzZVNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UoU2VjdXJpdHlP
cmlnaW4qIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIHJldHVybiBEYXRhYmFzZVRy
YWNrZXI6OnRyYWNrZXIoKS5kZWxldGVEYXRhYmFzZShvcmlnaW4sIG5hbWUpOwogfQogCi12b2lk
IERhdGFiYXNlU2VydmVyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KGNvbnN0IERh
dGFiYXNlQmFja2VuZENvbnRleHQqIGNvbnRleHQpCit2b2lkIERhdGFiYXNlU2VydmVyOjppbnRl
cnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KGNvbnN0IERhdGFiYXNlQ29udGV4dCogY29udGV4
dCkKIHsKICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5pbnRlcnJ1cHRBbGxEYXRhYmFz
ZXNGb3JDb250ZXh0KGNvbnRleHQpOwogfQogCi1QYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZEJh
c2U+IERhdGFiYXNlU2VydmVyOjpvcGVuRGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlQmFja2VuZENv
bnRleHQ+JiBiYWNrZW5kQ29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IGV4cGVjdGVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9u
ZyBlc3RpbWF0ZWRTaXplLCBib29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZUVy
cm9yICZlcnJvciwgU3RyaW5nJiBlcnJvck1lc3NhZ2UsCitQYXNzUmVmUHRyPERhdGFiYXNlQmFj
a2VuZEJhc2U+IERhdGFiYXNlU2VydmVyOjpvcGVuRGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlQ29u
dGV4dD4mIGJhY2tlbmRDb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25n
IGVzdGltYXRlZFNpemUsIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIERhdGFiYXNlRXJy
b3IgJmVycm9yLCBTdHJpbmcmIGVycm9yTWVzc2FnZSwKICAgICBPcGVuQXR0ZW1wdCBhdHRlbXB0
KQogewogICAgIFJlZlB0cjxEYXRhYmFzZUJhY2tlbmRCYXNlPiBkYXRhYmFzZTsKQEAgLTEzNCw3
ICsxMzQsNyBAQCBQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZEJhc2U+IERhdGFiYXNlU2VydmVy
OjpvcGVuRGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlQmFjawogICAgIHJldHVybiBkYXRhYmFzZS5y
ZWxlYXNlKCk7CiB9CiAKLVBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gRGF0YWJhc2VT
ZXJ2ZXI6OmNyZWF0ZURhdGFiYXNlKFJlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiYgYmFj
a2VuZENvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZl
cnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVk
U2l6ZSwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VFcnJvciYgZXJyb3Is
IFN0cmluZyYgZXJyb3JNZXNzYWdlKQorUGFzc1JlZlB0cjxEYXRhYmFzZUJhY2tlbmRCYXNlPiBE
YXRhYmFzZVNlcnZlcjo6Y3JlYXRlRGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlQ29udGV4dD4mIGJh
Y2tlbmRDb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRW
ZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRl
ZFNpemUsIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIERhdGFiYXNlRXJyb3ImIGVycm9y
LCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKIHsKICAgICBSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFz
ZT4gZGF0YWJhc2UgPSBhZG9wdFJlZihuZXcgRGF0YWJhc2UoYmFja2VuZENvbnRleHQsIG5hbWUs
IGV4cGVjdGVkVmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVNlcnZlci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVNlcnZlci5oCmlu
ZGV4IDRiYmIwZWUxODFjYTMzNDYyZjg0NWY5M2Q4ZDNlNDNlOTljNzk1NDAuLjgyYjBlMTcxMGUx
ZTFkYWI0ZTBjM2UzNzRiYTg4ZTdlMWZiM2I3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU2VydmVyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgZnVsbFBhdGhGb3JEYXRhYmFzZShTZWN1cml0
eU9yaWdpbiosIGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBjcmVhdGVJZkRvZXNOb3RFeGlzdCk7
CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFzZT4gb3BlbkRhdGFi
YXNlKFJlZlB0cjxEYXRhYmFzZUJhY2tlbmRDb250ZXh0PiYsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUs
IHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFz
ZSwgRGF0YWJhc2VFcnJvciYsIFN0cmluZyYgZXJyb3JNZXNzYWdlLCBPcGVuQXR0ZW1wdCk7Cisg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZEJhc2U+IG9wZW5EYXRhYmFzZShS
ZWZQdHI8RGF0YWJhc2VDb250ZXh0PiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBleHBlY3RlZFZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxv
bmcgZXN0aW1hdGVkU2l6ZSwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VF
cnJvciYsIFN0cmluZyYgZXJyb3JNZXNzYWdlLCBPcGVuQXR0ZW1wdCk7CiAKICAgICB2aXJ0dWFs
IGJvb2wgaGFzRW50cnlGb3JPcmlnaW4oU2VjdXJpdHlPcmlnaW4qKTsKICAgICB2aXJ0dWFsIHZv
aWQgb3JpZ2lucyhWZWN0b3I8UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4mIHJlc3VsdCk7CkBAIC02
MSwxMCArNjEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBkZWxldGVPcmlnaW4oU2Vj
dXJpdHlPcmlnaW4qKTsKICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlRGF0YWJhc2UoU2VjdXJpdHlP
cmlnaW4qLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogCi0gICAgdmlydHVhbCB2b2lkIGludGVycnVw
dEFsbERhdGFiYXNlc0ZvckNvbnRleHQoY29uc3QgRGF0YWJhc2VCYWNrZW5kQ29udGV4dCopOwor
ICAgIHZpcnR1YWwgdm9pZCBpbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KGNvbnN0IERh
dGFiYXNlQ29udGV4dCopOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPERh
dGFiYXNlQmFja2VuZEJhc2U+IGNyZWF0ZURhdGFiYXNlKFJlZlB0cjxEYXRhYmFzZUJhY2tlbmRD
b250ZXh0PiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNp
b24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VFcnJvciYsIFN0cmluZyYg
ZXJyb3JNZXNzYWdlKTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0YWJhc2VCYWNrZW5kQmFz
ZT4gY3JlYXRlRGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlQ29udGV4dD4mLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3Bs
YXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGJvb2wgc2V0VmVyc2lvbkluTmV3
RGF0YWJhc2UsIERhdGFiYXNlRXJyb3ImLCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5jcHAKaW5kZXggZjRhODVlOTE3YzM3NjE2NDc5
ZmViNDA3OTkxZTAzMjQzZDY5MjZiYS4uNWNmOTMyMjgyMzVlYzI0MzE4ZWU0YzcyNzg3NWUwZWI1
MGI3NWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VUcmFja2VyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgIkNocm9t
ZUNsaWVudC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VCYWNr
ZW5kQmFzZS5oIgotI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZENvbnRleHQuaCIKKyNpbmNsdWRl
ICJEYXRhYmFzZUNvbnRleHQuaCIKICNpbmNsdWRlICJEYXRhYmFzZU1hbmFnZXIuaCIKICNpbmNs
dWRlICJEYXRhYmFzZU1hbmFnZXJDbGllbnQuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRocmVhZC5o
IgpAQCAtMTU4LDcgKzE1OCw3IEBAIGJvb2wgRGF0YWJhc2VUcmFja2VyOjpoYXNBZGVxdWF0ZVF1
b3RhRm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIHVuc2lnbmVkCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi1ib29sIERhdGFiYXNlVHJhY2tlcjo6Y2FuRXN0YWJsaXNoRGF0YWJhc2Uo
RGF0YWJhc2VCYWNrZW5kQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNp
Z25lZCBsb25nIGVzdGltYXRlZFNpemUsIERhdGFiYXNlRXJyb3ImIGVycm9yKQorYm9vbCBEYXRh
YmFzZVRyYWNrZXI6OmNhbkVzdGFibGlzaERhdGFiYXNlKERhdGFiYXNlQ29udGV4dCogY29udGV4
dCwgY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIERhdGFi
YXNlRXJyb3ImIGVycm9yKQogewogICAgIGVycm9yID0gRGF0YWJhc2VFcnJvcjo6Tm9uZTsKIApA
QCAtMjEwLDcgKzIxMCw3IEBAIGJvb2wgRGF0YWJhc2VUcmFja2VyOjpjYW5Fc3RhYmxpc2hEYXRh
YmFzZShEYXRhYmFzZUJhY2tlbmRDb250ZXh0KiBjb250ZXh0LCBjb25zCiAvLyBoYXNBZGVxdWF0
ZVF1b3RhRm9yT3JpZ2luKCkgc2ltcGxlIGFuZCBjb3JyZWN0IChpLmUuIGJ1ZyBmcmVlKSwgYW5k
IGp1c3QKIC8vIHJlLXVzZSBpdC4gQWxzbyBub3RlIHRoYXQgdGhlIHBhdGggZm9yIG9wZW5pbmcg
YSBkYXRhYmFzZSBpbnZvbHZlcyBJTywgYW5kCiAvLyBoZW5jZSBzaG91bGQgbm90IGJlIGEgcGVy
Zm9ybWFuY2UgY3JpdGljYWwgcGF0aCBhbnl3YXkuIAotYm9vbCBEYXRhYmFzZVRyYWNrZXI6OnJl
dHJ5Q2FuRXN0YWJsaXNoRGF0YWJhc2UoRGF0YWJhc2VCYWNrZW5kQ29udGV4dCogY29udGV4dCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIERhdGFiYXNl
RXJyb3ImIGVycm9yKQorYm9vbCBEYXRhYmFzZVRyYWNrZXI6OnJldHJ5Q2FuRXN0YWJsaXNoRGF0
YWJhc2UoRGF0YWJhc2VDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2ln
bmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgRGF0YWJhc2VFcnJvciYgZXJyb3IpCiB7CiAgICAgZXJy
b3IgPSBEYXRhYmFzZUVycm9yOjpOb25lOwogCkBAIC0zMDMsNyArMzAzLDcgQEAgdW5zaWduZWQg
bG9uZyBsb25nIERhdGFiYXNlVHJhY2tlcjo6Z2V0TWF4U2l6ZUZvckRhdGFiYXNlKGNvbnN0IERh
dGFiYXNlQmFja2VuZEIKICAgICByZXR1cm4gbWF4U2l6ZTsKIH0KIAotdm9pZCBEYXRhYmFzZVRy
YWNrZXI6OmludGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoY29uc3QgRGF0YWJhc2VCYWNr
ZW5kQ29udGV4dCogY29udGV4dCkKK3ZvaWQgRGF0YWJhc2VUcmFja2VyOjppbnRlcnJ1cHRBbGxE
YXRhYmFzZXNGb3JDb250ZXh0KGNvbnN0IERhdGFiYXNlQ29udGV4dCogY29udGV4dCkKIHsKICAg
ICBWZWN0b3I8UmVmUHRyPERhdGFiYXNlQmFja2VuZEJhc2U+PiBvcGVuRGF0YWJhc2VzOwogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VHJhY2tlci5oCmluZGV4IGUwZWM2MGY1MzAzY2E0NjFiMzQ5OGJhZTZkMWU2ZGNlZjkwYzlkNTUu
LmVhN2M3ZGM1YTMxZmFhMWZmYmY5ZjA3NzFiZjFjMmU0MzZlYzQwODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaApAQCAt
NDMsNyArNDMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhYmFzZUJhY2tl
bmRCYXNlOwotY2xhc3MgRGF0YWJhc2VCYWNrZW5kQ29udGV4dDsKK2NsYXNzIERhdGFiYXNlQ29u
dGV4dDsKIGNsYXNzIERhdGFiYXNlTWFuYWdlckNsaWVudDsKIGNsYXNzIE9yaWdpbkxvY2s7CiBj
bGFzcyBTZWN1cml0eU9yaWdpbjsKQEAgLTYxLDggKzYxLDggQEAgcHVibGljOgogICAgIC8vIG1f
ZGF0YWJhc2VHdWFyZCBhbmQgbV9vcGVuRGF0YWJhc2VNYXBHdWFyZCBjdXJyZW50bHkgZG9uJ3Qg
b3ZlcmxhcC4KICAgICAvLyBub3RpZmljYXRpb25NdXRleCgpIGlzIGN1cnJlbnRseSBpbmRlcGVu
ZGVudCBvZiB0aGUgb3RoZXIgbG9ja3MuCiAKLSAgICBib29sIGNhbkVzdGFibGlzaERhdGFiYXNl
KERhdGFiYXNlQmFja2VuZENvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIGxv
bmcgZXN0aW1hdGVkU2l6ZSwgRGF0YWJhc2VFcnJvciYpOwotICAgIGJvb2wgcmV0cnlDYW5Fc3Rh
Ymxpc2hEYXRhYmFzZShEYXRhYmFzZUJhY2tlbmRDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1l
LCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIERhdGFiYXNlRXJyb3ImKTsKKyAgICBib29s
IGNhbkVzdGFibGlzaERhdGFiYXNlKERhdGFiYXNlQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFt
ZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBEYXRhYmFzZUVycm9yJik7CisgICAgYm9v
bCByZXRyeUNhbkVzdGFibGlzaERhdGFiYXNlKERhdGFiYXNlQ29udGV4dCosIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBEYXRhYmFzZUVycm9yJik7CiAK
ICAgICB2b2lkIHNldERhdGFiYXNlRGV0YWlscyhTZWN1cml0eU9yaWdpbiosIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0
ZWRTaXplKTsKICAgICBTdHJpbmcgZnVsbFBhdGhGb3JEYXRhYmFzZShTZWN1cml0eU9yaWdpbios
IGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBjcmVhdGVJZkRvZXNOb3RFeGlzdCA9IHRydWUpOwpA
QCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0TWF4
U2l6ZUZvckRhdGFiYXNlKGNvbnN0IERhdGFiYXNlQmFja2VuZEJhc2UqKTsKIAotICAgIHZvaWQg
aW50ZXJydXB0QWxsRGF0YWJhc2VzRm9yQ29udGV4dChjb25zdCBEYXRhYmFzZUJhY2tlbmRDb250
ZXh0Kik7CisgICAgdm9pZCBpbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KGNvbnN0IERh
dGFiYXNlQ29udGV4dCopOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERhdGFiYXNlVHJhY2tl
cihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKaW5k
ZXggN2M4YzFhY2YxMjdlMWU0NmVjNTg3Mjk0YzZiNTkzOTdmNjUyMmFlNi4uMjBlMjBiOTc0M2Fl
YjFhZDA4NGQ2YWYwYjNjZDRmNGRhNjJhNWVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApA
QCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiIC8vIEZJWE1FOiBTaG91bGQg
b25seSBiZSB1c2VkIGluIHRoZSBmcm9udGVuZC4KICNpbmNsdWRlICJEYXRhYmFzZUF1dGhvcml6
ZXIuaCIKICNpbmNsdWRlICJEYXRhYmFzZUJhY2tlbmQuaCIKLSNpbmNsdWRlICJEYXRhYmFzZUJh
Y2tlbmRDb250ZXh0LmgiCisjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2VUaHJlYWQuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3BwCmluZGV4IDkzODE1M2VlY2Nl
YWRjNGQzYWUwMWRmYjUyMzRhNWI1ZDQ5NjYwNGUuLjQ0M2Y3MjY1Mzc2Njc3OTMyOGExMTcxNWM4
YmRiMTMwN2ZlNzQ2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3BwCkBAIC0zNCw3ICszNCw3IEBA
CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlQmFja2VuZEJh
c2UuaCIKLSNpbmNsdWRlICJEYXRhYmFzZUJhY2tlbmRDb250ZXh0LmgiCisjaW5jbHVkZSAiRGF0
YWJhc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXgg
ODg5ZjE4MmM5NzE2NTFmMmQ5ZTE0YTAyYTkxZjgyMTZhZWUxMDA4Ny4uNTQ5MDY0MDRkM2JhNGEx
YWYzOTY2NmI4NmZkMGVhNTlkZjYyMDk3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC02NzcxLDcgKzY3NzEsNiBAQAogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUF1dGhvcml6ZXIu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxE
YXRhYmFzZUJhY2tlbmQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxl
c1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhY2tlbmRCYXNlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERh
dGFiYXNlQ29udGV4dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVz
XHdlYmRhdGFiYXNlXERhdGFiYXNlTWFuYWdlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlU2VydmVyLmNwcCIgLz4KQEAgLTE5
MDE5LDcgKzE5MDE4LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2Vi
ZGF0YWJhc2VcRGF0YWJhc2VBdXRob3JpemVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhY2tlbmRCYXNl
LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERh
dGFiYXNlQmFja2VuZENvbnRleHQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1v
ZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2VCYWNrZW5kU3luYy5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhc2ljVHlwZXMuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJh
c2VDYWxsYmFjay5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGQ2N2M4NzI2ZDMwZDY4MzY3YTg2NmU3
MWY2NDY4MzQyMjc5YjIyZTguLjJlM2Y0Y2JlM2EzYTY3YWMyYjc1MjRiNGRjM2Q3OWQ0MWE1MjI5
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ3MSw5ICs0NzEsNiBAQAogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxEYXRhYmFzZUJhY2tlbmRCYXNlLmNwcCI+CiAg
ICAgICA8RmlsdGVyPk1vZHVsZXNcd2ViZGF0YWJhc2U8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJh
c2VCYWNrZW5kQ29udGV4dC5jcHAiPgotICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNl
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxN
b2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQ29udGV4dC5jcHAiPgogICAgICAgPEZpbHRlcj5N
b2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC03MzUzLDkg
KzczNTAsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFz
ZVxEYXRhYmFzZUJhY2tlbmRCYXNlLmgiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFi
YXNlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxNb2R1bGVzXHdlYmRhdGFiYXNlXERhdGFiYXNlQmFja2VuZENvbnRleHQuaCI+Ci0gICAgICA8
RmlsdGVyPk1vZHVsZXNcd2ViZGF0YWJhc2U8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcRGF0YWJhc2VCYXNp
Y1R5cGVzLmgiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNjExY2FhMDAwZmZkMjRiNGI3MmM5MTk0MWEwMzg2MjBhYjc5
ZTI4Ni4uYzM4MmJkMjY5YWZhZjY1MDMwYTEyM2QwY2NjMThlMjE0ZTE0ZmFiMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjY2
OCw4ICs2NjY4LDYgQEAKIAkJRkU2OTM4QjYxMDQ1RDY3RTAwOEVBQkI2IC8qIEV2ZW50SGFuZGxl
cklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
NjkzOEI1MTA0NUQ2N0UwMDhFQUJCNiAvKiBFdmVudEhhbmRsZXJJT1MubW0gKi87IH07CiAJCUZF
Njk5ODcxMTkyMDg3RTcwMDY5MzZCRCAvKiBGbG9hdGluZ1BvaW50RW52aXJvbm1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2OTk4NkYxOTIw
ODdFNzAwNjkzNkJEIC8qIEZsb2F0aW5nUG9pbnRFbnZpcm9ubWVudC5jcHAgKi87IH07CiAJCUZF
Njk5ODcyMTkyMDg3RTcwMDY5MzZCRCAvKiBGbG9hdGluZ1BvaW50RW52aXJvbm1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNjk5ODcwMTkyMDg3
RTcwMDY5MzZCRCAvKiBGbG9hdGluZ1BvaW50RW52aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGRTZGNkFBRjE2OUUwNTc1MDBGQzMw
QTIgLyogRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGNkFBRDE2OUUwNTc1MDBGQzMwQTIgLyogRGF0YWJh
c2VCYWNrZW5kQ29udGV4dC5jcHAgKi87IH07Ci0JCUZFNkY2QUIwMTY5RTA1NzUwMEZDMzBBMiAv
KiBEYXRhYmFzZUJhY2tlbmRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTZGNkFBRTE2OUUwNTc1MDBGQzMwQTIgLyogRGF0YWJhc2VCYWNr
ZW5kQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZF
OTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3NkU5
MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5h
dGVzLmggKi87IH07CiAJCUZFODBEN0FCMEU5QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9u
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCAqLzsg
fTsKQEAgLTE0MjU1LDggKzE0MjUzLDYgQEAKIAkJRkU2OTM4QjUxMDQ1RDY3RTAwOEVBQkI2IC8q
IEV2ZW50SGFuZGxlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEV2ZW50SGFuZGxlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU2
OTk4NkYxOTIwODdFNzAwNjkzNkJEIC8qIEZsb2F0aW5nUG9pbnRFbnZpcm9ubWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGbG9hdGluZ1BvaW50RW52aXJvbm1l
bnQuY3BwOyBwYXRoID0gaW9zL3dhay9GbG9hdGluZ1BvaW50RW52aXJvbm1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTY5OTg3MDE5MjA4N0U3MDA2OTM2QkQgLyogRmxv
YXRpbmdQb2ludEVudmlyb25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZsb2F0aW5nUG9pbnRFbnZpcm9ubWVudC5oOyBwYXRoID0gaW9zL3dhay9GbG9hdGluZ1BvaW50
RW52aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU2RjZBQUQxNjlF
MDU3NTAwRkMzMEEyIC8qIERhdGFiYXNlQmFja2VuZENvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZFNkY2QUFFMTY5RTA1NzUwMEZDMzBBMiAvKiBEYXRh
YmFzZUJhY2tlbmRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERh
dGFiYXNlQmFja2VuZENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU2
RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29vcmRpbmF0ZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QTYwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpT
R2VvbG9jYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xODMwOCw4ICsxODMwNCw2IEBACiAJCQkJRkUxNkNGRDAxNjlEMURFQzAwRDNBMEM3IC8qIERh
dGFiYXNlQmFja2VuZC5oICovLAogCQkJCTk3QkM2OUQ2MTUwNUYwNzYwMDFCNzRBQyAvKiBEYXRh
YmFzZUJhY2tlbmRCYXNlLmNwcCAqLywKIAkJCQk5N0JDNjlENzE1MDVGMDc2MDAxQjc0QUMgLyog
RGF0YWJhc2VCYWNrZW5kQmFzZS5oICovLAotCQkJCUZFNkY2QUFEMTY5RTA1NzUwMEZDMzBBMiAv
KiBEYXRhYmFzZUJhY2tlbmRDb250ZXh0LmNwcCAqLywKLQkJCQlGRTZGNkFBRTE2OUUwNTc1MDBG
QzMwQTIgLyogRGF0YWJhc2VCYWNrZW5kQ29udGV4dC5oICovLAogCQkJCUZFMzM3MUEwMTY3QzEx
RDQwMEVEQjc1MiAvKiBEYXRhYmFzZUJhc2ljVHlwZXMuaCAqLywKIAkJCQk5N0JDNjlFMzE1MDVG
MDgxMDAxQjc0QUMgLyogRGF0YWJhc2VDYWxsYmFjay5oICovLAogCQkJCTk3QkM2OUU0MTUwNUYw
ODEwMDFCNzRBQyAvKiBEYXRhYmFzZUNhbGxiYWNrLmlkbCAqLywKQEAgLTIzNzkxLDcgKzIzNzg1
LDYgQEAKIAkJCQk5N0JDNkEyNDE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VBdXRob3JpemVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTE2Q0ZENDE2OUQxREVEMDBEM0EwQzcgLyogRGF0YWJh
c2VCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNjlEQjE1MDVGMDc2MDAxQjc0QUMg
LyogRGF0YWJhc2VCYWNrZW5kQmFzZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkU2RjZBQjAxNjlF
MDU3NTAwRkMzMEEyIC8qIERhdGFiYXNlQmFja2VuZENvbnRleHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZFMzM3MUEyMTY3QzExRDQwMEVEQjc1MiAvKiBEYXRhYmFzZUJhc2ljVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3QkM2QTI1MTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZUNhbGxi
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNkEyODE1MDVGMDgxMDAxQjc0QUMgLyogRGF0
YWJhc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDk0LDcgKzI3NDg3LDYgQEAKIAkJ
CQk5N0JDNkEyMzE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VBdXRob3JpemVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUZFMTZDRkQzMTY5RDFERUQwMEQzQTBDNyAvKiBEYXRhYmFzZUJhY2tl
bmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzY5REExNTA1RjA3NjAwMUI3NEFDIC8qIERh
dGFiYXNlQmFja2VuZEJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRkU2RjZBQUYxNjlFMDU3
NTAwRkMzMEEyIC8qIERhdGFiYXNlQmFja2VuZENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTdCQzZBMjcxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlQ29udGV4dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGRTQ1NkYxODE2NzdENzRFMDA1RURERjkgLyogRGF0YWJhc2VNYW5hZ2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFQjI2RDI4MTY3QThGMkEwMEZERDI2QiAvKiBEYXRh
YmFzZVNlcnZlci5jcHAgaW4gU291cmNlcyAqLywK
</data>
<flag name="review"
          id="269391"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>