<?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>34831</bug_id>
          
          <creation_ts>2010-02-11 00:09:47 -0800</creation_ts>
          <short_desc>SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker</short_desc>
          <delta_ts>2010-02-15 18:36:51 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="MORITA Hajime">morrita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>krit</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>189615</commentid>
    <comment_count>0</comment_count>
    <who name="MORITA Hajime">morrita</who>
    <bug_when>2010-02-11 00:09:47 -0800</bug_when>
    <thetext>Eliminate following callbacks from SVGTextChunkWalker and fold them into primary callback
- setupBackground
- setupFill
- setupFillSelection
- setupStroke
- setupStrokeSelection
- setupForeground</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189621</commentid>
    <comment_count>1</comment_count>
      <attachid>48550</attachid>
    <who name="MORITA Hajime">morrita</who>
    <bug_when>2010-02-11 01:06:07 -0800</bug_when>
    <thetext>Created attachment 48550
patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190576</commentid>
    <comment_count>2</comment_count>
      <attachid>48550</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-02-15 17:30:49 -0800</bug_when>
    <thetext>Comment on attachment 48550
patch v0

Looks great. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190583</commentid>
    <comment_count>3</comment_count>
      <attachid>48550</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-15 18:36:44 -0800</bug_when>
    <thetext>Comment on attachment 48550
patch v0

Clearing flags on attachment: 48550

Committed r54806: &lt;http://trac.webkit.org/changeset/54806&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190584</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-15 18:36:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48550</attachid>
            <date>2010-02-11 01:06:07 -0800</date>
            <delta_ts>2010-02-15 18:36:43 -0800</delta_ts>
            <desc>patch v0</desc>
            <filename>bug-34831-20100211180605.patch</filename>
            <type>text/plain</type>
            <size>12442</size>
            <attacher name="MORITA Hajime">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDc3ZDExOC4uNDFmMDdlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMC0wMi0xMSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNWRyB0ZXh0IHJlZmFjdG9yOiByZWR1Y2UgcGFpbnQgc3BlY2lmaWMg
