<?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>58675</bug_id>
          
          <creation_ts>2011-04-15 10:53:48 -0700</creation_ts>
          <short_desc>Add support for composite-to-texture to DumpRenderTree.</short_desc>
          <delta_ts>2011-04-20 08:42:13 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="W. James MacLean">wjmaclean</reporter>
          <assigned_to name="W. James MacLean">wjmaclean</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>tony</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>386745</commentid>
    <comment_count>0</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 10:53:48 -0700</bug_when>
    <thetext>Add support for composite-to-texture to chromium-gpu platform for new-run-webkit-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386746</commentid>
    <comment_count>1</comment_count>
      <attachid>89812</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 10:54:57 -0700</bug_when>
    <thetext>Created attachment 89812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386749</commentid>
    <comment_count>2</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 10:57:33 -0700</bug_when>
    <thetext>Not sure who should review this, but have CC&apos;d some people who are knowledgeable about the subject of the patch. Suggestions?

I&apos;m not sure if adding &quot;chromium-gpu-ctt&quot; as a new platform name is the best way to go, but it does lead to simple plumbing. I&apos;m open to other ideas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386776</commentid>
    <comment_count>3</comment_count>
      <attachid>89818</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 11:35:58 -0700</bug_when>
    <thetext>Created attachment 89818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386778</commentid>
    <comment_count>4</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 11:36:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=89818) [details]
&gt; Patch

Fixed minor mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386800</commentid>
    <comment_count>5</comment_count>
      <attachid>89818</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-15 11:59:50 -0700</bug_when>
    <thetext>Comment on attachment 89818
Patch

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

Are we going to keep growing arguments to DRT? Can we remove some of the existing ones yet and just assume they are enabled (or at least combine flags)?

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py:42
&gt; +    if port_name == &apos;chromium-gpu-ctt&apos;:

Unless we need to spin up new bots that use this config, we shouldn&apos;t introduce new port names, so this probably isn&apos;t the best way to add this flag.

You should add a new command line argument to run_webkit_tests.py (see the examples around line 241).

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py:72
&gt; +    if composite_to_texture:

This should be using port.get_option() like the others, and not a new method parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386801</commentid>
    <comment_count>6</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 12:01:53 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 89818 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89818&amp;action=review
&gt; 
&gt; Are we going to keep growing arguments to DRT? Can we remove some of the existing ones yet and just assume they are enabled (or at least combine flags)?
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py:42
&gt; &gt; +    if port_name == &apos;chromium-gpu-ctt&apos;:
&gt; 
&gt; Unless we need to spin up new bots that use this config, we shouldn&apos;t introduce new port names, so this probably isn&apos;t the best way to add this flag.
&gt; 
&gt; You should add a new command line argument to run_webkit_tests.py (see the examples around line 241).
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_gpu.py:72
&gt; &gt; +    if composite_to_texture:
&gt; 
&gt; This should be using port.get_option() like the others, and not a new method parameter.

Thanks Dirk, I&apos;ll look at that and re-submit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386812</commentid>
    <comment_count>7</comment_count>
      <attachid>89826</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 12:18:40 -0700</bug_when>
    <thetext>Created attachment 89826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386813</commentid>
    <comment_count>8</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 12:21:12 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=89826) [details]
&gt; Patch

Revised ... I missed the option parsing stuff in run_webkit_tests.py first time around, much easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386819</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-15 12:27:35 -0700</bug_when>
    <thetext>In fact, I just posted a patch that will allow you to pass through flags to DRT. If you can wait for that to land, maybe that would allow you to not have to change any python code at all?

(I don&apos;t know why we&apos;re adding this flag or where it will be used).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386821</commentid>
    <comment_count>10</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 12:32:03 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; In fact, I just posted a patch that will allow you to pass through flags to DRT. If you can wait for that to land, maybe that would allow you to not have to change any python code at all?

I&apos;m fine with that if no one has objections.

&gt; (I don&apos;t know why we&apos;re adding this flag or where it will be used).

It invokes a modified rendering path in the GPU compositor architecture that needs to be tested so regressions don&apos;t creep in. This pathway composites to an intermediate texture instead of directly to the screen, so the texture can be used/re-used elsewhere as needed. Ultimately, it will be nice if automated testing runs two passes, one with and one without this flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386826</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-15 12:36:40 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; In fact, I just posted a patch that will allow you to pass through flags to DRT. If you can wait for that to land, maybe that would allow you to not have to change any python code at all?
&gt; 
&gt; I&apos;m fine with that if no one has objections.
&gt; 
&gt; &gt; (I don&apos;t know why we&apos;re adding this flag or where it will be used).
&gt; 
&gt; It invokes a modified rendering path in the GPU compositor architecture that needs to be tested so regressions don&apos;t creep in. This pathway composites to an intermediate texture instead of directly to the screen, so the texture can be used/re-used elsewhere as needed. Ultimately, it will be nice if automated testing runs two passes, one with and one without this flag.

The two code paths will exist indefinitely into the future? How does the renderer normal figure out which to use? Some sort of runtime feature detection from the video card?

Can we test this using an additional machine in the hardware lab (as if it is a different card), or do we really need to do an additional run on ever bot config?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386845</commentid>
    <comment_count>12</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 12:53:57 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; 
&gt; The two code paths will exist indefinitely into the future? 

Yes.

&gt; How does the renderer normal figure out which to use? Some sort of runtime feature detection from the video card?

Probably a build flag and/or command line switch. It&apos;s intended for use in ChromeOS eventually.

&gt; 
&gt; Can we test this using an additional machine in the hardware lab (as if it is a different card), or do we really need to do an additional run on ever bot config?

In order to avoid breakage, I think regular runs on a bot will be needed. Much to my dismay, a non-trivial amount of pixel regression has crept in since the code path was first established.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386852</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-15 12:59:44 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; 
&gt; &gt; The two code paths will exist indefinitely into the future? 
&gt; 
&gt; Yes.
&gt; 
&gt; &gt; How does the renderer normal figure out which to use? Some sort of runtime feature detection from the video card?
&gt; 
&gt; Probably a build flag and/or command line switch. It&apos;s intended for use in ChromeOS eventually.
&gt; 
&gt; &gt; 
&gt; &gt; Can we test this using an additional machine in the hardware lab (as if it is a different card), or do we really need to do an additional run on ever bot config?
&gt; 
&gt; In order to avoid breakage, I think regular runs on a bot will be needed. Much to my dismay, a non-trivial amount of pixel regression has crept in since the code path was first established.

Okay, but this could just be one actively monitored bot, and doesn&apos;t need to be all of them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386874</commentid>
    <comment_count>14</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-15 13:31:03 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; 
&gt; Okay, but this could just be one actively monitored bot, and doesn&apos;t need to be all of them?

I&apos;d like to defer to Vangelis, Ken and James on that one. Composite-to-texture has sandboxing potential also, so it may need broader testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387991</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-18 13:28:23 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; Can we test this using an additional machine in the hardware lab (as if it is a different card), or do we really need to do an additional run on ever bot config?
&gt; 
&gt; In order to avoid breakage, I think regular runs on a bot will be needed. Much to my dismay, a non-trivial amount of pixel regression has crept in since the code path was first established.

What particular breakages have been introduced?  Are they the sort of breakages that would break all compositing tests, or just some of them?

The cost of maintaining another set of baselines is fairly high.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387998</commentid>
    <comment_count>16</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-18 13:33:48 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #12)
&gt; &gt; &gt; Can we test this using an additional machine in the hardware lab (as if it is a different card), or do we really need to do an additional run on ever bot config?
&gt; &gt; 
&gt; &gt; In order to avoid breakage, I think regular runs on a bot will be needed. Much to my dismay, a non-trivial amount of pixel regression has crept in since the code path was first established.
&gt; 
&gt; What particular breakages have been introduced?  Are they the sort of breakages that would break all compositing tests, or just some of them?
&gt; 
&gt; The cost of maintaining another set of baselines is fairly high.

Mostly minor pixel differences at high-contrast edges (although I haven&apos;t checked every failing test manually to see if there&apos;s anything more severe). There are (at present) 54 such tests, up from around 32 in February.

I don&apos;t know if we need to add a bot for it, but it would be nice to have it available as an option for people running new-run-webkit-tests so they can try their changes against before submitting CLs (if only to make sure that something more major doesn&apos;t slip through ...).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388483</commentid>
    <comment_count>17</comment_count>
      <attachid>90197</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-19 07:01:13 -0700</bug_when>
    <thetext>Created attachment 90197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388500</commentid>
    <comment_count>18</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-19 07:27:08 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=90197) [details]
&gt; Patch

I&apos;ve updated the patch to use Dirk&apos;s --additional-drt-flag switch, so now no changes are required to any of the Python scripts.

A quick survey of the test performance between the two compositing paths gives

Composite-to-texture enabled:
  64 image mismatch (all are minor pixel mismatches at high contrast edges), 
  1 text mismatch

vs.

Composite-to-screen:
  8 image mismatch
  1 text mismatch

I personally suspect that most (if not all) of the additional image errors in composite-to-texture are the result of interpolation differences at high-contrast edges, and that this will diminish as tiling allows us to use smaller texture sizes (should we so choose).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388910</commentid>
    <comment_count>19</comment_count>
      <attachid>90197</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-04-19 16:44:52 -0700</bug_when>
    <thetext>Comment on attachment 90197
Patch

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389168</commentid>
    <comment_count>20</comment_count>
      <attachid>90197</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-20 06:17:09 -0700</bug_when>
    <thetext>Comment on attachment 90197
Patch

Clearing flags on attachment: 90197

Committed r84361: &lt;http://trac.webkit.org/changeset/84361&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389169</commentid>
    <comment_count>21</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-04-20 06:17:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389249</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-20 08:42:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84361 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89812</attachid>
            <date>2011-04-15 10:54:57 -0700</date>
            <delta_ts>2011-04-15 11:35:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58675-20110415135208.patch</filename>
            <type>text/plain</type>
            <size>11644</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM5ODcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNGVkYzdjNmNhZDlhY2Q0NDZiY2MwNTU2MzU4NDJkNThl
