<?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>98514</bug_id>
          
          <creation_ts>2012-10-05 06:38:13 -0700</creation_ts>
          <short_desc>[Qt] Fix &quot;ASSERTION FAILED: !document-&gt;inPageCache()&quot; when loading a page</short_desc>
          <delta_ts>2012-10-22 02:58:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>735606</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-05 06:38:13 -0700</bug_when>
    <thetext>[Qt] Fix &quot;ASSERTION FAILED: !document-&gt;inPageCache()&quot; when loading a page</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735611</commentid>
    <comment_count>1</comment_count>
      <attachid>167321</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-05 06:55:36 -0700</bug_when>
    <thetext>Created attachment 167321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735628</commentid>
    <comment_count>2</comment_count>
      <attachid>167321</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-05 07:29:08 -0700</bug_when>
    <thetext>Comment on attachment 167321
Patch

Attachment 167321 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14176534</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735672</commentid>
    <comment_count>3</comment_count>
      <attachid>167321</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-05 09:00:31 -0700</bug_when>
    <thetext>Comment on attachment 167321
Patch

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

is this covered by tests? ie, the restore from history?

&gt; Source/WebCore/page/Frame.cpp:780
&gt; +void Frame::createView(const IntSize&amp; viewportSize, const Color&amp; backgroundColor, bool transparent,
&gt; +    const IntSize&amp; fixedLayoutSize, const IntRect&amp; fixedVisibleContentRect ,
&gt; +    bool useFixedLayout, ScrollbarMode horizontalScrollbarMode, bool horizontalLock,
&gt; +    ScrollbarMode verticalScrollbarMode, bool verticalLock)

Shouldnt this not just be one line

&gt; Source/WebCore/page/Frame.h:88
&gt; -        void createView(const IntSize&amp;, const Color&amp;, bool, const IntSize&amp;, bool,
&gt; -            ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
&gt; +        void createView(const IntSize&amp;, const Color&amp;, bool,
&gt; +            const IntSize&amp; fixedLayoutSize = IntSize(), const IntRect&amp; fixedVisibleContentRect = IntRect(),
&gt; +            bool useFixedLayout = false, ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
&gt;              ScrollbarMode = ScrollbarAuto, bool verticalLock = false);

It is getting a bit confusing with all the defaults. Doesn&apos;t some of the fixed* ones imply others? ie. if you have a fixedlayoutsize isn&apos;t that the same as useFixedLayout == true?

&gt; Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp:271
&gt;      const QSize preferredLayoutSize = page-&gt;preferredContentsSize();
&gt;  
&gt; +
&gt;      ScrollbarMode hScrollbar = (ScrollbarMode) m_webFrame-&gt;scrollBarPolicy(Qt::Horizontal);

unrelated change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736601</commentid>
    <comment_count>4</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-08 02:50:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 167321 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167321&amp;action=review
&gt; 
&gt; is this covered by tests? ie, the restore from history?
This assert is currently triggered by the QML tests, layout tests don&apos;t have the page cache enabled.

&gt; 
&gt; &gt; Source/WebCore/page/Frame.cpp:780
&gt; &gt; +void Frame::createView(const IntSize&amp; viewportSize, const Color&amp; backgroundColor, bool transparent,
&gt; &gt; +    const IntSize&amp; fixedLayoutSize, const IntRect&amp; fixedVisibleContentRect ,
&gt; &gt; +    bool useFixedLayout, ScrollbarMode horizontalScrollbarMode, bool horizontalLock,
&gt; &gt; +    ScrollbarMode verticalScrollbarMode, bool verticalLock)
&gt; 
&gt; Shouldnt this not just be one line
That would be a pretty long line and I think it&apos;s more readable like this, I just aligned it to 4-spaces to make the style check happy.

&gt; 
&gt; &gt; Source/WebCore/page/Frame.h:88
&gt; &gt; -        void createView(const IntSize&amp;, const Color&amp;, bool, const IntSize&amp;, bool,
&gt; &gt; -            ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
&gt; &gt; +        void createView(const IntSize&amp;, const Color&amp;, bool,
&gt; &gt; +            const IntSize&amp; fixedLayoutSize = IntSize(), const IntRect&amp; fixedVisibleContentRect = IntRect(),
&gt; &gt; +            bool useFixedLayout = false, ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
&gt; &gt;              ScrollbarMode = ScrollbarAuto, bool verticalLock = false);
&gt; 
&gt; It is getting a bit confusing with all the defaults. Doesn&apos;t some of the fixed* ones imply others? ie. if you have a fixedlayoutsize isn&apos;t that the same as useFixedLayout == true?
Yep !fixedLayoutSize.isEmpty() || !fixedVisibleContentRect.isEmpty() requires that useFixedLayout == true.
I have to admit that this is ugly, ideally there would be a way to call those setters directly on the view from the outside in a way that wouldn&apos;t trigger a layout (before it gets attached) but this would be a much bigger change.
I could remove the useFixedLayout = false and deduce it from the above, tell me what you think.

&gt; 
&gt; &gt; Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp:271
&gt; &gt;      const QSize preferredLayoutSize = page-&gt;preferredContentsSize();
&gt; &gt;  
&gt; &gt; +
&gt; &gt;      ScrollbarMode hScrollbar = (ScrollbarMode) m_webFrame-&gt;scrollBarPolicy(Qt::Horizontal);
&gt; 
&gt; unrelated change?
Yep I&apos;ll get that out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736657</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-08 06:35:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 167321 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167321&amp;action=review
&gt; &gt; 
&gt; &gt; is this covered by tests? ie, the restore from history?
&gt; This assert is currently triggered by the QML tests, layout tests don&apos;t have the page cache enabled.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/Frame.cpp:780
&gt; &gt; &gt; +void Frame::createView(const IntSize&amp; viewportSize, const Color&amp; backgroundColor, bool transparent,
&gt; &gt; &gt; +    const IntSize&amp; fixedLayoutSize, const IntRect&amp; fixedVisibleContentRect ,
&gt; &gt; &gt; +    bool useFixedLayout, ScrollbarMode horizontalScrollbarMode, bool horizontalLock,
&gt; &gt; &gt; +    ScrollbarMode verticalScrollbarMode, bool verticalLock)
&gt; &gt; 
&gt; &gt; Shouldnt this not just be one line
&gt; That would be a pretty long line and I think it&apos;s more readable like this, I just aligned it to 4-spaces to make the style check happy.

I know and your IDE should wrap it for you :-) I think that is the current webkit style; dont wrap these lines.

&gt; &gt; It is getting a bit confusing with all the defaults. Doesn&apos;t some of the fixed* ones imply others? ie. if you have a fixedlayoutsize isn&apos;t that the same as useFixedLayout == true?
&gt; Yep !fixedLayoutSize.isEmpty() || !fixedVisibleContentRect.isEmpty() requires that useFixedLayout == true.
&gt; I have to admit that this is ugly, ideally there would be a way to call those setters directly on the view from the outside in a way that wouldn&apos;t trigger a layout (before it gets attached) but this would be a much bigger change.
&gt; I could remove the useFixedLayout = false and deduce it from the above, tell me what you think.

Better fix it as you suggested in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736668</commentid>
    <comment_count>6</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-08 06:48:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I know and your IDE should wrap it for you :-) I think that is the current webkit style; dont wrap these lines.

I personally find it confusing to have auto-wrapping enabled in the editor, and it&apos;s not specified in the WebKit style doc. I&apos;d prefer to leave it like this.

&gt; &gt; Yep !fixedLayoutSize.isEmpty() || !fixedVisibleContentRect.isEmpty() requires that useFixedLayout == true.
&gt; &gt; I have to admit that this is ugly, ideally there would be a way to call those setters directly on the view from the outside in a way that wouldn&apos;t trigger a layout (before it gets attached) but this would be a much bigger change.
&gt; &gt; I could remove the useFixedLayout = false and deduce it from the above, tell me what you think.
&gt; 
&gt; Better fix it as you suggested in another patch.

I&apos;ll try it out and see if it doesn&apos;t mess things up too much, that function reaches out to every single platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738777</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-10 03:05:11 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I&apos;ll try it out and see if it doesn&apos;t mess things up too much, that function reaches out to every single platform.

After investigation, the only clean way I came up with to reduce the number of parameters of Frame::createView is to allow passing a self-created FrameView to it.

The compromises that I see this would imply:
- The platforms code would now be responsible to handle some logic details like creating the FrameView using the viewportSize if it&apos;s the main frame rather than letting createView handle it, etc.
- This would open a door where a second FrameView would be active on a Frame since we can&apos;t call setView(0) before the creation.

Overall createView is just a convenience method for stuff that needs to happen on an interdependent Frame and FrameView pair when the load is about to commit. I don&apos;t think that having too many parameters passed to it outweighs the above issues, especially the second one.

If you have a better idea let me know, otherwise I think that keeping those parameters would work better. One way I see to make this less of a mess would be not to pass the useFixedLayout boolean and then call &quot;frameView-&gt;setUseFixedLayout(!fixedLayoutSize.isEmpty());&quot;

I also started looking at removing ScrollView::setUseFixedLayout completely and rely only on setFixedLayoutSize, though some chromium tests at least seem to be using setUseFixedLayout alone (and they have it exposed on their WebView). It would also make it less clear that giving an empty/non-empty size to setFixedLayoutSize would disable/trigger this &quot;mode&quot; of the FrameView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746206</commentid>
    <comment_count>8</comment_count>
      <attachid>169596</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-19 04:07:01 -0700</bug_when>
    <thetext>Created attachment 169596
