<?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>94343</bug_id>
          
          <creation_ts>2012-08-17 06:47:06 -0700</creation_ts>
          <short_desc>[Chromium] Find-in-page coordinates should use containingBlock</short_desc>
          <delta_ts>2012-08-21 16:05: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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leandro Graciá Gil">leandrogracia</reporter>
          <assigned_to name="Leandro Graciá Gil">leandrogracia</assigned_to>
          <cc>jchaffraix</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>698283</commentid>
    <comment_count>0</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-17 06:47:06 -0700</bug_when>
    <thetext>The current find-in-page coordinates implementation uses the container method to climb the render tree. However, it would be more correct and convenient to use containerBlock instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698288</commentid>
    <comment_count>1</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-17 06:49:51 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; The current find-in-page coordinates implementation uses the container method to climb the render tree. However, it would be more correct and convenient to use containerBlock instead.

(In reply to comment #0)
&gt; The current find-in-page coordinates implementation uses the container method to climb the render tree. However, it would be more correct and convenient to use containerBlock instead.

containerBlock -&gt; containingBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698291</commentid>
    <comment_count>2</comment_count>
      <attachid>159112</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-17 06:53:55 -0700</bug_when>
    <thetext>Created attachment 159112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699737</commentid>
    <comment_count>3</comment_count>
      <attachid>159112</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-08-20 11:33:44 -0700</bug_when>
    <thetext>Comment on attachment 159112
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159112&amp;action=review

&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:56
&gt; +    const RenderBlock* container = renderer-&gt;containingBlock();

ASSERT(container || renderer-&gt;isRenderView()); ?

&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:104
&gt; +            FloatRect normalizedBoxRect = toNormalizedRect(renderer-&gt;absoluteBoundingBoxRect(), renderer);

You don&apos;t need to pass renderer-&gt;absoluteBoundingBoxRect() here. You could compute it in toNormalizedRect after you passed the |container| NULL-check.

&gt; Source/WebKit/chromium/tests/WebFrameTest.cpp:978
&gt; +    // Results 13, 12 and 14 should be one above the other in that order because of the rowspan.

and because HTML table cells have vertical-align: middle set (CSS table cells have vertical-align: baseline which yields to a different result).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699983</commentid>
    <comment_count>4</comment_count>
      <attachid>159524</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-20 14:34:47 -0700</bug_when>
    <thetext>Created attachment 159524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699984</commentid>
    <comment_count>5</comment_count>
      <attachid>159112</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-20 14:35:05 -0700</bug_when>
    <thetext>Comment on attachment 159112
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159112&amp;action=review

&gt;&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:56
&gt;&gt; +    const RenderBlock* container = renderer-&gt;containingBlock();
&gt; 
&gt; ASSERT(container || renderer-&gt;isRenderView()); ?

Done.

&gt;&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:104
&gt;&gt; +            FloatRect normalizedBoxRect = toNormalizedRect(renderer-&gt;absoluteBoundingBoxRect(), renderer);
&gt; 
&gt; You don&apos;t need to pass renderer-&gt;absoluteBoundingBoxRect() here. You could compute it in toNormalizedRect after you passed the |container| NULL-check.

toNormalizedRect is also used above with the input rect from the range. That&apos;s why that call is not already inside toNormalizedRect.

&gt;&gt; Source/WebKit/chromium/tests/WebFrameTest.cpp:978
&gt;&gt; +    // Results 13, 12 and 14 should be one above the other in that order because of the rowspan.
&gt; 
&gt; and because HTML table cells have vertical-align: middle set (CSS table cells have vertical-align: baseline which yields to a different result).

True, good point. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700967</commentid>
    <comment_count>6</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2012-08-21 11:47:42 -0700</bug_when>
    <thetext>Any pending issues here?

(In reply to comment #5)
&gt; (From update of attachment 159112 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159112&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:56
&gt; &gt;&gt; +    const RenderBlock* container = renderer-&gt;containingBlock();
&gt; &gt; 
&gt; &gt; ASSERT(container || renderer-&gt;isRenderView()); ?
&gt; 
&gt; Done.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/FindInPageCoordinates.cpp:104
&gt; &gt;&gt; +            FloatRect normalizedBoxRect = toNormalizedRect(renderer-&gt;absoluteBoundingBoxRect(), renderer);
&gt; &gt; 
&gt; &gt; You don&apos;t need to pass renderer-&gt;absoluteBoundingBoxRect() here. You could compute it in toNormalizedRect after you passed the |container| NULL-check.
&gt; 
&gt; toNormalizedRect is also used above with the input rect from the range. That&apos;s why that call is not already inside toNormalizedRect.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/tests/WebFrameTest.cpp:978
&gt; &gt;&gt; +    // Results 13, 12 and 14 should be one above the other in that order because of the rowspan.
&gt; &gt; 
&gt; &gt; and because HTML table cells have vertical-align: middle set (CSS table cells have vertical-align: baseline which yields to a different result).
&gt; 
&gt; True, good point. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701232</commentid>
    <comment_count>7</comment_count>
      <attachid>159524</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 16:05:43 -0700</bug_when>
    <thetext>Comment on attachment 159524
Patch

Clearing flags on attachment: 159524

Committed r126204: &lt;http://trac.webkit.org/changeset/126204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701233</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 16:05:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159112</attachid>
            <date>2012-08-17 06:53:55 -0700</date>
            <delta_ts>2012-08-20 14:35:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94343-20120817145319.patch</filename>
            <type>text/plain</type>
            <size>11981</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1Nzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYxYjM3OTMwN2FhN2QwNTBjYThhMzM1ZmY3NGQ5YzBjOTA3MTY4YTcuLjA1ZDBkMWVlMWRhYWMw
MDM4Zjc4NjUxYjgwYTIwYzg5NmYzMDVjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDgtMTcgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9n
cmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gRmluZC1pbi1wYWdlIGNv
b3JkaW5hdGVzIHNob3VsZCB1c2UgY29udGFpbmluZ0Jsb2NrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM0MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHVz
ZXMgdGhlIGNvbnRhaW5lciBtZXRob2QgdG8gY2xpbWIgdGhlIHJlbmRlciB0cmVlLgorICAgICAg
ICBIb3dldmVyLCBpdCB3b3VsZCBiZSBtb3JlIGNvcnJlY3QgYW5kIGNvbnZlbmllbnQgdG8gdXNl
IGNvbnRhaW5pbmdCbG9jayBpbnN0ZWFkLgorICAgICAgICBBbHNvLCB0aGlzIHBhdGNoIGludHJv
ZHVjZXMgbmV3IHRlc3RzIGZvciBmaW5kLWluLXBhZ2UgY29vcmRpbmF0ZXMgaW4gdGFibGVzLgor
CisgICAgICAgICogc3JjL0ZpbmRJblBhZ2VDb29yZGluYXRlcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OnRvTm9ybWFsaXplZFJlY3QpOiB1c2UgY29udGFpbmluZ0Jsb2NrIGFuZCBnZXQgcmlkIG9m
IHRoZSBvdXRwdXQgcGFyYW1ldGVyIGFzIGl0J3Mgbm90IHJlcXVpcmVkIG5vdy4KKyAgICAgICAg
KFdlYktpdDo6ZmluZEluUGFnZVJlY3RGcm9tQWJzb2x1dGVSZWN0KTogdXNlIGNvbnRhaW5pbmdC
bG9jayBpbnRyb2R1Y2Ugc29tZSBzaW1wbGlmaWNhdGlvbnMuCisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDogYWRkIG5ldyB0ZXN0cyBmb3IgdGFibGVzLgorICAgICAgICAqIHRlc3Rz
L2RhdGEvZmluZF9pbl9wYWdlLmh0bWw6CisgICAgICAgICogdGVzdHMvZGF0YS9maW5kX2luX3Bh
Z2VfZnJhbWUuaHRtbDogbmV3IHRlc3RzIGZvciB0YWJsZXMuCisKIDIwMTItMDgtMTYgIFBldGVy
IEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBS
b2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZpbmRJ
blBhZ2VDb29yZGluYXRlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GaW5kSW5Q
YWdlQ29vcmRpbmF0ZXMuY3BwCmluZGV4IGY5ZmYxOWMyYTBkZTViY2Y4ODUzZDBhNmNjMTg3MWM2
MTM0YmMxMzkuLmU4NTE0NDhlYjU4NGE0YTE2ZjAxZDU3ODkyMjliZjJmOTY1M2M1ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZpbmRJblBhZ2VDb29yZGluYXRlcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRmluZEluUGFnZUNvb3JkaW5hdGVz
LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAi
Tm9kZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNp
bmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJQYXJ0LmgiCkBAIC00OCwzOSArNDksMzEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgRmxvYXRSZWN0IHRvTm9ybWFsaXpl
ZFJlY3QoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGNvbnN0IFJlbmRlck9iamVjdCog
cmVuZGVyZXIsIEZsb2F0UmVjdCYgY29udGFpbmVyQm91bmRpbmdCb3gpCitzdGF0aWMgRmxvYXRS
ZWN0IHRvTm9ybWFsaXplZFJlY3QoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGNvbnN0
IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsKIAotICAg
IGNvbnN0IFJlbmRlck9iamVjdCogY29udGFpbmVyID0gcmVuZGVyZXItPmNvbnRhaW5lcigpOwot
ICAgIGlmICghY29udGFpbmVyKSB7Ci0gICAgICAgIGNvbnRhaW5lckJvdW5kaW5nQm94ID0gRmxv
YXRSZWN0KCk7CisgICAgY29uc3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciA9IHJlbmRlcmVyLT5j
b250YWluaW5nQmxvY2soKTsKKyAgICBpZiAoIWNvbnRhaW5lcikKICAgICAgICAgcmV0dXJuIEZs
b2F0UmVjdCgpOwotICAgIH0KLQotICAgIEZsb2F0UmVjdCBub3JtYWxpemVkUmVjdCA9IGFic29s
dXRlUmVjdDsKLSAgICBGbG9hdFJlY3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci0+YWJzb2x1
dGVCb3VuZGluZ0JveFJlY3QoKTsKLSAgICBjb250YWluZXJCb3VuZGluZ0JveCA9IGNvbnRhaW5l
clJlY3Q7CiAKLSAgICAvLyBGb3IgUmVuZGVyQm94ZXMgd2Ugd2FudCB0byBub3JtYWxpemUgYnkg
dGhlIG1heCBsYXlvdXQgb3ZlcmZsb3cgc2l6ZSBpbnN0ZWFkIG9mIG9ubHkgdGhlIHZpc2libGUg
Ym91bmRpbmcgYm94LgorICAgIC8vIFdlIHdhbnQgdG8gbm9ybWFsaXplIGJ5IHRoZSBtYXggbGF5
b3V0IG92ZXJmbG93IHNpemUgaW5zdGVhZCBvZiBvbmx5IHRoZSB2aXNpYmxlIGJvdW5kaW5nIGJv
eC4KICAgICAvLyBRdWFkcyBhbmQgdGhlaXIgZW5jbG9zaW5nIGJvdW5kaW5nIGJveGVzIG5lZWQg
dG8gYmUgdXNlZCBpbiBvcmRlciB0byBrZWVwIHJlc3VsdHMgdHJhbnNmb3JtLWZyaWVuZGx5Lgot
ICAgIGlmIChjb250YWluZXItPmlzQm94KCkpIHsKLSAgICAgICAgY29uc3QgUmVuZGVyQm94KiBj
b250YWluZXJCb3ggPSB0b1JlbmRlckJveChjb250YWluZXIpOwotICAgICAgICBGbG9hdFBvaW50
IHNjcm9sbGVkT3JpZ2luOworICAgIEZsb2F0UG9pbnQgc2Nyb2xsZWRPcmlnaW47CiAKLSAgICAg
ICAgLy8gRm9yIG92ZXJmbG93OnNjcm9sbCB3ZSBuZWVkIHRvIGdldCB3aGVyZSB0aGUgYWN0dWFs
IG9yaWdpbiBpcyBpbmRlcGVuZGVudGx5IG9mIHRoZSBzY3JvbGwuCi0gICAgICAgIGlmIChjb250
YWluZXItPmhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICAgICAgc2Nyb2xsZWRPcmlnaW4gPSAt
SW50UG9pbnQoY29udGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CisgICAgLy8g
Rm9yIG92ZXJmbG93OnNjcm9sbCB3ZSBuZWVkIHRvIGdldCB3aGVyZSB0aGUgYWN0dWFsIG9yaWdp
biBpcyBpbmRlcGVuZGVudGx5IG9mIHRoZSBzY3JvbGwuCisgICAgaWYgKGNvbnRhaW5lci0+aGFz
T3ZlcmZsb3dDbGlwKCkpCisgICAgICAgIHNjcm9sbGVkT3JpZ2luID0gLUludFBvaW50KGNvbnRh
aW5lci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwogCi0gICAgICAgIEZsb2F0UmVjdCBvdmVy
Zmxvd1JlY3Qoc2Nyb2xsZWRPcmlnaW4sIGNvbnRhaW5lckJveC0+bWF4TGF5b3V0T3ZlcmZsb3co
KSk7Ci0gICAgICAgIGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJCb3gtPmxvY2FsVG9BYnNvbHV0
ZVF1YWQoRmxvYXRRdWFkKG92ZXJmbG93UmVjdCksIGZhbHNlKS5lbmNsb3NpbmdCb3VuZGluZ0Jv
eCgpOwotICAgIH0KKyAgICBGbG9hdFJlY3Qgb3ZlcmZsb3dSZWN0KHNjcm9sbGVkT3JpZ2luLCBj
b250YWluZXItPm1heExheW91dE92ZXJmbG93KCkpOworICAgIEZsb2F0UmVjdCBjb250YWluZXJS
ZWN0ID0gY29udGFpbmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChvdmVyZmxvd1Jl
Y3QpLCBmYWxzZSkuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKIAogICAgIGlmIChjb250YWluZXJS
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogCiAgICAgLy8gTWFr
ZSB0aGUgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5lciBlbmNsb3NpbmcgYm91
bmRpbmcgYm94LgogICAgIC8vIFNpbmNlIHdlIHdvcmsgd2l0aCByZWN0cyBlbmNsb3NpbmcgcXVh
ZCB1bmlvbnMgdGhpcyBpcyBzdGlsbCB0cmFuc2Zvcm0tZnJpZW5kbHkuCisgICAgRmxvYXRSZWN0
IG5vcm1hbGl6ZWRSZWN0ID0gYWJzb2x1dGVSZWN0OwogICAgIG5vcm1hbGl6ZWRSZWN0Lm1vdmVC
eSgtY29udGFpbmVyUmVjdC5sb2NhdGlvbigpKTsKIAogICAgIC8vIEZpeGVkIHBvc2l0aW9ucyBk
byBub3QgbWFrZSBzZW5zZSBpbiB0aGlzIGNvb3JkaW5hdGUgc3lzdGVtLCBidXQgbmVlZCB0byBs
ZWF2ZSBjb25zaXN0ZW50IHRpY2ttYXJrcy4KQEAgLTg5LDI5ICs4MiwyNiBAQCBzdGF0aWMgRmxv
YXRSZWN0IHRvTm9ybWFsaXplZFJlY3QoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGNv
bnN0IFJlbmRlck9iagogICAgICAgICBub3JtYWxpemVkUmVjdC5tb3ZlKC10b1JlbmRlclZpZXco
Y29udGFpbmVyKS0+ZnJhbWVWaWV3KCktPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSk7
CiAKICAgICBub3JtYWxpemVkUmVjdC5zY2FsZSgxIC8gY29udGFpbmVyUmVjdC53aWR0aCgpLCAx
IC8gY29udGFpbmVyUmVjdC5oZWlnaHQoKSk7Ci0KICAgICByZXR1cm4gbm9ybWFsaXplZFJlY3Q7
CiB9CiAKLUZsb2F0UmVjdCBmaW5kSW5QYWdlUmVjdEZyb21BYnNvbHV0ZVJlY3QoY29uc3QgRmxv
YXRSZWN0JiBpbnB1dFJlY3QsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitGbG9hdFJl
Y3QgZmluZEluUGFnZVJlY3RGcm9tQWJzb2x1dGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5wdXRS
ZWN0LCBjb25zdCBSZW5kZXJPYmplY3QqIGJhc2VSZW5kZXJlcikKIHsKLSAgICBpZiAoIXJlbmRl
cmVyIHx8IGlucHV0UmVjdC5pc0VtcHR5KCkpCisgICAgaWYgKCFiYXNlUmVuZGVyZXIgfHwgaW5w
dXRSZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogCi0gICAgLy8g
Tm9ybWFsaXplIHRoZSBpbnB1dCByZWN0IHRvIGl0cyBjb250YWluZXIsIHNhdmluZyB0aGUgY29u
dGFpbmVyIGJvdW5kaW5nIGJveCBmb3IgdGhlIGluY29taW5nIGxvb3AuCi0gICAgRmxvYXRSZWN0
IHJlbmRlcmVyQm91bmRpbmdCb3g7Ci0gICAgRmxvYXRSZWN0IG5vcm1hbGl6ZWRSZWN0ID0gdG9O
b3JtYWxpemVkUmVjdChpbnB1dFJlY3QsIHJlbmRlcmVyLCByZW5kZXJlckJvdW5kaW5nQm94KTsK
LSAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5jb250YWluZXIoKTsKKyAgICAvLyBOb3JtYWxpemUg
dGhlIGlucHV0IHJlY3QgdG8gaXRzIGNvbnRhaW5lciBibG9jay4KKyAgICBGbG9hdFJlY3Qgbm9y
bWFsaXplZFJlY3QgPSB0b05vcm1hbGl6ZWRSZWN0KGlucHV0UmVjdCwgYmFzZVJlbmRlcmVyKTsK
IAogICAgIC8vIEdvIHVwIGFjcm9zcyBmcmFtZXMuCi0gICAgd2hpbGUgKHJlbmRlcmVyKSB7Cisg
ICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gYmFzZVJlbmRlcmVyLT5jb250
YWluaW5nQmxvY2soKTsgcmVuZGVyZXI7ICkgewogCiAgICAgICAgIC8vIEdvIHVwIHRoZSByZW5k
ZXIgdHJlZSB1bnRpbCB3ZSByZWFjaCB0aGUgcm9vdCBvZiB0aGUgY3VycmVudCBmcmFtZSAodGhl
IFJlbmRlclZpZXcpLgotICAgICAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCogY29udGFpbmVy
ID0gcmVuZGVyZXItPmNvbnRhaW5lcigpOyBjb250YWluZXI7IHJlbmRlcmVyID0gY29udGFpbmVy
LCBjb250YWluZXIgPSBjb250YWluZXItPmNvbnRhaW5lcigpKSB7CisgICAgICAgIGZvciAoY29u
c3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciA9IHJlbmRlcmVyLT5jb250YWluaW5nQmxvY2soKTsg
Y29udGFpbmVyOworICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gY29udGFpbmVyLCBjb250YWlu
ZXIgPSBjb250YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKSB7CiAKLSAgICAgICAgICAgIC8vIENv
bXBvc2UgdGhlIG5vcm1hbGl6ZWQgcmVjdHMuIFRoZSBhYnNvbHV0ZSBib3VuZGluZyBib3ggb2Yg
dGhlIGNvbnRhaW5lciBpcyBjYWxjdWxhdGVkIGluIHRvTm9ybWFsaXplZFJlY3QKLSAgICAgICAg
ICAgIC8vIGFuZCBjYW4gYmUgcmV1c2VkIGZvciB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGxv
b3AuCi0gICAgICAgICAgICBGbG9hdFJlY3Qgbm9ybWFsaXplZEJveFJlY3QgPSB0b05vcm1hbGl6
ZWRSZWN0KHJlbmRlcmVyQm91bmRpbmdCb3gsIHJlbmRlcmVyLCByZW5kZXJlckJvdW5kaW5nQm94
KTsKKyAgICAgICAgICAgIC8vIENvbXBvc2UgdGhlIG5vcm1hbGl6ZWQgcmVjdHMuCisgICAgICAg
ICAgICBGbG9hdFJlY3Qgbm9ybWFsaXplZEJveFJlY3QgPSB0b05vcm1hbGl6ZWRSZWN0KHJlbmRl
cmVyLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLCByZW5kZXJlcik7CiAgICAgICAgICAgICBu
b3JtYWxpemVkUmVjdC5zY2FsZShub3JtYWxpemVkQm94UmVjdC53aWR0aCgpLCBub3JtYWxpemVk
Qm94UmVjdC5oZWlnaHQoKSk7CiAgICAgICAgICAgICBub3JtYWxpemVkUmVjdC5tb3ZlQnkobm9y
bWFsaXplZEJveFJlY3QubG9jYXRpb24oKSk7CiAKQEAgLTEyMiwxMCArMTEyLDYgQEAgRmxvYXRS
ZWN0IGZpbmRJblBhZ2VSZWN0RnJvbUFic29sdXRlUmVjdChjb25zdCBGbG9hdFJlY3QmIGlucHV0
UmVjdCwgY29uc3QgUmVuZGUKICAgICAgICAgLy8gSnVtcCB0byB0aGUgcmVuZGVyZXIgb3duaW5n
IHRoZSBmcmFtZSwgaWYgYW55LgogICAgICAgICBBU1NFUlQocmVuZGVyZXItPmlzUmVuZGVyVmll
dygpKTsKICAgICAgICAgcmVuZGVyZXIgPSByZW5kZXJlci0+ZnJhbWUoKSA/IHJlbmRlcmVyLT5m
cmFtZSgpLT5vd25lclJlbmRlcmVyKCkgOiAwOwotCi0gICAgICAgIC8vIFVwZGF0ZSB0aGUgYWJz
b2x1dGUgY29vcmRpbmF0ZXMgdG8gdGhlIG5ldyBmcmFtZS4KLSAgICAgICAgaWYgKHJlbmRlcmVy
KQotICAgICAgICAgICAgcmVuZGVyZXJCb3VuZGluZ0JveCA9IHJlbmRlcmVyLT5hYnNvbHV0ZUJv
dW5kaW5nQm94UmVjdCgpOwogICAgIH0KIAogICAgIHJldHVybiBub3JtYWxpemVkUmVjdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJhbWVUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJhbWVUZXN0LmNwcAppbmRleCA4ZmM3
NDk4OGViNTY0YmYwNWMzYzQ2Y2E4MmZjNmVhNjlmMjg5NjEyLi5jM2NhNTYyMWRlZGRhNjlmMGEz
M2U1OThkZDE3MjhiMjFjNzljMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9XZWJGcmFtZVRlc3QuY3BwCkBAIC04OTEsNyArODkxLDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVz
dCwgRmluZEluUGFnZU1hdGNoUmVjdHMpCiAKICAgICBzdGF0aWMgY29uc3QgY2hhcioga0ZpbmRT
dHJpbmcgPSAicmVzdWx0IjsKICAgICBzdGF0aWMgY29uc3QgaW50IGtGaW5kSWRlbnRpZmllciA9
IDEyMzQ1OwotICAgIHN0YXRpYyBjb25zdCBpbnQga051bVJlc3VsdHMgPSAxMDsKKyAgICBzdGF0
aWMgY29uc3QgaW50IGtOdW1SZXN1bHRzID0gMTY7CiAKICAgICBXZWJGaW5kT3B0aW9ucyBvcHRp
b25zOwogICAgIFdlYlN0cmluZyBzZWFyY2hUZXh0ID0gV2ViU3RyaW5nOjpmcm9tVVRGOChrRmlu
ZFN0cmluZyk7CkBAIC05MTgsOCArOTE4LDggQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgRmluZElu
UGFnZU1hdGNoUmVjdHMpCiAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpbmQgcmVzdWx0IG9y
ZGVyaW5nIG1hdGNoZXMgd2l0aCBvdXIgZXhwZWN0YXRpb25zLgogICAgICAgICBSYW5nZSogcmVz
dWx0ID0gbWFpbkZyYW1lLT5hY3RpdmVNYXRjaEZyYW1lKCktPmFjdGl2ZU1hdGNoKCk7CiAgICAg
ICAgIEFTU0VSVF9UUlVFKHJlc3VsdCk7Ci0gICAgICAgIHJlc3VsdC0+c2V0RW5kKHJlc3VsdC0+
ZW5kQ29udGFpbmVyKCksIHJlc3VsdC0+ZW5kT2Zmc2V0KCkgKyAyKTsKLSAgICAgICAgRVhQRUNU
X0VRKHJlc3VsdC0+dGV4dCgpLCBTdHJpbmc6OmZvcm1hdCgiJXMgJWQiLCBrRmluZFN0cmluZywg
cmVzdWx0SW5kZXgpKTsKKyAgICAgICAgcmVzdWx0LT5zZXRFbmQocmVzdWx0LT5lbmRDb250YWlu
ZXIoKSwgcmVzdWx0LT5lbmRPZmZzZXQoKSArIDMpOworICAgICAgICBFWFBFQ1RfRVEocmVzdWx0
LT50ZXh0KCksIFN0cmluZzo6Zm9ybWF0KCIlcyAlMDJkIiwga0ZpbmRTdHJpbmcsIHJlc3VsdElu
ZGV4KSk7CiAKICAgICAgICAgLy8gVmVyaWZ5IHRoYXQgdGhlIGV4cGVjdGVkIG1hdGNoIHJlY3Qg
YWxzbyBtYXRjaGVzIHRoZSBjdXJyZW50bHkgYWN0aXZlIG1hdGNoLgogICAgICAgICAvLyBDb21w
YXJlIHRoZSBlbmNsb3NpbmcgcmVjdHMgdG8gcHJldmVudCBwcmVjaXNpb24gaXNzdWVzIGNhdXNl
ZCBieSBDU1MgdHJhbnNmb3Jtcy4KQEAgLTk1MCw2ICs5NTAsMzUgQEAgVEVTVF9GKFdlYkZyYW1l
VGVzdCwgRmluZEluUGFnZU1hdGNoUmVjdHMpCiAgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0
c1s3XS55IDwgd2ViTWF0Y2hSZWN0c1s4XS55KTsKICAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJl
Y3RzWzhdLnkgPCB3ZWJNYXRjaFJlY3RzWzldLnkpOwogCisgICAgLy8gUmVzdWx0cyAxMSwgMTIs
IDEzIGFuZCAxNCBzaG91bGQgYmUgYmV0d2VlbiByZXN1bHRzIDEwIGFuZCAxNSwgYXMgdGhleSBh
cmUgaW5zaWRlIHRoZSB0YWJsZS4KKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzExXS55
ID4gd2ViTWF0Y2hSZWN0c1sxMF0ueSk7CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sx
Ml0ueSA+IHdlYk1hdGNoUmVjdHNbMTBdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVj
dHNbMTNdLnkgPiB3ZWJNYXRjaFJlY3RzWzEwXS55KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRj
aFJlY3RzWzE0XS55ID4gd2ViTWF0Y2hSZWN0c1sxMF0ueSk7CisgICAgRVhQRUNUX1RSVUUod2Vi
TWF0Y2hSZWN0c1sxMV0ueSA8IHdlYk1hdGNoUmVjdHNbMTVdLnkpOworICAgIEVYUEVDVF9UUlVF
KHdlYk1hdGNoUmVjdHNbMTJdLnkgPCB3ZWJNYXRjaFJlY3RzWzE1XS55KTsKKyAgICBFWFBFQ1Rf
VFJVRSh3ZWJNYXRjaFJlY3RzWzEzXS55IDwgd2ViTWF0Y2hSZWN0c1sxNV0ueSk7CisgICAgRVhQ
RUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxNF0ueSA8IHdlYk1hdGNoUmVjdHNbMTVdLnkpOworCisg
ICAgLy8gUmVzdWx0IDExIHNob3VsZCBiZSBhYm92ZSAxMiwgMTMgYW5kIDE0IGFzIGl0J3MgaW4g
dGhlIHRhYmxlIGhlYWRlci4KKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzExXS55IDwg
d2ViTWF0Y2hSZWN0c1sxMl0ueSk7CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxMV0u
eSA8IHdlYk1hdGNoUmVjdHNbMTNdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNb
MTFdLnkgPCB3ZWJNYXRjaFJlY3RzWzE0XS55KTsKKworICAgIC8vIFJlc3VsdCAxMSBzaG91bGQg
YWxzbyBiZSByaWdodCB0byAxMiwgMTMgYW5kIDE0IGJlY2F1c2Ugb2YgdGhlIGNvbHNwYW4uCisg
ICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxMV0ueCA+IHdlYk1hdGNoUmVjdHNbMTJdLngp
OworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTFdLnggPiB3ZWJNYXRjaFJlY3RzWzEz
XS54KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzExXS54ID4gd2ViTWF0Y2hSZWN0
c1sxNF0ueCk7CisKKyAgICAvLyBSZXN1bHQgMTIgc2hvdWxkIGJlIGxlZnQgdG8gcmVzdWx0cyAx
MSwgMTMgYW5kIDE0IGluIHRoZSB0YWJsZSBsYXlvdXQuCisgICAgRVhQRUNUX1RSVUUod2ViTWF0
Y2hSZWN0c1sxMl0ueCA8IHdlYk1hdGNoUmVjdHNbMTFdLngpOworICAgIEVYUEVDVF9UUlVFKHdl
Yk1hdGNoUmVjdHNbMTJdLnggPCB3ZWJNYXRjaFJlY3RzWzEzXS54KTsKKyAgICBFWFBFQ1RfVFJV
RSh3ZWJNYXRjaFJlY3RzWzEyXS54IDwgd2ViTWF0Y2hSZWN0c1sxNF0ueCk7CisKKyAgICAvLyBS
ZXN1bHRzIDEzLCAxMiBhbmQgMTQgc2hvdWxkIGJlIG9uZSBhYm92ZSB0aGUgb3RoZXIgaW4gdGhh
dCBvcmRlciBiZWNhdXNlIG9mIHRoZSByb3dzcGFuLgorICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNo
UmVjdHNbMTNdLnkgPCB3ZWJNYXRjaFJlY3RzWzEyXS55KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJN
YXRjaFJlY3RzWzEyXS55IDwgd2ViTWF0Y2hSZWN0c1sxNF0ueSk7CisKICAgICAvLyBSZXNpemlu
ZyBzaG91bGQgdXBkYXRlIHRoZSByZWN0cyB2ZXJzaW9uLgogICAgIHdlYlZpZXctPnJlc2l6ZShX
ZWJTaXplKDgwMCwgNjAwKSk7CiAgICAgd2Via2l0X3N1cHBvcnQ6OlJ1bkFsbFBlbmRpbmdNZXNz
YWdlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2Zp
bmRfaW5fcGFnZS5odG1sIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2ZpbmRf
aW5fcGFnZS5odG1sCmluZGV4IGMwOWM5ZGQwNjA1NTk1MWFjMmYyNzJmMjhlOWExNTE4ZmFmZDdm
YWQuLjY0MzA3M2ExNjI0MTQyZjNjZTkyZmZjZDdjZmM3NzdhYWRmZjU4YTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9maW5kX2luX3BhZ2UuaHRtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvZmluZF9pbl9wYWdlLmh0bWwKQEAg
LTUsOSArNSw5IEBACiA8L2hlYWQ+CiA8Ym9keT4KIFRoaXMgYSBmaW5kLWluLXBhZ2UgbWF0Y2gg
cmVjdCB0ZXN0LjwvYnI+Ci1yZXN1bHQgMDwvYnI+CityZXN1bHQgMDA8L2JyPgogPGlmcmFtZSBz
cmM9ImZpbmRfaW5fcGFnZV9mcmFtZS5odG1sIiBoZWlnaHQ9IjMwMCIgc2Nyb2xsaW5nPSJ5ZXMi
PjwvaWZyYW1lPgogPC9icj4KLXJlc3VsdCAxCityZXN1bHQgMDEKIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9maW5kX2luX3Bh
Z2VfZnJhbWUuaHRtbCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9maW5kX2lu
X3BhZ2VfZnJhbWUuaHRtbAppbmRleCA0N2QyOWFlMGZkZDM3ODYwNmY3ZTEyYzliZDk5N2RlM2I2
MDM3ZjI4Li5hOTIyYTUwYmNlN2NjNDRjZTgyNGIxZjA4MTUzMTIxNzk1MDJmNDRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvZmluZF9pbl9wYWdlX2ZyYW1l
Lmh0bWwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2ZpbmRfaW5fcGFn
ZV9mcmFtZS5odG1sCkBAIC0zNiwyMyArMzYsNDAgQEAgRm9vIGJhci4KIDwvYnI+PC9icj4KIDwv
YnI+PC9icj4KIDwvYnI+PC9icj4KLXJlc3VsdCAyCityZXN1bHQgMDIKIDxkaXYgY2xhc3M9InRy
YW5zZm9ybSI+Ci1yZXN1bHQgMworcmVzdWx0IDAzCiA8L2Rpdj4KLXJlc3VsdCA0CityZXN1bHQg
MDQKIDxkaXYgY2xhc3M9ImZpeGVkIj4KLXJlc3VsdCA1CityZXN1bHQgMDUKIDwvZGl2PgotcmVz
dWx0IDYKK3Jlc3VsdCAwNgogPGRpdiBjbGFzcz0ic2Nyb2xsIj4KLXJlc3VsdCA3CityZXN1bHQg
MDcKIEZvbyBiYXIuCiA8L2JyPjwvYnI+CiA8L2JyPjwvYnI+CiA8L2JyPjwvYnI+Ci1yZXN1bHQg
OAorcmVzdWx0IDA4CiA8L2Rpdj4KLXJlc3VsdCA5CityZXN1bHQgMDkKKzwvYnI+PC9icj4KK3Jl
c3VsdCAxMAorPHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjEwIiBjZWxsc3BhY2luZz0i
MTAiPgorPHRyPgorICA8dGg+Rm9vPC90aD4KKyAgPHRoPkJhcjwvdGg+CisgIDx0aD5yZXN1bHQg
MTE8L3RoPgorPC90cj4KKzx0cj4KKyAgPHRkIHJvd3NwYW49IjIiPnJlc3VsdCAxMjwvdGQ+Cisg
IDx0ZCBjb2xzcGFuPSIyIj5yZXN1bHQgMTM8L3RkPgorPC90cj4KKzx0cj4KKyAgPHRkIGNvbHNw
YW49IjIiPnJlc3VsdCAxNDwvdGQ+Cis8L3RyPgorPC90YWJsZT4KK3Jlc3VsdCAxNQogPC9ib2R5
PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159524</attachid>
            <date>2012-08-20 14:34:47 -0700</date>
            <delta_ts>2012-08-21 16:05:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94343-20120820223407.patch</filename>
            <type>text/plain</type>
            <size>12181</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDE0ZmNlM2NjZDgzM2E0ZTExMWU3YWQ0MzQ5NmY2YWNmNmI1ZGY1ZGYuLmYxYTdlNmU3MDEzMGNi
YzczMmFmZWI4MTZlZDAzMmUwYmExYmIxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjMgQEAKIDIwMTItMDgtMjAgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9n
cmFjaWFAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtDaHJvbWl1bV0gRmluZC1pbi1wYWdlIGNv
b3JkaW5hdGVzIHNob3VsZCB1c2UgY29udGFpbmluZ0Jsb2NrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM0MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHVz
ZXMgdGhlIGNvbnRhaW5lciBtZXRob2QgdG8gY2xpbWIgdGhlIHJlbmRlciB0cmVlLgorICAgICAg
ICBIb3dldmVyLCBpdCB3b3VsZCBiZSBtb3JlIGNvcnJlY3QgYW5kIGNvbnZlbmllbnQgdG8gdXNl
IGNvbnRhaW5pbmdCbG9jayBpbnN0ZWFkLgorICAgICAgICBBbHNvLCB0aGlzIHBhdGNoIGludHJv
ZHVjZXMgbmV3IHRlc3RzIGZvciBmaW5kLWluLXBhZ2UgY29vcmRpbmF0ZXMgaW4gdGFibGVzLgor
CisgICAgICAgICogc3JjL0ZpbmRJblBhZ2VDb29yZGluYXRlcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OnRvTm9ybWFsaXplZFJlY3QpOiB1c2UgY29udGFpbmluZ0Jsb2NrIGFuZCBnZXQgcmlkIG9m
IHRoZSBvdXRwdXQgcGFyYW1ldGVyIGFzIGl0J3Mgbm90IHJlcXVpcmVkIG5vdy4KKyAgICAgICAg
KFdlYktpdDo6ZmluZEluUGFnZVJlY3RGcm9tQWJzb2x1dGVSZWN0KTogdXNlIGNvbnRhaW5pbmdC
bG9jayBpbnRyb2R1Y2Ugc29tZSBzaW1wbGlmaWNhdGlvbnMuCisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDogYWRkIG5ldyB0ZXN0cyBmb3IgdGFibGVzLgorICAgICAgICAqIHRlc3Rz
L2RhdGEvZmluZF9pbl9wYWdlLmh0bWw6CisgICAgICAgICogdGVzdHMvZGF0YS9maW5kX2luX3Bh
Z2VfZnJhbWUuaHRtbDogbmV3IHRlc3RzIGZvciB0YWJsZXMuCisKKzIwMTItMDgtMjAgIExlYW5k
cm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtD
aHJvbWl1bV0gZGV0ZWN0Q29udGVudEludGVudEFyb3VuZCBoYXMgYSBtaXNsZWFkaW5nIG5hbWUK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzQ5CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZpbmRJblBhZ2VDb29yZGlu
YXRlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GaW5kSW5QYWdlQ29vcmRpbmF0
ZXMuY3BwCmluZGV4IGY5ZmYxOWMyYTBkZTViY2Y4ODUzZDBhNmNjMTg3MWM2MTM0YmMxMzkuLmY2
ZDMxYzE5ZWQyOTNlYTRmYTJiYjdlZTJhZjZhMTI2NjZlYTI3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZpbmRJblBhZ2VDb29yZGluYXRlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRmluZEluUGFnZUNvb3JkaW5hdGVzLmNwcApAQCAtMzgs
NiArMzgsNyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2lu
Y2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5k
ZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJQYXJ0
LmgiCkBAIC00OCwzOSArNDksMzIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1zdGF0aWMgRmxvYXRSZWN0IHRvTm9ybWFsaXplZFJlY3QoY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIsIEZs
b2F0UmVjdCYgY29udGFpbmVyQm91bmRpbmdCb3gpCitzdGF0aWMgRmxvYXRSZWN0IHRvTm9ybWFs
aXplZFJlY3QoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGNvbnN0IFJlbmRlck9iamVj
dCogcmVuZGVyZXIpCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsKIAotICAgIGNvbnN0IFJlbmRl
ck9iamVjdCogY29udGFpbmVyID0gcmVuZGVyZXItPmNvbnRhaW5lcigpOwotICAgIGlmICghY29u
dGFpbmVyKSB7Ci0gICAgICAgIGNvbnRhaW5lckJvdW5kaW5nQm94ID0gRmxvYXRSZWN0KCk7Cisg
ICAgY29uc3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciA9IHJlbmRlcmVyLT5jb250YWluaW5nQmxv
Y2soKTsKKyAgICBBU1NFUlQoY29udGFpbmVyIHx8IHJlbmRlcmVyLT5pc1JlbmRlclZpZXcoKSk7
CisgICAgaWYgKCFjb250YWluZXIpCiAgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLSAgICB9
Ci0KLSAgICBGbG9hdFJlY3Qgbm9ybWFsaXplZFJlY3QgPSBhYnNvbHV0ZVJlY3Q7Ci0gICAgRmxv
YXRSZWN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXItPmFic29sdXRlQm91bmRpbmdCb3hSZWN0
KCk7Ci0gICAgY29udGFpbmVyQm91bmRpbmdCb3ggPSBjb250YWluZXJSZWN0OwogCi0gICAgLy8g
Rm9yIFJlbmRlckJveGVzIHdlIHdhbnQgdG8gbm9ybWFsaXplIGJ5IHRoZSBtYXggbGF5b3V0IG92
ZXJmbG93IHNpemUgaW5zdGVhZCBvZiBvbmx5IHRoZSB2aXNpYmxlIGJvdW5kaW5nIGJveC4KKyAg
ICAvLyBXZSB3YW50IHRvIG5vcm1hbGl6ZSBieSB0aGUgbWF4IGxheW91dCBvdmVyZmxvdyBzaXpl
IGluc3RlYWQgb2Ygb25seSB0aGUgdmlzaWJsZSBib3VuZGluZyBib3guCiAgICAgLy8gUXVhZHMg
YW5kIHRoZWlyIGVuY2xvc2luZyBib3VuZGluZyBib3hlcyBuZWVkIHRvIGJlIHVzZWQgaW4gb3Jk
ZXIgdG8ga2VlcCByZXN1bHRzIHRyYW5zZm9ybS1mcmllbmRseS4KLSAgICBpZiAoY29udGFpbmVy
LT5pc0JveCgpKSB7Ci0gICAgICAgIGNvbnN0IFJlbmRlckJveCogY29udGFpbmVyQm94ID0gdG9S
ZW5kZXJCb3goY29udGFpbmVyKTsKLSAgICAgICAgRmxvYXRQb2ludCBzY3JvbGxlZE9yaWdpbjsK
KyAgICBGbG9hdFBvaW50IHNjcm9sbGVkT3JpZ2luOwogCi0gICAgICAgIC8vIEZvciBvdmVyZmxv
dzpzY3JvbGwgd2UgbmVlZCB0byBnZXQgd2hlcmUgdGhlIGFjdHVhbCBvcmlnaW4gaXMgaW5kZXBl
bmRlbnRseSBvZiB0aGUgc2Nyb2xsLgotICAgICAgICBpZiAoY29udGFpbmVyLT5oYXNPdmVyZmxv
d0NsaXAoKSkKLSAgICAgICAgICAgIHNjcm9sbGVkT3JpZ2luID0gLUludFBvaW50KGNvbnRhaW5l
ckJveC0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOworICAgIC8vIEZvciBvdmVyZmxvdzpzY3Jv
bGwgd2UgbmVlZCB0byBnZXQgd2hlcmUgdGhlIGFjdHVhbCBvcmlnaW4gaXMgaW5kZXBlbmRlbnRs
eSBvZiB0aGUgc2Nyb2xsLgorICAgIGlmIChjb250YWluZXItPmhhc092ZXJmbG93Q2xpcCgpKQor
ICAgICAgICBzY3JvbGxlZE9yaWdpbiA9IC1JbnRQb2ludChjb250YWluZXItPnNjcm9sbGVkQ29u
dGVudE9mZnNldCgpKTsKIAotICAgICAgICBGbG9hdFJlY3Qgb3ZlcmZsb3dSZWN0KHNjcm9sbGVk
T3JpZ2luLCBjb250YWluZXJCb3gtPm1heExheW91dE92ZXJmbG93KCkpOwotICAgICAgICBjb250
YWluZXJSZWN0ID0gY29udGFpbmVyQm94LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChv
dmVyZmxvd1JlY3QpLCBmYWxzZSkuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKLSAgICB9CisgICAg
RmxvYXRSZWN0IG92ZXJmbG93UmVjdChzY3JvbGxlZE9yaWdpbiwgY29udGFpbmVyLT5tYXhMYXlv
dXRPdmVyZmxvdygpKTsKKyAgICBGbG9hdFJlY3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci0+
bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQob3ZlcmZsb3dSZWN0KSwgZmFsc2UpLmVuY2xv
c2luZ0JvdW5kaW5nQm94KCk7CiAKICAgICBpZiAoY29udGFpbmVyUmVjdC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKIAogICAgIC8vIE1ha2UgdGhlIGNvb3JkaW5hdGVz
IHJlbGF0aXZlIHRvIHRoZSBjb250YWluZXIgZW5jbG9zaW5nIGJvdW5kaW5nIGJveC4KICAgICAv
LyBTaW5jZSB3ZSB3b3JrIHdpdGggcmVjdHMgZW5jbG9zaW5nIHF1YWQgdW5pb25zIHRoaXMgaXMg
c3RpbGwgdHJhbnNmb3JtLWZyaWVuZGx5LgorICAgIEZsb2F0UmVjdCBub3JtYWxpemVkUmVjdCA9
IGFic29sdXRlUmVjdDsKICAgICBub3JtYWxpemVkUmVjdC5tb3ZlQnkoLWNvbnRhaW5lclJlY3Qu
bG9jYXRpb24oKSk7CiAKICAgICAvLyBGaXhlZCBwb3NpdGlvbnMgZG8gbm90IG1ha2Ugc2Vuc2Ug
aW4gdGhpcyBjb29yZGluYXRlIHN5c3RlbSwgYnV0IG5lZWQgdG8gbGVhdmUgY29uc2lzdGVudCB0
aWNrbWFya3MuCkBAIC04OSwyOSArODMsMjYgQEAgc3RhdGljIEZsb2F0UmVjdCB0b05vcm1hbGl6
ZWRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVSZWN0LCBjb25zdCBSZW5kZXJPYmoKICAg
ICAgICAgbm9ybWFsaXplZFJlY3QubW92ZSgtdG9SZW5kZXJWaWV3KGNvbnRhaW5lciktPmZyYW1l
VmlldygpLT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkpOwogCiAgICAgbm9ybWFsaXpl
ZFJlY3Quc2NhbGUoMSAvIGNvbnRhaW5lclJlY3Qud2lkdGgoKSwgMSAvIGNvbnRhaW5lclJlY3Qu
aGVpZ2h0KCkpOwotCiAgICAgcmV0dXJuIG5vcm1hbGl6ZWRSZWN0OwogfQogCi1GbG9hdFJlY3Qg
ZmluZEluUGFnZVJlY3RGcm9tQWJzb2x1dGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5wdXRSZWN0
LCBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQorRmxvYXRSZWN0IGZpbmRJblBhZ2VSZWN0
RnJvbUFic29sdXRlUmVjdChjb25zdCBGbG9hdFJlY3QmIGlucHV0UmVjdCwgY29uc3QgUmVuZGVy
T2JqZWN0KiBiYXNlUmVuZGVyZXIpCiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCBpbnB1dFJlY3Qu
aXNFbXB0eSgpKQorICAgIGlmICghYmFzZVJlbmRlcmVyIHx8IGlucHV0UmVjdC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKIAotICAgIC8vIE5vcm1hbGl6ZSB0aGUgaW5w
dXQgcmVjdCB0byBpdHMgY29udGFpbmVyLCBzYXZpbmcgdGhlIGNvbnRhaW5lciBib3VuZGluZyBi
b3ggZm9yIHRoZSBpbmNvbWluZyBsb29wLgotICAgIEZsb2F0UmVjdCByZW5kZXJlckJvdW5kaW5n
Qm94OwotICAgIEZsb2F0UmVjdCBub3JtYWxpemVkUmVjdCA9IHRvTm9ybWFsaXplZFJlY3QoaW5w
dXRSZWN0LCByZW5kZXJlciwgcmVuZGVyZXJCb3VuZGluZ0JveCk7Ci0gICAgcmVuZGVyZXIgPSBy
ZW5kZXJlci0+Y29udGFpbmVyKCk7CisgICAgLy8gTm9ybWFsaXplIHRoZSBpbnB1dCByZWN0IHRv
IGl0cyBjb250YWluZXIgYmxvY2suCisgICAgRmxvYXRSZWN0IG5vcm1hbGl6ZWRSZWN0ID0gdG9O
b3JtYWxpemVkUmVjdChpbnB1dFJlY3QsIGJhc2VSZW5kZXJlcik7CiAKICAgICAvLyBHbyB1cCBh
Y3Jvc3MgZnJhbWVzLgotICAgIHdoaWxlIChyZW5kZXJlcikgeworICAgIGZvciAoY29uc3QgUmVu
ZGVyT2JqZWN0KiByZW5kZXJlciA9IGJhc2VSZW5kZXJlci0+Y29udGFpbmluZ0Jsb2NrKCk7IHJl
bmRlcmVyOyApIHsKIAogICAgICAgICAvLyBHbyB1cCB0aGUgcmVuZGVyIHRyZWUgdW50aWwgd2Ug
cmVhY2ggdGhlIHJvb3Qgb2YgdGhlIGN1cnJlbnQgZnJhbWUgKHRoZSBSZW5kZXJWaWV3KS4KLSAg
ICAgICAgZm9yIChjb25zdCBSZW5kZXJPYmplY3QqIGNvbnRhaW5lciA9IHJlbmRlcmVyLT5jb250
YWluZXIoKTsgY29udGFpbmVyOyByZW5kZXJlciA9IGNvbnRhaW5lciwgY29udGFpbmVyID0gY29u
dGFpbmVyLT5jb250YWluZXIoKSkgeworICAgICAgICBmb3IgKGNvbnN0IFJlbmRlckJsb2NrKiBj
b250YWluZXIgPSByZW5kZXJlci0+Y29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5lcjsKKyAgICAg
ICAgICAgICAgICByZW5kZXJlciA9IGNvbnRhaW5lciwgY29udGFpbmVyID0gY29udGFpbmVyLT5j
b250YWluaW5nQmxvY2soKSkgewogCi0gICAgICAgICAgICAvLyBDb21wb3NlIHRoZSBub3JtYWxp
emVkIHJlY3RzLiBUaGUgYWJzb2x1dGUgYm91bmRpbmcgYm94IG9mIHRoZSBjb250YWluZXIgaXMg
Y2FsY3VsYXRlZCBpbiB0b05vcm1hbGl6ZWRSZWN0Ci0gICAgICAgICAgICAvLyBhbmQgY2FuIGJl
IHJldXNlZCBmb3IgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBsb29wLgotICAgICAgICAgICAg
RmxvYXRSZWN0IG5vcm1hbGl6ZWRCb3hSZWN0ID0gdG9Ob3JtYWxpemVkUmVjdChyZW5kZXJlckJv
dW5kaW5nQm94LCByZW5kZXJlciwgcmVuZGVyZXJCb3VuZGluZ0JveCk7CisgICAgICAgICAgICAv
LyBDb21wb3NlIHRoZSBub3JtYWxpemVkIHJlY3RzLgorICAgICAgICAgICAgRmxvYXRSZWN0IG5v
cm1hbGl6ZWRCb3hSZWN0ID0gdG9Ob3JtYWxpemVkUmVjdChyZW5kZXJlci0+YWJzb2x1dGVCb3Vu
ZGluZ0JveFJlY3QoKSwgcmVuZGVyZXIpOwogICAgICAgICAgICAgbm9ybWFsaXplZFJlY3Quc2Nh
bGUobm9ybWFsaXplZEJveFJlY3Qud2lkdGgoKSwgbm9ybWFsaXplZEJveFJlY3QuaGVpZ2h0KCkp
OwogICAgICAgICAgICAgbm9ybWFsaXplZFJlY3QubW92ZUJ5KG5vcm1hbGl6ZWRCb3hSZWN0Lmxv
Y2F0aW9uKCkpOwogCkBAIC0xMjIsMTAgKzExMyw2IEBAIEZsb2F0UmVjdCBmaW5kSW5QYWdlUmVj
dEZyb21BYnNvbHV0ZVJlY3QoY29uc3QgRmxvYXRSZWN0JiBpbnB1dFJlY3QsIGNvbnN0IFJlbmRl
CiAgICAgICAgIC8vIEp1bXAgdG8gdGhlIHJlbmRlcmVyIG93bmluZyB0aGUgZnJhbWUsIGlmIGFu
eS4KICAgICAgICAgQVNTRVJUKHJlbmRlcmVyLT5pc1JlbmRlclZpZXcoKSk7CiAgICAgICAgIHJl
bmRlcmVyID0gcmVuZGVyZXItPmZyYW1lKCkgPyByZW5kZXJlci0+ZnJhbWUoKS0+b3duZXJSZW5k
ZXJlcigpIDogMDsKLQotICAgICAgICAvLyBVcGRhdGUgdGhlIGFic29sdXRlIGNvb3JkaW5hdGVz
IHRvIHRoZSBuZXcgZnJhbWUuCi0gICAgICAgIGlmIChyZW5kZXJlcikKLSAgICAgICAgICAgIHJl
bmRlcmVyQm91bmRpbmdCb3ggPSByZW5kZXJlci0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKTsK
ICAgICB9CiAKICAgICByZXR1cm4gbm9ybWFsaXplZFJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAKaW5kZXggOGZjNzQ5ODhlYjU2NGJmMDVjM2M0
NmNhODJmYzZlYTY5ZjI4OTYxMi4uMDNjMjAxZTE2Nzg4NzlmNWIxOTQ5NGM2YjVlYTVmOTE2ODgz
ZTRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFtZVRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJhbWVUZXN0LmNw
cApAQCAtODkxLDcgKzg5MSw3IEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIEZpbmRJblBhZ2VNYXRj
aFJlY3RzKQogCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGtGaW5kU3RyaW5nID0gInJlc3VsdCI7
CiAgICAgc3RhdGljIGNvbnN0IGludCBrRmluZElkZW50aWZpZXIgPSAxMjM0NTsKLSAgICBzdGF0
aWMgY29uc3QgaW50IGtOdW1SZXN1bHRzID0gMTA7CisgICAgc3RhdGljIGNvbnN0IGludCBrTnVt
UmVzdWx0cyA9IDE2OwogCiAgICAgV2ViRmluZE9wdGlvbnMgb3B0aW9uczsKICAgICBXZWJTdHJp
bmcgc2VhcmNoVGV4dCA9IFdlYlN0cmluZzo6ZnJvbVVURjgoa0ZpbmRTdHJpbmcpOwpAQCAtOTE4
LDggKzkxOCw4IEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIEZpbmRJblBhZ2VNYXRjaFJlY3RzKQog
ICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBmaW5kIHJlc3VsdCBvcmRlcmluZyBtYXRjaGVzIHdp
dGggb3VyIGV4cGVjdGF0aW9ucy4KICAgICAgICAgUmFuZ2UqIHJlc3VsdCA9IG1haW5GcmFtZS0+
YWN0aXZlTWF0Y2hGcmFtZSgpLT5hY3RpdmVNYXRjaCgpOwogICAgICAgICBBU1NFUlRfVFJVRShy
ZXN1bHQpOwotICAgICAgICByZXN1bHQtPnNldEVuZChyZXN1bHQtPmVuZENvbnRhaW5lcigpLCBy
ZXN1bHQtPmVuZE9mZnNldCgpICsgMik7Ci0gICAgICAgIEVYUEVDVF9FUShyZXN1bHQtPnRleHQo
KSwgU3RyaW5nOjpmb3JtYXQoIiVzICVkIiwga0ZpbmRTdHJpbmcsIHJlc3VsdEluZGV4KSk7Cisg
ICAgICAgIHJlc3VsdC0+c2V0RW5kKHJlc3VsdC0+ZW5kQ29udGFpbmVyKCksIHJlc3VsdC0+ZW5k
T2Zmc2V0KCkgKyAzKTsKKyAgICAgICAgRVhQRUNUX0VRKHJlc3VsdC0+dGV4dCgpLCBTdHJpbmc6
OmZvcm1hdCgiJXMgJTAyZCIsIGtGaW5kU3RyaW5nLCByZXN1bHRJbmRleCkpOwogCiAgICAgICAg
IC8vIFZlcmlmeSB0aGF0IHRoZSBleHBlY3RlZCBtYXRjaCByZWN0IGFsc28gbWF0Y2hlcyB0aGUg
Y3VycmVudGx5IGFjdGl2ZSBtYXRjaC4KICAgICAgICAgLy8gQ29tcGFyZSB0aGUgZW5jbG9zaW5n
IHJlY3RzIHRvIHByZXZlbnQgcHJlY2lzaW9uIGlzc3VlcyBjYXVzZWQgYnkgQ1NTIHRyYW5zZm9y
bXMuCkBAIC05NTAsNiArOTUwLDM2IEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIEZpbmRJblBhZ2VN
YXRjaFJlY3RzKQogICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbN10ueSA8IHdlYk1hdGNo
UmVjdHNbOF0ueSk7CiAgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1s4XS55IDwgd2ViTWF0
Y2hSZWN0c1s5XS55KTsKIAorICAgIC8vIFJlc3VsdHMgMTEsIDEyLCAxMyBhbmQgMTQgc2hvdWxk
IGJlIGJldHdlZW4gcmVzdWx0cyAxMCBhbmQgMTUsIGFzIHRoZXkgYXJlIGluc2lkZSB0aGUgdGFi
bGUuCisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxMV0ueSA+IHdlYk1hdGNoUmVjdHNb
MTBdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTJdLnkgPiB3ZWJNYXRjaFJl
Y3RzWzEwXS55KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzEzXS55ID4gd2ViTWF0
Y2hSZWN0c1sxMF0ueSk7CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxNF0ueSA+IHdl
Yk1hdGNoUmVjdHNbMTBdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTFdLnkg
PCB3ZWJNYXRjaFJlY3RzWzE1XS55KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzEy
XS55IDwgd2ViTWF0Y2hSZWN0c1sxNV0ueSk7CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0
c1sxM10ueSA8IHdlYk1hdGNoUmVjdHNbMTVdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNo
UmVjdHNbMTRdLnkgPCB3ZWJNYXRjaFJlY3RzWzE1XS55KTsKKworICAgIC8vIFJlc3VsdCAxMSBz
aG91bGQgYmUgYWJvdmUgMTIsIDEzIGFuZCAxNCBhcyBpdCdzIGluIHRoZSB0YWJsZSBoZWFkZXIu
CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxMV0ueSA8IHdlYk1hdGNoUmVjdHNbMTJd
LnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTFdLnkgPCB3ZWJNYXRjaFJlY3Rz
WzEzXS55KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzExXS55IDwgd2ViTWF0Y2hS
ZWN0c1sxNF0ueSk7CisKKyAgICAvLyBSZXN1bHQgMTEgc2hvdWxkIGFsc28gYmUgcmlnaHQgdG8g
MTIsIDEzIGFuZCAxNCBiZWNhdXNlIG9mIHRoZSBjb2xzcGFuLgorICAgIEVYUEVDVF9UUlVFKHdl
Yk1hdGNoUmVjdHNbMTFdLnggPiB3ZWJNYXRjaFJlY3RzWzEyXS54KTsKKyAgICBFWFBFQ1RfVFJV
RSh3ZWJNYXRjaFJlY3RzWzExXS54ID4gd2ViTWF0Y2hSZWN0c1sxM10ueCk7CisgICAgRVhQRUNU
X1RSVUUod2ViTWF0Y2hSZWN0c1sxMV0ueCA+IHdlYk1hdGNoUmVjdHNbMTRdLngpOworCisgICAg
Ly8gUmVzdWx0IDEyIHNob3VsZCBiZSBsZWZ0IHRvIHJlc3VsdHMgMTEsIDEzIGFuZCAxNCBpbiB0
aGUgdGFibGUgbGF5b3V0LgorICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTJdLnggPCB3
ZWJNYXRjaFJlY3RzWzExXS54KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWJNYXRjaFJlY3RzWzEyXS54
IDwgd2ViTWF0Y2hSZWN0c1sxM10ueCk7CisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sx
Ml0ueCA8IHdlYk1hdGNoUmVjdHNbMTRdLngpOworCisgICAgLy8gUmVzdWx0cyAxMywgMTIgYW5k
IDE0IHNob3VsZCBiZSBvbmUgYWJvdmUgdGhlIG90aGVyIGluIHRoYXQgb3JkZXIgYmVjYXVzZSBv
ZiB0aGUgcm93c3BhbgorICAgIC8vIGFuZCB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIGJ5IGRlZmF1
bHQuCisgICAgRVhQRUNUX1RSVUUod2ViTWF0Y2hSZWN0c1sxM10ueSA8IHdlYk1hdGNoUmVjdHNb
MTJdLnkpOworICAgIEVYUEVDVF9UUlVFKHdlYk1hdGNoUmVjdHNbMTJdLnkgPCB3ZWJNYXRjaFJl
Y3RzWzE0XS55KTsKKwogICAgIC8vIFJlc2l6aW5nIHNob3VsZCB1cGRhdGUgdGhlIHJlY3RzIHZl
cnNpb24uCiAgICAgd2ViVmlldy0+cmVzaXplKFdlYlNpemUoODAwLCA2MDApKTsKICAgICB3ZWJr
aXRfc3VwcG9ydDo6UnVuQWxsUGVuZGluZ01lc3NhZ2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvZmluZF9pbl9wYWdlLmh0bWwgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvZmluZF9pbl9wYWdlLmh0bWwKaW5kZXggYzA5YzlkZDA2
MDU1OTUxYWMyZjI3MmYyOGU5YTE1MThmYWZkN2ZhZC4uNjQzMDczYTE2MjQxNDJmM2NlOTJmZmNk
N2NmYzc3N2FhZGZmNThhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9kYXRhL2ZpbmRfaW5fcGFnZS5odG1sCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvZGF0YS9maW5kX2luX3BhZ2UuaHRtbApAQCAtNSw5ICs1LDkgQEAKIDwvaGVhZD4KIDxib2R5
PgogVGhpcyBhIGZpbmQtaW4tcGFnZSBtYXRjaCByZWN0IHRlc3QuPC9icj4KLXJlc3VsdCAwPC9i
cj4KK3Jlc3VsdCAwMDwvYnI+CiA8aWZyYW1lIHNyYz0iZmluZF9pbl9wYWdlX2ZyYW1lLmh0bWwi
IGhlaWdodD0iMzAwIiBzY3JvbGxpbmc9InllcyI+PC9pZnJhbWU+CiA8L2JyPgotcmVzdWx0IDEK
K3Jlc3VsdCAwMQogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9kYXRhL2ZpbmRfaW5fcGFnZV9mcmFtZS5odG1sIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9kYXRhL2ZpbmRfaW5fcGFnZV9mcmFtZS5odG1sCmluZGV4IDQ3ZDI5
YWUwZmRkMzc4NjA2ZjdlMTJjOWJkOTk3ZGUzYjYwMzdmMjguLmE5MjJhNTBiY2U3Y2M0NGNlODI0
YjFmMDgxNTMxMjE3OTUwMmY0NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvZGF0YS9maW5kX2luX3BhZ2VfZnJhbWUuaHRtbAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL2RhdGEvZmluZF9pbl9wYWdlX2ZyYW1lLmh0bWwKQEAgLTM2LDIzICszNiw0
MCBAQCBGb28gYmFyLgogPC9icj48L2JyPgogPC9icj48L2JyPgogPC9icj48L2JyPgotcmVzdWx0
IDIKK3Jlc3VsdCAwMgogPGRpdiBjbGFzcz0idHJhbnNmb3JtIj4KLXJlc3VsdCAzCityZXN1bHQg
MDMKIDwvZGl2PgotcmVzdWx0IDQKK3Jlc3VsdCAwNAogPGRpdiBjbGFzcz0iZml4ZWQiPgotcmVz
dWx0IDUKK3Jlc3VsdCAwNQogPC9kaXY+Ci1yZXN1bHQgNgorcmVzdWx0IDA2CiA8ZGl2IGNsYXNz
PSJzY3JvbGwiPgotcmVzdWx0IDcKK3Jlc3VsdCAwNwogRm9vIGJhci4KIDwvYnI+PC9icj4KIDwv
YnI+PC9icj4KIDwvYnI+PC9icj4KLXJlc3VsdCA4CityZXN1bHQgMDgKIDwvZGl2PgotcmVzdWx0
IDkKK3Jlc3VsdCAwOQorPC9icj48L2JyPgorcmVzdWx0IDEwCis8dGFibGUgYm9yZGVyPSIxIiBj
ZWxscGFkZGluZz0iMTAiIGNlbGxzcGFjaW5nPSIxMCI+Cis8dHI+CisgIDx0aD5Gb288L3RoPgor
ICA8dGg+QmFyPC90aD4KKyAgPHRoPnJlc3VsdCAxMTwvdGg+Cis8L3RyPgorPHRyPgorICA8dGQg
cm93c3Bhbj0iMiI+cmVzdWx0IDEyPC90ZD4KKyAgPHRkIGNvbHNwYW49IjIiPnJlc3VsdCAxMzwv
dGQ+Cis8L3RyPgorPHRyPgorICA8dGQgY29sc3Bhbj0iMiI+cmVzdWx0IDE0PC90ZD4KKzwvdHI+
Cis8L3RhYmxlPgorcmVzdWx0IDE1CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>