NTBhOTNiLi5kZWM1NjRhM2ViMTdhMTdkY2QxMGEyZWY3ODE1ZTMzYjU2YzY0MjE0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDQtMTUgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBjb21wb3NpdGUtdG8tdGV4dHVyZSB0byBjaHJvbWl1bS1ncHUgcGxhdGZvcm0g
Zm9yIG5ldy1ydW4td2Via2l0LXRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NzUKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRl
c3RTaGVsbCk6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNo
ZWxsOjpzZXRDb21wb3NpdGVUb1RleHR1cmUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpyZXNl
dCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5OgorCiAyMDExLTA0LTE1
ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
dW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVu
ZGVyVHJlZS5jcHAKaW5kZXggOTVmY2Q1OGEwMWI0OTc3ODMyNjc0NTgwMzQxMzkwMTY3MTdiOWI1
Yi4uYzlkMzg3NTk3MjFhOTRiMGRhZmUxNGJmZDMxMDY4ZjFhYmMwYWYyOCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNTYsNiAr
NTYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25IYXJkd2FyZUFjY2VsZXJhdGVkR0xbXSA9
ICItLWVuYWJsZS1oYXJkd2FyZS1ncHUiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0
aW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkZvcmNlQ29tcG9zaXRpbmdNb2RlW10gPSAi
LS1mb3JjZS1jb21wb3NpdGluZy1tb2RlIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkVuYWJs
ZUFjY2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVuYWJsZS1hY2NlbGVyYXRlZC0yZC1jYW52YXMi
Oworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQ29tcG9zaXRlVG9UZXh0dXJlW10gPSAi
LS1lbmFibGUtY29tcG9zaXRlLXRvLXRleHR1cmUiOwogCiBzdGF0aWMgY29uc3QgY2hhciBvcHRp
b25TdHJlc3NPcHRbXSA9ICItLXN0cmVzcy1vcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9u
U3RyZXNzRGVvcHRbXSA9ICItLXN0cmVzcy1kZW9wdCI7CkBAIC0xMzMsNiArMTM0LDcgQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBib29sIGFsbG93RXh0ZXJuYWxQYWdl
cyA9IGZhbHNlOwogICAgIGJvb2wgc3RhcnR1cERpYWxvZyA9IGZhbHNlOwogICAgIGJvb2wgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICBib29sIGNvbXBvc2l0ZVRv
VGV4dHVyZSA9IGZhbHNlOwogICAgIGJvb2wgZm9yY2VDb21wb3NpdGluZ01vZGUgPSBmYWxzZTsK
ICAgICBib29sIGFjY2VsZXJhdGVkMkRDYW52YXNFbmFibGVkID0gZmFsc2U7CiAgICAgYm9vbCBz
dHJlc3NPcHQgPSBmYWxzZTsKQEAgLTE2OCw2ICsxNzAsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciogYXJndltdKQogICAgICAgICAgICAgaGFyZHdhcmVBY2NlbGVyYXRlZEdMID0gdHJ1ZTsK
ICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21w
b3NpdGluZykKICAgICAgICAgICAgIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkID0gdHJ1
ZTsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRW5hYmxlQ29tcG9zaXRlVG9U
ZXh0dXJlKQorICAgICAgICAgICAgY29tcG9zaXRlVG9UZXh0dXJlID0gdHJ1ZTsKICAgICAgICAg
ZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRm9yY2VDb21wb3NpdGluZ01vZGUpCiAgICAgICAg
ICAgICBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKGFyZ3Vt
ZW50ID09IG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52YXMpCkBAIC0yMDMsNiArMjA3LDcg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgVGVzdFNoZWxsIHNo
ZWxsKHRlc3RTaGVsbE1vZGUpOwogICAgICAgICBzaGVsbC5zZXRBbGxvd0V4dGVybmFsUGFnZXMo
YWxsb3dFeHRlcm5hbFBhZ2VzKTsKICAgICAgICAgc2hlbGwuc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQoYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOworICAgICAgICBzaGVs
bC5zZXRDb21wb3NpdGVUb1RleHR1cmUoY29tcG9zaXRlVG9UZXh0dXJlKTsKICAgICAgICAgc2hl
bGwuc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZm9yY2VDb21wb3NpdGluZ01vZGUpOwogICAgICAg
ICBzaGVsbC5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVyYXRlZDJEQ2FudmFz
RW5hYmxlZCk7CiAgICAgICAgIHNoZWxsLnNldEphdmFTY3JpcHRGbGFncyhqYXZhU2NyaXB0Rmxh
Z3MpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXgg
NGEwOTJlNzdjYjhjNzc5YTZlNDc1MTI3ZGU4M2M0OTIyM2NiZDM1Zi4uYmU5ZmIwNTQxZGVlZTJj
MjQ0NzgwZWI5ZGU4MjUzNTMxY2RmNmFkYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuY3BwCkBAIC05OSw2ICs5OSw3IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxs
KGJvb2wgdGVzdFNoZWxsTW9kZSkKICAgICAsIG1fZGV2VG9vbHMoMCkKICAgICAsIG1fYWxsb3dF
eHRlcm5hbFBhZ2VzKGZhbHNlKQogICAgICwgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZChmYWxzZSkKKyAgICAsIG1fY29tcG9zaXRlVG9UZXh0dXJlKGZhbHNlKQogICAgICwgbV9mb3Jj
ZUNvbXBvc2l0aW5nTW9kZShmYWxzZSkKICAgICAsIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJs
ZWQoZmFsc2UpCiAgICAgLCBtX3N0cmVzc09wdChmYWxzZSkKQEAgLTE3OCw2ICsxNzksNyBAQCB2
b2lkIFRlc3RTaGVsbDo6cmVzZXRXZWJTZXR0aW5ncyhXZWJWaWV3JiB3ZWJWaWV3KQogewogICAg
IG1fcHJlZnMucmVzZXQoKTsKICAgICBtX3ByZWZzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFi
bGVkID0gbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKKyAgICBtX3ByZWZzLmNvbXBv
c2l0ZVRvVGV4dHVyZSA9IG1fY29tcG9zaXRlVG9UZXh0dXJlOwogICAgIG1fcHJlZnMuZm9yY2VD
b21wb3NpdGluZ01vZGUgPSBtX2ZvcmNlQ29tcG9zaXRpbmdNb2RlOwogICAgIG1fcHJlZnMuYWNj
ZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQgPSBtX2FjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOwog
ICAgIG1fcHJlZnMuYXBwbHlUbygmd2ViVmlldyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCmluZGV4IDEwZDY5MDkwYzRmOTljNjA1ZTYyMTUyYTVmNWRhMTEzMmQ3
NDkxNmQuLjdlOTlhNGMyZjFhNGFhZGVkMGJhN2NhN2RjMjk2MDNmNjUxMzc5ZDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMjYsNiArMTI2LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QWxsb3dFeHRlcm5hbFBhZ2VzKGJvb2wgYWxsb3dFeHRlcm5h
bFBhZ2VzKSB7IG1fYWxsb3dFeHRlcm5hbFBhZ2VzID0gYWxsb3dFeHRlcm5hbFBhZ2VzOyB9CiAK
ICAgICB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkg
eyBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIHZvaWQg
c2V0Q29tcG9zaXRlVG9UZXh0dXJlKGJvb2wgZW5hYmxlZCkgeyBtX2NvbXBvc2l0ZVRvVGV4dHVy
ZSA9IGVuYWJsZWQ7IH0KICAgICB2b2lkIHNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKGJvb2wgZW5h
YmxlZCkgeyBtX2ZvcmNlQ29tcG9zaXRpbmdNb2RlID0gZW5hYmxlZDsgfQogICAgIHZvaWQgc2V0
QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fYWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKQEAgLTIwMiw2ICsyMDMsNyBAQCBwcml2YXRl
OgogICAgIGludCBtX3RpbWVvdXQ7IC8vIHRpbWVvdXQgdmFsdWUgaW4gbWlsbGlzZWNvbmQKICAg
ICBib29sIG1fYWxsb3dFeHRlcm5hbFBhZ2VzOwogICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBv
c2l0aW5nRW5hYmxlZDsKKyAgICBib29sIG1fY29tcG9zaXRlVG9UZXh0dXJlOwogICAgIGJvb2wg
bV9mb3JjZUNvbXBvc2l0aW5nTW9kZTsKICAgICBib29sIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQ7CiAgICAgV2ViUHJlZmVyZW5jZXMgbV9wcmVmczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBjNjA5Mzk3YTRiYTE1Y2Iw
MmMzMTY5NzUwNjE5YmE5ZjVhNzA3ODkxLi5mNTU1NmY0YjgyOGY2YmExZDVkNTJmM2EwOGQxZDUx
MjMyODU0YWNhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQ
cmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJl
ZmVyZW5jZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cmVz
ZXQoKQogICAgIHRhYnNUb0xpbmtzID0gZmFsc2U7CiAgICAgaHlwZXJsaW5rQXVkaXRpbmdFbmFi
bGVkID0gZmFsc2U7CiAgICAgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsK
KyAgICBjb21wb3NpdGVUb1RleHR1cmUgPSBmYWxzZTsKICAgICBhY2NlbGVyYXRlZDJkQ2FudmFz
RW5hYmxlZCA9IGZhbHNlOwogICAgIGZvcmNlQ29tcG9zaXRpbmdNb2RlID0gZmFsc2U7CiB9CkBA
IC0xNTAsNiArMTUxLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3
ZWJWaWV3KQogICAgIHdlYlZpZXctPnNldFRhYnNUb0xpbmtzKHRhYnNUb0xpbmtzKTsKICAgICBz
ZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoY2FyZXRCcm93c2luZ0VuYWJsZWQpOwog
ICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldENvbXBvc2l0ZVRvVGV4dHVy
ZUVuYWJsZWQoY29tcG9zaXRlVG9UZXh0dXJlKTsKICAgICBzZXR0aW5ncy0+c2V0Rm9yY2VDb21w
b3NpdGluZ01vZGUoZm9yY2VDb21wb3NpdGluZ01vZGUpOwogICAgIHNldHRpbmdzLT5zZXRBY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGFk
MjdmYjg0Y2E0MTZkYTBkZmY0NTYzZGRhZWJmNjM4YThmOGUzMzMuLmM4NWE0ODc0NGVjOWFkYzYw
YWViYThkMjI2MjgyNjQyZTZkNjJkMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtNzgsNiArNzgsNyBAQCBzdHJ1Y3QgV2ViUHJlZmVy
ZW5jZXMgewogICAgIGJvb2wgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOwogICAgIGJvb2wgY2Fy
ZXRCcm93c2luZ0VuYWJsZWQ7CiAgICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZDsKKyAgICBib29sIGNvbXBvc2l0ZVRvVGV4dHVyZTsKICAgICBib29sIGZvcmNlQ29tcG9zaXRp
bmdNb2RlOwogICAgIGJvb2wgYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5Cmlu
ZGV4IGViMTBhOWJkMTRkODhjM2ExNmE1ZmE4MzE4NDkzZmNiMDIwMjBiOTMuLjQwNWZkYmE0NjBl
MzA0OWI5Y2U0MDcxYmY4NzNhNGQ0ZWE5YTg5NDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQpAQCAtMzg5LDYgKzM4OSw4
IEBAIGNsYXNzIENocm9taXVtRHJpdmVyKGJhc2UuRHJpdmVyKToKICAgICAgICAgICAgIGNtZC5h
cHBlbmQoJy0tZW5hYmxlLWFjY2VsZXJhdGVkLTJkLWNhbnZhcycpCiAgICAgICAgIGlmIHNlbGYu
X3BvcnQuZ2V0X29wdGlvbignZW5hYmxlX2hhcmR3YXJlX2dwdScpOgogICAgICAgICAgICAgY21k
LmFwcGVuZCgnLS1lbmFibGUtaGFyZHdhcmUtZ3B1JykKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5n
ZXRfb3B0aW9uKCdjb21wb3NpdGVfdG9fdGV4dHVyZScpOgorICAgICAgICAgICAgY21kLmFwcGVu
ZCgnLS1lbmFibGUtY29tcG9zaXRlLXRvLXRleHR1cmUnKQogICAgICAgICByZXR1cm4gY21kCiAK
ICAgICBkZWYgc3RhcnQoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2dwdS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CmluZGV4IGZmYzJjZjc0Y2M3NTQ2
NzNmNzE3NzRiYzg0ZTI5YjY0MzJjNjVmZGYuLjlmOWYzN2ZiY2E1M2YyNjQ1YzBjODVmYzE3Y2Fj
MDAxMWY3Njk1NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CkBAIC0zOCw2ICszOCwxMCBAQCBkZWYgZ2V0
KHBsYXRmb3JtPU5vbmUsIHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1JywgKiprd2FyZ3MpOgogICAg
IGhhcmR3YXJlIGFjY2VsZXJhdGlvbi4gIEluIHRob3NlIGNhc2VzLCB3ZSBwcmVwZW5kIGFuIGFk
ZGl0aW9uYWwgZGlyZWN0b3J5CiAgICAgdG8gdGhlIGJhc2VsaW5lIHBhdGhzLiIiIgogICAgIHBs
YXRmb3JtID0gcGxhdGZvcm0gb3Igc3lzLnBsYXRmb3JtCisgICAgY29tcG9zaXRlX3RvX3RleHR1
cmUgPSBGYWxzZQorICAgIGlmIHBvcnRfbmFtZSA9PSAnY2hyb21pdW0tZ3B1LWN0dCc6CisgICAg
ICAgIHBvcnRfbmFtZSA9ICdjaHJvbWl1bS1ncHUnCisgICAgICAgIGNvbXBvc2l0ZV90b190ZXh0
dXJlID0gVHJ1ZQogICAgIGlmIHBvcnRfbmFtZSA9PSAnY2hyb21pdW0tZ3B1JzoKICAgICAgICAg
aWYgcGxhdGZvcm0gaW4gKCdjeWd3aW4nLCAnd2luMzInKToKICAgICAgICAgICAgIHBvcnRfbmFt
ZSA9ICdjaHJvbWl1bS1ncHUtd2luJwpAQCAtNDksMjIgKzUzLDI0IEBAIGRlZiBnZXQocGxhdGZv
cm09Tm9uZSwgcG9ydF9uYW1lPSdjaHJvbWl1bS1ncHUnLCAqKmt3YXJncyk6CiAgICAgICAgICAg
ICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwbGF0Zm9ybTogJXMnICUg
cGxhdGZvcm0pCiAKICAgICBpZiBwb3J0X25hbWUuc3RhcnRzd2l0aCgnY2hyb21pdW0tZ3B1LWxp
bnV4Jyk6Ci0gICAgICAgIHJldHVybiBDaHJvbWl1bUdwdUxpbnV4UG9ydChwb3J0X25hbWU9cG9y
dF9uYW1lLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIENocm9taXVtR3B1TGludXhQb3J0KHBv
cnRfbmFtZT1wb3J0X25hbWUsIGNvbXBvc2l0ZV90b190ZXh0dXJlPXBvcnRfbmFtZSwgKiprd2Fy
Z3MpCiAgICAgaWYgcG9ydF9uYW1lLnN0YXJ0c3dpdGgoJ2Nocm9taXVtLWdwdS1tYWMnKToKLSAg
ICAgICAgcmV0dXJuIENocm9taXVtR3B1TWFjUG9ydChwb3J0X25hbWU9cG9ydF9uYW1lLCAqKmt3
YXJncykKKyAgICAgICAgcmV0dXJuIENocm9taXVtR3B1TWFjUG9ydChwb3J0X25hbWU9cG9ydF9u
YW1lLCBjb21wb3NpdGVfdG9fdGV4dHVyZT1wb3J0X25hbWUsICoqa3dhcmdzKQogICAgIGlmIHBv
cnRfbmFtZS5zdGFydHN3aXRoKCdjaHJvbWl1bS1ncHUtd2luJyk6Ci0gICAgICAgIHJldHVybiBD
aHJvbWl1bUdwdVdpblBvcnQocG9ydF9uYW1lPXBvcnRfbmFtZSwgKiprd2FyZ3MpCisgICAgICAg
IHJldHVybiBDaHJvbWl1bUdwdVdpblBvcnQocG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tcG9zaXRl
X3RvX3RleHR1cmU9cG9ydF9uYW1lLCAqKmt3YXJncykKICAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yKCd1bnN1cHBvcnRlZCBwb3J0OiAlcycgJSBwb3J0X25hbWUpCiAKIAogIyBGSVhNRTog
VGhlc2Ugc2hvdWxkIHJlYWxseSBiZSBhIG1peGluIGNsYXNzLgogCi1kZWYgX3NldF9ncHVfb3B0
aW9ucyhwb3J0KToKK2RlZiBfc2V0X2dwdV9vcHRpb25zKHBvcnQsIGNvbXBvc2l0ZV90b190ZXh0
dXJlKToKICAgICBwb3J0Ll9ncmFwaGljc190eXBlID0gJ2dwdScKICAgICBpZiBwb3J0LmdldF9v
cHRpb24oJ2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nJykgaXMgTm9uZToKICAgICAgICAgcG9ydC5f
b3B0aW9ucy5hY2NlbGVyYXRlZF9jb21wb3NpdGluZyA9IFRydWUKICAgICBpZiBwb3J0LmdldF9v
cHRpb24oJ2FjY2VsZXJhdGVkXzJkX2NhbnZhcycpIGlzIE5vbmU6CiAgICAgICAgIHBvcnQuX29w
dGlvbnMuYWNjZWxlcmF0ZWRfMmRfY2FudmFzID0gVHJ1ZQorICAgIGlmIGNvbXBvc2l0ZV90b190
ZXh0dXJlOgorICAgICAgICBwb3J0Ll9vcHRpb25zLmNvbXBvc2l0ZV90b190ZXh0dXJlID0gVHJ1
ZQogCiAgICAgIyBGSVhNRTogUmVtb3ZlIHRoaXMgYWZ0ZXIgaHR0cDovL2NvZGVyZXZpZXcuY2hy
b21pdW0ub3JnLzUxMzMwMDEvIGlzIGVuYWJsZWQKICAgICAjIG9uIHRoZSBib3RzLgpAQCAtODYs
OSArOTIsOSBAQCBkZWYgX3Rlc3RzKHBvcnQsIHBhdGhzKToKIAogCiBjbGFzcyBDaHJvbWl1bUdw
dUxpbnV4UG9ydChjaHJvbWl1bV9saW51eC5DaHJvbWl1bUxpbnV4UG9ydCk6Ci0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1LWxpbnV4JywgKiprd2FyZ3MpOgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X25hbWU9J2Nocm9taXVtLWdwdS1saW51eCcsIGNv
bXBvc2l0ZV90b190ZXh0dXJlPUZhbHNlLCAqKmt3YXJncyk6CiAgICAgICAgIGNocm9taXVtX2xp
bnV4LkNocm9taXVtTGludXhQb3J0Ll9faW5pdF9fKHNlbGYsIHBvcnRfbmFtZT1wb3J0X25hbWUs
ICoqa3dhcmdzKQotICAgICAgICBfc2V0X2dwdV9vcHRpb25zKHNlbGYpCisgICAgICAgIF9zZXRf
Z3B1X29wdGlvbnMoc2VsZiwgY29tcG9zaXRlX3RvX3RleHR1cmUpCiAKICAgICBkZWYgYmFzZWxp
bmVfcGF0aChzZWxmKToKICAgICAgICAgIyBHUFUgYmFzZWxpbmVzIGFyZW4ndCB5ZXQgdmVyc2lv
bmVkLgpAQCAtMTA3LDkgKzExMyw5IEBAIGNsYXNzIENocm9taXVtR3B1TGludXhQb3J0KGNocm9t
aXVtX2xpbnV4LkNocm9taXVtTGludXhQb3J0KToKIAogCiBjbGFzcyBDaHJvbWl1bUdwdU1hY1Bv
cnQoY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9ydCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1LW1hYycsICoqa3dhcmdzKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgcG9ydF9uYW1lPSdjaHJvbWl1bS1ncHUtbWFjJywgY29tcG9zaXRlX3RvX3RleHR1
cmU9RmFsc2UsICoqa3dhcmdzKToKICAgICAgICAgY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9y
dC5fX2luaXRfXyhzZWxmLCBwb3J0X25hbWU9cG9ydF9uYW1lLCAqKmt3YXJncykKLSAgICAgICAg
X3NldF9ncHVfb3B0aW9ucyhzZWxmKQorICAgICAgICBfc2V0X2dwdV9vcHRpb25zKHNlbGYsIGNv
bXBvc2l0ZV90b190ZXh0dXJlKQogCiAgICAgZGVmIGJhc2VsaW5lX3BhdGgoc2VsZik6CiAgICAg
ICAgICMgR1BVIGJhc2VsaW5lcyBhcmVuJ3QgeWV0IHZlcnNpb25lZC4KQEAgLTEyNyw5ICsxMzMs
OSBAQCBjbGFzcyBDaHJvbWl1bUdwdU1hY1BvcnQoY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9y
dCk6CiAKIAogY2xhc3MgQ2hyb21pdW1HcHVXaW5Qb3J0KGNocm9taXVtX3dpbi5DaHJvbWl1bVdp
blBvcnQpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X25hbWU9J2Nocm9taXVtLWdwdS13
aW4nLCAqKmt3YXJncyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfbmFtZT0nY2hyb21p
dW0tZ3B1LXdpbicsIGNvbXBvc2l0ZV90b190ZXh0dXJlPUZhbHNlLCAqKmt3YXJncyk6CiAgICAg
ICAgIGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQuX19pbml0X18oc2VsZiwgcG9ydF9uYW1l
PXBvcnRfbmFtZSwgKiprd2FyZ3MpCi0gICAgICAgIF9zZXRfZ3B1X29wdGlvbnMoc2VsZikKKyAg
ICAgICAgX3NldF9ncHVfb3B0aW9ucyhzZWxmLCBjb21wb3NpdGVfdG9fdGV4dHVyZSkKIAogICAg
IGRlZiBiYXNlbGluZV9wYXRoKHNlbGYpOgogICAgICAgICAjIEdQVSBiYXNlbGluZXMgYXJlbid0
IHlldCB2ZXJzaW9uZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89818</attachid>
            <date>2011-04-15 11:35:58 -0700</date>
            <delta_ts>2011-04-15 12:18:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58675-20110415143308.patch</filename>
            <type>text/plain</type>
            <size>11677</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM5ODcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNGVkYzdjNmNhZDlhY2Q0NDZiY2MwNTU2MzU4NDJkNThl
