<?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>75999</bug_id>
          
          <creation_ts>2012-01-10 15:33:35 -0800</creation_ts>
          <short_desc>[chromium] Color profiles are incorrect for images without premultiplied alpha</short_desc>
          <delta_ts>2012-01-17 22:38:06 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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>76498</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>caryclark</cc>
    
    <cc>cmarrin</cc>
    
    <cc>gman</cc>
    
    <cc>jamesr</cc>
    
    <cc>jbauman</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>reed</cc>
    
    <cc>senorblanco</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>533416</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-10 15:33:35 -0800</bug_when>
    <thetext>The test case for http://crbug.com/108237 demonstrates that when a PNG containing an alpha channel is loaded via the Skia backend on Mac OS X with the WebGL setting premultiplyAlpha=false, the resulting colors are incorrect.

The problem is in the application of the color space in resolveColorSpace(), ImageDecoderSkia.cpp via CoreGraphics. There are a couple of basic assumptions that the alpha channel is premultiplied, one in SkCreateCGImageRefWithColorspace, and one in the creation of the CGBitmapContext. It doesn&apos;t look like there is any way to apply the color space conversion without a premultiplied alpha channel; creation of a CGBitmapContext fails if the flag kCGImageAlphaFirst is passed instead of kCGImageAlphaPremultipliedFirst.

Minimally, the code should be updated to skip the application of the color space if the caller has specified separate alpha.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533551</commentid>
    <comment_count>1</comment_count>
      <attachid>121955</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-10 18:17:06 -0800</bug_when>
    <thetext>Created attachment 121955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533802</commentid>
    <comment_count>2</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2012-01-11 05:05:19 -0800</bug_when>
    <thetext>lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533869</commentid>
    <comment_count>3</comment_count>
      <attachid>121955</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-01-11 07:04:52 -0800</bug_when>
    <thetext>Comment on attachment 121955
Patch

I&apos;ll trust Cary&apos;s ok on this one.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533878</commentid>
    <comment_count>4</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2012-01-11 07:26:35 -0800</bug_when>
    <thetext>reed brought up a concern when I mentioned this to him this morning. Does this only ignore color profiles when the texture is used by WebGL or does this cause color profiles to additionally be ignored in normal 2D drawing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533903</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-01-11 08:02:04 -0800</bug_when>
    <thetext>we ask, because it looks like from the original test page, that the 2D path is drawing correctly as is (i.e. w/ the colorprofile applied).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534050</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-11 11:22:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; we ask, because it looks like from the original test page, that the 2D path is drawing correctly as is (i.e. w/ the colorprofile applied).

WebGL is the only API that causes the premultiplyAlpha flag to be set to false while decoding images. The browser normally premultiplies the alpha channel. Therefore this change only affects images uploaded as WebGL textures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534126</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-11 12:17:26 -0800</bug_when>
    <thetext>Committed r104732: &lt;http://trac.webkit.org/changeset/104732&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536848</commentid>
    <comment_count>8</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-16 19:12:41 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Committed r104732: &lt;http://trac.webkit.org/changeset/104732&gt;

This changed behavior for JPEG images too, was that intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537345</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-17 14:12:48 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Committed r104732: &lt;http://trac.webkit.org/changeset/104732&gt;
&gt; 
&gt; This changed behavior for JPEG images too, was that intentional?

Not 100% intentional, but the code path I added also skips the colorspace conversion for PNGs that don&apos;t have an alpha channel when WebGL&apos;s premultiplyAlpha setting is false. If you have a better suggestion on how to correctly perform the colorspace conversions in more situations, please let me know.

Are you seeing behavior changes outside of WebGL usage? Any such change is definitely unintentional; please file a new bug if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537352</commentid>
    <comment_count>10</comment_count>
    <who name="John Bauman">jbauman</who>
    <bug_when>2012-01-17 14:24:00 -0800</bug_when>
    <thetext>You could check ImageFrame::hasAlpha as well in ImageFrame::setStatus, which should work with jpegs and opaque pngs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537461</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-17 17:11:38 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; You could check ImageFrame::hasAlpha as well in ImageFrame::setStatus, which should work with jpegs and opaque pngs.

