<?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>71184</bug_id>
          
          <creation_ts>2011-10-30 03:52:15 -0700</creation_ts>
          <short_desc>Move checkIntersection/checkEnclosure from RenderSVGModelObject to SVGRenderSupport</short_desc>
          <delta_ts>2013-02-15 23:27:03 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>11274</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>eric</cc>
    
    <cc>pdr</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>schenney</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493036</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-10-30 03:52:15 -0700</bug_when>
    <thetext>I&apos;ll move checkIntersection/checkEnclosure from RenderSVGModelObject to SVGRenderSupport. Both functions are not only related to RenderSVGModelObject and its subclasses, but to all SVG renderer. Therefor SVGRenderSupport is a better place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493037</commentid>
    <comment_count>1</comment_count>
      <attachid>112992</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-10-30 04:01:54 -0700</bug_when>
    <thetext>Created attachment 112992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493039</commentid>
    <comment_count>2</comment_count>
      <attachid>112992</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-30 06:48:18 -0700</bug_when>
    <thetext>Comment on attachment 112992
Patch

I think this is the wrong direction. We were trying to slowly kill SVGRenderSupport, remember?
Why not keep them in RenderSVGModelObject, after-all they are static there?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112992</attachid>
            <date>2011-10-30 04:01:54 -0700</date>
            <delta_ts>2013-02-15 23:27:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71184-20111030120151.patch</filename>
            <type>text/plain</type>
            <size>10357</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODI1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMTAtMzAgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIGNoZWNrSW50ZXJzZWN0aW9u
