<?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>45750</bug_id>
          
          <creation_ts>2010-09-14 07:36:15 -0700</creation_ts>
          <short_desc>Move backing-store contents on slow scrolls</short_desc>
          <delta_ts>2010-11-17 22:52:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>45773</blocked>
    
    <blocked>45777</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="João Paulo Rechi Vita">jprvita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>hyatt</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>manyoso</cc>
    
    <cc>sam</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278885</commentid>
    <comment_count>0</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-14 07:36:15 -0700</bug_when>
    <thetext>[EFL] Move backing-store contents on slow scrolls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278887</commentid>
    <comment_count>1</comment_count>
      <attachid>67547</attachid>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-14 07:39:16 -0700</bug_when>
    <thetext>Created attachment 67547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278895</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-14 07:48:12 -0700</bug_when>
    <thetext>Attachment 67547 did not build on qt:
Build output: http://queues.webkit.org/results/4001005</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278901</commentid>
    <comment_count>3</comment_count>
      <attachid>67551</attachid>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-14 07:56:33 -0700</bug_when>
    <thetext>Created attachment 67551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279043</commentid>
    <comment_count>4</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-14 11:25:18 -0700</bug_when>
    <thetext>In order to make slow inner-frame scrolls faster, we want to use ewk_view_scroll() [0] to handle slow scrolls. It basically adds the scroll request to a scroll-requests array that is latter processed by _ewk_view_single_scroll_process_single() [1], which analyzes the scroll direction and offset (using the information provided through scrollDelta) and move the backing-store contents that are still going to be visible in the scrolled direction, so we&apos;re left with a smaller area to repaint.

[0] WebKit/efl/ewk/ewk_view.cpp
[1] WebKit/efl/ewk/ewk_view_single.c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287333</commentid>
    <comment_count>5</comment_count>
      <attachid>67551</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-29 19:52:06 -0700</bug_when>
    <thetext>Comment on attachment 67551
Patch

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

&gt; WebCore/ChangeLog:9
&gt; +        With this information is possible to scroll the backing-store contents
&gt; +        without redrawing the whole scrolled area.

Without this change we can acomplish this for Qt. You are also introducing behaviour changes elsewhere and there are no tests, thus r-.

&gt; WebCore/page/ChromeClient.h:138
&gt; +        virtual void invalidateContentsForSlowScroll(const IntSize&amp;, const IntRect&amp;, bool) = 0;

it is not obvious what the size here is for so I would write out the variable name... is it for a delta? The original method is not much better though, I wonder what the bool is for!

&gt; WebCore/platform/ScrollView.cpp:544
&gt; -       hostWindow()-&gt;invalidateContentsForSlowScroll(updateRect, false);
&gt; +       hostWindow()-&gt;invalidateContentsForSlowScroll(-scrollDelta, updateRect, false);

There seems to be behaviour changes here, where are the layout tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287336</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-29 19:54:16 -0700</bug_when>
    <thetext>Ah, maybe it is not a behaviour change and it is an intrusive change to the API so we need to find out if this is really needed or not.

You should explain your case a bit better and I would suggest discussing it with dhyatt on irc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287337</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-29 19:54:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; In order to make slow inner-frame scrolls faster, we want to use ewk_view_scroll() [0] to handle slow scrolls. It basically adds the scroll request to a scroll-requests array that is latter processed by _ewk_view_single_scroll_process_single() [1], which analyzes the scroll direction and offset (using the information provided through scrollDelta) and move the backing-store contents that are still going to be visible in the scrolled direction, so we&apos;re left with a smaller area to repaint.
&gt; 
&gt; [0] WebKit/efl/ewk/ewk_view.cpp
&gt; [1] WebKit/efl/ewk/ewk_view_single.c

Nice comment, why is this not in the ChangeLog???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287781</commentid>
    <comment_count>8</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-30 13:44:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 67551 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67551&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:9
&gt; &gt; +        With this information is possible to scroll the backing-store contents
&gt; &gt; +        without redrawing the whole scrolled area.
&gt; 
&gt; Without this change we can acomplish this for Qt. You are also introducing behaviour changes elsewhere and there are no tests, thus r-.
&gt; 

I can&apos;t imagine how you can move the pixels without having the direction and delta information, but from your latter comment I think you have misunderstood what I&apos;m using the information for due to my bad explanation on the ChangeLog. But if you can really do that, please point me to where you do so on the Qt port.

&gt; &gt; WebCore/page/ChromeClient.h:138
&gt; &gt; +        virtual void invalidateContentsForSlowScroll(const IntSize&amp;, const IntRect&amp;, bool) = 0;
&gt; 
&gt; it is not obvious what the size here is for so I would write out the variable name... is it for a delta? The original method is not much better though, I wonder what the bool is for!
&gt; 

Yes, it&apos;s for a delta. I&apos;ve just followed the WebCore policy of putting only the types on the header files.

&gt; &gt; WebCore/platform/ScrollView.cpp:544
&gt; &gt; -       hostWindow()-&gt;invalidateContentsForSlowScroll(updateRect, false);
&gt; &gt; +       hostWindow()-&gt;invalidateContentsForSlowScroll(-scrollDelta, updateRect, false);
&gt; 
&gt; There seems to be behaviour changes here, where are the layout tests?

There are no behavior changes, just the additional parameter is passed on, as you also stated on comment #6. I&apos;ve updated this function declaration/implementation on the other ports but the parameter is ignored. Only the EFL port uses this information so far.

I&apos;ll send a updated version with a better description on the ChangeLog (sorry, wasn&apos;t sure about how much info I should put there) and also CC dhyatt on this bug so he can let us know his opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287785</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-30 13:46:55 -0700</bug_when>
    <thetext>Yes, I understand now that this is for the iframes. I still wonder why you are not following every other webkit mobile browser and using frame flattening instead... If this is for mobile, it is good that we all follow suit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287811</commentid>
    <comment_count>10</comment_count>
      <attachid>69382</attachid>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-30 14:14:06 -0700</bug_when>
    <thetext>Created attachment 69382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287827</commentid>
    <comment_count>11</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-09-30 14:30:07 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Yes, I understand now that this is for the iframes. I still wonder why you are not following every other webkit mobile browser and using frame flattening instead... If this is for mobile, it is good that we all follow suit.

We already support frame-flattening, but prefer we leave to the browser the decision to flatten the frames or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288374</commentid>
    <comment_count>12</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-01 11:42:38 -0700</bug_when>
    <thetext>Does EFL have a separate backing store for each subframe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288803</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-03 19:34:31 -0700</bug_when>
    <thetext>
&gt; 
&gt; &gt; &gt; WebCore/page/ChromeClient.h:138
&gt; &gt; &gt; +        virtual void invalidateContentsForSlowScroll(const IntSize&amp;, const IntRect&amp;, bool) = 0;
&gt; &gt; 
&gt; &gt; it is not obvious what the size here is for so I would write out the variable name... is it for a delta? The original method is not much better though, I wonder what the bool is for!
&gt; &gt;
&gt; Yes, it&apos;s for a delta. I&apos;ve just followed the WebCore policy of putting only the types on the header files.

In WebCore, we do not name variable in the header when they do not add info.

For example, in &quot;IntSize size&quot; , the &quot;size&quot; is useless, and we omit it.

In your bool case, no one who reads the header will have a clue of what the bool is about, so we name it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293013</commentid>
    <comment_count>14</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-10-12 11:37:55 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Does EFL have a separate backing store for each subframe?

No, we treat sub-frames as normal smaller regions of the backing-store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293018</commentid>
    <comment_count>15</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-10-12 11:47:24 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; 
&gt; &gt; &gt; &gt; WebCore/page/ChromeClient.h:138
&gt; &gt; &gt; &gt; +        virtual void invalidateContentsForSlowScroll(const IntSize&amp;, const IntRect&amp;, bool) = 0;
&gt; &gt; &gt; 
&gt; &gt; &gt; it is not obvious what the size here is for so I would write out the variable name... is it for a delta? The original method is not much better though, I wonder what the bool is for!
&gt; &gt; &gt;
&gt; &gt; Yes, it&apos;s for a delta. I&apos;ve just followed the WebCore policy of putting only the types on the header files.
&gt; 
&gt; In WebCore, we do not name variable in the header when they do not add info.
&gt; 
&gt; For example, in &quot;IntSize size&quot; , the &quot;size&quot; is useless, and we omit it.
&gt; 
&gt; In your bool case, no one who reads the header will have a clue of what the bool is about, so we name it.

The bool is called &apos;immediate&apos;, was already there and it also present on the other invalidate* functions. I guess it&apos;s there to tell if the invalidate should be processed immediately, but I&apos;m not 100% sure. On EFL port we ignore its value (with this patch).

The patch introduces the IntSize parameter, so according to Antonio&apos;s comments it is in conformance with WebCore&apos;s coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293030</commentid>
    <comment_count>16</comment_count>
      <attachid>70551</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-12 12:03:33 -0700</bug_when>
    <thetext>Created attachment 70551
Test case demonstrating why this patch is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293046</commentid>
    <comment_count>17</comment_count>
      <attachid>69382</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-12 12:20:51 -0700</bug_when>
    <thetext>Comment on attachment 69382
Patch

We discussed this some on IRC, but basically if the slow scroll method is called it specifically means that WebCore has detected that it is not safe to just move the pixels.  The test case did actually work still with this patch, and that baffles me (it makes me think there may be some HostWindow mis-implementation leading to a lucky extra repaint).  The fact that you need this change makes me think maybe your canBlitOnScroll state is corrupted or not set up properly.

I&apos;d love to see an actual test case that gets faster with this patch.  That would be really helpful for understanding what problem this patch is trying to solve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293054</commentid>
    <comment_count>18</comment_count>
    <who name="João Paulo Rechi Vita">jprvita</who>
    <bug_when>2010-10-12 12:32:45 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 69382 [details])
&gt; We discussed this some on IRC, but basically if the slow scroll method is called it specifically means that WebCore has detected that it is not safe to just move the pixels.  The test case did actually work still with this patch, and that baffles me (it makes me think there may be some HostWindow mis-implementation leading to a lucky extra repaint).  The fact that you need this change makes me think maybe your canBlitOnScroll state is corrupted or not set up properly.
&gt; 
&gt; I&apos;d love to see an actual test case that gets faster with this patch.  That would be really helpful for understanding what problem this patch is trying to solve.

The test case actually fails, I&apos;ve tested with a version without this patch I had compiled in my machine, sorry for the confusion. We&apos;re gonna investigate a bit more with the help of Dave&apos;s explanations on IRC whether we really need this or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310718</commentid>
    <comment_count>19</comment_count>
    <who name="Rafael Antognolli">antognolli+webkit</who>
    <bug_when>2010-11-17 22:52:42 -0800</bug_when>
    <thetext>The proposed solution doesn&apos;t work, so it&apos;s better to just close the bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67547</attachid>
            <date>2010-09-14 07:39:16 -0700</date>
            <delta_ts>2010-09-14 07:56:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45750-20100914113914.patch</filename>
            <type>text/plain</type>
            <size>29088</size>
            <attacher name="João Paulo Rechi Vita">jprvita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDVkODhiMjJkOGEzNjdhNGM4ZjdhM2M3NjFiYmNhYmQxNTgxNmFlNC4uY2NhOTczMWRmOWFjY2Rh