Patch

It took some time to look at it and I think adding this parameter is the cleanest solution. Splitting createView would create too much code duplication accross platforms code.
The difference with the previous patch are the fixed exports and the unrelated empty line removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747362</commentid>
    <comment_count>9</comment_count>
      <attachid>169596</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 02:58:32 -0700</bug_when>
    <thetext>Comment on attachment 169596
Patch

Clearing flags on attachment: 169596

Committed r132054: &lt;http://trac.webkit.org/changeset/132054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747363</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 02:58:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167321</attachid>
            <date>2012-10-05 06:55:36 -0700</date>
            <delta_ts>2012-10-19 04:06:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98514-20121005155443.patch</filename>
            <type>text/plain</type>
            <size>19290</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY4ZTUyY2ZjM2U3ZjAy
Y2UzMjZjMTg1YmQ3ZWVkMWE3MmUxOGMzMy4uZWNlMTA5ZGQ1OGJiNzNjN2YwYTcxNDM0MjkyM2I0
NmM2NWU0NjA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTA1ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0
XSBGaXggIkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBs
b2FkaW5nIGEgcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTg1MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0IHdlIGNhbGwgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJl
Y3QsIHdoaWNoIHRyaWdnZXJzCisgICAgICAgIGEgbGF5b3V0LCBhZnRlciB0aGUgZG9jdW1lbnQg
aGFzIGJlZW4gcHV0IGluIHRoZSBwYWdlIGNhY2hlIGFuZCBiZWZvcmUKKyAgICAgICAgdGhlIGxv
YWQgaGFzIGJlZW4gYWN0dWFsbHkgY29tbWl0dGVkLgorCisgICAgICAgIFRoaXMgYXBwbGllcyB0
aGUgc2FtZSB0cmljayBhcyB3aXRoIHNldEZpeGVkTGF5b3V0U2l6ZSBieSBwYXNzaW5nIHRoZSBy
ZWN0CisgICAgICAgIGluIEZyYW1lOjpjcmVhdGVWaWV3IGFuZCBjYWxsaW5nIHNldEZpeGVkVmlz
aWJsZUNvbnRlbnRSZWN0IGJlZm9yZSB0aGUKKyAgICAgICAgbmV3IEZyYW1lVmlldyBnZXRzIGF0
dGFjaGVkIHRvIHRoZSBGcmFtZS9Eb2N1bWVudCB0byBwcmV2ZW50IHRoZSBsYXlvdXQuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpjcmVhdGVW
aWV3KTogR2l2ZSBhIGRlZmF1bHQgdmFsdWUgdG8gdGhlIGZpeGVkTGF5b3V0U2l6ZSBhbmQKKyAg
ICAgICAgdXNlRml4ZWRMYXlvdXQgYXJndW1lbnRzIGFzIHdlbGwgc2luY2UgdGhleSBhcmUgdXNl
ZCBleGNlcHRpb25hbGx5LgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKEZyYW1l
KToKKwogMjAxMi0wOS0yNyAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGln
aWEuY29tPgogCiAgICAgICAgIE1ha2Ugc3VyZSB0aGF0IHRoZSBoaXN0b3J5IHBvc2l0aW9uIGlz
IGFwcGxpZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgZGVsZWdhdGVzU2Nyb2xsaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBlZGFkYTEzNDJiZDY4NTYxZTBjNjcwODQ3ODE2MWU4
MTRjYWI4MzcyLi5jNThiYjE3M2U3NzVkNDM4NzAxZGIyMGU4ZTMwYzY3NGIwOTMxYWVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0wNSAg
Sm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgorCisgICAgICAg
IFtRdF0gRml4ICJBU1NFUlRJT04gRkFJTEVEOiAhZG9jdW1lbnQtPmluUGFnZUNhY2hlKCkiIHdo
ZW4gbG9hZGluZyBhIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk4NTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFuc2l0
aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKKwogMjAxMi0wOS0yOCAgS29ucmFkIFBpYXNjaWsg
IDxrcGlhc2Npa0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBVcGRhdGUgdGhlIHZh
bHVlIG9mIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvbiB3aGVuIGl0IGlzIHNldCBwcm9ncmFtbWF0
aWNhbGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY1NGExZWFjZWEyOWU5ZDM3OGQ0
ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLjAzZTc0NWNhZjRlYTEzOTk3MzVkMzkxNmE5YjU4NzkyZThj
ZDI2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTIt
MTAtMDUgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKwor
ICAgICAgICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNo
ZSgpIiB3aGVuIGxvYWRpbmcgYSBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05ODUxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFtEZXZpY2UgTWV0cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1
bmN0aW9uYWxpdHkgaW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4
IDQxNjM3NzNiNWRmNmE4NGI1ZmEyNWIzYmY0MjYxOTA0YTQ4ZDk5ZDcuLjBmMmM0MWU3MTgzMjUx
NGJjN2JhYTU1MzQ2MWMwMGU4Y2FhNzNmOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0xMC0wNSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGln
aWEuY29tPgorCisgICAgICAgIFtRdF0gRml4ICJBU1NFUlRJT04gRkFJTEVEOiAhZG9jdW1lbnQt
PmluUGFnZUNhY2hlKCkiIHdoZW4gbG9hZGluZyBhIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAg
KGV3a19mcmFtZV92aWV3X2NyZWF0ZV9mb3Jfdmlldyk6CisKIDIwMTItMDktMjggIE1pa2hhaWwg
UG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgQ29k
ZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0
aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGE0MTdiYTc3MmIwZWYzMTJmMTMzMzhlN2YxMmVmY2JmMmJkZDI0YmUuLjdjN2FlOGUx
YjQ0ZDIzNTViN2U3NTYxYjgwYjBjNzJmMDJlNDljYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0xMC0wNSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290
dGVAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gRml4ICJBU1NFUlRJT04gRkFJTEVEOiAhZG9j
dW1lbnQtPmluUGFnZUNhY2hlKCkiIHdoZW4gbG9hZGluZyBhIHBhZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NTE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojp0
cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKKwogMjAxMi0wOS0yOCAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBDb2Rl
IGluc2lkZSBGcmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRp
b25zIGNhbiBiZSBzaGFyZWQgYW1vbmcgZGlmZmVyZW50IFdLIHBvcnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDdhZGU0YWRkNDViMzIwNDk1ZDc3OWYyNjExNTJlYzY3YjFiZmI4N2MuLjM0YTIzYzk1MGE2
YTY4MTczNThhYTk1MTZmYjVlNjFkM2YwNWNhMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTItMTAtMDUgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRp
Z2lhLmNvbT4KKworICAgICAgICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50
LT5pblBhZ2VDYWNoZSgpIiB3aGVuIGxvYWRpbmcgYSBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODUxNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojp0cmFu
c2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKTogVXNlIEZyYW1lVmlldzo6Zml4ZWRWaXNpYmxl
Q29udGVudFJlY3QKKyAgICAgICAgaW5zdGVhZCBvZiBGcmFtZVZpZXc6OnZpc2libGVDb250ZW50
UmVjdCBhcyB0aGUgc291cmNlIHRvIGFsd2F5cyBrZWVwIHRoZSBjb3JyZWN0IHN0YXRlLgorCiAy
MDEyLTA5LTI4ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwu
Y29tPgogCiAgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlN
RVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sg
cG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBiYTZhNWI1NzEyYmQ1NjMxOGY4MGJlMTUzZDZiZTZi
OWVlNTFhZjYzLi5lNjFiZTZkNzBlMmYwOTBlN2NlOGRlMWRkNzMzMDhiOTg3NWViOTkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMDUgIEpvY2VseW4gVHVyY290
dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRdIEZpeCAiQVNT
RVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3aGVuIGxvYWRpbmcgYSBw
YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODUx
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorCiAyMDEyLTA5
LTI1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMmYy
YmE3NThiODUwZGEzMDA5MGMwNjY1YzJmM2I4NjViYzAxNTQ4Zi4uYzI2MjMyNjMyMjc3MjI3Yjdk
NTBiODJmZjY1MGFlMzg0ZGY1ZGRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMi0xMC0wNSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29t
PgorCisgICAgICAgIFtRdF0gRml4ICJBU1NFUlRJT04gRkFJTEVEOiAhZG9jdW1lbnQtPmluUGFn
ZUNhY2hlKCkiIHdoZW4gbG9hZGluZyBhIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6dHJhbnNpdGlvblRv
Q29tbWl0dGVkRm9yTmV3UGFnZSk6CisKIDIwMTItMDktMjUgIEJldGggRGFraW4gIDxiZGFraW5A
YXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NTM5NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFlMDk3NThhZGI3MjAzZWU2ZjY5MDM2YmUzYjRkYjI0
MTgzNGZhYTQuLjQ0MGIwMWE5NzkyYzNlOGU3ODJlMjEyMDc5NWJlODExMzFkZDc2MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMC0wNSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpv
Y2VseW4udHVyY290dGVAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gRml4ICJBU1NFUlRJT04g
RkFJTEVEOiAhZG9jdW1lbnQtPmluUGFnZUNhY2hlKCkiIHdoZW4gbG9hZGluZyBhIHBhZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NTE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2Up
OiBVc2UgRnJhbWVWaWV3OjpmaXhlZFZpc2libGVDb250ZW50UmVjdAorICAgICAgICBpbnN0ZWFk
IG9mIFdlYkZyYW1lOjp2aXNpYmxlQ29udGVudEJvdW5kcyBhcyB0aGUgc291cmNlIHRvIGFsd2F5
cyBrZWVwIHRoZSBjb3JyZWN0IHN0YXRlLgorCiAyMDEyLTEwLTA0ICBKb2NlbHluIFR1cmNvdHRl
ICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggdGhlIG1v
dXNlIGhvdmVyIGV2ZW50cyB0cmFuc2Zvcm1hdGlvbiB3aGVuIGRldmljZVBpeGVsUmF0aW8gIT0g
MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAzZmFiNjIwOWFkZDc0Y2M4ZTZmOWUwYWMwZjA3MTY4
ZjBiMjU0MTA0Li42MTE2MGE5Yjg3MDY5YmNhN2JjZmQwZjg4YjI4MGM5YzdjY2Q5MjY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcApAQCAtNzc0LDExICs3NzQsMTAgQEAgUGFzc1JlZlB0cjxSYW5nZT4g
RnJhbWU6OnJhbmdlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIGZyYW1lUG9pbnQpCiAgICAgcmV0
dXJuIDA7CiB9CiAKLXZvaWQgRnJhbWU6OmNyZWF0ZVZpZXcoY29uc3QgSW50U2l6ZSYgdmlld3Bv
cnRTaXplLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBDb2xvciYgYmFja2dyb3VuZENv
bG9yLCBib29sIHRyYW5zcGFyZW50LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRT
aXplJiBmaXhlZExheW91dFNpemUsIGJvb2wgdXNlRml4ZWRMYXlvdXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUsIGJvb2wgaG9y
aXpvbnRhbExvY2ssCi0gICAgICAgICAgICAgICAgICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGlj
YWxTY3JvbGxiYXJNb2RlLCBib29sIHZlcnRpY2FsTG9jaykKK3ZvaWQgRnJhbWU6OmNyZWF0ZVZp
ZXcoY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENv
bG9yLCBib29sIHRyYW5zcGFyZW50LAorICAgIGNvbnN0IEludFNpemUmIGZpeGVkTGF5b3V0U2l6
ZSwgY29uc3QgSW50UmVjdCYgZml4ZWRWaXNpYmxlQ29udGVudFJlY3QgLAorICAgIGJvb2wgdXNl
Rml4ZWRMYXlvdXQsIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUsIGJvb2wg
aG9yaXpvbnRhbExvY2ssCisgICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUs
IGJvb2wgdmVydGljYWxMb2NrKQogewogICAgIEFTU0VSVCh0aGlzKTsKICAgICBBU1NFUlQobV9w
YWdlKTsKQEAgLTc5NCw2ICs3OTMsNyBAQCB2b2lkIEZyYW1lOjpjcmVhdGVWaWV3KGNvbnN0IElu
dFNpemUmIHZpZXdwb3J0U2l6ZSwKICAgICBpZiAoaXNNYWluRnJhbWUpIHsKICAgICAgICAgZnJh
bWVWaWV3ID0gRnJhbWVWaWV3OjpjcmVhdGUodGhpcywgdmlld3BvcnRTaXplKTsKICAgICAgICAg
ZnJhbWVWaWV3LT5zZXRGaXhlZExheW91dFNpemUoZml4ZWRMYXlvdXRTaXplKTsKKyAgICAgICAg
ZnJhbWVWaWV3LT5zZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChmaXhlZFZpc2libGVDb250ZW50
UmVjdCk7CiAgICAgICAgIGZyYW1lVmlldy0+c2V0VXNlRml4ZWRMYXlvdXQodXNlRml4ZWRMYXlv
dXQpOwogICAgIH0gZWxzZQogICAgICAgICBmcmFtZVZpZXcgPSBGcmFtZVZpZXc6OmNyZWF0ZSh0
aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA3MTk2OTIyNjk1OGJhNmYwODg4Yjc2YzVhN2I5ZDhh
ZjYzNWJmYWQwLi42MmU1OWQ1MTM1MmYzYjYzZTQyMzViYzNmMjA3ZjgzOTIzNTNiZmQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5oCkBAIC04Miw4ICs4Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICB2b2lkIGluaXQoKTsKICAgICAgICAgdm9pZCBzZXRWaWV3KFBhc3NSZWZQdHI8RnJhbWVW
aWV3Pik7Ci0gICAgICAgIHZvaWQgY3JlYXRlVmlldyhjb25zdCBJbnRTaXplJiwgY29uc3QgQ29s
b3ImLCBib29sLCBjb25zdCBJbnRTaXplJiwgYm9vbCwKLSAgICAgICAgICAgIFNjcm9sbGJhck1v
ZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIGhvcml6b250YWxMb2NrID0gZmFsc2UsCisgICAgICAg
IHZvaWQgY3JlYXRlVmlldyhjb25zdCBJbnRTaXplJiwgY29uc3QgQ29sb3ImLCBib29sLAorICAg
ICAgICAgICAgY29uc3QgSW50U2l6ZSYgZml4ZWRMYXlvdXRTaXplID0gSW50U2l6ZSgpLCBjb25z
dCBJbnRSZWN0JiBmaXhlZFZpc2libGVDb250ZW50UmVjdCA9IEludFJlY3QoKSwKKyAgICAgICAg
ICAgIGJvb2wgdXNlRml4ZWRMYXlvdXQgPSBmYWxzZSwgU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJh
ckF1dG8sIGJvb2wgaG9yaXpvbnRhbExvY2sgPSBmYWxzZSwKICAgICAgICAgICAgIFNjcm9sbGJh
ck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIHZlcnRpY2FsTG9jayA9IGZhbHNlKTsKIAogICAg
ICAgICB+RnJhbWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5j
cHAKaW5kZXggMDUwNDVlOTE1NTQzZWNlYjYxMjc2ZDJmY2U5NTUwODc2ZjBjNGQyYS4uOTFkMGFj
N2RlZjQ3ZDI3ZDI3ZDI1Y2E2NmFlNGQ4ZjZhY2ZlZWEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJy
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAgLTQ1MCw2ICs0NTAsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgp
CiAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IuaGFzQWxwaGEoKSwgICAg
ICAgICAgICAvKiBpcyB0cmFuc3BhcmVudCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgbV93
ZWJQYWdlUHJpdmF0ZS0+YWN0dWFsVmlzaWJsZVNpemUoKSwgLyogZml4ZWQgcmVwb3J0ZWQgc2l6
ZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+Zml4ZWRMYXlv
dXRTaXplKCksICAgLyogZml4ZWQgbGF5b3V0IHNpemUgKi8KKyAgICAgICAgICAgICAgICAgICAg
ICAgIEludFJlY3QoKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZpeGVkIHZpc2li
bGUgY29udGVudCByZWN0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICBtX3dlYlBhZ2VQcml2
YXRlLT51c2VGaXhlZExheW91dCgpLCAgICAvKiB1c2UgZml4ZWQgbGF5b3V0ICovCiAgICAgICAg
ICAgICAgICAgICAgICAgICBTY3JvbGxiYXJBbHdheXNPZmYsICAgICAgICAgICAgICAgICAgICAv
KiBob3IgbW9kZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLyogbG9jayB0aGUgbW9kZSAqLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggMjVmYTNlZjRmMzEzOTQzNzE5NGU3
MTUwN2E1M2I5NWYwMWQ4ODdhNS4uMTYwNWUyMzBkNDFiYjE4NTZkZjg1YzgwYWE5YjdlN2Y2MDlk
NTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBA
IC0yMjc3LDcgKzIyNzcsNyBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KCkK
IAogICAgIFdlYlZpZXdJbXBsKiB3ZWJWaWV3ID0gdmlld0ltcGwoKTsKICAgICBib29sIGlzTWFp
bkZyYW1lID0gd2ViVmlldy0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpID09IGZyYW1lKCk7Ci0g
ICAgZnJhbWUoKS0+Y3JlYXRlVmlldyh3ZWJWaWV3LT5zaXplKCksIENvbG9yOjp3aGl0ZSwgd2Vi
Vmlldy0+aXNUcmFuc3BhcmVudCgpLCAgd2ViVmlldy0+Zml4ZWRMYXlvdXRTaXplKCksIGlzTWFp
bkZyYW1lID8gd2ViVmlldy0+aXNGaXhlZExheW91dE1vZGVFbmFibGVkKCkgOiAwKTsKKyAgICBm
cmFtZSgpLT5jcmVhdGVWaWV3KHdlYlZpZXctPnNpemUoKSwgQ29sb3I6OndoaXRlLCB3ZWJWaWV3
LT5pc1RyYW5zcGFyZW50KCksIHdlYlZpZXctPmZpeGVkTGF5b3V0U2l6ZSgpLCBJbnRSZWN0KCks
IGlzTWFpbkZyYW1lID8gd2ViVmlldy0+aXNGaXhlZExheW91dE1vZGVFbmFibGVkKCkgOiAwKTsK
ICAgICBpZiAod2ViVmlldy0+c2hvdWxkQXV0b1Jlc2l6ZSgpICYmIGlzTWFpbkZyYW1lKQogICAg
ICAgICBmcmFtZSgpLT52aWV3KCktPmVuYWJsZUF1dG9TaXplTW9kZSh0cnVlLCB3ZWJWaWV3LT5t
aW5BdXRvU2l6ZSgpLCB3ZWJWaWV3LT5tYXhBdXRvU2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2ZyYW1lLmNwcAppbmRleCA1NDZlZWE1MTIzNjkwMGU4NjVlY2UzMWY1YzFmZDAwNWFmNmJm
MzRmLi5lMWY2ODI4NGZlNGY4MGQxNzNlYWQzMGE3NjM4YTlhZjMxZTA5MzYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMTYyMSw3ICsxNjIxLDcgQEAgdm9pZCBld2tfZnJh
bWVfdmlld19jcmVhdGVfZm9yX3ZpZXcoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX09iamVj
dCogdmlldykKICAgICBlbHNlCiAgICAgICAgIGJhY2tncm91bmQgPSBXZWJDb3JlOjpDb2xvcihy
ZWQgKiAyNTUgLyBhbHBoYSwgZ3JlZW4gKiAyNTUgLyBhbHBoYSwgYmx1ZSAqIDI1NSAvIGFscGhh
LCBhbHBoYSk7CiAKLSAgICBzbWFydERhdGEtPmZyYW1lLT5jcmVhdGVWaWV3KHNpemUsIGJhY2tn
cm91bmQsICFhbHBoYSwgV2ViQ29yZTo6SW50U2l6ZSgpLCBmYWxzZSk7CisgICAgc21hcnREYXRh
LT5mcmFtZS0+Y3JlYXRlVmlldyhzaXplLCBiYWNrZ3JvdW5kLCAhYWxwaGEpOwogICAgIGlmICgh
c21hcnREYXRhLT5mcmFtZS0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcAppbmRleCAwODVmNDFjNmEzZTkwY2EzMmE2ZWVjY2FmYWJkYmNiZGIwMzI5YzVkLi5kMTU0
YjFkMzE0MmQzYzAzOWQzOGViMTEyZGY5NjBiZWQwMmI4NDBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CkBAIC0xMjI0LDcgKzEyMjQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9u
VG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKG1fZnJhbWUp
OwogICAgIEFTU0VSVChmcmFtZSk7CiAKLSAgICBmcmFtZS0+Y3JlYXRlVmlldyhzaXplLCBiYWNr
Z3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50LCBJbnRTaXplKCksIGZhbHNlKTsKKyAgICBmcmFtZS0+
Y3JlYXRlVmlldyhzaXplLCBiYWNrZ3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50KTsKIAogICAgIC8v
IFdlIG5lZWQgdG8gZG8gZnVydGhlciBtYW5pcHVsYXRpb24gb24gdGhlIEZyYW1lVmlldyBpZiBp
dCB3YXMgdGhlIG1haW5GcmFtZQogICAgIGlmIChmcmFtZSAhPSBmcmFtZS0+cGFnZSgpLT5tYWlu
RnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuY3BwCmluZGV4IDY2MDBhY2M4MjAxYTdjZTQwNjdkZTEyODU1NjFm
NWJjOTZlM2RlNmUuLmYyMjM1OTBiNWRkMTkzNDIzMTgxMjA4MGRhYWUzOWVlYWY1YzcxMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcApAQCAtMjY3LDE2ICsyNjcsMTkgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVu
dFF0Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICBRV2ViUGFnZSogcGFn
ZSA9IG1fd2ViRnJhbWUtPnBhZ2UoKTsKICAgICBjb25zdCBRU2l6ZSBwcmVmZXJyZWRMYXlvdXRT
aXplID0gcGFnZS0+cHJlZmVycmVkQ29udGVudHNTaXplKCk7CiAKKwogICAgIFNjcm9sbGJhck1v
ZGUgaFNjcm9sbGJhciA9IChTY3JvbGxiYXJNb2RlKSBtX3dlYkZyYW1lLT5zY3JvbGxCYXJQb2xp
Y3koUXQ6Okhvcml6b250YWwpOwogICAgIFNjcm9sbGJhck1vZGUgdlNjcm9sbGJhciA9IChTY3Jv
bGxiYXJNb2RlKSBtX3dlYkZyYW1lLT5zY3JvbGxCYXJQb2xpY3koUXQ6OlZlcnRpY2FsKTsKICAg
ICBib29sIGhMb2NrID0gaFNjcm9sbGJhciAhPSBTY3JvbGxiYXJBdXRvOwogICAgIGJvb2wgdkxv
Y2sgPSB2U2Nyb2xsYmFyICE9IFNjcm9sbGJhckF1dG87CiAKLSAgICBJbnRTaXplIGN1cnJlbnRW
aXNpYmxlQ29udGVudFNpemUgPSBtX2ZyYW1lLT52aWV3KCkgPyBtX2ZyYW1lLT52aWV3KCktPnZp
c2libGVDb250ZW50UmVjdCgpLnNpemUoKSA6IEludFNpemUoKTsKKyAgICAvLyBUaGUgSGlzdG9y
eUNvbnRyb2xsZXIgd2lsbCB1cGRhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBsYXRlciBpZiBuZWVk
ZWQuCisgICAgSW50UmVjdCBjdXJyZW50VmlzaWJsZUNvbnRlbnRSZWN0ID0gbV9mcmFtZS0+dmll
dygpID8gSW50UmVjdChJbnRQb2ludDo6emVybygpLCBtX2ZyYW1lLT52aWV3KCktPmZpeGVkVmlz
aWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgpKSA6IEludFJlY3QoKTsKIAogICAgIG1fZnJhbWUtPmNy
ZWF0ZVZpZXcobV93ZWJGcmFtZS0+cGFnZSgpLT52aWV3cG9ydFNpemUoKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvciwgIWJhY2tncm91bmRDb2xvci5hbHBoYSgpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmVycmVkTGF5b3V0U2l6ZS5pc1ZhbGlkKCkgPyBJ
bnRTaXplKHByZWZlcnJlZExheW91dFNpemUpIDogSW50U2l6ZSgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY3VycmVudFZpc2libGVDb250ZW50UmVjdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgIHByZWZlcnJlZExheW91dFNpemUuaXNWYWxpZCgpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgaFNjcm9sbGJhciwgaExvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICB2U2Nyb2xsYmFy
LCB2TG9jayk7CkBAIC0yODQsMTMgKzI4Nyw4IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6
dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgYm9vbCBpc01haW5GcmFtZSA9
IG1fZnJhbWUgPT0gbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKTsKICAgICBpZiAoaXNNYWlu
RnJhbWUgJiYgcGFnZS0+ZC0+Y2xpZW50KSB7CiAgICAgICAgIGJvb2wgcmVzaXplc1RvQ29udGVu
dHMgPSBwYWdlLT5kLT5jbGllbnQtPnZpZXdSZXNpemVzVG9Db250ZW50c0VuYWJsZWQoKTsKLQog
ICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldFBhaW50c0VudGlyZUNvbnRlbnRzKHJlc2l6ZXNU
b0NvbnRlbnRzKTsKICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXREZWxlZ2F0ZXNTY3JvbGxp
bmcocmVzaXplc1RvQ29udGVudHMpOwotCi0gICAgICAgIC8vIFRoZSBIaXN0b3J5Q29udHJvbGxl
ciB3aWxsIHVwZGF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIGxhdGVyIGlmIG5lZWRlZC4KLSAgICAg
ICAgSW50UmVjdCByZWN0ID0gcmVzaXplc1RvQ29udGVudHMgPyBJbnRSZWN0KEludFBvaW50Ojp6
ZXJvKCksIGN1cnJlbnRWaXNpYmxlQ29udGVudFNpemUpIDogSW50UmVjdCgpOwotICAgICAgICBt
X2ZyYW1lLT52aWV3KCktPnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KHJlY3QpOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGYwZTkzYzBhMTcxOGU3ZTI0YjFhNmQwOWNjMDE1
NDE4NjBmNTJhMzUuLjBlNGIxMDY1Njk4MjVkZDc0ZDc0ZGIyNzc2ZWNjNmQ5MjFlYThkYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVy
Q2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICB2aWV3LT5mcmFt
ZVJlY3QoJnJlY3QpOwogICAgIGJvb2wgdHJhbnNwYXJlbnQgPSB2aWV3LT50cmFuc3BhcmVudCgp
OwogICAgIENvbG9yIGJhY2tncm91bmRDb2xvciA9IHRyYW5zcGFyZW50ID8gQ29sb3I6OnRyYW5z
cGFyZW50IDogQ29sb3I6OndoaXRlOwotICAgIGNvcmUobV93ZWJGcmFtZSktPmNyZWF0ZVZpZXco
SW50UmVjdChyZWN0KS5zaXplKCksIGJhY2tncm91bmRDb2xvciwgdHJhbnNwYXJlbnQsIEludFNp
emUoKSwgZmFsc2UpOworICAgIGNvcmUobV93ZWJGcmFtZSktPmNyZWF0ZVZpZXcoSW50UmVjdChy
ZWN0KS5zaXplKCksIGJhY2tncm91bmRDb2xvciwgdHJhbnNwYXJlbnQpOwogfQogCiB2b2lkIFdl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaWRTYXZlVG9QYWdlQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwIGIvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCmluZGV4
IGY2YmE0ZGRlNDFjY2E1MDA0ZjhkYWY1ZTIyNGMwNTBmYTA1YmEwYmQuLmRjZDkxMjUwMjgzNzI2
ZTdlNmFjOWY4NGU5ZTg5OTNjZjIzNTk5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAKQEAgLTk3Niw3ICs5NzYs
NyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5l
d1BhZ2UoKQogICAgIENvbG9yIGJhY2tncm91bmRDb2xvciA9IHRyYW5zcGFyZW50ID8gV2ViQ29y
ZTo6Q29sb3I6OnRyYW5zcGFyZW50IDogV2ViQ29yZTo6Q29sb3I6OndoaXRlOwogICAgIAogICAg
IGlmIChtX2ZyYW1lKQotICAgICAgICBtX2ZyYW1lLT5jcmVhdGVWaWV3KHNpemUsIGJhY2tncm91
bmRDb2xvciwgdHJhbnNwYXJlbnQsIEludFNpemUoKSwgZmFsc2UpOyAKKyAgICAgICAgbV9mcmFt
ZS0+Y3JlYXRlVmlldyhzaXplLCBiYWNrZ3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50KTsKIH0KIAog
dm9pZCBGcmFtZUxvYWRlckNsaWVudFd4OjpkaWRTYXZlVG9QYWdlQ2FjaGUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA4NzYyMzRmODg5NjFkZDc5Njc3ZjE0NTU0YjUw
NTA1ZDUzNDZlNGJmLi43ZGMxOTY0ZTY4NzhkMTFiZWM1NTgyNDlmMjg0NzA1ZGY0MzQ1MjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTIyNiwxNiArMTIyNiwxNCBA
QCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQ
YWdlKCkKICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSB3ZWJQYWdlLT5kcmF3c1RyYW5zcGFy
ZW50QmFja2dyb3VuZCgpID8gQ29sb3I6OnRyYW5zcGFyZW50IDogQ29sb3I6OndoaXRlOwogICAg
IGJvb2wgaXNNYWluRnJhbWUgPSB3ZWJQYWdlLT5tYWluV2ViRnJhbWUoKSA9PSBtX2ZyYW1lOwog
ICAgIGJvb2wgc2hvdWxkVXNlRml4ZWRMYXlvdXQgPSBpc01haW5GcmFtZSAmJiB3ZWJQYWdlLT51
c2VGaXhlZExheW91dCgpOwotICAgIEludFJlY3QgY3VycmVudFZpc2libGVDb250ZW50Qm91bmRz
ID0gbV9mcmFtZS0+dmlzaWJsZUNvbnRlbnRCb3VuZHMoKTsKKyAgICBJbnRSZWN0IGN1cnJlbnRG
aXhlZFZpc2libGVDb250ZW50UmVjdCA9IG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkgPyBt
X2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5maXhlZFZpc2libGVDb250ZW50UmVjdCgpIDog
SW50UmVjdCgpOwogCiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UgPSBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNlKCk7
CiAgICAgbV9mcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uID0gaXNNYWluRnJhbWUgJiYgV2Vi
UHJvY2Vzczo6c2hhcmVkKCkuc2hvdWxkVXNlQ3VzdG9tUmVwcmVzZW50YXRpb25Gb3JSZXNwb25z
ZShyZXNwb25zZSk7CiAgICAgbV9mcmFtZUNhbWVGcm9tUGFnZUNhY2hlID0gZmFsc2U7CiAKLSAg
ICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+Y3JlYXRlVmlldyh3ZWJQYWdlLT5zaXplKCksIGJhY2tn
cm91bmRDb2xvciwgLyogdHJhbnNwYXJlbnQgKi8gZmFsc2UsIEludFNpemUoKSwgc2hvdWxkVXNl
Rml4ZWRMYXlvdXQpOworICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5jcmVhdGVWaWV3KHdlYlBh
Z2UtPnNpemUoKSwgYmFja2dyb3VuZENvbG9yLCAvKiB0cmFuc3BhcmVudCAqLyBmYWxzZSwgSW50
U2l6ZSgpLCBjdXJyZW50Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QsIHNob3VsZFVzZUZpeGVkTGF5
b3V0KTsKICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRUcmFuc3BhcmVudCgh
d2ViUGFnZS0+ZHJhd3NCYWNrZ3JvdW5kKCkpOwotICAgIGlmIChzaG91bGRVc2VGaXhlZExheW91
dCAmJiAhY3VycmVudFZpc2libGVDb250ZW50Qm91bmRzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9m
cmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY3Vy
cmVudFZpc2libGVDb250ZW50Qm91bmRzKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlkU2F2ZVRvUGFnZUNhY2hlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169596</attachid>
            <date>2012-10-19 04:07:01 -0700</date>
            <delta_ts>2012-10-22 02:58:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98514-20121019130544.patch</filename>
            <type>text/plain</type>
            <size>19593</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlN2RiNzI1YTk0ZjY2
