<?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>63368</bug_id>
          
          <creation_ts>2011-06-24 17:31:59 -0700</creation_ts>
          <short_desc>RenderTextFragment should have regular children instead of magical first-letter child</short_desc>
          <delta_ts>2013-05-08 06:53:05 -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>NEW</bug_status>
          <resolution></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>
          
          <blocked>58911</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antaryami.pandia</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>inferno</cc>
    
    <cc>leviw</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>427259</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-24 17:31:59 -0700</bug_when>
    <thetext>There are numerous bugs and security vulnerabilities due to first-letter / RenderTextFragment being so exotic to the rest of render objects.  We should make RenderTextFragment act like the rest of rendering objects.  Namely, it should own regular children instead of holding a special pointer for first-letter.

This will fix almost all crashes and bugs related to first-letter in WebCore/editing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427266</commentid>
    <comment_count>1</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-24 17:54:47 -0700</bug_when>
    <thetext>Yesssss! This was the conclusion I drew in my own frustration dealing with first-letter and editing. Seeing these problems continue to crop up really drives the issue home. I&apos;m happy to work on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427294</commentid>
    <comment_count>2</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2011-06-24 20:22:25 -0700</bug_when>
    <thetext>Thanks a lot Levi and Ryosuke.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427458</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-25 16:21:47 -0700</bug_when>
    <thetext>There are 2 possible approaches:
1. Keep RenderTextFragment inherit from RenderText.  In this approach, RenderTextFragment will act like RenderText and we can work-around most of issues in editing by adding a method to return the entire text instead &quot;everything but first letter&quot;.

The problem with this approach is that renderes of inline text boxes will still be that of internal RenderText unless we wrap renderer() as well.

2. Make RenderTextFragment a render inline.  In this approach, we&apos;ll reimplement first-letter and act like anonymous node that contains two RenderText.

There are a lot of uncertainlies and risks but the biggest problem is that Text DOM nodes&apos;s renderer() will no longer return RenderText.  It might complicate many logics in editing and accessibility in addition to rendering, hit testing, and caret rendering, etc...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428110</commentid>
    <comment_count>4</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-27 11:15:45 -0700</bug_when>
    <thetext>I talked with Ryosuke about this a bit. In my opinion, the first approach is viable and worthy of a proof of concept to make sure it&apos;s not out of the scope we think it is. I worry option 2 would be too invasive, kind of like getting the current first-letter implementation to work properly :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648904</commentid>
    <comment_count>5</comment_count>
      <attachid>147509</attachid>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-06-14 00:59:45 -0700</bug_when>
    <thetext>Created attachment 147509
WIP patch.

Basic WIP patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147509</attachid>
            <date>2012-06-14 00:59:45 -0700</date>
            <delta_ts>2012-06-14 00:59:45 -0700</delta_ts>
            <desc>WIP patch.</desc>
            <filename>63368-wip.diff</filename>
            <type>text/plain</type>
            <size>6993</size>
            <attacher name="Antaryami Pandia (apandia)">antaryami.pandia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAJKHJldmlzaW9uIDEx