Y2FsbGJhY2tzIG9uIFNWR1RleHRDaHVua1dhbGtlcgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDgzMQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gY2hhbmdlIG9mIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENodW5rV2Fsa2Vy
OjpTVkdUZXh0Q2h1bmtXYWxrZXIpOgorICAgICAgICBSZW1vdmVkIHNldHVwQmFja2dyb3VuZCgp
LCBzZXR1cEZpbGwoKSwgc2V0dXBGaWxsU2VsZWN0aW9uKCksCisgICAgICAgIHNldHVwU3Ryb2tl
KCksIHNldHVwU3Ryb2tlU2VsZWN0aW9uKCksIHNldHVwRm9yZWdyb3VuZCgpCisgICAgICAgIGFu
ZCBhc3NvY2lhdGVkIG1lbWJlciB2YXJpYWJsZXMuCisgICAgICAgIAorICAgICAgICAqIHJlbmRl
cmluZy9TVkdSb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxp
bmVCb3hQYWludFdhbGtlcjo6c2V0dXBCYWNrZ3JvdW5kKToKKyAgICAgICAgcmVuYW1lZCBmcm9t
IGNodW5rU2V0dXBCYWNrZ3JvdW5kQ2FsbGJhY2suCisgICAgICAgIChXZWJDb3JlOjpTVkdSb290
SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRmlsbCk6CisgICAgICAgIHJlbmFtZWQgZnJvbSBj
aHVua1NldHVwRmlsbENhbGxiYWNrLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJv
eFBhaW50V2Fsa2VyOjpzZXR1cEZpbGxTZWxlY3Rpb24pOgorICAgICAgICByZW5hbWVkIGZyb20g
Y2h1bmtTZXR1cEZpbGxTZWxlY3Rpb25DYWxsYmFjay4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jv
b3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBTdHJva2UpOgorICAgICAgICByZW5hbWVkIGZy
b20gY2h1bmtTZXR1cFN0cm9rZUNhbGxiYWNrLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElu
bGluZUJveFBhaW50V2Fsa2VyOjpzZXR1cFN0cm9rZVNlbGVjdGlvbik6CisgICAgICAgIHJlbmFt
ZWQgZnJvbSBjaHVua1NldHVwU3Ryb2tlU2VsZWN0aW9uQ2FsbGJhY2suCisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRm9yZWdyb3VuZCk6CisgICAg
ICAgIHJlbmFtZWQgZnJvbSBjaHVua1NldHVwRm9yZWdyb3VuZENhbGxiYWNrLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpwYWludENodW5rKToKKyAgICAg
ICAgcmVuYW1lZCBmcm9tIGNodW5rUG9ydGlvbkNhbGxiYWNrLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpjaHVua1BvcnRpb25DYWxsYmFjayk6CisgICAg
ICAgIGV4dHJhY3RlZCBmcm9tIHdhbGtUZXh0Q2h1bmtzLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Um9vdElubGluZUJveDo6cGFpbnQpOgorICAgICAgICBmb2xsb3cgU1ZHVGV4dENodW5rV2Fsa2Vy
IGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3g6OndhbGtUZXh0Q2h1
bmtzKToKKyAgICAgICAgbW92ZWQgcGFpbnQgc29tZSBzcGVjaWZpYyBjb2RlIHRvIFNWR1Jvb3RJ
bmxpbmVCb3hQYWludFdhbGtlcjo6Y2h1bmtQb3J0aW9uQ2FsbGJhY2soKS4KKyAgICAgICAgCiAy
MDEwLTAyLTA5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSdWJiZXIgU3RhbXBlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR0NoYXJhY3RlckxheW91dEluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR0NoYXJhY3RlckxheW91dEluZm8uaAppbmRleCBmODBjNzljLi5mMGQxZmE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdDaGFyYWN0ZXJMYXlvdXRJbmZvLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHQ2hhcmFjdGVyTGF5b3V0SW5mby5oCkBAIC0yOTcsMTMgKzI5Nyw2
IEBAIHN0cnVjdCBTVkdUZXh0Q2h1bmtXYWxrZXJCYXNlIHsKICAgICAvLyBGb2xsb3dpbmdzIG1l
dGhvZHMgYXJlIG9ubHkgdXNlZCBmb3IgcGFpbnRpbmcgdGV4dCBjaHVua3MKICAgICB2aXJ0dWFs
IHZvaWQgc3RhcnQoSW5saW5lQm94KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBlbmQoSW5saW5l
Qm94KikgPSAwOwotICAgIAotICAgIHZpcnR1YWwgYm9vbCBzZXR1cEJhY2tncm91bmQoSW5saW5l
Qm94KikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBzZXR1cEZpbGwoSW5saW5lQm94KikgPSAwOwot
ICAgIHZpcnR1YWwgYm9vbCBzZXR1cEZpbGxTZWxlY3Rpb24oSW5saW5lQm94KikgPSAwOwotICAg
IHZpcnR1YWwgYm9vbCBzZXR1cFN0cm9rZShJbmxpbmVCb3gqKSA9IDA7Ci0gICAgdmlydHVhbCBi
b29sIHNldHVwU3Ryb2tlU2VsZWN0aW9uKElubGluZUJveCopID0gMDsKLSAgICB2aXJ0dWFsIGJv
b2wgc2V0dXBGb3JlZ3JvdW5kKElubGluZUJveCopID0gMDsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIENhbGxiYWNrQ2xhc3M+CkBAIC0zMTksMzEgKzMxMiwxNCBAQCBwdWJsaWM6CiAgICAgdHlw
ZWRlZiB2b2lkIChDYWxsYmFja0NsYXNzOjoqU1ZHVGV4dENodW5rU3RhcnRDYWxsYmFjaykoSW5s
aW5lQm94KiBib3gpOwogICAgIHR5cGVkZWYgdm9pZCAoQ2FsbGJhY2tDbGFzczo6KlNWR1RleHRD
aHVua0VuZENhbGxiYWNrKShJbmxpbmVCb3gqIGJveCk7CiAKLSAgICB0eXBlZGVmIGJvb2wgKENh
bGxiYWNrQ2xhc3M6OipTVkdUZXh0Q2h1bmtTZXR1cEJhY2tncm91bmRDYWxsYmFjaykoSW5saW5l
Qm94KiBib3gpOwotICAgIHR5cGVkZWYgYm9vbCAoQ2FsbGJhY2tDbGFzczo6KlNWR1RleHRDaHVu
a1NldHVwRmlsbENhbGxiYWNrKShJbmxpbmVCb3gqIGJveCk7Ci0gICAgdHlwZWRlZiBib29sIChD
YWxsYmFja0NsYXNzOjoqU1ZHVGV4dENodW5rU2V0dXBTdHJva2VDYWxsYmFjaykoSW5saW5lQm94
KiBib3gpOwotICAgIHR5cGVkZWYgYm9vbCAoQ2FsbGJhY2tDbGFzczo6KlNWR1RleHRDaHVua1Nl
dHVwRm9yZWdyb3VuZENhbGxiYWNrKShJbmxpbmVCb3gqIGJveCk7Ci0KLSAgICBTVkdUZXh0Q2h1
bmtXYWxrZXIoQ2FsbGJhY2tDbGFzcyogb2JqZWN0LAorICAgIFNWR1RleHRDaHVua1dhbGtlcihD
YWxsYmFja0NsYXNzKiBvYmplY3QsIAogICAgICAgICAgICAgICAgICAgICAgICBTVkdUZXh0Q2h1
bmtXYWxrZXJDYWxsYmFjayB3YWxrZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIFNWR1RleHRD
aHVua1N0YXJ0Q2FsbGJhY2sgc3RhcnQgPSAwLAotICAgICAgICAgICAgICAgICAgICAgICBTVkdU
ZXh0Q2h1bmtFbmRDYWxsYmFjayBlbmQgPSAwLAotICAgICAgICAgICAgICAgICAgICAgICBTVkdU
ZXh0Q2h1bmtTZXR1cEJhY2tncm91bmRDYWxsYmFjayBiYWNrZ3JvdW5kID0gMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgU1ZHVGV4dENodW5rU2V0dXBGaWxsQ2FsbGJhY2sgZmlsbCA9IDAsCi0g
ICAgICAgICAgICAgICAgICAgICAgIFNWR1RleHRDaHVua1NldHVwRmlsbENhbGxiYWNrIGZpbGxT
ZWxlY3Rpb24gPSAwLAotICAgICAgICAgICAgICAgICAgICAgICBTVkdUZXh0Q2h1bmtTZXR1cFN0
cm9rZUNhbGxiYWNrIHN0cm9rZSA9IDAsCi0gICAgICAgICAgICAgICAgICAgICAgIFNWR1RleHRD
aHVua1NldHVwU3Ryb2tlQ2FsbGJhY2sgc3Ryb2tlU2VsZWN0aW9uID0gMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgU1ZHVGV4dENodW5rU2V0dXBGb3JlZ3JvdW5kQ2FsbGJhY2sgZm9yZWdyb3Vu
ZCA9IDApCisgICAgICAgICAgICAgICAgICAgICAgIFNWR1RleHRDaHVua0VuZENhbGxiYWNrIGVu
ZCA9IDApCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQogICAgICAgICAsIG1fd2Fsa2VyQ2Fs
bGJhY2sod2Fsa2VyKQogICAgICAgICAsIG1fc3RhcnRDYWxsYmFjayhzdGFydCkKICAgICAgICAg
LCBtX2VuZENhbGxiYWNrKGVuZCkKLSAgICAgICAgLCBtX3NldHVwQmFja2dyb3VuZENhbGxiYWNr
KGJhY2tncm91bmQpCi0gICAgICAgICwgbV9zZXR1cEZpbGxDYWxsYmFjayhmaWxsKQotICAgICAg
ICAsIG1fc2V0dXBGaWxsU2VsZWN0aW9uQ2FsbGJhY2soZmlsbFNlbGVjdGlvbikKLSAgICAgICAg
LCBtX3NldHVwU3Ryb2tlQ2FsbGJhY2soc3Ryb2tlKQotICAgICAgICAsIG1fc2V0dXBTdHJva2VT
ZWxlY3Rpb25DYWxsYmFjayhzdHJva2VTZWxlY3Rpb24pCi0gICAgICAgICwgbV9zZXR1cEZvcmVn
cm91bmRDYWxsYmFjayhmb3JlZ3JvdW5kKQogICAgIHsKICAgICAgICAgQVNTRVJUKG9iamVjdCk7
CiAgICAgICAgIEFTU0VSVCh3YWxrZXIpOwpAQCAtMzcyLDcxICszNDgsMTEgQEAgcHVibGljOgog
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCBi
b29sIHNldHVwQmFja2dyb3VuZChJbmxpbmVCb3gqIGJveCkKLSAgICB7Ci0gICAgICAgIGlmICht
X3NldHVwQmFja2dyb3VuZENhbGxiYWNrKQotICAgICAgICAgICAgcmV0dXJuICgqbV9vYmplY3Qu
Km1fc2V0dXBCYWNrZ3JvdW5kQ2FsbGJhY2spKGJveCk7Ci0KLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJv
b2wgc2V0dXBGaWxsKElubGluZUJveCogYm94KQotICAgIHsKLSAgICAgICAgaWYgKG1fc2V0dXBG
aWxsQ2FsbGJhY2spCi0gICAgICAgICAgICByZXR1cm4gKCptX29iamVjdC4qbV9zZXR1cEZpbGxD
YWxsYmFjaykoYm94KTsKLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHZpcnR1YWwgYm9vbCBzZXR1cEZpbGxTZWxlY3Rp
b24oSW5saW5lQm94KiBib3gpCi0gICAgewotICAgICAgICBpZiAobV9zZXR1cEZpbGxTZWxlY3Rp
b25DYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybiAoKm1fb2JqZWN0LiptX3NldHVwRmlsbFNl
bGVjdGlvbkNhbGxiYWNrKShib3gpOwotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgdmlydHVhbCBib29sIHNldHVwU3Ry
b2tlKElubGluZUJveCogYm94KQotICAgIHsKLSAgICAgICAgaWYgKG1fc2V0dXBTdHJva2VDYWxs
YmFjaykKLSAgICAgICAgICAgIHJldHVybiAoKm1fb2JqZWN0LiptX3NldHVwU3Ryb2tlQ2FsbGJh
Y2spKGJveCk7Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2V0dXBTdHJva2VTZWxlY3Rpb24o
SW5saW5lQm94KiBib3gpCi0gICAgewotICAgICAgICBpZiAobV9zZXR1cFN0cm9rZVNlbGVjdGlv
bkNhbGxiYWNrKQotICAgICAgICAgICAgcmV0dXJuICgqbV9vYmplY3QuKm1fc2V0dXBTdHJva2VT
ZWxlY3Rpb25DYWxsYmFjaykoYm94KTsKLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHZpcnR1YWwgYm9vbCBzZXR1cEZv
cmVncm91bmQoSW5saW5lQm94KiBib3gpCi0gICAgewotICAgICAgICBpZiAobV9zZXR1cEZvcmVn
cm91bmRDYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybiAoKm1fb2JqZWN0LiptX3NldHVwRm9y
ZWdyb3VuZENhbGxiYWNrKShib3gpOwotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCiBwcml2YXRlOgogICAgIENhbGxiYWNrQ2xh
c3MqIG1fb2JqZWN0OwogICAgIFNWR1RleHRDaHVua1dhbGtlckNhbGxiYWNrIG1fd2Fsa2VyQ2Fs
bGJhY2s7CiAgICAgU1ZHVGV4dENodW5rU3RhcnRDYWxsYmFjayBtX3N0YXJ0Q2FsbGJhY2s7CiAg
ICAgU1ZHVGV4dENodW5rRW5kQ2FsbGJhY2sgbV9lbmRDYWxsYmFjazsKLSAgICBTVkdUZXh0Q2h1
bmtTZXR1cEJhY2tncm91bmRDYWxsYmFjayBtX3NldHVwQmFja2dyb3VuZENhbGxiYWNrOwotICAg
IFNWR1RleHRDaHVua1NldHVwRmlsbENhbGxiYWNrIG1fc2V0dXBGaWxsQ2FsbGJhY2s7Ci0gICAg
U1ZHVGV4dENodW5rU2V0dXBGaWxsQ2FsbGJhY2sgbV9zZXR1cEZpbGxTZWxlY3Rpb25DYWxsYmFj
azsKLSAgICBTVkdUZXh0Q2h1bmtTZXR1cFN0cm9rZUNhbGxiYWNrIG1fc2V0dXBTdHJva2VDYWxs
YmFjazsKLSAgICBTVkdUZXh0Q2h1bmtTZXR1cFN0cm9rZUNhbGxiYWNrIG1fc2V0dXBTdHJva2VT
ZWxlY3Rpb25DYWxsYmFjazsKLSAgICBTVkdUZXh0Q2h1bmtTZXR1cEZvcmVncm91bmRDYWxsYmFj
ayBtX3NldHVwRm9yZWdyb3VuZENhbGxiYWNrOwogfTsKIAogc3RydWN0IFNWR1RleHRDaHVua0xh
eW91dEluZm8gewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJv
eC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAppbmRleCBkMGRk
NGE4Li42Y2MzY2VkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5l
Qm94LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcApAQCAt
NDM2LDEzICs0MzYsMTMgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAg
ICAgICAgIG1fcGFpbnRJbmZvLnJlY3QgPSBtX3NhdmVkSW5mby5yZWN0OwogICAgIH0KIAotICAg
IGJvb2wgY2h1bmtTZXR1cEJhY2tncm91bmRDYWxsYmFjayhJbmxpbmVCb3gqIC8qYm94Ki8pCisg
ICAgYm9vbCBzZXR1cEJhY2tncm91bmQoSW5saW5lQm94KiAvKmJveCovKQogICAgIHsKICAgICAg
ICAgbV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VCYWNrZ3Jv
dW5kOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGNodW5rU2V0dXBG
aWxsQ2FsbGJhY2soSW5saW5lQm94KiBib3gpCisgICAgYm9vbCBzZXR1cEZpbGwoSW5saW5lQm94
KiBib3gpCiAgICAgewogICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93Qm94ID0gYm94LT5wYXJl
bnQoKTsKIApAQCAtNDY0LDcgKzQ2NCw3IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRX
YWxrZXIgewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgYm9vbCBjaHVua1Nl
dHVwRmlsbFNlbGVjdGlvbkNhbGxiYWNrKElubGluZUJveCogYm94KQorICAgIGJvb2wgc2V0dXBG
aWxsU2VsZWN0aW9uKElubGluZUJveCogYm94KQogICAgIHsKICAgICAgICAgSW5saW5lRmxvd0Jv
eCogZmxvd0JveCA9IGJveC0+cGFyZW50KCk7CiAKQEAgLTQ5Miw3ICs0OTIsNyBAQCBzdHJ1Y3Qg
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIAotICAgIGJvb2wgY2h1bmtTZXR1cFN0cm9rZUNhbGxiYWNrKElubGluZUJveCogYm94KQor
ICAgIGJvb2wgc2V0dXBTdHJva2UoSW5saW5lQm94KiBib3gpCiAgICAgewogICAgICAgICBJbmxp
bmVGbG93Qm94KiBmbG93Qm94ID0gYm94LT5wYXJlbnQoKTsKIApAQCAtNTE2LDcgKzUxNiw3IEBA
IHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgYm9vbCBjaHVua1NldHVwU3Ryb2tlU2VsZWN0aW9uQ2FsbGJhY2so
SW5saW5lQm94KiBib3gpCisgICAgYm9vbCBzZXR1cFN0cm9rZVNlbGVjdGlvbihJbmxpbmVCb3gq
IGJveCkKICAgICB7CiAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3ggPSBib3gtPnBhcmVu
dCgpOwogCkBAIC01NDUsNyArNTQ1LDcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdh
bGtlciB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBib29sIGNodW5rU2V0
dXBGb3JlZ3JvdW5kQ2FsbGJhY2soSW5saW5lQm94KiAvKmJveCovKQorICAgIGJvb2wgc2V0dXBG
b3JlZ3JvdW5kKElubGluZUJveCogLypib3gqLykKICAgICB7CiAgICAgICAgIHRlYXJkb3duRmls
bFBhaW50U2VydmVyKCk7CiAgICAgICAgIHRlYXJkb3duU3Ryb2tlUGFpbnRTZXJ2ZXIoKTsKQEAg
LTU3Niw2ICs1NzYsMjggQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAg
ICAgdm9pZCBjaHVua1BvcnRpb25DYWxsYmFjayhTVkdJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94LCBp
bnQgc3RhcnRPZmZzZXQsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgY2h1bmtDdG0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBz
dGFydCwgY29uc3QgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgZW5kKQogICAgIHsKKyAgICAg
ICAgaWYgKHNldHVwQmFja2dyb3VuZCh0ZXh0Qm94KSkKKyAgICAgICAgICAgIHBhaW50Q2h1bmso
dGV4dEJveCwgc3RhcnRPZmZzZXQsIGNodW5rQ3RtLCBzdGFydCwgZW5kKTsKKworICAgICAgICBp
ZiAoc2V0dXBGaWxsKHRleHRCb3gpKQorICAgICAgICAgICAgcGFpbnRDaHVuayh0ZXh0Qm94LCBz
dGFydE9mZnNldCwgY2h1bmtDdG0sIHN0YXJ0LCBlbmQpOworICAgICAgICAKKyAgICAgICAgaWYg
KHNldHVwRmlsbFNlbGVjdGlvbih0ZXh0Qm94KSkKKyAgICAgICAgICAgIHBhaW50Q2h1bmsodGV4
dEJveCwgc3RhcnRPZmZzZXQsIGNodW5rQ3RtLCBzdGFydCwgZW5kKTsKKworICAgICAgICBpZiAo
c2V0dXBTdHJva2UodGV4dEJveCkpCisgICAgICAgICAgICBwYWludENodW5rKHRleHRCb3gsIHN0
YXJ0T2Zmc2V0LCBjaHVua0N0bSwgc3RhcnQsIGVuZCk7CisKKyAgICAgICAgaWYgKHNldHVwU3Ry
b2tlU2VsZWN0aW9uKHRleHRCb3gpKQorICAgICAgICAgICAgcGFpbnRDaHVuayh0ZXh0Qm94LCBz
dGFydE9mZnNldCwgY2h1bmtDdG0sIHN0YXJ0LCBlbmQpOworCisgICAgICAgIGlmIChzZXR1cEZv
cmVncm91bmQodGV4dEJveCkpCisgICAgICAgICAgICBwYWludENodW5rKHRleHRCb3gsIHN0YXJ0
T2Zmc2V0LCBjaHVua0N0bSwgc3RhcnQsIGVuZCk7CisgICAgfQorCisgICAgdm9pZCBwYWludENo
dW5rKFNWR0lubGluZVRleHRCb3gqIHRleHRCb3gsIGludCBzdGFydE9mZnNldCwgY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiBjaHVua0N0bSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgVmVjdG9y
PFNWR0NoYXI+OjppdGVyYXRvciYgc3RhcnQsIGNvbnN0IFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0
b3ImIGVuZCkKKyAgICB7CiAgICAgICAgIFJlbmRlclRleHQqIHRleHQgPSB0ZXh0Qm94LT50ZXh0
UmVuZGVyZXIoKTsKICAgICAgICAgQVNTRVJUKHRleHQpOwogCkBAIC02NzksMTMgKzcwMSw3IEBA
IHZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnQoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBh
aW50SW5mbywgaW50IHR4LCBpbnQgdHkpCiAgICAgICAgIFNWR1RleHRDaHVua1dhbGtlcjxTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXI+IHdhbGtlcigmd2Fsa2VyQ2FsbGJhY2ssCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpjaHVua1BvcnRpb25DYWxsYmFjaywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmNodW5rU3RhcnRDYWxsYmFjaywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmNodW5rRW5kQ2FsbGJhY2ssCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpjaHVua1NldHVwQmFja2dyb3VuZENhbGxiYWNr
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6Y2h1bmtTZXR1cEZpbGxDYWxs
YmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmNodW5rU2V0dXBGaWxs
U2VsZWN0aW9uQ2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpj
aHVua1NldHVwU3Ryb2tlQ2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHUm9vdElubGluZUJveFBhaW50V2Fs
a2VyOjpjaHVua1NldHVwU3Ryb2tlU2VsZWN0aW9uQ2FsbGJhY2ssCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHUm9vdElu
bGluZUJveFBhaW50V2Fsa2VyOjpjaHVua1NldHVwRm9yZWdyb3VuZENhbGxiYWNrKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmNodW5rRW5kQ2FsbGJhY2spOwogCiAgICAg
ICAgIHdhbGtUZXh0Q2h1bmtzKCZ3YWxrZXIpOwogICAgIH0KQEAgLTE3NzcsMjggKzE3OTMsNyBA
QCB2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OndhbGtUZXh0Q2h1bmtzKFNWR1RleHRDaHVua1dhbGtl
ckJhc2UqIHdhbGtlciwgY29uc3QgU1ZHSQogICAgICAgICAgICAgQVNTRVJUKGl0Q2hhckVuZCA8
PSBjdXJDaHVuay5lbmQpOwogCiAgICAgICAgICAgICAvLyBQcm9jZXNzIHRoaXMgY2h1bmsgcG9y
dGlvbgotICAgICAgICAgICAgaWYgKHRleHRCb3gpCi0gICAgICAgICAgICAgICAgKCp3YWxrZXIp
KHJhbmdlVGV4dEJveCwgcmFuZ2Uuc3RhcnRPZmZzZXQsIGN1ckNodW5rLmN0bSwgaXRDaGFyQmVn
aW4sIGl0Q2hhckVuZCk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAo
d2Fsa2VyLT5zZXR1cEJhY2tncm91bmQocmFuZ2UuYm94KSkKLSAgICAgICAgICAgICAgICAgICAg
KCp3YWxrZXIpKHJhbmdlVGV4dEJveCwgcmFuZ2Uuc3RhcnRPZmZzZXQsIGN1ckNodW5rLmN0bSwg
aXRDaGFyQmVnaW4sIGl0Q2hhckVuZCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAod2Fsa2VyLT5z
ZXR1cEZpbGwocmFuZ2UuYm94KSkKLSAgICAgICAgICAgICAgICAgICAgKCp3YWxrZXIpKHJhbmdl
VGV4dEJveCwgcmFuZ2Uuc3RhcnRPZmZzZXQsIGN1ckNodW5rLmN0bSwgaXRDaGFyQmVnaW4sIGl0
Q2hhckVuZCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAod2Fsa2VyLT5zZXR1cEZpbGxTZWxlY3Rp
b24ocmFuZ2UuYm94KSkKLSAgICAgICAgICAgICAgICAgICAgKCp3YWxrZXIpKHJhbmdlVGV4dEJv
eCwgcmFuZ2Uuc3RhcnRPZmZzZXQsIGN1ckNodW5rLmN0bSwgaXRDaGFyQmVnaW4sIGl0Q2hhckVu
ZCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAod2Fsa2VyLT5zZXR1cFN0cm9rZShyYW5nZS5ib3gp
KQotICAgICAgICAgICAgICAgICAgICAoKndhbGtlcikocmFuZ2VUZXh0Qm94LCByYW5nZS5zdGFy
dE9mZnNldCwgY3VyQ2h1bmsuY3RtLCBpdENoYXJCZWdpbiwgaXRDaGFyRW5kKTsKLQotICAgICAg
ICAgICAgICAgIGlmICh3YWxrZXItPnNldHVwU3Ryb2tlU2VsZWN0aW9uKHJhbmdlLmJveCkpCi0g
ICAgICAgICAgICAgICAgICAgICgqd2Fsa2VyKShyYW5nZVRleHRCb3gsIHJhbmdlLnN0YXJ0T2Zm
c2V0LCBjdXJDaHVuay5jdG0sIGl0Q2hhckJlZ2luLCBpdENoYXJFbmQpOwotCi0gICAgICAgICAg
ICAgICAgaWYgKHdhbGtlci0+c2V0dXBGb3JlZ3JvdW5kKHJhbmdlLmJveCkpCi0gICAgICAgICAg
ICAgICAgICAgICgqd2Fsa2VyKShyYW5nZVRleHRCb3gsIHJhbmdlLnN0YXJ0T2Zmc2V0LCBjdXJD
aHVuay5jdG0sIGl0Q2hhckJlZ2luLCBpdENoYXJFbmQpOwotCi0gICAgICAgICAgICB9CisgICAg
ICAgICAgICAoKndhbGtlcikocmFuZ2VUZXh0Qm94LCByYW5nZS5zdGFydE9mZnNldCwgY3VyQ2h1
bmsuY3RtLCBpdENoYXJCZWdpbiwgaXRDaGFyRW5kKTsKIAogICAgICAgICAgICAgY2h1bmtPZmZz
ZXQgKz0gbGVuZ3RoOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>