NTBhOTNiLi5kZWM1NjRhM2ViMTdhMTdkY2QxMGEyZWY3ODE1ZTMzYjU2YzY0MjE0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDQtMTUgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBjb21wb3NpdGUtdG8tdGV4dHVyZSB0byBjaHJvbWl1bS1ncHUgcGxhdGZvcm0g
Zm9yIG5ldy1ydW4td2Via2l0LXRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NzUKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRl
c3RTaGVsbCk6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNo
ZWxsOjpzZXRDb21wb3NpdGVUb1RleHR1cmUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpyZXNl
dCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5OgorCiAyMDExLTA0LTE1
ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
dW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVu
ZGVyVHJlZS5jcHAKaW5kZXggOTVmY2Q1OGEwMWI0OTc3ODMyNjc0NTgwMzQxMzkwMTY3MTdiOWI1
Yi4uYzlkMzg3NTk3MjFhOTRiMGRhZmUxNGJmZDMxMDY4ZjFhYmMwYWYyOCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNTYsNiAr
NTYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25IYXJkd2FyZUFjY2VsZXJhdGVkR0xbXSA9
ICItLWVuYWJsZS1oYXJkd2FyZS1ncHUiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0
aW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkZvcmNlQ29tcG9zaXRpbmdNb2RlW10gPSAi
LS1mb3JjZS1jb21wb3NpdGluZy1tb2RlIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkVuYWJs
ZUFjY2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVuYWJsZS1hY2NlbGVyYXRlZC0yZC1jYW52YXMi
Oworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQ29tcG9zaXRlVG9UZXh0dXJlW10gPSAi
LS1lbmFibGUtY29tcG9zaXRlLXRvLXRleHR1cmUiOwogCiBzdGF0aWMgY29uc3QgY2hhciBvcHRp
b25TdHJlc3NPcHRbXSA9ICItLXN0cmVzcy1vcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9u
U3RyZXNzRGVvcHRbXSA9ICItLXN0cmVzcy1kZW9wdCI7CkBAIC0xMzMsNiArMTM0LDcgQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBib29sIGFsbG93RXh0ZXJuYWxQYWdl
cyA9IGZhbHNlOwogICAgIGJvb2wgc3RhcnR1cERpYWxvZyA9IGZhbHNlOwogICAgIGJvb2wgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICBib29sIGNvbXBvc2l0ZVRv
VGV4dHVyZSA9IGZhbHNlOwogICAgIGJvb2wgZm9yY2VDb21wb3NpdGluZ01vZGUgPSBmYWxzZTsK
ICAgICBib29sIGFjY2VsZXJhdGVkMkRDYW52YXNFbmFibGVkID0gZmFsc2U7CiAgICAgYm9vbCBz
dHJlc3NPcHQgPSBmYWxzZTsKQEAgLTE2OCw2ICsxNzAsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciogYXJndltdKQogICAgICAgICAgICAgaGFyZHdhcmVBY2NlbGVyYXRlZEdMID0gdHJ1ZTsK
ICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21w
b3NpdGluZykKICAgICAgICAgICAgIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkID0gdHJ1
ZTsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRW5hYmxlQ29tcG9zaXRlVG9U
ZXh0dXJlKQorICAgICAgICAgICAgY29tcG9zaXRlVG9UZXh0dXJlID0gdHJ1ZTsKICAgICAgICAg
ZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRm9yY2VDb21wb3NpdGluZ01vZGUpCiAgICAgICAg
ICAgICBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKGFyZ3Vt
ZW50ID09IG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52YXMpCkBAIC0yMDMsNiArMjA3LDcg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgVGVzdFNoZWxsIHNo
ZWxsKHRlc3RTaGVsbE1vZGUpOwogICAgICAgICBzaGVsbC5zZXRBbGxvd0V4dGVybmFsUGFnZXMo
YWxsb3dFeHRlcm5hbFBhZ2VzKTsKICAgICAgICAgc2hlbGwuc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQoYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOworICAgICAgICBzaGVs
bC5zZXRDb21wb3NpdGVUb1RleHR1cmUoY29tcG9zaXRlVG9UZXh0dXJlKTsKICAgICAgICAgc2hl
bGwuc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZm9yY2VDb21wb3NpdGluZ01vZGUpOwogICAgICAg
ICBzaGVsbC5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVyYXRlZDJEQ2FudmFz
RW5hYmxlZCk7CiAgICAgICAgIHNoZWxsLnNldEphdmFTY3JpcHRGbGFncyhqYXZhU2NyaXB0Rmxh
Z3MpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXgg
NGEwOTJlNzdjYjhjNzc5YTZlNDc1MTI3ZGU4M2M0OTIyM2NiZDM1Zi4uYmU5ZmIwNTQxZGVlZTJj
MjQ0NzgwZWI5ZGU4MjUzNTMxY2RmNmFkYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuY3BwCkBAIC05OSw2ICs5OSw3IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxs
KGJvb2wgdGVzdFNoZWxsTW9kZSkKICAgICAsIG1fZGV2VG9vbHMoMCkKICAgICAsIG1fYWxsb3dF
eHRlcm5hbFBhZ2VzKGZhbHNlKQogICAgICwgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZChmYWxzZSkKKyAgICAsIG1fY29tcG9zaXRlVG9UZXh0dXJlKGZhbHNlKQogICAgICwgbV9mb3Jj
ZUNvbXBvc2l0aW5nTW9kZShmYWxzZSkKICAgICAsIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJs
ZWQoZmFsc2UpCiAgICAgLCBtX3N0cmVzc09wdChmYWxzZSkKQEAgLTE3OCw2ICsxNzksNyBAQCB2
b2lkIFRlc3RTaGVsbDo6cmVzZXRXZWJTZXR0aW5ncyhXZWJWaWV3JiB3ZWJWaWV3KQogewogICAg
IG1fcHJlZnMucmVzZXQoKTsKICAgICBtX3ByZWZzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFi
bGVkID0gbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKKyAgICBtX3ByZWZzLmNvbXBv
c2l0ZVRvVGV4dHVyZSA9IG1fY29tcG9zaXRlVG9UZXh0dXJlOwogICAgIG1fcHJlZnMuZm9yY2VD
b21wb3NpdGluZ01vZGUgPSBtX2ZvcmNlQ29tcG9zaXRpbmdNb2RlOwogICAgIG1fcHJlZnMuYWNj
ZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQgPSBtX2FjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOwog
ICAgIG1fcHJlZnMuYXBwbHlUbygmd2ViVmlldyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCmluZGV4IDEwZDY5MDkwYzRmOTljNjA1ZTYyMTUyYTVmNWRhMTEzMmQ3
NDkxNmQuLjdlOTlhNGMyZjFhNGFhZGVkMGJhN2NhN2RjMjk2MDNmNjUxMzc5ZDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMjYsNiArMTI2LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QWxsb3dFeHRlcm5hbFBhZ2VzKGJvb2wgYWxsb3dFeHRlcm5h
bFBhZ2VzKSB7IG1fYWxsb3dFeHRlcm5hbFBhZ2VzID0gYWxsb3dFeHRlcm5hbFBhZ2VzOyB9CiAK
ICAgICB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkg
eyBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIHZvaWQg
c2V0Q29tcG9zaXRlVG9UZXh0dXJlKGJvb2wgZW5hYmxlZCkgeyBtX2NvbXBvc2l0ZVRvVGV4dHVy
ZSA9IGVuYWJsZWQ7IH0KICAgICB2b2lkIHNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKGJvb2wgZW5h
YmxlZCkgeyBtX2ZvcmNlQ29tcG9zaXRpbmdNb2RlID0gZW5hYmxlZDsgfQogICAgIHZvaWQgc2V0
QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fYWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKQEAgLTIwMiw2ICsyMDMsNyBAQCBwcml2YXRl
OgogICAgIGludCBtX3RpbWVvdXQ7IC8vIHRpbWVvdXQgdmFsdWUgaW4gbWlsbGlzZWNvbmQKICAg
ICBib29sIG1fYWxsb3dFeHRlcm5hbFBhZ2VzOwogICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBv
c2l0aW5nRW5hYmxlZDsKKyAgICBib29sIG1fY29tcG9zaXRlVG9UZXh0dXJlOwogICAgIGJvb2wg
bV9mb3JjZUNvbXBvc2l0aW5nTW9kZTsKICAgICBib29sIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQ7CiAgICAgV2ViUHJlZmVyZW5jZXMgbV9wcmVmczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBjNjA5Mzk3YTRiYTE1Y2Iw
MmMzMTY5NzUwNjE5YmE5ZjVhNzA3ODkxLi5mNTU1NmY0YjgyOGY2YmExZDVkNTJmM2EwOGQxZDUx
MjMyODU0YWNhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQ
cmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJl
ZmVyZW5jZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cmVz
ZXQoKQogICAgIHRhYnNUb0xpbmtzID0gZmFsc2U7CiAgICAgaHlwZXJsaW5rQXVkaXRpbmdFbmFi
bGVkID0gZmFsc2U7CiAgICAgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsK
KyAgICBjb21wb3NpdGVUb1RleHR1cmUgPSBmYWxzZTsKICAgICBhY2NlbGVyYXRlZDJkQ2FudmFz
RW5hYmxlZCA9IGZhbHNlOwogICAgIGZvcmNlQ29tcG9zaXRpbmdNb2RlID0gZmFsc2U7CiB9CkBA
IC0xNTAsNiArMTUxLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3
ZWJWaWV3KQogICAgIHdlYlZpZXctPnNldFRhYnNUb0xpbmtzKHRhYnNUb0xpbmtzKTsKICAgICBz
ZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoY2FyZXRCcm93c2luZ0VuYWJsZWQpOwog
ICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldENvbXBvc2l0ZVRvVGV4dHVy
ZUVuYWJsZWQoY29tcG9zaXRlVG9UZXh0dXJlKTsKICAgICBzZXR0aW5ncy0+c2V0Rm9yY2VDb21w
b3NpdGluZ01vZGUoZm9yY2VDb21wb3NpdGluZ01vZGUpOwogICAgIHNldHRpbmdzLT5zZXRBY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGFk
MjdmYjg0Y2E0MTZkYTBkZmY0NTYzZGRhZWJmNjM4YThmOGUzMzMuLmM4NWE0ODc0NGVjOWFkYzYw
YWViYThkMjI2MjgyNjQyZTZkNjJkMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtNzgsNiArNzgsNyBAQCBzdHJ1Y3QgV2ViUHJlZmVy
ZW5jZXMgewogICAgIGJvb2wgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOwogICAgIGJvb2wgY2Fy
ZXRCcm93c2luZ0VuYWJsZWQ7CiAgICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZDsKKyAgICBib29sIGNvbXBvc2l0ZVRvVGV4dHVyZTsKICAgICBib29sIGZvcmNlQ29tcG9zaXRp
bmdNb2RlOwogICAgIGJvb2wgYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5Cmlu
ZGV4IGViMTBhOWJkMTRkODhjM2ExNmE1ZmE4MzE4NDkzZmNiMDIwMjBiOTMuLjQwNWZkYmE0NjBl
MzA0OWI5Y2U0MDcxYmY4NzNhNGQ0ZWE5YTg5NDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQpAQCAtMzg5LDYgKzM4OSw4
IEBAIGNsYXNzIENocm9taXVtRHJpdmVyKGJhc2UuRHJpdmVyKToKICAgICAgICAgICAgIGNtZC5h
cHBlbmQoJy0tZW5hYmxlLWFjY2VsZXJhdGVkLTJkLWNhbnZhcycpCiAgICAgICAgIGlmIHNlbGYu
X3BvcnQuZ2V0X29wdGlvbignZW5hYmxlX2hhcmR3YXJlX2dwdScpOgogICAgICAgICAgICAgY21k
LmFwcGVuZCgnLS1lbmFibGUtaGFyZHdhcmUtZ3B1JykKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5n
ZXRfb3B0aW9uKCdjb21wb3NpdGVfdG9fdGV4dHVyZScpOgorICAgICAgICAgICAgY21kLmFwcGVu
ZCgnLS1lbmFibGUtY29tcG9zaXRlLXRvLXRleHR1cmUnKQogICAgICAgICByZXR1cm4gY21kCiAK
ICAgICBkZWYgc3RhcnQoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2dwdS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CmluZGV4IGZmYzJjZjc0Y2M3NTQ2
NzNmNzE3NzRiYzg0ZTI5YjY0MzJjNjVmZGYuLjEzYmQ1YzIxZTM0OGMxN2U4ZTU5MmI1NWM0NTE5
NzI3MTUyMmNjZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5CkBAIC0zOCw2ICszOCwxMCBAQCBkZWYgZ2V0
KHBsYXRmb3JtPU5vbmUsIHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1JywgKiprd2FyZ3MpOgogICAg
IGhhcmR3YXJlIGFjY2VsZXJhdGlvbi4gIEluIHRob3NlIGNhc2VzLCB3ZSBwcmVwZW5kIGFuIGFk
ZGl0aW9uYWwgZGlyZWN0b3J5CiAgICAgdG8gdGhlIGJhc2VsaW5lIHBhdGhzLiIiIgogICAgIHBs
YXRmb3JtID0gcGxhdGZvcm0gb3Igc3lzLnBsYXRmb3JtCisgICAgY29tcG9zaXRlX3RvX3RleHR1
cmUgPSBGYWxzZQorICAgIGlmIHBvcnRfbmFtZSA9PSAnY2hyb21pdW0tZ3B1LWN0dCc6CisgICAg
ICAgIHBvcnRfbmFtZSA9ICdjaHJvbWl1bS1ncHUnCisgICAgICAgIGNvbXBvc2l0ZV90b190ZXh0
dXJlID0gVHJ1ZQogICAgIGlmIHBvcnRfbmFtZSA9PSAnY2hyb21pdW0tZ3B1JzoKICAgICAgICAg
aWYgcGxhdGZvcm0gaW4gKCdjeWd3aW4nLCAnd2luMzInKToKICAgICAgICAgICAgIHBvcnRfbmFt
ZSA9ICdjaHJvbWl1bS1ncHUtd2luJwpAQCAtNDksMjIgKzUzLDI0IEBAIGRlZiBnZXQocGxhdGZv
cm09Tm9uZSwgcG9ydF9uYW1lPSdjaHJvbWl1bS1ncHUnLCAqKmt3YXJncyk6CiAgICAgICAgICAg
ICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwbGF0Zm9ybTogJXMnICUg
cGxhdGZvcm0pCiAKICAgICBpZiBwb3J0X25hbWUuc3RhcnRzd2l0aCgnY2hyb21pdW0tZ3B1LWxp
bnV4Jyk6Ci0gICAgICAgIHJldHVybiBDaHJvbWl1bUdwdUxpbnV4UG9ydChwb3J0X25hbWU9cG9y
dF9uYW1lLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIENocm9taXVtR3B1TGludXhQb3J0KHBv
cnRfbmFtZT1wb3J0X25hbWUsIGNvbXBvc2l0ZV90b190ZXh0dXJlPWNvbXBvc2l0ZV90b190ZXh0
dXJlLCAqKmt3YXJncykKICAgICBpZiBwb3J0X25hbWUuc3RhcnRzd2l0aCgnY2hyb21pdW0tZ3B1
LW1hYycpOgotICAgICAgICByZXR1cm4gQ2hyb21pdW1HcHVNYWNQb3J0KHBvcnRfbmFtZT1wb3J0
X25hbWUsICoqa3dhcmdzKQorICAgICAgICByZXR1cm4gQ2hyb21pdW1HcHVNYWNQb3J0KHBvcnRf
bmFtZT1wb3J0X25hbWUsIGNvbXBvc2l0ZV90b190ZXh0dXJlPWNvbXBvc2l0ZV90b190ZXh0dXJl
LCAqKmt3YXJncykKICAgICBpZiBwb3J0X25hbWUuc3RhcnRzd2l0aCgnY2hyb21pdW0tZ3B1LXdp
bicpOgotICAgICAgICByZXR1cm4gQ2hyb21pdW1HcHVXaW5Qb3J0KHBvcnRfbmFtZT1wb3J0X25h
bWUsICoqa3dhcmdzKQorICAgICAgICByZXR1cm4gQ2hyb21pdW1HcHVXaW5Qb3J0KHBvcnRfbmFt
ZT1wb3J0X25hbWUsIGNvbXBvc2l0ZV90b190ZXh0dXJlPWNvbXBvc2l0ZV90b190ZXh0dXJlLCAq
Kmt3YXJncykKICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwb3J0
OiAlcycgJSBwb3J0X25hbWUpCiAKIAogIyBGSVhNRTogVGhlc2Ugc2hvdWxkIHJlYWxseSBiZSBh
IG1peGluIGNsYXNzLgogCi1kZWYgX3NldF9ncHVfb3B0aW9ucyhwb3J0KToKK2RlZiBfc2V0X2dw
dV9vcHRpb25zKHBvcnQsIGNvbXBvc2l0ZV90b190ZXh0dXJlKToKICAgICBwb3J0Ll9ncmFwaGlj
c190eXBlID0gJ2dwdScKICAgICBpZiBwb3J0LmdldF9vcHRpb24oJ2FjY2VsZXJhdGVkX2NvbXBv
c2l0aW5nJykgaXMgTm9uZToKICAgICAgICAgcG9ydC5fb3B0aW9ucy5hY2NlbGVyYXRlZF9jb21w
b3NpdGluZyA9IFRydWUKICAgICBpZiBwb3J0LmdldF9vcHRpb24oJ2FjY2VsZXJhdGVkXzJkX2Nh
bnZhcycpIGlzIE5vbmU6CiAgICAgICAgIHBvcnQuX29wdGlvbnMuYWNjZWxlcmF0ZWRfMmRfY2Fu
dmFzID0gVHJ1ZQorICAgIGlmIGNvbXBvc2l0ZV90b190ZXh0dXJlOgorICAgICAgICBwb3J0Ll9v
cHRpb25zLmNvbXBvc2l0ZV90b190ZXh0dXJlID0gVHJ1ZQogCiAgICAgIyBGSVhNRTogUmVtb3Zl
IHRoaXMgYWZ0ZXIgaHR0cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzUxMzMwMDEvIGlzIGVu
YWJsZWQKICAgICAjIG9uIHRoZSBib3RzLgpAQCAtODYsOSArOTIsOSBAQCBkZWYgX3Rlc3RzKHBv
cnQsIHBhdGhzKToKIAogCiBjbGFzcyBDaHJvbWl1bUdwdUxpbnV4UG9ydChjaHJvbWl1bV9saW51
eC5DaHJvbWl1bUxpbnV4UG9ydCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfbmFtZT0n
Y2hyb21pdW0tZ3B1LWxpbnV4JywgKiprd2FyZ3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBw
b3J0X25hbWU9J2Nocm9taXVtLWdwdS1saW51eCcsIGNvbXBvc2l0ZV90b190ZXh0dXJlPUZhbHNl
LCAqKmt3YXJncyk6CiAgICAgICAgIGNocm9taXVtX2xpbnV4LkNocm9taXVtTGludXhQb3J0Ll9f
aW5pdF9fKHNlbGYsIHBvcnRfbmFtZT1wb3J0X25hbWUsICoqa3dhcmdzKQotICAgICAgICBfc2V0
X2dwdV9vcHRpb25zKHNlbGYpCisgICAgICAgIF9zZXRfZ3B1X29wdGlvbnMoc2VsZiwgY29tcG9z
aXRlX3RvX3RleHR1cmUpCiAKICAgICBkZWYgYmFzZWxpbmVfcGF0aChzZWxmKToKICAgICAgICAg
IyBHUFUgYmFzZWxpbmVzIGFyZW4ndCB5ZXQgdmVyc2lvbmVkLgpAQCAtMTA3LDkgKzExMyw5IEBA
IGNsYXNzIENocm9taXVtR3B1TGludXhQb3J0KGNocm9taXVtX2xpbnV4LkNocm9taXVtTGludXhQ
b3J0KToKIAogCiBjbGFzcyBDaHJvbWl1bUdwdU1hY1BvcnQoY2hyb21pdW1fbWFjLkNocm9taXVt
TWFjUG9ydCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1
LW1hYycsICoqa3dhcmdzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydF9uYW1lPSdjaHJv
bWl1bS1ncHUtbWFjJywgY29tcG9zaXRlX3RvX3RleHR1cmU9RmFsc2UsICoqa3dhcmdzKToKICAg
ICAgICAgY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9ydC5fX2luaXRfXyhzZWxmLCBwb3J0X25h
bWU9cG9ydF9uYW1lLCAqKmt3YXJncykKLSAgICAgICAgX3NldF9ncHVfb3B0aW9ucyhzZWxmKQor
ICAgICAgICBfc2V0X2dwdV9vcHRpb25zKHNlbGYsIGNvbXBvc2l0ZV90b190ZXh0dXJlKQogCiAg
ICAgZGVmIGJhc2VsaW5lX3BhdGgoc2VsZik6CiAgICAgICAgICMgR1BVIGJhc2VsaW5lcyBhcmVu
J3QgeWV0IHZlcnNpb25lZC4KQEAgLTEyNyw5ICsxMzMsOSBAQCBjbGFzcyBDaHJvbWl1bUdwdU1h
Y1BvcnQoY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9ydCk6CiAKIAogY2xhc3MgQ2hyb21pdW1H
cHVXaW5Qb3J0KGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQpOgotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBwb3J0X25hbWU9J2Nocm9taXVtLWdwdS13aW4nLCAqKmt3YXJncyk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHBvcnRfbmFtZT0nY2hyb21pdW0tZ3B1LXdpbicsIGNvbXBvc2l0ZV90
b190ZXh0dXJlPUZhbHNlLCAqKmt3YXJncyk6CiAgICAgICAgIGNocm9taXVtX3dpbi5DaHJvbWl1
bVdpblBvcnQuX19pbml0X18oc2VsZiwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgKiprd2FyZ3MpCi0g
ICAgICAgIF9zZXRfZ3B1X29wdGlvbnMoc2VsZikKKyAgICAgICAgX3NldF9ncHVfb3B0aW9ucyhz
ZWxmLCBjb21wb3NpdGVfdG9fdGV4dHVyZSkKIAogICAgIGRlZiBiYXNlbGluZV9wYXRoKHNlbGYp
OgogICAgICAgICAjIEdQVSBiYXNlbGluZXMgYXJlbid0IHlldCB2ZXJzaW9uZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89826</attachid>
            <date>2011-04-15 12:18:40 -0700</date>
            <delta_ts>2011-04-19 07:01:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58675-20110415151551.patch</filename>
            <type>text/plain</type>
            <size>8830</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM5ODcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNGVkYzdjNmNhZDlhY2Q0NDZiY2MwNTU2MzU4NDJkNThl
