<?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>113823</bug_id>
          
          <creation_ts>2013-04-02 13:46:20 -0700</creation_ts>
          <short_desc>Generalize prior line break context state and names.</short_desc>
          <delta_ts>2013-04-02 16:27:00 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>105692</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Glenn Adams">glenn</reporter>
          <assigned_to name="Glenn Adams">glenn</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kojii</cc>
    
    <cc>leviw</cc>
    
    <cc>mitz</cc>
    
    <cc>msaboff</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>868219</commentid>
    <comment_count>0</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-04-02 13:46:20 -0700</bug_when>
    <thetext>In order to better accommodate an expectation of more general state for prior line break context text and to facilitate use of prior context in non-ASCII line break path, change to a fixed UChar array for storage of prior context and change accessors/methods to use better names.

This change is to simplify (reduce the size of) the patch proposed for bug 105692 in order to ease the review and landing process.

No behavioral change is introduced, so no new tests are required.

Note that it is expected that this prior context state may be further generalized in the future in order to accommodate greater than the last two context characters. This is expected to be required to support Thai (and similar) dictionary based line breaking, where the prior context may consist of an entire word.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868251</commentid>
    <comment_count>1</comment_count>
      <attachid>196227</attachid>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-04-02 14:33:54 -0700</bug_when>
    <thetext>Created attachment 196227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868331</commentid>
    <comment_count>2</comment_count>
      <attachid>196227</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 16:26:57 -0700</bug_when>
    <thetext>Comment on attachment 196227
Patch

Clearing flags on attachment: 196227

Committed r147506: &lt;http://trac.webkit.org/changeset/147506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868332</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 16:27:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196227</attachid>
            <date>2013-04-02 14:33:54 -0700</date>
            <delta_ts>2013-04-02 16:26:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113823-20130402153345.patch</filename>
            <type>text/plain</type>
            <size>13079</size>
            <attacher name="Glenn Adams">glenn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE5MTFjZjYxNjVhNjA4