YmY3N2Q3NDkzYTA1YzQzNjg4ODIyM2NjNy4uYWZhYWYxMzgxZTFhNWNmZjA0YTk1YzkwZGYxM2Qy
OTUzM2Q1MDMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTA1ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0
XSBGaXggIkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBs
b2FkaW5nIGEgcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTg1MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0IHdlIGNhbGwgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJl
Y3QsIHdoaWNoIHRyaWdnZXJzCisgICAgICAgIGEgbGF5b3V0LCBhZnRlciB0aGUgZG9jdW1lbnQg
aGFzIGJlZW4gcHV0IGluIHRoZSBwYWdlIGNhY2hlIGFuZCBiZWZvcmUKKyAgICAgICAgdGhlIGxv
YWQgaGFzIGJlZW4gYWN0dWFsbHkgY29tbWl0dGVkLgorCisgICAgICAgIFRoaXMgYXBwbGllcyB0
aGUgc2FtZSB0cmljayBhcyB3aXRoIHNldEZpeGVkTGF5b3V0U2l6ZSBieSBwYXNzaW5nIHRoZSBy
ZWN0CisgICAgICAgIGluIEZyYW1lOjpjcmVhdGVWaWV3IGFuZCBjYWxsaW5nIHNldEZpeGVkVmlz
aWJsZUNvbnRlbnRSZWN0IGJlZm9yZSB0aGUKKyAgICAgICAgbmV3IEZyYW1lVmlldyBnZXRzIGF0
dGFjaGVkIHRvIHRoZSBGcmFtZS9Eb2N1bWVudCB0byBwcmV2ZW50IHRoZSBsYXlvdXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lOjpjcmVhdGVWaWV3KTogR2l2ZSBhIGRlZmF1bHQgdmFsdWUgdG8g
dGhlIGZpeGVkTGF5b3V0U2l6ZSBhbmQKKyAgICAgICAgdXNlRml4ZWRMYXlvdXQgYXJndW1lbnRz
IGFzIHdlbGwgc2luY2UgdGhleSBhcmUgdXNlZCBleGNlcHRpb25hbGx5LgorICAgICAgICAqIHBh
Z2UvRnJhbWUuaDoKKyAgICAgICAgKEZyYW1lKToKKwogMjAxMi0xMC0xOSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElu
dmFsaWQgUmVnZXggaW4gU0FTU1NvdXJjZU1hcHBpbmcvZGlkUmVxdWVzdENvbnRlbnQsIGJyZWFr
cyBTdXBwb3J0IGZvciBTYXNzIGV4cGVyaW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CmluZGV4IDRjZGFiMjBmMTQ1NmRjNjU2N2ViOWZmMTZkZmI0YzcyNjYzNTlkNjAuLjg4MTRiNTJi
ODBiYmIyMzczOThlYjQ4NGY2ZDllYWRjYzVlOWI0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTA1ICBKb2NlbHluIFR1cmNvdHRlICA8
am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBGaXggIkFTU0VSVElP
TiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg1MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5l
d1BhZ2UpOgorCiAyMDEyLTEwLTE4ICBKYWNreSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CiAK
ICAgICAgICAgW0JsYWNrQmVycnldIFBhZ2Ugdmlld3BvcnQgYXNwZWN0IHJhdGlvIG5vdCBrZXB0
IG9uIG5hdmlnYXRpbmcgYmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5YWRiYzQw
Zjg0NmM5MDM4NzYxM2Q4YzIxNGRiZjBlODFjZWY1ZGI1Li4zYTdjMmEyNDhjZWNiZTUzNzFlYzlh
MjE4ZGJjZTczMjcxYTdjZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTEwLTA1ICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBk
aWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBGaXggIkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVu
dC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg1MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZyYW1lVmlldyk6CisKIDIwMTItMTAt
MTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IE5NSSBwcm92aWRlIGRhdGEgZm9yIG1peGluZyB3aXRoIHRjbWFsbG9jIGhl
YXAgZHVtcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYzg3MDRiYzRlMWRiMjc3MWQ0MzA4ZThkNmQ2
YTUwNzcwN2M3OTFkNi4uNzRmM2Y5YTQ2ZWRmNzhiMTEyYzI3NjYzZDQ2MThkMzAxN2IwZTI5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTA1ICBKb2NlbHluIFR1
cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBGaXgg
IkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5n
IGEgcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTg1MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92
aWV3KToKKwogMjAxMi0xMC0xOCAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF0gQWRkIHVuaXQgdGVzdCBmb3IgZXdrX2ZyYW1lX3NvdXJjZV9nZXQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggOTg2ZTRiMWQzNzg3MTcwNDgzM2FkMzllZjY3YTFlM2I2YTM2
YWQwYS4uOGEwYTZjMmJkYmY3ZmM4NTJkMjg4YTVlODNhZTdlZDU4MWQzMjQ2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTA1ICBKb2NlbHluIFR1cmNvdHRlICA8
am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBGaXggIkFTU0VSVElP
TiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg1MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVM
b2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorCiAyMDEyLTEw
LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTd2l0Y2gg
UmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgpIGZyb20gU2hhcmVkQnVmZmVyIHRvIFJlc291
cmNlQnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDA2YmIzMjIwYTdjMDY5ZDBkYWQ0YmYyYzRmYjMy
NmY2MTc4YzM2ZTguLjZhNzk3NDU2MjAyMDk2YTQwMWMyNTkxYTNiYjUyMjI4NGQ2YmM2NzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMDUgIEpvY2VseW4gVHVyY290
dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRdIEZpeCAiQVNT
RVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3aGVuIGxvYWRpbmcgYSBw
YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODUx
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlckNsaWVudFF0Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKTogVXNl
IEZyYW1lVmlldzo6Zml4ZWRWaXNpYmxlQ29udGVudFJlY3QKKyAgICAgICAgaW5zdGVhZCBvZiBG
cmFtZVZpZXc6OnZpc2libGVDb250ZW50UmVjdCBhcyB0aGUgc291cmNlIHRvIGFsd2F5cyBrZWVw
IHRoZSBjb3JyZWN0IHN0YXRlLgorCiAyMDEyLTEwLTE3ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9y
LmFybmUudmVzdGJvQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIE1vZHVsYXJpemUgZG9jdW1l
bnRhdGlvbiBmb3IgUXRXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAwYTFhNDE1ZTUzZTU2MTU2
NmMxMTc1MjdhZmU2MWQ0ZWIyZTg3ZDEzLi44Y2MzYjExYjRjMjM3NThiOTliYmQ5ZTlhODVjNWVj
NTU2NzE2ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMDUg
IEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKworICAgICAg
ICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3
aGVuIGxvYWRpbmcgYSBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODUxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1Bh
Z2UpOgorCiAyMDEyLTEwLTE4ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4IGFmdGVyIHIxMzE3MDEgYW5kIHIxMzE3Nzcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d3gvQ2hhbmdlTG9nCmluZGV4IDJmMmJhNzU4Yjg1MGRhMzAwOTBjMDY2NWMyZjNiODY1YmMwMTU0
OGYuLmMyNjIzMjYzMjI3NzIyN2I3ZDUwYjgyZmY2NTBhZTM4NGRmNWRkZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMDUgIEpvY2VseW4gVHVyY290dGUgIDxqb2Nl
bHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZB
SUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3aGVuIGxvYWRpbmcgYSBwYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODUxNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50V3g6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorCiAyMDEyLTA5LTI1
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkNjU5ZTdhMDUx
MTAyYzg4NjY2NzY1MWRmZWViYzNlOWQ5ZDE3YzJjLi5kYzUzMGIzZmFlZWUxMzFmMzZmMTc3ZDkw
YmU0ZDNhYjRiZmIzMmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMDUg
IEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKworICAgICAg
ICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3
aGVuIGxvYWRpbmcgYSBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODUxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9u
VG9Db21taXR0ZWRGb3JOZXdQYWdlKTogVXNlIEZyYW1lVmlldzo6Zml4ZWRWaXNpYmxlQ29udGVu
dFJlY3QKKyAgICAgICAgaW5zdGVhZCBvZiBXZWJGcmFtZTo6dmlzaWJsZUNvbnRlbnRCb3VuZHMg
YXMgdGhlIHNvdXJjZSB0byBhbHdheXMga2VlcCB0aGUgY29ycmVjdCBzdGF0ZS4KKwogMjAxMi0x
MC0xOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJF
R1JFU1NJT04ocjEzMTg0NCk6IEl0IGJyb2tlIHRoZSBidWlsZCBvbiAhRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiZjNhOTZiZjkz
NjI3OTI4OTE3MjU5YTg3YmY0MTY0OTQwOTRmMDE5Li5jZTU3ZjYxOTUxZjY4Yjc1OGQ2N2M5NWZl
ZTM5YjI3NmJiZmU4NjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzMxLDcgKzczMSw3IEBA
IF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmpl
Y3RFUE5TXzhOb2RlTGlzdEUKIF9fWk43V2ViQ29yZTUwcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5p
dGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGVFUk5TXzE4Vmlld3BvcnRBdHRyaWJ1dGVzRQogX19a
TjdXZWJDb3JlNUNvbG9yMTF0cmFuc3BhcmVudEUKIF9fWk43V2ViQ29yZTVDb2xvcjV3aGl0ZUUK
LV9fWk43V2ViQ29yZTVGcmFtZTEwY3JlYXRlVmlld0VSS05TXzdJbnRTaXplRVJLTlNfNUNvbG9y
RWJTM19iTlNfMTNTY3JvbGxiYXJNb2RlRWJTN19iCitfX1pON1dlYkNvcmU1RnJhbWUxMGNyZWF0
ZVZpZXdFUktOU183SW50U2l6ZUVSS05TXzVDb2xvckViUzNfUktOU183SW50UmVjdEViTlNfMTNT
Y3JvbGxiYXJNb2RlRWJTQV9iCiBfX1pON1dlYkNvcmU1RnJhbWUxM3JhbmdlRm9yUG9pbnRFUktO
U184SW50UG9pbnRFCiBfX1pON1dlYkNvcmU1RnJhbWUxNGZyYW1lRm9yV2lkZ2V0RVBLTlNfNldp
ZGdldEUKIF9fWk43V2ViQ29yZTVGcmFtZTE3c2V0UGFnZVpvb21GYWN0b3JFZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAppbmRleCAxOTI1NGM4YzRiODJiYTc5MmQ3MGE4MTM0NDUzNTM3MDgyNjcyZDdlLi5l
ZDI1NDc3ZWRkZjkwNGVkZWQ5ZWUxOTFmODU0ODBlMmRjMDJhYTkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcApAQCAtNzc3LDExICs3NzcsMTAgQEAgUGFzc1JlZlB0cjxSYW5nZT4gRnJhbWU6OnJhbmdl
Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIGZyYW1lUG9pbnQpCiAgICAgcmV0dXJuIDA7CiB9CiAK
LXZvaWQgRnJhbWU6OmNyZWF0ZVZpZXcoY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIHRy
YW5zcGFyZW50LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRTaXplJiBmaXhlZExh
eW91dFNpemUsIGJvb2wgdXNlRml4ZWRMYXlvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIFNj
cm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUsIGJvb2wgaG9yaXpvbnRhbExvY2ss
Ci0gICAgICAgICAgICAgICAgICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJN
b2RlLCBib29sIHZlcnRpY2FsTG9jaykKK3ZvaWQgRnJhbWU6OmNyZWF0ZVZpZXcoY29uc3QgSW50
U2l6ZSYgdmlld3BvcnRTaXplLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIHRy
YW5zcGFyZW50LAorICAgIGNvbnN0IEludFNpemUmIGZpeGVkTGF5b3V0U2l6ZSwgY29uc3QgSW50
UmVjdCYgZml4ZWRWaXNpYmxlQ29udGVudFJlY3QgLAorICAgIGJvb2wgdXNlRml4ZWRMYXlvdXQs
IFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUsIGJvb2wgaG9yaXpvbnRhbExv
Y2ssCisgICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUsIGJvb2wgdmVydGlj
YWxMb2NrKQogewogICAgIEFTU0VSVCh0aGlzKTsKICAgICBBU1NFUlQobV9wYWdlKTsKQEAgLTc5
Nyw2ICs3OTYsNyBAQCB2b2lkIEZyYW1lOjpjcmVhdGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdw
b3J0U2l6ZSwKICAgICBpZiAoaXNNYWluRnJhbWUpIHsKICAgICAgICAgZnJhbWVWaWV3ID0gRnJh
bWVWaWV3OjpjcmVhdGUodGhpcywgdmlld3BvcnRTaXplKTsKICAgICAgICAgZnJhbWVWaWV3LT5z
ZXRGaXhlZExheW91dFNpemUoZml4ZWRMYXlvdXRTaXplKTsKKyAgICAgICAgZnJhbWVWaWV3LT5z
ZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChmaXhlZFZpc2libGVDb250ZW50UmVjdCk7CiAgICAg
ICAgIGZyYW1lVmlldy0+c2V0VXNlRml4ZWRMYXlvdXQodXNlRml4ZWRMYXlvdXQpOwogICAgIH0g
ZWxzZQogICAgICAgICBmcmFtZVZpZXcgPSBGcmFtZVZpZXc6OmNyZWF0ZSh0aGlzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuaAppbmRleCAwYTA3YzQyMjA4ZmEzYmUwZGU1ODA1MmVjYjYyY2NhNGFiNzkxODBjLi4y
M2E1OWViZGNlMjgxMzQ0MDRjZWQyY2MxM2QwZTM2NzA3Mjg2MDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5o
CkBAIC04OCw4ICs4OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2b2lkIGlu
aXQoKTsKICAgICAgICAgdm9pZCBzZXRWaWV3KFBhc3NSZWZQdHI8RnJhbWVWaWV3Pik7Ci0gICAg
ICAgIHZvaWQgY3JlYXRlVmlldyhjb25zdCBJbnRTaXplJiwgY29uc3QgQ29sb3ImLCBib29sLCBj
b25zdCBJbnRTaXplJiwgYm9vbCwKLSAgICAgICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxi
YXJBdXRvLCBib29sIGhvcml6b250YWxMb2NrID0gZmFsc2UsCisgICAgICAgIHZvaWQgY3JlYXRl
Vmlldyhjb25zdCBJbnRTaXplJiwgY29uc3QgQ29sb3ImLCBib29sLAorICAgICAgICAgICAgY29u
c3QgSW50U2l6ZSYgZml4ZWRMYXlvdXRTaXplID0gSW50U2l6ZSgpLCBjb25zdCBJbnRSZWN0JiBm
aXhlZFZpc2libGVDb250ZW50UmVjdCA9IEludFJlY3QoKSwKKyAgICAgICAgICAgIGJvb2wgdXNl
Rml4ZWRMYXlvdXQgPSBmYWxzZSwgU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckF1dG8sIGJvb2wg
aG9yaXpvbnRhbExvY2sgPSBmYWxzZSwKICAgICAgICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBdXRvLCBib29sIHZlcnRpY2FsTG9jayA9IGZhbHNlKTsKIAogICAgICAgICB+RnJhbWUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggZWJj
OTgwY2E5NjMzZDEwZTIwZDgyMTU4OGFjOTNhNjNmNDkzYjA0ZS4uYWY0MmVkZjQyZWQ3YWU3YzYx
MWI2ODliMTU1ODdlMWQyN2Q4OWU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
QmxhY2tCZXJyeS5jcHAKQEAgLTQ0OCw2ICs0NDgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
QmxhY2tCZXJyeTo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IuaGFzQWxwaGEoKSwgICAgICAgICAgICAvKiBp
cyB0cmFuc3BhcmVudCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgbV93ZWJQYWdlUHJpdmF0
ZS0+YWN0dWFsVmlzaWJsZVNpemUoKSwgLyogZml4ZWQgcmVwb3J0ZWQgc2l6ZSAqLwogICAgICAg
ICAgICAgICAgICAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+Zml4ZWRMYXlvdXRTaXplKCksICAg
LyogZml4ZWQgbGF5b3V0IHNpemUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIEludFJlY3Qo
KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZpeGVkIHZpc2libGUgY29udGVudCBy
ZWN0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICBtX3dlYlBhZ2VQcml2YXRlLT51c2VGaXhl
ZExheW91dCgpLCAgICAvKiB1c2UgZml4ZWQgbGF5b3V0ICovCiAgICAgICAgICAgICAgICAgICAg
ICAgICBTY3JvbGxiYXJBbHdheXNPZmYsICAgICAgICAgICAgICAgICAgICAvKiBob3IgbW9kZSAq
LwogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLyogbG9jayB0aGUgbW9kZSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggZmY0YTBiNDRjNzE0NGU0ODYzNDUwMGEzNWZjODkzNWYx
NDA3OTViZC4uOThiZWMzYWJhNmI1ZGRjZDk3YTE0MmQ2NjI0MzNlOTE2ZTE0OGMzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yMjcxLDcgKzIy
NzEsNyBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KCkKIAogICAgIFdlYlZp
ZXdJbXBsKiB3ZWJWaWV3ID0gdmlld0ltcGwoKTsKICAgICBib29sIGlzTWFpbkZyYW1lID0gd2Vi
Vmlldy0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpID09IGZyYW1lKCk7Ci0gICAgZnJhbWUoKS0+
Y3JlYXRlVmlldyh3ZWJWaWV3LT5zaXplKCksIENvbG9yOjp3aGl0ZSwgd2ViVmlldy0+aXNUcmFu
c3BhcmVudCgpLCAgd2ViVmlldy0+Zml4ZWRMYXlvdXRTaXplKCksIGlzTWFpbkZyYW1lID8gd2Vi
Vmlldy0+aXNGaXhlZExheW91dE1vZGVFbmFibGVkKCkgOiAwKTsKKyAgICBmcmFtZSgpLT5jcmVh
dGVWaWV3KHdlYlZpZXctPnNpemUoKSwgQ29sb3I6OndoaXRlLCB3ZWJWaWV3LT5pc1RyYW5zcGFy
ZW50KCksIHdlYlZpZXctPmZpeGVkTGF5b3V0U2l6ZSgpLCBJbnRSZWN0KCksIGlzTWFpbkZyYW1l
ID8gd2ViVmlldy0+aXNGaXhlZExheW91dE1vZGVFbmFibGVkKCkgOiAwKTsKICAgICBpZiAod2Vi
Vmlldy0+c2hvdWxkQXV0b1Jlc2l6ZSgpICYmIGlzTWFpbkZyYW1lKQogICAgICAgICBmcmFtZSgp
LT52aWV3KCktPmVuYWJsZUF1dG9TaXplTW9kZSh0cnVlLCB3ZWJWaWV3LT5taW5BdXRvU2l6ZSgp
LCB3ZWJWaWV3LT5tYXhBdXRvU2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cAppbmRleCAxMTk1N2U0NDY2M2ZlMjdkNTU1MTRkYjg4ZjU1YjJkMGMzMjUxMWEzLi43MzhhOTM5
MThmMzAxOTFiNTI2YzZmZjE4YjI5NWFmYzliN2I5YTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmNwcApAQCAtMTYyMSw3ICsxNjIxLDcgQEAgdm9pZCBld2tfZnJhbWVfdmlld19jcmVh
dGVfZm9yX3ZpZXcoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX09iamVjdCogdmlldykKICAg
ICBlbHNlCiAgICAgICAgIGJhY2tncm91bmQgPSBXZWJDb3JlOjpDb2xvcihyZWQgKiAyNTUgLyBh
bHBoYSwgZ3JlZW4gKiAyNTUgLyBhbHBoYSwgYmx1ZSAqIDI1NSAvIGFscGhhLCBhbHBoYSk7CiAK
LSAgICBzbWFydERhdGEtPmZyYW1lLT5jcmVhdGVWaWV3KHNpemUsIGJhY2tncm91bmQsICFhbHBo
YSwgV2ViQ29yZTo6SW50U2l6ZSgpLCBmYWxzZSk7CisgICAgc21hcnREYXRhLT5mcmFtZS0+Y3Jl
YXRlVmlldyhzaXplLCBiYWNrZ3JvdW5kLCAhYWxwaGEpOwogICAgIGlmICghc21hcnREYXRhLT5m
cmFtZS0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAppbmRleCAw
ODVmNDFjNmEzZTkwY2EzMmE2ZWVjY2FmYWJkYmNiZGIwMzI5YzVkLi5kMTU0YjFkMzE0MmQzYzAz
OWQzOGViMTEyZGY5NjBiZWQwMmI4NDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC0xMjI0LDcg
KzEyMjQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRG
b3JOZXdQYWdlKCkKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKG1fZnJhbWUpOwogICAgIEFTU0VS
VChmcmFtZSk7CiAKLSAgICBmcmFtZS0+Y3JlYXRlVmlldyhzaXplLCBiYWNrZ3JvdW5kQ29sb3Is
IHRyYW5zcGFyZW50LCBJbnRTaXplKCksIGZhbHNlKTsKKyAgICBmcmFtZS0+Y3JlYXRlVmlldyhz
aXplLCBiYWNrZ3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50KTsKIAogICAgIC8vIFdlIG5lZWQgdG8g
ZG8gZnVydGhlciBtYW5pcHVsYXRpb24gb24gdGhlIEZyYW1lVmlldyBpZiBpdCB3YXMgdGhlIG1h
aW5GcmFtZQogICAgIGlmIChmcmFtZSAhPSBmcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwCmluZGV4IDY2MDBhY2M4MjAxYTdjZTQwNjdkZTEyODU1NjFmNWJjOTZlM2RlNmUu
LjA3MzFkOTMxNThhMTZmOTczMGU4NDFlMjA4MTdhODgyMmI0ZTYxNDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNw
cApAQCAtMjcyLDExICsyNzIsMTMgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojp0cmFuc2l0
aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICBib29sIGhMb2NrID0gaFNjcm9sbGJhciAh
PSBTY3JvbGxiYXJBdXRvOwogICAgIGJvb2wgdkxvY2sgPSB2U2Nyb2xsYmFyICE9IFNjcm9sbGJh
ckF1dG87CiAKLSAgICBJbnRTaXplIGN1cnJlbnRWaXNpYmxlQ29udGVudFNpemUgPSBtX2ZyYW1l
LT52aWV3KCkgPyBtX2ZyYW1lLT52aWV3KCktPnZpc2libGVDb250ZW50UmVjdCgpLnNpemUoKSA6
IEludFNpemUoKTsKKyAgICAvLyBUaGUgSGlzdG9yeUNvbnRyb2xsZXIgd2lsbCB1cGRhdGUgdGhl
IHNjcm9sbCBwb3NpdGlvbiBsYXRlciBpZiBuZWVkZWQuCisgICAgSW50UmVjdCBjdXJyZW50Vmlz
aWJsZUNvbnRlbnRSZWN0ID0gbV9mcmFtZS0+dmlldygpID8gSW50UmVjdChJbnRQb2ludDo6emVy
bygpLCBtX2ZyYW1lLT52aWV3KCktPmZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgpKSA6
IEludFJlY3QoKTsKIAogICAgIG1fZnJhbWUtPmNyZWF0ZVZpZXcobV93ZWJGcmFtZS0+cGFnZSgp
LT52aWV3cG9ydFNpemUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xv
ciwgIWJhY2tncm91bmRDb2xvci5hbHBoYSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgcHJl
ZmVycmVkTGF5b3V0U2l6ZS5pc1ZhbGlkKCkgPyBJbnRTaXplKHByZWZlcnJlZExheW91dFNpemUp
IDogSW50U2l6ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFZpc2libGVDb250
ZW50UmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZlcnJlZExheW91dFNpemUuaXNW
YWxpZCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgaFNjcm9sbGJhciwgaExvY2ssCiAgICAg
ICAgICAgICAgICAgICAgICAgICB2U2Nyb2xsYmFyLCB2TG9jayk7CkBAIC0yODQsMTMgKzI4Niw4
IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3
UGFnZSgpCiAgICAgYm9vbCBpc01haW5GcmFtZSA9IG1fZnJhbWUgPT0gbV9mcmFtZS0+cGFnZSgp
LT5tYWluRnJhbWUoKTsKICAgICBpZiAoaXNNYWluRnJhbWUgJiYgcGFnZS0+ZC0+Y2xpZW50KSB7
CiAgICAgICAgIGJvb2wgcmVzaXplc1RvQ29udGVudHMgPSBwYWdlLT5kLT5jbGllbnQtPnZpZXdS
ZXNpemVzVG9Db250ZW50c0VuYWJsZWQoKTsKLQogICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNl
dFBhaW50c0VudGlyZUNvbnRlbnRzKHJlc2l6ZXNUb0NvbnRlbnRzKTsKICAgICAgICAgbV9mcmFt
ZS0+dmlldygpLT5zZXREZWxlZ2F0ZXNTY3JvbGxpbmcocmVzaXplc1RvQ29udGVudHMpOwotCi0g
ICAgICAgIC8vIFRoZSBIaXN0b3J5Q29udHJvbGxlciB3aWxsIHVwZGF0ZSB0aGUgc2Nyb2xsIHBv
c2l0aW9uIGxhdGVyIGlmIG5lZWRlZC4KLSAgICAgICAgSW50UmVjdCByZWN0ID0gcmVzaXplc1Rv
Q29udGVudHMgPyBJbnRSZWN0KEludFBvaW50Ojp6ZXJvKCksIGN1cnJlbnRWaXNpYmxlQ29udGVu
dFNpemUpIDogSW50UmVjdCgpOwotICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldEZpeGVkVmlz
aWJsZUNvbnRlbnRSZWN0KHJlY3QpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4
IGYwZTkzYzBhMTcxOGU3ZTI0YjFhNmQwOWNjMDE1NDE4NjBmNTJhMzUuLjBlNGIxMDY1Njk4MjVk
ZDc0ZDc0ZGIyNzc2ZWNjNmQ5MjFlYThkYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTcyNCw3
ICs3MjQsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0
ZWRGb3JOZXdQYWdlKCkKICAgICB2aWV3LT5mcmFtZVJlY3QoJnJlY3QpOwogICAgIGJvb2wgdHJh
bnNwYXJlbnQgPSB2aWV3LT50cmFuc3BhcmVudCgpOwogICAgIENvbG9yIGJhY2tncm91bmRDb2xv
ciA9IHRyYW5zcGFyZW50ID8gQ29sb3I6OnRyYW5zcGFyZW50IDogQ29sb3I6OndoaXRlOwotICAg
IGNvcmUobV93ZWJGcmFtZSktPmNyZWF0ZVZpZXcoSW50UmVjdChyZWN0KS5zaXplKCksIGJhY2tn
cm91bmRDb2xvciwgdHJhbnNwYXJlbnQsIEludFNpemUoKSwgZmFsc2UpOworICAgIGNvcmUobV93
ZWJGcmFtZSktPmNyZWF0ZVZpZXcoSW50UmVjdChyZWN0KS5zaXplKCksIGJhY2tncm91bmRDb2xv
ciwgdHJhbnNwYXJlbnQpOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaWRTYXZl
VG9QYWdlQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCmluZGV4IGY2YmE0ZGRlNDFjY2E1MDA0ZjhkYWY1ZTIy
NGMwNTBmYTA1YmEwYmQuLmRjZDkxMjUwMjgzNzI2ZTdlNmFjOWY4NGU5ZTg5OTNjZjIzNTk5ZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRXeC5jcHAKQEAgLTk3Niw3ICs5NzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
V3g6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgIENvbG9yIGJhY2tncm91
bmRDb2xvciA9IHRyYW5zcGFyZW50ID8gV2ViQ29yZTo6Q29sb3I6OnRyYW5zcGFyZW50IDogV2Vi
Q29yZTo6Q29sb3I6OndoaXRlOwogICAgIAogICAgIGlmIChtX2ZyYW1lKQotICAgICAgICBtX2Zy
YW1lLT5jcmVhdGVWaWV3KHNpemUsIGJhY2tncm91bmRDb2xvciwgdHJhbnNwYXJlbnQsIEludFNp
emUoKSwgZmFsc2UpOyAKKyAgICAgICAgbV9mcmFtZS0+Y3JlYXRlVmlldyhzaXplLCBiYWNrZ3Jv
dW5kQ29sb3IsIHRyYW5zcGFyZW50KTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFd4Ojpk
aWRTYXZlVG9QYWdlQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCA5ZGVhMGIwYzhlNjM5YTBiYWNhN2E0ZWY1NjI4YjQ2NDJlMzlhYTQxLi4xYTEyMDZhNGIyZjM0
ODYzZjk1ZGY4YzU5NzI3ZjFlMzUzYWZiZDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMTIyNiwxNiArMTIyNiwxNCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICBDb2xvciBiYWNrZ3JvdW5k
Q29sb3IgPSB3ZWJQYWdlLT5kcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZCgpID8gQ29sb3I6OnRy
YW5zcGFyZW50IDogQ29sb3I6OndoaXRlOwogICAgIGJvb2wgaXNNYWluRnJhbWUgPSB3ZWJQYWdl
LT5tYWluV2ViRnJhbWUoKSA9PSBtX2ZyYW1lOwogICAgIGJvb2wgc2hvdWxkVXNlRml4ZWRMYXlv
dXQgPSBpc01haW5GcmFtZSAmJiB3ZWJQYWdlLT51c2VGaXhlZExheW91dCgpOwotICAgIEludFJl
Y3QgY3VycmVudFZpc2libGVDb250ZW50Qm91bmRzID0gbV9mcmFtZS0+dmlzaWJsZUNvbnRlbnRC
b3VuZHMoKTsKKyAgICBJbnRSZWN0IGN1cnJlbnRGaXhlZFZpc2libGVDb250ZW50UmVjdCA9IG1f
ZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkgPyBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygp
LT5maXhlZFZpc2libGVDb250ZW50UmVjdCgpIDogSW50UmVjdCgpOwogCiAgICAgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UgPSBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkt
PmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNlKCk7CiAgICAgbV9mcmFtZUhhc0N1c3RvbVJlcHJl
c2VudGF0aW9uID0gaXNNYWluRnJhbWUgJiYgd2ViUGFnZS0+c2hvdWxkVXNlQ3VzdG9tUmVwcmVz
ZW50YXRpb25Gb3JSZXNwb25zZShyZXNwb25zZSk7CiAgICAgbV9mcmFtZUNhbWVGcm9tUGFnZUNh
Y2hlID0gZmFsc2U7CiAKLSAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+Y3JlYXRlVmlldyh3ZWJQ
YWdlLT5zaXplKCksIGJhY2tncm91bmRDb2xvciwgLyogdHJhbnNwYXJlbnQgKi8gZmFsc2UsIElu
dFNpemUoKSwgc2hvdWxkVXNlRml4ZWRMYXlvdXQpOworICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgp
LT5jcmVhdGVWaWV3KHdlYlBhZ2UtPnNpemUoKSwgYmFja2dyb3VuZENvbG9yLCAvKiB0cmFuc3Bh
cmVudCAqLyBmYWxzZSwgSW50U2l6ZSgpLCBjdXJyZW50Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qs
IHNob3VsZFVzZUZpeGVkTGF5b3V0KTsKICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygp
LT5zZXRUcmFuc3BhcmVudCghd2ViUGFnZS0+ZHJhd3NCYWNrZ3JvdW5kKCkpOwotICAgIGlmIChz
aG91bGRVc2VGaXhlZExheW91dCAmJiAhY3VycmVudFZpc2libGVDb250ZW50Qm91bmRzLmlzRW1w
dHkoKSkKLSAgICAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0Rml4ZWRWaXNp
YmxlQ29udGVudFJlY3QoY3VycmVudFZpc2libGVDb250ZW50Qm91bmRzKTsKIH0KIAogdm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlkU2F2ZVRvUGFnZUNhY2hlKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>