<?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>63576</bug_id>
          
          <creation_ts>2011-06-28 15:54:14 -0700</creation_ts>
          <short_desc>Switch PaintMask* to new layout types</short_desc>
          <delta_ts>2011-06-28 16:36:46 -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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>429212</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-28 15:54:14 -0700</bug_when>
    <thetext>Switching to the abstraction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429214</commentid>
    <comment_count>1</comment_count>
      <attachid>98988</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-28 15:57:11 -0700</bug_when>
    <thetext>Created attachment 98988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429227</commentid>
    <comment_count>2</comment_count>
      <attachid>98988</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-28 16:13:36 -0700</bug_when>
    <thetext>Comment on attachment 98988
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429228</commentid>
    <comment_count>3</comment_count>
      <attachid>98988</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-28 16:14:17 -0700</bug_when>
    <thetext>Comment on attachment 98988
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429254</commentid>
    <comment_count>4</comment_count>
      <attachid>98988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 16:36:41 -0700</bug_when>
    <thetext>Comment on attachment 98988
Patch

Clearing flags on attachment: 98988

Committed r89974: &lt;http://trac.webkit.org/changeset/89974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429255</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 16:36:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98988</attachid>
            <date>2011-06-28 15:57:11 -0700</date>
            <delta_ts>2011-06-28 16:36:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63576-20110628155709.patch</filename>
            <type>text/plain</type>
            <size>14675</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5OTcwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDYtMjggIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaCBQYWludE1hc2sqIHRvIG5ldyBsYXlvdXQgdHlw
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTc2
CisKKyAgICAgICAgU3dpdGNoaW5nIHBhaW50TWFzayogdG8gbGF5b3V0IHR5cGUgYWJzdHJhY3Rp
b24gZnJvbSBtb3JlIGludGVncmFsIHR5cGVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0
aGlzIGlzIGp1c3QgbW92aW5nIHRvIGFuIGFic3RyYWN0aW9uLgorCisgICAgICAgICogcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
cGFpbnRNYXNrKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
OjpwYWludE1hc2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWludE1hc2tJbWFn
ZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRmllbGRzZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmllbGRzZXQ6
OnBhaW50TWFzayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRhYmxlOjpwYWludE1hc2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGFibGVDZWxsOjpwYWludE1hc2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuaDoKKwogMjAxMS0wNi0yOCAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA4OTk3MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE2MywyMCArMTE2MywyMCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50Qm94
RGVjb3JhdGlvbnMoCiAgICAgfQogfQogCi12b2lkIElubGluZUZsb3dCb3g6OnBhaW50TWFzayhQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UG9pbnQmIHBhaW50T2Zmc2V0KQordm9pZCBJ
bmxpbmVGbG93Qm94OjpwYWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdp
dGhpblJvb3QocmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgp
ICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNrKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBQaXhlbCBzbmFwIG1hc2sgcGFpbnRpbmcuCi0gICAgSW50UmVj
dCBmcmFtZVJlY3QgPSByb3VuZGVkRnJhbWVSZWN0KCk7CisgICAgTGF5b3V0UmVjdCBmcmFtZVJl
Y3QgPSByb3VuZGVkRnJhbWVSZWN0KCk7CiAKICAgICBjb25zdHJhaW5Ub0xpbmVUb3BBbmRCb3R0
b21JZk5lZWRlZChmcmFtZVJlY3QpOwogICAgIAogICAgIC8vIE1vdmUgeC95IHRvIG91ciBjb29y
ZGluYXRlcy4KLSAgICBJbnRSZWN0IGxvY2FsUmVjdChmcmFtZVJlY3QpOworICAgIExheW91dFJl
Y3QgbG9jYWxSZWN0KGZyYW1lUmVjdCk7CiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKGxvY2FsUmVj
dCk7Ci0gICAgSW50UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9j
YWxSZWN0LmxvY2F0aW9uKCk7CisgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9
IHBhaW50T2Zmc2V0ICsgbG9jYWxSZWN0LmxvY2F0aW9uKCk7CiAKICAgICBjb25zdCBOaW5lUGll
Y2VJbWFnZSYgbWFza05pbmVQaWVjZUltYWdlID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+bWFza0Jv
eEltYWdlKCk7CiAgICAgU3R5bGVJbWFnZSogbWFza0JveEltYWdlID0gcmVuZGVyZXIoKS0+c3R5
bGUoKS0+bWFza0JveEltYWdlKCkuaW1hZ2UoKTsKQEAgLTExOTcsNyArMTE5Nyw3IEBAIHZvaWQg
SW5saW5lRmxvd0JveDo6cGFpbnRNYXNrKFBhaW50SW5mbyYKICAgICAgICAgfQogICAgIH0KIAot
ICAgIEludFJlY3QgcGFpbnRSZWN0ID0gSW50UmVjdChhZGp1c3RlZFBhaW50T2Zmc2V0LCBmcmFt
ZVJlY3Quc2l6ZSgpKTsKKyAgICBMYXlvdXRSZWN0IHBhaW50UmVjdCA9IExheW91dFJlY3QoYWRq
dXN0ZWRQYWludE9mZnNldCwgZnJhbWVSZWN0LnNpemUoKSk7CiAgICAgcGFpbnRGaWxsTGF5ZXJz
KHBhaW50SW5mbywgQ29sb3IoKSwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+bWFza0xheWVycygpLCBw
YWludFJlY3QsIGNvbXBvc2l0ZU9wKTsKICAgICAKICAgICBib29sIGhhc0JveEltYWdlID0gbWFz
a0JveEltYWdlICYmIG1hc2tCb3hJbWFnZS0+Y2FuUmVuZGVyKHJlbmRlcmVyKCktPnN0eWxlKCkt
PmVmZmVjdGl2ZVpvb20oKSk7CkBAIC0xMjA3LDI0ICsxMjA3LDI0IEBAIHZvaWQgSW5saW5lRmxv
d0JveDo6cGFpbnRNYXNrKFBhaW50SW5mbyYKICAgICAvLyBUaGUgc2ltcGxlIGNhc2UgaXMgd2hl
cmUgd2UgYXJlIHRoZSBvbmx5IGJveCBmb3IgdGhpcyBvYmplY3QuICBJbiB0aG9zZQogICAgIC8v
IGNhc2VzIG9ubHkgYSBzaW5nbGUgY2FsbCB0byBkcmF3IGlzIHJlcXVpcmVkLgogICAgIGlmICgh
cHJldkxpbmVCb3goKSAmJiAhbmV4dExpbmVCb3goKSkgewotICAgICAgICBib3hNb2RlbE9iamVj
dCgpLT5wYWludE5pbmVQaWVjZUltYWdlKHBhaW50SW5mby5jb250ZXh0LCBJbnRSZWN0KGFkanVz
dGVkUGFpbnRPZmZzZXQsIGZyYW1lUmVjdC5zaXplKCkpLCByZW5kZXJlcigpLT5zdHlsZSgpLCBt
YXNrTmluZVBpZWNlSW1hZ2UsIGNvbXBvc2l0ZU9wKTsKKyAgICAgICAgYm94TW9kZWxPYmplY3Qo
KS0+cGFpbnROaW5lUGllY2VJbWFnZShwYWludEluZm8uY29udGV4dCwgTGF5b3V0UmVjdChhZGp1
c3RlZFBhaW50T2Zmc2V0LCBmcmFtZVJlY3Quc2l6ZSgpKSwgcmVuZGVyZXIoKS0+c3R5bGUoKSwg
bWFza05pbmVQaWVjZUltYWdlLCBjb21wb3NpdGVPcCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
Ly8gV2UgaGF2ZSBhIG1hc2sgaW1hZ2UgdGhhdCBzcGFucyBtdWx0aXBsZSBsaW5lcy4KICAgICAg
ICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgX3R4IGFuZCBfdHkgYnkgdGhlIHdpZHRoIG9mIGFsbCBw
cmV2aW91cyBsaW5lcy4KLSAgICAgICAgaW50IGxvZ2ljYWxPZmZzZXRPbkxpbmUgPSAwOworICAg
ICAgICBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXRPbkxpbmUgPSAwOwogICAgICAgICBmb3IgKElu
bGluZUZsb3dCb3gqIGN1cnIgPSBwcmV2TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+cHJl
dkxpbmVCb3goKSkKICAgICAgICAgICAgIGxvZ2ljYWxPZmZzZXRPbkxpbmUgKz0gY3Vyci0+bG9n
aWNhbFdpZHRoKCk7Ci0gICAgICAgIGludCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxPZmZz
ZXRPbkxpbmU7CisgICAgICAgIExheW91dFVuaXQgdG90YWxMb2dpY2FsV2lkdGggPSBsb2dpY2Fs
T2Zmc2V0T25MaW5lOwogICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSB0aGlzOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkKICAgICAgICAgICAgIHRvdGFsTG9naWNh
bFdpZHRoICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpOwotICAgICAgICBpbnQgc3RyaXBYID0gYWRq
dXN0ZWRQYWludE9mZnNldC54KCkgLSAoaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsT2Zmc2V0T25M
aW5lIDogMCk7Ci0gICAgICAgIGludCBzdHJpcFkgPSBhZGp1c3RlZFBhaW50T2Zmc2V0LnkoKSAt
IChpc0hvcml6b250YWwoKSA/IDAgOiBsb2dpY2FsT2Zmc2V0T25MaW5lKTsKLSAgICAgICAgaW50
IHN0cmlwV2lkdGggPSBpc0hvcml6b250YWwoKSA/IHRvdGFsTG9naWNhbFdpZHRoIDogZnJhbWVS
ZWN0LndpZHRoKCk7Ci0gICAgICAgIGludCBzdHJpcEhlaWdodCA9IGlzSG9yaXpvbnRhbCgpID8g
ZnJhbWVSZWN0LmhlaWdodCgpIDogdG90YWxMb2dpY2FsV2lkdGg7CisgICAgICAgIExheW91dFVu
aXQgc3RyaXBYID0gYWRqdXN0ZWRQYWludE9mZnNldC54KCkgLSAoaXNIb3Jpem9udGFsKCkgPyBs
b2dpY2FsT2Zmc2V0T25MaW5lIDogMCk7CisgICAgICAgIExheW91dFVuaXQgc3RyaXBZID0gYWRq
dXN0ZWRQYWludE9mZnNldC55KCkgLSAoaXNIb3Jpem9udGFsKCkgPyAwIDogbG9naWNhbE9mZnNl
dE9uTGluZSk7CisgICAgICAgIExheW91dFVuaXQgc3RyaXBXaWR0aCA9IGlzSG9yaXpvbnRhbCgp
ID8gdG90YWxMb2dpY2FsV2lkdGggOiBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICAgICAgTGF5b3V0
VW5pdCBzdHJpcEhlaWdodCA9IGlzSG9yaXpvbnRhbCgpID8gZnJhbWVSZWN0LmhlaWdodCgpIDog
dG90YWxMb2dpY2FsV2lkdGg7CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBz
dGF0ZVNhdmVyKCpwYWludEluZm8uY29udGV4dCk7CiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0
LT5jbGlwKHBhaW50UmVjdCk7Ci0gICAgICAgIGJveE1vZGVsT2JqZWN0KCktPnBhaW50TmluZVBp
ZWNlSW1hZ2UocGFpbnRJbmZvLmNvbnRleHQsIEludFJlY3Qoc3RyaXBYLCBzdHJpcFksIHN0cmlw
V2lkdGgsIHN0cmlwSGVpZ2h0KSwgcmVuZGVyZXIoKS0+c3R5bGUoKSwgbWFza05pbmVQaWVjZUlt
YWdlLCBjb21wb3NpdGVPcCk7CisgICAgICAgIGJveE1vZGVsT2JqZWN0KCktPnBhaW50TmluZVBp
ZWNlSW1hZ2UocGFpbnRJbmZvLmNvbnRleHQsIExheW91dFJlY3Qoc3RyaXBYLCBzdHJpcFksIHN0
cmlwV2lkdGgsIHN0cmlwSGVpZ2h0KSwgcmVuZGVyZXIoKS0+c3R5bGUoKSwgbWFza05pbmVQaWVj
ZUltYWdlLCBjb21wb3NpdGVPcCk7CiAgICAgfQogICAgIAogICAgIGlmIChwdXNoVHJhbnNwYXJl
bmN5TGF5ZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJ
KHJldmlzaW9uIDg5OTcwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dC
b3guaAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKICAgICBJbnRS
ZWN0IHJvdW5kZWRGcmFtZVJlY3QoKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYpOwotICAgIHZpcnR1
YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAg
dm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgQ29sb3ImLCBjb25z
dCBGaWxsTGF5ZXIqLCBjb25zdCBMYXlvdXRSZWN0JiwgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21w
b3NpdGVTb3VyY2VPdmVyKTsKICAgICB2b2lkIHBhaW50RmlsbExheWVyKGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IENvbG9yJiwgY29uc3QgRmlsbExheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYsIENv
bXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CiAgICAgdm9pZCBwYWludEJv
eFNoYWRvdyhHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJTdHlsZSosIFNoYWRvd1N0eWxlLCBjb25z
dCBJbnRSZWN0Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAko
cmV2aXNpb24gODk5NzApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODc4LDEyICs4NzgsMTIgQEAgdm9pZCBSZW5kZXJCb3g6OnBh
aW50Qm94RGVjb3JhdGlvbnMoUGFpbgogICAgICAgICBwYWludEluZm8uY29udGV4dC0+ZW5kVHJh
bnNwYXJlbmN5TGF5ZXIoKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnBhaW50TWFzayhQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgSW50UG9pbnQmIHBhaW50T2Zmc2V0KQordm9pZCBSZW5kZXJC
b3g6OnBhaW50TWFzayhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2Zmc2V0KQogewogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdCh0
aGlzKSB8fCBzdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhh
c2UgIT0gUGFpbnRQaGFzZU1hc2sgfHwgcGFpbnRJbmZvLmNvbnRleHQtPnBhaW50aW5nRGlzYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBwYWludFJlY3QgPSBJbnRSZWN0
KHBhaW50T2Zmc2V0LCBzaXplKCkpOworICAgIExheW91dFJlY3QgcGFpbnRSZWN0ID0gTGF5b3V0
UmVjdChwYWludE9mZnNldCwgc2l6ZSgpKTsKIAogICAgIC8vIGJvcmRlci1maXQgY2FuIGFkanVz
dCB3aGVyZSB3ZSBwYWludCBvdXIgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kLiAgSWYgc2V0LCB3ZSBz
bnVnbHkgZml0IG91ciBsaW5lIGJveCBkZXNjZW5kYW50cy4gIChUaGUgaUNoYXQKICAgICAvLyBi
YWxsb29uIGxheW91dCBpcyBhbiBleGFtcGxlIG9mIHRoaXMpLgpAQCAtODkyLDcgKzg5Miw3IEBA
IHZvaWQgUmVuZGVyQm94OjpwYWludE1hc2soUGFpbnRJbmZvJiBwYWkKICAgICBwYWludE1hc2tJ
bWFnZXMocGFpbnRJbmZvLCBwYWludFJlY3QpOwogfQogCi12b2lkIFJlbmRlckJveDo6cGFpbnRN
YXNrSW1hZ2VzKGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiBwYWlu
dFJlY3QpCit2b2lkIFJlbmRlckJveDo6cGFpbnRNYXNrSW1hZ2VzKGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlY3QpCiB7CiAgICAgLy8gRmlndXJl
IG91dCBpZiB3ZSBuZWVkIHRvIHB1c2ggYSB0cmFuc3BhcmVuY3kgbGF5ZXIgdG8gcmVuZGVyIG91
ciBtYXNrLgogICAgIGJvb2wgcHVzaFRyYW5zcGFyZW5jeUxheWVyID0gZmFsc2U7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA4OTk3MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDcg
KzM1NCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludElu
Zm8mLCBjb25zdCBJbnRQb2ludCYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYp
OwotICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBv
aW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNv
bnN0IEludFJlY3QqID0gMCk7CiAKICAgICAvLyBDYWxsZWQgd2hlbiBhIHBvc2l0aW9uZWQgb2Jq
ZWN0IG1vdmVzIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGNoYW5nZSBzaXplLiAgQSBzaW1wbGlm
aWVkIGxheW91dCBpcyBhdHRlbXB0ZWQKQEAgLTQyMCw3ICs0MjAsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdm9pZCBwYWludEZpbGxMYXllcihjb25zdCBQYWludEluZm8mLCBjb25zdCBDb2xvciYsIGNv
bnN0IEZpbGxMYXllciosIGNvbnN0IExheW91dFJlY3QmLCBCYWNrZ3JvdW5kQmxlZWRBdm9pZGFu
Y2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBSZW5kZXJPYmplY3QqIGJhY2tncm91bmRPYmplY3QpOwog
ICAgIHZvaWQgcGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9yJiwg
Y29uc3QgRmlsbExheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYsIEJhY2tncm91bmRCbGVlZEF2b2lk
YW5jZSA9IEJhY2tncm91bmRCbGVlZE5vbmUsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRl
U291cmNlT3ZlciwgUmVuZGVyT2JqZWN0KiBiYWNrZ3JvdW5kT2JqZWN0ID0gMCk7CiAKLSAgICB2
b2lkIHBhaW50TWFza0ltYWdlcyhjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7Cisg
ICAgdm9pZCBwYWludE1hc2tJbWFnZXMoY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UmVj
dCYpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQo
Y29uc3QgSW50UG9pbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYmVoaW5kVGV4
dCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHAJ
KHJldmlzaW9uIDg5OTcwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxk
c2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDEyICsxNjgsMTIgQEAgdm9pZCBSZW5kZXJG
aWVsZHNldDo6cGFpbnRCb3hEZWNvcmF0aW9ucwogICAgIHBhaW50Qm9yZGVyKHBhaW50SW5mby5j
b250ZXh0LCBwYWludFJlY3QsIHN0eWxlKCkpOwogfQogCi12b2lkIFJlbmRlckZpZWxkc2V0Ojpw
YWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNl
dCkKK3ZvaWQgUmVuZGVyRmllbGRzZXQ6OnBhaW50TWFzayhQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogewogICAgIGlmIChzdHlsZSgpLT52aXNp
YmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZU1hc2sp
CiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgcGFpbnRSZWN0ID0gSW50UmVjdChwYWlu
dE9mZnNldCwgc2l6ZSgpKTsKKyAgICBMYXlvdXRSZWN0IHBhaW50UmVjdCA9IExheW91dFJlY3Qo
cGFpbnRPZmZzZXQsIHNpemUoKSk7CiAgICAgUmVuZGVyQm94KiBsZWdlbmQgPSBmaW5kTGVnZW5k
KCk7CiAgICAgaWYgKCFsZWdlbmQpCiAgICAgICAgIHJldHVybiBSZW5kZXJCbG9jazo6cGFpbnRN
YXNrKHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwpAQCAtMTgyLDExICsxODIsMTEgQEAgdm9pZCBS
ZW5kZXJGaWVsZHNldDo6cGFpbnRNYXNrKFBhaW50SW5mbwogICAgIC8vIGNhc2VzIHRoZSBsZWdl
bmQgaXMgZW1iZWRkZWQgaW4gdGhlIHJpZ2h0IGFuZCBib3R0b20gYm9yZGVycyByZXNwZWN0aXZl
bHkuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MjM2
CiAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKLSAgICAgICAg
aW50IHlPZmYgPSAobGVnZW5kLT55KCkgPiAwKSA/IDAgOiAobGVnZW5kLT5oZWlnaHQoKSAtIGJv
cmRlclRvcCgpKSAvIDI7CisgICAgICAgIExheW91dFVuaXQgeU9mZiA9IChsZWdlbmQtPnkoKSA+
IDApID8gMCA6IChsZWdlbmQtPmhlaWdodCgpIC0gYm9yZGVyVG9wKCkpIC8gMjsKICAgICAgICAg
cGFpbnRSZWN0LmV4cGFuZCgwLCAteU9mZik7CiAgICAgICAgIHBhaW50UmVjdC5tb3ZlKDAsIHlP
ZmYpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGludCB4T2ZmID0gKGxlZ2VuZC0+eCgpID4gMCkg
PyAwIDogKGxlZ2VuZC0+d2lkdGgoKSAtIGJvcmRlckxlZnQoKSkgLyAyOworICAgICAgICBMYXlv
dXRVbml0IHhPZmYgPSAobGVnZW5kLT54KCkgPiAwKSA/IDAgOiAobGVnZW5kLT53aWR0aCgpIC0g
Ym9yZGVyTGVmdCgpKSAvIDI7CiAgICAgICAgIHBhaW50UmVjdC5leHBhbmQoLXhPZmYsIDApOwog
ICAgICAgICBwYWludFJlY3QubW92ZSh4T2ZmLCAwKTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaAkocmV2aXNpb24gODk5NzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNyArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzdHJldGNoZXNUb01pbklu
dHJpbnNpY0xvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1
YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGNvbnN0IEludFBvaW50Jik7
Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYp
OworICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9p
bnQmKTsKIH07CiAKIGlubGluZSBSZW5kZXJGaWVsZHNldCogdG9SZW5kZXJGaWVsZHNldChSZW5k
ZXJPYmplY3QqIG9iamVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmNwcAkocmV2aXNpb24gODk5NzApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzIsMTIgKzU3MiwxMiBAQCB2b2lkIFJl
bmRlclRhYmxlOjpwYWludEJveERlY29yYXRpb25zKFBhCiAgICAgICAgIHBhaW50Qm9yZGVyKHBh
aW50SW5mby5jb250ZXh0LCByZWN0LCBzdHlsZSgpKTsKIH0KIAotdm9pZCBSZW5kZXJUYWJsZTo6
cGFpbnRNYXNrKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRQb2ludCYgcGFpbnRPZmZz
ZXQpCit2b2lkIFJlbmRlclRhYmxlOjpwYWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoc3R5bGUoKS0+dmlzaWJp
bGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNrKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBJbnRSZWN0IHJlY3QocGFpbnRPZmZzZXQsIHNpemUoKSk7
CisgICAgTGF5b3V0UmVjdCByZWN0KHBhaW50T2Zmc2V0LCBzaXplKCkpOwogICAgIHN1YnRyYWN0
Q2FwdGlvblJlY3QocmVjdCk7CiAKICAgICBwYWludE1hc2tJbWFnZXMocGFpbnRJbmZvLCByZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCShyZXZpc2lvbiA4
OTk3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTcsNyArMjE3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRP
YmplY3QoUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYpOwotICAgIHZpcnR1
YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAg
dmlydHVhbCB2b2lkIGxheW91dCgpOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocygpOwogICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRh
aW5lciwgY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCShy
ZXZpc2lvbiA4OTk3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDE5LDcgKzEwMTksNyBAQCB2b2lkIFJlbmRlclRh
YmxlQ2VsbDo6cGFpbnRCb3hEZWNvcmF0aW9uCiAgICAgcGFpbnRCb3JkZXIocGFpbnRJbmZvLmNv
bnRleHQsIHBhaW50UmVjdCwgc3R5bGUoKSk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVDZWxsOjpw
YWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNl
dCkKK3ZvaWQgUmVuZGVyVGFibGVDZWxsOjpwYWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoc3R5bGUoKS0+dmlz
aWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNr
KQogICAgICAgICByZXR1cm47CkBAIC0xMDI4LDcgKzEwMjgsNyBAQCB2b2lkIFJlbmRlclRhYmxl
Q2VsbDo6cGFpbnRNYXNrKFBhaW50SW5mCiAgICAgaWYgKCF0YWJsZUVsdC0+Y29sbGFwc2VCb3Jk
ZXJzKCkgJiYgc3R5bGUoKS0+ZW1wdHlDZWxscygpID09IEhJREUgJiYgIWZpcnN0Q2hpbGQoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgCi0gICAgcGFpbnRNYXNrSW1hZ2VzKHBhaW50SW5mbywgSW50
UmVjdChwYWludE9mZnNldCwgc2l6ZSgpKSk7CisgICAgcGFpbnRNYXNrSW1hZ2VzKHBhaW50SW5m
bywgTGF5b3V0UmVjdChwYWludE9mZnNldCwgc2l6ZSgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyVGFi
bGVDZWxsOjpzY3JvbGxiYXJzQ2hhbmdlZChib29sIGhvcml6b250YWxTY3JvbGxiYXJDaGFuZ2Vk
LCBib29sIHZlcnRpY2FsU2Nyb2xsYmFyQ2hhbmdlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgJKHJldmlzaW9uIDg5OTcwKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMs
NyArMTQzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUxvZ2ljYWxXaWR0
aCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwg
Y29uc3QgSW50UG9pbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYs
IGNvbnN0IEludFBvaW50Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8m
LCBjb25zdCBMYXlvdXRQb2ludCYpOwogCiAgICAgdmlydHVhbCBJbnRTaXplIG9mZnNldEZyb21D
b250YWluZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICB2aXJ0
dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>