NTBhOTNiLi4wNzYxZTY1ZGViMGYxMmFjNjQ0NGM4ZjBhMTkwZmJjMmY1NmYzNmYzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDQtMTUgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBjb21wb3NpdGUtdG8tdGV4dHVyZSB0byBjaHJvbWl1bS1ncHUgcGxhdGZvcm0g
Zm9yIG5ldy1ydW4td2Via2l0LXRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NzUKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRl
c3RTaGVsbCk6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNo
ZWxsOjpzZXRDb21wb3NpdGVUb1RleHR1cmUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpyZXNl
dCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisKIDIwMTEtMDQtMTUg
IE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1
bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5k
ZXJUcmVlLmNwcAppbmRleCA5NWZjZDU4YTAxYjQ5Nzc4MzI2NzQ1ODAzNDEzOTAxNjcxN2I5YjVi
Li5jOWQzODc1OTcyMWE5NGIwZGFmZTE0YmZkMzEwNjhmMWFiYzBhZjI4IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC01Niw2ICs1
Niw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkhhcmR3YXJlQWNjZWxlcmF0ZWRHTFtdID0g
Ii0tZW5hYmxlLWhhcmR3YXJlLWdwdSI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25FbmFibGVB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nW10gPSAiLS1lbmFibGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRp
bmciOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRm9yY2VDb21wb3NpdGluZ01vZGVbXSA9ICIt
LWZvcmNlLWNvbXBvc2l0aW5nLW1vZGUiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxl
QWNjZWxlcmF0ZWQyRENhbnZhc1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLTJkLWNhbnZhcyI7
CitzdGF0aWMgY29uc3QgY2hhciBvcHRpb25FbmFibGVDb21wb3NpdGVUb1RleHR1cmVbXSA9ICIt
LWVuYWJsZS1jb21wb3NpdGUtdG8tdGV4dHVyZSI7CiAKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlv
blN0cmVzc09wdFtdID0gIi0tc3RyZXNzLW9wdCI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25T
dHJlc3NEZW9wdFtdID0gIi0tc3RyZXNzLWRlb3B0IjsKQEAgLTEzMyw2ICsxMzQsNyBAQCBpbnQg
bWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIGJvb2wgYWxsb3dFeHRlcm5hbFBhZ2Vz
ID0gZmFsc2U7CiAgICAgYm9vbCBzdGFydHVwRGlhbG9nID0gZmFsc2U7CiAgICAgYm9vbCBhY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IGZhbHNlOworICAgIGJvb2wgY29tcG9zaXRlVG9U
ZXh0dXJlID0gZmFsc2U7CiAgICAgYm9vbCBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IGZhbHNlOwog
ICAgIGJvb2wgYWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQgPSBmYWxzZTsKICAgICBib29sIHN0
cmVzc09wdCA9IGZhbHNlOwpAQCAtMTY4LDYgKzE3MCw4IEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiBhcmd2W10pCiAgICAgICAgICAgICBoYXJkd2FyZUFjY2VsZXJhdGVkR0wgPSB0cnVlOwog
ICAgICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25FbmFibGVBY2NlbGVyYXRlZENvbXBv
c2l0aW5nKQogICAgICAgICAgICAgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSB0cnVl
OworICAgICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25FbmFibGVDb21wb3NpdGVUb1Rl
eHR1cmUpCisgICAgICAgICAgICBjb21wb3NpdGVUb1RleHR1cmUgPSB0cnVlOwogICAgICAgICBl
bHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25Gb3JjZUNvbXBvc2l0aW5nTW9kZSkKICAgICAgICAg
ICAgIGZvcmNlQ29tcG9zaXRpbmdNb2RlID0gdHJ1ZTsKICAgICAgICAgZWxzZSBpZiAoYXJndW1l
bnQgPT0gb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWQyRENhbnZhcykKQEAgLTIwMyw2ICsyMDcsNyBA
QCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBUZXN0U2hlbGwgc2hl
bGwodGVzdFNoZWxsTW9kZSk7CiAgICAgICAgIHNoZWxsLnNldEFsbG93RXh0ZXJuYWxQYWdlcyhh
bGxvd0V4dGVybmFsUGFnZXMpOwogICAgICAgICBzaGVsbC5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZChhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCk7CisgICAgICAgIHNoZWxs
LnNldENvbXBvc2l0ZVRvVGV4dHVyZShjb21wb3NpdGVUb1RleHR1cmUpOwogICAgICAgICBzaGVs
bC5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShmb3JjZUNvbXBvc2l0aW5nTW9kZSk7CiAgICAgICAg
IHNoZWxsLnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGFjY2VsZXJhdGVkMkRDYW52YXNF
bmFibGVkKTsKICAgICAgICAgc2hlbGwuc2V0SmF2YVNjcmlwdEZsYWdzKGphdmFTY3JpcHRGbGFn
cyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCA0
YTA5MmU3N2NiOGM3NzlhNmU0NzUxMjdkZTgzYzQ5MjIzY2JkMzVmLi5iZTlmYjA1NDFkZWVlMmMy
NDQ3ODBlYjlkZTgyNTM1MzFjZGY2YWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTk5LDYgKzk5LDcgQEAgVGVzdFNoZWxsOjpUZXN0U2hlbGwo
Ym9vbCB0ZXN0U2hlbGxNb2RlKQogICAgICwgbV9kZXZUb29scygwKQogICAgICwgbV9hbGxvd0V4
dGVybmFsUGFnZXMoZmFsc2UpCiAgICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
KGZhbHNlKQorICAgICwgbV9jb21wb3NpdGVUb1RleHR1cmUoZmFsc2UpCiAgICAgLCBtX2ZvcmNl
Q29tcG9zaXRpbmdNb2RlKGZhbHNlKQogICAgICwgbV9hY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxl
ZChmYWxzZSkKICAgICAsIG1fc3RyZXNzT3B0KGZhbHNlKQpAQCAtMTc4LDYgKzE3OSw3IEBAIHZv
aWQgVGVzdFNoZWxsOjpyZXNldFdlYlNldHRpbmdzKFdlYlZpZXcmIHdlYlZpZXcpCiB7CiAgICAg
bV9wcmVmcy5yZXNldCgpOwogICAgIG1fcHJlZnMuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQgPSBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOworICAgIG1fcHJlZnMuY29tcG9z
aXRlVG9UZXh0dXJlID0gbV9jb21wb3NpdGVUb1RleHR1cmU7CiAgICAgbV9wcmVmcy5mb3JjZUNv
bXBvc2l0aW5nTW9kZSA9IG1fZm9yY2VDb21wb3NpdGluZ01vZGU7CiAgICAgbV9wcmVmcy5hY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZCA9IG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAg
ICAgbV9wcmVmcy5hcHBseVRvKCZ3ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmgKaW5kZXggMTBkNjkwOTBjNGY5OWM2MDVlNjIxNTJhNWY1ZGExMTMyZDc0
OTE2ZC4uN2U5OWE0YzJmMWE0YWFkZWQwYmE3Y2E3ZGMyOTYwM2Y2NTEzNzlkMSAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRBbGxvd0V4dGVybmFsUGFnZXMoYm9vbCBhbGxvd0V4dGVybmFs
UGFnZXMpIHsgbV9hbGxvd0V4dGVybmFsUGFnZXMgPSBhbGxvd0V4dGVybmFsUGFnZXM7IH0KIAog
ICAgIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7
IG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBlbmFibGVkOyB9CisgICAgdm9pZCBz
ZXRDb21wb3NpdGVUb1RleHR1cmUoYm9vbCBlbmFibGVkKSB7IG1fY29tcG9zaXRlVG9UZXh0dXJl
ID0gZW5hYmxlZDsgfQogICAgIHZvaWQgc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoYm9vbCBlbmFi
bGVkKSB7IG1fZm9yY2VDb21wb3NpdGluZ01vZGUgPSBlbmFibGVkOyB9CiAgICAgdm9pZCBzZXRB
Y2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9hY2NlbGVyYXRlZDJk
Q2FudmFzRW5hYmxlZCA9IGVuYWJsZWQ7IH0KIApAQCAtMjAyLDYgKzIwMyw3IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fdGltZW91dDsgLy8gdGltZW91dCB2YWx1ZSBpbiBtaWxsaXNlY29uZAogICAg
IGJvb2wgbV9hbGxvd0V4dGVybmFsUGFnZXM7CiAgICAgYm9vbCBtX2FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkOworICAgIGJvb2wgbV9jb21wb3NpdGVUb1RleHR1cmU7CiAgICAgYm9vbCBt
X2ZvcmNlQ29tcG9zaXRpbmdNb2RlOwogICAgIGJvb2wgbV9hY2NlbGVyYXRlZDJkQ2FudmFzRW5h
YmxlZDsKICAgICBXZWJQcmVmZXJlbmNlcyBtX3ByZWZzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGM2MDkzOTdhNGJhMTVjYjAy
YzMxNjk3NTA2MTliYTlmNWE3MDc4OTEuLmY1NTU2ZjRiODI4ZjZiYTFkNWQ1MmYzYTA4ZDFkNTEy
MzI4NTRhY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBy
ZWZlcmVuY2VzLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVm
ZXJlbmNlcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpyZXNl
dCgpCiAgICAgdGFic1RvTGlua3MgPSBmYWxzZTsKICAgICBoeXBlcmxpbmtBdWRpdGluZ0VuYWJs
ZWQgPSBmYWxzZTsKICAgICBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IGZhbHNlOwor
ICAgIGNvbXBvc2l0ZVRvVGV4dHVyZSA9IGZhbHNlOwogICAgIGFjY2VsZXJhdGVkMmRDYW52YXNF
bmFibGVkID0gZmFsc2U7CiAgICAgZm9yY2VDb21wb3NpdGluZ01vZGUgPSBmYWxzZTsKIH0KQEAg
LTE1MCw2ICsxNTEsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphcHBseVRvKFdlYlZpZXcqIHdl
YlZpZXcpCiAgICAgd2ViVmlldy0+c2V0VGFic1RvTGlua3ModGFic1RvTGlua3MpOwogICAgIHNl
dHRpbmdzLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChjYXJldEJyb3dzaW5nRW5hYmxlZCk7CiAg
ICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0Q29tcG9zaXRlVG9UZXh0dXJl
RW5hYmxlZChjb21wb3NpdGVUb1RleHR1cmUpOwogICAgIHNldHRpbmdzLT5zZXRGb3JjZUNvbXBv
c2l0aW5nTW9kZShmb3JjZUNvbXBvc2l0aW5nTW9kZSk7CiAgICAgc2V0dGluZ3MtPnNldEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkKGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKTsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggYWQy
N2ZiODRjYTQxNmRhMGRmZjQ1NjNkZGFlYmY2MzhhOGY4ZTMzMy4uYzg1YTQ4NzQ0ZWM5YWRjNjBh
ZWJhOGQyMjYyODI2NDJlNmQ2MmQyZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJQcmVmZXJlbmNlcy5oCkBAIC03OCw2ICs3OCw3IEBAIHN0cnVjdCBXZWJQcmVmZXJl
bmNlcyB7CiAgICAgYm9vbCBoeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQ7CiAgICAgYm9vbCBjYXJl
dEJyb3dzaW5nRW5hYmxlZDsKICAgICBib29sIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
OworICAgIGJvb2wgY29tcG9zaXRlVG9UZXh0dXJlOwogICAgIGJvb2wgZm9yY2VDb21wb3NpdGlu
Z01vZGU7CiAgICAgYm9vbCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZDsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5k
ZXggZWIxMGE5YmQxNGQ4OGMzYTE2YTVmYTgzMTg0OTNmY2IwMjAyMGI5My4uNDA1ZmRiYTQ2MGUz
MDQ5YjljZTQwNzFiZjg3M2E0ZDRlYTlhODk0OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC0zODksNiArMzg5LDgg
QEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFzZS5Ecml2ZXIpOgogICAgICAgICAgICAgY21kLmFw
cGVuZCgnLS1lbmFibGUtYWNjZWxlcmF0ZWQtMmQtY2FudmFzJykKICAgICAgICAgaWYgc2VsZi5f
cG9ydC5nZXRfb3B0aW9uKCdlbmFibGVfaGFyZHdhcmVfZ3B1Jyk6CiAgICAgICAgICAgICBjbWQu
YXBwZW5kKCctLWVuYWJsZS1oYXJkd2FyZS1ncHUnKQorICAgICAgICBpZiBzZWxmLl9wb3J0Lmdl
dF9vcHRpb24oJ2NvbXBvc2l0ZV90b190ZXh0dXJlJyk6CisgICAgICAgICAgICBjbWQuYXBwZW5k
KCctLWVuYWJsZS1jb21wb3NpdGUtdG8tdGV4dHVyZScpCiAgICAgICAgIHJldHVybiBjbWQKIAog
ICAgIGRlZiBzdGFydChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IGVhNDJjYzM2OGE1ZTBlZTAz
NmIxMjczOTZlNGUxZGJkMjUzMmVkYWEuLjg4YWI3YWY5ZjQwZTQ5ZDA0NWFlZjIzY2EwZTFiZGFi
NGM4NWE2M2QgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQpAQCAtMjQ1LDYgKzI0NSwxMyBAQCBkZWYgcGFyc2Vf
YXJncyhhcmdzPU5vbmUpOgogICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCiAgICAg
ICAgICAgICBkZXN0PSJhY2NlbGVyYXRlZF9jb21wb3NpdGluZyIsCiAgICAgICAgICAgICBoZWxw
PSJEb24ndCB1c2UgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIHJlbmRlcmlu
ZyIpLAorICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1jb21wb3NpdGUtdG8tdGV4dHVy
ZSIsCisgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgaGVscD0i
Rm9yY2UgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgdG8gdXNlIG9mZnNjcmVlbiB0
ZXh0dXJlLiIpLAorICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1uby1jb21wb3NpdGUt
dG8tdGV4dHVyZSIsCisgICAgICAgICAgICBhY3Rpb249InN0b3JlX2ZhbHNlIiwKKyAgICAgICAg
ICAgIGRlc3Q9ImNvbXBvc2l0ZV90b190ZXh0dXJlIiwKKyAgICAgICAgICAgIGhlbHA9IkRvbid0
IGZvcmNlIGhhcmR3YXJlLWFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIHRvIHVzZSBvZmZzY3JlZW4g
dGV4dHVyZS4iKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tYWNjZWxlcmF0ZWQt
MmQtY2FudmFzIiwKICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAg
ICBoZWxwPSJVc2UgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgMkQgQ2FudmFzIGNhbGxzIiksCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90197</attachid>
            <date>2011-04-19 07:01:13 -0700</date>
            <delta_ts>2011-04-20 06:17:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58675-20110419095801.patch</filename>
            <type>text/plain</type>
            <size>6858</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQyNTAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwOGM3NTg3NzcxOTkwZjNjY2RhY2Q5ODVjMjEwZWEwM2Yy
