<?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>15772</bug_id>
          
          <creation_ts>2007-10-30 23:00:55 -0700</creation_ts>
          <short_desc>allocate numbers in half-size cells, for an 0.5% SunSpider speedup</short_desc>
          <delta_ts>2007-10-30 23:21:14 -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>JavaScriptCore</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>59908</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-10-30 23:00:55 -0700</bug_when>
    <thetext>Numbers are already in a separate heap, and only need half the size of a normal cell. Allocating them in half-size cells should be a perf win overall.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59909</commentid>
    <comment_count>1</comment_count>
      <attachid>16963</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-10-30 23:01:49 -0700</bug_when>
    <thetext>Created attachment 16963
patch to do it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59911</commentid>
    <comment_count>2</comment_count>
      <attachid>16963</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-10-30 23:15:19 -0700</bug_when>
    <thetext>Comment on attachment 16963
patch to do it

r=me, though you may want to replace (type*) styled casts with reinterpret_cast</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16963</attachid>
            <date>2007-10-30 23:01:49 -0700</date>
            <delta_ts>2007-10-30 23:15:19 -0700</delta_ts>
            <desc>patch to do it</desc>
            <filename>half-cell-numbers.patch.txt</filename>
            <type>text/plain</type>
            <size>15601</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDI3Mjkx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDctMTAt
MzAgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gYWxsb2NhdGUgbnVtYmVy
cyBpbiBoYWxmLXNpemUgY2VsbHMsIGZvciBhbiAwLjUlIFN1blNwaWRlciBzcGVlZHVwCisgICAg
ICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzcyCisgICAgICAg
IAorICAgICAgICBXZSBkbyB0aGlzIGJ5IHVzaW5nIGEgc2luZ2xlIG1hcmsgYml0IHBlciB0d28g
bnVtYmVyIGNlbGxzLCBhbmQKKyAgICAgICAgdHdlYWtpbmcgbWFya2luZy4KKyAgICAgICAgCisg
ICAgICAgIEJlc2lkZXMgYmVpbmcgYW4gMC41JSB3aW4gb3ZlcmFsbCwgdGhpcyBpcyBhIDcuMSUg
d2luIG9uIG1vcnBoLgorCisgICAgICAgICoga2pzL2NvbGxlY3Rvci5jcHA6CisgICAgICAgIChL
SlM6Oik6CisgICAgICAgIChLSlM6OkNvbGxlY3Rvcjo6aGVhcEFsbG9jYXRlKToKKyAgICAgICAg
KEtKUzo6Q29sbGVjdG9yOjptYXJrU3RhY2tPYmplY3RzQ29uc2VydmF0aXZlbHkpOgorICAgICAg
ICAoS0pTOjpDb2xsZWN0b3I6OnN3ZWVwKToKKyAgICAgICAgKiBranMvY29sbGVjdG9yLmg6Cisg
ICAgICAgIChLSlM6OlNtYWxsQ29sbGVjdG9yQ2VsbDo6KToKKwogMjAwNy0xMC0zMCAgR2VvZmZy
ZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
Um9iZW4sIFNhbSBXZWluaWcuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI3MjcxKQorKysgSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTM4NSwxMCArMTM4NSwxMiBAQAogCQkw
ODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzcxMDg5MDJB
RkUwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkph
dmFTY3JpcHRDb3JlIiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7
CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCW1haW5Hcm91cCA9IDA4NjdENjkx
RkU4NDAyOEZDMDJBQUMwNyAvKiBKYXZhU2NyaXB0Q29yZSAqLzsKIAkJCXByb2R1Y3RSZWZHcm91
cCA9IDAzNDc2OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0cyAqLzsKIAkJCXByb2plY3RE
aXJQYXRoID0gIiI7CisJCQlwcm9qZWN0Um9vdCA9ICIiOwogCQkJdGFyZ2V0cyA9ICgKIAkJCQk5
MzJGNUJFMzA4MjJBMUM3MDA3MzY5NzUgLyogQWxsICovLAogCQkJCTkzMkY1QjNFMDgyMkExQzcw
MDczNjk3NSAvKiBKYXZhU2NyaXB0Q29yZSAqLywKSW5kZXg6IGtqcy9jb2xsZWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGtqcy9jb2xsZWN0b3IuY3BwCShyZXZpc2lvbiAyNzI3MSkKKysrIGtqcy9j
b2xsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsMTIgKzE3MywzMyBAQCB2b2lkIENv
bGxlY3Rvcjo6cmVjb3JkRXh0cmFDb3N0KHNpemVfdCBjCiAgICAgcHJpbWFyeUhlYXAuZXh0cmFD
b3N0ICs9IGNvc3Q7CiB9CiAKK3RlbXBsYXRlIDxDb2xsZWN0b3I6OkhlYXBUeXBlIGhlYXBUeXBl
PiBzdHJ1Y3QgSGVhcENvbnN0YW50czsKKwordGVtcGxhdGUgPD4gc3RydWN0IEhlYXBDb25zdGFu
dHM8Q29sbGVjdG9yOjpQcmltYXJ5SGVhcD4geworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2Vs
bFNpemUgPSBDRUxMX1NJWkU7CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjZWxsc1BlckJsb2Nr
ID0gQ0VMTFNfUEVSX0JMT0NLOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYml0bWFwU2hpZnQg
PSAwOworICAgIHR5cGVkZWYgQ29sbGVjdG9yQ2VsbCBDZWxsOworICAgIHR5cGVkZWYgQ29sbGVj
dG9yQmxvY2sgQmxvY2s7Cit9OworCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgSGVhcENvbnN0YW50czxD
b2xsZWN0b3I6Ok51bWJlckhlYXA+IHsKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNlbGxTaXpl
ID0gU01BTExfQ0VMTF9TSVpFOworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2VsbHNQZXJCbG9j
ayA9IFNNQUxMX0NFTExTX1BFUl9CTE9DSzsKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJpdG1h
cFNoaWZ0ID0gMTsKKyAgICB0eXBlZGVmIFNtYWxsQ29sbGVjdG9yQ2VsbCBDZWxsOworICAgIHR5
cGVkZWYgU21hbGxDZWxsQ29sbGVjdG9yQmxvY2sgQmxvY2s7Cit9OworCiB0ZW1wbGF0ZSA8Q29s
bGVjdG9yOjpIZWFwVHlwZSBoZWFwVHlwZT4gdm9pZCogQ29sbGVjdG9yOjpoZWFwQWxsb2NhdGUo
c2l6ZV90IHMpCiB7CisgIHR5cGVkZWYgdHlwZW5hbWUgSGVhcENvbnN0YW50czxoZWFwVHlwZT46
OkJsb2NrIEJsb2NrOworICB0eXBlZGVmIHR5cGVuYW1lIEhlYXBDb25zdGFudHM8aGVhcFR5cGU+
OjpDZWxsIENlbGw7CisKICAgQ29sbGVjdG9ySGVhcCYgaGVhcCA9IGhlYXBUeXBlID09IFByaW1h
cnlIZWFwID8gcHJpbWFyeUhlYXAgOiBudW1iZXJIZWFwOwogICBBU1NFUlQoSlNMb2NrOjpsb2Nr
Q291bnQoKSA+IDApOwogICBBU1NFUlQoSlNMb2NrOjpjdXJyZW50VGhyZWFkSXNIb2xkaW5nTG9j
aygpKTsKLSAgQVNTRVJUKHMgPD0gQ0VMTF9TSVpFKTsKKyAgQVNTRVJUKHMgPD0gSGVhcENvbnN0
YW50czxoZWFwVHlwZT46OmNlbGxTaXplKTsKICAgVU5VU0VEX1BBUkFNKHMpOyAvLyBzIGlzIG5v
dyBvbmx5IHVzZWQgZm9yIHRoZSBhYm92ZSBhc3NlcnQKIAogICBBU1NFUlQoaGVhcC5vcGVyYXRp
b25JblByb2dyZXNzID09IE5vT3BlcmF0aW9uKTsKQEAgLTIwOSwxOCArMjMwLDE4IEBAIHRlbXBs
YXRlIDxDb2xsZWN0b3I6OkhlYXBUeXBlIGhlYXBUeXBlPiAKICAgc2l6ZV90IHVzZWRCbG9ja3Mg
PSBoZWFwLnVzZWRCbG9ja3M7CiAKICAgc2l6ZV90IGkgPSBoZWFwLmZpcnN0QmxvY2tXaXRoUG9z
c2libGVTcGFjZTsKLSAgQ29sbGVjdG9yQmxvY2sgKnRhcmdldEJsb2NrOworICBCbG9jayogdGFy
Z2V0QmxvY2s7CiAgIHNpemVfdCB0YXJnZXRCbG9ja1VzZWRDZWxsczsKICAgaWYgKGkgIT0gdXNl
ZEJsb2NrcykgewotICAgIHRhcmdldEJsb2NrID0gaGVhcC5ibG9ja3NbaV07CisgICAgdGFyZ2V0
QmxvY2sgPSAoQmxvY2sqKWhlYXAuYmxvY2tzW2ldOwogICAgIHRhcmdldEJsb2NrVXNlZENlbGxz
ID0gdGFyZ2V0QmxvY2stPnVzZWRDZWxsczsKLSAgICBBU1NFUlQodGFyZ2V0QmxvY2tVc2VkQ2Vs
bHMgPD0gQ0VMTFNfUEVSX0JMT0NLKTsKLSAgICB3aGlsZSAodGFyZ2V0QmxvY2tVc2VkQ2VsbHMg
PT0gQ0VMTFNfUEVSX0JMT0NLKSB7CisgICAgQVNTRVJUKHRhcmdldEJsb2NrVXNlZENlbGxzIDw9
IEhlYXBDb25zdGFudHM8aGVhcFR5cGU+OjpjZWxsc1BlckJsb2NrKTsKKyAgICB3aGlsZSAodGFy
Z2V0QmxvY2tVc2VkQ2VsbHMgPT0gSGVhcENvbnN0YW50czxoZWFwVHlwZT46OmNlbGxzUGVyQmxv
Y2spIHsKICAgICAgIGlmICgrK2kgPT0gdXNlZEJsb2NrcykKICAgICAgICAgZ290byBhbGxvY2F0
ZU5ld0Jsb2NrOwotICAgICAgdGFyZ2V0QmxvY2sgPSBoZWFwLmJsb2Nrc1tpXTsKKyAgICAgIHRh
cmdldEJsb2NrID0gKEJsb2NrKiloZWFwLmJsb2Nrc1tpXTsKICAgICAgIHRhcmdldEJsb2NrVXNl
ZENlbGxzID0gdGFyZ2V0QmxvY2stPnVzZWRDZWxsczsKLSAgICAgIEFTU0VSVCh0YXJnZXRCbG9j
a1VzZWRDZWxscyA8PSBDRUxMU19QRVJfQkxPQ0spOworICAgICAgQVNTRVJUKHRhcmdldEJsb2Nr
VXNlZENlbGxzIDw9IEhlYXBDb25zdGFudHM8aGVhcFR5cGU+OjpjZWxsc1BlckJsb2NrKTsKICAg
ICB9CiAgICAgaGVhcC5maXJzdEJsb2NrV2l0aFBvc3NpYmxlU3BhY2UgPSBpOwogICB9IGVsc2Ug
ewpAQCAtMjMzLDIwICsyNTQsMjAgQEAgYWxsb2NhdGVOZXdCbG9jazoKICAgICAgIGhlYXAuYmxv
Y2tzID0gc3RhdGljX2Nhc3Q8Q29sbGVjdG9yQmxvY2sgKio+KGZhc3RSZWFsbG9jKGhlYXAuYmxv
Y2tzLCBudW1CbG9ja3MgKiBzaXplb2YoQ29sbGVjdG9yQmxvY2sgKikpKTsKICAgICB9CiAKLSAg
ICB0YXJnZXRCbG9jayA9IGFsbG9jYXRlQmxvY2soKTsKKyAgICB0YXJnZXRCbG9jayA9IChCbG9j
ayopYWxsb2NhdGVCbG9jaygpOwogICAgIHRhcmdldEJsb2NrLT5mcmVlTGlzdCA9IHRhcmdldEJs
b2NrLT5jZWxsczsKICAgICB0YXJnZXRCbG9ja1VzZWRDZWxscyA9IDA7Ci0gICAgaGVhcC5ibG9j
a3NbdXNlZEJsb2Nrc10gPSB0YXJnZXRCbG9jazsKKyAgICBoZWFwLmJsb2Nrc1t1c2VkQmxvY2tz
XSA9IChDb2xsZWN0b3JCbG9jayopdGFyZ2V0QmxvY2s7CiAgICAgaGVhcC51c2VkQmxvY2tzID0g
dXNlZEJsb2NrcyArIDE7CiAgICAgaGVhcC5maXJzdEJsb2NrV2l0aFBvc3NpYmxlU3BhY2UgPSB1
c2VkQmxvY2tzOwogICB9CiAgIAogICAvLyBmaW5kIGEgZnJlZSBzcG90IGluIHRoZSBibG9jayBh
bmQgZGV0YWNoIGl0IGZyb20gdGhlIGZyZWUgbGlzdAotICBDb2xsZWN0b3JDZWxsICpuZXdDZWxs
ID0gdGFyZ2V0QmxvY2stPmZyZWVMaXN0OworICBDZWxsICpuZXdDZWxsID0gdGFyZ2V0QmxvY2st
PmZyZWVMaXN0OwogICAKICAgLy8gIm5leHQiIGZpZWxkIGlzIGEgYnl0ZSBvZmZzZXQgLS0gMCBt
ZWFucyBuZXh0IGNlbGwsIHNvIGEgemVyb2VkIGJsb2NrIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQK
ICAgLy8gY291bGQgYXZvaWQgdGhlIGNhc3RzIGJ5IHVzaW5nIGEgY2VsbCBvZmZzZXQsIGJ1dCB0
aGlzIGF2b2lkcyBhIHJlbGF0aXZlbHktc2xvdyBtdWx0aXBseQotICB0YXJnZXRCbG9jay0+ZnJl
ZUxpc3QgPSByZWludGVycHJldF9jYXN0PENvbGxlY3RvckNlbGwgKj4ocmVpbnRlcnByZXRfY2Fz
dDxjaGFyICo+KG5ld0NlbGwgKyAxKSArIG5ld0NlbGwtPnUuZnJlZUNlbGwubmV4dCk7CisgIHRh
cmdldEJsb2NrLT5mcmVlTGlzdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q2VsbCo+KHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KG5ld0NlbGwgKyAxKSArIG5ld0NlbGwtPnUuZnJlZUNlbGwubmV4dCk7CiAK
ICAgdGFyZ2V0QmxvY2stPnVzZWRDZWxscyA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pih0YXJnZXRC
bG9ja1VzZWRDZWxscyArIDEpOwogICBoZWFwLm51bUxpdmVPYmplY3RzID0gbnVtTGl2ZU9iamVj
dHMgKyAxOwpAQCAtNDM1LDcgKzQ1Niw3IEBAIHZvaWQgQ29sbGVjdG9yOjpyZWdpc3RlclRocmVh
ZCgpCiAjZGVmaW5lIElTX1BPSU5URVJfQUxJR05FRChwKSAoKChpbnRwdHJfdCkocCkgJiAoc2l6
ZW9mKGNoYXIgKikgLSAxKSkgPT0gMCkKIAogLy8gY2VsbCBzaXplIG5lZWRzIHRvIGJlIGEgcG93
ZXIgb2YgdHdvIGZvciB0aGlzIHRvIGJlIHZhbGlkCi0jZGVmaW5lIElTX0NFTExfQUxJR05FRChw
KSAoKChpbnRwdHJfdCkocCkgJiBDRUxMX01BU0spID09IDApCisjZGVmaW5lIElTX0hBTEZfQ0VM
TF9BTElHTkVEKHApICgoKGludHB0cl90KShwKSAmIChDRUxMX01BU0sgPj4gMSkpID09IDApCiAK
IHZvaWQgQ29sbGVjdG9yOjptYXJrU3RhY2tPYmplY3RzQ29uc2VydmF0aXZlbHkodm9pZCAqc3Rh
cnQsIHZvaWQgKmVuZCkKIHsKQEAgLTQ2MSwxNSArNDgyLDE1IEBAIHZvaWQgQ29sbGVjdG9yOjpt
YXJrU3RhY2tPYmplY3RzQ29uc2VydmEKIAogICB3aGlsZSAocCAhPSBlKSB7CiAgICAgICBjaGFy
KiB4ID0gKnArKzsKLSAgICAgIGlmIChJU19DRUxMX0FMSUdORUQoeCkgJiYgeCkgewotICAgICAg
ICAgIHVpbnRwdHJfdCBvZmZzZXQgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oeCkgJiBC
TE9DS19PRkZTRVRfTUFTSzsKLSAgICAgICAgICBDb2xsZWN0b3JCbG9jayogYmxvY2tBZGRyID0g
cmVpbnRlcnByZXRfY2FzdDxDb2xsZWN0b3JCbG9jayo+KHggLSBvZmZzZXQpOworICAgICAgaWYg
KElTX0hBTEZfQ0VMTF9BTElHTkVEKHgpICYmIHgpIHsKKyAgICAgICAgICB1aW50cHRyX3QgeEFz
Qml0cyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pih4KTsKKyAgICAgICAgICB4QXNCaXRz
ICY9IENFTExfQUxJR05fTUFTSzsKKyAgICAgICAgICB1aW50cHRyX3Qgb2Zmc2V0ID0geEFzQml0
cyAmIEJMT0NLX09GRlNFVF9NQVNLOworICAgICAgICAgIENvbGxlY3RvckJsb2NrKiBibG9ja0Fk
ZHIgPSByZWludGVycHJldF9jYXN0PENvbGxlY3RvckJsb2NrKj4oeEFzQml0cyAtIG9mZnNldCk7
CiAgICAgICAgICAgLy8gTWFyayB0aGUgdGhlIG51bWJlciBoZWFwLCB3ZSBjYW4gbWFyayB0aGVz
ZSBDZWxscyBkaXJlY3RseSB0byBhdm9pZCB0aGUgdmlydHVhbCBjYWxsIGNvc3QKICAgICAgICAg
ICBmb3IgKHNpemVfdCBibG9jayA9IDA7IGJsb2NrIDwgdXNlZE51bWJlckJsb2NrczsgYmxvY2sr
KykgewogICAgICAgICAgICAgICBpZiAoKG51bWJlckJsb2Nrc1tibG9ja10gPT0gYmxvY2tBZGRy
KSAmIChvZmZzZXQgPD0gbGFzdENlbGxPZmZzZXQpKSB7Ci0gICAgICAgICAgICAgICAgICBpZiAo
KChDb2xsZWN0b3JDZWxsKil4KS0+dS5mcmVlQ2VsbC56ZXJvSWZGcmVlICE9IDApCi0gICAgICAg
ICAgICAgICAgICAgICAgLy8gRG9uJ3QgY2hlY2sgd2hldGhlciB3ZSBuZWVkIHRvIG1hcmsgYXMg
d2UncmUgb25seSBzZXR0aW5nIGEgYml0IGluIHRoaXMgY2FzZQotICAgICAgICAgICAgICAgICAg
ICAgIENvbGxlY3Rvcjo6bWFya0NlbGwocmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPih4KSk7Cisg
ICAgICAgICAgICAgICAgICBDb2xsZWN0b3I6Om1hcmtDZWxsKHJlaW50ZXJwcmV0X2Nhc3Q8SlND
ZWxsKj4oeEFzQml0cykpOwogICAgICAgICAgICAgICAgICAgZ290byBlbmRNYXJrTG9vcDsKICAg
ICAgICAgICAgICAgfQogICAgICAgICAgIH0KQEAgLTQ3Nyw4ICs0OTgsOCBAQCB2b2lkIENvbGxl
Y3Rvcjo6bWFya1N0YWNrT2JqZWN0c0NvbnNlcnZhCiAgICAgICAgICAgLy8gTWFyayB0aGUgcHJp
bWFyeSBoZWFwCiAgICAgICAgICAgZm9yIChzaXplX3QgYmxvY2sgPSAwOyBibG9jayA8IHVzZWRQ
cmltYXJ5QmxvY2tzOyBibG9jaysrKSB7CiAgICAgICAgICAgICAgIGlmICgocHJpbWFyeUJsb2Nr
c1tibG9ja10gPT0gYmxvY2tBZGRyKSAmIChvZmZzZXQgPD0gbGFzdENlbGxPZmZzZXQpKSB7Ci0g
ICAgICAgICAgICAgICAgICBpZiAoKChDb2xsZWN0b3JDZWxsKil4KS0+dS5mcmVlQ2VsbC56ZXJv
SWZGcmVlICE9IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICBKU0NlbGwqIGltcCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4oeCk7CisgICAgICAgICAgICAgICAgICBpZiAoKChDb2xsZWN0
b3JDZWxsKil4QXNCaXRzKS0+dS5mcmVlQ2VsbC56ZXJvSWZGcmVlICE9IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgICBKU0NlbGwqIGltcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4oeEFz
Qml0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbXAtPm1hcmtlZCgpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbXAtPm1hcmsoKTsKICAgICAgICAgICAgICAgICAgIH0KQEAg
LTc4NCw2ICs4MDUsOSBAQCB2b2lkIENvbGxlY3Rvcjo6bWFya01haW5UaHJlYWRPbmx5T2JqZWN0
CiAKIHRlbXBsYXRlIDxDb2xsZWN0b3I6OkhlYXBUeXBlIGhlYXBUeXBlPiBzaXplX3QgQ29sbGVj
dG9yOjpzd2VlcChib29sIGN1cnJlbnRUaHJlYWRJc01haW5UaHJlYWQpCiB7CisgICAgdHlwZWRl
ZiB0eXBlbmFtZSBIZWFwQ29uc3RhbnRzPGhlYXBUeXBlPjo6QmxvY2sgQmxvY2s7CisgICAgdHlw
ZWRlZiB0eXBlbmFtZSBIZWFwQ29uc3RhbnRzPGhlYXBUeXBlPjo6Q2VsbCBDZWxsOworCiAgICAg
VU5VU0VEX1BBUkFNKGN1cnJlbnRUaHJlYWRJc01haW5UaHJlYWQpOyAvLyBjdXJyZW50VGhyZWFk
SXNNYWluVGhyZWFkIGlzIG9ubHkgdXNlZCBpbiBBU1NFUlRzCiAgICAgLy8gU1dFRVA6IGRlbGV0
ZSBldmVyeXRoaW5nIHdpdGggYSB6ZXJvIHJlZmNvdW50IChnYXJiYWdlKSBhbmQgdW5tYXJrIGV2
ZXJ5dGhpbmcgZWxzZQogICAgIENvbGxlY3RvckhlYXAmIGhlYXAgPSBoZWFwVHlwZSA9PSBDb2xs
ZWN0b3I6OlByaW1hcnlIZWFwID8gcHJpbWFyeUhlYXAgOiBudW1iZXJIZWFwOwpAQCAtNzkyLDI1
ICs4MTYsMjUgQEAgdGVtcGxhdGUgPENvbGxlY3Rvcjo6SGVhcFR5cGUgaGVhcFR5cGU+IAogICAg
IHNpemVfdCBudW1MaXZlT2JqZWN0cyA9IGhlYXAubnVtTGl2ZU9iamVjdHM7CiAgICAgCiAgICAg
Zm9yIChzaXplX3QgYmxvY2sgPSAwOyBibG9jayA8IGhlYXAudXNlZEJsb2NrczsgYmxvY2srKykg
ewotICAgICAgICBDb2xsZWN0b3JCbG9jayAqY3VyQmxvY2sgPSBoZWFwLmJsb2Nrc1tibG9ja107
CisgICAgICAgIEJsb2NrKiBjdXJCbG9jayA9IChCbG9jayopaGVhcC5ibG9ja3NbYmxvY2tdOwog
ICAgICAgICAKICAgICAgICAgc2l6ZV90IHVzZWRDZWxscyA9IGN1ckJsb2NrLT51c2VkQ2VsbHM7
Ci0gICAgICAgIENvbGxlY3RvckNlbGwgKmZyZWVMaXN0ID0gY3VyQmxvY2stPmZyZWVMaXN0Owor
ICAgICAgICBDZWxsKiBmcmVlTGlzdCA9IGN1ckJsb2NrLT5mcmVlTGlzdDsKICAgICAgICAgCi0g
ICAgICAgIGlmICh1c2VkQ2VsbHMgPT0gQ0VMTFNfUEVSX0JMT0NLKSB7CisgICAgICAgIGlmICh1
c2VkQ2VsbHMgPT0gSGVhcENvbnN0YW50czxoZWFwVHlwZT46OmNlbGxzUGVyQmxvY2spIHsKICAg
ICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZSB3aXRoIGEgYmxvY2sgd2hlcmUgYWxsIGNlbGxzIGFy
ZSB1c2VkIC0tIHRlc3RpbmcgaW5kaWNhdGVzIHRoaXMgaGFwcGVucyBvZnRlbgotICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBDRUxMU19QRVJfQkxPQ0s7IGkrKykgewotICAgICAg
ICAgICAgICAgIGlmICghY3VyQmxvY2stPm1hcmtlZC5nZXQoaSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgQ29sbGVjdG9yQ2VsbCogY2VsbCA9IGN1ckJsb2NrLT5jZWxscyArIGk7Ci0gICAgICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWFsIGNhc2UgZm9yIGFs
bG9jYXRlZCBidXQgdW5pbml0aWFsaXplZCBvYmplY3QKLSAgICAgICAgICAgICAgICAgICAgLy8g
KFdlIGRvbid0IG5lZWQgdGhpcyBjaGVjayBlYXJsaWVyIGJlY2F1c2Ugbm90aGluZyBwcmlvciB0
aGlzIHBvaW50IAotICAgICAgICAgICAgICAgICAgICAvLyBhc3N1bWVzIHRoZSBvYmplY3QgaGFz
IGEgdmFsaWQgdnB0ci4pCi0gICAgICAgICAgICAgICAgICAgIGlmIChjZWxsLT51LmZyZWVDZWxs
Lnplcm9JZkZyZWUgPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBIZWFwQ29uc3RhbnRzPGhlYXBUeXBlPjo6
Y2VsbHNQZXJCbG9jazsgaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKCFjdXJCbG9jay0+bWFy
a2VkLmdldChpID4+IEhlYXBDb25zdGFudHM8aGVhcFR5cGU+OjpiaXRtYXBTaGlmdCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgQ2VsbCogY2VsbCA9IGN1ckJsb2NrLT5jZWxscyArIGk7CiAgICAg
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBKU0NlbGwqIGltcCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4oY2VsbCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFw
VHlwZSAhPSBDb2xsZWN0b3I6Ok51bWJlckhlYXApIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IEpTQ2VsbCogaW1wID0gcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPihjZWxsKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZSBmb3IgYWxsb2NhdGVkIGJ1dCB1bmluaXRp
YWxpemVkIG9iamVjdAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gKFdlIGRvbid0IG5lZWQg
dGhpcyBjaGVjayBlYXJsaWVyIGJlY2F1c2Ugbm90aGluZyBwcmlvciB0aGlzIHBvaW50IAorICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gYXNzdW1lcyB0aGUgb2JqZWN0IGhhcyBhIHZhbGlkIHZw
dHIuKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwtPnUuZnJlZUNlbGwuemVyb0lm
RnJlZSA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY3VycmVu
dFRocmVhZElzTWFpblRocmVhZCB8fCAhY3VyQmxvY2stPmNvbGxlY3RPbk1haW5UaHJlYWRPbmx5
LmdldChpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyQmxvY2stPmNvbGxlY3RP
bk1haW5UaHJlYWRPbmx5LmdldChpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1
ckJsb2NrLT5jb2xsZWN0T25NYWluVGhyZWFkT25seS5jbGVhcihpKTsKQEAgLTgyNCwyMCArODQ4
LDIwIEBAIHRlbXBsYXRlIDxDb2xsZWN0b3I6OkhlYXBUeXBlIGhlYXBUeXBlPiAKICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIC8vIHB1dCBjZWxsIG9uIHRoZSBmcmVl
IGxpc3QKICAgICAgICAgICAgICAgICAgICAgY2VsbC0+dS5mcmVlQ2VsbC56ZXJvSWZGcmVlID0g
MDsKLSAgICAgICAgICAgICAgICAgICAgY2VsbC0+dS5mcmVlQ2VsbC5uZXh0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxjaGFyICo+KGZyZWVMaXN0KSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhciAqPihjZWxs
ICsgMSk7CisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnUuZnJlZUNlbGwubmV4dCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8Y2hhcio+KGZyZWVMaXN0KSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNl
bGwgKyAxKTsKICAgICAgICAgICAgICAgICAgICAgZnJlZUxpc3QgPSBjZWxsOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHNp
emVfdCBtaW5pbXVtQ2VsbHNUb1Byb2Nlc3MgPSB1c2VkQ2VsbHM7Ci0gICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgKGkgPCBtaW5pbXVtQ2VsbHNUb1Byb2Nlc3MpICYgKGkgPCBDRUxMU19Q
RVJfQkxPQ0spOyBpKyspIHsKLSAgICAgICAgICAgICAgICBDb2xsZWN0b3JDZWxsICpjZWxsID0g
Y3VyQmxvY2stPmNlbGxzICsgaTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyAoaSA8
IG1pbmltdW1DZWxsc1RvUHJvY2VzcykgJiAoaSA8IEhlYXBDb25zdGFudHM8aGVhcFR5cGU+Ojpj
ZWxsc1BlckJsb2NrKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgQ2VsbCAqY2VsbCA9IGN1ckJs
b2NrLT5jZWxscyArIGk7CiAgICAgICAgICAgICAgICAgaWYgKGNlbGwtPnUuZnJlZUNlbGwuemVy
b0lmRnJlZSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICsrbWluaW11bUNlbGxzVG9Qcm9j
ZXNzOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgh
Y3VyQmxvY2stPm1hcmtlZC5nZXQoaSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIEpTQ2Vs
bCAqaW1wID0gcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwgKj4oY2VsbCk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghY3VyQmxvY2stPm1hcmtlZC5nZXQoaSA+PiBIZWFwQ29uc3RhbnRzPGhlYXBU
eXBlPjo6Yml0bWFwU2hpZnQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGVhcFR5
cGUgIT0gQ29sbGVjdG9yOjpOdW1iZXJIZWFwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSlNDZWxsICppbXAgPSByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KGNlbGwpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjdXJyZW50VGhyZWFkSXNNYWluVGhyZWFkIHx8
ICFjdXJCbG9jay0+Y29sbGVjdE9uTWFpblRocmVhZE9ubHkuZ2V0KGkpKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoY3VyQmxvY2stPmNvbGxlY3RPbk1haW5UaHJlYWRPbmx5Lmdl
dChpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJCbG9jay0+Y29sbGVj
dE9uTWFpblRocmVhZE9ubHkuY2xlYXIoaSk7CkBAIC04NTAsNyArODc0LDcgQEAgdGVtcGxhdGUg
PENvbGxlY3Rvcjo6SGVhcFR5cGUgaGVhcFR5cGU+IAogICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwdXQgY2VsbCBvbiB0aGUgZnJlZSBsaXN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjZWxsLT51LmZyZWVDZWxsLnplcm9JZkZyZWUgPSAwOwot
ICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC0+dS5mcmVlQ2VsbC5uZXh0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxjaGFyICo+KGZyZWVMaXN0KSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhciAqPihjZWxs
ICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLT51LmZyZWVDZWxsLm5leHQgPSBy
ZWludGVycHJldF9jYXN0PGNoYXIqPihmcmVlTGlzdCkgLSByZWludGVycHJldF9jYXN0PGNoYXIq
PihjZWxsICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlTGlzdCA9IGNlbGw7CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CkBAIC04NjUsNyArODg5LDcg
QEAgdGVtcGxhdGUgPENvbGxlY3Rvcjo6SGVhcFR5cGUgaGVhcFR5cGU+IAogICAgICAgICAgICAg
ZW1wdHlCbG9ja3MrKzsKICAgICAgICAgICAgIGlmIChlbXB0eUJsb2NrcyA+IFNQQVJFX0VNUFRZ
X0JMT0NLUykgewogI2lmICFERUJVR19DT0xMRUNUT1IKLSAgICAgICAgICAgICAgICBmcmVlQmxv
Y2soY3VyQmxvY2spOworICAgICAgICAgICAgICAgIGZyZWVCbG9jaygoQ29sbGVjdG9yQmxvY2sq
KWN1ckJsb2NrKTsKICNlbmRpZgogICAgICAgICAgICAgICAgIC8vIHN3YXAgd2l0aCB0aGUgbGFz
dCBibG9jayBzbyB3ZSBjb21wYWN0IGFzIHdlIGdvCiAgICAgICAgICAgICAgICAgaGVhcC5ibG9j
a3NbYmxvY2tdID0gaGVhcC5ibG9ja3NbaGVhcC51c2VkQmxvY2tzIC0gMV07CkBAIC04NzQsNyAr
ODk4LDcgQEAgdGVtcGxhdGUgPENvbGxlY3Rvcjo6SGVhcFR5cGUgaGVhcFR5cGU+IAogICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgIGlmIChoZWFwLm51bUJsb2NrcyA+IE1JTl9BUlJB
WV9TSVpFICYmIGhlYXAudXNlZEJsb2NrcyA8IGhlYXAubnVtQmxvY2tzIC8gTE9XX1dBVEVSX0ZB
Q1RPUikgewogICAgICAgICAgICAgICAgICAgICBoZWFwLm51bUJsb2NrcyA9IGhlYXAubnVtQmxv
Y2tzIC8gR1JPV1RIX0ZBQ1RPUjsgCi0gICAgICAgICAgICAgICAgICAgIGhlYXAuYmxvY2tzID0g
KENvbGxlY3RvckJsb2NrICoqKWZhc3RSZWFsbG9jKGhlYXAuYmxvY2tzLCBoZWFwLm51bUJsb2Nr
cyAqIHNpemVvZihDb2xsZWN0b3JCbG9jayAqKSk7CisgICAgICAgICAgICAgICAgICAgIGhlYXAu
YmxvY2tzID0gKENvbGxlY3RvckJsb2NrKiopZmFzdFJlYWxsb2MoaGVhcC5ibG9ja3MsIGhlYXAu
bnVtQmxvY2tzICogc2l6ZW9mKENvbGxlY3RvckJsb2NrICopKTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IGtqcy9jb2xsZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBranMvY29sbGVjdG9yLmgJKHJldmlzaW9uIDI3MjcxKQorKysga2pzL2NvbGxlY3Rv
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsOCArMTAzLDExIEBAIG5hbWVzcGFjZSBLSlMgewog
ICBjb25zdCBzaXplX3QgTUlOSU1VTV9DRUxMX1NJWkUgPSBDZWxsU2l6ZTxzaXplb2Yodm9pZCop
Pjo6bV92YWx1ZTsKICAgY29uc3Qgc2l6ZV90IENFTExfQVJSQVlfTEVOR1RIID0gKE1JTklNVU1f
Q0VMTF9TSVpFIC8gc2l6ZW9mKGRvdWJsZSkpICsgKE1JTklNVU1fQ0VMTF9TSVpFICUgc2l6ZW9m
KGRvdWJsZSkgIT0gMCA/IHNpemVvZihkb3VibGUpIDogMCk7CiAgIGNvbnN0IHNpemVfdCBDRUxM
X1NJWkUgPSBDRUxMX0FSUkFZX0xFTkdUSCAqIHNpemVvZihkb3VibGUpOworICBjb25zdCBzaXpl
X3QgU01BTExfQ0VMTF9TSVpFID0gQ0VMTF9TSVpFIC8gMjsKICAgY29uc3Qgc2l6ZV90IENFTExf
TUFTSyA9IENFTExfU0laRSAtIDE7CisgIGNvbnN0IHNpemVfdCBDRUxMX0FMSUdOX01BU0sgPSB+
Q0VMTF9NQVNLOwogICBjb25zdCBzaXplX3QgQ0VMTFNfUEVSX0JMT0NLID0gKEJMT0NLX1NJWkUg
KiA4IC0gc2l6ZW9mKHVpbnQzMl90KSAqIDggLSBzaXplb2Yodm9pZCAqKSAqIDggLSAyICogKDcg
KyAzICogOCkpIC8gKENFTExfU0laRSAqIDggKyAyKTsKKyAgY29uc3Qgc2l6ZV90IFNNQUxMX0NF
TExTX1BFUl9CTE9DSyA9IDIgKiBDRUxMU19QRVJfQkxPQ0s7CiAgIGNvbnN0IHNpemVfdCBCSVRN
QVBfU0laRSA9IChDRUxMU19QRVJfQkxPQ0sgKyA3KSAvIDg7CiAgIGNvbnN0IHNpemVfdCBCSVRN
QVBfV09SRFMgPSAoQklUTUFQX1NJWkUgKyAzKSAvIHNpemVvZih1aW50MzJfdCk7CiAgIApAQCAt
MTI2LDYgKzEyOSwxNiBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICB9IHU7CiAgIH07CiAKKyAgc3Ry
dWN0IFNtYWxsQ29sbGVjdG9yQ2VsbCB7CisgICAgdW5pb24geworICAgICAgZG91YmxlIG1lbW9y
eVtDRUxMX0FSUkFZX0xFTkdUSCAvIDJdOworICAgICAgc3RydWN0IHsKKyAgICAgICAgdm9pZCog
emVyb0lmRnJlZTsKKyAgICAgICAgcHRyZGlmZl90IG5leHQ7CisgICAgICB9IGZyZWVDZWxsOwor
ICAgIH0gdTsKKyAgfTsKKwogICBjbGFzcyBDb2xsZWN0b3JCbG9jayB7CiAgIHB1YmxpYzoKICAg
ICBDb2xsZWN0b3JDZWxsIGNlbGxzW0NFTExTX1BFUl9CTE9DS107CkBAIC0xMzUsNiArMTQ4LDE1
IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIENvbGxlY3RvckJpdG1hcCBjb2xsZWN0T25NYWluVGhy
ZWFkT25seTsKICAgfTsKIAorICBjbGFzcyBTbWFsbENlbGxDb2xsZWN0b3JCbG9jayB7CisgIHB1
YmxpYzoKKyAgICBTbWFsbENvbGxlY3RvckNlbGwgY2VsbHNbU01BTExfQ0VMTFNfUEVSX0JMT0NL
XTsKKyAgICB1aW50MzJfdCB1c2VkQ2VsbHM7CisgICAgU21hbGxDb2xsZWN0b3JDZWxsKiBmcmVl
TGlzdDsKKyAgICBDb2xsZWN0b3JCaXRtYXAgbWFya2VkOworICAgIENvbGxlY3RvckJpdG1hcCBj
b2xsZWN0T25NYWluVGhyZWFkT25seTsKKyAgfTsKKwogICBpbmxpbmUgY29uc3QgQ29sbGVjdG9y
QmxvY2sqIENvbGxlY3Rvcjo6Y2VsbEJsb2NrKGNvbnN0IEpTQ2VsbCogY2VsbCkKICAgewogICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IENvbGxlY3RvckJsb2NrKj4ocmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KGNlbGwpICYgQkxPQ0tfTUFTSyk7Cg==
</data>
<flag name="review"
          id="7200"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>