ZWIwZTgxYTBmZmViOGU0ZGQzNGJjZTUxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wOS0xMyAgSm/D
o28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNjcm9sbCBkZWx0YSBw
YXJhbWV0ZXIgdG8gc2xvdyBzY3JvbGxzCisKKyAgICAgICAgV2l0aCB0aGlzIGluZm9ybWF0aW9u
IGlzIHBvc3NpYmxlIHRvIHNjcm9sbCB0aGUgYmFja2luZy1zdG9yZSBjb250ZW50cworICAgICAg
ICB3aXRob3V0IHJlZHJhd2luZyB0aGUgd2hvbGUgc2Nyb2xsZWQgYXJlYS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgc2luY2Ugbm8gZnVuY3Rpb25hbGl0eSB3YXMgY2hhbmdlZC4KKworICAgICAg
ICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5Q2hyb21l
Q2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBwYWdl
L0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFn
ZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxW
aWV3OjpzY3JvbGxDb250ZW50cyk6CisKIDIwMTAtMDktMTMgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKaW5kZXggZDFlNDA2YzlkOTViMmE2MGVhMDVjZTJkMDIzYWRhYjhiMTI1YjgwNC4u
MTZhZTkwMmIxNmY2ZTQyMzk3NmZlOGQ0NjkzNzlhNjEyYWQ3NDU0MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKQEAgLTE0Nyw3ICsxNDcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9Ci0g
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50
UmVjdCYsIGJvb2wpIHt9OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JT
bG93U2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgYm9vbCkge307CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0
IEludFJlY3QmKSB7IH0KIAogICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29u
c3QgSW50UG9pbnQmIHApIGNvbnN0IHsgcmV0dXJuIHA7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYmZmMDEwMDI1
N2IxOGZmM2Y0ZWZhZGZkOTZjZjAxYTQ4NWIxZTk4Mi4uMGJjNDE2Y2VjMWM1MmRhNzQ1YWViNDQy
ODM4OTZlNzZiNjZkOWZjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysr
IGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTc3LDkgKzc3LDkgQEAgdm9pZCBDaHJvbWU6
OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBi
b29sIGltbWVkaWEKICAgICBtX2NsaWVudC0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVw
ZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAKLXZvaWQgQ2hyb21lOjppbnZhbGlkYXRlQ29udGVu
dHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRl
KQordm9pZCBDaHJvbWU6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50
U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRp
YXRlKQogewotICAgIG1fY2xpZW50LT5pbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKHVw
ZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgbV9jbGllbnQtPmludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwoc2Nyb2xsRGVsdGEsIHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAKIHZv
aWQgQ2hyb21lOjpzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJl
Y3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNWVlODg5
N2RmM2Y1NjRhNjIwNTEzMzk3OWIwYzRkYThiNjdjNTQ0Mi4uYmY3MTE4MjU5OTViMTA1NGFhM2Rl
MzBhN2IzYTg3NjRiMWQ2NTM0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtNjYsNyArNjYsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3QgSW50
UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5k
V2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRT
aXplJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xs
KGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpOwogICAgICAg
ICB2aXJ0dWFsIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29uc3Q7
CiAgICAgICAgIHZpcnR1YWwgSW50UmVjdCB3aW5kb3dUb1NjcmVlbihjb25zdCBJbnRSZWN0Jikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggYmQ5ZGU2YmYyY2Q5ZjZmYzY4NWM1MDEwZTQ3YzIx
NDdiN2QxY2Q3NS4uODVkZDI3NThlNzBjY2FhZThhNzc5NmU4ZmYzZjkxOWU0ZDczMzBhMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaApAQCAtMTM1LDcgKzEzNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgLy8gTWV0aG9kcyB1c2VkIGJ5IEhvc3RXaW5kb3cuCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKSA9IDA7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJv
b2wpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dT
Y3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNvbnN0IEludFJl
Y3QmLCBib29sKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6
ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgPSAwOwogICAgICAgICB2aXJ0dWFs
IEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29uc3QgPSAwOwogICAg
ICAgICB2aXJ0dWFsIEludFJlY3Qgd2luZG93VG9TY3JlZW4oY29uc3QgSW50UmVjdCYpIGNvbnN0
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggYjBlZTY1Mzg3MDc0NWJlNDM4YzhkZGEzMDY1
MDNiOTFlN2YwOTg4MC4uZjk4NThjMzA4ZWM1NWE0MmYyZGIxYWE3ZjU5MzY3YzU0MzY0ZGNkOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3Qm
IHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpID0gMDsKIAogICAgIC8vIFJl
cXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIGNvbnRlbnRzLCBub3QgdGhlIHdpbmRvdy4g
IFRoaXMgaXMgdGhlIHNsb3cgcGF0aCBmb3Igc2Nyb2xsaW5nLgotICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3Qs
IGJvb2wgaW1tZWRpYXRlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3Qm
IHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKSA9IDA7CiAgICAgCiAgICAgLy8gTWV0aG9kcyBm
b3IgZG9pbmcgY29vcmRpbmF0ZSBjb252ZXJzaW9ucyB0byBhbmQgZnJvbSBzY3JlZW4gY29vcmRp
bmF0ZXMuCiAgICAgdmlydHVhbCBJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJbnRQb2lu
dCYpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IDYxMjcxYWNjYzc3MzYx
NzdmYzQ1MTUwYjk3NWI0N2UzNjE3M2U5ZWIuLjM5YTA0YTJjZWRiZjA4ZmI5OGEzMzY0MjIzYTVj
Y2Y3OGQ2NzllOTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNTM0LDE0ICs1MzQsMTUg
QEAgdm9pZCBTY3JvbGxWaWV3OjpzY3JvbGxDb250ZW50cyhjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSkKICAgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3co
cGFuU2Nyb2xsSWNvbkRpcnR5UmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAgICAgfQogCisg
ICAgYm9vbCBpc01haW5GcmFtZSA9IHRoaXMgPT0gcm9vdCgpOwogICAgIGlmIChjYW5CbGl0T25T
Y3JvbGwoKSkgeyAvLyBUaGUgbWFpbiBmcmFtZSBjYW4ganVzdCBibGl0IHRoZSBXZWJWaWV3IHdp
bmRvdwogICAgICAgICAvLyBGSVhNRTogRmluZCBhIHdheSB0byBzY3JvbGwgc3ViZnJhbWVzIHdp
dGggdGhpcyBmYXN0ZXIgcGF0aAogICAgICAgICBpZiAoIXNjcm9sbENvbnRlbnRzRmFzdFBhdGgo
LXNjcm9sbERlbHRhLCBzY3JvbGxWaWV3UmVjdCwgY2xpcFJlY3QpKQotICAgICAgICAgICAgaG9z
dFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKHVwZGF0ZVJlY3QsIGZh
bHNlKTsKKyAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xv
d1Njcm9sbCgtc2Nyb2xsRGVsdGEsIHVwZGF0ZVJlY3QsIGZhbHNlKTsKICAgICB9IGVsc2UgeyAK
ICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIGFoZWFkIGFuZCByZXBhaW50IHRoZSBlbnRpcmUgYmFj
a2luZyBzdG9yZS4gIERvIGl0IG5vdyBiZWZvcmUgbW92aW5nIHRoZQogICAgICAgIC8vIHdpbmRv
d2VkIHBsdWdpbnMuCi0gICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNGb3JT
bG93U2Nyb2xsKHVwZGF0ZVJlY3QsIGZhbHNlKTsKKyAgICAgICBob3N0V2luZG93KCktPmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoLXNjcm9sbERlbHRhLCB1cGRhdGVSZWN0LCBmYWxz
ZSk7CiAgICAgfQogCiAgICAgLy8gVGhpcyBjYWxsIHdpbGwgbW92ZSBjaGlsZHJlbiB3aXRoIG5h
dGl2ZSB3aWRnZXRzIChwbHVnaW5zKSBhbmQgaW52YWxpZGF0ZSB0aGVtIGFzIHdlbGwuCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCA1M2MxNmM4ZmFmNjgzMjkwMDczNmJlODc0MmQzMzVlNWQ5N2U4OGNjLi5mMzcw
OWM0NjAzN2RjNDFhNzg1NGIxODk1MjAwOWVlMjcwZjBiMzE2IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFA
cHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQ
SSBjaGFuZ2UuCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3Jv
bGwpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dl
YlBvcHVwTWVudUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBN
ZW51SW1wbC5oOgorCiAyMDEwLTA5LTEzICBKb25hdGhhbiBEaXhvbiAgPGpvdGhAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXZlIEJsb2NrLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggYzY2MmU2MDY3OTViYzI0Y2I4OTRmNWI3MTY2
ZDVkZTBhNTUyYzJkOS4uNWZiZmViY2UxZTIxMTVlYmVjNWM5N2Q0MmNmMDNlNzdkYjQ3OTRlZCAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC01MDQsNyArNTA0
LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3co
Y29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm8KICNlbmRpZgogfQogCi12b2lkIENocm9tZUNs
aWVudEltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYg
dXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudEltcGw6OmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIG1fd2ViVmll
dy0+aGlkZVBvcHVwcygpOwogICAgIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyh1cGRhdGVS
ZWN0LCBpbW1lZGlhdGUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRl
eCBkMTZkOGY2MzFlZDZjNjgxNDY0OGMyOTIyNDRkMDgzNzRmMTcxNzkzLi41NzgxMzI0OTQ2NWNh
OGZkMzMyZTM4NjhkOGMyNTIxZDVhNjE1NmNkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OkludFJlY3Qgd2luZG93UmVzaXplclJlY3QoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dT
Y3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbCgK
ICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmIHJlY3RUb1Njcm9sbCwKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgY2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKaW5k
ZXggMDg1YTE1NzVlNTRiZjBlN2E0YWM4ZTU4NzhhMDM4NjA1ODkyZTVkOS4uMjAyNjYwMzVhNGU1
OWUwMDAwNGNiOGVlNTA1NTVjNDdkNmYyNTI5NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBs
OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBi
b28KICAgICAgICAgbV9jbGllbnQtPmRpZEludmFsaWRhdGVSZWN0KHBhaW50UmVjdCk7CiB9CiAK
LXZvaWQgV2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChj
b25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViUG9wdXBN
ZW51SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBz
Y3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7
CiAgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7
CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IDIyMWJhMDM4ZjJj
NGM3MzZkNjc3ZmFiZmEzMjJlMDUxZjkwNDI2NGMuLmNjMTY5NDg0ZjliMDQ3N2VlZmMyZWRkMzZh
OGMyY2YxZjMzYjc0YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBN
ZW51SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCkBA
IC0xMDMsNyArMTAzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKAog
ICAgICAgICBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
Y2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQvZWZs
L0NoYW5nZUxvZwppbmRleCAwOWE4OTdjNjJjOGM1NjhiMjM0ZTQyMTQwM2JhNjk2MWZkNGM1N2Zm
Li4xNTJiNWE1MmVlNzUwZTVlMWM4YTc2OGFjY2NmYmYwYTM0NDUwOWMxIDEwMDY0NAotLS0gYS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNoaSBWaXRhICA8anBydml0YUBwcm9m
dXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbRUZMXSBNb3ZlIGJhY2tpbmctc3RvcmUgY29udGVudHMgb24gc2xvdyBzY3JvbGxzCisK
KyAgICAgICAgTW92ZSB0aGUgYmFja2luZy1zdG9yZSBjb250ZW50cyB1c2luZyBzY3JvbGwgZGly
ZWN0aW9uL29mZnNldAorICAgICAgICBpbmZvcm1hdGlvbiwgc28gdGhlcmUgaXMgYSBzbWFsbGVy
IGFyZWEgdG8gYmUgcmVkcmF3bi4gQWxzbyBhZGRzIGEKKyAgICAgICAgcGFyYW1ldGVyIHRvIHBh
c3MgdGhpcyBpbmZvcm1hdGlvbiBvbiBXZWJDb3JlIGludGVyZmFjZS4KKworICAgICAgICBUaGUg
RUZMIHBvcnQgZG9lcyBub3Qgc3VwcG9ydCBhdXRvbWF0ZWQgdGVzdHMgeWV0LgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisKIDIwMTAtMDktMTEgIFJ5
dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEVmbC5jcHAgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5jcHAKaW5kZXggMjE3NDdhMWIwZGQ0NzMzZTA4ZWMxNDg0NjQwMWU3YTIyY2Y1OTExNy4u
ZjUyOGI3OGNjNjgyMWIwYzJjYjAzNzFjYzJjM2M1NTU2MjNhYzI4NSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNDg4LDkgKzQ4OCw5IEBA
IHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3Qg
SW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vCiAgICAgZXdrX3ZpZXdfcmVwYWludChtX3ZpZXcsIHgs
IHksIHcsIGgpOwogfQogCi12b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkK
K3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNv
bnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29s
IGltbWVkaWF0ZSkKIHsKLSAgICBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3codXBkYXRlUmVj
dCwgaW1tZWRpYXRlKTsKKyAgICBld2tfdmlld19zY3JvbGwobV92aWV3LCBzY3JvbGxEZWx0YS53
aWR0aCgpLCBzY3JvbGxEZWx0YS5oZWlnaHQoKSwgdXBkYXRlUmVjdC54KCksIHVwZGF0ZVJlY3Qu
eSgpLCB1cGRhdGVSZWN0LndpZHRoKCksIHVwZGF0ZVJlY3QuaGVpZ2h0KCksIHVwZGF0ZVJlY3Qu
eCgpLCB1cGRhdGVSZWN0LnkoKSwgdXBkYXRlUmVjdC53aWR0aCgpLCB1cGRhdGVSZWN0LmhlaWdo
dCgpLCBFSU5BX0ZBTFNFKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRFZmw6OnNjcm9sbChjb25z
dCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25z
dCBJbnRSZWN0JiBjbGlwUmVjdCkKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oCmluZGV4IGQ5MzlhZTZkNjkzMWY0N2M5MzJlNzViYzcwMDFjNjM0NWViYjUzYWQu
LjU4YTZjYWRkZDk2NWNjM2E0ZTY1YzM4MmJmZmNlNTViN2U2YjI5NTggMTAwNjQ0Ci0tLSBhL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTMyLDcgKzEzMiw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzKGNvbnN0IEludFJlY3Qm
LCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0
JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhj
b25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRS
ZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBJbnRTaXplJiwgY29u
c3QgSW50UmVjdCYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKEZyYW1lKik7CiAgICAgdmlydHVhbCB2
b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nLCAwdT4mLCBQYXNzUmVmUHRyPEZp
bGVDaG9vc2VyPik7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCmluZGV4IGE3N2IyZDQ0MzJmODVjZTRjYzBjODMzMzNkYzRkMTMzMmI5YTI1
MWQuLmJjN2MwODhiMzkyNDJhNWY2MTYwYzFkNzFmYjE0MTY3NDYxYWEzNWMgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHBy
b2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkg
Y2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93
U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKwog
MjAxMC0wOS0xMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDdlNDA5MGI4OWRjZjY2YmQ0ZjA1
ZDA5MWJjNGI3Njg3NTNlZmExYWYuLmYwMDU1ODIyYTY5ODA2MGI5NWI3OTg5Mzk5YmYyMjA1Yzhh
NzhkZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5j
cHAKQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRl
bnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaQogICAgIH0KIH0K
IAotdm9pZCBDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29u
c3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVu
dDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSwgY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAg
aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCAyMWM0Njc3
MWM2NGVlY2MwMzZhNTE2MWExMzQ2Y2RkNzhkMzcxODNhLi4yOWU3Y2MxZDhlZGY0OWM5ZjMwNWI0
NjUzNmQ0NGE2ZDY3MTI5MmU3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmgKQEAgLTk2LDcgKzk2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJv
b2wpOworICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9s
bChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNj
cm9sbERlbHRhLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KTsKIAogICAgICAgICB2aXJ0dWFsIFdlYkNvcmU6Oklu
dFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxv
ZwppbmRleCAxMjllYjg2OTEyODgxMDc2ZGVjNzQ0ODZhMzY4NmRlNjVlNjNiMjlmLi4wZjQ3MGY5
OWY0ZjIyNGZkMmI3NWYwNDgxYzFhYjM1Y2Y1ZjAzZGE3IDEwMDY0NAotLS0gYS9XZWJLaXQvaGFp
a3UvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9u
Lm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBjaGFuZ2Uu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xv
d1Njcm9sbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoK
KwogMjAxMC0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCmluZGV4IDZjNTQ0MjQzZTQxZTYyNGVjNzg1NThi
MzgzOGI3YTdiY2E2M2VmMGYuLjdiZjIxYjJkZjI0ZjU1MDMwMzUxYzk4NzlmZGIyZDJkY2YyMjU4
Y2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRI
YWlrdS5jcHAKKysrIGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhh
aWt1LmNwcApAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OmludmFs
aWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudEhhaWt1OjppbnZhbGlkYXRlQ29udGVu
dHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKQordm9pZCBDaHJvbWVDbGllbnRI
YWlrdTo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3Jv
bGxEZWx0YSwgY29uc3QgSW50UmVjdCYsIGJvb2wpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRI
YWlrdS5oIGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgK
aW5kZXggNmE1YjM4MWY5ODVhNTAyY2M2ODE1MmVkOGE4NDk2OTZlZjJkMTc5Mi4uMDE0MmZlOWRj
YzBjZWYxZDBiMWRhYjljODFjZmRiMGRlZjNkZDViNCAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKKysrIGIvV2ViS2l0L2hhaWt1L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IElu
dFJlY3QmLCBib29sKTsKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3co
Y29uc3QgSW50UmVjdCYsIGJvb2wpOwotICAgICAgICB2b2lkIGludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAgICAgICB2b2lkIGludmFsaWRh
dGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBi
b29sKTsKICAgICAgICAgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogCiAg
ICAgICAgIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQzMDNmY2MxYThlZGVkZWVlMTUwYWY4MGYwNTg4NzE4OTc5MTZlMzEuLmU1NjhiMzc2NjU5
MDFmNmU3ZWI2ZDJiODU2OGViMzFkNGEyM2M5N2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBm
dW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkgY2hhbmdlLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50Ojpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKwogMjAxMC0wOS0xMyAgSm9obiBTdWxs
aXZhbiAgPHN1bGxpdmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJv
YmVuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
NWYzYjcyNzlkMDBhNjEwNTUwZTFiZjY2Y2YwZjVhNmNlZjViODI5Mi4uZDE2NDEyNzgyZGRmODRl
MGFjYmE3NjViYjc0MzY3YWRhOTkyYmExNCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0
KTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW0KaW5kZXggNjhlMTdiZWY2ZGU1YmM3MTU0NGMwYTA1NWY1NjZjMGZi
N2NiZTdhOS4uNTNlMjZiYjlkMmQ1YTQ3YWMzOTY1ZmU1MGZmZjBkNTE5NTBkOGQ4MCAxMDA2NDQK
LS0tIGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTQ3Niw3ICs0
NzYsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZQogICAgIH0KIH0KIAotdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYg
cmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50
UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5k
V2luZG93KHJlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBiZGI4MTQ1MWUxOGE5ZGRiOWJiODM1MGIx
NTMyMmYxMmQ0ODIzZjE0Li5hY2M5ZDQ5YjMyOGZjZjE2NmU2NGM3YTllMWVlOThiNGRlOTM3Yjc5
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAg
PGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBX
ZWJDb3JlIEFQSSBjaGFuZ2UuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6aW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaDoKKwogMjAxMC0wOC0yNyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5u
ZXRoLmNocmlzdGlhbnNlbkBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAKaW5kZXggNzQwNjU1MDczMTIxNTY0MWYzYmRkMzkwN2YxNzFiYjExYTgyZjkyNi4uNDcxMGQ0
ODI1MmY0YTdlOTU3MGQ4ZGZjZDM5MmRlM2U1MmM2ZjI2MyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBDaHJv
bWVDbGllbnRRdDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHdp
bmRvd1JlY3QsIGJvb2wKICAgICAvLyBpcyBzZXQuCiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50UXQ6
OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgd2luZG93UmVj
dCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudFF0OjppbnZhbGlkYXRlQ29udGVu
dHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0
JiB3aW5kb3dSZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBpbnZhbGlkYXRlQ29udGVudHNB
bmRXaW5kb3cod2luZG93UmVjdCwgaW1tZWRpYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggZDE4Zjk5Mzc5MjhmNjQ2OTQwMzk4M2JlNzA1MjQ3
Njk0NDY3NjZmYy4uZDgxZDBlYmFjNmJlOWE3NjU1N2EzYjI2ZjU3OGE2NDJjMWYxYWY0NCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTExMyw3ICsxMTMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICAgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVj
dCYsIGJvb2wpOworICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xv
d1Njcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKIAogICAgICAgICB2
aXJ0dWFsIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmlu
ZGV4IDM2OTI0MWE2OGY2MmFmZGZiZTAyNDY2YTZlNDQzNmYyN2ZhYWQ1MmUuLjk3OTk4YjE3ZjAz
ZWE0ZmI1N2Q0YWRjNmRiYjg4N2ZkN2JjOTIxNjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBm
dW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkgY2hhbmdlLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNo
cm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTAtMDktMTEgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4
IDdhMDI1YTdmNjlkYTZlNTYwNWUxN2U3MTg0YTNjODdhMGE3YWQwM2IuLmMxMzdmNDkxYjZjMzRi
NjlkOTE3ODhhNDY4NTY2YTk5NzU1ZDAxMDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ3Myw3ICs0NzMsNyBAQCB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHdpbmRv
d1JlY3QsIGJvbwogICAgIG1fd2ViVmlldy0+cmVwYWludCh3aW5kb3dSZWN0LCB0cnVlIC8qY29u
dGVudENoYW5nZWQqLywgaW1tZWRpYXRlIC8qaW1tZWRpYXRlKi8sIGZhbHNlIC8qcmVwYWludENv
bnRlbnRPbmx5Ki8pOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRl
bnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBib29sIGltbWVkaWF0
ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xs
KGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBi
b29sIGltbWVkaWF0ZSkKIHsKICAgICBBU1NFUlQoY29yZShtX3dlYlZpZXctPnRvcExldmVsRnJh
bWUoKSkpOwogICAgIG1fd2ViVmlldy0+cmVwYWludCh3aW5kb3dSZWN0LCB0cnVlIC8qY29udGVu
dENoYW5nZWQqLywgaW1tZWRpYXRlLCB0cnVlIC8qcmVwYWludENvbnRlbnRPbmx5Ki8pOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNWE3OTZlYjYx
NTU4NjVkMDk5OWZkZDg0NzQ2NjdhODQ5NTc4MTc1OS4uMWZmNzFjNTcyOWM1ZDAzZTkxZmNmOTc5
NDBlZTRjY2M0NGQ3ZGViMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiByZWN0VG9TY3JvbGwsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KTsKIAogICAg
IHZpcnR1YWwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1dl
YktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMDI5MzU4OWRiNGRlMDMzNDBlYjQ3NmU3MTU0NTBlMjll
YmUyNGU5YS4uZjExMmJhYmM1ZWE5MmE3OTZmMDg3NmE2YzYyMDg0MzgxNDViZGFlNCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRh
QHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBB
UEkgY2hhbmdlLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9y
U2xvd1Njcm9sbCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgor
CiAyMDEwLTA5LTEwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21l
Q2xpZW50V3guY3BwCmluZGV4IDljOTA1OTZkYTdmMDMwYzc0MTc4ZGUzMTkzOTFiNDI1YmNjZjhk
NDcuLjZmOGE1M2QyYjJlMDk2ZDg4YWQyZTAzOGYzZTI5YzRkODM3YmE5YjUgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAorKysgYi9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTM0Nyw3ICszNDcsNyBAQCB2
b2lkIENocm9tZUNsaWVudFd4OjppbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmIHJlY3Qs
IGJvb2wgaW1tZWRpYXRlKQogICAgICAgICBtX3dlYlZpZXctPlVwZGF0ZSgpOwogfQogCi12b2lk
IENocm9tZUNsaWVudFd4OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IElu
dFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxp
ZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaW52YWxpZGF0ZUNvbnRl
bnRzQW5kV2luZG93KHJlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
Q2hyb21lQ2xpZW50V3guaAppbmRleCA1YjYwNDQ2NjVhNDZlNjZiZmNkYjNiNzVlNWM1NDVlNDVk
MjRhNzgwLi44NGJjYzljYjRkZDY3N2UzMTdhYzRhZjZmMmQxMmJhYjBhNjUzYjA3IDEwMDY0NAot
LS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBiL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBw
dWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3QgSW50
UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5k
b3coY29uc3QgSW50UmVjdCYsIGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3Qg
SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYg
c2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYg
Y2xpcFJlY3QpOwogCiAgICAgdmlydHVhbCBJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJ
bnRQb2ludCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCA5MjM3NTk1MGE2YTU1MmJhZWE3YzI1M2I2OWE0NTNiZWYzYTkzNDM1
Li5jYTM1ZGNhM2IxNzBlNmQzODE1Y2IxOTdmZmU3YzAyZDA1NjU2NGU5IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNoaSBWaXRhICA8anBydml0YUBwcm9mdXNpb24u
bW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJlcyB0byByZWZsZWN0IFdlYkNvcmUgQVBJIGNoYW5nZS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDEwLTA5LTExICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNv
bT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgUXQgTGludXggUmVsZWFzZSBidWlsZCBh
ZnRlciBjaGFuZ2VzZXQgNjczMTIgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzY3
MzEyPi4KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMWFiZTFiMDgyZmJhOGMzZjBlODIwODViODQyZTRkNTJiZTI4
MDBhYS4uMmEzZTU2NmNiNzRkZWJkNmU1OWZjNmRiMTA1NDU3NDE1N2NmMjdjNSAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNv
bnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZQogICAgIG1fcGFn
ZS0+ZHJhd2luZ0FyZWEoKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHJlY3QsIGltbWVk
aWF0ZSk7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JT
bG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6
ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewog
ICAgIG1fcGFnZS0+ZHJhd2luZ0FyZWEoKS0+aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9s
bChyZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGVhZmZlZmFlOTZjY2NhZGY3NjhlZjM2
MTFjNzIxZGUxNDM3YmYzMTQuLjY5YWE2MzdjZDFlYjBiZTc0Yjg1MDdlYjNmMTMwN2RlMDgxMzIy
NWMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIC8vIE1ldGhvZHMg
dXNlZCBieSBIb3N0V2luZG93LgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKLSAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmIHNjcm9sbERlbHRhLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6Oklu
dFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IHdpbmRvd1RvU2NyZWVuKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67551</attachid>
            <date>2010-09-14 07:56:33 -0700</date>
            <delta_ts>2010-09-30 14:13:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45750-20100914115630.patch</filename>
            <type>text/plain</type>
            <size>29492</size>
            <attacher name="João Paulo Rechi Vita">jprvita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDVkODhiMjJkOGEzNjdhNGM4ZjdhM2M3NjFiYmNhYmQxNTgxNmFlNC4uODQxZTJhYTE5NDQ1Yzdm