OK, filed Bug 76498 to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537626</commentid>
    <comment_count>12</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-17 22:09:13 -0800</bug_when>
    <thetext>(In reply to comment #9)

&gt; Are you seeing behavior changes outside of WebGL usage? Any such change is definitely unintentional; please file a new bug if so.

Nope.  Seems this change is restricted to WebGL per comment #5 (and thank you for adding that comment btw).  Outside of WebGL, we have some test coverage for color correction on OS(DARWIN) to keep us honest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537634</commentid>
    <comment_count>13</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-17 22:38:06 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; You could check ImageFrame::hasAlpha as well in ImageFrame::setStatus, which should work with jpegs and opaque pngs.
&gt; 
&gt; OK, filed Bug 76498 to fix this.

Thanks, John&apos;s idea is good.  I mentioned JPEG because their premultiplied colors are identical to their unpremultiplied colors because their alpha is 255 everywhere.  So I suspected that color correction would still &quot;just work&quot; for JPEG in WebGL even with the issues mentioned in your opening comments.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121955</attachid>
            <date>2012-01-10 18:17:06 -0800</date>
            <delta_ts>2012-01-11 07:04:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75999-20120110181705.patch</filename>
            <type>text/plain</type>
            <size>11425</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ2ZTNmNDdkNjNlYTcy
NDY0OWRjYjE5NjM5NjIwZjM0ZDE3NzBmZC4uMzdkNzc3NzFkYWY3YjQyY2RjNWZiY2FhYjA2MDUx
ZWM1Mjc5MDBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTEwICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIENvbG9y
IHByb2ZpbGVzIGFyZSBpbmNvcnJlY3QgZm9yIGltYWdlcyB3aXRob3V0IHByZW11bHRpcGxpZWQg
YWxwaGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1
OTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9u
J3QgYXBwbHkgdGhlIGNvbG9yIHByb2ZpbGUgaWYgdGhlIHVzZXIgaGFzIHJlcXVlc3RlZCBzZXBh
cmF0ZSBhbHBoYS4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLWNv
bG9yLXByb2ZpbGUuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2tp
YS9JbWFnZURlY29kZXJTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRnJhbWU6OnNl
dFN0YXR1cyk6CisKIDIwMTItMDEtMTAgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50IHNo
b3VsZCBmYWxsIGJhY2sgdG8gdGV4dCBpZiB0aGVyZSdzIG5vIEhUTUwgdGV4dApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2tpYS9JbWFnZURlY29k
ZXJTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEv
SW1hZ2VEZWNvZGVyU2tpYS5jcHAKaW5kZXggYzdmY2JkNTg5ZTUyMzhiYTczYmRmMGQzYzkxODNj
NzQ0Yjk1NWZiMS4uMGMzMjA2ZTg2NmM0MWZmMmY5MjM3OGJiMTBiZDJhYzI1YmE2ZjhiZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2tpYS9JbWFn
ZURlY29kZXJTa2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9za2lhL0ltYWdlRGVjb2RlclNraWEuY3BwCkBAIC0xNTgsNyArMTU4LDkgQEAgdm9pZCBJ
bWFnZUZyYW1lOjpzZXRTdGF0dXMoRnJhbWVTdGF0dXMgc3RhdHVzKQogICAgIGlmIChtX3N0YXR1
cyA9PSBGcmFtZUNvbXBsZXRlKSB7CiAgICAgICAgIG1fYml0bWFwLnNldERhdGFDb21wbGV0ZSgp
OyAgLy8gVGVsbCB0aGUgYml0bWFwIGl0J3MgZG9uZS4KICNpZiBQTEFURk9STShDSFJPTUlVTSkg
JiYgT1MoREFSV0lOKQotICAgICAgICBpZiAobV9jb2xvclByb2ZpbGUuaXNFbXB0eSgpKQorICAg
ICAgICAvLyByZXNvbHZlQ29sb3JTcGFjZSgpIGFuZCBjYWxsZWVzIGFzc3VtZSB0aGF0IHRoZSBh
bHBoYSBjaGFubmVsIGlzCisgICAgICAgIC8vIHByZW11bHRpcGxpZWQsIHNvIGRvbid0IGFwcGx5
IHRoZSBjb2xvciBwcm9maWxlIGlmIGl0IGlzbid0LgorICAgICAgICBpZiAobV9jb2xvclByb2Zp
bGUuaXNFbXB0eSgpIHx8ICFtX3ByZW11bHRpcGx5QWxwaGEpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNnQ29sb3JTcGFjZShBZG9wdENG
LCBjcmVhdGVDb2xvclNwYWNlKG1fY29sb3JQcm9maWxlKSk7CiAgICAgICAgIHJlc29sdmVDb2xv
clNwYWNlKG1fYml0bWFwLmJpdG1hcCgpLCBjZ0NvbG9yU3BhY2UuZ2V0KCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUx
OWM0OGU4ZDZkMGIwMmVlN2JhNjExODMwNzFjNjE0YTQ0NjA1ZDIuLmVjY2MwY2UxYWExNGIwYjQ2
YTZkNjc5ZDEyZTYzZGMzNzllNTgwOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMS0x
MCAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVt
XSBDb2xvciBwcm9maWxlcyBhcmUgaW5jb3JyZWN0IGZvciBpbWFnZXMgd2l0aG91dCBwcmVtdWx0
aXBsaWVkIGFscGhhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NTk5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFZlcmlmeSB0aGF0IHRoZSBpbWFnZSdzIGNvbnRlbnRzIGRvbid0IGdldCBkZXN0cm95ZWQg
aWYgdXNpbmcgYm90aAorICAgICAgICBzZXBhcmF0ZSBhbHBoYSBhcyB3ZWxsIGFzIHRoZSBicm93
c2VyJ3MgY29sb3JzcGFjZSBjb252ZXJzaW9uLgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvcmVzb3VyY2VzL3Rhbi0xeDEtd2l0aC1hbHBoYS5wbmc6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL3RleHR1cmUtY29sb3ItcHJvZmlsZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtY29sb3ItcHJvZmlsZS5odG1s
OiBBZGRlZC4KKwogMjAxMi0wMS0xMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwNDU0My4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy90YW4tMXgx
LXdpdGgtYWxwaGEucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2Vz
L3Rhbi0xeDEtd2l0aC1hbHBoYS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM5ZmRiNjI1MzkwYTEzZWM0ZTFk
YzUxZWI4ZGI2YjVlZDY0MzdmOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjc3OQp6Y21WPDEz
TUJRM1ApPGg7M0t8TGswMDBlMU5KTFRxMDAwMzEwMDAzOTFeQHM2OX5IIWowMDBWNFgrdUwkUC10
Ji0KeloqeXBHYTNEIVRMbStUK1opUnoxV2RIenArTVFFcFI4IzJ8SkA/LTlMUTlCJWx1S18/NiRs
X3dMV19WRGt0UWwzCnoyQHB6JUEpKG43UU5hO0tNRmJuanBvanlHaikwNjZRN2pDSzNmS3FhQSk9
MGhxbGsqaWB7OD98WXUzRT89RlJASwp6KkZOWDBeUFJLTDJmenBubVBqKkVIR21BTUxMTCN8Z1U3
X2k7cDhxcmZlSXZXMDF5YlhXRmQzP0JMTSpUZW1wIVkKekJFU2N9MDBEVEAza1UkZk9gRV9sOUVi
bDg+T3pAWjBmMi03ejt1eH5POSs0ejA2PTw8TFokI2ZNZ2Y0R20/bCNJCnpwYWNNNSVWVDJXMDhs
TGVVPytkKCgqU14tXz9kZUYwOSV3SDYjPH07MDNaYChoKHJLckl7PldEUipGUmNTVEZ6LQp6Vz1x
NjUwTjU9NkZpQlR0TkMyPzYwS209PTMkZyRSMzstfXVoPW5OdDFiWUJyJFJpX28wRUMkVTZoYHRf
Sm48ezgKejVhJWlZMEM8X1FKaD56fU1TKXVnRXBaMXxTMXVrWCZQZis1NmdGVzNWVlhjTCFnLWsp
R0ohTT87UGNEPzBIQmMtCno1I1dSS3tkbXB9dUZsUmpqPHliOEUkWTdwe359Xnk8Tm9FKHQ4aFI3
ME81M2coZiV3aXZsQFVxMjdxbjtxOXlKRwp6WGtIN1RiQHoqQXZKWEpEMEhFcEdTTXpaQWVtcCF5
cF4mLVIrMiFRcSpoPDdnVFZjdnFlZzA+e1UlKiVXWjI1algKentQKj9YelR6Wi1HRl5kMzFvK14+
JT1BcDk5TTYmb2drcyQwazRPQnMzOytCYig7fiE0ViEybzw2eXM0NmFnSWNxCnpqUG8rM0I4ZnRo
RGE5cXl8NzdDZEVjKmpLLSElWlJZQ1p2Ymt1OWlRVip+YX1DbEZZNHp+YzcrMFA/JFUhUEY9Uwp6
MUF1NlE7bT4jZj8/MyVWcGR8bytXPVdFOTAwM1NAQnJhNlN2cD5mTzAwMmF3Zmh3Pjs4fXp7I0VX
aWRGITNFc0cKejM7Ylg8Z2hDfDUhYUAqMjNTQHZCYSRxVH1mPGg+VSY5RUlSVUB6MV85Vz1tRVhv
aXo7NGxjcX54REd2VjVCZ3lVCnpwMX4tKmZlOGRiJE9zYypBPS0hbVZ2MU5KanRDYy1oND4tQ05D
WG0jQnB9SSU2ajM1ZWt1XnYkUWlAYXtSWSlFMwp6SiNxcCRoZz9Sd2t2cXIkR0peYnV5aGt5VmZ3
RUNPKUN7I2x4dWBjOWdocndaJn00S21udldLc282dkghOGE8M1EKenEzNik2WGI7K3RLMTBWYXp+
fnFVR3NKOCNGMj0oYHV7Yk9WbFZpKVZCQ0hJbiN1fjZ6dE9MNz1ePCZTbWNMV2xGCnpNWmdJKjFi
MEZwVklEejlTV0grPipocmAjOTMoVW0rNmd4YTFCNmsrQ25BJW1PU0M0czUmNlV6VmxwdkBTViR9
Kgp6KSlKMnNGQSNmKEwmUF5FNXtXfUhDJUtSVU53SzY8KGh8fX0ociF7Qz1gNSs2RylOakZsZ1pq
LVlxQUc5bHE/YEMKeiRjNXljPGlxNE08UXdFNkA+PmQ+Vm5BYEVfKjNGMlFwIyNkOFJaYj1IMDFf
bW1AK3xDcW5jOVBzRyhGNUhJR19DCnp0KWFHM3VUaDduNkV0PDJJbjlGPk5sVEB6cUx0R2NYY3VW
clh8TCNYeClJJSM5IXs2Z1NKS1ByTjlkUjYxTjMoYwp6NFRjcWkkQjFWcjhKaWRmNy10IUc3X1hS
MnJXdzxWOE9LeUdIITxzJj1hfjxnWiZnPy13a211VGs7KTJ7TnxoIysKejghOWhVc2o4LWAtbF97
I15Ic31La0V2YyRlWGQ0VEdnSVRLM0RsT1dSalFwKD5yKSQzWFE/fT1ocEswJlomV3t8CnplcCZz
QTIzZjtRISVzdGBRSn1HMzxHaldvM3U3NnhjcX0xbjRYY0tBZmk9Vj92Q1l8aGJ9R0E9e1Q7aURK
KnVncAp6SVlUb19HZ3FAeF5PUjtrMmppRz1fPyZjMzNGaiFNbS1CdiMtVzJhQzt3Yy1aRyklY01X
bjYyam1ZMEBUdDRPTysKenQ0SGctSG0+Y2JvdTw3LXlJSzJ6NG5mQ0NDdE4yLVhPR1NXbyMjezhR
e0FUdXJ4cn47SWB5dERzJXhiaXB9UnpQCnp6aXl9UW40WjJ+ZlN5Y21yYH56Sj1sVUZkRmExPmda
VGhHNk0re2c3dmtXOCMrWUhWYUpqRkZ9WiMqM0AkSl9CeQp6THRWb19MIzFKclZWQntBay01PTRx
dCEtQE1ofWM+IyQ0a2g8ODgpbSMtazwlQ0x0ekVQM2xlVm5vPj08cllXWDcKek9nbGArJkNKY0Im
RE5QVW4+e2h0R1V1RDtvN2JEKXdfc1gkU31lQXh3enk/VXZnQkgoUz87I0haaVFNb1MqMksyCnpU
M3hlN3Qofm5VKjFONXtyeEI7UVBMb2NucDRNbD51PF5GWnd5QyFudTt0aFcrcGV+NHd0Wm58Vmkj
dygjamVCZAp6bGY5RkR4X3lvUEpxSGJrKiQlNTZTezs2S3Z+bTxXUnl5OUEmWWJRKWVafTthPWBV
d2smaylicEd2bEBzJVBHV1oKem9sfjNCTWBzc2p4cFJaX2g+TTkhZzNCKEtKfSNSWiNAKSFoPFZ0
aylhYjRraCgpRkYydnp4OzBzTjFqWkh0dVFlCnpodW9qY0dAbUorU3U9Q2MhXmxKNlFSVUc7MyFq
eFJZdX5KWFBlVl9FWFNMQGVGSm11fVNGUDh1eDIxUWdfaElpQgp6S0s0RnhwV3tCYEpVOEFsLWRT
SkZIXjheWng2NG4lWj1QUjstJFE+Unw3OERxfElxLWFmRiVLRTFCcm5fZm07SW0Kel88RFJIem03
alQraHo4JCszaTckcHQoVTZMNjNzMWc1fC1qQSF4fCNrZ1h5Mj1hfGxzJlM/JlhQPTRzdiY8QTFX
CnpWVDszbDNAMyQkZzskMEBqJk8pcjhxcVBBSEZ3ZTZMdiFDbWBiM3NRLWtXREpQZFRxR047Tjd6
c3hFM2crQmRwMQp6eDxBRylXPzlWRFNlO2wmWSljJERFLUoxelpmdzVhe08kOUg7K142UDw5aXBG
RlVWYlJkNztrMl5vNkd1c1YpKk0KekkrajM4aCl5X15ASWVxTnMxfVNSQClMSUBqdFk2ZzlsfmNL
RlZReTlofWM3MURqclZxTkdlVHdsSSlTWkhGK2UoCnpHbz51JHhyOFVGa2kxTHtPeD5HMG8pKCZS
QVo7PXxJPXdOMmw5NztjTGFISDZsZVRCLVhYYSpoJWRCT0V2aWAreAp6aT89VHhsP1RhZHZ5aUw+
U3VGfi1MWjt8Y1N9NH5sMmVNfm5TN3lKPmlPTTthdERZOyg/YVpedittSlYkQDFPdGUKejYyY1BV
bEQ0SVdPSUl4JlNtd1F+WUJ7bnphZTNQYzt9ciFmaEVAaXdKaCtPc0RzOXpJdEw7fnB1NzE1SGRR
RUdBCnpVY3QoTyFMPFF2PmtDeTE8JU5DZyt9R2AwUGdwTm0tP2RALWhNZ05lNl5WK2o2eCRiPDZA
UzwkKzw0XzFoaX1UaQp6bmNTNExzakl9ZldZMT5PWDZmZU1FdUxFcm1hM1FMbWt3P1grMWopWC0m
VkJrXzRZO0VGUEZfSStxOzlkTCVFfkIKekpoOzROcl4oTEVKM215VVJQPEUoUjV0Rj8tTCt4WV8t
QGhlOCsqTD1IMDsmZVRmRiFFS0ZQa0BSUkw4XiluP1VZCnpgJF93PV9kbCtRc19GUWFgKXlzVlBI
bDFSI3s8Iz57UmJsc3clNTdUKWc5NzNSOG8pREU5KnhOI347NF9vJHElbwp6NEtAdWBqaHgyZkJY
QzR7PG12WWItfWZGM0lAKSVPZCN2RkgoO3MjblhCe3RVTFluZkxNdz9UYmAmKGpMeD0ra0wKeihi
bnFUZGkrUCo5fWs9fkpYdns0XkhqLWMrVWJKUmxWfGVKakdkTDhlU1IrYSsrZj9Id3RNR2UmZmpW
ZVp8fU1nCnpibTd1UHxCTDU0eWdTWlpeMDsqSnZmSmVvU0daVDJ1UjMzQz5VOFFueyolKkIkR2U9
bm55JEhBWXF7PXZ5fHNJMAp6X3ZzcytIX3FNa3k/T0IjfEpLIT5JWCZJSV5MbFVoI3JPNSE3VHRi
d0M7aVVMeVYtWHE/eWJCfXlrR1B7P0xwWj8Kei1HfGpiVG1JYkdANyNaQ3o7fmVZKGNETSgyOER5
cXsqbT5NND9faXluVUJrYzRUa0hVSTZnVCE7eS1mej5ITWNkCnomdCVVZ28pYFkyez4hY3g3QjdE
SSkkNztKKFV7U3BtLTNnQnppb1Zfe3AhSCQ4TCEqTSFwMHVIJCNecHtVaTRQYAp6P1pKMjRjT0NE
ZS13I2paZD8wQCl8N2lLS147NktOYDshQHlsbTckKm5EaEsmR2NEVHkwMDBKSk9HaVdpe3thNjAK
enxEZTY2bEs9biEzMjtiUmF7dkdmNjk1MVU2OUU5NG9FUUtBMDAocVFPK15SWDBTWGxjOSEqVXxV
SHx8OTRNe3tuCmhSMCE4JlNYPnZeMm1sMzAwcyVqNEpsT3lNMDAyb3ZQREhMa1YxaDk4Q1pxclcK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3RleHR1cmUtY29sb3ItcHJvZmlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLWNvbG9yLXByb2ZpbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVmNTVjYmVkODI3YzlkMzZjODVmYTFmNWQwNWMzYTVkYzkyN2ZmZmQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLWNvbG9y
LXByb2ZpbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgdGhhdCBhcHBseWlu
ZyBhIGNvbG9yIHByb2ZpbGUgdG8gYSB0ZXh0dXJlIHdpdGggc2VwYXJhdGUgYWxwaGEgZG9lc24n
dCBkZXN0cm95IHRoZSB0ZXh0dXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
VGhpcyB0ZXN0IGlzbid0IGFwcHJvcHJpYXRlIHRvIGluY2x1ZGUgaW4gdGhlIFdlYkdMIGNvbmZv
cm1hbmNlIHN1aXRlLCBzaW5jZSB0aGUgYnJvd3NlcidzIGJlaGF2aW9yIHdoZW4gYXBwbHlpbmcg
YSBjb2xvciBwcm9maWxlIGNhbid0IGJlIGd1YXJhbnRlZWQuCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAu
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUg
bm8gZXJyb3JzIGZyb20gc2V0dXAKK1BBU1MgcGl4ZWwgMCwgMCBzaG91bGQgYmUgd2l0aGluIDIw
IHVuaXRzIG9mIDE2MywgMTI2LCA5NCwgMTI5CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXh0dXJlLWNvbG9yLXByb2ZpbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3RleHR1cmUtY29sb3ItcHJvZmlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4MGY3
OTdlMGQ5Y2ZmZWYxZDkyOWExNzdlMjkwNTY2YTY5ZTBjMTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLWNvbG9yLXByb2ZpbGUuaHRtbApA
QCAtMCwwICsxLDkwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
VGV4dHVyZSB1cGxvYWQgd2l0aCBjb2xvciBwcm9maWxlPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHN0eWxl
PSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdCB0aGF0IGFwcGx5aW5nIGEgY29sb3IgcHJvZmlsZSB0byBhIHRleHR1cmUgd2l0
aCBzZXBhcmF0ZSBhbHBoYSBkb2Vzbid0IGRlc3Ryb3kgdGhlIHRleHR1cmUuIik7CitkZWJ1Zygi
IikKK2RlYnVnKCJUaGlzIHRlc3QgaXNuJ3QgYXBwcm9wcmlhdGUgdG8gaW5jbHVkZSBpbiB0aGUg
V2ViR0wgY29uZm9ybWFuY2Ugc3VpdGUsIHNpbmNlIHRoZSBicm93c2VyJ3MgYmVoYXZpb3Igd2hl
biBhcHBseWluZyBhIGNvbG9yIHByb2ZpbGUgY2FuJ3QgYmUgZ3VhcmFudGVlZC4iKQordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJleGFtcGxlIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7Cit2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisKK2dsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuIik7CisKK3Zh
ciBpbWdVUkxzID0gWworICAncmVzb3VyY2VzL3Rhbi0xeDEtd2l0aC1hbHBoYS5wbmcnCitdOwor
Cit3dHUubG9hZEltYWdlc0FzeW5jKGltZ1VSTHMsIHJ1blRlc3RzKTsKKworZnVuY3Rpb24gcnVu
VGVzdHMoaW1ncykgeworICAvLyBwaXhlbFN0b3JlaSBkZWZhdWx0cyBhcmUgVU5QQUNLX1BSRU1V
TFRJUExZX0FMUEhBX1dFQkdMPWZhbHNlLCBVTlBBQ0tfQ09MT1JTUEFDRV9DT05WRVJTSU9OX1dF
QkdMPUJST1dTRVJfREVGQVVMVF9XRUJHTC4KKyAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAidGV4Iik7CisgIGdsLnVuaWZvcm0xaShsb2MsIDApOworCisgIGdsLmRp
c2FibGUoZ2wuQkxFTkQpOworICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworCisgIHZhciB3
aWR0aCA9IGNhbnZhcy53aWR0aDsKKyAgdmFyIGhlaWdodCA9IGNhbnZhcy5oZWlnaHQ7CisKKyAg
ZnVuY3Rpb24gY2hlY2tQaXhlbFJhbmdlKGJ1ZiwgeCwgeSwgY29sb3IsIGFsbG93ZWRSYW5nZSkg
eworICAgIHZhciBvZmYgPSAoeSAqIHdpZHRoICsgeCkgKiA0OworICAgIHZhciBtc2cgPSAicGl4
ZWwgIiArIHggKyAiLCAiICsgeSArICIgc2hvdWxkIGJlIHdpdGhpbiAiICsKKyAgICAgICAgICAg
ICAgYWxsb3dlZFJhbmdlICsgIiB1bml0cyBvZiAiICsKKyAgICAgICAgICAgICAgY29sb3JbMF0g
KyAiLCAiICsKKyAgICAgICAgICAgICAgY29sb3JbMV0gKyAiLCAiICsKKyAgICAgICAgICAgICAg
Y29sb3JbMl0gKyAiLCAiICsKKyAgICAgICAgICAgICAgY29sb3JbM107CisgICAgdmFyIHN1Yk1z
ZyA9ICIgd2FzICIgKworICAgICAgICAgICAgICBidWZbb2ZmICsgMF0gKyAiLCAiICsKKyAgICAg
ICAgICAgICAgYnVmW29mZiArIDFdICsgIiwgIiArCisgICAgICAgICAgICAgIGJ1ZltvZmYgKyAy
XSArICIsICIgKworICAgICAgICAgICAgICBidWZbb2ZmICsgM107CisgICAgLy8gV2hlbiBydW5u
aW5nIGluIFdlYktpdCdzIHRlc3QgaGFybmVzcywgd2UgZG9uJ3Qgd2FudCB0byBwcmludCB0aGUK
KyAgICAvLyBwaXhlbCB2YWx1ZSB3aGVuIHRoZSB0ZXN0IHBhc3NlcywgYmVjYXVzZSBkaWZmZXJl
bnQgbWFjaGluZXMgbWlnaHQKKyAgICAvLyBoYXZlIGRpZmZlcmVudCByZXN1bHRzIGFuZCB3ZSBy
ZWNvcmQgdGhlIHRleHQgb3V0cHV0LgorICAgIHZhciBpbkR1bXBSZW5kZXJUcmVlID0gd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCA0OyArK2lp
KSB7CisgICAgICBpZiAoTWF0aC5hYnMoYnVmW29mZiArIGlpXSAtIGNvbG9yW2lpXSkgPiBhbGxv
d2VkUmFuZ2UpIHsKKyAgICAgICAgdGVzdEZhaWxlZChtc2cgKyBzdWJNc2cpOworICAgICAgICBy
ZXR1cm47CisgICAgICB9CisgICAgfQorICAgIHRlc3RQYXNzZWQobXNnICsgKGluRHVtcFJlbmRl
clRyZWUgPyAiIiA6IHN1Yk1zZykpOworICB9CisgIAorICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19F
REdFKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworCisgIHZh
ciBidWYgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpOworCisgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgICAgICAgICAgICBpbWdzWydyZXNvdXJjZXMvdGFuLTF4MS13aXRoLWFscGhhLnBu
ZyddKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBl
cnJvcnMgZnJvbSBzZXR1cCIpOworICB3dHUuZHJhd1F1YWQoZ2wpOworICBnbC5yZWFkUGl4ZWxz
KDAsIDAsIHdpZHRoLCBoZWlnaHQsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7Cisg
IC8vIFRoaXMgZ2VuZXJvdXMgcmFuZ2UgaXMgc3RpbGwgZW5vdWdoIHRvIGNhdGNoIHRoZSByZWdy
ZXNzaW9uLgorICBjaGVja1BpeGVsUmFuZ2UoYnVmLCAwLCAwLCBbMTYzLCAxMjYsIDk0LCAxMjld
LCAyMCk7CisKKyAgZGVidWcoIiIpOworICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="122619"
          type_id="1"
          status="+"
          setter="senorblanco"
    />
          </attachment>
      

    </bug>

</bugzilla>