<?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>60661</bug_id>
          
          <creation_ts>2011-05-11 14:22:19 -0700</creation_ts>
          <short_desc>WK2: VoiceOver cannot move focus into a web area programmatically</short_desc>
          <delta_ts>2011-05-18 17:11:29 -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>Accessibility</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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>402280</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-11 14:22:19 -0700</bug_when>
    <thetext>Due to 
https://bugs.webkit.org/show_bug.cgi?id=60315
the code to bring focus automatically to a view was removed. this still needs to be allowed when VoiceOver requests focus move to an element in a view</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402526</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-11 18:23:30 -0700</bug_when>
    <thetext>rdar://9384929</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402527</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-11 18:23:58 -0700</bug_when>
    <thetext>I have a fix by adding a new WebProxyMethod that will do what we want explicitly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403100</commentid>
    <comment_count>3</comment_count>
      <attachid>93327</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 13:19:49 -0700</bug_when>
    <thetext>Created attachment 93327
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403105</commentid>
    <comment_count>4</comment_count>
      <attachid>93327</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-12 13:28:20 -0700</bug_when>
    <thetext>Comment on attachment 93327
patch

Attachment 93327 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8687776</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403106</commentid>
    <comment_count>5</comment_count>
      <attachid>93327</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-12 13:30:20 -0700</bug_when>
    <thetext>Comment on attachment 93327
patch

Attachment 93327 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8685848</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403120</commentid>
    <comment_count>6</comment_count>
      <attachid>93327</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-12 13:52:11 -0700</bug_when>
    <thetext>Comment on attachment 93327
patch

Attachment 93327 did not pass cr-mac-ews (chromium):
Output: http://queues.webkit.org/results/8688818</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403155</commentid>
    <comment_count>7</comment_count>
      <attachid>93341</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 14:18:32 -0700</bug_when>
    <thetext>Created attachment 93341
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403162</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 14:29:05 -0700</bug_when>
    <thetext>The patch adds a new ChromeClient method that is named explicitly (setFocusOnContentView()).

this can be called be accessibility independently of other mechanisms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403168</commentid>
    <comment_count>9</comment_count>
      <attachid>93341</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-12 14:38:05 -0700</bug_when>
    <thetext>Comment on attachment 93341
patch

Attachment 93341 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8688840</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403172</commentid>
    <comment_count>10</comment_count>
      <attachid>93347</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 14:41:42 -0700</bug_when>
    <thetext>Created attachment 93347
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403330</commentid>
    <comment_count>11</comment_count>
      <attachid>93390</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 19:21:57 -0700</bug_when>
    <thetext>Created attachment 93390
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403381</commentid>
    <comment_count>12</comment_count>
      <attachid>93390</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-05-12 22:06:37 -0700</bug_when>
    <thetext>Comment on attachment 93390
patch

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

Marking r- because I am not totally sure this is the right design and I feel this needs another attempt.

&gt; Source/WebKit/chromium/ChangeLog:9
&gt; +        * src/ChromeClientImpl.h:
&gt; +        (WebKit::ChromeClientImpl::setFocusOnContentView):

I&apos;m not entirely happy with the naming of this method.

(1) The use of ContentView here seems inconsistent with the use in Cocoa, where it is a Window&apos;s main view. The WKView may or may not be the content view.
(2) It sounds like this is totally generic and should be used any time a view is to gain focus, but it&apos;s actually a special-purpose method for accessibility.
(3) The name makes it sound like it is needed for every port, but it&apos;s really just a special thing for WebKit2.

If this is even the right design, can we give it a name that&apos;s more appropriate?