M2QxOWU0ODM5ZjA0MWQ5NTA5Y2ViN2M4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0xMyAgSm/D
o28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNjcm9sbCBkZWx0YSBw
YXJhbWV0ZXIgdG8gc2xvdyBzY3JvbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NTc1MAorCisgICAgICAgIFdpdGggdGhpcyBpbmZvcm1hdGlvbiBp
cyBwb3NzaWJsZSB0byBzY3JvbGwgdGhlIGJhY2tpbmctc3RvcmUgY29udGVudHMKKyAgICAgICAg
d2l0aG91dCByZWRyYXdpbmcgdGhlIHdob2xlIHNjcm9sbGVkIGFyZWEuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIHNpbmNlIG5vIGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuCisKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNs
aWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogcGFnZS9D
aHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjppbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vSG9zdFdpbmRvdy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmll
dzo6c2Nyb2xsQ29udGVudHMpOgorCiAyMDEwLTA5LTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCmluZGV4IGQxZTQwNmM5ZDk1YjJhNjBlYTA1Y2UyZDAyM2FkYWI4YjEyNWI4MDQuLjE2
YWU5MDJiMTZmNmU0MjM5NzZmZThkNDY5Mzc5YTYxMmFkNzQ1NDMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpIHsgfQotICAg
IHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJl
Y3QmLCBib29sKSB7fTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xv
d1Njcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpIHt9OwogICAgIHZp
cnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJ
bnRSZWN0JikgeyB9CiAKICAgICB2aXJ0dWFsIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0
IEludFBvaW50JiBwKSBjb25zdCB7IHJldHVybiBwOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcCBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGJmZjAxMDAyNTdi
MThmZjNmNGVmYWRmZDk2Y2YwMWE0ODViMWU5ODIuLjBiYzQxNmNlYzFjNTJkYTc0NWFlYjQ0Mjgz
ODk2ZTc2YjY2ZDlmYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC03Nyw5ICs3Nyw5IEBAIHZvaWQgQ2hyb21lOjpp
bnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9v
bCBpbW1lZGlhCiAgICAgbV9jbGllbnQtPmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyh1cGRh
dGVSZWN0LCBpbW1lZGlhdGUpOwogfQogCi12b2lkIENocm9tZTo6aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkK
K3ZvaWQgQ2hyb21lOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNp
emUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0
ZSkKIHsKLSAgICBtX2NsaWVudC0+aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCh1cGRh
dGVSZWN0LCBpbW1lZGlhdGUpOworICAgIG1fY2xpZW50LT5pbnZhbGlkYXRlQ29udGVudHNGb3JT
bG93U2Nyb2xsKHNjcm9sbERlbHRhLCB1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOwogfQogCiB2b2lk
IENocm9tZTo6c2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0
JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oIGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDVlZTg4OTdk
ZjNmNTY0YTYyMDUxMzM5NzliMGM0ZGE4YjY3YzU0NDIuLmJmNzExODI1OTk1YjEwNTRhYTNkZTMw
YTdiM2E4NzY0YjFkNjUzNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTY2LDcgKzY2LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJl
Y3QmLCBib29sKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdp
bmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6
ZSYsIGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChj
b25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFJlY3QmKTsKICAgICAgICAg
dmlydHVhbCBJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0Owog
ICAgICAgICB2aXJ0dWFsIEludFJlY3Qgd2luZG93VG9TY3JlZW4oY29uc3QgSW50UmVjdCYpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGJkOWRlNmJmMmNkOWY2ZmM2ODVjNTAxMGU0N2MyMTQ3
YjdkMWNkNzUuLjg1ZGQyNzU4ZTcwY2NhYWU4YTc3OTZlOGZmM2Y5MTllNGQ3MzMwYTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTEzNSw3ICsxMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIC8vIE1ldGhvZHMgdXNlZCBieSBIb3N0V2luZG93LgogICAgICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29s
KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Ny
b2xsKGNvbnN0IEludFJlY3QmLCBib29sKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0
JiwgYm9vbCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUm
LCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpID0gMDsKICAgICAgICAgdmlydHVhbCBJ
bnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0ID0gMDsKICAgICAg
ICAgdmlydHVhbCBJbnRSZWN0IHdpbmRvd1RvU2NyZWVuKGNvbnN0IEludFJlY3QmKSBjb25zdCA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IGIwZWU2NTM4NzA3NDViZTQzOGM4ZGRhMzA2NTAz
YjkxZTdmMDk4ODAuLmY5ODU4YzMwOGVjNTVhNDJmMmRiMWFhN2Y1OTM2N2M1NDM2NGRjZDggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiBy
ZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSA9IDA7CiAKICAgICAvLyBSZXF1
ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSBjb250ZW50cywgbm90IHRoZSB3aW5kb3cuICBU
aGlzIGlzIHRoZSBzbG93IHBhdGggZm9yIHNjcm9sbGluZy4KLSAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBi
b29sIGltbWVkaWF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB1
cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkgPSAwOwogICAgIAogICAgIC8vIE1ldGhvZHMgZm9y
IGRvaW5nIGNvb3JkaW5hdGUgY29udmVyc2lvbnMgdG8gYW5kIGZyb20gc2NyZWVuIGNvb3JkaW5h
dGVzLgogICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgSW50UG9pbnQm
KSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA2MTI3MWFjY2M3NzM2MTc3
ZmM0NTE1MGI5NzViNDdlMzYxNzNlOWViLi45MGFkNmZhYTg4YmI1NDRlODc2OWNlNDA1NDhhZTRm
NTc0NDc4NWJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTUzNywxMSArNTM3LDExIEBA
IHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsQ29udGVudHMoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEpCiAgICAgaWYgKGNhbkJsaXRPblNjcm9sbCgpKSB7IC8vIFRoZSBtYWluIGZyYW1lIGNhbiBq
dXN0IGJsaXQgdGhlIFdlYlZpZXcgd2luZG93CiAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5
IHRvIHNjcm9sbCBzdWJmcmFtZXMgd2l0aCB0aGlzIGZhc3RlciBwYXRoCiAgICAgICAgIGlmICgh
c2Nyb2xsQ29udGVudHNGYXN0UGF0aCgtc2Nyb2xsRGVsdGEsIHNjcm9sbFZpZXdSZWN0LCBjbGlw
UmVjdCkpCi0gICAgICAgICAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVDb250ZW50c0ZvclNs
b3dTY3JvbGwodXBkYXRlUmVjdCwgZmFsc2UpOworICAgICAgICAgICAgaG9zdFdpbmRvdygpLT5p
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKC1zY3JvbGxEZWx0YSwgdXBkYXRlUmVjdCwg
ZmFsc2UpOwogICAgIH0gZWxzZSB7IAogICAgICAgIC8vIFdlIG5lZWQgdG8gZ28gYWhlYWQgYW5k
IHJlcGFpbnQgdGhlIGVudGlyZSBiYWNraW5nIHN0b3JlLiAgRG8gaXQgbm93IGJlZm9yZSBtb3Zp
bmcgdGhlCiAgICAgICAgLy8gd2luZG93ZWQgcGx1Z2lucy4KLSAgICAgICBob3N0V2luZG93KCkt
PmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwodXBkYXRlUmVjdCwgZmFsc2UpOworICAg
ICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCgtc2Nyb2xs
RGVsdGEsIHVwZGF0ZVJlY3QsIGZhbHNlKTsKICAgICB9CiAKICAgICAvLyBUaGlzIGNhbGwgd2ls
bCBtb3ZlIGNoaWxkcmVuIHdpdGggbmF0aXZlIHdpZGdldHMgKHBsdWdpbnMpIGFuZCBpbnZhbGlk
YXRlIHRoZW0gYXMgd2VsbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDUzYzE2YzhmYWY2ODMyOTAwNzM2YmU4
NzQyZDMzNWU1ZDk3ZTg4Y2MuLjRiMjU2NzlhODE1Zjg1YjcxMTMwNTdkY2ZiNjM2NGYyYmJiZDU1
NjkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVs
byBSZWNoaSBWaXRhICA8anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJl
cyB0byByZWZsZWN0IFdlYkNvcmUgQVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NzUwCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmludmFsaWRh
dGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBs
Lmg6CisgICAgICAgICogc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAg
ICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5oOgorCiAyMDEwLTA5LTEzICBKb25hdGhhbiBE
aXhvbiAgPGpvdGhAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXZlIEJs
b2NrLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggYzY2MmU2
MDY3OTViYzI0Y2I4OTRmNWI3MTY2ZDVkZTBhNTUyYzJkOS4uNWZiZmViY2UxZTIxMTVlYmVjNWM5
N2Q0MmNmMDNlNzdkYjQ3OTRlZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwCkBAIC01MDQsNyArNTA0LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm8KICNlbmRp
ZgogfQogCi12b2lkIENocm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dT
Y3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENo
cm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50
U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRp
YXRlKQogewogICAgIG1fd2ViVmlldy0+aGlkZVBvcHVwcygpOwogICAgIGludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAppbmRleCBkMTZkOGY2MzFlZDZjNjgxNDY0OGMyOTIyNDRkMDgzNzRm
MTcxNzkzLi41NzgxMzI0OTQ2NWNhOGZkMzMyZTM4NjhkOGMyNTIxZDVhNjE1NmNkIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgd2luZG93UmVzaXplclJlY3QoKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRv
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbCgKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Ny
b2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RUb1Njcm9sbCwKICAgICAgICAg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UG9wdXBNZW51SW1wbC5jcHAKaW5kZXggMDg1YTE1NzVlNTRiZjBlN2E0YWM4ZTU4NzhhMDM4NjA1
ODkyZTVkOS4uMjAyNjYwMzVhNGU1OWUwMDAwNGNiOGVlNTA1NTVjNDdkNmYyNTI5NCAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCkBAIC0yODksNyArMjg5LDcgQEAg
dm9pZCBXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3Qg
SW50UmVjdCYgcGFpbnRSZWN0LCBib28KICAgICAgICAgbV9jbGllbnQtPmRpZEludmFsaWRhdGVS
ZWN0KHBhaW50UmVjdCk7CiB9CiAKLXZvaWQgV2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVk
aWF0ZSkKK3ZvaWQgV2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgdXBkYXRlUmVj
dCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVw
ZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oCmluZGV4IDIyMWJhMDM4ZjJjNGM3MzZkNjc3ZmFiZmEzMjJlMDUxZjkwNDI2NGMuLmNjMTY5
NDg0ZjliMDQ3N2VlZmMyZWRkMzZhOGMyY2YxZjMzYjc0YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oCkBAIC0xMDMsNyArMTAzLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxp
ZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7
CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2Nyb2xsKAogICAgICAgICBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3Jv
bGxEZWx0YSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwKICAgICAgICAgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAwOWE4OTdjNjJjOGM1NjhiMjM0
ZTQyMTQwM2JhNjk2MWZkNGM1N2ZmLi5jZDE5NjJkMTUzMTJkMTEyNThhNmY2ZDIyNDJmOTU4Yzc1
Y2FiNTU2IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZWZs
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNo
aSBWaXRhICA8anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBNb3ZlIGJhY2tpbmctc3RvcmUgY29udGVu
dHMgb24gc2xvdyBzY3JvbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTc1MAorCisgICAgICAgIE1vdmUgdGhlIGJhY2tpbmctc3RvcmUgY29udGVu
dHMgdXNpbmcgc2Nyb2xsIGRpcmVjdGlvbi9vZmZzZXQKKyAgICAgICAgaW5mb3JtYXRpb24sIHNv
IHRoZXJlIGlzIGEgc21hbGxlciBhcmVhIHRvIGJlIHJlZHJhd24uIEFsc28gYWRkcyBhCisgICAg
ICAgIHBhcmFtZXRlciB0byBwYXNzIHRoaXMgaW5mb3JtYXRpb24gb24gV2ViQ29yZSBpbnRlcmZh
Y2UuCisKKyAgICAgICAgVGhlIEVGTCBwb3J0IGRvZXMgbm90IHN1cHBvcnQgYXV0b21hdGVkIHRl
c3RzIHlldC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
OgorCiAyMDEwLTA5LTExICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IDIxNzQ3YTFiMGRkNDczM2UwOGVjMTQ4
NDY0MDFlN2EyMmNmNTkxMTcuLmY1MjhiNzhjYzY4MjFiMGMyY2IwMzcxY2MyYzNjNTU1NjIzYWMy
ODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmNwcAorKysgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAK
QEAgLTQ4OCw5ICs0ODgsOSBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRl
bnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvbwogICAgIGV3a192aWV3
X3JlcGFpbnQobV92aWV3LCB4LCB5LCB3LCBoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRFZmw6
OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVj
dCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRl
bnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVj
dCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7Ci0gICAgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kV2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgZXdrX3ZpZXdfc2Nyb2xsKG1f
dmlldywgc2Nyb2xsRGVsdGEud2lkdGgoKSwgc2Nyb2xsRGVsdGEuaGVpZ2h0KCksIHVwZGF0ZVJl
Y3QueCgpLCB1cGRhdGVSZWN0LnkoKSwgdXBkYXRlUmVjdC53aWR0aCgpLCB1cGRhdGVSZWN0Lmhl
aWdodCgpLCB1cGRhdGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lkdGgo
KSwgdXBkYXRlUmVjdC5oZWlnaHQoKSwgRUlOQV9GQUxTRSk7CiB9CiAKIHZvaWQgQ2hyb21lQ2xp
ZW50RWZsOjpzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3Qm
IHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCmRpZmYgLS1naXQgYS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCBkOTM5YWU2ZDY5MzFmNDdjOTMyZTc1
YmM3MDAxYzYzNDVlYmI1M2FkLi41OGE2Y2FkZGQ5NjVjYzNhNGU2NWMzODJiZmZjZTU1YjdlNmIy
OTU4IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCisrKyBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAg
LTEzMiw3ICsxMzIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250
ZW50cyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVX
aW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Q29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOwotICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsK
KyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJ
bnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwo
Y29uc3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmly
dHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFt
ZSopOwogICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZywg
MHU+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhNzdiMmQ0NDMyZjg1Y2U0Y2Mw
YzgzMzMzZGM0ZDEzMzJiOWEyNTFkLi42YTA5MDEyNjZkYjc5OTUxOWU5NzQ4M2IzOTU1NzZlZGJk
ZDRjNjI4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNo
aSBWaXRhICA8anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJlcyB0byBy
ZWZsZWN0IFdlYkNvcmUgQVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ1NzUwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmludmFsaWRh
dGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5oOgorCiAyMDEwLTA5LTEzICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNo
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAg
Yi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggN2U0
MDkwYjg5ZGNmNjZiZDRmMDVkMDkxYmM0Yjc2ODc1M2VmYTFhZi4uZjAwNTU4MjJhNjk4MDYwYjk1
Yjc5ODkzOTliZjIyMDVjOGE3OGRlNyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmNwcApAQCAtMzU3LDcgKzM1Nyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50
OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwg
Ym9vbCBpCiAgICAgfQogfQogCi12b2lkIENocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkK
K3ZvaWQgQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0
IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGlt
bWVkaWF0ZSkKIHsKICAgICBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3codXBkYXRlUmVjdCwg
aW1tZWRpYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oCmluZGV4IDIxYzQ2NzcxYzY0ZWVjYzAzNmE1MTYxYTEzNDZjZGQ3OGQzNzE4M2EuLjI5ZTdj
YzFkOGVkZjQ5YzlmMzA1YjQ2NTM2ZDQ0YTZkNjcxMjkyZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtOTYsNyArOTYsNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Q29udGVudHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RU
b1Njcm9sbCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwogCiAgICAgICAgIHZp
cnR1YWwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9XZWJL
aXQvaGFpa3UvQ2hhbmdlTG9nCmluZGV4IDEyOWViODY5MTI4ODEwNzZkZWM3NDQ4NmEzNjg2ZGU2
NWU2M2IyOWYuLmViNzUwYjlhZDFmNjRjNjhjM2EzODdiMTk5N2Y1ZjBlOTFiMmJmODggMTAwNjQ0
Ci0tLSBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNoaSBWaXRhICA8
anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJlcyB0byByZWZsZWN0IFdl
YkNvcmUgQVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1NzUwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRI
YWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6aW52YWxpZGF0
ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuaDoKKwogMjAxMC0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dl
YktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAgYi9XZWJLaXQv
aGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCmluZGV4IDZjNTQ0MjQz
ZTQxZTYyNGVjNzg1NThiMzgzOGI3YTdiY2E2M2VmMGYuLjdiZjIxYjJkZjI0ZjU1MDMwMzUxYzk4
NzlmZGIyZDJkY2YyMjU4Y2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKKysrIGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEhhaWt1LmNwcApAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgQ2hyb21lQ2xp
ZW50SGFpa3U6OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9v
bCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudEhhaWt1Ojpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKQordm9p
ZCBDaHJvbWVDbGllbnRIYWlrdTo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25z
dCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYsIGJvb2wpCiB7CiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRIYWlrdS5oIGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEhhaWt1LmgKaW5kZXggNmE1YjM4MWY5ODVhNTAyY2M2ODE1MmVkOGE4NDk2OTZlZjJk
MTc5Mi4uMDE0MmZlOWRjYzBjZWYxZDBiMWRhYjljODFjZmRiMGRlZjNkZDViNCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKKysrIGIv
V2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKQEAgLTEwNSw3
ICsxMDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBpbnZhbGlkYXRl
V2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOwotICAgICAgICB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAgICAg
ICB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNv
bnN0IEludFJlY3QmLCBib29sKTsKICAgICAgICAgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYg
c2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYg
Y2xpcFJlY3QpOwogCiAgICAgICAgIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBv
aW50JikgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IGQzMDNmY2MxYThlZGVkZWVlMTUwYWY4MGYwNTg4NzE4OTc5MTZl
MzEuLmU1NWM4ZmUxODllYzlhMjJjMzI3MWFkNDI2OTkwMDg0YjA2YzVkODkgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHBy
b2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkg
Y2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU3NTAKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNo
cm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisKIDIwMTAtMDkt
MTMgIEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDVmM2I3Mjc5ZDAwYTYxMDU1MGUxYmY2NmNmMGY1YTZjZWY1YjgyOTIuLmQx
NjQxMjc4MmRkZjg0ZTBhY2JhNzY1YmI3NDM2N2FkYTk5MmJhMTQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTMsNyArOTMsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRv
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBjbGlwUmVjdCk7CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IHNjcmVlblRv
V2luZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDY4ZTE3YmVmNmRlNWJjNzE1NDRj
MGEwNTVmNTY2YzBmYjdjYmU3YTkuLjUzZTI2YmI5ZDJkNWE0N2FjMzk2NWZlNTBmZmYwZDUxOTUw
ZDhkODAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWUKICAgICB9CiB9CiAK
LXZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNv
bnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYmRiODE0NTFlMThh
OWRkYjliYjgzNTBiMTUzMjJmMTJkNDgyM2YxNC4uYzM3OWUwZjE5MTQ2NTE2NjAyYjhmYWRkOGFk
NzFjZWE1YTlhMzIyNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxv
IFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVz
IHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NTAKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0Ojpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRRdC5oOgorCiAyMDEwLTA4LTI3ICBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbiAgPGtlbm5ldGguY2hyaXN0aWFuc2VuQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcAppbmRleCA3NDA2NTUwNzMxMjE1NjQxZjNiZGQzOTA3ZjE3MWJiMTFhODJm
OTI2Li40NzEwZDQ4MjUyZjRhN2U5NTcwZDhkZmNkMzkyZGUzZTUyYzZmMjYzIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTM5Niw3ICszOTYsNyBA
QCB2b2lkIENocm9tZUNsaWVudFF0OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3Qg
SW50UmVjdCYgd2luZG93UmVjdCwgYm9vbAogICAgIC8vIGlzIHNldC4KIH0KIAotdm9pZCBDaHJv
bWVDbGllbnRRdDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0
JiB3aW5kb3dSZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6OmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyh3aW5kb3dSZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCBkMThmOTkzNzkyOGY2NDY5NDAz
OTgzYmU3MDUyNDc2OTQ0Njc2NmZjLi5kODFkMGViYWM2YmU5YTc2NTU3YTNiMjZmNTc4YTY0MmMx
ZjFhZjQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAt
MTEzLDcgKzExMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wp
OwotICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChj
b25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgYm9vbCk7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEs
IGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwog
CiAgICAgICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgSW50UG9pbnQm
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggMzY5MjQxYTY4ZjYyYWZkZmJlMDI0NjZhNmU0NDM2ZjI3ZmFhZDUyZS4u
YzU1M2NlOTVjNDUxYTBlODI2ZmM4MGViMTA1ZDg5ZDAzOTliMmZmYSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVz
aW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBjaGFu
Z2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTc1
MAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTAtMDktMTEg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCmluZGV4IDdhMDI1YTdmNjlkYTZlNTYwNWUxN2U3MTg0YTNjODdhMGE3YWQwM2IuLmMxMzdm
NDkxYjZjMzRiNjlkOTE3ODhhNDY4NTY2YTk5NzU1ZDAxMDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ3Myw3ICs0NzMsNyBAQCB2b2lk
IFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJl
Y3QmIHdpbmRvd1JlY3QsIGJvbwogICAgIG1fd2ViVmlldy0+cmVwYWludCh3aW5kb3dSZWN0LCB0
cnVlIC8qY29udGVudENoYW5nZWQqLywgaW1tZWRpYXRlIC8qaW1tZWRpYXRlKi8sIGZhbHNlIC8q
cmVwYWludENvbnRlbnRPbmx5Ki8pOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxp
ZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBib29s
IGltbWVkaWF0ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JT
bG93U2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB3aW5k
b3dSZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBBU1NFUlQoY29yZShtX3dlYlZpZXctPnRv
cExldmVsRnJhbWUoKSkpOwogICAgIG1fd2ViVmlldy0+cmVwYWludCh3aW5kb3dSZWN0LCB0cnVl
IC8qY29udGVudENoYW5nZWQqLywgaW1tZWRpYXRlLCB0cnVlIC8qcmVwYWludENvbnRlbnRPbmx5
Ki8pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
NWE3OTZlYjYxNTU4NjVkMDk5OWZkZDg0NzQ2NjdhODQ5NTc4MTc1OS4uMWZmNzFjNTcyOWM1ZDAz
ZTkxZmNmOTc5NDBlZTRjY2M0NGQ3ZGViMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0
KTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIHApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5n
ZUxvZyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMDI5MzU4OWRiNGRlMDMzNDBlYjQ3NmU3
MTU0NTBlMjllYmUyNGU5YS4uNWE3YjJlZGMxNWE0YWViMjA5MzNhNDY1MDgzZTMyZDIzNThkMGY2
YSAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxvIFJlY2hpIFZpdGEg
IDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVzIHRvIHJlZmxlY3Qg
V2ViQ29yZSBBUEkgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDU3NTAKKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6OmludmFsaWRhdGVDb250
ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guaDoKKwogMjAxMC0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmNwcAppbmRleCA5YzkwNTk2ZGE3ZjAzMGM3NDE3OGRlMzE5MzkxYjQy
NWJjY2Y4ZDQ3Li42ZjhhNTNkMmIyZTA5NmQ4OGFkMmUwMzhmM2UyOWM0ZDgzN2JhOWI1IDEwMDY0
NAotLS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKKysrIGIv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCkBAIC0zNDcsNyArMzQ3
LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0
JiByZWN0LCBib29sIGltbWVkaWF0ZSkKICAgICAgICAgbV93ZWJWaWV3LT5VcGRhdGUoKTsKIH0K
IAotdm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChj
b25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgQ2hyb21lQ2xpZW50V3g6
OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggNWI2MDQ0NjY1YTQ2ZTY2YmZjZGIzYjc1ZTVj
NTQ1ZTQ1ZDI0YTc4MC4uODRiY2M5Y2I0ZGQ2NzdlMzE3YWM0YWY2ZjJkMTJiYWIwYTY1M2IwNyAx
MDA2NDQKLS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysg
Yi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMDUsNyArMTA1
LDcgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNv
bnN0IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxp
ZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAgdmly
dHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYs
IGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IElu
dFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IElu
dFJlY3QmIGNsaXBSZWN0KTsKIAogICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3co
Y29uc3QgSW50UG9pbnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTIzNzU5NTBhNmE1NTJiYWVhN2MyNTNiNjlhNDUzYmVm
M2E5MzQzNS4uMTFlNzI4YzVjNTFlMmU0OTVmODUxZjEyZWRlMjRhNzQ4M2ExNTdhZCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJv
ZnVzaW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBj
aGFuZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTc1MAorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250
ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTAtMDktMTEgIERhbmllbCBCYXRlcyAgPGRiYXRlc0By
aW0uY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBRdCBMaW51eCBSZWxlYXNlIGJ1
aWxkIGFmdGVyIGNoYW5nZXNldCA2NzMxMiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvNjczMTI+LgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAxYWJlMWIwODJmYmE4YzNmMGU4MjA4NWI4NDJlNGQ1
MmJlMjgwMGFhLi4yYTNlNTY2Y2I3NGRlYmQ2ZTU5ZmM2ZGIxMDU0NTc0MTU3Y2YyN2M1IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtMzE3LDcgKzMxNyw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lCiAgICAg
bV9wYWdlLT5kcmF3aW5nQXJlYSgpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3cocmVjdCwg
aW1tZWRpYXRlKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lk
IFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJ
bnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUp
CiB7CiAgICAgbV9wYWdlLT5kcmF3aW5nQXJlYSgpLT5pbnZhbGlkYXRlQ29udGVudHNGb3JTbG93
U2Nyb2xsKHJlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWFmZmVmYWU5NmNjY2FkZjc2
OGVmMzYxMWM3MjFkZTE0MzdiZjMxNC4uNjlhYTYzN2NkMWViMGJlNzRiODUwN2ViM2YxMzA3ZGUw
ODEzMjI1YyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWV0
aG9kcyB1c2VkIGJ5IEhvc3RXaW5kb3cuCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5k
b3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwot
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRl
bnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RUb1Njcm9s
bCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25z
dDsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgd2luZG93VG9TY3JlZW4oY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69382</attachid>
            <date>2010-09-30 14:14:06 -0700</date>
            <delta_ts>2010-10-12 12:20:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45750-20100930181400.patch</filename>
            <type>text/plain</type>
            <size>30382</size>
            <attacher name="João Paulo Rechi Vita">jprvita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDQ5N2EyM2QzZTc2MjMzNDE5MDJkYzA3Yzg1M2I4MDQzOWUzZTc3MC4uNThkYmY4NjEzYWZlYjA5
