<?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>94888</bug_id>
          
          <creation_ts>2012-08-23 18:35:10 -0700</creation_ts>
          <short_desc>Make plugins respect third-party storage blocking setting</short_desc>
          <delta_ts>2012-09-05 22:48:03 -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>WebCore 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95935</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vicki Pfau">jeffrey+webkit</reporter>
          <assigned_to name="Vicki Pfau">jeffrey+webkit</assigned_to>
          <cc>abarth</cc>
    
    <cc>mjs</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703637</commentid>
    <comment_count>0</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-23 18:35:10 -0700</bug_when>
    <thetext>Plugins are a common vector for storing tracking data about a user. As we are implementing a setting for disallowing pages in a third-party context from accessing storage, plugins should be subject to the same restriction.

&lt;rdar://problem/8830539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703639</commentid>
    <comment_count>1</comment_count>
      <attachid>160307</attachid>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-23 18:38:15 -0700</bug_when>
    <thetext>Created attachment 160307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703640</commentid>
    <comment_count>2</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-23 18:40:16 -0700</bug_when>
    <thetext>This patch works by forcing the plugin into private browsing mode when it&apos;s in a third-party context. I&apos;m a bit concerned that it might not work exactly as desired because I&apos;m not sure if it correctly handles private browsing mode changing.

The patch only applies for WK2 currently, as WebKit 1 doesn&apos;t have an API for this currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703690</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-23 20:54:22 -0700</bug_when>
    <thetext>I don&apos;t know how private browsing mode works for plugins, but does this create a leak between normal and private modes?  For example, if I wanted to learn what someone was up to in private browsing mode, could I put a plugin in a third-party context and then get access to that information?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705751</commentid>
    <comment_count>4</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-27 15:25:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I don&apos;t know how private browsing mode works for plugins, but does this create a leak between normal and private modes?  For example, if I wanted to learn what someone was up to in private browsing mode, could I put a plugin in a third-party context and then get access to that information?

I talked to people who know more than me about how plugins work, and they say that this shouldn&apos;t be a concern. The private browsing context is only for the plugin and not the whole document, so document/page acts as if it&apos;s a normal (but third-party) context, and the plugin just can&apos;t read/write LSOs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705764</commentid>
    <comment_count>5</comment_count>
      <attachid>160307</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-27 15:30:47 -0700</bug_when>
    <thetext>Comment on attachment 160307
Patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:1265
&gt; +    if (frame()-&gt;document() &amp;&amp; !frame()-&gt;document()-&gt;securityOrigin()-&gt;canAccessPluginStorage(frame()-&gt;document()-&gt;topDocument()-&gt;securityOrigin()))

How can frame()-&gt;document() be 0?  That shouldn&apos;t be possible.

frame()-&gt;document()-&gt;topDocument() seems like needless indirection.  You&apos;re going to the Document, which just goes back to the Frame.  Why not just frame()-&gt;tree()-&gt;top()-&gt;document() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705766</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-27 15:31:27 -0700</bug_when>
    <thetext>This patch is fine from my PoV, but I don&apos;t really know how isPrivateBrowsingEnabled is it&apos;s probably better if someone who knows about plug-ins does the official review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705819</commentid>
    <comment_count>7</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-27 15:59:09 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 160307 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160307&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:1265
&gt; &gt; +    if (frame()-&gt;document() &amp;&amp; !frame()-&gt;document()-&gt;securityOrigin()-&gt;canAccessPluginStorage(frame()-&gt;document()-&gt;topDocument()-&gt;securityOrigin()))
&gt; 
&gt; How can frame()-&gt;document() be 0?  That shouldn&apos;t be possible.

I didn&apos;t know if it was possible, so I added that check to be safe (I thought it was, but I guess not).

&gt; frame()-&gt;document()-&gt;topDocument() seems like needless indirection.  You&apos;re going to the Document, which just goes back to the Frame.  Why not just frame()-&gt;tree()-&gt;top()-&gt;document() ?

I also didn&apos;t realize that you could just do this. I&apos;ve been using topDocument() in all other locations, so I just did that here too. That might work better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705860</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-27 16:30:05 -0700</bug_when>
    <thetext>&gt; I didn&apos;t know if it was possible, so I added that check to be safe (I thought it was, but I guess not).

It used to be possible, but it&apos;s not possible anymore.  Most code that null checks the document is doing so needlessly.

&gt; &gt; frame()-&gt;document()-&gt;topDocument() seems like needless indirection.  You&apos;re going to the Document, which just goes back to the Frame.  Why not just frame()-&gt;tree()-&gt;top()-&gt;document() ?
&gt; 
&gt; I also didn&apos;t realize that you could just do this. I&apos;ve been using topDocument() in all other locations, so I just did that here too. That might work better.

topDocument() is fine when you&apos;re working with a Document as your context object.  If you&apos;ve already got a Frame, there&apos;s no reason to traverse to the Document just to traverse back to the Frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708164</commentid>
    <comment_count>9</comment_count>
      <attachid>161382</attachid>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-08-29 18:26:58 -0700</bug_when>
    <thetext>Created attachment 161382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708995</commentid>
    <comment_count>10</comment_count>
      <attachid>161382</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-30 13:50:43 -0700</bug_when>
    <thetext>Comment on attachment 161382