L2NoZWNrRW5jbG9zdXJlIGZyb20gUmVuZGVyU1ZHTW9kZWxPYmplY3QgdG8gU1ZHUmVuZGVyU3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEx
ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHBhdGNoIG1vdmVzIGNoZWNrSW50ZXJzZWN0aW9uLCBjaGVja0VuY2xvc3VyZSBhbmQgdGhlaXIg
aGVscGVyIGZ1bmN0aW9ucyBmcm9tIFJlbmRlclNWR01vZGVsT2JqZWN0IHRvIFNWR1JlbmRlclN1
cHBvcnQuCisgICAgICAgIEJvdGggZnVuY3Rpb25zIGFyZSBub3Qgb25seSByZWxhdGVkIHRvIFJl
bmRlclNWR01vZGVsT2JqZWN0IGFuZCBpdHMgc3ViY2xhc3NlcywgYnV0IHRvIGFsbCBTVkcgcmVu
ZGVyZXIuIENvZGUgdGhhdCBhZmZlY3RzCisgICAgICAgIGFsbCBTVkcgcmVuZGVyZXJzIHNob3Vs
ZCBiZSBsb2NhdGVkIGF0IFNWR1JlbmRlclN1cHBvcnQuCisKKyAgICAgICAgVGhpcyBpcyBqdXN0
IGEgY2xlYW51cCBwYXRjaCBhbmQgZG9lc24ndCBhZmZlY3QgV2ViQ29yZXMgYmVoYXZpb3IuIE5v
IG5ldyB0ZXN0IHdlcmUgYWRkZWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmdldEVsZW1lbnRDVE0pOgorICAgICAgICAoV2ViQ29yZTo6aW50
ZXJzZWN0c0FsbG93aW5nRW1wdHkpOgorICAgICAgICAoV2ViQ29yZTo6aXNHcmFwaGljc0VsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6Y2hlY2tJbnRlcnNlY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6Y2hlY2tFbmNsb3N1cmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAgICAq
IHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6
OmNoZWNrSW50ZXJzZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OmNo
ZWNrRW5jbG9zdXJlKToKKwogMjAxMS0xMC0yOSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiA5ODgyNSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNzIgKzExMyw2IEBAIGJvb2wgUmVuZGVyU1ZHTW9kZWxP
YmplY3Q6Om5vZGVBdFBvaW50KGMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lk
IGdldEVsZW1lbnRDVE0oU1ZHRWxlbWVudCogZWxlbWVudCwgQWZmaW5lVHJhbnNmb3JtJiB0cmFu
c2Zvcm0pCi17Ci0gICAgQVNTRVJUKGVsZW1lbnQpOwotICAgIGVsZW1lbnQtPmRvY3VtZW50KCkt
PnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotCi0gICAgU1ZHRWxlbWVu
dCogc3RvcEF0RWxlbWVudCA9IFNWR0xvY2F0YWJsZTo6bmVhcmVzdFZpZXdwb3J0RWxlbWVudChl
bGVtZW50KTsKLSAgICBBU1NFUlQoc3RvcEF0RWxlbWVudCk7Ci0KLSAgICBOb2RlKiBjdXJyZW50
ID0gZWxlbWVudDsKLSAgICB3aGlsZSAoY3VycmVudCAmJiBjdXJyZW50LT5pc1NWR0VsZW1lbnQo
KSkgewotICAgICAgICBTVkdFbGVtZW50KiBjdXJyZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNW
R0VsZW1lbnQqPihjdXJyZW50KTsKLSAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LT5pc1N0eWxl
ZCgpKQotICAgICAgICAgICAgdHJhbnNmb3JtID0gY29uc3RfY2FzdDxBZmZpbmVUcmFuc2Zvcm0m
PihjdXJyZW50RWxlbWVudC0+cmVuZGVyZXIoKS0+bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKS5t
dWx0aXBseSh0cmFuc2Zvcm0pOwotCi0gICAgICAgIC8vIEZvciBnZXRDVE0oKSBjb21wdXRhdGlv
biwgc3RvcCBhdCB0aGUgbmVhcmVzdCB2aWV3cG9ydCBlbGVtZW50Ci0gICAgICAgIGlmIChjdXJy
ZW50RWxlbWVudCA9PSBzdG9wQXRFbGVtZW50KQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAg
ICAgY3VycmVudCA9IGN1cnJlbnQtPnBhcmVudE9ySG9zdE5vZGUoKTsKLSAgICB9Ci19Ci0KLS8v
IEZsb2F0UmVjdDo6aW50ZXJzZWN0cyBkb2VzIG5vdCBjb25zaWRlciBob3Jpem9udGFsIG9yIHZl
cnRpY2FsIGxpbmVzIChiZWNhdXNlIG9mIGlzRW1wdHkoKSkuCi0vLyBTbyBzcGVjaWFsLWNhc2Ug
aGFuZGxpbmcgb2Ygc3VjaCBsaW5lcy4KLXN0YXRpYyBib29sIGludGVyc2VjdHNBbGxvd2luZ0Vt
cHR5KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBvdGhlcikKLXsKLSAgICBp
ZiAoci5pc0VtcHR5KCkgJiYgb3RoZXIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKHIuaXNFbXB0eSgpICYmICFvdGhlci5pc0VtcHR5KCkpIHsKLSAgICAgICAgcmV0
dXJuIChvdGhlci5jb250YWlucyhyLngoKSwgci55KCkpICYmICFvdGhlci5jb250YWlucyhyLm1h
eFgoKSwgci5tYXhZKCkpKQotICAgICAgICAgICAgICAgfHwgKCFvdGhlci5jb250YWlucyhyLngo
KSwgci55KCkpICYmIG90aGVyLmNvbnRhaW5zKHIubWF4WCgpLCByLm1heFkoKSkpOwotICAgIH0K
LSAgICBpZiAob3RoZXIuaXNFbXB0eSgpICYmICFyLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IGludGVyc2VjdHNBbGxvd2luZ0VtcHR5KG90aGVyLCByKTsKLSAgICByZXR1cm4gci5pbnRlcnNl
Y3RzKG90aGVyKTsKLX0KLQotLy8gT25lIG9mIHRoZSBlbGVtZW50IHR5cGVzIHRoYXQgY2FuIGNh
dXNlIGdyYXBoaWNzIHRvIGJlIGRyYXduIG9udG8gdGhlIHRhcmdldCBjYW52YXMuIFNwZWNpZmlj
YWxseTogY2lyY2xlLCBlbGxpcHNlLAotLy8gaW1hZ2UsIGxpbmUsIHBhdGgsIHBvbHlnb24sIHBv
bHlsaW5lLCByZWN0LCB0ZXh0IGFuZCB1c2UuCi1zdGF0aWMgYm9vbCBpc0dyYXBoaWNzRWxlbWVu
dChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQotewotICAgIHJldHVybiByZW5kZXJlci0+aXNTVkdQ
YXRoKCkgfHwgcmVuZGVyZXItPmlzU1ZHVGV4dCgpIHx8IHJlbmRlcmVyLT5pc1NWR0ltYWdlKCkg
fHwgcmVuZGVyZXItPmlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWluZXIoKTsKLX0KLQotYm9vbCBS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNlY3Rpb24oUmVuZGVyT2JqZWN0KiByZW5k
ZXJlciwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQotewotICAgIGlmICghcmVuZGVyZXIgfHwgcmVu
ZGVyZXItPnN0eWxlKCktPnBvaW50ZXJFdmVudHMoKSA9PSBQRV9OT05FKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKCFpc0dyYXBoaWNzRWxlbWVudChyZW5kZXJlcikpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBBZmZpbmVUcmFuc2Zvcm0gY3RtOwotICAgIGdldEVsZW1lbnRD
VE0oc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KHJlbmRlcmVyLT5ub2RlKCkpLCBjdG0pOwotICAg
IHJldHVybiBpbnRlcnNlY3RzQWxsb3dpbmdFbXB0eShyZWN0LCBjdG0ubWFwUmVjdChyZW5kZXJl
ci0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotfQotCi1ib29sIFJlbmRlclNW
R01vZGVsT2JqZWN0OjpjaGVja0VuY2xvc3VyZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCi17Ci0gICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5
bGUoKS0+cG9pbnRlckV2ZW50cygpID09IFBFX05PTkUpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoIWlzR3JhcGhpY3NFbGVtZW50KHJlbmRlcmVyKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIEFmZmluZVRyYW5zZm9ybSBjdG07Ci0gICAgZ2V0RWxlbWVudENUTShzdGF0aWNf
Y2FzdDxTVkdFbGVtZW50Kj4ocmVuZGVyZXItPm5vZGUoKSksIGN0bSk7Ci0gICAgcmV0dXJuIHJl
Y3QuY29udGFpbnMoY3RtLm1hcFJlY3QocmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFNWRykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR01vZGVsT2JqZWN0LmgJKHJldmlzaW9uIDk4ODI1KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Myw5ICs2Myw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5
bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpOwogCi0gICAgc3RhdGljIGJvb2wgY2hlY2tJbnRlcnNl
Y3Rpb24oUmVuZGVyT2JqZWN0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgc3RhdGljIGJvb2wg
Y2hlY2tFbmNsb3N1cmUoUmVuZGVyT2JqZWN0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0KIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkocmV2
aXNpb24gOTg4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1
cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTAsNiArMzUwLDcyIEBAIHZvaWQgU1ZHUmVu
ZGVyU3VwcG9ydDo6YXBwbHlTdHJva2VTdHlsZVQKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIGdl
dEVsZW1lbnRDVE0oU1ZHRWxlbWVudCogZWxlbWVudCwgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zv
cm0pCit7CisgICAgQVNTRVJUKGVsZW1lbnQpOworICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIAorICAgIFNWR0VsZW1l
bnQqIHN0b3BBdEVsZW1lbnQgPSBTVkdMb2NhdGFibGU6Om5lYXJlc3RWaWV3cG9ydEVsZW1lbnQo
ZWxlbWVudCk7CisgICAgQVNTRVJUKHN0b3BBdEVsZW1lbnQpOworICAgIAorICAgIE5vZGUqIGN1
cnJlbnQgPSBlbGVtZW50OworICAgIHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQtPmlzU1ZHRWxl
bWVudCgpKSB7CisgICAgICAgIFNWR0VsZW1lbnQqIGN1cnJlbnRFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRWxlbWVudCo+KGN1cnJlbnQpOworICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQtPmlz
U3R5bGVkKCkpCisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBjb25zdF9jYXN0PEFmZmluZVRyYW5z
Zm9ybSY+KGN1cnJlbnRFbGVtZW50LT5yZW5kZXJlcigpLT5sb2NhbFRvUGFyZW50VHJhbnNmb3Jt
KCkpLm11bHRpcGx5KHRyYW5zZm9ybSk7CisgICAgICAgIAorICAgICAgICAvLyBGb3IgZ2V0Q1RN
KCkgY29tcHV0YXRpb24sIHN0b3AgYXQgdGhlIG5lYXJlc3Qgdmlld3BvcnQgZWxlbWVudAorICAg
ICAgICBpZiAoY3VycmVudEVsZW1lbnQgPT0gc3RvcEF0RWxlbWVudCkKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQtPnBhcmVudE9ySG9zdE5v
ZGUoKTsKKyAgICB9Cit9CisKKy8vIEZsb2F0UmVjdDo6aW50ZXJzZWN0cyBkb2VzIG5vdCBjb25z
aWRlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGxpbmVzIChiZWNhdXNlIG9mIGlzRW1wdHkoKSku
CisvLyBTbyBzcGVjaWFsLWNhc2UgaGFuZGxpbmcgb2Ygc3VjaCBsaW5lcy4KK3N0YXRpYyBib29s
IGludGVyc2VjdHNBbGxvd2luZ0VtcHR5KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRS
ZWN0JiBvdGhlcikKK3sKKyAgICBpZiAoci5pc0VtcHR5KCkgJiYgb3RoZXIuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHIuaXNFbXB0eSgpICYmICFvdGhlci5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgcmV0dXJuIChvdGhlci5jb250YWlucyhyLngoKSwgci55KCkpICYm
ICFvdGhlci5jb250YWlucyhyLm1heFgoKSwgci5tYXhZKCkpKQorICAgICAgICB8fCAoIW90aGVy
LmNvbnRhaW5zKHIueCgpLCByLnkoKSkgJiYgb3RoZXIuY29udGFpbnMoci5tYXhYKCksIHIubWF4
WSgpKSk7CisgICAgfQorICAgIGlmIChvdGhlci5pc0VtcHR5KCkgJiYgIXIuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gaW50ZXJzZWN0c0FsbG93aW5nRW1wdHkob3RoZXIsIHIpOworICAgIHJl
dHVybiByLmludGVyc2VjdHMob3RoZXIpOworfQorCisvLyBPbmUgb2YgdGhlIGVsZW1lbnQgdHlw
ZXMgdGhhdCBjYW4gY2F1c2UgZ3JhcGhpY3MgdG8gYmUgZHJhd24gb250byB0aGUgdGFyZ2V0IGNh
bnZhcy4gU3BlY2lmaWNhbGx5OiBjaXJjbGUsIGVsbGlwc2UsCisvLyBpbWFnZSwgbGluZSwgcGF0
aCwgcG9seWdvbiwgcG9seWxpbmUsIHJlY3QsIHRleHQgYW5kIHVzZS4KK3N0YXRpYyBib29sIGlz
R3JhcGhpY3NFbGVtZW50KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJl
bmRlcmVyLT5pc1NWR1BhdGgoKSB8fCByZW5kZXJlci0+aXNTVkdUZXh0KCkgfHwgcmVuZGVyZXIt
PmlzU1ZHSW1hZ2UoKSB8fCByZW5kZXJlci0+aXNTVkdTaGFkb3dUcmVlUm9vdENvbnRhaW5lcigp
OworfQorCitib29sIFNWR1JlbmRlclN1cHBvcnQ6OmNoZWNrSW50ZXJzZWN0aW9uKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAoIXJlbmRl
cmVyIHx8IHJlbmRlcmVyLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgPT0gUEVfTk9ORSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghaXNHcmFwaGljc0VsZW1lbnQocmVuZGVyZXIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQWZmaW5lVHJhbnNmb3JtIGN0bTsKKyAgICBn
ZXRFbGVtZW50Q1RNKHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihyZW5kZXJlci0+bm9kZSgpKSwg
Y3RtKTsKKyAgICByZXR1cm4gaW50ZXJzZWN0c0FsbG93aW5nRW1wdHkocmVjdCwgY3RtLm1hcFJl
Y3QocmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKK30KKworYm9v
bCBTVkdSZW5kZXJTdXBwb3J0OjpjaGVja0VuY2xvc3VyZShSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJl
ci0+c3R5bGUoKS0+cG9pbnRlckV2ZW50cygpID09IFBFX05PTkUpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBpZiAoIWlzR3JhcGhpY3NFbGVtZW50KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIEFmZmluZVRyYW5zZm9ybSBjdG07CisgICAgZ2V0RWxlbWVudENUTShz
dGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4ocmVuZGVyZXItPm5vZGUoKSksIGN0bSk7CisgICAgcmV0
dXJuIHJlY3QuY29udGFpbnMoY3RtLm1hcFJlY3QocmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkpKTsKK30KKwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCShyZXZpc2lvbiA5ODgyNSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OCw2ICs2OCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gU2hhcmVkIGJldHdl
ZW4gU1ZHIHJlbmRlcmVycyBhbmQgcmVzb3VyY2VzLgogICAgIHN0YXRpYyB2b2lkIGFwcGx5U3Ry
b2tlU3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBj
b25zdCBSZW5kZXJPYmplY3QqKTsKIAorICAgIC8vIE5lZWRlZCBmb3IgZ2V0SW50ZXJzZWN0aW9u
TGlzdCgpIGFuZCBnZXRFbmNsb3N1cmVMaXN0KCkuCisgICAgc3RhdGljIGJvb2wgY2hlY2tJbnRl
cnNlY3Rpb24oUmVuZGVyT2JqZWN0KiwgY29uc3QgRmxvYXRSZWN0Jik7CisgICAgc3RhdGljIGJv
b2wgY2hlY2tFbmNsb3N1cmUoUmVuZGVyT2JqZWN0KiwgY29uc3QgRmxvYXRSZWN0Jik7CisKICAg
ICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBkbyBub3QgYmVsb25nIGhlcmUuCiAgICAgc3RhdGlj
IGNvbnN0IFJlbmRlclNWR1Jvb3QqIGZpbmRUcmVlUm9vdE9iamVjdChjb25zdCBSZW5kZXJPYmpl
Y3QqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24g
OTg4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1ZGUg
IlJlbmRlclNWR01vZGVsT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU01JTFRpbWVD
b250YWluZXIuaCIKQEAgLTQ3LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFu
Y2UuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1Zp
ZXdFbGVtZW50LmgiCkBAIC00MTYsMTIgKzQxNiwxMiBAQCBQYXNzUmVmUHRyPE5vZGVMaXN0PiBT
VkdTVkdFbGVtZW50OjpnZXRFCiAKIGJvb2wgU1ZHU1ZHRWxlbWVudDo6Y2hlY2tJbnRlcnNlY3Rp
b24oU1ZHRWxlbWVudCogZWxlbWVudCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAogewot
ICAgIHJldHVybiBSZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNlY3Rpb24oZWxlbWVu
dC0+cmVuZGVyZXIoKSwgcmVjdCk7CisgICAgcmV0dXJuIFNWR1JlbmRlclN1cHBvcnQ6OmNoZWNr
SW50ZXJzZWN0aW9uKGVsZW1lbnQtPnJlbmRlcmVyKCksIHJlY3QpOwogfQogCiBib29sIFNWR1NW
R0VsZW1lbnQ6OmNoZWNrRW5jbG9zdXJlKFNWR0VsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICByZXR1cm4gUmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNo
ZWNrRW5jbG9zdXJlKGVsZW1lbnQtPnJlbmRlcmVyKCksIHJlY3QpOworICAgIHJldHVybiBTVkdS
ZW5kZXJTdXBwb3J0OjpjaGVja0VuY2xvc3VyZShlbGVtZW50LT5yZW5kZXJlcigpLCByZWN0KTsK
IH0KIAogdm9pZCBTVkdTVkdFbGVtZW50OjpkZXNlbGVjdEFsbCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>