ZTc4Yjc5NzVmYTc0NzE5ODg1NTkyNjdmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wOS0xMyAgSm/D
o28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNjcm9sbCBkZWx0YSBw
YXJhbWV0ZXIgdG8gc2xvdyBzY3JvbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NTc1MAorCisgICAgICAgIFdpdGggdGhpcyBpbmZvcm1hdGlvbiBp
cyBwb3NzaWJsZSB0byBtb3ZlIHRoZSBiYWNraW5nLXN0b3JlIGNvbnRlbnRzCisgICAgICAgIHVz
aW5nIG1lbWNweSgpIG9uIGlubmVyLWZyYW1lIHNsb3ctc2Nyb2xscywgdGh1cyBhdm9pZGluZyBy
ZWRyYXdpbmcgdGhlCisgICAgICAgIHdob2xlIHNjcm9sbGVkIGFyZWEgYW5kIGNvbnNlcXVlbnRs
eSBtYWtpbmcgdGhpcyBvcGVyYXRpb24gZmFzdGVyLiBUaGUKKyAgICAgICAgZGVsdGEgaXMgdXNl
ZCB0byBrbm93IHRoZSBkaXJlY3Rpb24gYW5kIGRpc3RhbmNlIHRoZSBwaXhlcyBzaGFsbCBiZQor
ICAgICAgICBtb3ZlZC4gVGhpcyBiZWhhdmlvdXIgaXMgaW1wbGVtZW50ZWQgb24gdGhlIEVGTCBw
b3J0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBmdW5jdGlvbmFsaXR5IHdhcyBj
aGFuZ2VkLgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwp
OgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogcGFnZS9DaHJvbWUu
aDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL0hv
c3RXaW5kb3cuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbENvbnRlbnRzKToKKwogMjAxMC0wOS0zMCAgQW5k
cmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
YnVpbGQgZml4IChtYXJrZWQgUmVzb3VyY2VSYXdIZWFkZXJzLmggYXMgcHJpdmF0ZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKaW5kZXggZmQyMDI1ODM3MGJiOWEzYWM1YzhhYjI1NjRiZjdmNDg4MjEwNzhm
OC4uYzUwMTc4ZjVhNmEwZWY2OGQxMTcwNjJhZWM2NjlhZDVjNTExMGJmZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE0Nyw3ICsxNDcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9
Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3Qg
SW50UmVjdCYsIGJvb2wpIHt9OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgYm9vbCkge307CiAg
ICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGNv
bnN0IEludFJlY3QmKSB7IH0KIAogICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3co
Y29uc3QgSW50UG9pbnQmIHApIGNvbnN0IHsgcmV0dXJuIHA7IH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggOGZlZWRj
ZWE0M2Q4ZWFhZTBhMzI1MDcxMWI1MDE0YjA0N2M5ZjhjYi4uMDI0ZWQ4ZmY5MGYyOTk3OTg1OTNk
ZTczZDE2Zjk2ZmE5YTkyMWQ4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTc3LDkgKzc3LDkgQEAgdm9pZCBDaHJv
bWU6OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
LCBib29sIGltbWVkaWEKICAgICBtX2NsaWVudC0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAKLXZvaWQgQ2hyb21lOjppbnZhbGlkYXRlQ29u
dGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRp
YXRlKQordm9pZCBDaHJvbWU6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3Qg
SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1t
ZWRpYXRlKQogewotICAgIG1fY2xpZW50LT5pbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xs
KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgbV9jbGllbnQtPmludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoc2Nyb2xsRGVsdGEsIHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAK
IHZvaWQgQ2hyb21lOjpzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IElu
dFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNWVl
ODg5N2RmM2Y1NjRhNjIwNTEzMzk3OWIwYzRkYThiNjdjNTQ0Mi4uYmY3MTE4MjU5OTViMTA1NGFh
M2RlMzBhN2IzYTg3NjRiMWQ2NTM0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
CisrKyBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtNjYsNyArNjYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3Qg
SW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJ
bnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Ny
b2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpOwogICAg
ICAgICB2aXJ0dWFsIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29u
c3Q7CiAgICAgICAgIHZpcnR1YWwgSW50UmVjdCB3aW5kb3dUb1NjcmVlbihjb25zdCBJbnRSZWN0
JikgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNzU0MjYxNTAwNjdkNWMzZDI3Yzc5N2IzNTdm
MjQ4YjQ2ZmI2ZDM1YS4uZjUxMzQ2YjIzYzc0MmMyMDIzYTNhYzU3Njc3ZTU3ODRiZDQxMjk4YyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaApAQCAtMTM3LDcgKzEzNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgLy8gTWV0aG9kcyB1c2VkIGJ5IEhvc3RXaW5kb3cuCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYs
IGJvb2wpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNs
b3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNvbnN0IElu
dFJlY3QmLCBib29sKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50
U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgPSAwOwogICAgICAgICB2aXJ0
dWFsIEludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IEludFBvaW50JikgY29uc3QgPSAwOwog
ICAgICAgICB2aXJ0dWFsIEludFJlY3Qgd2luZG93VG9TY3JlZW4oY29uc3QgSW50UmVjdCYpIGNv
bnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggYjBlZTY1Mzg3MDc0NWJlNDM4YzhkZGEz
MDY1MDNiOTFlN2YwOTg4MC4uZjk4NThjMzA4ZWM1NWE0MmYyZGIxYWE3ZjU5MzY3YzU0MzY0ZGNk
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJl
Y3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpID0gMDsKIAogICAgIC8v
IFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIGNvbnRlbnRzLCBub3QgdGhlIHdpbmRv
dy4gIFRoaXMgaXMgdGhlIHNsb3cgcGF0aCBmb3Igc2Nyb2xsaW5nLgotICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QsIGJvb2wgaW1tZWRpYXRlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250
ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJl
Y3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKSA9IDA7CiAgICAgCiAgICAgLy8gTWV0aG9k
cyBmb3IgZG9pbmcgY29vcmRpbmF0ZSBjb252ZXJzaW9ucyB0byBhbmQgZnJvbSBzY3JlZW4gY29v
cmRpbmF0ZXMuCiAgICAgdmlydHVhbCBJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJbnRQ
b2ludCYpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IDUwYTFmNWI2ZTg4
ZTUwMGM4NWU2MTU0NmZiM2QwZTc2NzczYjRiOTMuLjhiNzQyOTUxMWEwZjI4YzU1MTI2NjY3Nzk3
NTljMTcwZGEwZTE0ZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNTQ1LDExICs1NDUs
MTEgQEAgdm9pZCBTY3JvbGxWaWV3OjpzY3JvbGxDb250ZW50cyhjb25zdCBJbnRTaXplJiBzY3Jv
bGxEZWx0YSkKICAgICBpZiAoY2FuQmxpdE9uU2Nyb2xsKCkpIHsgLy8gVGhlIG1haW4gZnJhbWUg
Y2FuIGp1c3QgYmxpdCB0aGUgV2ViVmlldyB3aW5kb3cKICAgICAgICAgLy8gRklYTUU6IEZpbmQg
YSB3YXkgdG8gc2Nyb2xsIHN1YmZyYW1lcyB3aXRoIHRoaXMgZmFzdGVyIHBhdGgKICAgICAgICAg
aWYgKCFzY3JvbGxDb250ZW50c0Zhc3RQYXRoKC1zY3JvbGxEZWx0YSwgc2Nyb2xsVmlld1JlY3Qs
IGNsaXBSZWN0KSkKLSAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbCh1cGRhdGVSZWN0LCBmYWxzZSk7CisgICAgICAgICAgICBob3N0V2luZG93
KCktPmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoLXNjcm9sbERlbHRhLCB1cGRhdGVS
ZWN0LCBmYWxzZSk7CiAgICAgfSBlbHNlIHsgCiAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBhaGVh
ZCBhbmQgcmVwYWludCB0aGUgZW50aXJlIGJhY2tpbmcgc3RvcmUuICBEbyBpdCBub3cgYmVmb3Jl
IG1vdmluZyB0aGUKICAgICAgICAvLyB3aW5kb3dlZCBwbHVnaW5zLgotICAgICAgIGhvc3RXaW5k
b3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCh1cGRhdGVSZWN0LCBmYWxzZSk7
CisgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKC1z
Y3JvbGxEZWx0YSwgdXBkYXRlUmVjdCwgZmFsc2UpOwogICAgIH0KIAogICAgIC8vIFRoaXMgY2Fs
bCB3aWxsIG1vdmUgY2hpbGRyZW4gd2l0aCBuYXRpdmUgd2lkZ2V0cyAocGx1Z2lucykgYW5kIGlu
dmFsaWRhdGUgdGhlbSBhcyB3ZWxsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZWM0NmNkNDc2YTNhYjQyZWUw
NzNmMjI0YmYyY2M5MThkZDNjZTljMy4uOTAyNmQ2MTM5ZTc2N2EzNWJkMjU3OTNmYTgxYzgzMzUy
MGQxNTQwNyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTMgIEpvw6Nv
IFBhdWxvIFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWdu
YXR1cmVzIHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NTAKKworICAgICAgICAqIHNyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6aW52
YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVu
dEltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwp
OgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisKIDIwMTAtMDktMjkgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQ
YXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5k
ZXggNWY3MDJlMDIwMjdiNmU2NjFhMzdiODRhMGJjMTlhNGY0MmJiYmY5ZS4uYjM2NzkxZTY0NDQ2
MDQzYjBiOGUxMmRjMWU4YTFlODQ3OWUyZDU0YSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwCkBAIC01NDUsNyArNTQ1LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBs
OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwg
Ym8KICNlbmRpZgogfQogCi12b2lkIENocm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUp
Cit2b2lkIENocm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJv
b2wgaW1tZWRpYXRlKQogewogICAgIG1fd2ViVmlldy0+aGlkZVBvcHVwcygpOwogICAgIGludmFs
aWRhdGVDb250ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCAwMmYxZGU2M2ZhNzdkYmMyODg3MmJhZjBk
Y2YwZDU5ZDg2OGMwZGQ4Li5jN2Q4MzBiOTZiMmQxYjMxYTQyNWNjOThiNGNmNDRmNzg3ZWIwOTRh
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMTAzLDcgKzEwMyw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgd2luZG93UmVzaXplclJl
Y3QoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50
c0FuZFdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Ny
b2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbCgKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RUb1Njcm9sbCwK
ICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKaW5kZXggMDg1YTE1NzVlNTRiZjBlN2E0YWM4ZTU4
NzhhMDM4NjA1ODkyZTVkOS4uMjAyNjYwMzVhNGU1OWUwMDAwNGNiOGVlNTA1NTVjNDdkNmYyNTI5
NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAor
KysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCkBAIC0yODksNyAr
Mjg5LDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5k
b3coY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBib28KICAgICAgICAgbV9jbGllbnQtPmRpZElu
dmFsaWRhdGVSZWN0KHBhaW50UmVjdCk7CiB9CiAKLXZvaWQgV2ViUG9wdXBNZW51SW1wbDo6aW52
YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBi
b29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYg
dXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5k
V2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9w
dXBNZW51SW1wbC5oCmluZGV4IDIyMWJhMDM4ZjJjNGM3MzZkNjc3ZmFiZmEzMjJlMDUxZjkwNDI2
NGMuLmNjMTY5NDg0ZjliMDQ3N2VlZmMyZWRkMzZhOGMyY2YxZjMzYjc0YmQgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCkBAIC0xMDMsNyArMTAzLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3Jv
bGwoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29s
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKAogICAgICAgICBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBzY3JvbGxEZWx0YSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwKICAg
ICAgICAgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA3NjU5YmUwNGRk
NzIwMjVhMmRlMTFmNmVkYjMwNWFhODI2NGI4ZTQwLi5lMjJlYzRjOGZkNGFiNTYzZGYyOGU3N2Q4
ZmIwMmYzMjJmNDNkMWY0IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEwLTA5LTEzICBKb8OjbyBQ
YXVsbyBSZWNoaSBWaXRhICA8anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBNb3ZlIGJhY2tpbmctc3Rv
cmUgY29udGVudHMgb24gc2xvdyBzY3JvbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTc1MAorCisgICAgICAgIE1vdmUgdGhlIGJhY2tpbmctc3Rv
cmUgY29udGVudHMgdXNpbmcgc2Nyb2xsIGRpcmVjdGlvbi9vZmZzZXQKKyAgICAgICAgaW5mb3Jt
YXRpb24sIHNvIHRoZXJlIGlzIGEgc21hbGxlciBhcmVhIHRvIGJlIHJlZHJhd24uIEFsc28gYWRk
cyBhCisgICAgICAgIHBhcmFtZXRlciB0byBwYXNzIHRoaXMgaW5mb3JtYXRpb24gb24gV2ViQ29y
ZSBpbnRlcmZhY2UuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gbWFrZSBzbG93IGlubmVyLWZyYW1l
IHNjcm9sbHMgZmFzdGVyLCB3ZSB3YW50IHRvIHVzZQorICAgICAgICBld2tfdmlld19zY3JvbGwo
KSBbMF0gdG8gaGFuZGxlIHNsb3cgc2Nyb2xscy4gSXQgYmFzaWNhbGx5IGFkZHMgdGhlCisgICAg
ICAgIHNjcm9sbCByZXF1ZXN0IHRvIGEgc2Nyb2xsLXJlcXVlc3RzIGFycmF5IHRoYXQgaXMgbGF0
dGVyIHByb2Nlc3NlZCBieQorICAgICAgICBfZXdrX3ZpZXdfc2luZ2xlX3Njcm9sbF9wcm9jZXNz
X3NpbmdsZSgpIFsxXSwgd2hpY2ggYW5hbHl6ZXMgdGhlIHNjcm9sbAorICAgICAgICBkaXJlY3Rp
b24gYW5kIG9mZnNldCAodXNpbmcgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIHRocm91Z2gKKyAg
ICAgICAgc2Nyb2xsRGVsdGEpIGFuZCBtb3ZlIHRoZSBiYWNraW5nLXN0b3JlIGNvbnRlbnRzIHRo
YXQgYXJlIHN0aWxsIGdvaW5nCisgICAgICAgIHRvIGJlIHZpc2libGUgaW4gdGhlIHNjcm9sbGVk
IGRpcmVjdGlvbiB3aXRoIG1lbWNweSgpLCBzbyBhIHNtYWxsZXIgYXJlYQorICAgICAgICBpcyBs
ZWZ0IHRvIGJlIHJlcGFpbnRlZC4KKworICAgICAgICBbMF0gV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCisgICAgICAgIFsxXSBXZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuYworCisg
ICAgICAgIFRoZSBFRkwgcG9ydCBkb2VzIG5vdCBzdXBwb3J0IGF1dG9tYXRlZCB0ZXN0cyB5ZXQu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Ny
b2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKwogMjAx
MC0wOS0yOSAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCAyMTc0N2ExYjBkZDQ3MzNlMDhl
YzE0ODQ2NDAxZTdhMjJjZjU5MTE3Li5mNTI4Yjc4Y2M2ODIxYjBjMmNiMDM3MWNjMmMzYzU1NTYy
M2FjMjg1IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5jcHAKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCkBAIC00ODgsOSArNDg4LDkgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVD
b250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib28KICAgICBld2tf
dmlld19yZXBhaW50KG1fdmlldywgeCwgeSwgdywgaCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50
RWZsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHVwZGF0
ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVD
b250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewotICAgIGludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOworICAgIGV3a192aWV3X3Njcm9s
bChtX3ZpZXcsIHNjcm9sbERlbHRhLndpZHRoKCksIHNjcm9sbERlbHRhLmhlaWdodCgpLCB1cGRh
dGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVj
dC5oZWlnaHQoKSwgdXBkYXRlUmVjdC54KCksIHVwZGF0ZVJlY3QueSgpLCB1cGRhdGVSZWN0Lndp
ZHRoKCksIHVwZGF0ZVJlY3QuaGVpZ2h0KCksIEVJTkFfRkFMU0UpOwogfQogCiB2b2lkIENocm9t
ZUNsaWVudEVmbDo6c2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggZDkzOWFlNmQ2OTMxZjQ3Yzkz
MmU3NWJjNzAwMWM2MzQ1ZWJiNTNhZC4uNThhNmNhZGRkOTY1Y2MzYTRlNjVjMzgyYmZmY2U1NWI3
ZTZiMjk1OCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaAorKysgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
CkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Q29udGVudHMoY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxp
ZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiwgYm9v
bCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29u
c3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Ny
b2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpOwogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUo
RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmcsIDB1PiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYzYwMmFjMTJiZWExMmQ5
MTY2MjUxYjU1YjY2MzNmMGRmOTZkODNmYi4uZjhkY2VlODEwYzY4M2IxOTYwNTA4ODMwZmFjNTA2
ODg4ZjBhMDAzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8g
UmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMg
dG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBjaGFuZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTc1MAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjppbnZh
bGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaDoKKwogMjAxMC0wOS0yOCAgSmVubiBCcmFpdGh3YWl0ZSAgPGplbm5i
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggN2U0MDkw
Yjg5ZGNmNjZiZDRmMDVkMDkxYmM0Yjc2ODc1M2VmYTFhZi4uZjAwNTU4MjJhNjk4MDYwYjk1Yjc5
ODkzOTliZjIyMDVjOGE3OGRlNyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcApAQCAtMzU3LDcgKzM1Nyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50Ojpp
bnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9v
bCBpCiAgICAgfQogfQogCi12b2lkIENocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9y
U2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkKK3Zv
aWQgQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IElu
dFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVk
aWF0ZSkKIHsKICAgICBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3codXBkYXRlUmVjdCwgaW1t
ZWRpYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5o
CmluZGV4IDIxYzQ2NzcxYzY0ZWVjYzAzNmE1MTYxYTEzNDZjZGQ3OGQzNzE4M2EuLjI5ZTdjYzFk
OGVkZjQ5YzlmMzA1YjQ2NTM2ZDQ0YTZkNjcxMjkyZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtOTYsNyArOTYsNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29u
dGVudHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiwgYm9vbCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVu
dHNGb3JTbG93U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RUb1Nj
cm9sbCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwogCiAgICAgICAgIHZpcnR1
YWwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9XZWJLaXQv
aGFpa3UvQ2hhbmdlTG9nCmluZGV4IGQ1NWNlNzFlMzYxNmRjYTMzNTIxMzM5MDIwYzVjNWNmZjQw
OWZlODMuLjU3ZTY4Njk5YTRjMjllMGVhM2MwOTY0YzBiYjUwMDlhYmFhZmIzYjEgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNoaSBWaXRhICA8anBy
dml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJlcyB0byByZWZsZWN0IFdlYkNv
cmUgQVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ1NzUwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlr
dS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6aW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50SGFpa3UuaDoKKwogMjAxMC0wOS0yOCAgSmVubiBCcmFpdGh3YWl0ZSAgPGplbm5iQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQg
YS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwIGIvV2Vi
S2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcAppbmRleCA2YzU0
NDI0M2U0MWU2MjRlYzc4NTU4YjM4MzhiN2E3YmNhNjNlZjBmLi43YmYyMWIyZGYyNGY1NTAzMDM1
MWM5ODc5ZmRiMmQyZGNmMjI1OGNkIDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCisrKyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKQEAgLTI2OCw3ICsyNjgsNyBAQCB2b2lkIENocm9t
ZUNsaWVudEhhaWt1OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYs
IGJvb2wpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRIYWlr
dTo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiwgYm9vbCkK
K3ZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmLCBib29sKQogewogICAg
IG5vdEltcGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaCBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRIYWlrdS5oCmluZGV4IDZhNWIzODFmOTg1YTUwMmNjNjgxNTJlZDhhODQ5Njk2
ZWYyZDE3OTIuLjAxNDJmZTlkY2MwY2VmMWQwYjFkYWI5YzgxY2ZkYjBkZWYzZGQ1YjQgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCisr
KyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCkBAIC0x
MDUsNyArMTA1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgaW52YWxp
ZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZvaWQgaW52YWxpZGF0
ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICAgICAgdm9pZCBp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAg
ICAgICAgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUm
LCBjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgICAgIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNp
emUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJl
Y3QmIGNsaXBSZWN0KTsKIAogICAgICAgICBJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJ
bnRQb2ludCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCBkNzA3NzIwNjE1M2E4YmVlYzgzZDY0ZGQzODFlYjZiNzFm
OTZiYWE0Li4zOWNkYTEyYzkyYjQ0ZmRmNzZmNTA3NzQ5MTdmNjAyNGVjNjk2NTgxIDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBKb8OjbyBQYXVsbyBSZWNoaSBWaXRhICA8anBydml0
YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2lnbmF0dXJlcyB0byByZWZsZWN0IFdlYkNvcmUg
QVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ1NzUwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChX
ZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgorCiAyMDEw
LTA5LTI4ICBKb2hubnkgRGluZyAgPGpuZEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDVmM2I3Mjc5ZDAwYTYxMDU1MGUxYmY2NmNmMGY1YTZjZWY1YjgyOTIuLmQx
NjQxMjc4MmRkZjg0ZTBhY2JhNzY1YmI3NDM2N2FkYTk5MmJhMTQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTMsNyArOTMsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRv
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBjbGlwUmVjdCk7CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IHNjcmVlblRv
V2luZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDY4ZTE3YmVmNmRlNWJjNzE1NDRj
MGEwNTVmNTY2YzBmYjdjYmU3YTkuLjUzZTI2YmI5ZDJkNWE0N2FjMzk2NWZlNTBmZmYwZDUxOTUw
ZDhkODAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWUKICAgICB9CiB9CiAK
LXZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNv
bnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMjhkNzBhOTQ1M2Q3
OWJiMTBhMDc2YTg1ZGVmMjlmNWU1YTc2MzcyYy4uY2Y0NWM5MDQxODc0ZWY5OWVhOGMyOGM5YWY5
MGFlYmM3MzE1M2U0OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMTMgIEpvw6NvIFBhdWxv
IFJlY2hpIFZpdGEgIDxqcHJ2aXRhQHByb2Z1c2lvbi5tb2JpPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBzaWduYXR1cmVz
IHRvIHJlZmxlY3QgV2ViQ29yZSBBUEkgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NTAKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0Ojpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRRdC5oOgorCiAyMDEwLTA5LTMwICBBbmRyZWFzIEtsaW5nICA8YW5kcmVh
cy5rbGluZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9yIEFybmUgVmVzdGLD
uC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IDlm
YmM1ZTU0YjEzOTdiOGVjYzBjZmM1OTZiMjNkZmYwYTIwMjc2N2IuLmJjYTkxNWNjOWQ3NDFjNGQ2
YzAxODM0NWZiY2U1MzE5Y2NhZjEyZWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmNwcApAQCAtMzk5LDcgKzM5OSw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6
OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBi
b29sCiAgICAgLy8gaXMgc2V0LgogfQogCi12b2lkIENocm9tZUNsaWVudFF0OjppbnZhbGlkYXRl
Q29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wgaW1t
ZWRpYXRlKQordm9pZCBDaHJvbWVDbGllbnRRdDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgd2luZG93UmVj
dCwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHdp
bmRvd1JlY3QsIGltbWVkaWF0ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCmluZGV4IDU2ODAxYWEwYTdiNzFlMTk3ZDI1ZjM2NjA1OWI0YjI2MWMwNGY0ZmIu
LmQ4ZGU4YmUzNmU4ODM2NmY1NzU5OTI2MWQyZTQxYTQ1NmFiNmY2ZGUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xMTMsNyArMTEzLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNv
bnN0IEludFJlY3QmLCBib29sKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsK
KyAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29u
c3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICAgICAgdmlydHVhbCB2b2lk
IHNjcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRv
U2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAKICAgICAgICAgdmlydHVhbCBJbnRQ
b2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA0OTMzYjI0
NTg1Nzc3MTFhOWQwMjE4NGQ3MjFmMjE0ZTM3ZmFlYTE0Li4zZTVmOGVmZmFlYzUzYWU0NDZlMTlk
NTM4ZTEwNGQ0M2ZlMTU4OTQzIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBKb8Oj
byBQYXVsbyBSZWNoaSBWaXRhICA8anBydml0YUBwcm9mdXNpb24ubW9iaT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gc2ln
bmF0dXJlcyB0byByZWZsZWN0IFdlYkNvcmUgQVBJIGNoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NzUwCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50Ojpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMC0wOS0yOCAgSmVubiBCcmFpdGh3YWl0ZSAgPGpl
bm5iQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAg
Yi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggN2Ew
MjVhN2Y2OWRhNmU1NjA1ZTE3ZTcxODRhM2M4N2EwYTdhZDAzYi4uYzEzN2Y0OTFiNmMzNGI2OWQ5
MTc4OGE0Njg1NjZhOTk3NTVkMDEwNiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDczLDcgKzQ3Myw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgd2luZG93UmVj
dCwgYm9vCiAgICAgbV93ZWJWaWV3LT5yZXBhaW50KHdpbmRvd1JlY3QsIHRydWUgLypjb250ZW50
Q2hhbmdlZCovLCBpbW1lZGlhdGUgLyppbW1lZGlhdGUqLywgZmFsc2UgLypyZXBhaW50Q29udGVu
dE9ubHkqLyk7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wgaW1tZWRpYXRlKQor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29u
c3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wg
aW1tZWRpYXRlKQogewogICAgIEFTU0VSVChjb3JlKG1fd2ViVmlldy0+dG9wTGV2ZWxGcmFtZSgp
KSk7CiAgICAgbV93ZWJWaWV3LT5yZXBhaW50KHdpbmRvd1JlY3QsIHRydWUgLypjb250ZW50Q2hh
bmdlZCovLCBpbW1lZGlhdGUsIHRydWUgLypyZXBhaW50Q29udGVudE9ubHkqLyk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA1YTc5NmViNjE1NTg2
NWQwOTk5ZmRkODQ3NDY2N2E4NDk1NzgxNzU5Li4xZmY3MWM1NzI5YzVkMDNlOTFmY2Y5Nzk0MGVl
NGNjYzQ0ZDdkZWIxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTk2LDcgKzk2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xs
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxp
ZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJl
Y3RUb1Njcm9sbCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOwogCiAgICAgdmly
dHVhbCBXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Ub1dpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgcCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvV2ViS2l0
L3d4L0NoYW5nZUxvZwppbmRleCBhYmJjODdiODc5OWZhNzliMGJlNmM1OWVlNWRlNWE3ODM0MmM2
ODczLi4yZTAzNWNiOTMyN2M5OWIzYTQzNmUyMWM4NTM5MTg0ODEyZGZlMjhhIDEwMDY0NAotLS0g
YS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJv
ZnVzaW9uLm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBj
aGFuZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTc1MAorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorCiAyMDEw
LTA5LTI4ICBKZW5uIEJyYWl0aHdhaXRlICA8amVubmJAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmNwcAppbmRleCAxMWM1NjQzMDBmNzYwYTViZmE5OTg1NTM5MDUzYjYzNTVkMWJl
MGI1Li5lOThkZjBmNDczZjU5YjEyOWI4NTcyZmZjODQ4MGZkYjQwNTZmYmMxIDEwMDY0NAotLS0g
YS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKKysrIGIvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCkBAIC0zNDcsNyArMzQ3LDcgQEAg
dm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiByZWN0
LCBib29sIGltbWVkaWF0ZSkKICAgICAgICAgbV93ZWJWaWV3LT5VcGRhdGUoKTsKIH0KIAotdm9p
ZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJ
bnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgQ2hyb21lQ2xpZW50V3g6OmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyhyZWN0LCBpbW1lZGlhdGUpOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggNWI2MDQ0NjY1YTQ2ZTY2YmZjZGIzYjc1ZTVjNTQ1ZTQ1
ZDI0YTc4MC4uODRiY2M5Y2I0ZGQ2NzdlMzE3YWM0YWY2ZjJkMTJiYWIwYTY1M2IwNyAxMDA2NDQK
LS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMDUsNyArMTA1LDcgQEAg
cHVibGljOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IElu
dFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2lu
ZG93KGNvbnN0IEludFJlY3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50U2l6ZSYsIGNvbnN0
IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUm
IHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3Qm
IGNsaXBSZWN0KTsKIAogICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9XaW5kb3coY29uc3Qg
SW50UG9pbnQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggZmJlMGE5OTE1NWE0NWE0NTcwYTUwNmNlNjk3MTM4NjY0YzgxZjUw
ZS4uNzkzNGQ3YTlhZjE3YzdlODcwNjJlYzc1MTRiZWVjNzRkNDExN2U0YyAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMC0wOS0xMyAgSm/Do28gUGF1bG8gUmVjaGkgVml0YSAgPGpwcnZpdGFAcHJvZnVzaW9u
Lm1vYmk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGZ1bmN0aW9uIHNpZ25hdHVyZXMgdG8gcmVmbGVjdCBXZWJDb3JlIEFQSSBjaGFuZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTc1MAor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisKIDIwMTAtMDktMjkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmlu
ZGV4IDkzYzQxOWQ4ZGFlOTVmYjgyZWE2NTg1OWIzZDc0Y2Y2MTg2N2VkNTUuLmRiMGNlMWRlZWMz
NzU0MjQyN2NiZTNkNzhkZGE0Y2RhZWMwYmRiMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0zMTIsNyArMzEy
LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhj
b25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWUKICAgICBtX3BhZ2UtPmRyYXdpbmdBcmVhKCkt
PmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBpbW1lZGlhdGUpOwogfQogCi12b2lk
IFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJ
bnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZh
bGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBj
b25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBtX3BhZ2UtPmRyYXdp
bmdBcmVhKCktPmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwocmVjdCwgaW1tZWRpYXRl
KTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCA0MTlhNmM5YWU5ODgwNzU2YjQyMDU2OWViZWJmNzM5MjA5NjQ2ZGJm
Li41NzIxNjNlYzY5ZTY4MDdjYTE0OWI4NmMyMmY1YzVmODJiNDZhNWI0IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0x
MDMsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXRob2RzIHVzZWQgYnkgSG9zdFdpbmRv
dy4KICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRv
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wp
OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBjbGlwUmVjdCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Ub1dp
bmRvdyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6SW50UmVjdCB3aW5kb3dUb1NjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Q7
Cg==
</data>
<flag name="review"
          id="59068"
          type_id="1"
          status="-"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="59069"
          type_id="3"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>70551</attachid>
            <date>2010-10-12 12:03:33 -0700</date>
            <delta_ts>2010-10-12 12:03:33 -0700</delta_ts>
            <desc>Test case demonstrating why this patch is wrong.</desc>
            <filename>overlap.html</filename>
            <type>text/html</type>
            <size>193</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cuYXBwbGUuY29tIiB3aWR0aD0zMDAgaGVpZ2h0PTMwMCBz
dHlsZT0iYm9yZGVyOjJweCBzb2xpZCBibGFjayI+PC9pZnJhbWU+CjxkaXYgc3R5bGU9InBvc2l0
aW9uOmFic29sdXRlO3RvcDotMTAwcHg7d2lkdGg6MjUwcHg7aGVpZ2h0OjMwMHB4O2JhY2tncm91
bmQtY29sb3I6Z3JlZW4iPjwvZGl2Pg==
</data>

          </attachment>
      

    </bug>

</bugzilla>