Patch

Please make sure to file a bug for the followup task of dynamically updating all interested parties when the state changes, as we discussed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711498</commentid>
    <comment_count>11</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-09-04 15:21:37 -0700</bug_when>
    <thetext>Committed r127513: &lt;http://trac.webkit.org/changeset/127513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160307</attachid>
            <date>2012-08-23 18:38:15 -0700</date>
            <delta_ts>2012-08-29 18:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94888-20120823183827.patch</filename>
            <type>text/plain</type>
            <size>10073</size>
            <attacher name="Vicki Pfau">jeffrey+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNmN2Y2NmQwY2NmMDJh
MmQ3ZDQwMjY2NTYwMjE3NGYwYTE2YjNiMy4uYjZmNWI5M2M2MTQ1ZWY1Y2E3YWNhYjkzNjQzMTE3
ZTBlYmJmODgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTIzICBKZWZm
cmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwbHVnaW5zIHJlc3Bl
Y3QgdGhpcmQtcGFydHkgc3RvcmFnZSBibG9ja2luZyBzZXR0aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZ1bmN0aW9ucyBmb3IgZGlzY2Vy
bmluZyBpZiBhIHBsdWdpbiBzaG91bGQgYmUgYWJsZSB0byBhY2Nlc3MgaXRzIHN0b3JhZ2UgaW4g
aXRzIGN1cnJlbnQgb3JpZ2luLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1wbHVnaW4tYWxsb3dlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4uaHRtbAorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46IEV4cG9ydCBEb2N1bWVudDo6dG9wRG9jdW1lbnQgYW5kIFNlY3VyaXR5T3JpZ2lu
OjpjYW5BY2Nlc3NTdG9yYWdlCisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOiBBZGRl
ZCBjYW5BY2Nlc3NQbHVnaW5TdG9yYWdlCisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bjo6Y2FuQWNjZXNzUGx1Z2luU3RvcmFnZSk6CisKIDIwMTItMDgtMjMgIEFsZXhhbmRyZSBFbGlh
cyAgPGFlbGlhc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW5hbWUgTGF5
ZXJSZW5kZXJlckNocm9taXVtIHRvIEdMLXNwZWNpZmljIG5hbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlNzBk
ZjQ0ZWNlODE2ZWZiMzdlODI0NjQ5OWI0ZDZjMzhkYjZiMzJjLi5hY2FjNmQ1NTViZWQ2ODk4OWJj
Njg5YWExNmRhYmMwNDE4NjM5M2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTIt
MDgtMjMgIEplZmZyZXkgUGZhdSAgPGpwZmF1QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHBs
dWdpbnMgcmVzcGVjdCB0aGlyZC1wYXJ0eSBzdG9yYWdlIGJsb2NraW5nIHNldHRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODg4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1Z2lucyB0aGF0IGFy
ZSBpbiBhIHRoaXJkLXBhcnR5IGNvbnRleHQgc2hvdWxkIGJlIHB1dCBpbnRvIHByaXZhdGUgYnJv
d3NpbmcgbW9kZSBzbyB0aGVpciBzdG9yYWdlIGlzIHRlbXBvcmFyeS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
Vmlldzo6aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKTogUHV0IHRoZSBwbHVnaW4gaW50byBwcml2
YXRlIGJyb3dzaW5nIG1vZGUgaWYgaXQgaXMgaW4gYSB0aGlyZC1wYXJ0eSBjb250ZXh0LgorCiAy
MDEyLTA4LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBbRUZMXSBVc2UgV1RGX1VTRV9TT1VQIGluc3RlYWQgQlVJTERJ
TkdfU09VUF9fCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGRkNjc3ZmQ4MWYzNThiZjgzN2E4MTFj
NTgzYWE2MmZjMDZhOTQ2NDguLjNjZDA3MzdhOWNmOWVjZmQ5ODBjYjJlNjM0YTJhNjNlYjE0ZThi
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMTc3LDYgKzExNzcsNyBAQCBfX1pOSzdXZWJD
b3JlMTRTZWN1cml0eU9yaWdpbjEyaXNvbGF0ZWRDb3B5RXYKIF9fWk5LN1dlYkNvcmUxNFNlY3Vy
aXR5T3JpZ2luMThkYXRhYmFzZUlkZW50aWZpZXJFdgogX19aTks3V2ViQ29yZTE0U2VjdXJpdHlP
cmlnaW41ZXF1YWxFUEtTMF8KIF9fWk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luOHRvU3RyaW5n
RXYKK19fWk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTZjYW5BY2Nlc3NTdG9yYWdlRVBLUzBf
CiBfX1pOSzdXZWJDb3JlMTVBZmZpbmVUcmFuc2Zvcm0xMGlzSWRlbnRpdHlFdgogX19aTks3V2Vi
Q29yZTE1QWZmaW5lVHJhbnNmb3JtMTJpc0ludmVydGlibGVFdgogX19aTks3V2ViQ29yZTE1QWZm
aW5lVHJhbnNmb3JtN2ludmVyc2VFdgpAQCAtMTM2Myw2ICsxMzY0LDcgQEAgX19aTks3V2ViQ29y
ZThEb2N1bWVudDR2aWV3RXYKIF9fWk5LN1dlYkNvcmU4RG9jdW1lbnQ2ZG9tYWluRXYKIF9fWk5L
N1dlYkNvcmU4RG9jdW1lbnQ2bG9hZGVyRXYKIF9fWk5LN1dlYkNvcmU4RG9jdW1lbnQ4c2V0dGlu
Z3NFdgorX19aTks3V2ViQ29yZThEb2N1bWVudDExdG9wRG9jdW1lbnRFdgogX19aTks3V2ViQ29y
ZThJbnRQb2ludGN2N0NHUG9pbnRFdgogX19aTks3V2ViQ29yZThQb3NpdGlvbjEwZG93bnN0cmVh
bUVOU18yN0VkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZUUKIF9fWk5LN1dlYkNvcmU4UG9zaXRp
b24xM2NvbnRhaW5lck5vZGVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5oCmluZGV4
IDJlMzJjZmI2OWJkNzMxODEwMmM2NDcyZDkyMmYxZDdjMGJlNGYzZmIuLmVjN2JmOTQyMzkzYWYz
MTQ1OTkwODUzZWI0ZGI5MDc5Y2U4YzJkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2VjdXJpdHlPcmlnaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3Jp
Z2luLmgKQEAgLTEyNSw2ICsxMjUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhbkFjY2Vzc0Rh
dGFiYXNlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4gPSAwKSBjb25zdCB7IHJldHVy
biBjYW5BY2Nlc3NTdG9yYWdlKHRvcE9yaWdpbik7IH07CiAgICAgYm9vbCBjYW5BY2Nlc3NMb2Nh
bFN0b3JhZ2UoY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikgY29uc3QgeyByZXR1cm4g
Y2FuQWNjZXNzU3RvcmFnZSh0b3BPcmlnaW4pOyB9OworICAgIGJvb2wgY2FuQWNjZXNzUGx1Z2lu
U3RvcmFnZShjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKSBjb25zdCB7IHJldHVybiBj
YW5BY2Nlc3NTdG9yYWdlKHRvcE9yaWdpbik7IH07CiAgICAgYm9vbCBjYW5BY2Nlc3NDb29raWVz
KCkgY29uc3QgeyByZXR1cm4gIWlzVW5pcXVlKCk7IH0KICAgICBib29sIGNhbkFjY2Vzc1Bhc3N3
b3JkTWFuYWdlcigpIGNvbnN0IHsgcmV0dXJuICFpc1VuaXF1ZSgpOyB9CiAgICAgYm9vbCBjYW5B
Y2Nlc3NGaWxlU3lzdGVtKCkgY29uc3QgeyByZXR1cm4gIWlzVW5pcXVlKCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBkMDdm
OGI3OWQ2YTgwMmFmNzk0MDdiYTk1NjYwMTU2OTJiZTVmNWY1Li5lYjk3Nzk1YzczMjNiMGFjODU2
YmMxYjZjMDk1Mjc3MTdhZWQ1YmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMjYyLDYgKzEyNjIsOSBAQCBib29sIFBsdWdp
blZpZXc6OmlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpCiAgICAgaWYgKCFmcmFtZSgpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIGlmIChmcmFtZSgpLT5kb2N1bWVudCgpICYmICFmcmFt
ZSgpLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NQbHVnaW5TdG9yYWdl
KGZyYW1lKCktPmRvY3VtZW50KCktPnRvcERvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGZyYW1lKCkt
PnNldHRpbmdzKCk7CiAgICAgaWYgKCFzZXR0aW5ncykKICAgICAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNDZjMDRiMjQ1ZWY1YWE3YWU4NzQ2YTc2NzQ5Y2MyM2JhYTdkOTc0YS4uN2NlNzA0MTM2
YmVhMGU4NDFiYjdiMDc2Mzc4NjBjODliNWIyYjMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEyLTA4LTIzICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFr
ZSBwbHVnaW5zIHJlc3BlY3QgdGhpcmQtcGFydHkgc3RvcmFnZSBibG9ja2luZyBzZXR0aW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZWQgdGVz
dHMgZm9yIHBsdWdpbnMgaW4gYSB0aGlyZCBwYXJ0eSBhbmQgZmlyc3QgcGFydHkgY29udGV4dCB3
aGVuIHRoaXJkLXBhcnR5IGJsb2NraW5nIGlzIG9uIGFuZCBvZmYuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tYWxsb3dlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdp
bi1hbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXBsdWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1wbHVn
aW4uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0w
NS0yNSAgQW5uYSBDYXZlbmRlciA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW1dIFJlbW92aW5nIG1lZGlhL3RyYWNrL3RyYWNrLW1vZGUuaHRtbCAtIHJlc29sdmVkLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLWFsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWFsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFhMDg2ZTcyZTZjZGUwMzc0MTExYTMyNjAxNjkwYTI1NjcxMzc1M2EKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4t
YWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyBpZnJhbWUgc2hvdWxk
IG5vdCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDoKKworCitUaGlzIGlmcmFtZSBzaG91
bGQgbm90IGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOgorCisKKworLS0tLS0tLS0KK0Zy
YW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorZmFsc2UK
KworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCist
LS0tLS0tLQorZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxNTYzNTJlZTNiMjY2MDk4NDY5ZWNjNzFkZGVlN2YzNDE4ODAxZGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4t
YWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisJdGVz
dFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKK30KKworPC9zY3JpcHQ+Cis8Ym9keT4K
KzxwPlRoaXMgaWZyYW1lIHNob3VsZCBub3QgaGF2ZSBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQ6
PC9wPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLmh0bWwiPjwvaWZyYW1lPgorPHA+VGhp
cyBpZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDo8L3A+Cis8
aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9z
cy1vcmlnaW4taWZyYW1lLWZvci1wbHVnaW4uaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1wbHVnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWU2YWQ4YWUw
OTI1ZDFiNmQ1ZjBjZTkxYjI1MWI3ZjRiMjZjZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE2IEBACitUaGlzIGlmcmFtZSBzaG91bGQgaGF2ZSBwcml2YXRlIGJyb3dz
aW5nIGVuYWJsZWQ6CisKKworVGhpcyBpZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHByaXZhdGUgYnJv
d3NpbmcgZW5hYmxlZDoKKworCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK2ZhbHNlCisKKy0tLS0tLS0tCitGcmFtZTogJzwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JworLS0tLS0tLS0KK2ZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4u
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3YWU0MTJiODE4YzJlMTVhZGI1NTBmM2EwYTQxZjk3YTUzMGFk
ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1wbHVnaW4uaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KK3ZhciBmcmFtZXMgPSAyOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisJdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGhpcmRQYXJ0eVN0b3JhZ2VCbG9ja2luZ0VuYWJs
ZWQodHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIGRlY3JlbWVudCgpIHsKKwktLWZyYW1lczsKKwlpZiAo
IWZyYW1lcyAmJiB3aW5kb3cudGVzdFJ1bm5lcikKKwkJaW50ZXJuYWxzLnNldHRpbmdzLnNldFRo
aXJkUGFydHlTdG9yYWdlQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsKK30KKzwvc2NyaXB0PgorPGJv
ZHk+Cis8cD5UaGlzIGlmcmFtZSBzaG91bGQgaGF2ZSBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQ6
PC9wPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLmh0bWwiIG9ubG9hZD0iZGVjcmVtZW50
KCkiPjwvaWZyYW1lPgorPHA+VGhpcyBpZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHByaXZhdGUgYnJv
d3NpbmcgZW5hYmxlZDo8L3A+Cis8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1wbHVnaW4uaHRtbCIgb25s
b2FkPSJkZWNyZW1lbnQoKSI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
aWZyYW1lLWZvci1wbHVnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1pZnJhbWUtZm9yLXBsdWdpbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY1NzAzNmE1OGY4ZTRhODNhMTI5NGExMjM3MjQ0N2I3NDUwMzkxNTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmln
aW4taWZyYW1lLWZvci1wbHVnaW4uaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKwlkb2N1bWVudC53cml0
ZShwbGcucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1u
ZXRzY2FwZSIgdGVzdD0icHJpdmF0ZS1icm93c2luZyI+PC9lbWJlZD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWNjZDRhNGI2OGE1ZjA4YjM2MjA2ZmEzNDdlNjdjMzRm
MjdiMWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTYgQEAKK1RoaXMgaWZyYW1lIHNob3VsZCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5h
YmxlZDoKKworCitUaGlzIGlmcmFtZSBzaG91bGQgbm90IGhhdmUgcHJpdmF0ZSBicm93c2luZyBl
bmFibGVkOgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFt
ZTAtLT4tLT4nCistLS0tLS0tLQordHJ1ZQorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQ
YXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitmYWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161382</attachid>
            <date>2012-08-29 18:26:58 -0700</date>
            <delta_ts>2012-08-30 13:50:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94888-20120829182747.patch</filename>
            <type>text/plain</type>
            <size>17276</size>
            <attacher name="Vicki Pfau">jeffrey+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkxMTE4ODViYmM2YThk