NGFjYTMzLi45MjMzNGY2NTAwOTNiODA3ODIxMjhkMTg4MDZmNWJmMjA5NTIxYjQwIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDQtMTkgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBjb21wb3NpdGUtdG8tdGV4dHVyZSB0byBEdW1wUmVuZGVyVHJlZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4Njc1CisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAg
IChtYWluKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3Bw
OgorICAgICAgICAoVGVzdFNoZWxsOjpUZXN0U2hlbGwpOgorICAgICAgICAoVGVzdFNoZWxsOjpy
ZXNldFdlYlNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2V0Q29tcG9zaXRlVG9UZXh0dXJlKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHA6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6cmVzZXQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmFw
cGx5VG8pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2Vz
Lmg6CisKIDIwMTEtMDQtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggOTVmY2Q1OGEwMWI0
OTc3ODMyNjc0NTgwMzQxMzkwMTY3MTdiOWI1Yi4uYzlkMzg3NTk3MjFhOTRiMGRhZmUxNGJmZDMx
MDY4ZjFhYmMwYWYyOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1
bXBSZW5kZXJUcmVlLmNwcApAQCAtNTYsNiArNTYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBvcHRp
b25IYXJkd2FyZUFjY2VsZXJhdGVkR0xbXSA9ICItLWVuYWJsZS1oYXJkd2FyZS1ncHUiOwogc3Rh
dGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1tdID0gIi0t
ZW5hYmxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlv
bkZvcmNlQ29tcG9zaXRpbmdNb2RlW10gPSAiLS1mb3JjZS1jb21wb3NpdGluZy1tb2RlIjsKIHN0
YXRpYyBjb25zdCBjaGFyIG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVu
YWJsZS1hY2NlbGVyYXRlZC0yZC1jYW52YXMiOworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5h
YmxlQ29tcG9zaXRlVG9UZXh0dXJlW10gPSAiLS1lbmFibGUtY29tcG9zaXRlLXRvLXRleHR1cmUi
OwogCiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25TdHJlc3NPcHRbXSA9ICItLXN0cmVzcy1vcHQi
Owogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNzRGVvcHRbXSA9ICItLXN0cmVzcy1kZW9w
dCI7CkBAIC0xMzMsNiArMTM0LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkK
ICAgICBib29sIGFsbG93RXh0ZXJuYWxQYWdlcyA9IGZhbHNlOwogICAgIGJvb2wgc3RhcnR1cERp
YWxvZyA9IGZhbHNlOwogICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBm
YWxzZTsKKyAgICBib29sIGNvbXBvc2l0ZVRvVGV4dHVyZSA9IGZhbHNlOwogICAgIGJvb2wgZm9y
Y2VDb21wb3NpdGluZ01vZGUgPSBmYWxzZTsKICAgICBib29sIGFjY2VsZXJhdGVkMkRDYW52YXNF
bmFibGVkID0gZmFsc2U7CiAgICAgYm9vbCBzdHJlc3NPcHQgPSBmYWxzZTsKQEAgLTE2OCw2ICsx
NzAsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICAgICAgaGFy
ZHdhcmVBY2NlbGVyYXRlZEdMID0gdHJ1ZTsKICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0g
b3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZykKICAgICAgICAgICAgIGFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQg
PT0gb3B0aW9uRW5hYmxlQ29tcG9zaXRlVG9UZXh0dXJlKQorICAgICAgICAgICAgY29tcG9zaXRl
VG9UZXh0dXJlID0gdHJ1ZTsKICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRm9y
Y2VDb21wb3NpdGluZ01vZGUpCiAgICAgICAgICAgICBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IHRy
dWU7CiAgICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVk
MkRDYW52YXMpCkBAIC0yMDMsNiArMjA3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFy
Z3ZbXSkKICAgICAgICAgVGVzdFNoZWxsIHNoZWxsKHRlc3RTaGVsbE1vZGUpOwogICAgICAgICBz
aGVsbC5zZXRBbGxvd0V4dGVybmFsUGFnZXMoYWxsb3dFeHRlcm5hbFBhZ2VzKTsKICAgICAgICAg
c2hlbGwuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQpOworICAgICAgICBzaGVsbC5zZXRDb21wb3NpdGVUb1RleHR1cmUoY29tcG9z
aXRlVG9UZXh0dXJlKTsKICAgICAgICAgc2hlbGwuc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZm9y
Y2VDb21wb3NpdGluZ01vZGUpOwogICAgICAgICBzaGVsbC5zZXRBY2NlbGVyYXRlZDJkQ2FudmFz
RW5hYmxlZChhY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxlZCk7CiAgICAgICAgIHNoZWxsLnNldEph
dmFTY3JpcHRGbGFncyhqYXZhU2NyaXB0RmxhZ3MpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggNGEwOTJlNzdjYjhjNzc5YTZlNDc1MTI3ZGU4M2M0
OTIyM2NiZDM1Zi4uYmU5ZmIwNTQxZGVlZTJjMjQ0NzgwZWI5ZGU4MjUzNTMxY2RmNmFkYSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCkBAIC05OSw2ICs5
OSw3IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxsKGJvb2wgdGVzdFNoZWxsTW9kZSkKICAgICAsIG1f
ZGV2VG9vbHMoMCkKICAgICAsIG1fYWxsb3dFeHRlcm5hbFBhZ2VzKGZhbHNlKQogICAgICwgbV9h
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSkKKyAgICAsIG1fY29tcG9zaXRlVG9U
ZXh0dXJlKGZhbHNlKQogICAgICwgbV9mb3JjZUNvbXBvc2l0aW5nTW9kZShmYWxzZSkKICAgICAs
IG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3N0cmVzc09wdChm
YWxzZSkKQEAgLTE3OCw2ICsxNzksNyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRXZWJTZXR0aW5n
cyhXZWJWaWV3JiB3ZWJWaWV3KQogewogICAgIG1fcHJlZnMucmVzZXQoKTsKICAgICBtX3ByZWZz
LmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkID0gbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZDsKKyAgICBtX3ByZWZzLmNvbXBvc2l0ZVRvVGV4dHVyZSA9IG1fY29tcG9zaXRlVG9U
ZXh0dXJlOwogICAgIG1fcHJlZnMuZm9yY2VDb21wb3NpdGluZ01vZGUgPSBtX2ZvcmNlQ29tcG9z
aXRpbmdNb2RlOwogICAgIG1fcHJlZnMuYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQgPSBtX2Fj
Y2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOwogICAgIG1fcHJlZnMuYXBwbHlUbygmd2ViVmlldyk7
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4IDEwZDY5MDkw
YzRmOTljNjA1ZTYyMTUyYTVmNWRhMTEzMmQ3NDkxNmQuLjdlOTlhNGMyZjFhNGFhZGVkMGJhN2Nh
N2RjMjk2MDNmNjUxMzc5ZDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5oCkBAIC0xMjYsNiArMTI2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWxsb3dFeHRl
cm5hbFBhZ2VzKGJvb2wgYWxsb3dFeHRlcm5hbFBhZ2VzKSB7IG1fYWxsb3dFeHRlcm5hbFBhZ2Vz
ID0gYWxsb3dFeHRlcm5hbFBhZ2VzOyB9CiAKICAgICB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFi
bGVkID0gZW5hYmxlZDsgfQorICAgIHZvaWQgc2V0Q29tcG9zaXRlVG9UZXh0dXJlKGJvb2wgZW5h
YmxlZCkgeyBtX2NvbXBvc2l0ZVRvVGV4dHVyZSA9IGVuYWJsZWQ7IH0KICAgICB2b2lkIHNldEZv
cmNlQ29tcG9zaXRpbmdNb2RlKGJvb2wgZW5hYmxlZCkgeyBtX2ZvcmNlQ29tcG9zaXRpbmdNb2Rl
ID0gZW5hYmxlZDsgfQogICAgIHZvaWQgc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9v
bCBlbmFibGVkKSB7IG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAK
QEAgLTIwMiw2ICsyMDMsNyBAQCBwcml2YXRlOgogICAgIGludCBtX3RpbWVvdXQ7IC8vIHRpbWVv
dXQgdmFsdWUgaW4gbWlsbGlzZWNvbmQKICAgICBib29sIG1fYWxsb3dFeHRlcm5hbFBhZ2VzOwog
ICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKKyAgICBib29sIG1fY29t
cG9zaXRlVG9UZXh0dXJlOwogICAgIGJvb2wgbV9mb3JjZUNvbXBvc2l0aW5nTW9kZTsKICAgICBi
b29sIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAgICAgV2ViUHJlZmVyZW5jZXMgbV9w
cmVmczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZl
cmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2Vz
LmNwcAppbmRleCBjNjA5Mzk3YTRiYTE1Y2IwMmMzMTY5NzUwNjE5YmE5ZjVhNzA3ODkxLi5mNTU1
NmY0YjgyOGY2YmExZDVkNTJmM2EwOGQxZDUxMjMyODU0YWNhIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cmVzZXQoKQogICAgIHRhYnNUb0xpbmtzID0gZmFsc2U7
CiAgICAgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgYWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICBjb21wb3NpdGVUb1RleHR1cmUgPSBmYWxz
ZTsKICAgICBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCA9IGZhbHNlOwogICAgIGZvcmNlQ29t
cG9zaXRpbmdNb2RlID0gZmFsc2U7CiB9CkBAIC0xNTAsNiArMTUxLDcgQEAgdm9pZCBXZWJQcmVm
ZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHdlYlZpZXctPnNldFRhYnNU
b0xpbmtzKHRhYnNUb0xpbmtzKTsKICAgICBzZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJs
ZWQoY2FyZXRCcm93c2luZ0VuYWJsZWQpOwogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZChhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCk7CisgICAgc2V0
dGluZ3MtPnNldENvbXBvc2l0ZVRvVGV4dHVyZUVuYWJsZWQoY29tcG9zaXRlVG9UZXh0dXJlKTsK
ICAgICBzZXR0aW5ncy0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZm9yY2VDb21wb3NpdGluZ01v
ZGUpOwogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVy
YXRlZDJkQ2FudmFzRW5hYmxlZCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGFkMjdmYjg0Y2E0MTZkYTBkZmY0NTYzZGRhZWJmNjM4
YThmOGUzMzMuLmM4NWE0ODc0NGVjOWFkYzYwYWViYThkMjI2MjgyNjQyZTZkNjJkMmUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtNzgs
NiArNzgsNyBAQCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXMgewogICAgIGJvb2wgaHlwZXJsaW5rQXVk
aXRpbmdFbmFibGVkOwogICAgIGJvb2wgY2FyZXRCcm93c2luZ0VuYWJsZWQ7CiAgICAgYm9vbCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKKyAgICBib29sIGNvbXBvc2l0ZVRvVGV4dHVy
ZTsKICAgICBib29sIGZvcmNlQ29tcG9zaXRpbmdNb2RlOwogICAgIGJvb2wgYWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWQ7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>