<?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>15906</bug_id>
          
          <creation_ts>2007-11-08 14:47:12 -0800</creation_ts>
          <short_desc>getting characters by indexing into a string is very slow</short_desc>
          <delta_ts>2007-11-09 00:57:07 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</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>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60682</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-08 14:47:12 -0800</bug_when>
    <thetext>I have a number of fixes that will speed up SunSpider a lot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60706</commentid>
    <comment_count>1</comment_count>
      <attachid>17134</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-08 17:05:39 -0800</bug_when>
    <thetext>Created attachment 17134
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60723</commentid>
    <comment_count>2</comment_count>
      <attachid>17134</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-11-08 19:11:41 -0800</bug_when>
    <thetext>Comment on attachment 17134
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60729</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-08 21:53:33 -0800</bug_when>
    <thetext>Committed revision 27633.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60741</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-11-09 00:57:07 -0800</bug_when>
    <thetext>Very nice.  I wonder where else this could be deployed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17134</attachid>
            <date>2007-11-08 17:05:39 -0800</date>
            <delta_ts>2007-11-08 19:11:41 -0800</delta_ts>
            <desc>patch</desc>
            <filename>StringIndexPatch.txt</filename>
            <type>text/plain</type>
            <size>8527</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NjIyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMDctMTEtMDggIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU5MDYKKyAgICAgICAgICBnZXR0aW5nIGNoYXJhY3RlcnMgYnkgaW5kZXhpbmcgaW50byBhIHN0
