<?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>53478</bug_id>
          
          <creation_ts>2011-02-01 00:07:38 -0800</creation_ts>
          <short_desc>Refactor JSGlobalObject-related tear-down</short_desc>
          <delta_ts>2011-02-01 21:10:49 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>barraclough</cc>
    
    <cc>eric</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343059</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-01 00:07:38 -0800</bug_when>
    <thetext>Fixed some crashes seen on the WebKit2 buildbot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343065</commentid>
    <comment_count>1</comment_count>
      <attachid>80725</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-01 00:31:47 -0800</bug_when>
    <thetext>Created attachment 80725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343232</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-01 08:25:59 -0800</bug_when>
    <thetext>Looking at this further, I think the patch here is a good refactoring, but it doesn&apos;t seem to fix the underlying cause of these crashes.

The cause seems to be, not objects relying on destructor order, but objects not having their destructors run at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343390</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-01 11:41:31 -0800</bug_when>
    <thetext>Retitling since this patch doesn&apos;t seem to fully fix the WebKit2 bot regression, but I&apos;d still like to land it on its own. I&apos;m going to wait to land this until the regressions are sorted out, since this patch seems to cover them up somewhat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343818</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-01 21:10:49 -0800</bug_when>
    <thetext>Committed r77360: &lt;http://trac.webkit.org/changeset/77360&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80725</attachid>
            <date>2011-02-01 00:31:47 -0800</date>
            <delta_ts>2011-02-01 08:30:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53478-20110201003146.patch</filename>
            <type>text/plain</type>
            <size>14973</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzcyMjQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTEgQEAK
KzIwMTEtMDItMDEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBzb21lIGNyYXNo
ZXMgc2VlbiBvbiB0aGUgV2ViS2l0MiBidWlsZGJvdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0NzgKKyAgICAgICAgCisgICAgICAgIHI3NzA4MSBy
ZXZlYWxlZCBzb21lIGxhdGVudCBidWdzIGR1ZSB0byBvYmplY3RzIGltcGxpY2l0bHkgcmVseWlu
ZyBvbgorICAgICAgICBkZXN0cnVjdGlvbiBvcmRlci4gRGVzdHJ1Y3Rpb24gb3JkZXIgaXMgbm90
IGd1YXJhbnRlZWQsIHNvIHRoaXMgcmVsaWFuY2UKKyAgICAgICAgd2FzIG5ldmVyIHNhZmUuIFRo
ZSBmaXggaXMgdG8gY2hhbmdlIHRoZSBvYmplY3RzIG5vdCB0byByZWx5IG9uCisgICAgICAgIGRl
c3RydWN0aW9uIG9yZGVyLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6Om1hcmtBZ2dyZWdhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6Omdsb2JhbE9iamVjdCk6CisgICAgICAgIChKU0M6Okdsb2Jh
bENvZGVCbG9jazo6R2xvYmFsQ29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6R2xvYmFsQ29kZUJs
b2NrOjp+R2xvYmFsQ29kZUJsb2NrKTogU3RvcmUgdGhlIHNldCBvZiBnbG9iYWwgY29kZQorICAg
ICAgICBibG9ja3Mgb24gdGhlIEhlYXAsIGluc3RlYWQgb2Ygb24gaW5kZXBlbmRlbnQgZ2xvYmFs
IG9iamVjdHMuIFRoZSBoZWFwCisgICAgICAgIGlzIGd1YXJhbnRlZWQgdG8gb3V0bGFzdCBhbnkg
R0Mtb3duZWQgZGF0YSBzdHJ1Y3R1cmUuIFRoZSBoZWFwIGlzIGFsc28KKyAgICAgICAgYSBuYXR1
cmFsIHBsYWNlIHRvIHN0b3JlIG9iamVjdHMgdGhhdCBuZWVkcyBvdXQtb2YtYmFuZCBtYXJraW5n
LCBzaW5jZQorICAgICAgICB0aGUgaGVhcCBpcyByZXNwb25zaWJsZSBmb3IgbWFya2luZyBhbGwg
cm9vdHMuIFRoaXMgYWxzbyB1bmVudGFuZ2xlcworICAgICAgICBjb2RlIGJsb2NrcyBmcm9tIGds
b2JhbCBvYmplY3QgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgKiBydW50aW1lL0hlYXAuY3BwOgor
ICAgICAgICAoSlNDOjpIZWFwOjptYXJrUm9vdHMpOgorICAgICAgICAoSlNDOjpIZWFwOjpnbG9i
YWxPYmplY3RDb3VudCk6CisgICAgICAgIChKU0M6OkhlYXA6OnByb3RlY3RlZEdsb2JhbE9iamVj
dENvdW50KToKKyAgICAgICAgKiBydW50aW1lL0hlYXAuaDoKKyAgICAgICAgKEpTQzo6SGVhcDo6
Y29kZUJsb2Nrcyk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbERhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6On5KU0dsb2JhbE9iamVjdCk6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
Om1hcmtDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTWFya2VkU3BhY2UuY3BwOiBTdG9yZSB0aGUgc2V0IG9mIGdsb2JhbCBv
YmplY3RzIGluIGEgd2VhayBtYXAKKyAgICAgICAgb3duZWQgYnkgSlNHbG9iYWxEYXRhLCBpbnN0
ZWFkIG9mIGFuIGluc3RydXNpdmUgY2lyY3VsYXIgbGlua2VkIGxpc3QuCisgICAgICAgIFRoaXMg
aXMgc2ltcGxlciwgYW5kIGl0IGF2b2lkcyBkZXN0cnVjdG9yLXRpbWUgYWNjZXNzIGJldHdlZW4g
Z2xvYmFsCisgICAgICAgIG9iamVjdHMsIHdoaWNoIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHNh
ZmUuCisKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6OmRlc3Ryb3kpOiBNYWtlIHN1cmUgdG8g
Y2xlYXIgbWFyayBiaXRzIGJlZm9yZSB0ZWFyaW5nCisgICAgICAgIGV2ZXJ5dGhpbmcgZG93bi4g
T3RoZXJ3aXNlLCB3ZWFrIGRhdGEgc3RydWN0dXJlcyB3aWxsIGluY29ycmVjdGx5IHJlcG9ydAor
ICAgICAgICB0aGF0IG9iamVjdHMgcGVuZGluZyBkZXN0cnVjdGlvbiBhcmUgc3RpbGwgYWxpdmUu
CisKIDIwMTEtMDEtMzEgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDc3MTY5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNjEs
NiArMTM2MSw3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wU3RhdGlzdGljcygpCiAKIENvZGVCbG9j
azo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUg
Y29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0ICpnbG9iYWxPYmplY3QsIFBhc3NSZWZQdHI8U291cmNl
UHJvdmlkZXI+IHNvdXJjZVByb3ZpZGVyLCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRh
YmxlKiBzeW1UYWIsIGJvb2wgaXNDb25zdHJ1Y3RvcikKICAgICA6IG1fZ2xvYmFsT2JqZWN0KGds
b2JhbE9iamVjdCkKKyAgICAsIG1faGVhcCgmbV9nbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKS5o
ZWFwKQogICAgICwgbV9udW1DYWxsZWVSZWdpc3RlcnMoMCkKICAgICAsIG1fbnVtVmFycygwKQog
ICAgICwgbV9udW1QYXJhbWV0ZXJzKDApCkBAIC0xNTM0LDcgKzE1MzUsNiBAQCB2b2lkIENvZGVC
bG9jazo6bWFya0FnZ3JlZ2F0ZShNYXJrU3RhY2smCiAgICAgICAgIG1fZnVuY3Rpb25FeHByc1tp
XS0+bWFya0FnZ3JlZ2F0ZShtYXJrU3RhY2spOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9mdW5jdGlvbkRlY2xzLnNpemUoKTsgKytpKQogICAgICAgICBtX2Z1bmN0aW9uRGVjbHNbaV0t
Pm1hcmtBZ2dyZWdhdGUobWFya1N0YWNrKTsKLSAgICBtYXJrU3RhY2suYXBwZW5kKCZtX2dsb2Jh
bE9iamVjdCk7CiB9CiAKIEhhbmRsZXJJbmZvKiBDb2RlQmxvY2s6OmhhbmRsZXJGb3JCeXRlY29k
ZU9mZnNldCh1bnNpZ25lZCBieXRlY29kZU9mZnNldCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDc3MTY5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDks
NiArMjQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVj
dXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NS
ZWZQdHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxl
KiBzeW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKIAogICAgICAgICBEZXByZWNhdGVk
UHRyPEpTR2xvYmFsT2JqZWN0PiBtX2dsb2JhbE9iamVjdDsKKyAgICAgICAgSGVhcCogbV9oZWFw
OwogCiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5Db2RlQmxvY2soKTsKQEAgLTYxNiwx
NyArNjE3LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBHbG9iYWxDb2RlQmxvY2soU2Ny
aXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBDb2RlVHlwZSBjb2RlVHlwZSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4gc291cmNl
UHJvdmlkZXIsIHVuc2lnbmVkIHNvdXJjZU9mZnNldCkKICAgICAgICAgICAgIDogQ29kZUJsb2Nr
KG93bmVyRXhlY3V0YWJsZSwgY29kZVR5cGUsIGdsb2JhbE9iamVjdCwgc291cmNlUHJvdmlkZXIs
IHNvdXJjZU9mZnNldCwgJm1fdW5zaGFyZWRTeW1ib2xUYWJsZSwgZmFsc2UpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LT5jb2RlQmxvY2tzKCkuYWRkKHRoaXMpOworICAg
ICAgICAgICAgbV9oZWFwLT5jb2RlQmxvY2tzKCkuYWRkKHRoaXMpOwogICAgICAgICB9CiAKICAg
ICAgICAgfkdsb2JhbENvZGVCbG9jaygpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2ds
b2JhbE9iamVjdCkKLSAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC0+Y29kZUJsb2Nrcygp
LnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgIG1faGVhcC0+Y29kZUJsb2NrcygpLnJlbW92ZSh0
aGlzKTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgY2xlYXJHbG9iYWxPYmplY3QoKSB7IG1f
Z2xvYmFsT2JqZWN0ID0gMDsgfQotCiAgICAgcHJpdmF0ZToKICAgICAgICAgU3ltYm9sVGFibGUg
bV91bnNoYXJlZFN5bWJvbFRhYmxlOwogICAgIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9IZWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9IZWFwLmNwcAkocmV2aXNpb24gNzcxNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhlYXAuaCIKIAorI2luY2x1ZGUgIkNvZGVCbG9j
ay5oIgogI2luY2x1ZGUgIkNvbGxlY3RvckhlYXBJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbnNl
cnZhdGl2ZVNldC5oIgogI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgpAQCAtMjUwLDYg
KzI1MSwxMSBAQCB2b2lkIEhlYXA6Om1hcmtSb290cygpCiAgICAgLy8gTWFyayB0ZW1wb3Jhcnkg
dmVjdG9yIGZvciBBcnJheSBzb3J0aW5nCiAgICAgbWFya1RlbXBTb3J0VmVjdG9ycyhtYXJrU3Rh
Y2spOwogICAgIG1hcmtTdGFjay5kcmFpbigpOworICAgIAorICAgIEhhc2hTZXQ8R2xvYmFsQ29k
ZUJsb2NrKj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fY29kZUJsb2Nrcy5lbmQoKTsKKyAgICBm
b3IgKEhhc2hTZXQ8R2xvYmFsQ29kZUJsb2NrKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9jb2Rl
QmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgKCppdCktPm1hcmtBZ2dy
ZWdhdGUobWFya1N0YWNrKTsKKyAgICBtYXJrU3RhY2suZHJhaW4oKTsKIAogICAgIC8vIE1hcmsg
bWlzYy4gb3RoZXIgcm9vdHMuCiAgICAgaWYgKG1fbWFya0xpc3RTZXQgJiYgbV9tYXJrTGlzdFNl
dC0+c2l6ZSgpKQpAQCAtMjg5LDI3ICsyOTUsMTggQEAgc2l6ZV90IEhlYXA6OmNhcGFjaXR5KCkg
Y29uc3QKIAogc2l6ZV90IEhlYXA6Omdsb2JhbE9iamVjdENvdW50KCkKIHsKLSAgICBzaXplX3Qg
Y291bnQgPSAwOwotICAgIGlmIChKU0dsb2JhbE9iamVjdCogaGVhZCA9IG1fZ2xvYmFsRGF0YS0+
aGVhZCkgewotICAgICAgICBKU0dsb2JhbE9iamVjdCogbyA9IGhlYWQ7Ci0gICAgICAgIGRvIHsK
LSAgICAgICAgICAgICsrY291bnQ7Ci0gICAgICAgICAgICBvID0gby0+bmV4dCgpOwotICAgICAg
ICB9IHdoaWxlIChvICE9IGhlYWQpOwotICAgIH0KLSAgICByZXR1cm4gY291bnQ7CisgICAgcmV0
dXJuIG1fZ2xvYmFsRGF0YS0+Z2xvYmFsT2JqZWN0cy51bmNoZWNrZWRTaXplKCk7CiB9CiAKIHNp
emVfdCBIZWFwOjpwcm90ZWN0ZWRHbG9iYWxPYmplY3RDb3VudCgpCiB7CiAgICAgc2l6ZV90IGNv
dW50ID0gMDsKLSAgICBpZiAoSlNHbG9iYWxPYmplY3QqIGhlYWQgPSBtX2dsb2JhbERhdGEtPmhl
YWQpIHsKLSAgICAgICAgSlNHbG9iYWxPYmplY3QqIG8gPSBoZWFkOwotICAgICAgICBkbyB7Ci0g
ICAgICAgICAgICBpZiAobV9wcm90ZWN0ZWRWYWx1ZXMuY29udGFpbnMobykpCi0gICAgICAgICAg
ICAgICAgKytjb3VudDsKLSAgICAgICAgICAgIG8gPSBvLT5uZXh0KCk7Ci0gICAgICAgIH0gd2hp
bGUgKG8gIT0gaGVhZCk7CisKKyAgICBHbG9iYWxPYmplY3RNYXAmIG1hcCA9IG1fZ2xvYmFsRGF0
YS0+Z2xvYmFsT2JqZWN0czsKKyAgICBHbG9iYWxPYmplY3RNYXA6Oml0ZXJhdG9yIGVuZCA9IG1h
cC51bmNoZWNrZWRFbmQoKTsKKyAgICBmb3IgKEdsb2JhbE9iamVjdE1hcDo6aXRlcmF0b3IgaXQg
PSBtYXAudW5jaGVja2VkQmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIGlmICht
YXAuaXNWYWxpZChpdCkgJiYgbV9wcm90ZWN0ZWRWYWx1ZXMuY29udGFpbnMoaXQtPnNlY29uZC5n
ZXQoKSkpCisgICAgICAgICAgICArK2NvdW50OwogICAgIH0KIAogICAgIHJldHVybiBjb3VudDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgJKHJldmlzaW9uIDc3MTY5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEdDQWN0aXZpdHlD
YWxsYmFjazsKKyAgICBjbGFzcyBHbG9iYWxDb2RlQmxvY2s7CiAgICAgY2xhc3MgSlNDZWxsOwog
ICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKICAgICBjbGFzcyBKU1ZhbHVlOwpAQCAtOTEsOCArOTIs
MTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgV2Vha0dDSGFuZGxlKiBhZGRXZWFrR0NI
YW5kbGUoSlNDZWxsKik7CiAKLSAgICAgICAgdm9pZCBwdXNoVGVtcFNvcnRWZWN0b3IoV1RGOjpW
ZWN0b3I8VmFsdWVTdHJpbmdQYWlyPiopOwotICAgICAgICB2b2lkIHBvcFRlbXBTb3J0VmVjdG9y
KFdURjo6VmVjdG9yPFZhbHVlU3RyaW5nUGFpcj4qKTsgICAgICAgIAorICAgICAgICB2b2lkIHB1
c2hUZW1wU29ydFZlY3RvcihWZWN0b3I8VmFsdWVTdHJpbmdQYWlyPiopOworICAgICAgICB2b2lk
IHBvcFRlbXBTb3J0VmVjdG9yKFZlY3RvcjxWYWx1ZVN0cmluZ1BhaXI+Kik7CisgICAgICAgIAor
ICAgICAgICBIYXNoU2V0PEdsb2JhbENvZGVCbG9jayo+JiBjb2RlQmxvY2tzKCkgeyByZXR1cm4g
bV9jb2RlQmxvY2tzOyB9CiAKICAgICAgICAgSGFzaFNldDxNYXJrZWRBcmd1bWVudEJ1ZmZlcio+
JiBtYXJrTGlzdFNldCgpIHsgaWYgKCFtX21hcmtMaXN0U2V0KSBtX21hcmtMaXN0U2V0ID0gbmV3
IEhhc2hTZXQ8TWFya2VkQXJndW1lbnRCdWZmZXIqPjsgcmV0dXJuICptX21hcmtMaXN0U2V0OyB9
CiAKQEAgLTEyMyw4ICsxMjYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgT3BlcmF0aW9u
SW5Qcm9ncmVzcyBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7CiAKICAgICAgICAgUHJvdGVjdENvdW50
U2V0IG1fcHJvdGVjdGVkVmFsdWVzOwotICAgICAgICBXVEY6OlZlY3RvcjxQYWdlQWxsb2NhdGlv
bkFsaWduZWQ+IG1fd2Vha0dDSGFuZGxlUG9vbHM7Ci0gICAgICAgIFdURjo6VmVjdG9yPFdURjo6
VmVjdG9yPFZhbHVlU3RyaW5nUGFpcj4qID4gbV90ZW1wU29ydGluZ1ZlY3RvcnM7CisgICAgICAg
IFZlY3RvcjxQYWdlQWxsb2NhdGlvbkFsaWduZWQ+IG1fd2Vha0dDSGFuZGxlUG9vbHM7CisgICAg
ICAgIFZlY3RvcjxWZWN0b3I8VmFsdWVTdHJpbmdQYWlyPiogPiBtX3RlbXBTb3J0aW5nVmVjdG9y
czsKKyAgICAgICAgSGFzaFNldDxHbG9iYWxDb2RlQmxvY2sqPiBtX2NvZGVCbG9ja3M7CiAKICAg
ICAgICAgSGFzaFNldDxNYXJrZWRBcmd1bWVudEJ1ZmZlcio+KiBtX21hcmtMaXN0U2V0OwogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAJ
KHJldmlzaW9uIDc3MTY5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDcgKzE0MCw2IEBAIEpTR2xvYmFsRGF0
YTo6SlNHbG9iYWxEYXRhKEdsb2JhbERhdGFUeXAKICAgICAsIHBhcnNlcihuZXcgUGFyc2VyKQog
ICAgICwgaW50ZXJwcmV0ZXIobmV3IEludGVycHJldGVyKQogICAgICwgaGVhcCh0aGlzKQotICAg
ICwgaGVhZCgwKQogICAgICwgZHluYW1pY0dsb2JhbE9iamVjdCgwKQogICAgICwgZmlyc3RTdHJp
bmdpZmllclRvTWFyaygwKQogICAgICwgY2FjaGVkVVRDT2Zmc2V0KE5hTikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCShyZXZpc2lvbiA3NzE2
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiU21hbGxTdHJpbmdzLmgiCiAj
aW5jbHVkZSAiVGVybWluYXRvci5oIgogI2luY2x1ZGUgIlRpbWVvdXRDaGVja2VyLmgiCisjaW5j
bHVkZSAiV2Vha0dDTWFwLmgiCiAjaW5jbHVkZSAiV2Vha1JhbmRvbS5oIgogI2luY2x1ZGUgPHd0
Zi9CdW1wUG9pbnRlckFsbG9jYXRvci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC03
Miw3ICs3Myw5IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAKICAgICBzdHJ1Y3QgSGFzaFRh
YmxlOwotICAgIHN0cnVjdCBJbnN0cnVjdGlvbjsgICAgCisgICAgc3RydWN0IEluc3RydWN0aW9u
OworCisgICAgdHlwZWRlZiBXZWFrR0NNYXA8SlNHbG9iYWxPYmplY3QqLCBKU0dsb2JhbE9iamVj
dD4gR2xvYmFsT2JqZWN0TWFwOyAvLyBGSVhNRTogV291bGQgYmUgbmljZSB0byB1c2UgYSBXZWFr
R0NTZXQgaGVyZS4KIAogICAgIHN0cnVjdCBEU1RPZmZzZXRDYWNoZSB7CiAgICAgICAgIERTVE9m
ZnNldENhY2hlKCkKQEAgLTIxMCw3ICsyMTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBIYXNoTWFwPE9wYXF1ZUpTQ2xhc3MqLCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEqPiBvcGFx
dWVKU0NsYXNzRGF0YTsKIAotICAgICAgICBKU0dsb2JhbE9iamVjdCogaGVhZDsKKyAgICAgICAg
R2xvYmFsT2JqZWN0TWFwIGdsb2JhbE9iamVjdHM7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBk
eW5hbWljR2xvYmFsT2JqZWN0OwogCiAgICAgICAgIEhhc2hTZXQ8SlNPYmplY3QqPiBzdHJpbmdS
ZWN1cnNpb25DaGVja1Zpc2l0ZWRPYmplY3RzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gNzcxNjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNCwxOCArMTA0LDggQEAgSlNHbG9iYWxPYmplY3Q6On5KU0dsb2JhbE9iamVj
dCgpCiAgICAgICAgICgqcHJvZmlsZXIpLT5zdG9wUHJvZmlsaW5nKGdsb2JhbEV4ZWMoKSwgVVN0
cmluZygpKTsKICAgICB9CiAKLSAgICBkKCktPm5leHQtPmQoKS0+cHJldiA9IGQoKS0+cHJldjsK
LSAgICBkKCktPnByZXYtPmQoKS0+bmV4dCA9IGQoKS0+bmV4dDsKLSAgICBKU0dsb2JhbE9iamVj
dComIGhlYWRPYmplY3QgPSBoZWFkKCk7Ci0gICAgaWYgKGhlYWRPYmplY3QgPT0gdGhpcykKLSAg
ICAgICAgaGVhZE9iamVjdCA9IGQoKS0+bmV4dDsKLSAgICBpZiAoaGVhZE9iamVjdCA9PSB0aGlz
KQotICAgICAgICBoZWFkT2JqZWN0ID0gMDsKLQotICAgIEhhc2hTZXQ8R2xvYmFsQ29kZUJsb2Nr
Kj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNvZGVCbG9ja3MoKS5lbmQoKTsKLSAgICBmb3IgKEhh
c2hTZXQ8R2xvYmFsQ29kZUJsb2NrKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY29kZUJsb2Nrcygp
LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgKCppdCktPmNsZWFyR2xvYmFsT2Jq
ZWN0KCk7Ci0gICAgICAgIAorICAgIGQoKS0+Z2xvYmFsRGF0YS0+Z2xvYmFsT2JqZWN0cy50YWtl
KHRoaXMpOworCiAgICAgUmVnaXN0ZXJGaWxlJiByZWdpc3RlckZpbGUgPSBnbG9iYWxEYXRhKCku
aW50ZXJwcmV0ZXItPnJlZ2lzdGVyRmlsZSgpOwogICAgIGlmIChyZWdpc3RlckZpbGUuY2xlYXJH
bG9iYWxPYmplY3QodGhpcykpCiAgICAgICAgIHJlZ2lzdGVyRmlsZS5zZXROdW1HbG9iYWxzKDAp
OwpAQCAtMTI1LDIyICsxMTUsMTUgQEAgSlNHbG9iYWxPYmplY3Q6On5KU0dsb2JhbE9iamVjdCgp
CiB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KEpTT2JqZWN0KiB0aGlzVmFsdWUpCiB7CiAgICAg
QVNTRVJUKEpTTG9jazo6Y3VycmVudFRocmVhZElzSG9sZGluZ0xvY2soKSk7Ci0KKyAgICAKICAg
ICBzdHJ1Y3R1cmUoKS0+ZGlzYWJsZVNwZWNpZmljRnVuY3Rpb25UcmFja2luZygpOwogCiAgICAg
ZCgpLT5nbG9iYWxEYXRhID0gSGVhcDo6aGVhcCh0aGlzKS0+Z2xvYmFsRGF0YSgpOworICAgIGQo
KS0+Z2xvYmFsRGF0YS0+Z2xvYmFsT2JqZWN0cy5zZXQodGhpcywgdGhpcyk7CiAgICAgZCgpLT5n
bG9iYWxTY29wZUNoYWluID0gU2NvcGVDaGFpbih0aGlzLCBkKCktPmdsb2JhbERhdGEuZ2V0KCks
IHRoaXMsIHRoaXNWYWx1ZSk7CiAKICAgICBKU0dsb2JhbE9iamVjdDo6Z2xvYmFsRXhlYygpLT5p
bml0KDAsIDAsIGQoKS0+Z2xvYmFsU2NvcGVDaGFpbi5ub2RlKCksIENhbGxGcmFtZTo6bm9DYWxs
ZXIoKSwgMCwgMCk7CiAKLSAgICBpZiAoSlNHbG9iYWxPYmplY3QqJiBoZWFkT2JqZWN0ID0gaGVh
ZCgpKSB7Ci0gICAgICAgIGQoKS0+cHJldiA9IGhlYWRPYmplY3Q7Ci0gICAgICAgIGQoKS0+bmV4
dCA9IGhlYWRPYmplY3QtPmQoKS0+bmV4dDsKLSAgICAgICAgaGVhZE9iamVjdC0+ZCgpLT5uZXh0
LT5kKCktPnByZXYgPSB0aGlzOwotICAgICAgICBoZWFkT2JqZWN0LT5kKCktPm5leHQgPSB0aGlz
OwotICAgIH0gZWxzZQotICAgICAgICBoZWFkT2JqZWN0ID0gZCgpLT5uZXh0ID0gZCgpLT5wcmV2
ID0gdGhpczsKLQogICAgIGQoKS0+ZGVidWdnZXIgPSAwOwogCiAgICAgZCgpLT5wcm9maWxlR3Jv
dXAgPSAwOwpAQCAtMzQ1LDEwICszMjgsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0OjptYXJrQ2hp
bGRyZW4oTWFya1N0CiB7CiAgICAgSlNWYXJpYWJsZU9iamVjdDo6bWFya0NoaWxkcmVuKG1hcmtT
dGFjayk7CiAgICAgCi0gICAgSGFzaFNldDxHbG9iYWxDb2RlQmxvY2sqPjo6Y29uc3RfaXRlcmF0
b3IgZW5kID0gY29kZUJsb2NrcygpLmVuZCgpOwotICAgIGZvciAoSGFzaFNldDxHbG9iYWxDb2Rl
QmxvY2sqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjb2RlQmxvY2tzKCkuYmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KQotICAgICAgICAoKml0KS0+bWFya0FnZ3JlZ2F0ZShtYXJrU3RhY2spOwotCiAg
ICAgbWFya0lmTmVlZGVkKG1hcmtTdGFjaywgJmQoKS0+cmVnRXhwQ29uc3RydWN0b3IpOwogICAg
IG1hcmtJZk5lZWRlZChtYXJrU3RhY2ssICZkKCktPmVycm9yQ29uc3RydWN0b3IpOwogICAgIG1h
cmtJZk5lZWRlZChtYXJrU3RhY2ssICZkKCktPmV2YWxFcnJvckNvbnN0cnVjdG9yKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkocmV2
aXNpb24gNzcxNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICAgICAgICAgIFJlZlB0cjxKU0dsb2JhbERhdGE+IGdsb2JhbERhdGE7CiAKLSAgICAg
ICAgICAgIEhhc2hTZXQ8R2xvYmFsQ29kZUJsb2NrKj4gY29kZUJsb2NrczsKICAgICAgICAgICAg
IFdlYWtNYXBTZXQgd2Vha01hcHM7CiAgICAgICAgICAgICBXZWFrUmFuZG9tIHdlYWtSYW5kb207
CiAgICAgICAgIH07CkBAIC0xODIsMTAgKzE4MSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGVmaW5lR2V0dGVyKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGdldHRlckZ1bmMsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVmaW5lU2V0dGVyKEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIHNldHRlckZ1bmMsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpOwogCi0gICAgICAgIC8vIExpbmtlZCBsaXN0IG9mIGFsbCBnbG9iYWwgb2JqZWN0
cyB0aGF0IHVzZSB0aGUgc2FtZSBKU0dsb2JhbERhdGEuCi0gICAgICAgIEpTR2xvYmFsT2JqZWN0
KiYgaGVhZCgpIHsgcmV0dXJuIGQoKS0+Z2xvYmFsRGF0YS0+aGVhZDsgfQotICAgICAgICBKU0ds
b2JhbE9iamVjdCogbmV4dCgpIHsgcmV0dXJuIGQoKS0+bmV4dDsgfQotCiAgICAgICAgIC8vIFRo
ZSBmb2xsb3dpbmcgYWNjZXNzb3JzIHJldHVybiBwcmlzdGluZSB2YWx1ZXMsIGV2ZW4gaWYgYSBz
Y3JpcHQgCiAgICAgICAgIC8vIHJlcGxhY2VzIHRoZSBnbG9iYWwgb2JqZWN0J3MgYXNzb2NpYXRl
ZCBwcm9wZXJ0eS4KIApAQCAtMjUwLDggKzI0NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0R5bmFtaWNTY29wZShib29sJiByZXF1aXJlc0R5bmFtaWNDaGVj
a3MpIGNvbnN0OwogCi0gICAgICAgIEhhc2hTZXQ8R2xvYmFsQ29kZUJsb2NrKj4mIGNvZGVCbG9j
a3MoKSB7IHJldHVybiBkKCktPmNvZGVCbG9ja3M7IH0KLQogICAgICAgICB2b2lkIGNvcHlHbG9i
YWxzRnJvbShSZWdpc3RlckZpbGUmKTsKICAgICAgICAgdm9pZCBjb3B5R2xvYmFsc1RvKFJlZ2lz
dGVyRmlsZSYpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hcmtlZFNwYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXJrZWRTcGFjZS5jcHAJKHJldmlzaW9uIDc3MTY5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1
MCw4IEBAIE1hcmtlZFNwYWNlOjpNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqIGcKIAogdm9pZCBN
YXJrZWRTcGFjZTo6ZGVzdHJveSgpCiB7CisgICAgY2xlYXJNYXJrQml0cygpOyAvLyBNYWtlIHN1
cmUgd2VhayBwb2ludGVycyBhcHBlYXIgZGVhZCBkdXJpbmcgZGVzdHJ1Y3Rpb24uCisKICAgICBm
b3IgKHNpemVfdCBibG9jayA9IDA7IGJsb2NrIDwgbV9oZWFwLnVzZWRCbG9ja3M7ICsrYmxvY2sp
CiAgICAgICAgIGZyZWVCbG9jayhibG9jayk7CiAgICAgZmFzdEZyZWUobV9oZWFwLmJsb2Nrcyk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAkocmV2aXNp
b24gNzcxNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAko
d29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgdW5j
aGVja2VkIGZ1bmN0aW9ucyBwcm92aWRlIGFjY2VzcyB0byBhIHZhbHVlIGV2ZW4gaWYgdGhlIHZh
bHVlJ3MKICAgICAvLyBtYXJrIGJpdCBpcyBub3Qgc2V0LiBUaGlzIGlzIHVzZWQsIGFtb25nIG90
aGVyIHRoaW5ncywgdG8gcmV0cmlldmUgdmFsdWVzCiAgICAgLy8gZHVyaW5nIHRoZSBHQyBtYXJr
IHBoYXNlLCB3aGljaCBiZWdpbnMgYnkgY2xlYXJpbmcgYWxsIG1hcmsgYml0cy4KKyAgICAKKyAg
ICBzaXplX3QgdW5jaGVja2VkU2l6ZSgpIHsgcmV0dXJuIG1fbWFwLnNpemUoKTsgfQogCiAgICAg
TWFwcGVkVHlwZSogdW5jaGVja2VkR2V0KGNvbnN0IEtleVR5cGUmIGtleSkgY29uc3QgeyByZXR1
cm4gbV9tYXAuZ2V0KGtleSkuZ2V0KCk7IH0KICAgICBEZXByZWNhdGVkUHRyPE1hcHBlZFR5cGU+
KiB1bmNoZWNrZWRHZXRTbG90KGNvbnN0IEtleVR5cGUmIGtleSkK
</data>
<flag name="review"
          id="72227"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>