OTk3MSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjMzLDE5ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlclRleHQqIGZp
cnN0UmVuZGVyVGV4CiAKIHZvaWQgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZUZpcnN0TGV0
dGVyKFJlbmRlclRleHRGcmFnbWVudCogcmVuZGVyZXIpCiB7Ci0gICAgaWYgKHJlbmRlcmVyLT5m
aXJzdExldHRlcigpKSB7Ci0gICAgICAgIFJlbmRlck9iamVjdCogciA9IHJlbmRlcmVyLT5maXJz
dExldHRlcigpOwotICAgICAgICBpZiAoci0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lC
TEUgJiYgIW1faWdub3Jlc1N0eWxlVmlzaWJpbGl0eSkKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgaWYgKFJlbmRlclRleHQqIGZpcnN0TGV0dGVyID0gZmlyc3RSZW5kZXJUZXh0SW5GaXJz
dExldHRlcihyKSkgewotICAgICAgICAgICAgbV9oYW5kbGVkRmlyc3RMZXR0ZXIgPSB0cnVlOwot
ICAgICAgICAgICAgbV9yZW1haW5pbmdUZXh0Qm94ID0gbV90ZXh0Qm94OwotICAgICAgICAgICAg
bV90ZXh0Qm94ID0gZmlyc3RMZXR0ZXItPmZpcnN0VGV4dEJveCgpOwotICAgICAgICAgICAgbV9z
b3J0ZWRUZXh0Qm94ZXMuY2xlYXIoKTsKLSAgICAgICAgICAgIG1fZmlyc3RMZXR0ZXJUZXh0ID0g
Zmlyc3RMZXR0ZXI7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgbV9oYW5kbGVkRmlyc3RMZXR0ZXIg
PSB0cnVlOworICAgIC8vIFRPRE86IEltcGxlbWVudCB0aGlzLgogfQogCiBib29sIFRleHRJdGVy
YXRvcjo6aGFuZGxlUmVwbGFjZWRFbGVtZW50KCkKQEAgLTcwMSwxMyArNjg5LDcgQEAgYm9vbCBU
ZXh0SXRlcmF0b3I6OmhhbmRsZVJlcGxhY2VkRWxlbWVudAogCiBib29sIFRleHRJdGVyYXRvcjo6
aGFzVmlzaWJsZVRleHROb2RlKFJlbmRlclRleHQqIHJlbmRlcmVyKQogewotICAgIGlmIChyZW5k
ZXJlci0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUpCi0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIGlmIChyZW5kZXJlci0+aXNUZXh0RnJhZ21lbnQoKSkgewotICAgICAgICBSZW5k
ZXJUZXh0RnJhZ21lbnQqIGZyYWdtZW50ID0gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4dEZyYWdtZW50
Kj4ocmVuZGVyZXIpOwotICAgICAgICBpZiAoZnJhZ21lbnQtPmZpcnN0TGV0dGVyKCkgJiYgZnJh
Z21lbnQtPmZpcnN0TGV0dGVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFKQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIC8vIFRPRE86IEltcGxlbWVudCB0
aGlzLgogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTMwMiw3ICsxMjg0LDEwIEBAIFJlbmRl
clRleHQqIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmEKIAogICAgIG1fc2hvdWxkSGFuZGxl
Rmlyc3RMZXR0ZXIgPSBmYWxzZTsKICAgICBvZmZzZXRJbk5vZGUgPSAwOwotICAgIHJldHVybiBm
aXJzdFJlbmRlclRleHRJbkZpcnN0TGV0dGVyKGZyYWdtZW50LT5maXJzdExldHRlcigpKTsKKwor
ICAgIC8vIFRPRE86IEhhbmRsZSB0aGlzIHNjZW5lcmlvLgorICAgIC8vcmV0dXJuIGZpcnN0UmVu
ZGVyVGV4dEluRmlyc3RMZXR0ZXIoZnJhZ21lbnQtPmZpcnN0TGV0dGVyKCkpOworICAgIHJldHVy
biAwOwogfQogCiBib29sIFNpbXBsaWZpZWRCYWNrd2FyZHNUZXh0SXRlcmF0b3I6OmhhbmRsZVJl
cGxhY2VkRWxlbWVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAJKHJldmlzaW9uIDExOTk3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwNDIsNyArNjA0Miw2IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnVwZGF0ZUZpcnN0TGV0dGVyU3R5bGUKICAgICAgICAgaWYgKHJlbWFpbmluZ1Rl
eHQpIHsKICAgICAgICAgICAgIEFTU0VSVChyZW1haW5pbmdUZXh0LT5pc0Fub255bW91cygpIHx8
IHJlbWFpbmluZ1RleHQtPm5vZGUoKS0+cmVuZGVyZXIoKSA9PSByZW1haW5pbmdUZXh0KTsKICAg
ICAgICAgICAgIC8vIFJlcGxhY2UgdGhlIG9sZCByZW5kZXJlciB3aXRoIHRoZSBuZXcgb25lLgot
ICAgICAgICAgICAgcmVtYWluaW5nVGV4dC0+c2V0Rmlyc3RMZXR0ZXIobmV3Rmlyc3RMZXR0ZXIp
OwogICAgICAgICAgICAgdG9SZW5kZXJCb3hNb2RlbE9iamVjdChuZXdGaXJzdExldHRlciktPnNl
dEZpcnN0TGV0dGVyUmVtYWluaW5nVGV4dChyZW1haW5pbmdUZXh0KTsKICAgICAgICAgfQogICAg
ICAgICAvLyBUbyBwcmV2ZW50IHJlbW92YWwgb2Ygc2luZ2xlIGFub255bW91cyBibG9jayBpbiBS
ZW5kZXJCbG9jazo6cmVtb3ZlQ2hpbGQgYW5kIGNhdXNpbmcKQEAgLTYxMTIsMTIgKzYxMTEsMTEg
QEAgdm9pZCBSZW5kZXJCbG9jazo6Y3JlYXRlRmlyc3RMZXR0ZXJSZW5kZQogCiAgICAgICAgIGZp
cnN0TGV0dGVyQ29udGFpbmVyLT5hZGRDaGlsZChyZW1haW5pbmdUZXh0LCB0ZXh0T2JqKTsKICAg
ICAgICAgZmlyc3RMZXR0ZXJDb250YWluZXItPnJlbW92ZUNoaWxkKHRleHRPYmopOwotICAgICAg
ICByZW1haW5pbmdUZXh0LT5zZXRGaXJzdExldHRlcihmaXJzdExldHRlcik7CiAgICAgICAgIHRv
UmVuZGVyQm94TW9kZWxPYmplY3QoZmlyc3RMZXR0ZXIpLT5zZXRGaXJzdExldHRlclJlbWFpbmlu
Z1RleHQocmVtYWluaW5nVGV4dCk7CiAgICAgICAgIAogICAgICAgICAvLyBjb25zdHJ1Y3QgdGV4
dCBmcmFnbWVudCBmb3IgdGhlIGZpcnN0IGxldHRlcgogICAgICAgICBSZW5kZXJUZXh0RnJhZ21l
bnQqIGxldHRlciA9IAotICAgICAgICAgICAgbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJUZXh0
RnJhZ21lbnQocmVtYWluaW5nVGV4dC0+bm9kZSgpID8gcmVtYWluaW5nVGV4dC0+bm9kZSgpIDog
cmVtYWluaW5nVGV4dC0+ZG9jdW1lbnQoKSwgb2xkVGV4dC5nZXQoKSwgMCwgbGVuZ3RoKTsKKyAg
ICAgICAgICAgIG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyVGV4dEZyYWdtZW50KHJlbWFpbmlu
Z1RleHQtPm5vZGUoKSA/IHJlbWFpbmluZ1RleHQtPm5vZGUoKSA6IHJlbWFpbmluZ1RleHQtPmRv
Y3VtZW50KCksIG9sZFRleHQuZ2V0KCksIDAsIGxlbmd0aCwgdHJ1ZSk7CiAgICAgICAgIGxldHRl
ci0+c2V0U3R5bGUocHNldWRvU3R5bGUpOwogICAgICAgICBmaXJzdExldHRlci0+YWRkQ2hpbGQo
bGV0dGVyKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFn
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRGcmFnbWVudC5jcHAJKHJldmlzaW9uIDExOTk3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMSArMjgs
MTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZW5kZXJUZXh0RnJhZ21lbnQ6OlJlbmRl
clRleHRGcmFnbWVudChOb2RlKiBub2RlLCBTdHJpbmdJbXBsKiBzdHIsIGludCBzdGFydE9mZnNl
dCwgaW50IGxlbmd0aCkKK1JlbmRlclRleHRGcmFnbWVudDo6UmVuZGVyVGV4dEZyYWdtZW50KE5v
ZGUqIG5vZGUsIFN0cmluZ0ltcGwqIHN0ciwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgbGVuZ3RoLCBi
b29sIGlzRmlyc3RMZXR0ZXJUZXh0RnJhZ21lbnQpCiAgICAgOiBSZW5kZXJUZXh0KG5vZGUsIHN0
ciA/IHN0ci0+c3Vic3RyaW5nKHN0YXJ0T2Zmc2V0LCBsZW5ndGgpIDogUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPigwKSkKICAgICAsIG1fc3RhcnQoc3RhcnRPZmZzZXQpCiAgICAgLCBtX2VuZChsZW5n
dGgpCi0gICAgLCBtX2ZpcnN0TGV0dGVyKDApCisgICAgLCBtX2lzRmlyc3RMZXR0ZXJUZXh0RnJh
Z21lbnQoaXNGaXJzdExldHRlclRleHRGcmFnbWVudCkKIHsKIH0KIApAQCAtNDEsNyArNDEsNyBA
QCBSZW5kZXJUZXh0RnJhZ21lbnQ6OlJlbmRlclRleHRGcmFnbWVudChOCiAgICAgLCBtX3N0YXJ0
KDApCiAgICAgLCBtX2VuZChzdHIgPyBzdHItPmxlbmd0aCgpIDogMCkKICAgICAsIG1fY29udGVu
dFN0cmluZyhzdHIpCi0gICAgLCBtX2ZpcnN0TGV0dGVyKDApCisgICAgLCBtX2lzRmlyc3RMZXR0
ZXJUZXh0RnJhZ21lbnQoZmFsc2UpCiB7CiB9CiAKQEAgLTcwLDggKzcwLDYgQEAgdm9pZCBSZW5k
ZXJUZXh0RnJhZ21lbnQ6OnN0eWxlRGlkQ2hhbmdlKAogCiB2b2lkIFJlbmRlclRleHRGcmFnbWVu
dDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKLSAgICBpZiAobV9maXJzdExldHRlcikKLSAgICAgICAg
bV9maXJzdExldHRlci0+ZGVzdHJveSgpOwogICAgIFJlbmRlclRleHQ6OndpbGxCZURlc3Ryb3ll
ZCgpOwogfQogCkBAIC04MSwxNSArNzksNiBAQCB2b2lkIFJlbmRlclRleHRGcmFnbWVudDo6c2V0
VGV4dChQYXNzUmVmCiAKICAgICBtX3N0YXJ0ID0gMDsKICAgICBtX2VuZCA9IHRleHRMZW5ndGgo
KTsKLSAgICBpZiAobV9maXJzdExldHRlcikgewotICAgICAgICBBU1NFUlQoIW1fY29udGVudFN0
cmluZyk7Ci0gICAgICAgIG1fZmlyc3RMZXR0ZXItPmRlc3Ryb3koKTsKLSAgICAgICAgbV9maXJz
dExldHRlciA9IDA7Ci0gICAgICAgIGlmIChOb2RlKiB0ID0gbm9kZSgpKSB7Ci0gICAgICAgICAg
ICBBU1NFUlQoIXQtPnJlbmRlcmVyKCkpOwotICAgICAgICAgICAgdC0+c2V0UmVuZGVyZXIodGhp
cyk7Ci0gICAgICAgIH0KLSAgICB9CiB9CiAKIHZvaWQgUmVuZGVyVGV4dEZyYWdtZW50Ojp0cmFu
c2Zvcm1UZXh0KCkKQEAgLTExMyw5ICsxMDIsMTAgQEAgVUNoYXIgUmVuZGVyVGV4dEZyYWdtZW50
OjpwcmV2aW91c0NoYXJhYwogCiBSZW5kZXJCbG9jayogUmVuZGVyVGV4dEZyYWdtZW50OjpibG9j
a0ZvckFjY29tcGFueWluZ0ZpcnN0TGV0dGVyKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZmlyc3RM
ZXR0ZXIpCisgICAgaWYgKG1faXNGaXJzdExldHRlclRleHRGcmFnbWVudCkKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgZm9yIChSZW5kZXJPYmplY3QqIGJsb2NrID0gbV9maXJzdExldHRlci0+cGFy
ZW50KCk7IGJsb2NrOyBibG9jayA9IGJsb2NrLT5wYXJlbnQoKSkgeworCisgICAgZm9yIChSZW5k
ZXJPYmplY3QqIGJsb2NrID0gcGFyZW50KCk7IGJsb2NrOyBibG9jayA9IGJsb2NrLT5wYXJlbnQo
KSkgewogICAgICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xF
VFRFUikgJiYgYmxvY2stPmNhbkhhdmVDaGlsZHJlbigpICYmIGJsb2NrLT5pc1JlbmRlckJsb2Nr
KCkpCiAgICAgICAgICAgICByZXR1cm4gdG9SZW5kZXJCbG9jayhibG9jayk7CiAgICAgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFnbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaAkocmV2
aXNpb24gMTE5OTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFn
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIC8vIHRoZSBvcmlnaW5hbCB1bmFsdGVyZWQgc3RyaW5nIGZyb20gb3VyIGNvcnJlc3BvbmRp
bmcgRE9NIG5vZGUuCiBjbGFzcyBSZW5kZXJUZXh0RnJhZ21lbnQgOiBwdWJsaWMgUmVuZGVyVGV4
dCB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyVGV4dEZyYWdtZW50KE5vZGUqLCBTdHJpbmdJbXBsKiwg
aW50IHN0YXJ0T2Zmc2V0LCBpbnQgbGVuZ3RoKTsKKyAgICBSZW5kZXJUZXh0RnJhZ21lbnQoTm9k
ZSosIFN0cmluZ0ltcGwqLCBpbnQgc3RhcnRPZmZzZXQsIGludCBsZW5ndGgsIGJvb2wgaXNGaXJz
dExldHRlclRleHRGcmFnbWVudCA9IGZhbHNlKTsKICAgICBSZW5kZXJUZXh0RnJhZ21lbnQoTm9k
ZSosIFN0cmluZ0ltcGwqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJUZXh0RnJhZ21lbnQoKTsKIApA
QCAtNDQsOSArNDQsNiBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgc3RhcnQoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXJ0OyB9CiAgICAgdW5zaWduZWQgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9lbmQ7
IH0KIAotICAgIFJlbmRlck9iamVjdCogZmlyc3RMZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zp
cnN0TGV0dGVyOyB9Ci0gICAgdm9pZCBzZXRGaXJzdExldHRlcihSZW5kZXJPYmplY3QqIGZpcnN0
TGV0dGVyKSB7IG1fZmlyc3RMZXR0ZXIgPSBmaXJzdExldHRlcjsgfQotCiAgICAgU3RyaW5nSW1w
bCogY29udGVudFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFN0cmluZy5nZXQoKTsg
fQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBvcmlnaW5hbFRleHQoKSBjb25z
dDsKIApAQCAtNjYsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fc3RhcnQ7CiAg
ICAgdW5zaWduZWQgbV9lbmQ7CiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1fY29udGVudFN0cmlu
ZzsKLSAgICBSZW5kZXJPYmplY3QqIG1fZmlyc3RMZXR0ZXI7CisgICAgYm9vbCBtX2lzRmlyc3RM
ZXR0ZXJUZXh0RnJhZ21lbnQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyVGV4dEZyYWdtZW50KiB0b1Jl
bmRlclRleHRGcmFnbWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>