YzdiNzY2ZGVkNWQyZDA2YTJhOTNjNmQ3Mi4uZTE1MDM4YjliZDY2Y2UzZDI5YTY1NGFhZDJmNjlh
YTk0OWY0NmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA0LTAyICBHbGVu
biBBZGFtcyAgPGdsZW5uQHNreW5hdi5jb20+CisKKyAgICAgICAgR2VuZXJhbGl6ZSBwcmlvciBs
aW5lIGJyZWFrIGNvbnRleHQgc3RhdGUgYW5kIG5hbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzODIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkIGR1ZSB0byBu
byBiZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEJyZWFr
SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxhenlMaW5lQnJlYWtJdGVyYXRvcjo6TGF6
eUxpbmVCcmVha0l0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkxhenlMaW5lQnJlYWtJdGVy
YXRvcjo6bGFzdENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXp5TGluZUJyZWFrSXRl
cmF0b3I6OnNlY29uZFRvTGFzdENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXp5TGlu
ZUJyZWFrSXRlcmF0b3I6OnNldFByaW9yQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXp5
TGluZUJyZWFrSXRlcmF0b3I6OnVwZGF0ZVByaW9yQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXp5TGluZUJyZWFrSXRlcmF0b3I6OnJlc2V0UHJpb3JDb250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxhenlMaW5lQnJlYWtJdGVyYXRvcjo6cmVzZXRTdHJpbmdBbmRSZWxlYXNlSXRlcmF0
b3IpOgorICAgICAgICBTdG9yZSBwcmV2aW91cyBjaGFyYWN0ZXJzIGFzIHByaW9yIGNvbnRleHQg
YnVmZmVyIHVzZWQgZGlyZWN0bHkKKyAgICAgICAgYnkgbGluZSBicmVhayBpdGVyYXRvciBpbXBs
ZW1lbnRhdGlvbi4gUmVuYW1lIG1lbWJlcnMgdG8gcmVmbGVjdAorICAgICAgICBzb21ld2hhdCBt
b3JlIGdlbmVyYWwgdXNhZ2UuIEFsc28gZml4IGJhZCBpbmRlbnRhdGlvbnMuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpuZXh0U2VnbWVudEJyZWFrKToKKyAgICAgICAg
VXNlIHJlbmFtZWQgbGluZSBicmVhayBpdGVyYXRvciBtZXRob2RzLgorCiAyMDEzLTA0LTAyICBB
bmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBNYWtlIFNvdXJjZSBGcmFtZSAmIHN0YXR1cyBiYXIgYSBsYXlvdXQgYm91bmRh
cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRlcmF0b3Iu
aAppbmRleCAyNGQwNjI0OTdlMWM2NzE4Y2VhMGFlYzFlNWU4MzFjN2RjZDBjZWU0Li5hMGNmYWZi
OGJkZGM0MTMyNThkMjk3NWNjNWUzMzhmODcwMzhjYjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRCcmVha0l0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9UZXh0QnJlYWtJdGVyYXRvci5oCkBAIC0yNyw1MCArMjcsNDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgVGV4dEJyZWFrSXRlcmF0b3I7Ci0K
LSAgICAvLyBOb3RlOiBUaGUgcmV0dXJuZWQgaXRlcmF0b3IgaXMgZ29vZCBvbmx5IHVudGlsIHlv
dSBnZXQgYW5vdGhlciBpdGVyYXRvciwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGFjcXVpcmVMaW5l
QnJlYWtJdGVyYXRvci4KLQotICAgIC8vIFRoaXMgaXMgc2ltaWxhciB0byBjaGFyYWN0ZXIgYnJl
YWsgaXRlcmF0b3IgaW4gbW9zdCBjYXNlcywgYnV0IGlzIHN1YmplY3QgdG8KLSAgICAvLyBwbGF0
Zm9ybSBVSSBjb252ZW50aW9ucy4gT25lIG5vdGFibGUgZXhhbXBsZSB3aGVyZSB0aGlzIGNhbiBi
ZSBkaWZmZXJlbnQKLSAgICAvLyBmcm9tIGNoYXJhY3RlciBicmVhayBpdGVyYXRvciBpcyBUaGFp
IHByZXBlbmQgY2hhcmFjdGVycywgc2VlIGJ1ZyAyNDM0Mi4KLSAgICAvLyBVc2UgdGhpcyBmb3Ig
aW5zZXJ0aW9uIHBvaW50IGFuZCBzZWxlY3Rpb24gbWFuaXB1bGF0aW9ucy4KLSAgICBUZXh0QnJl
YWtJdGVyYXRvciogY3Vyc29yTW92ZW1lbnRJdGVyYXRvcihjb25zdCBVQ2hhciosIGludCBsZW5n
dGgpOwotCi0gICAgVGV4dEJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJhdG9yKGNvbnN0IFVD
aGFyKiwgaW50IGxlbmd0aCk7Ci0gICAgVGV4dEJyZWFrSXRlcmF0b3IqIGFjcXVpcmVMaW5lQnJl
YWtJdGVyYXRvcihjb25zdCBMQ2hhciosIGludCBsZW5ndGgsIGNvbnN0IEF0b21pY1N0cmluZyYg
bG9jYWxlKTsKLSAgICBUZXh0QnJlYWtJdGVyYXRvciogYWNxdWlyZUxpbmVCcmVha0l0ZXJhdG9y
KGNvbnN0IFVDaGFyKiwgaW50IGxlbmd0aCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUpOwot
ICAgIHZvaWQgcmVsZWFzZUxpbmVCcmVha0l0ZXJhdG9yKFRleHRCcmVha0l0ZXJhdG9yKik7Ci0g
ICAgVGV4dEJyZWFrSXRlcmF0b3IqIHNlbnRlbmNlQnJlYWtJdGVyYXRvcihjb25zdCBVQ2hhcios
IGludCBsZW5ndGgpOwotCi0gICAgaW50IHRleHRCcmVha0ZpcnN0KFRleHRCcmVha0l0ZXJhdG9y
Kik7Ci0gICAgaW50IHRleHRCcmVha0xhc3QoVGV4dEJyZWFrSXRlcmF0b3IqKTsKLSAgICBpbnQg
dGV4dEJyZWFrTmV4dChUZXh0QnJlYWtJdGVyYXRvciopOwotICAgIGludCB0ZXh0QnJlYWtQcmV2
aW91cyhUZXh0QnJlYWtJdGVyYXRvciopOwotICAgIGludCB0ZXh0QnJlYWtDdXJyZW50KFRleHRC
cmVha0l0ZXJhdG9yKik7Ci0gICAgaW50IHRleHRCcmVha1ByZWNlZGluZyhUZXh0QnJlYWtJdGVy
YXRvciosIGludCk7Ci0gICAgaW50IHRleHRCcmVha0ZvbGxvd2luZyhUZXh0QnJlYWtJdGVyYXRv
ciosIGludCk7Ci0gICAgYm9vbCBpc1RleHRCcmVhayhUZXh0QnJlYWtJdGVyYXRvciosIGludCk7
Ci0gICAgYm9vbCBpc1dvcmRUZXh0QnJlYWsoVGV4dEJyZWFrSXRlcmF0b3IqKTsKLQotICAgIGNv
bnN0IGludCBUZXh0QnJlYWtEb25lID0gLTE7CitjbGFzcyBUZXh0QnJlYWtJdGVyYXRvcjsKKwor
Ly8gTm90ZTogVGhlIHJldHVybmVkIGl0ZXJhdG9yIGlzIGdvb2Qgb25seSB1bnRpbCB5b3UgZ2V0
IGFub3RoZXIgaXRlcmF0b3IsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBhY3F1aXJlTGluZUJyZWFr
SXRlcmF0b3IuCisKKy8vIFRoaXMgaXMgc2ltaWxhciB0byBjaGFyYWN0ZXIgYnJlYWsgaXRlcmF0
b3IgaW4gbW9zdCBjYXNlcywgYnV0IGlzIHN1YmplY3QgdG8KKy8vIHBsYXRmb3JtIFVJIGNvbnZl
bnRpb25zLiBPbmUgbm90YWJsZSBleGFtcGxlIHdoZXJlIHRoaXMgY2FuIGJlIGRpZmZlcmVudAor
Ly8gZnJvbSBjaGFyYWN0ZXIgYnJlYWsgaXRlcmF0b3IgaXMgVGhhaSBwcmVwZW5kIGNoYXJhY3Rl
cnMsIHNlZSBidWcgMjQzNDIuCisvLyBVc2UgdGhpcyBmb3IgaW5zZXJ0aW9uIHBvaW50IGFuZCBz
ZWxlY3Rpb24gbWFuaXB1bGF0aW9ucy4KK1RleHRCcmVha0l0ZXJhdG9yKiBjdXJzb3JNb3ZlbWVu
dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiwgaW50IGxlbmd0aCk7CisKK1RleHRCcmVha0l0ZXJhdG9y
KiB3b3JkQnJlYWtJdGVyYXRvcihjb25zdCBVQ2hhciosIGludCBsZW5ndGgpOworVGV4dEJyZWFr
SXRlcmF0b3IqIGFjcXVpcmVMaW5lQnJlYWtJdGVyYXRvcihjb25zdCBMQ2hhciosIGludCBsZW5n
dGgsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlKTsKK1RleHRCcmVha0l0ZXJhdG9yKiBhY3F1
aXJlTGluZUJyZWFrSXRlcmF0b3IoY29uc3QgVUNoYXIqLCBpbnQgbGVuZ3RoLCBjb25zdCBBdG9t
aWNTdHJpbmcmIGxvY2FsZSk7Cit2b2lkIHJlbGVhc2VMaW5lQnJlYWtJdGVyYXRvcihUZXh0QnJl
YWtJdGVyYXRvciopOworVGV4dEJyZWFrSXRlcmF0b3IqIHNlbnRlbmNlQnJlYWtJdGVyYXRvcihj
b25zdCBVQ2hhciosIGludCBsZW5ndGgpOworCitpbnQgdGV4dEJyZWFrRmlyc3QoVGV4dEJyZWFr
SXRlcmF0b3IqKTsKK2ludCB0ZXh0QnJlYWtMYXN0KFRleHRCcmVha0l0ZXJhdG9yKik7CitpbnQg
dGV4dEJyZWFrTmV4dChUZXh0QnJlYWtJdGVyYXRvciopOworaW50IHRleHRCcmVha1ByZXZpb3Vz
KFRleHRCcmVha0l0ZXJhdG9yKik7CitpbnQgdGV4dEJyZWFrQ3VycmVudChUZXh0QnJlYWtJdGVy
YXRvciopOworaW50IHRleHRCcmVha1ByZWNlZGluZyhUZXh0QnJlYWtJdGVyYXRvciosIGludCk7
CitpbnQgdGV4dEJyZWFrRm9sbG93aW5nKFRleHRCcmVha0l0ZXJhdG9yKiwgaW50KTsKK2Jvb2wg
aXNUZXh0QnJlYWsoVGV4dEJyZWFrSXRlcmF0b3IqLCBpbnQpOworYm9vbCBpc1dvcmRUZXh0QnJl
YWsoVGV4dEJyZWFrSXRlcmF0b3IqKTsKKworY29uc3QgaW50IFRleHRCcmVha0RvbmUgPSAtMTsK
IAogY2xhc3MgTGF6eUxpbmVCcmVha0l0ZXJhdG9yIHsKIHB1YmxpYzoKICAgICBMYXp5TGluZUJy
ZWFrSXRlcmF0b3IoKQogICAgICAgICA6IG1faXRlcmF0b3IoMCkKLSAgICAgICAgLCBtX2xhc3RD
aGFyYWN0ZXIoMCkKLSAgICAgICAgLCBtX3NlY29uZFRvTGFzdENoYXJhY3RlcigwKQogICAgIHsK
KyAgICAgICAgcmVzZXRQcmlvckNvbnRleHQoKTsKICAgICB9CiAKICAgICBMYXp5TGluZUJyZWFr
SXRlcmF0b3IoU3RyaW5nIHN0cmluZywgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUgPSBBdG9t
aWNTdHJpbmcoKSkKICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpCiAgICAgICAgICwgbV9sb2Nh
bGUobG9jYWxlKQogICAgICAgICAsIG1faXRlcmF0b3IoMCkKLSAgICAgICAgLCBtX2xhc3RDaGFy
YWN0ZXIoMCkKLSAgICAgICAgLCBtX3NlY29uZFRvTGFzdENoYXJhY3RlcigwKQogICAgIHsKKyAg
ICAgICAgcmVzZXRQcmlvckNvbnRleHQoKTsKICAgICB9CiAKICAgICB+TGF6eUxpbmVCcmVha0l0
ZXJhdG9yKCkKQEAgLTgxLDIyICs3OSwzMyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgc3RyaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KIAotICAgIFVDaGFyIGxhc3RDaGFyYWN0ZXIo
KSBjb25zdCB7IHJldHVybiBtX2xhc3RDaGFyYWN0ZXI7IH0KLSAgICBVQ2hhciBzZWNvbmRUb0xh
c3RDaGFyYWN0ZXIoKSBjb25zdCB7IHJldHVybiBtX3NlY29uZFRvTGFzdENoYXJhY3RlcjsgfQot
ICAgIHZvaWQgc2V0TGFzdFR3b0NoYXJhY3RlcnMoVUNoYXIgbGFzdCwgVUNoYXIgc2Vjb25kVG9M
YXN0KQorICAgIFVDaGFyIGxhc3RDaGFyYWN0ZXIoKSBjb25zdAogICAgIHsKLSAgICAgICAgbV9s
YXN0Q2hhcmFjdGVyID0gbGFzdDsKLSAgICAgICAgbV9zZWNvbmRUb0xhc3RDaGFyYWN0ZXIgPSBz
ZWNvbmRUb0xhc3Q7CisgICAgICAgIENPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgobV9w
cmlvckNvbnRleHQpID09IDIsIFRleHRCcmVha0l0ZXJhdG9yX3VuZXhwZWN0ZWRfcHJpb3JfY29u
dGV4dF9sZW5ndGgpOworICAgICAgICByZXR1cm4gbV9wcmlvckNvbnRleHRbMV07CiAgICAgfQot
ICAgIHZvaWQgdXBkYXRlTGFzdFR3b0NoYXJhY3RlcnMoVUNoYXIgbGFzdCkKKyAgICBVQ2hhciBz
ZWNvbmRUb0xhc3RDaGFyYWN0ZXIoKSBjb25zdAogICAgIHsKLSAgICAgICAgbV9zZWNvbmRUb0xh
c3RDaGFyYWN0ZXIgPSBtX2xhc3RDaGFyYWN0ZXI7Ci0gICAgICAgIG1fbGFzdENoYXJhY3RlciA9
IGxhc3Q7CisgICAgICAgIENPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgobV9wcmlvckNv
bnRleHQpID09IDIsIFRleHRCcmVha0l0ZXJhdG9yX3VuZXhwZWN0ZWRfcHJpb3JfY29udGV4dF9s
ZW5ndGgpOworICAgICAgICByZXR1cm4gbV9wcmlvckNvbnRleHRbMF07CiAgICAgfQotICAgIHZv
aWQgcmVzZXRMYXN0VHdvQ2hhcmFjdGVycygpCisgICAgdm9pZCBzZXRQcmlvckNvbnRleHQoVUNo
YXIgbGFzdCwgVUNoYXIgc2Vjb25kVG9MYXN0KQogICAgIHsKLSAgICAgICAgbV9sYXN0Q2hhcmFj
dGVyID0gMDsKLSAgICAgICAgbV9zZWNvbmRUb0xhc3RDaGFyYWN0ZXIgPSAwOworICAgICAgICBD
T01QSUxFX0FTU0VSVChXVEZfQVJSQVlfTEVOR1RIKG1fcHJpb3JDb250ZXh0KSA9PSAyLCBUZXh0
QnJlYWtJdGVyYXRvcl91bmV4cGVjdGVkX3ByaW9yX2NvbnRleHRfbGVuZ3RoKTsKKyAgICAgICAg
bV9wcmlvckNvbnRleHRbMF0gPSBzZWNvbmRUb0xhc3Q7CisgICAgICAgIG1fcHJpb3JDb250ZXh0
WzFdID0gbGFzdDsKKyAgICB9CisgICAgdm9pZCB1cGRhdGVQcmlvckNvbnRleHQoVUNoYXIgbGFz
dCkKKyAgICB7CisgICAgICAgIENPTVBJTEVfQVNTRVJUKFdURl9BUlJBWV9MRU5HVEgobV9wcmlv
ckNvbnRleHQpID09IDIsIFRleHRCcmVha0l0ZXJhdG9yX3VuZXhwZWN0ZWRfcHJpb3JfY29udGV4
dF9sZW5ndGgpOworICAgICAgICBtX3ByaW9yQ29udGV4dFswXSA9IG1fcHJpb3JDb250ZXh0WzFd
OworICAgICAgICBtX3ByaW9yQ29udGV4dFsxXSA9IGxhc3Q7CisgICAgfQorICAgIHZvaWQgcmVz
ZXRQcmlvckNvbnRleHQoKQorICAgIHsKKyAgICAgICAgQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZ
X0xFTkdUSChtX3ByaW9yQ29udGV4dCkgPT0gMiwgVGV4dEJyZWFrSXRlcmF0b3JfdW5leHBlY3Rl
ZF9wcmlvcl9jb250ZXh0X2xlbmd0aCk7CisgICAgICAgIG1fcHJpb3JDb250ZXh0WzBdID0gMDsK
KyAgICAgICAgbV9wcmlvckNvbnRleHRbMV0gPSAwOwogICAgIH0KIAogICAgIFRleHRCcmVha0l0
ZXJhdG9yKiBnZXQoKQpAQCAtMTEwLDcgKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IG1faXRlcmF0b3I7CiAgICAgfQogCi0gICAgdm9pZCByZXNldChTdHJpbmcgc3RyaW5nLCBjb25z
dCBBdG9taWNTdHJpbmcmIGxvY2FsZSkKKyAgICB2b2lkIHJlc2V0U3RyaW5nQW5kUmVsZWFzZUl0
ZXJhdG9yKFN0cmluZyBzdHJpbmcsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlKQogICAgIHsK
ICAgICAgICAgaWYgKG1faXRlcmF0b3IpCiAgICAgICAgICAgICByZWxlYXNlTGluZUJyZWFrSXRl
cmF0b3IobV9pdGVyYXRvcik7CkBAIC0xMjEsMTEgKzEzMCwxMSBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmlvckNvbnRleHRDYXBhY2l0
eSA9IDI7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwogICAgIEF0b21pY1N0cmluZyBtX2xvY2FsZTsK
ICAgICBUZXh0QnJlYWtJdGVyYXRvciogbV9pdGVyYXRvcjsKLSAgICBVQ2hhciBtX2xhc3RDaGFy
YWN0ZXI7Ci0gICAgVUNoYXIgbV9zZWNvbmRUb0xhc3RDaGFyYWN0ZXI7CisgICAgVUNoYXIgbV9w
cmlvckNvbnRleHRbcHJpb3JDb250ZXh0Q2FwYWNpdHldOwogfTsKIAogLy8gSXRlcmF0ZXMgb3Zl
ciAiZXh0ZW5kZWQgZ3JhcGhlbWUgY2x1c3RlcnMiLCBhcyBkZWZpbmVkIGluIFVBWCAjMjkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
CmluZGV4IDIxYWQxYTQzYTQ0ZmNmNjU4ZDJlZmYxMTBiM2ZhZDMyOTA3MjhjMDAuLjJiMjIyYWVh
NjQzNmE3MjE2NjI0ZTkzMjBmM2VkYzgxNDIxNWFhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0xNjE4LDcgKzE2MTgs
NyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5
b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJbmxpbgogI2VuZGlmCiAgICAgICAgIFdvcmRNZWFzdXJl
bWVudHMgd29yZE1lYXN1cmVtZW50czsKICAgICAgICAgZW5kID0gbGluZUJyZWFrZXIubmV4dExp
bmVCcmVhayhyZXNvbHZlciwgbGF5b3V0U3RhdGUubGluZUluZm8oKSwgcmVuZGVyVGV4dEluZm8s
IGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUsIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCB3
b3JkTWVhc3VyZW1lbnRzKTsKLSAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVy
YXRvci5yZXNldExhc3RUd29DaGFyYWN0ZXJzKCk7CisgICAgICAgIHJlbmRlclRleHRJbmZvLm1f
bGluZUJyZWFrSXRlcmF0b3IucmVzZXRQcmlvckNvbnRleHQoKTsKICAgICAgICAgaWYgKHJlc29s
dmVyLnBvc2l0aW9uKCkuYXRFbmQoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZG4ndCBiZSBjcmVhdGluZyBhbnkgcnVucyBpbiBuZXh0TGluZUJyZWFrIHRvIGJlZ2luIHdpdGgh
CiAgICAgICAgICAgICAvLyBPbmNlIEJpZGlSdW5MaXN0IGlzIHNlcGFyYXRlZCBmcm9tIEJpZGlS
ZXNvbHZlciB0aGlzIHdpbGwgbm90IGJlIG5lZWRlZC4KQEAgLTI3MzksNyArMjczOSw3IEBAIElu
bGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRCcmVhayhJ
bmxpbmVCaWRpUmVzb2x2ZXImIHJlCiAgICAgICAgICAgICAgICAgbV9wb3NpdGlvbmVkT2JqZWN0
cy5hcHBlbmQoYm94KTsKICAgICAgICAgICAgIHdpZHRoLmFkZFVuY29tbWl0dGVkV2lkdGgoaW5s
aW5lTG9naWNhbFdpZHRoKGN1cnJlbnQubV9vYmopKTsKICAgICAgICAgICAgIC8vIFJlc2V0IHBy
aW9yIGxpbmUgYnJlYWsgY29udGV4dCBjaGFyYWN0ZXJzLgotICAgICAgICAgICAgcmVuZGVyVGV4
dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5yZXNldExhc3RUd29DaGFyYWN0ZXJzKCk7CisgICAg
ICAgICAgICByZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVha0l0ZXJhdG9yLnJlc2V0UHJpb3JDb250
ZXh0KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5tX29iai0+aXNGbG9hdGluZygpKSB7
CiAgICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0Qm94ID0gdG9SZW5kZXJCb3goY3VycmVudC5t
X29iaik7CiAgICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZiA9IG1fYmxvY2stPmluc2VydEZs
b2F0aW5nT2JqZWN0KGZsb2F0Qm94KTsKQEAgLTI3NTYsNyArMjc1Niw3IEBAIElubGluZUl0ZXJh
dG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRCcmVhayhJbmxpbmVCaWRp
UmVzb2x2ZXImIHJlCiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBmbG9hdHNG
aXRPbkxpbmUgPSBmYWxzZTsKICAgICAgICAgICAgIC8vIFVwZGF0ZSBwcmlvciBsaW5lIGJyZWFr
IGNvbnRleHQgY2hhcmFjdGVycywgdXNpbmcgVStGRkZEIChPQkpFQ1QgUkVQTEFDRU1FTlQgQ0hB
UkFDVEVSKSBmb3IgZmxvYXRpbmcgZWxlbWVudC4KLSAgICAgICAgICAgIHJlbmRlclRleHRJbmZv
Lm1fbGluZUJyZWFrSXRlcmF0b3IudXBkYXRlTGFzdFR3b0NoYXJhY3RlcnMocmVwbGFjZW1lbnRD
aGFyYWN0ZXIpOworICAgICAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRv
ci51cGRhdGVQcmlvckNvbnRleHQocmVwbGFjZW1lbnRDaGFyYWN0ZXIpOwogICAgICAgICB9IGVs
c2UgaWYgKGN1cnJlbnQubV9vYmotPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgIC8v
IFJpZ2h0IG5vdywgd2Ugc2hvdWxkIG9ubHkgZW5jb3VudGVyIGVtcHR5IGlubGluZXMgaGVyZS4K
ICAgICAgICAgICAgIEFTU0VSVChpc0VtcHR5SW5saW5lKGN1cnJlbnQubV9vYmopKTsKQEAgLTI4
MjYsNyArMjgyNiw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6
bmV4dFNlZ21lbnRCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlCiAgICAgICAgICAgICBpZiAo
Y3VycmVudC5tX29iai0+aXNSdWJ5UnVuKCkpCiAgICAgICAgICAgICAgICAgd2lkdGguYXBwbHlP
dmVyaGFuZyh0b1JlbmRlclJ1YnlSdW4oY3VycmVudC5tX29iaiksIGxhc3QsIG5leHQpOwogICAg
ICAgICAgICAgLy8gVXBkYXRlIHByaW9yIGxpbmUgYnJlYWsgY29udGV4dCBjaGFyYWN0ZXJzLCB1
c2luZyBVK0ZGRkQgKE9CSkVDVCBSRVBMQUNFTUVOVCBDSEFSQUNURVIpIGZvciByZXBsYWNlZCBl
bGVtZW50LgotICAgICAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci51
cGRhdGVMYXN0VHdvQ2hhcmFjdGVycyhyZXBsYWNlbWVudENoYXJhY3Rlcik7CisgICAgICAgICAg
ICByZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVha0l0ZXJhdG9yLnVwZGF0ZVByaW9yQ29udGV4dChy
ZXBsYWNlbWVudENoYXJhY3Rlcik7CiAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5tX29iai0+
aXNUZXh0KCkpIHsKICAgICAgICAgICAgIGlmICghY3VycmVudC5tX3BvcykKICAgICAgICAgICAg
ICAgICBhcHBsaWVkU3RhcnRXaWR0aCA9IGZhbHNlOwpAQCAtMjg3Nyw3ICsyODc3LDcgQEAgSW5s
aW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpuZXh0U2VnbWVudEJyZWFrKElu
bGluZUJpZGlSZXNvbHZlciYgcmUKICAgICAgICAgICAgICAgICByZW5kZXJUZXh0SW5mby5tX3Rl
eHQgPSB0OwogICAgICAgICAgICAgICAgIHJlbmRlclRleHRJbmZvLm1fZm9udCA9ICZmOwogICAg
ICAgICAgICAgICAgIHJlbmRlclRleHRJbmZvLm1fbGF5b3V0ID0gZi5jcmVhdGVMYXlvdXQodCwg
d2lkdGguY3VycmVudFdpZHRoKCksIGNvbGxhcHNlV2hpdGVTcGFjZSk7Ci0gICAgICAgICAgICAg
ICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5yZXNldCh0LT50ZXh0KCksIHN0
eWxlLT5sb2NhbGUoKSk7CisgICAgICAgICAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJl
YWtJdGVyYXRvci5yZXNldFN0cmluZ0FuZFJlbGVhc2VJdGVyYXRvcih0LT50ZXh0KCksIHN0eWxl
LT5sb2NhbGUoKSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlbmRlclRleHRJbmZvLm1fbGF5
b3V0ICYmIHJlbmRlclRleHRJbmZvLm1fZm9udCAhPSAmZikgewogICAgICAgICAgICAgICAgIHJl
bmRlclRleHRJbmZvLm1fZm9udCA9ICZmOwogICAgICAgICAgICAgICAgIHJlbmRlclRleHRJbmZv
Lm1fbGF5b3V0ID0gZi5jcmVhdGVMYXlvdXQodCwgd2lkdGguY3VycmVudFdpZHRoKCksIGNvbGxh
cHNlV2hpdGVTcGFjZSk7CkBAIC0yODg5LDggKzI4ODksOCBAQCBJbmxpbmVJdGVyYXRvciBSZW5k
ZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWsoSW5saW5lQmlkaVJlc29sdmVy
JiByZQogICAgICAgICAgICAgLy8gd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZyBzcGFjZSwgdGhl
biBzdWJ0cmFjdCBpdHMgd2lkdGguCiAgICAgICAgICAgICBmbG9hdCB3b3JkVHJhaWxpbmdTcGFj
ZVdpZHRoID0gKGYudHlwZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZykgJiYgIXRleHRMYXlv
dXQgPyBmLndpZHRoKGNvbnN0cnVjdFRleHRSdW4odCwgZiwgJnNwYWNlLCAxLCBzdHlsZSkpICsg
d29yZFNwYWNpbmcgOiAwOwogCi0gICAgICAgICAgICBVQ2hhciBsYXN0Q2hhcmFjdGVySW5Ob2Rl
ID0gcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5sYXN0Q2hhcmFjdGVyKCk7Ci0g
ICAgICAgICAgICBVQ2hhciBzZWNvbmRUb0xhc3RDaGFyYWN0ZXJJbk5vZGUgPSByZW5kZXJUZXh0
SW5mby5tX2xpbmVCcmVha0l0ZXJhdG9yLnNlY29uZFRvTGFzdENoYXJhY3RlcigpOworICAgICAg
ICAgICAgVUNoYXIgbGFzdENoYXJhY3RlciA9IHJlbmRlclRleHRJbmZvLm1fbGluZUJyZWFrSXRl
cmF0b3IubGFzdENoYXJhY3RlcigpOworICAgICAgICAgICAgVUNoYXIgc2Vjb25kVG9MYXN0Q2hh
cmFjdGVyID0gcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5zZWNvbmRUb0xhc3RD
aGFyYWN0ZXIoKTsKICAgICAgICAgICAgIGZvciAoOyBjdXJyZW50Lm1fcG9zIDwgdC0+dGV4dExl
bmd0aCgpOyBjdXJyZW50LmZhc3RJbmNyZW1lbnRJblRleHROb2RlKCkpIHsKICAgICAgICAgICAg
ICAgICBib29sIHByZXZpb3VzQ2hhcmFjdGVySXNTcGFjZSA9IGN1cnJlbnRDaGFyYWN0ZXJJc1Nw
YWNlOwogICAgICAgICAgICAgICAgIGJvb2wgcHJldmlvdXNDaGFyYWN0ZXJJc1dTID0gY3VycmVu
dENoYXJhY3RlcklzV1M7CkBAIC0zMDk1LDExICszMDk1LDExIEBAIElubGluZUl0ZXJhdG9yIFJl
bmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRCcmVhayhJbmxpbmVCaWRpUmVzb2x2
ZXImIHJlCiAKICAgICAgICAgICAgICAgICBhdFN0YXJ0ID0gZmFsc2U7CiAgICAgICAgICAgICBu
ZXh0Q2hhcmFjdGVyOgotICAgICAgICAgICAgICAgIHNlY29uZFRvTGFzdENoYXJhY3RlckluTm9k
ZSA9IGxhc3RDaGFyYWN0ZXJJbk5vZGU7Ci0gICAgICAgICAgICAgICAgbGFzdENoYXJhY3Rlcklu
Tm9kZSA9IGM7CisgICAgICAgICAgICAgICAgc2Vjb25kVG9MYXN0Q2hhcmFjdGVyID0gbGFzdENo
YXJhY3RlcjsKKyAgICAgICAgICAgICAgICBsYXN0Q2hhcmFjdGVyID0gYzsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5zZXRM
YXN0VHdvQ2hhcmFjdGVycyhsYXN0Q2hhcmFjdGVySW5Ob2RlLCBzZWNvbmRUb0xhc3RDaGFyYWN0
ZXJJbk5vZGUpOworICAgICAgICAgICAgcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRv
ci5zZXRQcmlvckNvbnRleHQobGFzdENoYXJhY3Rlciwgc2Vjb25kVG9MYXN0Q2hhcmFjdGVyKTsK
IAogICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50cy5ncm93KHdvcmRNZWFzdXJlbWVudHMuc2l6
ZSgpICsgMSk7CiAgICAgICAgICAgICBXb3JkTWVhc3VyZW1lbnQmIHdvcmRNZWFzdXJlbWVudCA9
IHdvcmRNZWFzdXJlbWVudHMubGFzdCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>