&gt; Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm:205
&gt; +void WebChromeClient::setFocusOnContentView()
&gt; +{
&gt; +    // On WK1, this is the same behavior as focus
&gt; +    focus();

Even though you said in a comment that this is only needed for WebKit2, here&apos;s an actual implementation for WebKit1. Is the comment wrong, or is this code redundant?

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2212
&gt; +    // The containing view needs to be informed that accessibility wants to 
&gt; +    // move focus into this view. This is only needed on WK2, because it
&gt; +    // happens automatically in WK1.
&gt; +    
&gt; +    if (on &amp;&amp; documentFrameView() &amp;&amp; !documentFrameView()-&gt;platformWidget())
&gt; +        m_renderer-&gt;document()-&gt;page()-&gt;chrome()-&gt;setFocusOnContentView();

So, why can&apos;t we just make WebKit2 do the right thing in the same way that WebKit1 handled this? I get that there was a previous bug due to trying to do that, but maybe that fix was too aggressive. Perhaps it is possible to focus the view without causing side effects like wrongly having windows bring themselves to the front. I feel like that is a better approach than adding this new ChromeClient method that is unnecessary in all other ports but does a special hack for WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403383</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-12 22:13:30 -0700</bug_when>
    <thetext>
&gt; (1) The use of ContentView here seems inconsistent with the use in Cocoa, where it is a Window&apos;s main view. The WKView may or may not be the content view.
&gt; (2) It sounds like this is totally generic and should be used any time a view is to gain focus, but it&apos;s actually a special-purpose method for accessibility.

It shouldn&apos;t necessarily be an accessibility thing. I imagine if a javascript method called focus() while focus was not in the WKView, it might also not work.

&gt; (3) The name makes it sound like it is needed for every port, but it&apos;s really just a special thing for WebKit2.

It&apos;s not a special thing. it&apos;s a general purpose mechanism, that happens to right now only be needed for WK2, because WK1 does the right thing already

&gt; 
&gt; If this is even the right design, can we give it a name that&apos;s more appropriate?
&gt; 

However, I agree this is probably not the best approach

&gt; &gt; Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm:205
&gt; &gt; +void WebChromeClient::setFocusOnContentView()
&gt; &gt; +{
&gt; &gt; +    // On WK1, this is the same behavior as focus
&gt; &gt; +    focus();
&gt; 
&gt; Even though you said in a comment that this is only needed for WebKit2, here&apos;s an actual implementation for WebKit1. Is the comment wrong, or is this code redundant?
&gt; 

It is only there to fill in the ChromeClient API. If it&apos;s called, it will function correctly.


&gt; &gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2212
&gt; &gt; +    // The containing view needs to be informed that accessibility wants to 
&gt; &gt; +    // move focus into this view. This is only needed on WK2, because it
&gt; &gt; +    // happens automatically in WK1.
&gt; &gt; +    
&gt; &gt; +    if (on &amp;&amp; documentFrameView() &amp;&amp; !documentFrameView()-&gt;platformWidget())
&gt; &gt; +        m_renderer-&gt;document()-&gt;page()-&gt;chrome()-&gt;setFocusOnContentView();
&gt; 
&gt; So, why can&apos;t we just make WebKit2 do the right thing in the same way that WebKit1 handled this? I 
get that there was a previous bug due to trying to do that, but maybe that fix was too aggressive. Perhaps it is possible to focus the view without causing side effects like wrongly having windows bring themselves to the front. I feel like that is a better approach than adding this new ChromeClient method that is unnecessary in all other ports but does a special hack for WebKit2.

I can try that again. As you can imagine, I don&apos;t want this to revert again at the last minute, so that&apos;s why I was adding a new method that was very explicit in what it did and would not likely be removed or altered so easily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405451</commentid>
    <comment_count>14</comment_count>
      <attachid>93857</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-17 18:36:53 -0700</bug_when>
    <thetext>Created attachment 93857
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405457</commentid>
    <comment_count>15</comment_count>
      <attachid>93857</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-17 18:46:49 -0700</bug_when>
    <thetext>Comment on attachment 93857
patch

Attachment 93857 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8704488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405542</commentid>
    <comment_count>16</comment_count>
      <attachid>93875</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-18 00:08:49 -0700</bug_when>
    <thetext>Created attachment 93875
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406076</commentid>
    <comment_count>17</comment_count>
      <attachid>93875</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-05-18 16:08:30 -0700</bug_when>
    <thetext>Comment on attachment 93875
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406115</commentid>
    <comment_count>18</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-18 17:11:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/86806</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93327</attachid>
            <date>2011-05-12 13:19:49 -0700</date>
            <delta_ts>2011-05-12 14:18:32 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11270</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0JKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksNiArMTk5
LDEyIEBACiAgICAgW1ttX3dlYlZpZXcgX1VJRGVsZWdhdGVGb3J3YXJkZXJdIHdlYlZpZXdVbmZv
Y3VzOm1fd2ViVmlld107CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRGb2N1c09uQ29u
dGVudFZpZXcoKQoreworICAgIC8vIE9uIFdLMSwgdGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvciBh
cyBmb2N1cworICAgIGZvY3VzKCk7Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpjYW5UYWtl
Rm9jdXMoRm9jdXNEaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlcmUncyB1bmZvcnR1bmF0ZWx5IG5v
IHdheSB0byBkZXRlcm1pbmUgaWYgd2Ugd2lsbCBiZWNvbWUgZmlyc3QgcmVzcG9uZGVyIGFnYWlu
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBA
QAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCk7CiAgICAgCiAgICAg
dmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbik7CiAgICAg
dmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbik7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM3MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA1LTEyICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMg
aW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldEZvY3VzT25Db250ZW50Vmll
dyk6CisKIDIwMTEtMDUtMTIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4NjM3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI1IEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHBy
b2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYwNjYxCisKKyAgICAgICAgV2hlbiBmb2N1cyBpcyBhc2tlZCB0byBiZSBzZXQgcHJv
Z3JhbW1hdGljYWxseSBmcm9tIFZvaWNlT3ZlciwgaW4gV0syLAorICAgICAgICBmb2N1cyBuZWVk
cyB0byBiZSBicm91Z2h0IHRvIHRoZSBXS1ZpZXcgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHBy
b2Nlc3MKKyAgICAgICAgYm91bmRhcnkuIFRoaXMgbG9naWMgdXNlZCB0byBiZSBpbiBmb2N1cygp
LCBidXQgY2F1c2VkIG90aGVyIHByb2JsZW1zCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAzMTUpLCBzbyBpbnN0ZWFkIHRoZXJlIHNob3VsZAorICAg
ICAgICBiZSBhIHNwZWNpZmljIG1ldGhvZCB0aGF0IGNhbiBoYW5kbGUgdGhpcyBjYXNlLgorCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNldEZvY3VzZWQpOgor
ICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5
Q2hyb21lQ2xpZW50OjpzZXRGb2N1c09uQ29udGVudFZpZXcpOgorICAgICAgICAqIHBhZ2UvQ2hy
b21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3
KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50
Lmg6CisKIDIwMTEtMDUtMTIgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw4IEBACiAgICAgCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBmb2N1cygpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMo
KSA9IDA7Ci0KKyAgICAgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpID0g
MDsKKyAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJl
Y3Rpb24pID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlv
bikgPSAwOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgJKHJldmlzaW9uIDg2Mjk1KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOCBA
QAogCiAgICAgICAgIHZvaWQgZm9jdXMoKSBjb25zdDsKICAgICAgICAgdm9pZCB1bmZvY3VzKCkg
Y29uc3Q7Ci0KKyAgICAgICAgdm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKSBjb25zdDsKKyAg
ICAgICAgCiAgICAgICAgIGJvb2wgY2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKSBjb25zdDsK
ICAgICAgICAgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pIGNvbnN0OwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU0LDYgKzE1NCwxMSBAQAogICAgIG1f
Y2xpZW50LT51bmZvY3VzKCk7CiB9CiAKK3ZvaWQgQ2hyb21lOjpzZXRGb2N1c09uQ29udGVudFZp
ZXcoKSBjb25zdAoreworICAgIG1fY2xpZW50LT5zZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30K
KyAgICAKIGJvb2wgQ2hyb21lOjpjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
KSBjb25zdAogewogICAgIHJldHVybiBtX2NsaWVudC0+Y2FuVGFrZUZvY3VzKGRpcmVjdGlvbik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eUxpc3RCb3guaCIKKyNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTIyMDIs
NiArMjIwMywxMyBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3JlbmRlcmVyLT5kb2N1
bWVudCgpLT5zZXRGb2N1c2VkTm9kZShtX3JlbmRlcmVyLT5ub2RlKCkpOwogICAgIH0KKyAgICAK
KyAgICAvLyBUaGUgY29udGFpbmluZyB2aWV3IG5lZWRzIHRvIGJlIGluZm9ybWVkIHRoYXQgYWNj
ZXNzaWJpbGl0eSB3YW50cyB0byAKKyAgICAvLyBtb3ZlIGZvY3VzIGludG8gdGhpcyB2aWV3LiBU
aGlzIGlzIG9ubHkgbmVlZGVkIG9uIFdLMiwgYmVjYXVzZSBpdAorICAgIC8vIGhhcHBlbnMgYXV0
b21hdGljYWxseSBpbiBXSzEuCisgICAgCisgICAgaWYgKG9uICYmIGRvY3VtZW50RnJhbWVWaWV3
KCkgJiYgIWRvY3VtZW50RnJhbWVWaWV3KCktPnBsYXRmb3JtV2lkZ2V0KCkpCisgICAgICAgIG1f
cmVuZGVyZXItPmRvY3VtZW50KCktPnBhZ2UoKS0+Y2hyb21lKCktPnNldEZvY3VzT25Db250ZW50
VmlldygpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNoYW5nZVZhbHVl
QnlQZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsOCBAQAogCiAgICAgdmly
dHVhbCB2b2lkIGZvY3VzKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMoKSB7IH0KLQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKSB7IH0KKyAgICAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKSB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pIHsgfQogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCShyZXZpc2lvbiA4NjM3MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBh
IHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9Q
YWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRl
bnRWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNldEZvY3VzT25Db250ZW50Vmlldyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwog
MjAxMS0wNS0xMiAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAko
cmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw2ICsxMjgsMTEg
QEAKIHsKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Rm9jdXMo
ZmFsc2UpKTsKIH0KKyAgICAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRGb2N1c09uQ29udGVu
dFZpZXcoKQoreworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRG
b2N1c09uQ29udGVudFZpZXcoKSk7Cit9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpjYW5UYWtl
Rm9jdXMoRm9jdXNEaXJlY3Rpb24pCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlz
aW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQAogICAgIAog
ICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1YWwgdm9pZCB1bmZvY3VzKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpOwogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5UYWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rpb24pOwogICAgIHZpcnR1
YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rpb24pOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCShyZXZp
c2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGll
bnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAKICAgICB2aXJ0dWFsIGJv
b2wgaXNWaWV3Rm9jdXNlZCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxlKCk7CiAg
ICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93KCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZv
Y3VzT25Db250ZW50VmlldygpOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlkQ3Jh
c2goKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUNsb3NlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0JKHJldmlzaW9u
IDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudElt
cGwubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1OSw2ICsxNTksMTEgQEAKICAgICByZXR1cm4gW1tt
X3drVmlldyB3aW5kb3ddIGlzS2V5V2luZG93XSB8fCBbTlNBcHAga2V5V2luZG93XSA9PSBbbV93
a1ZpZXcgd2luZG93XTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRl
bnRWaWV3KCkKK3sKKyAgICBbW21fd2tWaWV3IHdpbmRvd10gbWFrZUZpcnN0UmVzcG9uZGVyOm1f
d2tWaWV3XTsKK30KKyAgICAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld0ZvY3VzZWQoKQog
ewogICAgIHJldHVybiBbbV93a1ZpZXcgX2lzRm9jdXNlZF07CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjkyLDYgKzY5
Miw3IEBACiAgICAgdm9pZCBpZ25vcmVXb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7CiAKICAgICB2
b2lkIHNldEZvY3VzKGJvb2wgZm9jdXNlZCk7CisgICAgdm9pZCBzZXRGb2N1c09uQ29udGVudFZp
ZXcoKTsKICAgICB2b2lkIHRha2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rpb24pOwogICAgIHZvaWQg
c2V0VG9vbFRpcChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJD
b3JlOjpDdXJzb3ImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAko
cmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4OSw5IEBACiAgICAgLy8gUmV0dXJuIHdoZXRoZXIg
dGhlIHZpZXcgaXMgaW4gYSB3aW5kb3cuCiAgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93
KCkgPSAwOwogICAgIAorICAgIC8vIFNldCBmb2N1cyBvbnRvIHRoaXMgdmlldy4KKyAgICB2aXJ0
dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkgPSAwOworICAgIAogICAgIHZpcnR1YWwg
dm9pZCBwcm9jZXNzRGlkQ3Jhc2goKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNo
UHJvY2VzcygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUNsb3NlZCgpID0gMDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA4NjI5
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNTM2LDYgKzI1MzYsMTEgQEAKICAgICBlbHNlCiAgICAgICAgIG1fdWlDbGll
bnQudW5mb2N1cyh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRGb2N1c09u
Q29udGVudFZpZXcoKQoreworICAgIG1fcGFnZUNsaWVudC0+c2V0Rm9jdXNPbkNvbnRlbnRWaWV3
KCk7Cit9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlRm9jdXModWludDMyX3QgZGlyZWN0aW9u
KQogewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcg
QEAKICAgICBTZXRTdGF0dXNUZXh0KFdURjo6U3RyaW5nIHN0YXR1c1RleHQpCiAgICAgU2V0VG9v
bFRpcChXVEY6OlN0cmluZyB0b29sVGlwKQogICAgIFNldEZvY3VzKGJvb2wgZm9jdXNlZCkKKyAg
ICBTZXRGb2N1c09uQ29udGVudFZpZXcoKQogICAgIFRha2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rp
b24pCiAgICAgRm9jdXNlZEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlEKQogICAgIEZyYW1l
U2V0TGFyZ2VzdEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlEKQo=
</data>
<flag name="commit-queue"
          id="86472"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93341</attachid>
            <date>2011-05-12 14:18:32 -0700</date>
            <delta_ts>2011-05-12 14:41:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>20478</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJ
KHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBACiAgICAgdmlydHVhbCBm
bG9hdCBzY2FsZUZhY3RvcigpOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1
YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50Vmll
dygpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rp
b24pOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoV2ViQ29yZTo6Tm9kZSop
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9p
Y2VPdmVyIGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQor
CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hy
b21lQ2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMSAgSm9o
biBBYmQtRWwtTWFsZWsgIDxqYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcw
LDYgKzcwLDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1YWwgdm9p
ZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CiAgICAg
dmlydHVhbCB2b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNm
bGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBh
cmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNldEZvY3VzT25Db250
ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIFlvdW5nIEhhbiBMZWUgIDxqb3licm9AY29tcGFueTEw
MC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBA
QAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
dW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkg
eyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0Rp
cmVjdGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNE
aXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6
OkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMiAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0
byBmaXggdGhlIEdUSysgdW5pdCB0ZXN0IHRlc3R3ZWJ2aWV3IG9uIHRoZSAzMi1iaXQgUmVsZWFz
ZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0x
MiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBt
b3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEEgbGl0dGxlIGd0ZXN0IGNsZWFudXAgYWZ0ZXIgcjg2
Mjg3CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMs
NyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2b2lkIHVuZm9j
dXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkgeyB9CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCShy
ZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBACiAKICAgICB2aXJ0dWFs
IHZvaWQgZm9jdXMoKTsKICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5U
YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9j
dXNEaXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21lQ2xpZW50V3g6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMDkgIFJv
YmluIER1bm4gIDxyb2JpbkBhbGxkdW5uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZp
biBPbGxpdmllci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTksNiArMTk5LDEyIEBACiAgICAgW1ttX3dlYlZpZXcgX1VJRGVsZWdhdGVGb3J3YXJkZXJd
IHdlYlZpZXdVbmZvY3VzOm1fd2ViVmlld107CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
ZXRGb2N1c09uQ29udGVudFZpZXcoKQoreworICAgIC8vIE9uIFdLMSwgdGhpcyBpcyB0aGUgc2Ft
ZSBiZWhhdmlvciBhcyBmb2N1cworICAgIGZvY3VzKCk7Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlcmUncyB1bmZv
cnR1bmF0ZWx5IG5vIHdheSB0byBkZXRlcm1pbmUgaWYgd2Ugd2lsbCBiZWNvbWUgZmlyc3QgcmVz
cG9uZGVyIGFnYWluCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDksNiArNDksNyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2
b2lkIHVuZm9jdXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCk7
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVj
dGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlv
bik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA1
LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90
IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldEZvY3Vz
T25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRIYWlrdS5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiAr
NTUsNyBAQAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgdW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KCkgeyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVj
dGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJ
bmRleDogU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291cmNlL1dlYktp
dC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
NS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5v
dCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudEhhaWt1OjpzZXRGb2N1c09uQ29udGVudFZpZXcpOgorCiAyMDExLTA1LTA1ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAg
IHZpcnR1YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250
ZW50VmlldygpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpG
b2N1c0RpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1
c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisr
KyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBW
b2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2Fs
bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYx
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwog
MjAxMS0wNS0wNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OSw2ICs0OSw3IEBACiAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJbmRl
eDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0xMiAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3ZlIGZv
Y3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTEgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlv
IEdvbWVzLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wNS0xMiAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3Zl
IGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgIFdoZW4gZm9j
dXMgaXMgYXNrZWQgdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgZnJvbSBWb2ljZU92ZXIsIGlu
IFdLMiwKKyAgICAgICAgZm9jdXMgbmVlZHMgdG8gYmUgYnJvdWdodCB0byB0aGUgV0tWaWV3IG9u
IHRoZSBvdGhlciBzaWRlIG9mIHRoZSBwcm9jZXNzCisgICAgICAgIGJvdW5kYXJ5LiBUaGlzIGxv
Z2ljIHVzZWQgdG8gYmUgaW4gZm9jdXMoKSwgYnV0IGNhdXNlZCBvdGhlciBwcm9ibGVtcworICAg
ICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzE1KSwgc28g
aW5zdGVhZCB0aGVyZSBzaG91bGQKKyAgICAgICAgYmUgYSBzcGVjaWZpYyBtZXRob2QgdGhhdCBj
YW4gaGFuZGxlIHRoaXMgY2FzZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjpzZXRGb2N1c2VkKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6
CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWU6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAg
ICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDExLTA1LTEyICBMZXZpIFdlaW50cmF1
YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
NSw3ICs4NSw4IEBACiAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMoKSA9IDA7Ci0KKyAgICAgICAgdmlydHVhbCB2b2lk
IHNldEZvY3VzT25Db250ZW50VmlldygpID0gMDsKKyAgICAgICAgCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pID0gMDsKICAgICAgICAgdmlydHVhbCB2
b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikgPSAwOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmgJKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOCBAQAogCiAgICAgICAgIHZvaWQgZm9jdXMoKSBjb25z
dDsKICAgICAgICAgdm9pZCB1bmZvY3VzKCkgY29uc3Q7Ci0KKyAgICAgICAgdm9pZCBzZXRGb2N1
c09uQ29udGVudFZpZXcoKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIGJvb2wgY2FuVGFrZUZv
Y3VzKEZvY3VzRGlyZWN0aW9uKSBjb25zdDsKICAgICAgICAgdm9pZCB0YWtlRm9jdXMoRm9jdXNE
aXJlY3Rpb24pIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCShyZXZpc2lvbiA4
NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTU0LDYgKzE1NCwxMSBAQAogICAgIG1fY2xpZW50LT51bmZvY3VzKCk7CiB9CiAKK3ZvaWQg
Q2hyb21lOjpzZXRGb2N1c09uQ29udGVudFZpZXcoKSBjb25zdAoreworICAgIG1fY2xpZW50LT5z
ZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30KKyAgICAKIGJvb2wgQ2hyb21lOjpjYW5UYWtlRm9j
dXMoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogewogICAgIHJldHVybiBtX2NsaWVu
dC0+Y2FuVGFrZUZvY3VzKGRpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJl
dmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBM
aW5rLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKQEAgLTIyMDIsNiArMjIwMywxMyBAQAogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBtX3JlbmRlcmVyLT5kb2N1bWVudCgpLT5zZXRGb2N1c2VkTm9kZShtX3JlbmRl
cmVyLT5ub2RlKCkpOwogICAgIH0KKyAgICAKKyAgICAvLyBUaGUgY29udGFpbmluZyB2aWV3IG5l
ZWRzIHRvIGJlIGluZm9ybWVkIHRoYXQgYWNjZXNzaWJpbGl0eSB3YW50cyB0byAKKyAgICAvLyBt
b3ZlIGZvY3VzIGludG8gdGhpcyB2aWV3LiBUaGlzIGlzIG9ubHkgbmVlZGVkIG9uIFdLMiwgYmVj
YXVzZSBpdAorICAgIC8vIGhhcHBlbnMgYXV0b21hdGljYWxseSBpbiBXSzEuCisgICAgCisgICAg
aWYgKG9uICYmIGRvY3VtZW50RnJhbWVWaWV3KCkgJiYgIWRvY3VtZW50RnJhbWVWaWV3KCktPnBs
YXRmb3JtV2lkZ2V0KCkpCisgICAgICAgIG1fcmVuZGVyZXItPmRvY3VtZW50KCktPnBhZ2UoKS0+
Y2hyb21lKCktPnNldEZvY3VzT25Db250ZW50VmlldygpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNoYW5nZVZhbHVlQnlQZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2Up
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCShyZXZpc2lvbiA4NjI5NSkK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpA
QCAtOTgsNyArOTgsOCBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHVuZm9jdXMoKSB7IH0KLQorICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KKyAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKEZvY3Vz
RGlyZWN0aW9uKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMo
Rm9jdXNEaXJlY3Rpb24pIHsgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92
ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wNS0xMiAgQnJpYW4gV2VpbnN0ZWluICA8
YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDExIEBACiB7CiAgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEZvY3VzKGZhbHNlKSk7CiB9CisgICAgCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkpOworfQog
CiBib29sIFdlYkNocm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKQogewpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYxLDYgKzYxLDcgQEAKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09u
Q29udGVudFZpZXcoKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNv
cmU6OkZvY3VzRGlyZWN0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6
OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01OSw2ICs1OSw3IEBACiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldp
bmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKTsKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7CiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VDbG9zZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VD
bGllbnRJbXBsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTksNiArMTU5LDExIEBACiAgICAgcmV0dXJuIFtbbV93a1ZpZXcgd2luZG93XSBpc0tleVdpbmRv
d10gfHwgW05TQXBwIGtleVdpbmRvd10gPT0gW21fd2tWaWV3IHdpbmRvd107CiB9CiAKK3ZvaWQg
UGFnZUNsaWVudEltcGw6OnNldEZvY3VzT25Db250ZW50VmlldygpCit7CisgICAgW1ttX3drVmll
dyB3aW5kb3ddIG1ha2VGaXJzdFJlc3BvbmRlcjptX3drVmlld107Cit9CisgICAgCiBib29sIFBh
Z2VDbGllbnRJbXBsOjppc1ZpZXdGb2N1c2VkKCkKIHsKICAgICByZXR1cm4gW21fd2tWaWV3IF9p
c0ZvY3VzZWRdOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAko
cmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5Miw2ICs2OTIsNyBAQAogICAgIHZvaWQgaWdub3JlV29y
ZChjb25zdCBTdHJpbmcmIHdvcmQpOwogCiAgICAgdm9pZCBzZXRGb2N1cyhib29sIGZvY3VzZWQp
OworICAgIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCk7CiAgICAgdm9pZCB0YWtlRm9jdXMo
dWludDMyX3QgZGlyZWN0aW9uKTsKICAgICB2b2lkIHNldFRvb2xUaXAoY29uc3QgU3RyaW5nJik7
CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtODksNiAr
ODksOSBAQAogICAgIC8vIFJldHVybiB3aGV0aGVyIHRoZSB2aWV3IGlzIGluIGEgd2luZG93Lgog
ICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldpbmRvdygpID0gMDsKICAgICAKKyAgICAvLyBTZXQg
Zm9jdXMgb250byB0aGlzIHZpZXcuCisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50
VmlldygpID0gMDsKKyAgICAKICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWxhdW5jaFByb2Nlc3MoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHBhZ2VDbG9zZWQoKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUzNiw2ICsyNTM2LDEx
IEBACiAgICAgZWxzZQogICAgICAgICBtX3VpQ2xpZW50LnVuZm9jdXModGhpcyk7CiB9CisgICAg
Cit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkKK3sKKyAgICBtX3Bh
Z2VDbGllbnQtPnNldEZvY3VzT25Db250ZW50VmlldygpOworfQogCiB2b2lkIFdlYlBhZ2VQcm94
eTo6dGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbikKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gODYy
OTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAgICAgU2V0U3RhdHVzVGV4dChXVEY6
OlN0cmluZyBzdGF0dXNUZXh0KQogICAgIFNldFRvb2xUaXAoV1RGOjpTdHJpbmcgdG9vbFRpcCkK
ICAgICBTZXRGb2N1cyhib29sIGZvY3VzZWQpCisgICAgU2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkK
ICAgICBUYWtlRm9jdXModWludDMyX3QgZGlyZWN0aW9uKQogICAgIEZvY3VzZWRGcmFtZUNoYW5n
ZWQodWludDY0X3QgZnJhbWVJRCkKICAgICBGcmFtZVNldExhcmdlc3RGcmFtZUNoYW5nZWQodWlu
dDY0X3QgZnJhbWVJRCkK
</data>
<flag name="commit-queue"
          id="86496"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93347</attachid>
            <date>2011-05-12 14:41:42 -0700</date>
            <delta_ts>2011-05-12 19:21:57 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>21007</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJ
KHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBACiAgICAgdmlydHVhbCBm
bG9hdCBzY2FsZUZhY3RvcigpOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1
YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50Vmll
dygpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rp
b24pOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoV2ViQ29yZTo6Tm9kZSop
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9p
Y2VPdmVyIGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQor
CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hy
b21lQ2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMSAgSm9o
biBBYmQtRWwtTWFsZWsgIDxqYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcw
LDYgKzcwLDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1YWwgdm9p
ZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CiAgICAg
dmlydHVhbCB2b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNm
bGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBh
cmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNldEZvY3VzT25Db250
ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIFlvdW5nIEhhbiBMZWUgIDxqb3licm9AY29tcGFueTEw
MC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBA
QAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
dW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkg
eyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0Rp
cmVjdGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNE
aXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6
OkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMiAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0
byBmaXggdGhlIEdUSysgdW5pdCB0ZXN0IHRlc3R3ZWJ2aWV3IG9uIHRoZSAzMi1iaXQgUmVsZWFz
ZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0x
MiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBt
b3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEEgbGl0dGxlIGd0ZXN0IGNsZWFudXAgYWZ0ZXIgcjg2
Mjg3CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMs
NyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2b2lkIHVuZm9j
dXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkgeyB9CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCShy
ZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBACiAKICAgICB2aXJ0dWFs
IHZvaWQgZm9jdXMoKTsKICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5U
YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9j
dXNEaXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21lQ2xpZW50V3g6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMDkgIFJv
YmluIER1bm4gIDxyb2JpbkBhbGxkdW5uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZp
biBPbGxpdmllci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTksNiArMTk5LDEyIEBACiAgICAgW1ttX3dlYlZpZXcgX1VJRGVsZWdhdGVGb3J3YXJkZXJd
IHdlYlZpZXdVbmZvY3VzOm1fd2ViVmlld107CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
ZXRGb2N1c09uQ29udGVudFZpZXcoKQoreworICAgIC8vIE9uIFdLMSwgdGhpcyBpcyB0aGUgc2Ft
ZSBiZWhhdmlvciBhcyBmb2N1cworICAgIGZvY3VzKCk7Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlcmUncyB1bmZv
cnR1bmF0ZWx5IG5vIHdheSB0byBkZXRlcm1pbmUgaWYgd2Ugd2lsbCBiZWNvbWUgZmlyc3QgcmVz
cG9uZGVyIGFnYWluCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDksNiArNDksNyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2
b2lkIHVuZm9jdXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCk7
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVj
dGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlv
bik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA1
LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90
IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldEZvY3Vz
T25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRIYWlrdS5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiAr
NTUsNyBAQAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgdW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KCkgeyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVj
dGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJ
bmRleDogU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291cmNlL1dlYktp
dC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
NS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5v
dCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudEhhaWt1OjpzZXRGb2N1c09uQ29udGVudFZpZXcpOgorCiAyMDExLTA1LTA1ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAg
IHZpcnR1YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250
ZW50VmlldygpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpG
b2N1c0RpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1
c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisr
KyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBW
b2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2Fs
bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYx
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwog
MjAxMS0wNS0wNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OSw2ICs0OSw3IEBACiAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJbmRl
eDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0xMiAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3ZlIGZv
Y3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTEgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlv
IEdvbWVzLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wNS0xMiAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3Zl
IGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgIFdoZW4gZm9j
dXMgaXMgYXNrZWQgdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgZnJvbSBWb2ljZU92ZXIsIGlu
IFdLMiwKKyAgICAgICAgZm9jdXMgbmVlZHMgdG8gYmUgYnJvdWdodCB0byB0aGUgV0tWaWV3IG9u
IHRoZSBvdGhlciBzaWRlIG9mIHRoZSBwcm9jZXNzCisgICAgICAgIGJvdW5kYXJ5LiBUaGlzIGxv
Z2ljIHVzZWQgdG8gYmUgaW4gZm9jdXMoKSwgYnV0IGNhdXNlZCBvdGhlciBwcm9ibGVtcworICAg
ICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzE1KSwgc28g
aW5zdGVhZCB0aGVyZSBzaG91bGQKKyAgICAgICAgYmUgYSBzcGVjaWZpYyBtZXRob2QgdGhhdCBj
YW4gaGFuZGxlIHRoaXMgY2FzZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjpzZXRGb2N1c2VkKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6
CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWU6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAg
ICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDExLTA1LTEyICBMZXZpIFdlaW50cmF1
YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
NSw3ICs4NSw4IEBACiAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMoKSA9IDA7Ci0KKyAgICAgICAgdmlydHVhbCB2b2lk
IHNldEZvY3VzT25Db250ZW50VmlldygpID0gMDsKKyAgICAgICAgCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pID0gMDsKICAgICAgICAgdmlydHVhbCB2
b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikgPSAwOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmgJKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOCBAQAogCiAgICAgICAgIHZvaWQgZm9jdXMoKSBjb25z
dDsKICAgICAgICAgdm9pZCB1bmZvY3VzKCkgY29uc3Q7Ci0KKyAgICAgICAgdm9pZCBzZXRGb2N1
c09uQ29udGVudFZpZXcoKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIGJvb2wgY2FuVGFrZUZv
Y3VzKEZvY3VzRGlyZWN0aW9uKSBjb25zdDsKICAgICAgICAgdm9pZCB0YWtlRm9jdXMoRm9jdXNE
aXJlY3Rpb24pIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCShyZXZpc2lvbiA4
NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTU0LDYgKzE1NCwxMSBAQAogICAgIG1fY2xpZW50LT51bmZvY3VzKCk7CiB9CiAKK3ZvaWQg
Q2hyb21lOjpzZXRGb2N1c09uQ29udGVudFZpZXcoKSBjb25zdAoreworICAgIG1fY2xpZW50LT5z
ZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30KKyAgICAKIGJvb2wgQ2hyb21lOjpjYW5UYWtlRm9j
dXMoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogewogICAgIHJldHVybiBtX2NsaWVu
dC0+Y2FuVGFrZUZvY3VzKGRpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJl
dmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBM
aW5rLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKQEAgLTIyMDIsNiArMjIwMywxMyBAQAogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBtX3JlbmRlcmVyLT5kb2N1bWVudCgpLT5zZXRGb2N1c2VkTm9kZShtX3JlbmRl
cmVyLT5ub2RlKCkpOwogICAgIH0KKyAgICAKKyAgICAvLyBUaGUgY29udGFpbmluZyB2aWV3IG5l
ZWRzIHRvIGJlIGluZm9ybWVkIHRoYXQgYWNjZXNzaWJpbGl0eSB3YW50cyB0byAKKyAgICAvLyBt
b3ZlIGZvY3VzIGludG8gdGhpcyB2aWV3LiBUaGlzIGlzIG9ubHkgbmVlZGVkIG9uIFdLMiwgYmVj
YXVzZSBpdAorICAgIC8vIGhhcHBlbnMgYXV0b21hdGljYWxseSBpbiBXSzEuCisgICAgCisgICAg
aWYgKG9uICYmIGRvY3VtZW50RnJhbWVWaWV3KCkgJiYgIWRvY3VtZW50RnJhbWVWaWV3KCktPnBs
YXRmb3JtV2lkZ2V0KCkpCisgICAgICAgIG1fcmVuZGVyZXItPmRvY3VtZW50KCktPnBhZ2UoKS0+
Y2hyb21lKCktPnNldEZvY3VzT25Db250ZW50VmlldygpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNoYW5nZVZhbHVlQnlQZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2Up
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCShyZXZpc2lvbiA4NjI5NSkK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpA
QCAtOTgsNyArOTgsOCBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHVuZm9jdXMoKSB7IH0KLQorICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KKyAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKEZvY3Vz
RGlyZWN0aW9uKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMo
Rm9jdXNEaXJlY3Rpb24pIHsgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92
ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wNS0xMiAgQnJpYW4gV2VpbnN0ZWluICA8
YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDExIEBACiB7CiAgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEZvY3VzKGZhbHNlKSk7CiB9CisgICAgCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkpOworfQog
CiBib29sIFdlYkNocm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKQogewpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYxLDYgKzYxLDcgQEAKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09u
Q29udGVudFZpZXcoKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNv
cmU6OkZvY3VzRGlyZWN0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6
OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01OSw2ICs1OSw3IEBACiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldp
bmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKTsKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7CiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VDbG9zZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VD
bGllbnRJbXBsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTksNiArMTU5LDExIEBACiAgICAgcmV0dXJuIFtbbV93a1ZpZXcgd2luZG93XSBpc0tleVdpbmRv
d10gfHwgW05TQXBwIGtleVdpbmRvd10gPT0gW21fd2tWaWV3IHdpbmRvd107CiB9CiAKK3ZvaWQg
UGFnZUNsaWVudEltcGw6OnNldEZvY3VzT25Db250ZW50VmlldygpCit7CisgICAgW1ttX3drVmll
dyB3aW5kb3ddIG1ha2VGaXJzdFJlc3BvbmRlcjptX3drVmlld107Cit9CisgICAgCiBib29sIFBh
Z2VDbGllbnRJbXBsOjppc1ZpZXdGb2N1c2VkKCkKIHsKICAgICByZXR1cm4gW21fd2tWaWV3IF9p
c0ZvY3VzZWRdOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdl
X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3Bh
Z2VfcC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdrcGFnZV9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICAgICB2aXJ0
dWFsIGJvb2wgaXNWaWV3Rm9jdXNlZCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxl
KCk7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93KCk7CisgICAgdmlydHVhbCB2b2lk
IHNldEZvY3VzT25Db250ZW50VmlldygpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC02OTIsNiArNjkyLDcgQEAKICAg
ICB2b2lkIGlnbm9yZVdvcmQoY29uc3QgU3RyaW5nJiB3b3JkKTsKIAogICAgIHZvaWQgc2V0Rm9j
dXMoYm9vbCBmb2N1c2VkKTsKKyAgICB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpOwogICAg
IHZvaWQgdGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbik7CiAgICAgdm9pZCBzZXRUb29sVGlw
KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNv
ciYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiA4
NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg5LDYgKzg5LDkgQEAKICAgICAvLyBSZXR1cm4gd2hldGhlciB0aGUgdmlldyBp
cyBpbiBhIHdpbmRvdy4KICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3SW5XaW5kb3coKSA9IDA7CiAg
ICAgCisgICAgLy8gU2V0IGZvY3VzIG9udG8gdGhpcyB2aWV3LgorICAgIHZpcnR1YWwgdm9pZCBz
ZXRGb2N1c09uQ29udGVudFZpZXcoKSA9IDA7CisgICAgCiAgICAgdmlydHVhbCB2b2lkIHByb2Nl
c3NEaWRDcmFzaCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlQ2xvc2VkKCkgPSAwOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDg2Mjk0KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1MzYsNiArMjUzNiwxMSBAQAogICAgIGVsc2UKICAgICAgICAgbV91aUNsaWVudC51bmZvY3Vz
KHRoaXMpOwogfQorICAgIAordm9pZCBXZWJQYWdlUHJveHk6OnNldEZvY3VzT25Db250ZW50Vmll
dygpCit7CisgICAgbV9wYWdlQ2xpZW50LT5zZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30KIAog
dm9pZCBXZWJQYWdlUHJveHk6OnRha2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rpb24pCiB7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4JKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogICAgIFNl
dFN0YXR1c1RleHQoV1RGOjpTdHJpbmcgc3RhdHVzVGV4dCkKICAgICBTZXRUb29sVGlwKFdURjo6
U3RyaW5nIHRvb2xUaXApCiAgICAgU2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQorICAgIFNldEZvY3Vz
T25Db250ZW50VmlldygpCiAgICAgVGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbikKICAgICBG
b2N1c2VkRnJhbWVDaGFuZ2VkKHVpbnQ2NF90IGZyYW1lSUQpCiAgICAgRnJhbWVTZXRMYXJnZXN0
RnJhbWVDaGFuZ2VkKHVpbnQ2NF90IGZyYW1lSUQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93390</attachid>
            <date>2011-05-12 19:21:57 -0700</date>
            <delta_ts>2011-05-17 18:36:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>21520</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJ
KHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBACiAgICAgdmlydHVhbCBm
bG9hdCBzY2FsZUZhY3RvcigpOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1
YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50Vmll
dygpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rp
b24pOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoV2ViQ29yZTo6Tm9kZSop
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9p
Y2VPdmVyIGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQor
CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hy
b21lQ2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMSAgSm9o
biBBYmQtRWwtTWFsZWsgIDxqYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcw
LDYgKzcwLDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgIHZpcnR1YWwgdm9p
ZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CiAgICAg
dmlydHVhbCB2b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNm
bGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBh
cmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNldEZvY3VzT25Db250
ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIFlvdW5nIEhhbiBMZWUgIDxqb3licm9AY29tcGFueTEw
MC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBA
QAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
dW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkg
eyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0Rp
cmVjdGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNE
aXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6
OkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwogMjAxMS0wNS0xMiAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0
byBmaXggdGhlIEdUSysgdW5pdCB0ZXN0IHRlc3R3ZWJ2aWV3IG9uIHRoZSAzMi1iaXQgUmVsZWFz
ZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0x
MiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBt
b3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEEgbGl0dGxlIGd0ZXN0IGNsZWFudXAgYWZ0ZXIgcjg2
Mjg3CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMs
NyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2b2lkIHVuZm9j
dXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkgeyB9CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCShy
ZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBACiAKICAgICB2aXJ0dWFs
IHZvaWQgZm9jdXMoKTsKICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5U
YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9j
dXNEaXJlY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291
cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0wNS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVy
IGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21lQ2xpZW50V3g6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMDkgIFJv
YmluIER1bm4gIDxyb2JpbkBhbGxkdW5uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZp
biBPbGxpdmllci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTksNiArMTk5LDEyIEBACiAgICAgW1ttX3dlYlZpZXcgX1VJRGVsZWdhdGVGb3J3YXJkZXJd
IHdlYlZpZXdVbmZvY3VzOm1fd2ViVmlld107CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
ZXRGb2N1c09uQ29udGVudFZpZXcoKQoreworICAgIC8vIE9uIFdLMSwgdGhpcyBpcyB0aGUgc2Ft
ZSBiZWhhdmlvciBhcyBmb2N1cworICAgIGZvY3VzKCk7Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlcmUncyB1bmZv
cnR1bmF0ZWx5IG5vIHdheSB0byBkZXRlcm1pbmUgaWYgd2Ugd2lsbCBiZWNvbWUgZmlyc3QgcmVz
cG9uZGVyIGFnYWluCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDksNiArNDksNyBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCk7CiAgICAgdmlydHVhbCB2
b2lkIHVuZm9jdXMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCk7
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVj
dGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlv
bik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA1
LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92ZXIgY2Fubm90
IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldEZvY3Vz
T25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRIYWlrdS5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiAr
NTUsNyBAQAogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgdW5mb2N1cygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KCkgeyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVj
dGlvbik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJ
bmRleDogU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzgwKQorKysgU291cmNlL1dlYktp
dC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
NS0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5v
dCBtb3ZlIGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudEhhaWt1OjpzZXRGb2N1c09uQ29udGVudFZpZXcpOgorCiAyMDExLTA1LTA1ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAKIAogICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpOwogICAg
IHZpcnR1YWwgdm9pZCB1bmZvY3VzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzT25Db250
ZW50VmlldygpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhXZWJDb3JlOjpG
b2N1c0RpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1
c0RpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisr
KyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBW
b2ljZU92ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2Fs
bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYx
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKwog
MjAxMS0wNS0wNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCShyZXZpc2lvbiA4NjI5NSkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OSw2ICs0OSw3IEBACiAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJl
Y3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pOwpJbmRl
eDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNS0xMiAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3ZlIGZv
Y3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisKIDIwMTEtMDUtMTEgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlv
IEdvbWVzLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODYzODApCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wNS0xMiAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3Zl
IGZvY3VzIGludG8gYSB3ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgIFdoZW4gZm9j
dXMgaXMgYXNrZWQgdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgZnJvbSBWb2ljZU92ZXIsIGlu
IFdLMiwKKyAgICAgICAgZm9jdXMgbmVlZHMgdG8gYmUgYnJvdWdodCB0byB0aGUgV0tWaWV3IG9u
IHRoZSBvdGhlciBzaWRlIG9mIHRoZSBwcm9jZXNzCisgICAgICAgIGJvdW5kYXJ5LiBUaGlzIGxv
Z2ljIHVzZWQgdG8gYmUgaW4gZm9jdXMoKSwgYnV0IGNhdXNlZCBvdGhlciBwcm9ibGVtcworICAg
ICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzE1KSwgc28g
aW5zdGVhZCB0aGVyZSBzaG91bGQKKyAgICAgICAgYmUgYSBzcGVjaWZpYyBtZXRob2QgdGhhdCBj
YW4gaGFuZGxlIHRoaXMgY2FzZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjpzZXRGb2N1c2VkKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6
CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRW
aWV3KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWU6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAg
ICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDExLTA1LTEyICBMZXZpIFdlaW50cmF1
YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
NSw3ICs4NSw4IEBACiAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1cygpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHVuZm9jdXMoKSA9IDA7Ci0KKyAgICAgICAgdmlydHVhbCB2b2lk
IHNldEZvY3VzT25Db250ZW50VmlldygpID0gMDsKKyAgICAgICAgCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pID0gMDsKICAgICAgICAgdmlydHVhbCB2
b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikgPSAwOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmgJKHJldmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOCBAQAogCiAgICAgICAgIHZvaWQgZm9jdXMoKSBjb25z
dDsKICAgICAgICAgdm9pZCB1bmZvY3VzKCkgY29uc3Q7Ci0KKyAgICAgICAgdm9pZCBzZXRGb2N1
c09uQ29udGVudFZpZXcoKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIGJvb2wgY2FuVGFrZUZv
Y3VzKEZvY3VzRGlyZWN0aW9uKSBjb25zdDsKICAgICAgICAgdm9pZCB0YWtlRm9jdXMoRm9jdXNE
aXJlY3Rpb24pIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCShyZXZpc2lvbiA4
NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTU0LDYgKzE1NCwxMSBAQAogICAgIG1fY2xpZW50LT51bmZvY3VzKCk7CiB9CiAKK3ZvaWQg
Q2hyb21lOjpzZXRGb2N1c09uQ29udGVudFZpZXcoKSBjb25zdAoreworICAgIG1fY2xpZW50LT5z
ZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30KKyAgICAKIGJvb2wgQ2hyb21lOjpjYW5UYWtlRm9j
dXMoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogewogICAgIHJldHVybiBtX2NsaWVu
dC0+Y2FuVGFrZUZvY3VzKGRpcmVjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJl
dmlzaW9uIDg2Mjk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBM
aW5rLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKQEAgLTIyMDIsNiArMjIwMywxMyBAQAogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBtX3JlbmRlcmVyLT5kb2N1bWVudCgpLT5zZXRGb2N1c2VkTm9kZShtX3JlbmRl
cmVyLT5ub2RlKCkpOwogICAgIH0KKyAgICAKKyAgICAvLyBUaGUgY29udGFpbmluZyB2aWV3IG5l
ZWRzIHRvIGJlIGluZm9ybWVkIHRoYXQgYWNjZXNzaWJpbGl0eSB3YW50cyB0byAKKyAgICAvLyBt
b3ZlIGZvY3VzIGludG8gdGhpcyB2aWV3LiBUaGlzIGlzIG9ubHkgbmVlZGVkIG9uIFdLMiwgYmVj
YXVzZSBpdAorICAgIC8vIGhhcHBlbnMgYXV0b21hdGljYWxseSBpbiBXSzEuCisgICAgCisgICAg
aWYgKG9uICYmIGRvY3VtZW50RnJhbWVWaWV3KCkgJiYgIWRvY3VtZW50RnJhbWVWaWV3KCktPnBs
YXRmb3JtV2lkZ2V0KCkpCisgICAgICAgIG1fcmVuZGVyZXItPmRvY3VtZW50KCktPnBhZ2UoKS0+
Y2hyb21lKCktPnNldEZvY3VzT25Db250ZW50VmlldygpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNoYW5nZVZhbHVlQnlQZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2Up
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCShyZXZpc2lvbiA4NjI5NSkK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpA
QCAtOTgsNyArOTgsOCBAQAogCiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHVuZm9jdXMoKSB7IH0KLQorICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29u
dGVudFZpZXcoKSB7IH0KKyAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKEZvY3Vz
RGlyZWN0aW9uKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMo
Rm9jdXNEaXJlY3Rpb24pIHsgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjM4MCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDExLTA1LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0syOiBWb2ljZU92
ZXIgY2Fubm90IG1vdmUgZm9jdXMgaW50byBhIHdlYiBhcmVhIHByb2dyYW1tYXRpY2FsbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjYxCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNldEZvY3VzT25Db250ZW50Vmlldyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wNS0xMiAgQnJpYW4gV2VpbnN0ZWluICA8
YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDExIEBACiB7CiAgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEZvY3VzKGZhbHNlKSk7CiB9CisgICAgCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6c2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0Rm9jdXNPbkNvbnRlbnRWaWV3KCkpOworfQog
CiBib29sIFdlYkNocm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKQogewpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYxLDYgKzYxLDcgQEAKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdW5mb2N1cygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09u
Q29udGVudFZpZXcoKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGFrZUZvY3VzKFdlYkNv
cmU6OkZvY3VzRGlyZWN0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYkNvcmU6
OkZvY3VzRGlyZWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01OSw2ICs1OSw3IEBACiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldp
bmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1c09uQ29udGVudFZpZXcoKTsKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7CiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VDbG9zZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VD
bGllbnRJbXBsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTksNiArMTU5LDExIEBACiAgICAgcmV0dXJuIFtbbV93a1ZpZXcgd2luZG93XSBpc0tleVdpbmRv
d10gfHwgW05TQXBwIGtleVdpbmRvd10gPT0gW21fd2tWaWV3IHdpbmRvd107CiB9CiAKK3ZvaWQg
UGFnZUNsaWVudEltcGw6OnNldEZvY3VzT25Db250ZW50VmlldygpCit7CisgICAgW1ttX3drVmll
dyB3aW5kb3ddIG1ha2VGaXJzdFJlc3BvbmRlcjptX3drVmlld107Cit9CisgICAgCiBib29sIFBh
Z2VDbGllbnRJbXBsOjppc1ZpZXdGb2N1c2VkKCkKIHsKICAgICByZXR1cm4gW21fd2tWaWV3IF9p
c0ZvY3VzZWRdOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdl
X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3Bh
Z2VfcC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdrcGFnZV9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICAgICB2aXJ0
dWFsIGJvb2wgaXNWaWV3Rm9jdXNlZCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxl
KCk7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93KCk7CisgICAgdmlydHVhbCB2b2lk
IHNldEZvY3VzT25Db250ZW50VmlldygpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzcsNiArMTc3LDcgQEAKICAgICB2
aXJ0dWFsIGJvb2wgaXNWaWV3Rm9jdXNlZCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdWaXNp
YmxlKCk7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93KCk7CisgICAgdmlydHVhbCB2
b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNz
RGlkQ3Jhc2goKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCk7CiAgICAg
dmlydHVhbCB2b2lkIHBhZ2VDbG9zZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC02OTIsNiArNjkyLDcgQEAKICAg
ICB2b2lkIGlnbm9yZVdvcmQoY29uc3QgU3RyaW5nJiB3b3JkKTsKIAogICAgIHZvaWQgc2V0Rm9j
dXMoYm9vbCBmb2N1c2VkKTsKKyAgICB2b2lkIHNldEZvY3VzT25Db250ZW50VmlldygpOwogICAg
IHZvaWQgdGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbik7CiAgICAgdm9pZCBzZXRUb29sVGlw
KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNv
ciYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiA4
NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg5LDYgKzg5LDkgQEAKICAgICAvLyBSZXR1cm4gd2hldGhlciB0aGUgdmlldyBp
cyBpbiBhIHdpbmRvdy4KICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3SW5XaW5kb3coKSA9IDA7CiAg
ICAgCisgICAgLy8gU2V0IGZvY3VzIG9udG8gdGhpcyB2aWV3LgorICAgIHZpcnR1YWwgdm9pZCBz
ZXRGb2N1c09uQ29udGVudFZpZXcoKSA9IDA7CisgICAgCiAgICAgdmlydHVhbCB2b2lkIHByb2Nl
c3NEaWRDcmFzaCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlQ2xvc2VkKCkgPSAwOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDg2Mjk0KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1MzYsNiArMjUzNiwxMSBAQAogICAgIGVsc2UKICAgICAgICAgbV91aUNsaWVudC51bmZvY3Vz
KHRoaXMpOwogfQorICAgIAordm9pZCBXZWJQYWdlUHJveHk6OnNldEZvY3VzT25Db250ZW50Vmll
dygpCit7CisgICAgbV9wYWdlQ2xpZW50LT5zZXRGb2N1c09uQ29udGVudFZpZXcoKTsKK30KIAog
dm9pZCBXZWJQYWdlUHJveHk6OnRha2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rpb24pCiB7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4JKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogICAgIFNl
dFN0YXR1c1RleHQoV1RGOjpTdHJpbmcgc3RhdHVzVGV4dCkKICAgICBTZXRUb29sVGlwKFdURjo6
U3RyaW5nIHRvb2xUaXApCiAgICAgU2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQorICAgIFNldEZvY3Vz
T25Db250ZW50VmlldygpCiAgICAgVGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbikKICAgICBG
b2N1c2VkRnJhbWVDaGFuZ2VkKHVpbnQ2NF90IGZyYW1lSUQpCiAgICAgRnJhbWVTZXRMYXJnZXN0
RnJhbWVDaGFuZ2VkKHVpbnQ2NF90IGZyYW1lSUQpCg==
</data>
<flag name="review"
          id="86544"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93857</attachid>
            <date>2011-05-17 18:36:53 -0700</date>
            <delta_ts>2011-05-18 00:08:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8474</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzI1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDUtMTcgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXSzI6IFZvaWNlT3ZlciBjYW5ub3QgbW92ZSBmb2N1cyBp
bnRvIGEgd2ViIGFyZWEgcHJvZ3JhbW1hdGljYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjEKKworICAgICAgICBObyBuZXcgdGVzdHMuIChP
T1BTISkKKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWVDbGllbnQ6Om1ha2VGaXJzdFJlc3BvbmRlcik6CisgICAgICAgICogcGFnZS9tYWMv
Q2hyb21lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpmb2N1c05TVmlldyk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Oldp
ZGdldDo6c2V0Rm9jdXMpOgorCiAyMDExLTA1LTE3ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODUsNyArMjg1LDggQEAKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgICAgIHZpcnR1YWwgTlNSZXNwb25kZXIgKmZpcnN0UmVzcG9u
ZGVyKCkgeyByZXR1cm4gMDsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgbWFrZUZpcnN0UmVzcG9u
ZGVyKE5TUmVzcG9uZGVyICopIHsgfQotCisgICAgICAgIC8vIEZvY3VzZXMgb24gdGhlIGNvbnRh
aW5pbmcgdmlldyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwYWdlLgorICAgICAgICB2aXJ0dWFsIHZv
aWQgbWFrZUZpcnN0UmVzcG9uZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUG9w
VXBNZW51KE5TTWVudSAqKSB7IH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9DaHJvbWVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
Q2hyb21lTWFjLm1tCShyZXZpc2lvbiA4NjI5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L0Nocm9tZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMTIgQEAKIHsKICAgICBC
RUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKKyAgICAvLyBIYW5kbGUgdGhlIFdLMiBjYXNl
IHdoZXJlIHRoZXJlIGlzIG5vIHZpZXcgcGFzc2VkIGluLgorICAgIGlmICghdmlldykgeworICAg
ICAgICBjbGllbnQoKS0+bWFrZUZpcnN0UmVzcG9uZGVyKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgCiAgICAgTlNSZXNwb25kZXIgKmZpcnN0UmVzcG9uZGVyID0gY2xpZW50KCktPmZp
cnN0UmVzcG9uZGVyKCk7CiAgICAgaWYgKGZpcnN0UmVzcG9uZGVyID09IHZpZXcpCiAgICAgICAg
IHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XaWRnZXRNYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbQko
cmV2aXNpb24gODYyOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2lkZ2V0TWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsOSArMTAzLDYgQEAKIC8vIEZJWE1FOiBTaG91bGQg
bW92ZSB0aGlzIHRvIENocm9tZTsgYmFkIGxheWVyaW5nIHRoYXQgdGhpcyBrbm93cyBhYm91dCBG
cmFtZS4KIHZvaWQgV2lkZ2V0OjpzZXRGb2N1cyhib29sIGZvY3VzZWQpCiB7Ci0gICAgaWYgKCFw
bGF0Zm9ybVdpZGdldCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBpZiAoIWZvY3VzZWQpCiAg
ICAgICAgIHJldHVybjsKIApAQCAtMTE1LDYgKzExMiw3IEBACiAKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7CiAgCisgICAgLy8gQ2FsbCB0aGlzIGV2ZW4gd2hlbiB0aGVyZSBpcyBu
byBwbGF0Zm9ybVdpZGdldCgpLiBXSzIgd2lsbCBmb2N1cyBvbiB0aGUgd2lkZ2V0IGluIHRoZSBV
SVByb2Nlc3MuCiAgICAgTlNWaWV3ICp2aWV3ID0gW3BsYXRmb3JtV2lkZ2V0KCkgX3dlYmNvcmVf
ZWZmZWN0aXZlRmlyc3RSZXNwb25kZXJdOwogICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUtPnBh
Z2UoKSkKICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmZvY3VzTlNWaWV3KHZpZXcpOwpJbmRleDog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkocmV2aXNpb24gODY3MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wNS0xNyAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdLMjogVm9pY2VPdmVyIGNhbm5vdCBtb3ZlIGZvY3VzIGludG8gYSB3
ZWIgYXJlYSBwcm9ncmFtbWF0aWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MDY2MQorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFn
ZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1w
bC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6Om1ha2VGaXJzdFJlc3BvbmRl
cik6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjptYWtlRmlyc3RSZXNwb25kZXIpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptYWtlRmlyc3RSZXNwb25kZXIpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTEt
MDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJl
cnN0YW1wZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJl
dmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNiArMTI5LDExIEBA
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEZvY3VzKGZhbHNl
KSk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjptYWtlRmlyc3RSZXNwb25kZXIoKQorewor
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNYWtlRmlyc3RSZXNwb25k
ZXIoKSk7Cit9ICAgIAorICAgIAogYm9vbCBXZWJDaHJvbWVDbGllbnQ6OmNhblRha2VGb2N1cyhG
b2N1c0RpcmVjdGlvbikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNCw2
ICsyMTQsMTAgQEAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdEZ1bGxTY3JlZW5MYXllcihXZWJD
b3JlOjpHcmFwaGljc0xheWVyKik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2
aXJ0dWFsIHZvaWQgbWFrZUZpcnN0UmVzcG9uZGVyKCk7CisjZW5kaWYKKyAgICAKICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydERhdGFEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMmKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVJ1
YmJlckJhbmRGb3JNYWluRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1w
bC5oCShyZXZpc2lvbiA4NjI5NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BhZ2VDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDcgKzkzLDkgQEAKIAogICAg
IHZpcnR1YWwgdm9pZCBhY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rva2VuUmVjZWl2ZWQoY29uc3Qg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSYpOyAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29tcGxl
eFRleHRJbnB1dEVuYWJsZWQodWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZp
ZXIsIGJvb2wgY29tcGxleFRleHRJbnB1dEVuYWJsZWQpOwotCisgICAgCisgICAgdmlydHVhbCB2
b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpOworICAgIAogICAgIHZpcnR1YWwgQ0dDb250ZXh0UmVm
IGNvbnRhaW5pbmdXaW5kb3dHcmFwaGljc0NvbnRleHQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
aWRDaGFuZ2VTY3JvbGxiYXJzRm9yTWFpbkZyYW1lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQkocmV2aXNp
b24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50
SW1wbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTY0LDYgKzE2NCwxMSBAQAogICAgIHJldHVybiBb
bV93a1ZpZXcgX2lzRm9jdXNlZF07CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om1ha2VGaXJz
dFJlc3BvbmRlcigpCit7CisgICAgIFtbbV93a1ZpZXcgd2luZG93XSBtYWtlRmlyc3RSZXNwb25k
ZXI6bV93a1ZpZXddOworfQorICAgIAogYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3VmlzaWJs
ZSgpCiB7CiAgICAgaWYgKCFbbV93a1ZpZXcgd2luZG93XSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzIsNiArMzcy
LDggQEAKICAgICB2b2lkIHJlZ2lzdGVyVUlQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2Vucyhjb25z
dCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiBlbGVtZW5Ub2tlbiwgY29uc3QgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSYgd2luZG93VG9rZW4pOwogICAgIGJvb2wgd3JpdGVTZWxlY3Rpb25Ub1Bhc3Rl
Ym9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgVmVjdG9yPFN0cmluZz4m
IHBhc3RlYm9hcmRUeXBlcyk7CiAgICAgYm9vbCByZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQo
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisgICAgCisgICAgdm9pZCBtYWtlRmlyc3RS
ZXNwb25kZXIoKTsKICNlbmRpZgogCiAgICAgdm9pZCB2aWV3U2NhbGVGYWN0b3JEaWRDaGFuZ2Uo
ZG91YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNp
b24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDcgQEAKICAgICB2aXJ0dWFsIHZvaWQgc2V0RHJhZ0lt
YWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgUGFzc1JlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwgYm9vbCBpc0xpbmtEcmFnKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZVRleHRJbnB1dFN0YXRlKGJvb2wgdXBkYXRlU2VjdXJlSW5wdXRTdGF0
ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXNldFRleHRJbnB1dFN0YXRlKCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoKSA9IDA7CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShXSU4pCiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlZChi
b29sKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94
eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBh
Z2VQcm94eU1hYy5tbQkocmV2aXNpb24gODYyOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzI2LDYgKzMyNiwx
MSBAQAogICAgIG1fcGFnZUNsaWVudC0+YWNjZXNzaWJpbGl0eVdlYlByb2Nlc3NUb2tlblJlY2Vp
dmVkKGRhdGEpOwogfSAgICAKICAgICAKK3ZvaWQgV2ViUGFnZVByb3h5OjptYWtlRmlyc3RSZXNw
b25kZXIoKQoreworICAgIG1fcGFnZUNsaWVudC0+bWFrZUZpcnN0UmVzcG9uZGVyKCk7Cit9Cisg
ICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9r
ZW5zKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIGVsZW1lbnRUb2tlbiwgY29uc3QgQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSYgd2luZG93VG9rZW4pCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDg2Mjk0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjI2LDYgKzIyNiw4IEBA
CiAgICAgU3BlYWsoV1RGOjpTdHJpbmcgc3RyaW5nKQogICAgIFN0b3BTcGVha2luZygpCiAKKyAg
ICBNYWtlRmlyc3RSZXNwb25kZXIoKQorCiAgICAgIyBTcG90bGlnaHQKICAgICBTZWFyY2hXaXRo
U3BvdGxpZ2h0KFdURjo6U3RyaW5nIHN0cmluZykKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="87087"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93875</attachid>
            <date>2011-05-18 00:08:49 -0700</date>
            <delta_ts>2011-05-18 16:08:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8743</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzM4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMTcgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXSzI6IFZvaWNlT3ZlciBjYW5ub3QgbW92ZSBmb2N1cyBp
bnRvIGEgd2ViIGFyZWEgcHJvZ3JhbW1hdGljYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjEKKworICAgICAgICBBY2Nlc3NpYmlsaXR5IGNv
ZGUgcmVsaWVzIG9uIHRoZSBhYmlsaXR5IHRvIGJyaW5nIGZvY3VzIHRvIHRoZSBjb250YWluaW5n
IHdpZGdldCB2aWV3LgorICAgICAgICBJbiBXSzIsIHRoYXQgbWVzc2FnZSBuZWVkcyB0byBiZSBw
cm9wYWdhdGVkIHRvIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogcGFnZS9DaHJvbWVDbGll
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6bWFrZUZpcnN0UmVzcG9uZGVy
KToKKyAgICAgICAgKiBwYWdlL21hYy9DaHJvbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWU6OmZvY3VzTlNWaWV3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGb2N1cyk6CisKIDIwMTEtMDUtMTcgIEpl
cmVteSBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9u
IDg2NzI1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjg2LDcgKzI4Niw4IEBACiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICB2aXJ0
dWFsIE5TUmVzcG9uZGVyICpmaXJzdFJlc3BvbmRlcigpIHsgcmV0dXJuIDA7IH0KICAgICAgICAg
dmlydHVhbCB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcihOU1Jlc3BvbmRlciAqKSB7IH0KLQorICAg
ICAgICAvLyBGb2N1c2VzIG9uIHRoZSBjb250YWluaW5nIHZpZXcgYXNzb2NpYXRlZCB3aXRoIHRo
aXMgcGFnZS4KKyAgICAgICAgdmlydHVhbCB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvQ2hyb21lTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0Nocm9tZU1hYy5tbQkocmV2aXNpb24gODQ2MDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9DaHJvbWVNYWMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTMwLDYgKzMwLDEyIEBACiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwog
CisgICAgLy8gSGFuZGxlIHRoZSBXSzIgY2FzZSB3aGVyZSB0aGVyZSBpcyBubyB2aWV3IHBhc3Nl
ZCBpbi4KKyAgICBpZiAoIXZpZXcpIHsKKyAgICAgICAgY2xpZW50KCktPm1ha2VGaXJzdFJlc3Bv
bmRlcigpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAogICAgIE5TUmVzcG9uZGVyICpm
aXJzdFJlc3BvbmRlciA9IGNsaWVudCgpLT5maXJzdFJlc3BvbmRlcigpOwogICAgIGlmIChmaXJz
dFJlc3BvbmRlciA9PSB2aWV3KQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XaWRnZXRNYWMubW0JKHJldmlzaW9uIDg2NzI1KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzLDkg
KzEwMyw2IEBACiAvLyBGSVhNRTogU2hvdWxkIG1vdmUgdGhpcyB0byBDaHJvbWU7IGJhZCBsYXll
cmluZyB0aGF0IHRoaXMga25vd3MgYWJvdXQgRnJhbWUuCiB2b2lkIFdpZGdldDo6c2V0Rm9jdXMo
Ym9vbCBmb2N1c2VkKQogewotICAgIGlmICghcGxhdGZvcm1XaWRnZXQoKSkKLSAgICAgICAgcmV0
dXJuOwotCiAgICAgaWYgKCFmb2N1c2VkKQogICAgICAgICByZXR1cm47CiAKQEAgLTExNSw2ICsx
MTIsNyBAQAogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogIAorICAgIC8vIENh
bGwgdGhpcyBldmVuIHdoZW4gdGhlcmUgaXMgbm8gcGxhdGZvcm1XaWRnZXQoKS4gV0syIHdpbGwg
Zm9jdXMgb24gdGhlIHdpZGdldCBpbiB0aGUgVUlQcm9jZXNzLgogICAgIE5TVmlldyAqdmlldyA9
IFtwbGF0Zm9ybVdpZGdldCgpIF93ZWJjb3JlX2VmZmVjdGl2ZUZpcnN0UmVzcG9uZGVyXTsKICAg
ICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHBhZ2UtPmNocm9tZSgp
LT5mb2N1c05TVmlldyh2aWV3KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzM4KQorKysg
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTEtMDUtMTcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSzI6IFZvaWNlT3Zl
ciBjYW5ub3QgbW92ZSBmb2N1cyBpbnRvIGEgd2ViIGFyZWEgcHJvZ3JhbW1hdGljYWxseQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjEKKworICAg
ICAgICBBZGQgYSBtYWtlRmlyc3RSZXNwb25kZXIgbWV0aG9kIHRoYXQgd2lsbCBicmluZyBmb2N1
cyB0byB0aGUgd2lkZ2V0IHZpZXcgd2l0aGluIHRoZSBVSQorICAgICAgICBwcm9jZXNzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFn
ZUNsaWVudEltcGw6Om1ha2VGaXJzdFJlc3BvbmRlcik6CisgICAgICAgICogVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjptYWtlRmlyc3RSZXNwb25kZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50
OjptYWtlRmlyc3RSZXNwb25kZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTEtMDUtMTcgIEplcmVteSBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiA4NDYwMCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSwxMyBAQAogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpTZXRGb2N1cyhmYWxzZSkpOwogfQogCisjaWYgUExBVEZPUk0oTUFDKQor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6Om1ha2VGaXJzdFJlc3BvbmRlcigpCit7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1ha2VGaXJzdFJlc3BvbmRlcigpKTsKK30g
ICAgCisjZW5kaWYgICAgCisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpjYW5UYWtlRm9jdXMoRm9j
dXNEaXJlY3Rpb24pCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAkocmV2aXNpb24gODQ2MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNiAr
MjEyLDEwIEBACiAgICAgdmlydHVhbCB2b2lkIHNldFJvb3RGdWxsU2NyZWVuTGF5ZXIoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllciopOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdmly
dHVhbCB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpOworI2VuZGlmCisgICAgCiAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OlZpZXdw
b3J0QXJndW1lbnRzJikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVSdWJi
ZXJCYW5kRm9yTWFpbkZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwu
aAkocmV2aXNpb24gODQ2MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9Q
YWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw4IEBACiAgICAgdmly
dHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlXZWJQcm9jZXNzVG9rZW5SZWNlaXZlZChjb25zdCBDb3Jl
SVBDOjpEYXRhUmVmZXJlbmNlJik7ICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21wbGV4VGV4
dElucHV0RW5hYmxlZCh1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwg
Ym9vbCBjb21wbGV4VGV4dElucHV0RW5hYmxlZCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZUZp
cnN0UmVzcG9uZGVyKCk7CisgICAgCiAgICAgdmlydHVhbCBDR0NvbnRleHRSZWYgY29udGFpbmlu
Z1dpbmRvd0dyYXBoaWNzQ29udGV4dCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVNj
cm9sbGJhcnNGb3JNYWluRnJhbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCShyZXZpc2lvbiA4NDYwMCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjIsNiArMTYyLDExIEBACiAgICAgcmV0dXJuIFttX3drVmlldyBf
aXNGb2N1c2VkXTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6bWFrZUZpcnN0UmVzcG9uZGVy
KCkKK3sKKyAgICAgW1ttX3drVmlldyB3aW5kb3ddIG1ha2VGaXJzdFJlc3BvbmRlcjptX3drVmll
d107Cit9CisgICAgCiBib29sIFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdWaXNpYmxlKCkKIHsKICAg
ICBpZiAoIVttX3drVmlldyB3aW5kb3ddKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkocmV2aXNpb24gODQ2MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1MSw2ICszNTEsNyBAQAogICAg
IHZvaWQgcmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKGNvbnN0IENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UmIGVsZW1lblRva2VuLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
JiB3aW5kb3dUb2tlbik7CiAgICAgYm9vbCB3cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZChjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2Fy
ZFR5cGVzKTsKICAgICBib29sIHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKTsKKyAgICB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIHZpZXdTY2FsZUZhY3RvckRpZENoYW5nZShkb3VibGUpOwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiA4NDYwMCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NSw2ICsxMDUsNyBAQAogICAgIHZpcnR1YWwgdm9pZCBzZXREcmFnSW1hZ2UoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4g
ZHJhZ0ltYWdlLCBib29sIGlzTGlua0RyYWcpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
VGV4dElucHV0U3RhdGUoYm9vbCB1cGRhdGVTZWN1cmVJbnB1dFN0YXRlKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHJlc2V0VGV4dElucHV0U3RhdGUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIG1h
a2VGaXJzdFJlc3BvbmRlcigpID0gMDsKICNlbmRpZgogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2
aXJ0dWFsIHZvaWQgY29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2VkKGJvb2wpID0gMDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCShy
ZXZpc2lvbiA4NDYwMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVBy
b3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yODIsNiArMjgyLDExIEBACiAgICAgbV9wYWdl
Q2xpZW50LT5hY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rva2VuUmVjZWl2ZWQoZGF0YSk7CiB9ICAg
IAogICAgIAordm9pZCBXZWJQYWdlUHJveHk6Om1ha2VGaXJzdFJlc3BvbmRlcigpCit7CisgICAg
bV9wYWdlQ2xpZW50LT5tYWtlRmlyc3RSZXNwb25kZXIoKTsKK30KKyAgICAKIHZvaWQgV2ViUGFn
ZVByb3h5OjpyZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoY29uc3QgQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZSYgZWxlbWVudFRva2VuLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlJiB3aW5kb3dUb2tlbikKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNp
b24gODQ2MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsNiArMjIwLDggQEAKICAgICBTcGVhayhXVEY6
OlN0cmluZyBzdHJpbmcpCiAgICAgU3RvcFNwZWFraW5nKCkKIAorICAgIE1ha2VGaXJzdFJlc3Bv
bmRlcigpCisKICAgICAjIFNwb3RsaWdodAogICAgIFNlYXJjaFdpdGhTcG90bGlnaHQoV1RGOjpT
dHJpbmcgc3RyaW5nKQogI2VuZGlmCg==
</data>
<flag name="review"
          id="87100"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>