<?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>59009</bug_id>
          
          <creation_ts>2011-04-20 10:50:17 -0700</creation_ts>
          <short_desc>[Mac] Like autocorrection, other types of substitution need to respect undo.</short_desc>
          <delta_ts>2011-04-20 16:35:36 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jia Pu">jiapu.mail</reporter>
          <assigned_to name="Jia Pu">jiapu.mail</assigned_to>
          <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddavidso</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>389343</commentid>
    <comment_count>0</comment_count>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-20 10:50:17 -0700</bug_when>
    <thetext>On Mac, when text substitution is turned on, (c) will get converted to © automatically. However, if user undid such substitution, then we shouldn&apos;t convert it again. This should also apply to automatically adding link to url string. 

&lt;rdar://problem/8601537&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389348</commentid>
    <comment_count>1</comment_count>
      <attachid>90361</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-20 11:00:19 -0700</bug_when>
    <thetext>Created attachment 90361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389529</commentid>
    <comment_count>2</comment_count>
      <attachid>90361</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-04-20 14:30:24 -0700</bug_when>
    <thetext>Comment on attachment 90361
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=90361&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        Similar to autocorreciton, we use SpellingCorrectionCommand to carry out other types of text substitution, so that

Typo - &quot;autocorrection&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389543</commentid>
    <comment_count>3</comment_count>
      <attachid>90419</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-20 14:46:44 -0700</bug_when>
    <thetext>Created attachment 90419
