<?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>147703</bug_id>
          
          <creation_ts>2015-08-05 16:05:49 -0700</creation_ts>
          <short_desc>Move more functions from DatabaseBackendBase to Database</short_desc>
          <delta_ts>2015-08-05 16:17:29 -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>1115159</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 16:05:49 -0700</bug_when>
    <thetext>Move more functions from DatabaseBackendBase to Database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115160</commentid>
    <comment_count>1</comment_count>
      <attachid>258315</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 16:07:01 -0700</bug_when>
    <thetext>Created attachment 258315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115163</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-05 16:17:29 -0700</bug_when>
    <thetext>Committed r187998: &lt;http://trac.webkit.org/changeset/187998&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258315</attachid>
            <date>2015-08-05 16:07:01 -0700</date>
            <delta_ts>2015-08-05 16:08:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147703-20150805160652.patch</filename>
            <type>text/plain</type>
            <size>15345</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3OTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzliYTE3YTM0NTY2Mjgw
NGNlNDkzZjZmMTNjOWVjNDkzYTNlOGE1Mi4uMmQ5YzMyYmRkZTg3NWZkMmU2MDE3MGVkMDg2NzUx
ZTU0MmI3YzRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACisyMDE1LTA4LTA1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBtb3JlIGZ1
bmN0aW9ucyBmcm9tIERhdGFiYXNlQmFja2VuZEJhc2UgdG8gRGF0YWJhc2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzcwMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmdWxseVF1YWxpZmllZEluZm9UYWJs
ZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0VGV4dFZhbHVlSW5EYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpyZXRyaWV2ZVRleHRSZXN1bHRGcm9tRGF0YWJhc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YWJhc2U6OmdldFZlcnNpb25Gcm9tRGF0YWJhc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2U6OnNldFZlcnNpb25JbkRhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkRhdGFiYXNlOjpwZXJmb3JtR2V0VGFibGVOYW1lcyk6CisgICAgICAgICogTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VCYWNrZW5kQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhY2tlbmRCYXNl
OjpwZXJmb3JtT3BlbkFuZFZlcmlmeSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhY2tl
bmRCYXNlOjpnZXRBY3R1YWxWZXJzaW9uRm9yVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6RGF0YWJhc2VCYWNrZW5kQmFzZTo6ZGF0YWJhc2VJbmZvVGFibGVOYW1lKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OmZ1bGx5UXVhbGlmaWVkSW5mb1RhYmxlTmFtZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpyZXRyaWV2ZVRleHRSZXN1bHRGcm9tRGF0YWJhc2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0VGV4dFZhbHVlSW5EYXRhYmFzZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhY2tlbmRCYXNlOjpnZXRWZXJzaW9uRnJvbURh
dGFiYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFja2VuZEJhc2U6
OnNldFZlcnNpb25JbkRhdGFiYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuaDoKKwogMjAxNS0wOC0wNSAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgc29tZSBtb3JlIERhdGFi
YXNlQmFja2VuZEJhc2UgZnVuY3Rpb25zIHRvIERhdGFiYXNlCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3MDIKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcAppbmRleCA1YWNkMTQwYzY3ZGNiYWRl
YzJiNDE1OTdkMmY1MDI3MzI5YTNlYTY3Li4xOTA2NGNkODhmNjE3OTFhNzVlNmI5MDliNTgyYzZj
MmE3MDgzYWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlLmNwcApAQCAtNTgsMTEgKzU4LDczIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
c3RhdGljIGNvbnN0IGNoYXIgdmVyc2lvbktleVtdID0gIldlYktpdERhdGFiYXNlVmVyc2lvbktl
eSI7CitzdGF0aWMgY29uc3QgY2hhciB1bnF1YWxpZmllZEluZm9UYWJsZU5hbWVbXSA9ICJfX1dl
YktpdERhdGFiYXNlSW5mb1RhYmxlX18iOworCitzdGF0aWMgY29uc3QgY2hhciogZnVsbHlRdWFs
aWZpZWRJbmZvVGFibGVOYW1lKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgY2hhciBxdWFsaWZpZXJb
XSA9ICJtYWluLiI7CisgICAgc3RhdGljIGNoYXIgcXVhbGlmaWVkTmFtZVtzaXplb2YocXVhbGlm
aWVyKSArIHNpemVvZih1bnF1YWxpZmllZEluZm9UYWJsZU5hbWUpIC0gMV07CisKKyAgICBzdGF0
aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CisgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcs
IFtdIHsKKyAgICAgICAgc3RyY3B5KHF1YWxpZmllZE5hbWUsIHF1YWxpZmllcik7CisgICAgICAg
IHN0cmNweShxdWFsaWZpZWROYW1lICsgc2l6ZW9mKHF1YWxpZmllcikgLSAxLCB1bnF1YWxpZmll
ZEluZm9UYWJsZU5hbWUpOworICAgIH0pOworCisgICAgcmV0dXJuIHF1YWxpZmllZE5hbWU7Cit9
CisKIHN0YXRpYyBTdHJpbmcgZm9ybWF0RXJyb3JNZXNzYWdlKGNvbnN0IGNoYXIqIG1lc3NhZ2Us
IGludCBzcWxpdGVFcnJvckNvZGUsIGNvbnN0IGNoYXIqIHNxbGl0ZUVycm9yTWVzc2FnZSkKIHsK
ICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzICglZCAlcykiLCBtZXNzYWdlLCBzcWxpdGVF
cnJvckNvZGUsIHNxbGl0ZUVycm9yTWVzc2FnZSk7CiB9CiAKK3N0YXRpYyBib29sIHNldFRleHRW
YWx1ZUluRGF0YWJhc2UoU1FMaXRlRGF0YWJhc2UmIGRiLCBjb25zdCBTdHJpbmcmIHF1ZXJ5LCBj
b25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIFNRTGl0ZVN0YXRlbWVudCBzdGF0ZW1lbnQoZGIs
IHF1ZXJ5KTsKKyAgICBpbnQgcmVzdWx0ID0gc3RhdGVtZW50LnByZXBhcmUoKTsKKworICAgIGlm
IChyZXN1bHQgIT0gU1FMSVRFX09LKSB7CisgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHBy
ZXBhcmUgc3RhdGVtZW50IHRvIHNldCB2YWx1ZSBpbiBkYXRhYmFzZSAoJXMpIiwgcXVlcnkuYXNj
aWkoKS5kYXRhKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgc3RhdGVt
ZW50LmJpbmRUZXh0KDEsIHZhbHVlKTsKKworICAgIHJlc3VsdCA9IHN0YXRlbWVudC5zdGVwKCk7
CisgICAgaWYgKHJlc3VsdCAhPSBTUUxJVEVfRE9ORSkgeworICAgICAgICBMT0dfRVJST1IoIkZh
aWxlZCB0byBzdGVwIHN0YXRlbWVudCB0byBzZXQgdmFsdWUgaW4gZGF0YWJhc2UgKCVzKSIsIHF1
ZXJ5LmFzY2lpKCkuZGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCByZXRyaWV2ZVRleHRSZXN1bHRGcm9tRGF0
YWJhc2UoU1FMaXRlRGF0YWJhc2UmIGRiLCBjb25zdCBTdHJpbmcmIHF1ZXJ5LCBTdHJpbmcmIHJl
c3VsdFN0cmluZykKK3sKKyAgICBTUUxpdGVTdGF0ZW1lbnQgc3RhdGVtZW50KGRiLCBxdWVyeSk7
CisgICAgaW50IHJlc3VsdCA9IHN0YXRlbWVudC5wcmVwYXJlKCk7CisKKyAgICBpZiAocmVzdWx0
ICE9IFNRTElURV9PSykgeworICAgICAgICBMT0dfRVJST1IoIkVycm9yICglaSkgcHJlcGFyaW5n
IHN0YXRlbWVudCB0byByZWFkIHRleHQgcmVzdWx0IGZyb20gZGF0YWJhc2UgKCVzKSIsIHJlc3Vs
dCwgcXVlcnkuYXNjaWkoKS5kYXRhKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
CisgICAgcmVzdWx0ID0gc3RhdGVtZW50LnN0ZXAoKTsKKyAgICBpZiAocmVzdWx0ID09IFNRTElU
RV9ST1cpIHsKKyAgICAgICAgcmVzdWx0U3RyaW5nID0gc3RhdGVtZW50LmdldENvbHVtblRleHQo
MCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAocmVzdWx0ID09IFNRTElU
RV9ET05FKSB7CisgICAgICAgIHJlc3VsdFN0cmluZyA9IFN0cmluZygpOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBMT0dfRVJST1IoIkVycm9yICglaSkgcmVhZGluZyB0ZXh0
IHJlc3VsdCBmcm9tIGRhdGFiYXNlICglcykiLCByZXN1bHQsIHF1ZXJ5LmFzY2lpKCkuZGF0YSgp
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIERhdGFiYXNlOjpEYXRhYmFzZShQYXNzUmVmUHRy
PERhdGFiYXNlQ29udGV4dD4gZGF0YWJhc2VDb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1
bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpCiAgICAgOiBEYXRhYmFzZUJhY2tlbmRCYXNlKGRh
dGFiYXNlQ29udGV4dC5nZXQoKSwgbmFtZSwgZXhwZWN0ZWRWZXJzaW9uLCBkaXNwbGF5TmFtZSwg
ZXN0aW1hdGVkU2l6ZSkKICAgICAsIG1fdHJhbnNhY3Rpb25JblByb2dyZXNzKGZhbHNlKQpAQCAt
MTUxLDYgKzIxMyw0NCBAQCBib29sIERhdGFiYXNlOjpwZXJmb3JtT3BlbkFuZFZlcmlmeShib29s
IHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZUVycm9yJgogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorYm9vbCBEYXRhYmFzZTo6Z2V0VmVyc2lvbkZyb21EYXRhYmFzZShTdHJpbmcmIHZl
cnNpb24sIGJvb2wgc2hvdWxkQ2FjaGVWZXJzaW9uKQoreworICAgIFN0cmluZyBxdWVyeShTdHJp
bmcoIlNFTEVDVCB2YWx1ZSBGUk9NICIpICsgZnVsbHlRdWFsaWZpZWRJbmZvVGFibGVOYW1lKCkg
KyAgIiBXSEVSRSBrZXkgPSAnIiArIHZlcnNpb25LZXkgKyAiJzsiKTsKKworICAgIG1fZGF0YWJh
c2VBdXRob3JpemVyLT5kaXNhYmxlKCk7CisKKyAgICBib29sIHJlc3VsdCA9IHJldHJpZXZlVGV4
dFJlc3VsdEZyb21EYXRhYmFzZShtX3NxbGl0ZURhdGFiYXNlLCBxdWVyeSwgdmVyc2lvbik7Cisg
ICAgaWYgKHJlc3VsdCkgeworICAgICAgICBpZiAoc2hvdWxkQ2FjaGVWZXJzaW9uKQorICAgICAg
ICAgICAgc2V0Q2FjaGVkVmVyc2lvbih2ZXJzaW9uKTsKKyAgICB9IGVsc2UKKyAgICAgICAgTE9H
X0VSUk9SKCJGYWlsZWQgdG8gcmV0cmlldmUgdmVyc2lvbiBmcm9tIGRhdGFiYXNlICVzIiwgZGF0
YWJhc2VEZWJ1Z05hbWUoKS5hc2NpaSgpLmRhdGEoKSk7CisKKyAgICBtX2RhdGFiYXNlQXV0aG9y
aXplci0+ZW5hYmxlKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIERhdGFiYXNl
OjpzZXRWZXJzaW9uSW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIHZlcnNpb24sIGJvb2wgc2hvdWxk
Q2FjaGVWZXJzaW9uKQoreworICAgIC8vIFRoZSBJTlNFUlQgd2lsbCByZXBsYWNlIGFuIGV4aXN0
aW5nIGVudHJ5IGZvciB0aGUgZGF0YWJhc2Ugd2l0aCB0aGUgbmV3IHZlcnNpb24gbnVtYmVyLCBk
dWUgdG8gdGhlIFVOSVFVRSBPTiBDT05GTElDVCBSRVBMQUNFCisgICAgLy8gY2xhdXNlIGluIHRo
ZSBDUkVBVEUgc3RhdGVtZW50IChzZWUgRGF0YWJhc2U6OnBlcmZvcm1PcGVuQW5kVmVyaWZ5KCkp
LgorICAgIFN0cmluZyBxdWVyeShTdHJpbmcoIklOU0VSVCBJTlRPICIpICsgZnVsbHlRdWFsaWZp
ZWRJbmZvVGFibGVOYW1lKCkgKyAgIiAoa2V5LCB2YWx1ZSkgVkFMVUVTICgnIiArIHZlcnNpb25L
ZXkgKyAiJywgPyk7Iik7CisKKyAgICBtX2RhdGFiYXNlQXV0aG9yaXplci0+ZGlzYWJsZSgpOwor
CisgICAgYm9vbCByZXN1bHQgPSBzZXRUZXh0VmFsdWVJbkRhdGFiYXNlKG1fc3FsaXRlRGF0YWJh
c2UsIHF1ZXJ5LCB2ZXJzaW9uKTsKKyAgICBpZiAocmVzdWx0KSB7CisgICAgICAgIGlmIChzaG91
bGRDYWNoZVZlcnNpb24pCisgICAgICAgICAgICBzZXRDYWNoZWRWZXJzaW9uKHZlcnNpb24pOwor
ICAgIH0gZWxzZQorICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBzZXQgdmVyc2lvbiAlcyBp
biBkYXRhYmFzZSAoJXMpIiwgdmVyc2lvbi5hc2NpaSgpLmRhdGEoKSwgcXVlcnkuYXNjaWkoKS5k
YXRhKCkpOworCisgICAgbV9kYXRhYmFzZUF1dGhvcml6ZXItPmVuYWJsZSgpOworCisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKwogdm9pZCBEYXRhYmFzZTo6c2NoZWR1bGVUcmFuc2FjdGlvbigpCiB7
CiAgICAgQVNTRVJUKCFtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzc011dGV4LnRyeUxvY2soKSk7IC8v
IExvY2tlZCBieSBjYWxsZXIuCkBAIC0zNDcsNyArNDQ3LDcgQEAgVmVjdG9yPFN0cmluZz4gRGF0
YWJhc2U6OnBlcmZvcm1HZXRUYWJsZU5hbWVzKCkKICAgICBpbnQgcmVzdWx0OwogICAgIHdoaWxl
ICgocmVzdWx0ID0gc3RhdGVtZW50LnN0ZXAoKSkgPT0gU1FMSVRFX1JPVykgewogICAgICAgICBT
dHJpbmcgbmFtZSA9IHN0YXRlbWVudC5nZXRDb2x1bW5UZXh0KDApOwotICAgICAgICBpZiAobmFt
ZSAhPSBkYXRhYmFzZUluZm9UYWJsZU5hbWUoKSkKKyAgICAgICAgaWYgKG5hbWUgIT0gdW5xdWFs
aWZpZWRJbmZvVGFibGVOYW1lKQogICAgICAgICAgICAgdGFibGVOYW1lcy5hcHBlbmQobmFtZSk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmgKaW5kZXggNmIxMTFkMDgyMzRmZDNhYTU4YmJiZmFlMGJhOTlkZmRkOTkzZjNkOS4uYzBhNjUw
MzQ2YzdlOGMxOWEyODIwZGNhNTE5ODExNDdlMzVhOTQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaApAQCAtMTA4LDYgKzEwOCw5IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgRGF0YWJhc2UoUGFzc1JlZlB0cjxEYXRhYmFzZUNvbnRleHQ+LCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBT
dHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpOwogCisgICAg
Ym9vbCBnZXRWZXJzaW9uRnJvbURhdGFiYXNlKFN0cmluZyYgdmVyc2lvbiwgYm9vbCBzaG91bGRD
YWNoZVZlcnNpb24gPSB0cnVlKTsKKyAgICBib29sIHNldFZlcnNpb25JbkRhdGFiYXNlKGNvbnN0
IFN0cmluZyYgdmVyc2lvbiwgYm9vbCBzaG91bGRDYWNoZVZlcnNpb24gPSB0cnVlKTsKKwogICAg
IHZvaWQgc2NoZWR1bGVUcmFuc2FjdGlvbigpOwogCiAgICAgdm9pZCBydW5UcmFuc2FjdGlvbihS
ZWZQdHI8U1FMVHJhbnNhY3Rpb25DYWxsYmFjaz4mJiwgUmVmUHRyPFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjaz4mJiwgUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ssIGJv
b2wgcmVhZE9ubHksIGNvbnN0IENoYW5nZVZlcnNpb25EYXRhKiA9IG51bGxwdHIpOwpAQCAtMTI0
LDYgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2RlbGV0ZWQ7CiAgICAgYm9vbCBtX2hh
c1BlbmRpbmdDcmVhdGlvbkV2ZW50IHsgZmFsc2UgfTsKIAorICAgIGZyaWVuZCBjbGFzcyBDaGFu
Z2VWZXJzaW9uV3JhcHBlcjsKKyAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VCYWNrZW5kQmFzZTsK
ICAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VNYW5hZ2VyOwogICAgIGZyaWVuZCBjbGFzcyBEYXRh
YmFzZVNlcnZlcjsgLy8gRklYTUU6IHJlbW92ZSB0aGlzIHdoZW4gdGhlIGJhY2tlbmQgaGFzIGJl
ZW4gc3BsaXQgb3V0LgogICAgIGZyaWVuZCBjbGFzcyBTUUxTdGF0ZW1lbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRC
YXNlLmNwcAppbmRleCAxZjE0MTc3ZmJlMjg1MjQzZGNjMTI1YWZhNTQ2ZmU3Y2MwMjM4MjgwLi5h
OWM1MWIzOWQ1OWY4Y2EzMzY1YjgwZjcyY2MwODBiMDU4OGFmYjE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQmFz
ZS5jcHAKQEAgLTgxLDc4ICs4MSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBjaGFyIHZlcnNpb25LZXlbXSA9ICJXZWJLaXREYXRhYmFzZVZlcnNpb25LZXkiOwog
c3RhdGljIGNvbnN0IGNoYXIgdW5xdWFsaWZpZWRJbmZvVGFibGVOYW1lW10gPSAiX19XZWJLaXRE
YXRhYmFzZUluZm9UYWJsZV9fIjsKIAotY29uc3QgY2hhciogRGF0YWJhc2VCYWNrZW5kQmFzZTo6
ZGF0YWJhc2VJbmZvVGFibGVOYW1lKCkKLXsKLSAgICByZXR1cm4gdW5xdWFsaWZpZWRJbmZvVGFi
bGVOYW1lOwotfQotCi1zdGF0aWMgY29uc3QgY2hhciogZnVsbHlRdWFsaWZpZWRJbmZvVGFibGVO
YW1lKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgY2hhciBxdWFsaWZpZXJbXSA9ICJtYWluLiI7Ci0g
ICAgc3RhdGljIGNoYXIgcXVhbGlmaWVkTmFtZVtzaXplb2YocXVhbGlmaWVyKSArIHNpemVvZih1
bnF1YWxpZmllZEluZm9UYWJsZU5hbWUpIC0gMV07Ci0KLSAgICBzdGF0aWMgc3RkOjpvbmNlX2Zs
YWcgb25jZUZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdewotICAgICAgICBz
dHJjcHkocXVhbGlmaWVkTmFtZSwgcXVhbGlmaWVyKTsKLSAgICAgICAgc3RyY3B5KHF1YWxpZmll
ZE5hbWUgKyBzaXplb2YocXVhbGlmaWVyKSAtIDEsIHVucXVhbGlmaWVkSW5mb1RhYmxlTmFtZSk7
Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gcXVhbGlmaWVkTmFtZTsKLX0KLQogc3RhdGljIFN0cmlu
ZyBmb3JtYXRFcnJvck1lc3NhZ2UoY29uc3QgY2hhciogbWVzc2FnZSwgaW50IHNxbGl0ZUVycm9y
Q29kZSwgY29uc3QgY2hhciogc3FsaXRlRXJyb3JNZXNzYWdlKQogewogICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgiJXMgKCVkICVzKSIsIG1lc3NhZ2UsIHNxbGl0ZUVycm9yQ29kZSwgc3FsaXRl
RXJyb3JNZXNzYWdlKTsKIH0KIAotc3RhdGljIGJvb2wgcmV0cmlldmVUZXh0UmVzdWx0RnJvbURh
dGFiYXNlKFNRTGl0ZURhdGFiYXNlJiBkYiwgY29uc3QgU3RyaW5nJiBxdWVyeSwgU3RyaW5nJiBy
ZXN1bHRTdHJpbmcpCi17Ci0gICAgU1FMaXRlU3RhdGVtZW50IHN0YXRlbWVudChkYiwgcXVlcnkp
OwotICAgIGludCByZXN1bHQgPSBzdGF0ZW1lbnQucHJlcGFyZSgpOwotCi0gICAgaWYgKHJlc3Vs
dCAhPSBTUUxJVEVfT0spIHsKLSAgICAgICAgTE9HX0VSUk9SKCJFcnJvciAoJWkpIHByZXBhcmlu
ZyBzdGF0ZW1lbnQgdG8gcmVhZCB0ZXh0IHJlc3VsdCBmcm9tIGRhdGFiYXNlICglcykiLCByZXN1
bHQsIHF1ZXJ5LmFzY2lpKCkuZGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIHJlc3VsdCA9IHN0YXRlbWVudC5zdGVwKCk7Ci0gICAgaWYgKHJlc3VsdCA9PSBTUUxJ
VEVfUk9XKSB7Ci0gICAgICAgIHJlc3VsdFN0cmluZyA9IHN0YXRlbWVudC5nZXRDb2x1bW5UZXh0
KDApOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKHJlc3VsdCA9PSBTUUxJ
VEVfRE9ORSkgewotICAgICAgICByZXN1bHRTdHJpbmcgPSBTdHJpbmcoKTsKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotCi0gICAgTE9HX0VSUk9SKCJFcnJvciAoJWkpIHJlYWRpbmcgdGV4
dCByZXN1bHQgZnJvbSBkYXRhYmFzZSAoJXMpIiwgcmVzdWx0LCBxdWVyeS5hc2NpaSgpLmRhdGEo
KSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgYm9vbCBzZXRUZXh0VmFsdWVJbkRh
dGFiYXNlKFNRTGl0ZURhdGFiYXNlJiBkYiwgY29uc3QgU3RyaW5nJiBxdWVyeSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKLXsKLSAgICBTUUxpdGVTdGF0ZW1lbnQgc3RhdGVtZW50KGRiLCBxdWVyeSk7
Ci0gICAgaW50IHJlc3VsdCA9IHN0YXRlbWVudC5wcmVwYXJlKCk7Ci0KLSAgICBpZiAocmVzdWx0
ICE9IFNRTElURV9PSykgewotICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBwcmVwYXJlIHN0
YXRlbWVudCB0byBzZXQgdmFsdWUgaW4gZGF0YWJhc2UgKCVzKSIsIHF1ZXJ5LmFzY2lpKCkuZGF0
YSgpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHN0YXRlbWVudC5iaW5k
VGV4dCgxLCB2YWx1ZSk7Ci0KLSAgICByZXN1bHQgPSBzdGF0ZW1lbnQuc3RlcCgpOwotICAgIGlm
IChyZXN1bHQgIT0gU1FMSVRFX0RPTkUpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8g
c3RlcCBzdGF0ZW1lbnQgdG8gc2V0IHZhbHVlIGluIGRhdGFiYXNlICglcykiLCBxdWVyeS5hc2Np
aSgpLmRhdGEoKSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogLy8gRklYTUU6IG1vdmUgYWxsIGd1aWQtcmVsYXRlZCBmdW5jdGlvbnMgdG8g
YSBEYXRhYmFzZVZlcnNpb25UcmFja2VyIGNsYXNzLgogc3RhdGljIHN0ZDo6bXV0ZXgmIGd1aWRN
dXRleCgpCiB7CkBAIC0zNjcsNyArMzAyLDcgQEAgYm9vbCBEYXRhYmFzZUJhY2tlbmRCYXNlOjpw
ZXJmb3JtT3BlbkFuZFZlcmlmeShib29sIHNob3VsZFNldFZlcnNpb25Jbk5ld0RhdGFiYXMKICAg
ICAgICAgICAgICAgICAgICAgbV9zcWxpdGVEYXRhYmFzZS5jbG9zZSgpOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBl
bHNlIGlmICghZ2V0VmVyc2lvbkZyb21EYXRhYmFzZShjdXJyZW50VmVyc2lvbiwgZmFsc2UpKSB7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFtX2Zyb250ZW5kLT5nZXRWZXJzaW9uRnJvbURhdGFi
YXNlKGN1cnJlbnRWZXJzaW9uLCBmYWxzZSkpIHsKICAgICAgICAgICAgICAgICBlcnJvck1lc3Nh
Z2UgPSBmb3JtYXRFcnJvck1lc3NhZ2UoInVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCBmYWlsZWQg
dG8gcmVhZCBjdXJyZW50IHZlcnNpb24iLCBtX3NxbGl0ZURhdGFiYXNlLmxhc3RFcnJvcigpLCBt
X3NxbGl0ZURhdGFiYXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgICAgICAgICB0cmFuc2Fj
dGlvbi5yb2xsYmFjaygpOwogICAgICAgICAgICAgICAgIG1fc3FsaXRlRGF0YWJhc2UuY2xvc2Uo
KTsKQEAgLTM3OCw3ICszMTMsNyBAQCBib29sIERhdGFiYXNlQmFja2VuZEJhc2U6OnBlcmZvcm1P
cGVuQW5kVmVyaWZ5KGJvb2wgc2hvdWxkU2V0VmVyc2lvbkluTmV3RGF0YWJhcwogICAgICAgICAg
ICAgICAgIExPRyhTdG9yYWdlQVBJLCAiUmV0cmlldmVkIGN1cnJlbnQgdmVyc2lvbiAlcyBmcm9t
IGRhdGFiYXNlICVzIiwgY3VycmVudFZlcnNpb24uYXNjaWkoKS5kYXRhKCksIGRhdGFiYXNlRGVi
dWdOYW1lKCkuYXNjaWkoKS5kYXRhKCkpOwogICAgICAgICAgICAgfSBlbHNlIGlmICghbV9uZXcg
fHwgc2hvdWxkU2V0VmVyc2lvbkluTmV3RGF0YWJhc2UpIHsKICAgICAgICAgICAgICAgICBMT0co
U3RvcmFnZUFQSSwgIlNldHRpbmcgdmVyc2lvbiAlcyBpbiBkYXRhYmFzZSAlcyB0aGF0IHdhcyBq
dXN0IGNyZWF0ZWQiLCBtX2V4cGVjdGVkVmVyc2lvbi5hc2NpaSgpLmRhdGEoKSwgZGF0YWJhc2VE
ZWJ1Z05hbWUoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFzZXRWZXJz
aW9uSW5EYXRhYmFzZShtX2V4cGVjdGVkVmVyc2lvbiwgZmFsc2UpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKCFtX2Zyb250ZW5kLT5zZXRWZXJzaW9uSW5EYXRhYmFzZShtX2V4cGVjdGVkVmVyc2lv
biwgZmFsc2UpKSB7CiAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGZvcm1hdEVy
cm9yTWVzc2FnZSgidW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIGZhaWxlZCB0byB3cml0ZSBjdXJy
ZW50IHZlcnNpb24iLCBtX3NxbGl0ZURhdGFiYXNlLmxhc3RFcnJvcigpLCBtX3NxbGl0ZURhdGFi
YXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24ucm9s
bGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgbV9zcWxpdGVEYXRhYmFzZS5jbG9zZSgpOwpA
QCAtNDU0LDQ0ICszODksNiBAQCBEYXRhYmFzZURldGFpbHMgRGF0YWJhc2VCYWNrZW5kQmFzZTo6
ZGV0YWlscygpIGNvbnN0CiAgICAgcmV0dXJuIERhdGFiYXNlRGV0YWlscyhzdHJpbmdJZGVudGlm
aWVyKCksIGRpc3BsYXlOYW1lKCksIGVzdGltYXRlZFNpemUoKSwgMCwgMCwgMCk7CiB9CiAKLWJv
b2wgRGF0YWJhc2VCYWNrZW5kQmFzZTo6Z2V0VmVyc2lvbkZyb21EYXRhYmFzZShTdHJpbmcmIHZl
cnNpb24sIGJvb2wgc2hvdWxkQ2FjaGVWZXJzaW9uKQotewotICAgIFN0cmluZyBxdWVyeShTdHJp
bmcoIlNFTEVDVCB2YWx1ZSBGUk9NICIpICsgZnVsbHlRdWFsaWZpZWRJbmZvVGFibGVOYW1lKCkg
KyAgIiBXSEVSRSBrZXkgPSAnIiArIHZlcnNpb25LZXkgKyAiJzsiKTsKLQotICAgIG1fZGF0YWJh
c2VBdXRob3JpemVyLT5kaXNhYmxlKCk7Ci0KLSAgICBib29sIHJlc3VsdCA9IHJldHJpZXZlVGV4
dFJlc3VsdEZyb21EYXRhYmFzZShtX3NxbGl0ZURhdGFiYXNlLCBxdWVyeSwgdmVyc2lvbik7Ci0g
ICAgaWYgKHJlc3VsdCkgewotICAgICAgICBpZiAoc2hvdWxkQ2FjaGVWZXJzaW9uKQotICAgICAg
ICAgICAgc2V0Q2FjaGVkVmVyc2lvbih2ZXJzaW9uKTsKLSAgICB9IGVsc2UKLSAgICAgICAgTE9H
X0VSUk9SKCJGYWlsZWQgdG8gcmV0cmlldmUgdmVyc2lvbiBmcm9tIGRhdGFiYXNlICVzIiwgZGF0
YWJhc2VEZWJ1Z05hbWUoKS5hc2NpaSgpLmRhdGEoKSk7Ci0KLSAgICBtX2RhdGFiYXNlQXV0aG9y
aXplci0+ZW5hYmxlKCk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1ib29sIERhdGFiYXNl
QmFja2VuZEJhc2U6OnNldFZlcnNpb25JbkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwg
Ym9vbCBzaG91bGRDYWNoZVZlcnNpb24pCi17Ci0gICAgLy8gVGhlIElOU0VSVCB3aWxsIHJlcGxh
Y2UgYW4gZXhpc3RpbmcgZW50cnkgZm9yIHRoZSBkYXRhYmFzZSB3aXRoIHRoZSBuZXcgdmVyc2lv
biBudW1iZXIsIGR1ZSB0byB0aGUgVU5JUVVFIE9OIENPTkZMSUNUIFJFUExBQ0UKLSAgICAvLyBj
bGF1c2UgaW4gdGhlIENSRUFURSBzdGF0ZW1lbnQgKHNlZSBEYXRhYmFzZTo6cGVyZm9ybU9wZW5B
bmRWZXJpZnkoKSkuCi0gICAgU3RyaW5nIHF1ZXJ5KFN0cmluZygiSU5TRVJUIElOVE8gIikgKyBm
dWxseVF1YWxpZmllZEluZm9UYWJsZU5hbWUoKSArICAiIChrZXksIHZhbHVlKSBWQUxVRVMgKCci
ICsgdmVyc2lvbktleSArICInLCA/KTsiKTsKLQotICAgIG1fZGF0YWJhc2VBdXRob3JpemVyLT5k
aXNhYmxlKCk7Ci0KLSAgICBib29sIHJlc3VsdCA9IHNldFRleHRWYWx1ZUluRGF0YWJhc2UobV9z
cWxpdGVEYXRhYmFzZSwgcXVlcnksIHZlcnNpb24pOwotICAgIGlmIChyZXN1bHQpIHsKLSAgICAg
ICAgaWYgKHNob3VsZENhY2hlVmVyc2lvbikKLSAgICAgICAgICAgIHNldENhY2hlZFZlcnNpb24o
dmVyc2lvbik7Ci0gICAgfSBlbHNlCi0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHNldCB2
ZXJzaW9uICVzIGluIGRhdGFiYXNlICglcykiLCB2ZXJzaW9uLmFzY2lpKCkuZGF0YSgpLCBxdWVy
eS5hc2NpaSgpLmRhdGEoKSk7Ci0KLSAgICBtX2RhdGFiYXNlQXV0aG9yaXplci0+ZW5hYmxlKCk7
Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIERhdGFiYXNlQmFja2VuZEJhc2U6OnNl
dEV4cGVjdGVkVmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24pCiB7CiAgICAgbV9leHBlY3Rl
ZFZlcnNpb24gPSB2ZXJzaW9uLmlzb2xhdGVkQ29weSgpOwpAQCAtNTE3LDcgKzQxNCw3IEBAIGJv
b2wgRGF0YWJhc2VCYWNrZW5kQmFzZTo6Z2V0QWN0dWFsVmVyc2lvbkZvclRyYW5zYWN0aW9uKFN0
cmluZyAmYWN0dWFsVmVyc2lvbikKICAgICBBU1NFUlQobV9zcWxpdGVEYXRhYmFzZS50cmFuc2Fj
dGlvbkluUHJvZ3Jlc3MoKSk7CiAgICAgLy8gTm90ZTogSW4gbXVsdGktcHJvY2VzcyBicm93c2Vy
cyB0aGUgY2FjaGVkIHZhbHVlIG1heSBiZSBpbmFjY3VyYXRlLgogICAgIC8vIFNvIHdlIHJldHJp
ZXZlIHRoZSB2YWx1ZSBmcm9tIHRoZSBkYXRhYmFzZSBhbmQgdXBkYXRlIHRoZSBjYWNoZWQgdmFs
dWUgaGVyZS4KLSAgICByZXR1cm4gZ2V0VmVyc2lvbkZyb21EYXRhYmFzZShhY3R1YWxWZXJzaW9u
LCB0cnVlKTsKKyAgICByZXR1cm4gbV9mcm9udGVuZC0+Z2V0VmVyc2lvbkZyb21EYXRhYmFzZShh
Y3R1YWxWZXJzaW9uLCB0cnVlKTsKIH0KIAogdW5zaWduZWQgbG9uZyBsb25nIERhdGFiYXNlQmFj
a2VuZEJhc2U6Om1heGltdW1TaXplKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRCYXNlLmgKaW5kZXggNmFjODBm
MTEzYWRlNDE5NTJmMjNiNDI5Zjk2YmY2NGE0MzUyMzBkMy4uODk0YmMxMjcxN2IxZTEyYjQ3ODk5
OTU2OWExYzlkYmFlNmIzZTBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhY2tlbmRCYXNlLmgKQEAgLTgxLDE2ICs4MSwxMiBA
QCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybU9wZW5BbmRWZXJpZnkoYm9v
bCBzaG91bGRTZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VFcnJvciYsIFN0cmluZyYg
ZXJyb3JNZXNzYWdlKTsKIAotICAgIGJvb2wgZ2V0VmVyc2lvbkZyb21EYXRhYmFzZShTdHJpbmcm
IHZlcnNpb24sIGJvb2wgc2hvdWxkQ2FjaGVWZXJzaW9uID0gdHJ1ZSk7Ci0gICAgYm9vbCBzZXRW
ZXJzaW9uSW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIHZlcnNpb24sIGJvb2wgc2hvdWxkQ2FjaGVW
ZXJzaW9uID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRFeHBlY3RlZFZlcnNpb24oY29uc3QgU3RyaW5n
Jik7CiAgICAgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZlcnNpb24oKSBjb25zdCB7IHJldHVybiBt
X2V4cGVjdGVkVmVyc2lvbjsgfQogICAgIFN0cmluZyBnZXRDYWNoZWRWZXJzaW9uKCljb25zdDsK
ICAgICB2b2lkIHNldENhY2hlZFZlcnNpb24oY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBnZXRB
Y3R1YWxWZXJzaW9uRm9yVHJhbnNhY3Rpb24oU3RyaW5nJiB2ZXJzaW9uKTsKIAotICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBkYXRhYmFzZUluZm9UYWJsZU5hbWUoKTsKLQogI2lmICFMT0dfRElTQUJM
RUQgfHwgIUVSUk9SX0RJU0FCTEVECiAgICAgU3RyaW5nIGRhdGFiYXNlRGVidWdOYW1lKCkgY29u
c3Q7CiAjZW5kaWYK
</data>
<flag name="review"
          id="283497"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>