MTYzNmVkODY3NWY5MzkzY2U2ZGE0Mzg4OC4uOGFiZDVmOTgwMzk2NTMxNzNjM2U5ZTgyZDdmMDVk
NmVjN2Q5ODliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTIzICBKZWZm
cmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwbHVnaW5zIHJlc3Bl
Y3QgdGhpcmQtcGFydHkgc3RvcmFnZSBibG9ja2luZyBzZXR0aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZ1bmN0aW9ucyBmb3IgZGlzY2Vy
bmluZyBpZiBhIHBsdWdpbiBzaG91bGQgYmUgYWJsZSB0byBhY2Nlc3MgaXRzIHN0b3JhZ2UgaW4g
aXRzIGN1cnJlbnQgb3JpZ2luLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1wbHVnaW4tYWxsb3dlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4uaHRtbAorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46IEV4cG9ydCBGcmFtZVRyZWU6OnRvcCBhbmQgU2VjdXJpdHlPcmlnaW46OmNhbkFj
Y2Vzc1N0b3JhZ2UKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmg6IEFkZGVkIGNhbkFj
Y2Vzc1BsdWdpblN0b3JhZ2UKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjYW5B
Y2Nlc3NQbHVnaW5TdG9yYWdlKToKKwogMjAxMi0wOC0yOSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBh
cHBsZS5jb20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0gUmVuYW1lIG1ldGhvZHMgdG8g
cHJlcGFyZSBmb3IgcHJvcGVyIHBhZ2luYXRpb24gb2YgY29sdW1ucwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM0
ZTU5ZDkwY2JhMTM3MThjZjliYWM1MzY3NzZiMzNmZjgxZjUyM2EuLjAyZWNlOThhNDA3YjBjNDk5
NDhjZmI3ODA3N2EwODM3MGY3MDEzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0wOC0yOSAgSmVmZnJleSBQZmF1ICA8anBmYXVAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
cGx1Z2lucyByZXNwZWN0IHRoaXJkLXBhcnR5IHN0b3JhZ2UgYmxvY2tpbmcgc2V0dGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4ODgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQbHVnaW5zIHRoYXQg
YXJlIGluIGEgdGhpcmQtcGFydHkgY29udGV4dCBzaG91bGQgYmUgcHV0IGludG8gcHJpdmF0ZSBi
cm93c2luZyBtb2RlIHNvIHRoZWlyIHN0b3JhZ2UgaXMgdGVtcG9yYXJ5LgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5WaWV3Ojppc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQpOiBQdXQgdGhlIHBsdWdpbiBpbnRvIHBy
aXZhdGUgYnJvd3NpbmcgbW9kZSBpZiBpdCBpcyBpbiBhIHRoaXJkLXBhcnR5IGNvbnRleHQuCisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OnByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdlZCk6
IE1ha2Ugc3VyZSBhIHBsdWdpbiBkb2Vzbid0IGxlYXZlIHByaXZhdGUgYnJvd3NpbmcgbW9kZSBp
ZiBpdCdzIGluIGEgdGhpcmQtcGFydHkgY29udGV4dC4KKwogMjAxMi0wOC0yOSAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogTm90IHNlbmRp
bmcgTlBQX1NldFdpbmRvdyBpcyBjYXVzaW5nIEZsYXNoIHRvIG5vdCB0aHJvdHRsZSBpdHNlbGYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYmVhMTRkODcyNzUxZDc0ZDY0OGE5NmM3YTJjOWVjMmNk
NDQ5MzQzNy4uZjFiZTc3ZjFmNDlkN2U2OGNmZGQzZjk0YzQ4ZDQ3ZjdlMzM1MzExMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTExNzcsNiArMTE3Nyw3IEBAIF9fWk5LN1dlYkNvcmUxNFNlY3Vy
aXR5T3JpZ2luMTJpc29sYXRlZENvcHlFdgogX19aTks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW4x
OGRhdGFiYXNlSWRlbnRpZmllckV2CiBfX1pOSzdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjVlcXVh
bEVQS1MwXwogX19aTks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW44dG9TdHJpbmdFdgorX19aTks3
V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW4xNmNhbkFjY2Vzc1N0b3JhZ2VFUEtTMF8KIF9fWk5LN1dl
YkNvcmUxNUFmZmluZVRyYW5zZm9ybTEwaXNJZGVudGl0eUV2CiBfX1pOSzdXZWJDb3JlMTVBZmZp
bmVUcmFuc2Zvcm0xMmlzSW52ZXJ0aWJsZUV2CiBfX1pOSzdXZWJDb3JlMTVBZmZpbmVUcmFuc2Zv
cm03aW52ZXJzZUV2CkBAIC0xMzc0LDYgKzEzNzUsNyBAQCBfX1pOSzdXZWJDb3JlOURPTVdpbmRv
dzI3cGVuZGluZ1VubG9hZEV2ZW50TGlzdGVuZXJzRXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRRdWFk
MTFib3VuZGluZ0JveEV2CiBfX1pOSzdXZWJDb3JlOUZsb2F0UmVjdDEwaW50ZXJzZWN0c0VSS1Mw
XwogX19aTks3V2ViQ29yZTlGbG9hdFNpemU2aXNaZXJvRXYKK19fWk5LN1dlYkNvcmU5RnJhbWVU
cmVlM3RvcEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTEwY2hpbGRDb3VudEV2CiBfX1pOSzdX
ZWJDb3JlOUZyYW1lVHJlZTEydHJhdmVyc2VOZXh0RVBLTlNfNUZyYW1lRQogX19aTks3V2ViQ29y
ZTlGcmFtZVRyZWUxNGlzRGVzY2VuZGFudE9mRVBLTlNfNUZyYW1lRQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZWN1cml0eU9yaWdpbi5oCmluZGV4IGNiNjgwZWM4OGJhZWJiYjIyN2RhZTNlYmMwYmU4MWE5MDQz
ODU4NTIuLjU5ZjBjNDAxODI4NGRiOTQ4NjA3MmY3N2NhZjVjZWMyZjFhYjRlMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKQEAgLTEzOSw2ICsxMzksNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBjYW5BY2Nlc3NEYXRhYmFzZShjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2lu
ID0gMCkgY29uc3QgeyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZSh0b3BPcmlnaW4pOyB9OwogICAg
IGJvb2wgY2FuQWNjZXNzTG9jYWxTdG9yYWdlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmln
aW4pIGNvbnN0IHsgcmV0dXJuIGNhbkFjY2Vzc1N0b3JhZ2UodG9wT3JpZ2luKTsgfTsKICAgICBi
b29sIGNhbkFjY2Vzc1NoYXJlZFdvcmtlcnMoY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdp
bikgY29uc3QgeyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZSh0b3BPcmlnaW4pOyB9CisgICAgYm9v
bCBjYW5BY2Nlc3NQbHVnaW5TdG9yYWdlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4p
IGNvbnN0IHsgcmV0dXJuIGNhbkFjY2Vzc1N0b3JhZ2UodG9wT3JpZ2luKTsgfQogICAgIGJvb2wg
Y2FuQWNjZXNzQ29va2llcygpIGNvbnN0IHsgcmV0dXJuICFpc1VuaXF1ZSgpOyB9CiAgICAgYm9v
bCBjYW5BY2Nlc3NQYXNzd29yZE1hbmFnZXIoKSBjb25zdCB7IHJldHVybiAhaXNVbmlxdWUoKTsg
fQogICAgIGJvb2wgY2FuQWNjZXNzRmlsZVN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuICFpc1VuaXF1
ZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKaW5kZXggZmYxZTUzOTJkM2M4MTIzNzE4YWVmZmFmOThmZTc5N2FkNThlMGI1Ny4uNzRm
YTU5ODAwNDRlODQ5YmNlNTNhNDdjOTM2Zjc3NmUwN2I1NWE2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNTgzLDYgKzU4Myw5
IEBAIHZvaWQgUGx1Z2luVmlldzo6cHJpdmF0ZUJyb3dzaW5nU3RhdGVDaGFuZ2VkKGJvb2wgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCkKICAgICBpZiAoIW1faXNJbml0aWFsaXplZCB8fCAhbV9wbHVn
aW4pCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCAm
JiAhZnJhbWUoKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzUGx1Z2lu
U3RvcmFnZShmcmFtZSgpLT50cmVlKCktPnRvcCgpLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9wbHVnaW4tPnByaXZhdGVCcm93c2luZ1N0
YXRlQ2hhbmdlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKTsKIH0KIApAQCAtMTI2Nyw2ICsxMjcw
LDkgQEAgYm9vbCBQbHVnaW5WaWV3Ojppc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKQogICAgIGlm
ICghZnJhbWUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoIWZyYW1lKCktPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc1BsdWdpblN0b3JhZ2UoZnJhbWUo
KS0+dHJlZSgpLT50b3AoKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpCisgICAgICAg
IHJldHVybiB0cnVlOworCiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUoKS0+c2V0dGlu
Z3MoKTsKICAgICBpZiAoIXNldHRpbmdzKQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1
NTgwMjc3OWY2YTM0MmVmOThhY2I3MDcxNzdkOWI3NGNmNzVmNzViLi5iZTc1OWUzZmIwMjQ0MGY2
NGQ4MzRkNWI0ZTI4YjM1YTFlYjU3M2I3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDgt
MjkgIEplZmZyZXkgUGZhdSAgPGpwZmF1QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHBsdWdp
bnMgcmVzcGVjdCB0aGlyZC1wYXJ0eSBzdG9yYWdlIGJsb2NraW5nIHNldHRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODg4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlZCB0ZXN0cyBmb3Ig
cGx1Z2lucyBpbiBhIHRoaXJkIHBhcnR5IGFuZCBmaXJzdCBwYXJ0eSBjb250ZXh0IHdoZW4gdGhp
cmQtcGFydHkgYmxvY2tpbmcgaXMgb24gYW5kIG9mZi4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1hbGxvd2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWFsbG93
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tcGx1Z2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1hbGxvd2Vk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1hbGxvd2VkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1w
cml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10
b2dnbGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXBsdWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1wbHVnaW4uaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlmcmFt
ZS1mb3ItcGx1Z2luLWFzeW5jLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13
azIvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisKIDIwMTItMDgtMjkgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIEdhcmRlbmluZzogZWRpdGluZy9kZWxldGUvYnItMDA0KDUp
KDYpIGZhaWxpbmcgb24gV2luZG93cyAob2xkIHJ1biB3ZWJraXQgdGVzdHMpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tYWxs
b3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1wbHVnaW4tYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEwODZlNzJl
NmNkZTAzNzQxMTFhMzI2MDE2OTBhMjU2NzEzNzUzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1hbGxvd2VkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUaGlzIGlmcmFtZSBzaG91bGQgbm90IGhhdmUg
cHJpdmF0ZSBicm93c2luZyBlbmFibGVkOgorCisKK1RoaXMgaWZyYW1lIHNob3VsZCBub3QgaGF2
ZSBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQ6CisKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0t
ZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitmYWxzZQorCistLS0tLS0t
LQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitm
YWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tcGx1Z2luLWFsbG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1hbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE1NjM1MmVl
M2IyNjYwOTg0NjllY2M3MWRkZWU3ZjM0MTg4MDFkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1hbGxvd2VkLmh0
bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKwl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwl0ZXN0UnVubmVyLmR1
bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQorCis8L3NjcmlwdD4KKzxib2R5PgorPHA+VGhpcyBp
ZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDo8L3A+Cis8aWZy
YW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1v
cmlnaW4taWZyYW1lLWZvci1wbHVnaW4uaHRtbCI+PC9pZnJhbWU+Cis8cD5UaGlzIGlmcmFtZSBz
aG91bGQgbm90IGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOjwvcD4KKzxpZnJhbWUgc3Jj
PSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1p
ZnJhbWUtZm9yLXBsdWdpbi5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdp
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1wbHVnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZTZhZDhhZTA5MjVkMWI2ZDVm
MGNlOTFiMjUxYjdmNGIyNmNlYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTYgQEAKK1RoaXMgaWZyYW1lIHNob3VsZCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxl
ZDoKKworCitUaGlzIGlmcmFtZSBzaG91bGQgbm90IGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFi
bGVkOgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAt
LT4tLT4nCistLS0tLS0tLQorZmFsc2UKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0
aCAvLzwhLS1mcmFtZTEtLT4tLT4nCistLS0tLS0tLQorZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJy
b3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVk
LWFsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhMDg2ZTcyZTZjZGUwMzc0MTExYTMy
NjAxNjkwYTI1NjcxMzc1M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVk
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgaWZyYW1lIHNob3Vs
ZCBub3QgaGF2ZSBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQ6CisKKworVGhpcyBpZnJhbWUgc2hv
dWxkIG5vdCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDoKKworCisKKy0tLS0tLS0tCitG
cmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK2ZhbHNl
CisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+Jwor
LS0tLS0tLS0KK2ZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLWFsbG93ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdp
bi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3ZmEw
Nzk2OTdkYjVlODg4OTUyZTQwMGMwNjYxNTU0YTkxNzk1YjIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0
ZS1icm93c2luZy10b2dnbGVkLWFsbG93ZWQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK3ZhciBmcmFtZXMgPSAyOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisJdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKKwl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7
CisJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGRlY3JlbWVudCgp
IHsKKwktLWZyYW1lczsKKwlpZiAoIWZyYW1lcykgeworCQlpZiAod2luZG93LnRlc3RSdW5uZXIp
CisJCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworCQlmb3Ig
KHZhciBpID0gMDsgaSA8IDI7ICsraSkgeworCQkJdmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2ldLmNvbnRlbnRXaW5kb3c7CisJCQlmcmFtZS5wb3N0
TWVzc2FnZSgnbG9hZGVkJywgJyonKTsKKwkJfQorCQlmcmFtZXMgPSAyOworCX0KK30KKword2lu
ZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKCkgeworCS0tZnJhbWVzOworCWlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKwkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxib2R5
PgorPHA+VGhpcyBpZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxl
ZDo8L3A+Cis8aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1wbHVnaW4tYXN5bmMuaHRtbCIgb25sb2FkPSJk
ZWNyZW1lbnQoKSI+PC9pZnJhbWU+Cis8cD5UaGlzIGlmcmFtZSBzaG91bGQgbm90IGhhdmUgcHJp
dmF0ZSBicm93c2luZyBlbmFibGVkOjwvcD4KKzxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1pZnJhbWUtZm9yLXBsdWdpbi1h
c3luYy5odG1sIiBvbmxvYWQ9ImRlY3JlbWVudCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJv
d3NpbmctdG9nZ2xlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzllNmFkOGFlMDkyNWQxYjZk
NWYwY2U5MWIyNTFiN2Y0YjI2Y2ViOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgaWZyYW1lIHNob3VsZCBo
YXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDoKKworCitUaGlzIGlmcmFtZSBzaG91bGQgbm90
IGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorZmFsc2UKKworLS0t
LS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCistLS0tLS0t
LQorZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dz
aW5nLXRvZ2dsZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTA2NDFkMmVhMTQzMGRkMTEyZDdiYWU0YTM4
YTUzZGUzMWZhZjRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1s
CkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGZyYW1lcyA9
IDI7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
Kwl0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworCXRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKwl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGhpcmRQYXJ0eVN0b3JhZ2VCbG9ja2luZ0VuYWJsZWQo
dHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIGRlY3JlbWVudCgpIHsKKwktLWZyYW1lczsKKwlpZiAoIWZy
YW1lcykgeworCQlpZiAod2luZG93LnRlc3RSdW5uZXIpCisJCQl0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworCQlmb3IgKHZhciBpID0gMDsgaSA8IDI7ICsraSkg
eworCQkJdmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScp
W2ldLmNvbnRlbnRXaW5kb3c7CisJCQlmcmFtZS5wb3N0TWVzc2FnZSgnbG9hZGVkJywgJyonKTsK
KwkJfQorCQlmcmFtZXMgPSAyOworCX0KK30KKword2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KCkgeworCS0tZnJhbWVzOworCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCQlpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VGhpcmRQYXJ0eVN0b3JhZ2VCbG9ja2luZ0VuYWJsZWQoZmFsc2UpOworCQl0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKwl9Cit9Cis8L3NjcmlwdD4KKzxib2R5PgorPHA+VGhp
cyBpZnJhbWUgc2hvdWxkIGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOjwvcD4KKzxpZnJh
bWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi1pZnJhbWUtZm9yLXBsdWdpbi1hc3luYy5odG1sIiBvbmxvYWQ9ImRlY3JlbWVudCgpIj48
L2lmcmFtZT4KKzxwPlRoaXMgaWZyYW1lIHNob3VsZCBub3QgaGF2ZSBwcml2YXRlIGJyb3dzaW5n
IGVuYWJsZWQ6PC9wPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLWFzeW5jLmh0bWwiIG9u
bG9hZD0iZGVjcmVtZW50KCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iN2FlNDEyYjgxOGMyZTE1YWRiNTUwZjNhMGE0MWY5N2E1MzBhZGVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tcGx1Z2luLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+Cit2YXIgZnJhbWVzID0gMjsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCXRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
CisJaW50ZXJuYWxzLnNldHRpbmdzLnNldFRoaXJkUGFydHlTdG9yYWdlQmxvY2tpbmdFbmFibGVk
KHRydWUpOworfQorCitmdW5jdGlvbiBkZWNyZW1lbnQoKSB7CisJLS1mcmFtZXM7CisJaWYgKCFm
cmFtZXMgJiYgd2luZG93LnRlc3RSdW5uZXIpCisJCWludGVybmFscy5zZXR0aW5ncy5zZXRUaGly
ZFBhcnR5U3RvcmFnZUJsb2NraW5nRW5hYmxlZChmYWxzZSk7Cit9Cis8L3NjcmlwdD4KKzxib2R5
PgorPHA+VGhpcyBpZnJhbWUgc2hvdWxkIGhhdmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOjwv
cD4KKzxpZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L2Nyb3NzLW9yaWdpbi1pZnJhbWUtZm9yLXBsdWdpbi5odG1sIiBvbmxvYWQ9ImRlY3JlbWVudCgp
Ij48L2lmcmFtZT4KKzxwPlRoaXMgaWZyYW1lIHNob3VsZCBub3QgaGF2ZSBwcml2YXRlIGJyb3dz
aW5nIGVuYWJsZWQ6PC9wPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLmh0bWwiIG9ubG9h
ZD0iZGVjcmVtZW50KCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlm
cmFtZS1mb3ItcGx1Z2luLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1wbHVnaW4tYXN5bmMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jYzBiODY0MTFmNTAzNTgxMWM3YzI5YWIzNDU3Y2RjMTkwZTJkMGI1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMv
Y3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLWFzeW5jLmh0bWwKQEAgLTAsMCArMSwxMyBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit3aW5kb3cub25tZXNzYWdlID0gZnVuY3Rpb24o
KSB7CisJZG9jdW1lbnQud3JpdGUocGxnLnByaXZhdGVCcm93c2luZ0VuYWJsZWQpOworCXdpbmRv
dy5wYXJlbnQucG9zdE1lc3NhZ2UoJ2NvbXBsZXRlJywgJyonKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZW1iZWQgbmFtZT0icGxnIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtp
dC10ZXN0LW5ldHNjYXBlIiB0ZXN0PSJwcml2YXRlLWJyb3dzaW5nIj48L2VtYmVkPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9y
ZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLWZvci1w
bHVnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTcwMzZhNThmOGU0YTgzYTEyOTRhMTIzNzI0NDdiNzQ1
MDM5MTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1mb3ItcGx1Z2luLmh0bWwKQEAgLTAsMCAr
MSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7CisJZG9jdW1lbnQud3JpdGUocGxnLnByaXZhdGVCcm93c2luZ0VuYWJsZWQpOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxlbWJlZCBuYW1lPSJwbGciIHR5cGU9ImFwcGxp
Y2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHRlc3Q9InByaXZhdGUtYnJvd3NpbmciPjwv
ZW1iZWQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXBsdWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDVjY2Q0YTRiNjhh
NWYwOGIzNjIwNmZhMzQ3ZTY3YzM0ZjI3YjFlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1
Z2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUaGlzIGlmcmFtZSBzaG91bGQgaGF2
ZSBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQ6CisKKworVGhpcyBpZnJhbWUgc2hvdWxkIG5vdCBo
YXZlIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDoKKworCisKKy0tLS0tLS0tCitGcmFtZTogJzwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK3RydWUKKworLS0tLS0t
LS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCistLS0tLS0tLQor
ZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ1Y2NkNGE0YjY4YTVmMDhiMzYyMDZmYTM0N2U2N2MzNGYyN2Ix
ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2ds
ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgaWZyYW1lIHNob3VsZCBoYXZl
IHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZDoKKworCitUaGlzIGlmcmFtZSBzaG91bGQgbm90IGhh
dmUgcHJpdmF0ZSBicm93c2luZyBlbmFibGVkOgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEt
LWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQordHJ1ZQorCistLS0tLS0t
LQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitm
YWxzZQo=
</data>
<flag name="review"
          id="172169"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>