cmluZyBpcyB2ZXJ5IHNsb3cKKworICAgICAgICBUaGlzIGZpeGVzIG9uZSBzb3VyY2Ugb2YgdGhl
IHNsb3duZXNzIC0tIHRoZSBjb252ZXJzaW9uIHRvIGFuIHVudXNlZAorICAgICAgICBJZGVudGlm
aWVyIGFzIHdlIGNhbGwgdGhlIGdldCBmdW5jdGlvbiBmcm9tIHRoZSBzbG90IC0tIGJ1dCBkb2Vz
bid0CisgICAgICAgIGZpeCBvdGhlcnMsIHN1Y2ggYXMgdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIHRv
IGFsbG9jYXRlIGEgbmV3IFVTdHJpbmc6OlJlcAorICAgICAgICBmb3IgZXZlcnkgc2luZ2xlIGNo
YXJhY3Rlci4KKworICAgICAgICBTcGVlZHMgdXAgc3RyaW5nLWJhc2U2NCAzMCUsIGFuZCBhdCBs
ZWFzdCAwLjUlIG92ZXJhbGwuCisgICAgICAgIEJ1dCBkb2VzIHNsb3cgZG93biBhY2Nlc3MtZmFu
bmt1Y2ggcXVpdGUgYSBiaXQuIE1pZ2h0IGJlIHdvcnRoCisgICAgICAgIHJldmlzaXRpbmcgaW4g
dGhlIGZ1dHVyZSB0byBzZWUgd2hhdCB3ZSBjYW4gZG8gYWJvdXQgdGhhdCAoYWx0aG91Z2gKKyAg
ICAgICAgSSBkaWQgbG9vayBhdCBhIHByb2ZpbGUgZm9yIGEgd2hpbGUpLgorCisgICAgICAgICog
a2pzL3Byb3BlcnR5X3Nsb3QuaDogQWRkIGEgbmV3IG1hcmtlciBmb3IgIm51bWVyaWMiIHByb3Bl
cnR5IHNsb3RzOworICAgICAgICBzbG90cyB3aGVyZSB3ZSBkb24ndCBuZWVkIHRvIHBhc3MgdGhl
IGlkZW50aWZpZXIgdG8gdGhlIGdldCBmdW5jdGlvbi4KKyAgICAgICAgKEtKUzo6UHJvcGVydHlT
bG90OjpnZXRWYWx1ZSk6IEFkZGVkIGNvZGUgdG8gY2FsbCB0aGUgbnVtZXJpYyBnZXQgZnVuY3Rp
b24uCisgICAgICAgIChLSlM6OlByb3BlcnR5U2xvdDo6c2V0Q3VzdG9tTnVtZXJpYyk6IEFkZGVk
LgorICAgICAgICAqIGtqcy9zdHJpbmdfb2JqZWN0LmNwcDoKKyAgICAgICAgKEtKUzo6U3RyaW5n
SW5zdGFuY2U6OmluZGV4R2V0dGVyKTogQ2hhbmdlZCB0byB1c2Ugc3Vic3RyKCkgaW5zdGVhZAor
ICAgICAgICBvZiBjb25zdHJ1Y3RpbmcgYSB3aG9sbHkgbmV3IFVTdHJpbmcgZWFjaCB0aW1lLgor
ICAgICAgICAoS0pTOjpzdHJpbmdJbnN0YW5jZU51bWVyaWNQcm9wZXJ0eUdldHRlcik6IEFkZGVk
LiBMaWtlIGluZGV4R2V0dGVyLCBidXQKKyAgICAgICAgdGFrZXMgYWR2YW50YWdlIG9mIHNldEN1
c3RvbU51bWVyaWMgdG8gYXZvaWQgY3JlYXRpbmcgYW4gSWRlbnRpZmllci4KKyAgICAgICAgKEtK
Uzo6U3RyaW5nSW5zdGFuY2U6OmdldE93blByb3BlcnR5U2xvdCk6IENoYW5nZWQgdG8gdXNlIHNl
dEN1c3RvbU51bWVyaWMuCisKIDIwMDctMTEtMDggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGRhcmluLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
a2pzL3Byb3BlcnR5X3Nsb3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvcHJv
cGVydHlfc2xvdC5oCShyZXZpc2lvbiAyNzYyMikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9wcm9w
ZXJ0eV9zbG90LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw2IEBACiAvLyAtKi0gYy1iYXNp
Yy1vZmZzZXQ6IDQgLSotCiAvKgotICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgbGli
cmFyaWVzCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiAg
Q29weXJpZ2h0IChDKSAyMDA1LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zNCw1NyArMzMsNzAgQEAgY2xhc3MgSlNPYmplY3Q7
CiAKIHN0cnVjdCBIYXNoRW50cnk7CiAKLSNkZWZpbmUgVkFMVUVfU0xPVF9NQVJLRVIgKChHZXRW
YWx1ZUZ1bmMpMSkKLWNsYXNzIFByb3BlcnR5U2xvdAoteworI2RlZmluZSBLSlNfVkFMVUVfU0xP
VF9NQVJLRVIgMAorI2RlZmluZSBLSlNfTlVNRVJJQ19QUk9QRVJUWV9OQU1FX1NMT1RfTUFSS0VS
IHJlaW50ZXJwcmV0X2Nhc3Q8R2V0VmFsdWVGdW5jPigxKQorCitjbGFzcyBQcm9wZXJ0eVNsb3Qg
ewogcHVibGljOgotICAgIHR5cGVkZWYgSlNWYWx1ZSAqKCpHZXRWYWx1ZUZ1bmMpKEV4ZWNTdGF0
ZSAqLCBKU09iamVjdCAqb3JpZ2luYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQ
cm9wZXJ0eVNsb3QmKTsKKyAgICB0eXBlZGVmIEpTVmFsdWUqICgqR2V0VmFsdWVGdW5jKShFeGVj
U3RhdGUqLCBKU09iamVjdCogb3JpZ2luYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImLCBjb25z
dCBQcm9wZXJ0eVNsb3QmKTsKKyAgICB0eXBlZGVmIEpTVmFsdWUqICgqR2V0VmFsdWVOdW1lcmlj
RnVuYykoRXhlY1N0YXRlKiwgSlNPYmplY3QqIG9yaWdpbmFsT2JqZWN0LCB1bnNpZ25lZCBpbmRl
eCwgY29uc3QgUHJvcGVydHlTbG90Jik7CiAKLSAgICBKU1ZhbHVlICpnZXRWYWx1ZShFeGVjU3Rh
dGUgKmV4ZWMsIEpTT2JqZWN0ICpvcmlnaW5hbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKSBjb25zdAorICAgIEpTVmFsdWUqIGdldFZhbHVlKEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIG9yaWdpbmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
IGNvbnN0CiAgICAgeyAKLSAgICAgICAgaWYgKG1fZ2V0VmFsdWUgPT0gVkFMVUVfU0xPVF9NQVJL
RVIpCisgICAgICAgIGlmIChtX2dldFZhbHVlID09IEtKU19WQUxVRV9TTE9UX01BUktFUikKICAg
ICAgICAgICAgIHJldHVybiAqbV9kYXRhLnZhbHVlU2xvdDsKKyAgICAgICAgQVNTRVJUKG1fZ2V0
VmFsdWUgIT0gS0pTX05VTUVSSUNfUFJPUEVSVFlfTkFNRV9TTE9UX01BUktFUik7CiAgICAgICAg
IHJldHVybiBtX2dldFZhbHVlKGV4ZWMsIG9yaWdpbmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsICp0
aGlzKTsgCiAgICAgfQogCi0gICAgSlNWYWx1ZSAqZ2V0VmFsdWUoRXhlY1N0YXRlICpleGVjLCBK
U09iamVjdCAqb3JpZ2luYWxPYmplY3QsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29uc3QKKyAg
ICBKU1ZhbHVlKiBnZXRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvcmlnaW5hbE9i
amVjdCwgdW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHsgCi0gICAgICAgIGlmICht
X2dldFZhbHVlID09IFZBTFVFX1NMT1RfTUFSS0VSKQorICAgICAgICBpZiAobV9nZXRWYWx1ZSA9
PSBLSlNfVkFMVUVfU0xPVF9NQVJLRVIpCiAgICAgICAgICAgICByZXR1cm4gKm1fZGF0YS52YWx1
ZVNsb3Q7CisgICAgICAgIGlmIChtX2dldFZhbHVlID09IEtKU19OVU1FUklDX1BST1BFUlRZX05B
TUVfU0xPVF9NQVJLRVIpCisgICAgICAgICAgICByZXR1cm4gbV9kYXRhLm51bWVyaWNGdW5jKGV4
ZWMsIG9yaWdpbmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsICp0aGlzKTsKICAgICAgICAgcmV0dXJu
IG1fZ2V0VmFsdWUoZXhlYywgb3JpZ2luYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb20ocHJvcGVy
dHlOYW1lKSwgKnRoaXMpOyAKICAgICB9CiAgICAgCi0gICAgdm9pZCBzZXRWYWx1ZVNsb3QoSlNP
YmplY3QgKnNsb3RCYXNlLCBKU1ZhbHVlICoqdmFsdWVTbG90KSAKKyAgICB2b2lkIHNldFZhbHVl
U2xvdChKU09iamVjdCogc2xvdEJhc2UsIEpTVmFsdWUqKiB2YWx1ZVNsb3QpIAogICAgIHsKKyAg
ICAgICAgbV9nZXRWYWx1ZSA9IEtKU19WQUxVRV9TTE9UX01BUktFUjsKICAgICAgICAgbV9zbG90
QmFzZSA9IHNsb3RCYXNlOwogICAgICAgICBtX2RhdGEudmFsdWVTbG90ID0gdmFsdWVTbG90Owot
ICAgICAgICBtX2dldFZhbHVlID0gVkFMVUVfU0xPVF9NQVJLRVI7CiAgICAgfQogCi0gICAgdm9p
ZCBzZXRTdGF0aWNFbnRyeShKU09iamVjdCAqc2xvdEJhc2UsIGNvbnN0IEhhc2hFbnRyeSAqc3Rh
dGljRW50cnksIEdldFZhbHVlRnVuYyBnZXRWYWx1ZSkKKyAgICB2b2lkIHNldFN0YXRpY0VudHJ5
KEpTT2JqZWN0KiBzbG90QmFzZSwgY29uc3QgSGFzaEVudHJ5KiBzdGF0aWNFbnRyeSwgR2V0VmFs
dWVGdW5jIGdldFZhbHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGdldFZhbHVlKTsKKyAgICAg
ICAgbV9nZXRWYWx1ZSA9IGdldFZhbHVlOwogICAgICAgICBtX3Nsb3RCYXNlID0gc2xvdEJhc2U7
CiAgICAgICAgIG1fZGF0YS5zdGF0aWNFbnRyeSA9IHN0YXRpY0VudHJ5OwotICAgICAgICBtX2dl
dFZhbHVlID0gZ2V0VmFsdWU7CiAgICAgfQogCi0gICAgdm9pZCBzZXRDdXN0b20oSlNPYmplY3Qg
KnNsb3RCYXNlLCBHZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUpCisgICAgdm9pZCBzZXRDdXN0b20oSlNP
YmplY3QqIHNsb3RCYXNlLCBHZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUpCiAgICAgewogICAgICAgICBB
U1NFUlQoZ2V0VmFsdWUpOwotICAgICAgICBtX3Nsb3RCYXNlID0gc2xvdEJhc2U7CiAgICAgICAg
IG1fZ2V0VmFsdWUgPSBnZXRWYWx1ZTsKKyAgICAgICAgbV9zbG90QmFzZSA9IHNsb3RCYXNlOwog
ICAgIH0KIAotICAgIHZvaWQgc2V0Q3VzdG9tSW5kZXgoSlNPYmplY3QgKnNsb3RCYXNlLCB1bnNp
Z25lZCBpbmRleCwgR2V0VmFsdWVGdW5jIGdldFZhbHVlKQorICAgIHZvaWQgc2V0Q3VzdG9tSW5k
ZXgoSlNPYmplY3QqIHNsb3RCYXNlLCB1bnNpZ25lZCBpbmRleCwgR2V0VmFsdWVGdW5jIGdldFZh
bHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGdldFZhbHVlKTsKKyAgICAgICAgbV9nZXRWYWx1
ZSA9IGdldFZhbHVlOwogICAgICAgICBtX3Nsb3RCYXNlID0gc2xvdEJhc2U7CiAgICAgICAgIG1f
ZGF0YS5pbmRleCA9IGluZGV4OwotICAgICAgICBtX2dldFZhbHVlID0gZ2V0VmFsdWU7CiAgICAg
fQogICAgIAotICAgIHZvaWQgc2V0R2V0dGVyU2xvdChKU09iamVjdCAqc2xvdEJhc2UsIEpTT2Jq
ZWN0ICpnZXR0ZXJGdW5jKQorICAgIHZvaWQgc2V0Q3VzdG9tTnVtZXJpYyhKU09iamVjdCogc2xv
dEJhc2UsIEdldFZhbHVlTnVtZXJpY0Z1bmMgZ2V0VmFsdWUpCisgICAgeworICAgICAgICBBU1NF
UlQoZ2V0VmFsdWUpOworICAgICAgICBtX3Nsb3RCYXNlID0gc2xvdEJhc2U7CisgICAgICAgIG1f
Z2V0VmFsdWUgPSBLSlNfTlVNRVJJQ19QUk9QRVJUWV9OQU1FX1NMT1RfTUFSS0VSOworICAgICAg
ICBtX2RhdGEubnVtZXJpY0Z1bmMgPSBnZXRWYWx1ZTsKKyAgICB9CisgICAgCisgICAgdm9pZCBz
ZXRHZXR0ZXJTbG90KEpTT2JqZWN0KiBzbG90QmFzZSwgSlNPYmplY3QqIGdldHRlckZ1bmMpCiAg
ICAgewogICAgICAgICBtX2dldFZhbHVlID0gZnVuY3Rpb25HZXR0ZXI7CiAgICAgICAgIG1fc2xv
dEJhc2UgPSBzbG90QmFzZTsKQEAgLTk3LDIzICsxMDksMjQgQEAgcHVibGljOgogICAgICAgICBt
X2dldFZhbHVlID0gdW5kZWZpbmVkR2V0dGVyOwogICAgIH0KIAotICAgIEpTT2JqZWN0ICpzbG90
QmFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2xvdEJhc2U7IH0KKyAgICBKU09iamVjdCogc2xvdEJh
c2UoKSBjb25zdCB7IHJldHVybiBtX3Nsb3RCYXNlOyB9CiAKLSAgICBjb25zdCBIYXNoRW50cnkg
KnN0YXRpY0VudHJ5KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnN0YXRpY0VudHJ5OyB9CisgICAg
Y29uc3QgSGFzaEVudHJ5KiBzdGF0aWNFbnRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5zdGF0
aWNFbnRyeTsgfQogICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmlu
ZGV4OyB9CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIEpTVmFsdWUgKnVuZGVmaW5lZEdldHRlcihF
eGVjU3RhdGUgKiwgSlNPYmplY3QgKiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5
U2xvdCYpOwotICAgIHN0YXRpYyBKU1ZhbHVlICpmdW5jdGlvbkdldHRlcihFeGVjU3RhdGUgKiwg
SlNPYmplY3QgKiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYpOworICAg
IHN0YXRpYyBKU1ZhbHVlKiB1bmRlZmluZWRHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBj
b25zdCBJZGVudGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90Jik7CisgICAgc3RhdGljIEpTVmFs
dWUqIGZ1bmN0aW9uR2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgY29uc3QgSWRlbnRpZmll
ciYsIGNvbnN0IFByb3BlcnR5U2xvdCYpOwogICAgIAogICAgIEdldFZhbHVlRnVuYyBtX2dldFZh
bHVlOwogCi0gICAgSlNPYmplY3QgKm1fc2xvdEJhc2U7CisgICAgSlNPYmplY3QqIG1fc2xvdEJh
c2U7CiAgICAgdW5pb24gewotICAgICAgICBKU09iamVjdCAqZ2V0dGVyRnVuYzsKLSAgICAgICAg
SlNWYWx1ZSAqKnZhbHVlU2xvdDsKLSAgICAgICAgY29uc3QgSGFzaEVudHJ5ICpzdGF0aWNFbnRy
eTsKKyAgICAgICAgSlNPYmplY3QqIGdldHRlckZ1bmM7CisgICAgICAgIEpTVmFsdWUqKiB2YWx1
ZVNsb3Q7CisgICAgICAgIGNvbnN0IEhhc2hFbnRyeSogc3RhdGljRW50cnk7CiAgICAgICAgIHVu
c2lnbmVkIGluZGV4OworICAgICAgICBHZXRWYWx1ZU51bWVyaWNGdW5jIG51bWVyaWNGdW5jOwog
ICAgIH0gbV9kYXRhOwogfTsKIApJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL3N0cmluZ19vYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9zdHJpbmdfb2JqZWN0LmNw
cAkocmV2aXNpb24gMjc2MjIpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvc3RyaW5nX29iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDEwICs2OCwxNCBAQCBKU1ZhbHVlICpTdHJpbmdJbnN0
YW5jZTo6bGVuZ3RoR2V0dGVyKEV4CiAgICAgcmV0dXJuIGpzTnVtYmVyKHN0YXRpY19jYXN0PFN0
cmluZ0luc3RhbmNlKj4oc2xvdC5zbG90QmFzZSgpKS0+aW50ZXJuYWxWYWx1ZSgpLT52YWx1ZSgp
LnNpemUoKSk7CiB9CiAKLUpTVmFsdWUgKlN0cmluZ0luc3RhbmNlOjppbmRleEdldHRlcihFeGVj
U3RhdGUqLCBKU09iamVjdCosIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3Qg
JnNsb3QpCitKU1ZhbHVlKiBTdHJpbmdJbnN0YW5jZTo6aW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiwg
SlNPYmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90KQog
ewotICAgIGNvbnN0IFVDaGFyIGMgPSBzdGF0aWNfY2FzdDxTdHJpbmdJbnN0YW5jZSo+KHNsb3Qu
c2xvdEJhc2UoKSktPmludGVybmFsVmFsdWUoKS0+dmFsdWUoKVtzbG90LmluZGV4KCldOwotICAg
IHJldHVybiBqc1N0cmluZyhVU3RyaW5nKCZjLCAxKSk7CisgICAgcmV0dXJuIGpzU3RyaW5nKHN0
YXRpY19jYXN0PFN0cmluZ0luc3RhbmNlKj4oc2xvdC5zbG90QmFzZSgpKS0+aW50ZXJuYWxWYWx1
ZSgpLT52YWx1ZSgpLnN1YnN0cihzbG90LmluZGV4KCksIDEpKTsKK30KKworc3RhdGljIEpTVmFs
dWUqIHN0cmluZ0luc3RhbmNlTnVtZXJpY1Byb3BlcnR5R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2Jq
ZWN0KiwgdW5zaWduZWQgaW5kZXgsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBy
ZXR1cm4ganNTdHJpbmcoc3RhdGljX2Nhc3Q8U3RyaW5nSW5zdGFuY2UqPihzbG90LnNsb3RCYXNl
KCkpLT5pbnRlcm5hbFZhbHVlKCktPnZhbHVlKCkuc3Vic3RyKGluZGV4LCAxKSk7CiB9CiAKIGJv
b2wgU3RyaW5nSW5zdGFuY2U6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpAQCAtOTYs
NyArMTAwLDcgQEAgYm9vbCBTdHJpbmdJbnN0YW5jZTo6Z2V0T3duUHJvcGVydHlTbG90KAogewog
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IGludGVybmFsVmFsdWUoKS0+dmFsdWUoKS5zaXplKCk7CiAg
ICAgaWYgKHByb3BlcnR5TmFtZSA8IGxlbmd0aCkgewotICAgICAgICBzbG90LnNldEN1c3RvbUlu
ZGV4KHRoaXMsIHByb3BlcnR5TmFtZSwgaW5kZXhHZXR0ZXIpOworICAgICAgICBzbG90LnNldEN1
c3RvbU51bWVyaWModGhpcywgc3RyaW5nSW5zdGFuY2VOdW1lcmljUHJvcGVydHlHZXR0ZXIpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCg==
</data>
<flag name="review"
          id="7290"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>