Patch (v2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389623</commentid>
    <comment_count>4</comment_count>
      <attachid>90419</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-20 16:35:30 -0700</bug_when>
    <thetext>Comment on attachment 90419
Patch (v2)

Clearing flags on attachment: 90419

Committed r84433: &lt;http://trac.webkit.org/changeset/84433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389624</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-20 16:35:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90361</attachid>
            <date>2011-04-20 11:00:19 -0700</date>
            <delta_ts>2011-04-20 14:46:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59009-20110420110017.patch</filename>
            <type>text/plain</type>
            <size>8987</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQyOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNTQxZDAwZTlhYjBiNGNl
YzRlZDMzZGU1MjM1OTYyZDUzZTc1ODMyLi5kMGQxYmRkOTZlODEyMjg4OTc3NmExMGIyMzIxZmUz
NTBkNTc3NzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDQtMjAgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgCisgICAgICAgIFtNYWNdIExpa2UgYXV0b2NvcnJlY3Rpb24sIG90aGVyIHR5cGVzIG9m
IHN1YnN0aXR1dGlvbiBuZWVkIHRvIHJlc3BlY3QgdW5kby4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84NjAxNTM3PgorCisgICAgICAgIFNpbWlsYXIgdG8gYXV0b2NvcnJlY2l0b24sIHdlIHVzZSBT
cGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kIHRvIGNhcnJ5IG91dCBvdGhlciB0eXBlcyBvZiB0ZXh0
IHN1YnN0aXR1dGlvbiwgc28gdGhhdAorICAgICAgICBpZiB1c2VyIHVuZG9lcyB0aGUgc3Vic3Rp
dHV0aW9uLCBpdCB3aWxsIG5vdCBiZSBhcHBsaWVkIGFnYWluLiBGb3IgQ3JlYXRlTGlua0NvbW1h
bmQsICB3ZSBhZGQgbWFya2VyIHdoZW4gaXQncyB1bmRvbmUKKyAgICAgICAgc28gdGhhdCB3ZSB3
b24ndCBhdXRvbWF0aWNhbGx5IGFkZCBsaW5rIGFnYWluLgorCisgICAgICAgICogZWRpdGluZy9D
cmVhdGVMaW5rQ29tbWFuZC5oOgorICAgICAgICAoV2ViQ29yZTo6Q3JlYXRlTGlua0NvbW1hbmQ6
OmlzQ3JlYXRlTGlua0NvbW1hbmQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdENvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmQ6OmlzQ3JlYXRlTGlua0NvbW1hbmQpOgor
ICAgICAgICAqIGVkaXRpbmcvRWRpdENvbW1hbmQuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnVuYXBwbGllZEVkaXRpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdzQW5kQmFkR3JhbW1hcklu
UmFuZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVz
cG9uZFRvQXBwbGllZEVkaXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvVW5hcHBsaWVkRWRpdGluZyk6CisgICAgICAgICogZWRp
dGluZy9TcGVsbGluZ0NvcnJlY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpT
cGVsbGluZ0NvcnJlY3Rpb25Db250cm9sbGVyOjpVTkxFU1NfRU5BQkxFRCk6CisKIDIwMTEtMDQt
MTkgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9D
cmVhdGVMaW5rQ29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9DcmVhdGVMaW5rQ29t
bWFuZC5oCmluZGV4IGJhNWZlNmYzOGNkNzZjNTNmN2MzMWJjODFiNjkxMTg3ZGI5OTI1ZGMuLjA0
OWZhOGMyOTU4ZjQ4MjIxOGMzNTZiNmQ2NmU1YjIwNjc2NDJjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQ3JlYXRlTGlua0NvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NyZWF0ZUxpbmtDb21tYW5kLmgKQEAgLTM3LDYgKzM3LDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyZWF0ZUxpbmtDb21tYW5kKGRvY3VtZW50LCBs
aW5rVVJMKSk7CiAgICAgfQogCisgICAgYm9vbCBpc0NyZWF0ZUxpbmtDb21tYW5kKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQorCiBwcml2YXRlOgogICAgIENyZWF0ZUxpbmtDb21tYW5kKERvY3Vt
ZW50KiwgY29uc3QgU3RyaW5nJiBsaW5rVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRD
b21tYW5kLmNwcAppbmRleCA3YjBlYWI0OGZiNjlmYTI0ODYzZDQxNGRhZTM4Njc1YzAyNzI2ZDU4
Li45ZjhiMjI1YTU4NTJjMDIzNmJlNmExNDIyNGZmNmEzMjkzMGY0OTdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNwcApAQCAtMTk0LDYgKzE5NCwxMSBAQCBib29sIEVkaXRD
b21tYW5kOjppc1R5cGluZ0NvbW1hbmQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
Ym9vbCBFZGl0Q29tbWFuZDo6aXNDcmVhdGVMaW5rQ29tbWFuZCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIEVkaXRDb21tYW5kOjpzaG91bGRSZXRhaW5BdXRvY29ycmVj
dGlvbkluZGljYXRvcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0Q29tbWFuZC5oCmluZGV4IDhlZTM3ZmU5NmNjMjdiOWUxYTNkZjMwODk2NTFlYmEy
ZjhmYTQ0NDYuLmRjMjBlZWM3NDVlMTFkNDU2YWQ2NzcyZDhlNDIzMWE0Y2UxMTM5NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgog
ICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc0luc2VydFRleHRDb21tYW5kKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIGlzVHlwaW5nQ29tbWFuZCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBp
c0NyZWF0ZUxpbmtDb21tYW5kKCkgY29uc3Q7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHByZXNl
cnZlc1R5cGluZ1N0eWxlKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRl
eCBhMWRmNzRlY2E4MGJkYTYxYmY0NmIzN2M5OGNmMjU1OGFiNWJjOTc4Li5lYzYwNzkwNTNlMWY5
YzlmZDA3YWQzYjU4ZTAzMWExMzVkNjE5ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3Bw
CkBAIC0xMDIxLDYgKzEwMjEsNyBAQCB2b2lkIEVkaXRvcjo6dW5hcHBsaWVkRWRpdGluZyhQYXNz
UmVmUHRyPEVkaXRDb21tYW5kPiBjbWQpCiAgICAgCiAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdT
ZWxlY3Rpb24oY21kLT5zdGFydGluZ1NlbGVjdGlvbigpKTsKICAgICBjaGFuZ2VTZWxlY3Rpb25B
ZnRlckNvbW1hbmQobmV3U2VsZWN0aW9uLCB0cnVlLCB0cnVlKTsKKyAgICBtX3NwZWxsaW5nQ29y
cmVjdG9yLT5yZXNwb25kVG9VbmFwcGxpZWRFZGl0aW5nKGNtZC5nZXQoKSk7CiAgICAgCiAgICAg
bV9sYXN0RWRpdENvbW1hbmQgPSAwOwogICAgIGlmIChjbGllbnQoKSkKQEAgLTIyMzIsMTggKzIy
MzMsMTYgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5S
YW5nZXMoVGV4dENoZWNraW5nT3B0aW9ucyB0ZXh0Q2gKICAgICAgICAgICAgIGlmIChyZXN1bHQt
PnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUxpbmsgJiYgc2VsZWN0aW9uT2Zmc2V0ID4gcmVzdWx0
TG9jYXRpb24gKyByZXN1bHRMZW5ndGggKyAxKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgICAgICBTdHJpbmcgcmVwbGFjZWRTdHJpbmc7CisgICAgICAgICAgICBTdHJpbmcg
cmVwbGFjZWRTdHJpbmcgPSBwbGFpblRleHQocmFuZ2VUb1JlcGxhY2UuZ2V0KCkpOwogCiAgICAg
ICAgICAgICAvLyBEb24ndCBjb3JyZWN0IHNwZWxsaW5nIGluIGFuIGFscmVhZHktY29ycmVjdGVk
IHdvcmQuCi0gICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVD
b3JyZWN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgcmVwbGFjZWRTdHJpbmcgPSBwbGFpblRleHQo
cmFuZ2VUb1JlcGxhY2UuZ2V0KCkpOwotICAgICAgICAgICAgICAgIERvY3VtZW50TWFya2VyQ29u
dHJvbGxlciogbWFya2VycyA9IG1fZnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKTsKLSAgICAg
ICAgICAgICAgICBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwg
RG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50KSkgewotICAgICAgICAgICAgICAgICAgICBkb1Jl
cGxhY2VtZW50ID0gZmFsc2U7CisgICAgICAgICAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIq
IG1hcmtlcnMgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCk7CisgICAgICAgICAgICBp
ZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwgRG9jdW1lbnRNYXJr
ZXI6OlJlcGxhY2VtZW50KSkgeworICAgICAgICAgICAgICAgIGRvUmVwbGFjZW1lbnQgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVD
b3JyZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICBtX3NwZWxsaW5nQ29ycmVjdG9yLT5yZWNv
cmRTcGVsbGNoZWNrZXJSZXNwb25zZUZvck1vZGlmaWVkQ29ycmVjdGlvbihyYW5nZVRvUmVwbGFj
ZS5nZXQoKSwgcmVwbGFjZWRTdHJpbmcsIHJlc3VsdC0+cmVwbGFjZW1lbnQpOwotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQo
KSwgRG9jdW1lbnRNYXJrZXI6OlJlamVjdGVkQ29ycmVjdGlvbikpCi0gICAgICAgICAgICAgICAg
ICAgIGRvUmVwbGFjZW1lbnQgPSBmYWxzZTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwgRG9jdW1l
bnRNYXJrZXI6OlJlamVjdGVkQ29ycmVjdGlvbikpCisgICAgICAgICAgICAgICAgZG9SZXBsYWNl
bWVudCA9IGZhbHNlOwogCiAgICAgICAgICAgICBpZiAoIShzaG91bGRQZXJmb3JtUmVwbGFjZW1l
bnQgfHwgc2hvdWxkU2hvd0NvcnJlY3Rpb25QYW5lbCkgfHwgIWRvUmVwbGFjZW1lbnQpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CkBAIC0yMjcyLDEyICsyMjcxLDcgQEAgdm9pZCBFZGl0b3I6
Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nT3B0
aW9ucyB0ZXh0Q2gKICAgICAgICAgICAgICAgICBpZiAoY2FuRWRpdFJpY2hseSgpKQogICAgICAg
ICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoQ3JlYXRlTGlua0NvbW1hbmQ6OmNyZWF0ZShtX2Zy
YW1lLT5kb2N1bWVudCgpLCByZXN1bHQtPnJlcGxhY2VtZW50KSk7CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKGNhbkVkaXQoKSAmJiBzaG91bGRJbnNlcnRUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQs
IHJhbmdlVG9SZXBsYWNlLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb25UeXBlZCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVDb3JyZWN0aW9u
KQotICAgICAgICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoU3BlbGxpbmdDb3JyZWN0aW9uQ29t
bWFuZDo6Y3JlYXRlKHJhbmdlVG9SZXBsYWNlLCByZXN1bHQtPnJlcGxhY2VtZW50KSk7Ci0gICAg
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPnNlbGVjdGlv
bigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uVG9SZXBsYWNlKTsKLSAgICAgICAgICAgICAgICAg
ICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQsIGZhbHNlLCBm
YWxzZSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChT
cGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VUb1JlcGxhY2UsIHJlc3VsdC0+
cmVwbGFjZW1lbnQpKTsKIAogICAgICAgICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChFbGVtZW50KiBy
b290ID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnJvb3RFZGl0YWJsZUVsZW1l
bnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsaW5nQ29ycmVj
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGMzNzdmZThhNjIzODMzZWNkMTlmZjNhMWE4NTdjMzM5
YjUzZTM3YTMuLjVhM2Y1MTg1NWM5MjhkOGM3ZTliZTY5ZjU2NDM1MjlkZjUyNGFjNmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbGluZ0NvcnJlY3Rpb25Db250
cm9sbGVyLmNwcApAQCAtNDA5LDEyICs0MDksMjQgQEAgdm9pZCBTcGVsbGluZ0NvcnJlY3Rpb25D
b250cm9sbGVyOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3QK
ICAgICB9CiB9CiAKLXZvaWQgU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRv
QXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKK3ZvaWQgU3Bl
bGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvQXBwbGllZEVkaXRpbmcoRWRpdENv
bW1hbmQqIGNvbW1hbmQpCiB7CiAgICAgaWYgKGNvbW1hbmQtPmlzVG9wTGV2ZWxDb21tYW5kKCkg
JiYgIWNvbW1hbmQtPnNob3VsZFJldGFpbkF1dG9jb3JyZWN0aW9uSW5kaWNhdG9yKCkpCiAgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+cmVtb3ZlTWFya2VycyhEb2N1bWVu
dE1hcmtlcjo6Q29ycmVjdGlvbkluZGljYXRvcik7CiB9CiAKK3ZvaWQgU3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvVW5hcHBsaWVkRWRpdGluZyhFZGl0Q29tbWFuZCogY29t
bWFuZCkKK3sKKyAgICBpZiAoIWNvbW1hbmQtPmlzQ3JlYXRlTGlua0NvbW1hbmQoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKG1fZnJh
bWUtPmRvY3VtZW50KCksIGNvbW1hbmQtPnN0YXJ0aW5nU2VsZWN0aW9uKCkuc3RhcnQoKSwgY29t
bWFuZC0+c3RhcnRpbmdTZWxlY3Rpb24oKS5lbmQoKSk7CisgICAgaWYgKCFyYW5nZSkKKyAgICAg
ICAgcmV0dXJuOworICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlciogbWFya2VycyA9IG1fZnJh
bWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKTsKKyAgICBtYXJrZXJzLT5hZGRNYXJrZXIocmFuZ2Uu
Z2V0KCksIERvY3VtZW50TWFya2VyOjpSZXBsYWNlbWVudCk7CisgICAgbWFya2Vycy0+YWRkTWFy
a2VyKHJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7
Cit9CisKIEVkaXRvckNsaWVudCogU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6Y2xpZW50
KCkKIHsKICAgICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpID8gbV9mcmFtZS0+cGFnZSgpLT5lZGl0
b3JDbGllbnQoKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxs
aW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxp
bmdDb3JyZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDY5MTUxMGEzMzAzYzAyNWM5NzA0OGUwNDFi
MGQxYzJhNmEwYmQ5YWIuLjBiM2U4YjdiZDkxNDE4YTdhYzgxZmYwNWQ1MTM4Zjc1ZWE1OWY2NzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9u
Q29udHJvbGxlci5oCkBAIC05Niw3ICs5Niw4IEBAIHB1YmxpYzoKICAgICBib29sIGFwcGx5QXV0
b2NvcnJlY3Rpb25CZWZvcmVUeXBpbmdJZkFwcHJvcHJpYXRlKCkgVU5MRVNTX0VOQUJMRUQoeyBy
ZXR1cm4gZmFsc2U7IH0pCiAKICAgICB2b2lkIHJlc3BvbmRUb1VuYXBwbGllZFNwZWxsQ29ycmVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBjb3JyZWN0ZWQsIGNv
bnN0IFN0cmluZyYgY29ycmVjdGlvbikgVU5MRVNTX0VOQUJMRUQoeyBVTlVTRURfUEFSQU0oY29y
cmVjdGVkKTsgVU5VU0VEX1BBUkFNKGNvcnJlY3Rpb24pOyB9KQotICAgIHZvaWQgcmVzcG9uZFRv
QXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4pIFVOTEVTU19FTkFCTEVEKHt9
KQorICAgIHZvaWQgcmVzcG9uZFRvQXBwbGllZEVkaXRpbmcoRWRpdENvbW1hbmQqKSBVTkxFU1Nf
RU5BQkxFRCh7fSkKKyAgICB2b2lkIHJlc3BvbmRUb1VuYXBwbGllZEVkaXRpbmcoRWRpdENvbW1h
bmQqKSBVTkxFU1NfRU5BQkxFRCh7fSkKICAgICB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uKSBVTkxFU1NfRU5BQkxFRCh7
IFVOVVNFRF9QQVJBTShvbGRTZWxlY3Rpb24pOyB9KQogCiAgICAgdm9pZCBzdG9wUGVuZGluZ0Nv
cnJlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uKSBVTkxFU1NfRU5B
QkxFRCh7IFVOVVNFRF9QQVJBTShvbGRTZWxlY3Rpb24pOyB9KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90419</attachid>
            <date>2011-04-20 14:46:44 -0700</date>
            <delta_ts>2011-04-20 16:35:30 -0700</delta_ts>
            <desc>Patch (v2)</desc>
            <filename>bug-59009-20110420144642.patch</filename>
            <type>text/plain</type>
            <size>8987</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQyOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNTQxZDAwZTlhYjBiNGNl
YzRlZDMzZGU1MjM1OTYyZDUzZTc1ODMyLi4xMzU4NGQ2ODllZTIwMDQ2MWI4NjRlNWY4MGMyMjI5
MTIzNWM1NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDQtMjAgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgCisgICAgICAgIFtNYWNdIExpa2UgYXV0b2NvcnJlY3Rpb24sIG90aGVyIHR5cGVzIG9m
IHN1YnN0aXR1dGlvbiBuZWVkIHRvIHJlc3BlY3QgdW5kby4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84NjAxNTM3PgorCisgICAgICAgIFNpbWlsYXIgdG8gYXV0b2NvcnJlY3Rpb24sIHdlIHVzZSBT
cGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kIHRvIGNhcnJ5IG91dCBvdGhlciB0eXBlcyBvZiB0ZXh0
IHN1YnN0aXR1dGlvbiwgc28gdGhhdAorICAgICAgICBpZiB1c2VyIHVuZG9lcyB0aGUgc3Vic3Rp
dHV0aW9uLCBpdCB3aWxsIG5vdCBiZSBhcHBsaWVkIGFnYWluLiBGb3IgQ3JlYXRlTGlua0NvbW1h
bmQsICB3ZSBhZGQgbWFya2VyIHdoZW4gaXQncyB1bmRvbmUKKyAgICAgICAgc28gdGhhdCB3ZSB3
b24ndCBhdXRvbWF0aWNhbGx5IGFkZCBsaW5rIGFnYWluLgorCisgICAgICAgICogZWRpdGluZy9D
cmVhdGVMaW5rQ29tbWFuZC5oOgorICAgICAgICAoV2ViQ29yZTo6Q3JlYXRlTGlua0NvbW1hbmQ6
OmlzQ3JlYXRlTGlua0NvbW1hbmQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdENvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmQ6OmlzQ3JlYXRlTGlua0NvbW1hbmQpOgor
ICAgICAgICAqIGVkaXRpbmcvRWRpdENvbW1hbmQuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnVuYXBwbGllZEVkaXRpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdzQW5kQmFkR3JhbW1hcklu
UmFuZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVz
cG9uZFRvQXBwbGllZEVkaXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvVW5hcHBsaWVkRWRpdGluZyk6CisgICAgICAgICogZWRp
dGluZy9TcGVsbGluZ0NvcnJlY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpT
cGVsbGluZ0NvcnJlY3Rpb25Db250cm9sbGVyOjpVTkxFU1NfRU5BQkxFRCk6CisKIDIwMTEtMDQt
MTkgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9D
cmVhdGVMaW5rQ29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9DcmVhdGVMaW5rQ29t
bWFuZC5oCmluZGV4IGJhNWZlNmYzOGNkNzZjNTNmN2MzMWJjODFiNjkxMTg3ZGI5OTI1ZGMuLjA0
OWZhOGMyOTU4ZjQ4MjIxOGMzNTZiNmQ2NmU1YjIwNjc2NDJjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQ3JlYXRlTGlua0NvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NyZWF0ZUxpbmtDb21tYW5kLmgKQEAgLTM3LDYgKzM3LDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyZWF0ZUxpbmtDb21tYW5kKGRvY3VtZW50LCBs
aW5rVVJMKSk7CiAgICAgfQogCisgICAgYm9vbCBpc0NyZWF0ZUxpbmtDb21tYW5kKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQorCiBwcml2YXRlOgogICAgIENyZWF0ZUxpbmtDb21tYW5kKERvY3Vt
ZW50KiwgY29uc3QgU3RyaW5nJiBsaW5rVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRD
b21tYW5kLmNwcAppbmRleCA3YjBlYWI0OGZiNjlmYTI0ODYzZDQxNGRhZTM4Njc1YzAyNzI2ZDU4
Li45ZjhiMjI1YTU4NTJjMDIzNmJlNmExNDIyNGZmNmEzMjkzMGY0OTdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNwcApAQCAtMTk0LDYgKzE5NCwxMSBAQCBib29sIEVkaXRD
b21tYW5kOjppc1R5cGluZ0NvbW1hbmQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
Ym9vbCBFZGl0Q29tbWFuZDo6aXNDcmVhdGVMaW5rQ29tbWFuZCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIEVkaXRDb21tYW5kOjpzaG91bGRSZXRhaW5BdXRvY29ycmVj
dGlvbkluZGljYXRvcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0Q29tbWFuZC5oCmluZGV4IDhlZTM3ZmU5NmNjMjdiOWUxYTNkZjMwODk2NTFlYmEy
ZjhmYTQ0NDYuLmRjMjBlZWM3NDVlMTFkNDU2YWQ2NzcyZDhlNDIzMWE0Y2UxMTM5NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgog
ICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc0luc2VydFRleHRDb21tYW5kKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIGlzVHlwaW5nQ29tbWFuZCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBp
c0NyZWF0ZUxpbmtDb21tYW5kKCkgY29uc3Q7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHByZXNl
cnZlc1R5cGluZ1N0eWxlKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRl
eCBhMWRmNzRlY2E4MGJkYTYxYmY0NmIzN2M5OGNmMjU1OGFiNWJjOTc4Li5lYzYwNzkwNTNlMWY5
YzlmZDA3YWQzYjU4ZTAzMWExMzVkNjE5ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3Bw
CkBAIC0xMDIxLDYgKzEwMjEsNyBAQCB2b2lkIEVkaXRvcjo6dW5hcHBsaWVkRWRpdGluZyhQYXNz
UmVmUHRyPEVkaXRDb21tYW5kPiBjbWQpCiAgICAgCiAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdT
ZWxlY3Rpb24oY21kLT5zdGFydGluZ1NlbGVjdGlvbigpKTsKICAgICBjaGFuZ2VTZWxlY3Rpb25B
ZnRlckNvbW1hbmQobmV3U2VsZWN0aW9uLCB0cnVlLCB0cnVlKTsKKyAgICBtX3NwZWxsaW5nQ29y
cmVjdG9yLT5yZXNwb25kVG9VbmFwcGxpZWRFZGl0aW5nKGNtZC5nZXQoKSk7CiAgICAgCiAgICAg
bV9sYXN0RWRpdENvbW1hbmQgPSAwOwogICAgIGlmIChjbGllbnQoKSkKQEAgLTIyMzIsMTggKzIy
MzMsMTYgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5S
YW5nZXMoVGV4dENoZWNraW5nT3B0aW9ucyB0ZXh0Q2gKICAgICAgICAgICAgIGlmIChyZXN1bHQt
PnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUxpbmsgJiYgc2VsZWN0aW9uT2Zmc2V0ID4gcmVzdWx0
TG9jYXRpb24gKyByZXN1bHRMZW5ndGggKyAxKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgICAgICBTdHJpbmcgcmVwbGFjZWRTdHJpbmc7CisgICAgICAgICAgICBTdHJpbmcg
cmVwbGFjZWRTdHJpbmcgPSBwbGFpblRleHQocmFuZ2VUb1JlcGxhY2UuZ2V0KCkpOwogCiAgICAg
ICAgICAgICAvLyBEb24ndCBjb3JyZWN0IHNwZWxsaW5nIGluIGFuIGFscmVhZHktY29ycmVjdGVk
IHdvcmQuCi0gICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVD
b3JyZWN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgcmVwbGFjZWRTdHJpbmcgPSBwbGFpblRleHQo
cmFuZ2VUb1JlcGxhY2UuZ2V0KCkpOwotICAgICAgICAgICAgICAgIERvY3VtZW50TWFya2VyQ29u
dHJvbGxlciogbWFya2VycyA9IG1fZnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKTsKLSAgICAg
ICAgICAgICAgICBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwg
RG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50KSkgewotICAgICAgICAgICAgICAgICAgICBkb1Jl
cGxhY2VtZW50ID0gZmFsc2U7CisgICAgICAgICAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIq
IG1hcmtlcnMgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCk7CisgICAgICAgICAgICBp
ZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwgRG9jdW1lbnRNYXJr
ZXI6OlJlcGxhY2VtZW50KSkgeworICAgICAgICAgICAgICAgIGRvUmVwbGFjZW1lbnQgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVD
b3JyZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICBtX3NwZWxsaW5nQ29ycmVjdG9yLT5yZWNv
cmRTcGVsbGNoZWNrZXJSZXNwb25zZUZvck1vZGlmaWVkQ29ycmVjdGlvbihyYW5nZVRvUmVwbGFj
ZS5nZXQoKSwgcmVwbGFjZWRTdHJpbmcsIHJlc3VsdC0+cmVwbGFjZW1lbnQpOwotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQo
KSwgRG9jdW1lbnRNYXJrZXI6OlJlamVjdGVkQ29ycmVjdGlvbikpCi0gICAgICAgICAgICAgICAg
ICAgIGRvUmVwbGFjZW1lbnQgPSBmYWxzZTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAobWFya2Vycy0+aGFzTWFya2VycyhyYW5nZVRvUmVwbGFjZS5nZXQoKSwgRG9jdW1l
bnRNYXJrZXI6OlJlamVjdGVkQ29ycmVjdGlvbikpCisgICAgICAgICAgICAgICAgZG9SZXBsYWNl
bWVudCA9IGZhbHNlOwogCiAgICAgICAgICAgICBpZiAoIShzaG91bGRQZXJmb3JtUmVwbGFjZW1l
bnQgfHwgc2hvdWxkU2hvd0NvcnJlY3Rpb25QYW5lbCkgfHwgIWRvUmVwbGFjZW1lbnQpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CkBAIC0yMjcyLDEyICsyMjcxLDcgQEAgdm9pZCBFZGl0b3I6
Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRCYWRHcmFtbWFySW5SYW5nZXMoVGV4dENoZWNraW5nT3B0
aW9ucyB0ZXh0Q2gKICAgICAgICAgICAgICAgICBpZiAoY2FuRWRpdFJpY2hseSgpKQogICAgICAg
ICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoQ3JlYXRlTGlua0NvbW1hbmQ6OmNyZWF0ZShtX2Zy
YW1lLT5kb2N1bWVudCgpLCByZXN1bHQtPnJlcGxhY2VtZW50KSk7CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKGNhbkVkaXQoKSAmJiBzaG91bGRJbnNlcnRUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQs
IHJhbmdlVG9SZXBsYWNlLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb25UeXBlZCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlID09IFRleHRDaGVja2luZ1R5cGVDb3JyZWN0aW9u
KQotICAgICAgICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoU3BlbGxpbmdDb3JyZWN0aW9uQ29t
bWFuZDo6Y3JlYXRlKHJhbmdlVG9SZXBsYWNlLCByZXN1bHQtPnJlcGxhY2VtZW50KSk7Ci0gICAg
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPnNlbGVjdGlv
bigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uVG9SZXBsYWNlKTsKLSAgICAgICAgICAgICAgICAg
ICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQsIGZhbHNlLCBm
YWxzZSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChT
cGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VUb1JlcGxhY2UsIHJlc3VsdC0+
cmVwbGFjZW1lbnQpKTsKIAogICAgICAgICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChFbGVtZW50KiBy
b290ID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnJvb3RFZGl0YWJsZUVsZW1l
bnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsaW5nQ29ycmVj
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGMzNzdmZThhNjIzODMzZWNkMTlmZjNhMWE4NTdjMzM5
YjUzZTM3YTMuLjVhM2Y1MTg1NWM5MjhkOGM3ZTliZTY5ZjU2NDM1MjlkZjUyNGFjNmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbGluZ0NvcnJlY3Rpb25Db250
cm9sbGVyLmNwcApAQCAtNDA5LDEyICs0MDksMjQgQEAgdm9pZCBTcGVsbGluZ0NvcnJlY3Rpb25D
b250cm9sbGVyOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3QK
ICAgICB9CiB9CiAKLXZvaWQgU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRv
QXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKK3ZvaWQgU3Bl
bGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvQXBwbGllZEVkaXRpbmcoRWRpdENv
bW1hbmQqIGNvbW1hbmQpCiB7CiAgICAgaWYgKGNvbW1hbmQtPmlzVG9wTGV2ZWxDb21tYW5kKCkg
JiYgIWNvbW1hbmQtPnNob3VsZFJldGFpbkF1dG9jb3JyZWN0aW9uSW5kaWNhdG9yKCkpCiAgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+cmVtb3ZlTWFya2VycyhEb2N1bWVu
dE1hcmtlcjo6Q29ycmVjdGlvbkluZGljYXRvcik7CiB9CiAKK3ZvaWQgU3BlbGxpbmdDb3JyZWN0
aW9uQ29udHJvbGxlcjo6cmVzcG9uZFRvVW5hcHBsaWVkRWRpdGluZyhFZGl0Q29tbWFuZCogY29t
bWFuZCkKK3sKKyAgICBpZiAoIWNvbW1hbmQtPmlzQ3JlYXRlTGlua0NvbW1hbmQoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKG1fZnJh
bWUtPmRvY3VtZW50KCksIGNvbW1hbmQtPnN0YXJ0aW5nU2VsZWN0aW9uKCkuc3RhcnQoKSwgY29t
bWFuZC0+c3RhcnRpbmdTZWxlY3Rpb24oKS5lbmQoKSk7CisgICAgaWYgKCFyYW5nZSkKKyAgICAg
ICAgcmV0dXJuOworICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlciogbWFya2VycyA9IG1fZnJh
bWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKTsKKyAgICBtYXJrZXJzLT5hZGRNYXJrZXIocmFuZ2Uu
Z2V0KCksIERvY3VtZW50TWFya2VyOjpSZXBsYWNlbWVudCk7CisgICAgbWFya2Vycy0+YWRkTWFy
a2VyKHJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7
Cit9CisKIEVkaXRvckNsaWVudCogU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlcjo6Y2xpZW50
KCkKIHsKICAgICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpID8gbV9mcmFtZS0+cGFnZSgpLT5lZGl0
b3JDbGllbnQoKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxs
aW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxp
bmdDb3JyZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDY5MTUxMGEzMzAzYzAyNWM5NzA0OGUwNDFi
MGQxYzJhNmEwYmQ5YWIuLjBiM2U4YjdiZDkxNDE4YTdhYzgxZmYwNWQ1MTM4Zjc1ZWE1OWY2NzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9u
Q29udHJvbGxlci5oCkBAIC05Niw3ICs5Niw4IEBAIHB1YmxpYzoKICAgICBib29sIGFwcGx5QXV0
b2NvcnJlY3Rpb25CZWZvcmVUeXBpbmdJZkFwcHJvcHJpYXRlKCkgVU5MRVNTX0VOQUJMRUQoeyBy
ZXR1cm4gZmFsc2U7IH0pCiAKICAgICB2b2lkIHJlc3BvbmRUb1VuYXBwbGllZFNwZWxsQ29ycmVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBjb3JyZWN0ZWQsIGNv
bnN0IFN0cmluZyYgY29ycmVjdGlvbikgVU5MRVNTX0VOQUJMRUQoeyBVTlVTRURfUEFSQU0oY29y
cmVjdGVkKTsgVU5VU0VEX1BBUkFNKGNvcnJlY3Rpb24pOyB9KQotICAgIHZvaWQgcmVzcG9uZFRv
QXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4pIFVOTEVTU19FTkFCTEVEKHt9
KQorICAgIHZvaWQgcmVzcG9uZFRvQXBwbGllZEVkaXRpbmcoRWRpdENvbW1hbmQqKSBVTkxFU1Nf
RU5BQkxFRCh7fSkKKyAgICB2b2lkIHJlc3BvbmRUb1VuYXBwbGllZEVkaXRpbmcoRWRpdENvbW1h
bmQqKSBVTkxFU1NfRU5BQkxFRCh7fSkKICAgICB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uKSBVTkxFU1NfRU5BQkxFRCh7
IFVOVVNFRF9QQVJBTShvbGRTZWxlY3Rpb24pOyB9KQogCiAgICAgdm9pZCBzdG9wUGVuZGluZ0Nv
cnJlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uKSBVTkxFU1NfRU5B
QkxFRCh7IFVOVVNFRF9QQVJBTShvbGRTZWxlY3Rpb24pOyB9KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>