<?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>84018</bug_id>
          
          <creation_ts>2012-04-16 03:37:55 -0700</creation_ts>
          <short_desc>[GTK][WK2] Implement API for generic permission requests</short_desc>
          <delta_ts>2012-05-25 06:45:44 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>83879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>603019</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-16 03:37:55 -0700</bug_when>
    <thetext>This will be useful for implementing things like geolocation or fullscreen permission requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603020</commentid>
    <comment_count>1</comment_count>
      <attachid>137309</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-16 03:44:39 -0700</bug_when>
    <thetext>Created attachment 137309
Patch Proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603021</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-16 03:47:23 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603024</commentid>
    <comment_count>3</comment_count>
      <attachid>137309</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-16 03:50:01 -0700</bug_when>
    <thetext>Comment on attachment 137309
Patch Proposal

Attachment 137309 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12416004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603031</commentid>
    <comment_count>4</comment_count>
      <attachid>137312</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-16 04:05:30 -0700</bug_when>
    <thetext>Created attachment 137312
Patch Proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603843</commentid>
    <comment_count>5</comment_count>
      <attachid>137312</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-04-17 00:34:29 -0700</bug_when>
    <thetext>Comment on attachment 137312
Patch Proposal

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

Looks good.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:29
&gt; + * There are situations where a web browser would need to ask the user

Not all embedders are web browsers

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:33
&gt; + * #WebKitWebVice::permission-request signal with a

WebKitWebVice? :-P

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:40
&gt; + * If the signal handler does nothing, WebKit will act as if
&gt; + * webkit_permission_request_deny() was called as soon as signal
&gt; + * handling completes. To handle a permission request in an
&gt; + * asynchronous way, simply increment the reference count of the
&gt; + * #WebKitPermissionRequest object.

This depends on the implementation, or it should be enforced by the interface.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:656
&gt; +     *

You should mention here that if this signal is not hanlded, the default behaviour is to deny the request

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:661
&gt; +     *

A code snippet here would help to understand how to use this signal

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:146
&gt; +    gboolean   (* permission_request)    (WebKitWebView              *web_view,
&gt; +                                          WebKitPermissionRequest    *permission_request);

There&apos;s an extra space before parameter names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606680</commentid>
    <comment_count>6</comment_count>
      <attachid>138114</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-20 10:33:02 -0700</bug_when>
    <thetext>Created attachment 138114
Patch Proposal

Thanks for the review. Attached new patch addressing all the issues.

See some comments below...

(In reply to comment #5)
&gt; [...]
&gt; Not all embedders are web browsers
&gt;
Fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:33
&gt; &gt; + * #WebKitWebVice::permission-request signal with a
&gt; 
&gt; WebKitWebVice? :-P

You have to admit it was a great name to have in the API, a bit useless though.

Fixed.
 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:40
&gt; &gt; + * If the signal handler does nothing, WebKit will act as if
&gt; &gt; + * webkit_permission_request_deny() was called as soon as signal
&gt; &gt; + * handling completes. To handle a permission request in an
&gt; &gt; + * asynchronous way, simply increment the reference count of the
&gt; &gt; + * #WebKitPermissionRequest object.
&gt; 
&gt; This depends on the implementation, or it should be enforced by the interface.

Fixed (just removed)

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:656
&gt; &gt; +     *
&gt; 
&gt; You should mention here that if this signal is not hanlded, the default behaviour is to deny the request
&gt;
Fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:661
&gt; &gt; +     *
&gt; 
&gt; A code snippet here would help to understand how to use this signal
&gt;

Fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:146
&gt; &gt; +    gboolean   (* permission_request)    (WebKitWebView              *web_view,
&gt; &gt; +                                          WebKitPermissionRequest    *permission_request);
&gt; 
&gt; There&apos;s an extra space before parameter names.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610664</commentid>
    <comment_count>7</comment_count>
      <attachid>138114</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-26 09:01:59 -0700</bug_when>
    <thetext>Comment on attachment 138114
Patch Proposal

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

Looks good. In the future, some requests show allow asynchronous handling. Some probably won&apos;t allow that. The documentation in WebKitWebView should explain the situation and we should add some API to make this discoverable.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:30
&gt; + * for permission on certain type of operations, such as switching to

&quot;to ask the user for permission on certain type&quot; -&gt; &quot;to ask the user for permission to do certain types&quot;

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPermissionRequest.cpp:31
&gt; + * full screen mode or reporting the user&apos;s location through the

Nit: you use &quot;full screen&quot; here but &quot;fullscreen&quot; below.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:198
&gt; +static gboolean webkitWebViewPermissionRequest(WebKitWebView*, WebKitPermissionRequest* decision)
&gt; +{
&gt; +    webkit_permission_request_deny(decision);
&gt; +    return TRUE;
&gt; +}

Installing a default handler like this means that the request cannot be answered asynchronously. Perhaps it&apos;s better to do this in the finalize method for the concrete types.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:655
&gt; +     * decide about a permission request, such as allowing the browser
&gt; +     * switch to fullscreen mode, sharing its location or similar.

&quot;allowing the browser to switch to fullscreen&quot;

&quot;or similar&quot; -&gt; &quot;or similar operations.&quot;

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:658
&gt; +     * A possible way to use this signal could be through a dialog to
&gt; +     * allow the user decide what to do with the request:

&quot;through a dialog to allow&quot; -&gt; &quot;through a dialog allowing&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633885</commentid>
    <comment_count>8</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-05-25 06:45:44 -0700</bug_when>
    <thetext>Committed r118522: &lt;http://trac.webkit.org/changeset/118522&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137309</attachid>
            <date>2012-04-16 03:44:39 -0700</date>
            <delta_ts>2012-04-16 04:05:30 -0700</delta_ts>
            <desc>Patch Proposal</desc>
            <filename>0001-2012-04-13-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>20191</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBjOWNjNjc0OTljYmFhNmY0ODZlNjQ2OGI0ODgyNTg0MjQ1MGY4MjM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDEzIEFwciAyMDEyIDE1OjMwOjEzICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMi0wNC0xMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFtHVEtdW1dLMl0gSW1wbGVtZW50IEFQSSBmb3IgZ2VuZXJpYyBwZXJtaXNzaW9u
IHJlcXVlc3RzCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg0MDE4CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBBZGRl
ZCBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2lnbmFsIHRvIFdlYktpdFdlYlZpZXcsIHRvIGJl
CiAgICAgICAgZmlyZWQgd2hlbiBXZWJLaXQgbmVlZHMgY29uZmlybWF0aW9uIGZyb20gdGhlIHVz
ZXIgb24gd2hldGhlciB0bwogICAgICAgIGFsbG93IG9yIGRlbnkgY2VydGFpbiBvcGVyYXRpb25z
LCBzdWNoIGFzIHNoYXJpbmcgdGhlIHVzZXIncwogICAgICAgIGxvY2F0aW9uIHdpdGggd2ViIHNp
dGUgdGhyb3VnaCB0aGUgR2VvbG9jYXRpb24gQVBJLgoKICAgICAgICBOZXcgV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QgaW50ZXJmYWNlLCBwcm92aWRpbmcgYWxsb3coKSBhbmQKICAgICAgICBkZW55
KCkgb3BlcmF0aW9ucywgdG8gYmUgY2FsbGVkIG92ZXIgdGhlIG9iamVjdHMgaW1wbGVtZW50aW5n
IGl0CiAgICAgICAgd2hlbiBlbWl0dGVkIGFsb25nIHdpdGggdGhlIG5ldyAncGVybWlzc2lvbi1y
ZXF1ZXN0JyBzaWduYWwuCgogICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QuY3BwOiBBZGRlZC4KICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVz
dF9kZWZhdWx0X2luaXQpOgogICAgICAgICh3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93
KToKICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KToKICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0Lmg6IEFkZGVkLgogICAgICAg
IChfV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSk6CiAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkZWQgbmV3IGZpbGVzLgoKICAgICAgICBBZGRlZCB0aGUgbmV3IHNpZ25hbCB0byBXZWJL
aXRXZWJWaWV3LCBwcm92aWRpbmcgYSBkZWZhdWx0IGhhbmRsZXIKICAgICAgICB0aGF0IHdpbGwg
anVzdCBkZW55IHRoZSByZXF1ZXN0IHdoZW4gdGhlIHNpZ25hbCBpcyBub3QgaGFuZGxlZC4KCiAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKICAgICAgICAod2Vi
a2l0V2ViVmlld0RlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KTogRGVmYXVsdCBoYW5kbGVyLgogICAg
ICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IERlY2xhcmUgdGhlIG5ldyBzaWduYWwg
YW5kIGNvbm5lY3QKICAgICAgICB0byB0aGUgZGVmYXVsdCBoYW5kbGVyLgogICAgICAgICh3ZWJr
aXRXZWJWaWV3TWFrZVBlcm1pc3Npb25SZXF1ZXN0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0
ZSBhCiAgICAgICAgbWFrZSBhIG5ldyBwZXJtaXNzaW9uIHJlcXVlc3QgYW5kIGVtaXQgdGhlIG5l
dyBzaWduYWwgc2lnbmFsLgogICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oOgogICAgICAgIChfV2ViS2l0V2ViVmlld0NsYXNzKToKICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IERlY2xhcmUgdGhlIGNyZWF0aW9uYWwKICAg
ICAgICBmdW5jdGlvbiB3ZWJraXRXZWJWaWV3TWFrZVBlcm1pc3Npb25SZXF1ZXN0IGZvciBpbnRl
cm5hbCB1c2Ugb25seS4KCiAgICAgICAgVXBkYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzLgoKICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWw6CiAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0
MyArKysrKysrKysrKwogU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAg
ICAgICAgICAgfCAgICAzICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9u
UmVxdWVzdC5jcHAgIHwgICA3OCArKysrKysrKysrKysrKysrKysrKwogLi4uL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmggICAgfCAgIDU4ICsrKysrKysrKysrKysr
KwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAg
IDQxICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaCAgIHwgICAgMyArCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1By
aXZhdGUuaCAgICAgICB8ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0
Mmd0ay1kb2NzLnNnbWwgICAgfCAgICAxICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dl
YmtpdDJndGstc2VjdGlvbnMudHh0IHwgICAxOCArKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvd2Via2l0Mi5oICAgICAgICAgfCAgICAxICsKIDEwIGZpbGVzIGNoYW5nZWQs
IDI0NyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNw
cAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFBlcm1pc3Npb25SZXF1ZXN0LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDdlY2Y3NC4uZDczZTcxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDEyLTA0LTEzICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1RLXVtXSzJdIEltcGxlbWVu
dCBBUEkgZm9yIGdlbmVyaWMgcGVybWlzc2lvbiByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQwMTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgJ3Blcm1pc3Npb24tcmVxdWVz
dCcgc2lnbmFsIHRvIFdlYktpdFdlYlZpZXcsIHRvIGJlCisgICAgICAgIGZpcmVkIHdoZW4gV2Vi
S2l0IG5lZWRzIGNvbmZpcm1hdGlvbiBmcm9tIHRoZSB1c2VyIG9uIHdoZXRoZXIgdG8KKyAgICAg
ICAgYWxsb3cgb3IgZGVueSBjZXJ0YWluIG9wZXJhdGlvbnMsIHN1Y2ggYXMgc2hhcmluZyB0aGUg
dXNlcidzCisgICAgICAgIGxvY2F0aW9uIHdpdGggd2ViIHNpdGUgdGhyb3VnaCB0aGUgR2VvbG9j
YXRpb24gQVBJLgorCisgICAgICAgIE5ldyBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCBpbnRlcmZh
Y2UsIHByb3ZpZGluZyBhbGxvdygpIGFuZAorICAgICAgICBkZW55KCkgb3BlcmF0aW9ucywgdG8g
YmUgY2FsbGVkIG92ZXIgdGhlIG9iamVjdHMgaW1wbGVtZW50aW5nIGl0CisgICAgICAgIHdoZW4g
ZW1pdHRlZCBhbG9uZyB3aXRoIHRoZSBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2lnbmFsLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVmYXVsdF9pbml0
KToKKyAgICAgICAgKHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cpOgorICAgICAgICAo
d2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oOiBBZGRlZC4KKyAgICAgICAgKF9XZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdElmYWNlKToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQg
bmV3IGZpbGVzLgorCisgICAgICAgIEFkZGVkIHRoZSBuZXcgc2lnbmFsIHRvIFdlYktpdFdlYlZp
ZXcsIHByb3ZpZGluZyBhIGRlZmF1bHQgaGFuZGxlcgorICAgICAgICB0aGF0IHdpbGwganVzdCBk
ZW55IHRoZSByZXF1ZXN0IHdoZW4gdGhlIHNpZ25hbCBpcyBub3QgaGFuZGxlZC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0
V2ViVmlld0RlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KTogRGVmYXVsdCBoYW5kbGVyLgorICAgICAg
ICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOiBEZWNsYXJlIHRoZSBuZXcgc2lnbmFsIGFu
ZCBjb25uZWN0CisgICAgICAgIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuCisgICAgICAgICh3ZWJr
aXRXZWJWaWV3TWFrZVBlcm1pc3Npb25SZXF1ZXN0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0
ZSBhCisgICAgICAgIG1ha2UgYSBuZXcgcGVybWlzc2lvbiByZXF1ZXN0IGFuZCBlbWl0IHRoZSBu
ZXcgc2lnbmFsIHNpZ25hbC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3Lmg6CisgICAgICAgIChfV2ViS2l0V2ViVmlld0NsYXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oOiBEZWNsYXJlIHRoZSBjcmVhdGlvbmFs
CisgICAgICAgIGZ1bmN0aW9uIHdlYmtpdFdlYlZpZXdNYWtlUGVybWlzc2lvblJlcXVlc3QgZm9y
IGludGVybmFsIHVzZSBvbmx5LgorCisgICAgICAgIFVwZGF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNn
bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25z
LnR4dDoKKworMjAxMi0wNC0xMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxp
YS5jb20+CisKICAgICAgICAgW0dUS11bV0syXSBJbXBsZW1lbnQgZ2VvbG9jYXRpb24gcHJvdmlk
ZXIgZm9yIHRoZSBHVEsgcG9ydAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODM4NzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCA2ZGRiODU4Li40NGZi
YjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtOTUsNiArOTUsNyBAQCBsaWJ3ZWJraXQyZ3Rr
aW5jbHVkZV9IRUFERVJTID0gXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
SGl0VGVzdFJlc3VsdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEph
dmFzY3JpcHRSZXN1bHQuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRO
YXZpZ2F0aW9uUG9saWN5RGVjaXNpb24uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFBvbGljeURlY2lzaW9uLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uLmggXApAQCAtNTc3LDYgKzU3OCw4IEBAIHdl
YmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmggXAogCVNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvblBy
aXZhdGUuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRQZXJtaXNzaW9uUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRQb2xpY3lEZWNpc2lvbi5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFBvbGljeURlY2lzaW9uLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFBvbGljeURlY2lzaW9uUHJpdmF0ZS5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1
ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGY3MjFmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3QuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdFBl
cm1pc3Npb25SZXF1ZXN0LmgiCisKKy8qKgorICogU0VDVElPTjogV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogQSBwZXJtaXNzaW9uIHJlcXVlc3QKKyAqIEBU
aXRsZTogV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKKyAqIEBTZWVfYWxzbzogI1dlYktpdFdlYlZp
ZXcKKyAqCisgKiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSBhIHdlYiBicm93c2VyIHdvdWxk
IG5lZWQgdG8gYXNrIHRoZSB1c2VyCisgKiBmb3IgcGVybWlzc2lvbiBvbiBjZXJ0YWluIHR5cGUg
b2Ygb3BlcmF0aW9ucywgc3VjaCBhcyBzd2l0Y2hpbmcgdG8KKyAqIGZ1bGwgc2NyZWVuIG1vZGUg
b3IgcmVwb3J0aW5nIHRoZSB1c2VyJ3MgbG9jYXRpb24gdGhyb3VnaCB0aGUKKyAqIHN0YW5kYXJk
IEdlb2xvY2F0aW9uIEFQSS4gSW4gdGhvc2UgY2FzZXMsIFdlYktpdCB3aWxsIGVtaXQgYQorICog
I1dlYktpdFdlYlZpY2U6OnBlcm1pc3Npb24tcmVxdWVzdCBzaWduYWwgd2l0aCBhCisgKiAjV2Vi
S2l0UGVybWlzc2lvblJlcXVlc3Qgb2JqZWN0IGF0dGFjaGVkIHRvIGl0LgorICoKKyAqIElmIHRo
ZSBzaWduYWwgaGFuZGxlciBkb2VzIG5vdGhpbmcsIFdlYktpdCB3aWxsIGFjdCBhcyBpZgorICog
d2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KCkgd2FzIGNhbGxlZCBhcyBzb29uIGFzIHNp
Z25hbAorICogaGFuZGxpbmcgY29tcGxldGVzLiBUbyBoYW5kbGUgYSBwZXJtaXNzaW9uIHJlcXVl
c3QgaW4gYW4KKyAqIGFzeW5jaHJvbm91cyB3YXksIHNpbXBseSBpbmNyZW1lbnQgdGhlIHJlZmVy
ZW5jZSBjb3VudCBvZiB0aGUKKyAqICNXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCBvYmplY3QuCisg
Ki8KKwordHlwZWRlZiBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdElmYWNlIFdlYktpdFBlcm1pc3Np
b25SZXF1ZXN0SW50ZXJmYWNlOworR19ERUZJTkVfSU5URVJGQUNFKFdlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0LCB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0LCBHX1RZUEVfT0JKRUNUKQorCitzdGF0
aWMgdm9pZCB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlZmF1bHRfaW5pdChXZWJLaXRQZXJt
aXNzaW9uUmVxdWVzdElmYWNlKikKK3sKK30KKworLyoqCisgKiB3ZWJraXRfcGVybWlzc2lvbl9y
ZXF1ZXN0X2FsbG93OgorICogQHJlcXVlc3Q6IGEgI1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0Cisg
KgorICogQWxsb3cgdGhlIGFjdGlvbiB3aGljaCB0cmlnZ2VyZWQgdGhpcyByZXF1ZXN0LgorICov
Cit2b2lkIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3coV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfUEVSTUlT
U0lPTl9SRVFVRVNUKHJlcXVlc3QpKTsKKworICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZh
Y2UqIGlmYWNlID0gV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0UocmVxdWVzdCk7
CisgICAgaWYgKGlmYWNlLT5hbGxvdykKKyAgICAgICAgaWZhY2UtPmFsbG93KHJlcXVlc3QpOwor
fQorCisvKioKKyAqIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueToKKyAqIEByZXF1ZXN0
OiBhICNXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAorICoKKyAqIERlbnkgdGhlIGFjdGlvbiB3aGlj
aCB0cmlnZ2VyZCB0aGlzIHJlcXVlc3QuCisgKi8KK3ZvaWQgd2Via2l0X3Blcm1pc3Npb25fcmVx
dWVzdF9kZW55KFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0KiByZXF1ZXN0KQoreworICAgIGdfcmV0
dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0KSk7CisKKyAg
ICBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdElmYWNlKiBpZmFjZSA9IFdFQktJVF9QRVJNSVNTSU9O
X1JFUVVFU1RfR0VUX0lGQUNFKHJlcXVlc3QpOworICAgIGlmIChpZmFjZS0+ZGVueSkKKyAgICAg
ICAgaWZhY2UtPmRlbnkocmVxdWVzdCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjJmMWYxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuaApA
QCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNp
ZiAhZGVmaW5lZChfX1dFQktJVDJfSF9JTlNJREVfXykgJiYgIWRlZmluZWQoV0VCS0lUMl9DT01Q
SUxBVElPTikKKyNlcnJvciAiT25seSA8d2Via2l0Mi93ZWJraXQyLmg+IGNhbiBiZSBpbmNsdWRl
ZCBkaXJlY3RseS4iCisjZW5kaWYKKworI2lmbmRlZiBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdF9o
CisjZGVmaW5lIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0X2gKKworI2luY2x1ZGUgPGdsaWItb2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXREZWZpbmVzLmg+CisKK0dfQkVHSU5fREVD
TFMKKworI2RlZmluZSBXRUJLSVRfVFlQRV9QRVJNSVNTSU9OX1JFUVVFU1QgICAgICAgICAgICh3
ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9QRVJN
SVNTSU9OX1JFUVVFU1Qob2JqKSAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNU
KChvYmopLCBXRUJLSVRfVFlQRV9QRVJNSVNTSU9OX1JFUVVFU1QsIFdlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0KSkKKyNkZWZpbmUgV0VCS0lUX0lTX1BFUk1JU1NJT05fUkVRVUVTVChvYmopICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX1BFUk1JU1NJ
T05fUkVRVUVTVCkpCisjZGVmaW5lIFdFQktJVF9QRVJNSVNTSU9OX1JFUVVFU1RfR0VUX0lGQUNF
KG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFKChvYmopLCBXRUJLSVRfVFlQRV9Q
RVJNSVNTSU9OX1JFUVVFU1QsIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZhY2UpKQorCit0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgV2ViS2l0UGVybWlzc2lvblJlcXVl
c3Q7Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSBXZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdElmYWNlOworCitzdHJ1Y3QgX1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0
SWZhY2UgeworICAgIEdUeXBlSW50ZXJmYWNlIHBhcmVudF9pbnRlcmZhY2U7CisKKyAgICB2b2lk
ICgqIGFsbG93KSAoV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3QpOworICAgIHZvaWQg
KCogZGVueSkgIChXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCk7Cit9OworCitXRUJL
SVRfQVBJIEdUeXBlCit3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlICh2b2lkKTsK
KworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93ICAgIChX
ZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCk7CisKK1dFQktJVF9BUEkgdm9pZAord2Vi
a2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55ICAgICAoV2ViS2l0UGVybWlzc2lvblJlcXVlc3Qg
KnJlcXVlc3QpOworCitHX0VORF9ERUNMUworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggN2E2YzAxZC4uOGE2
MzYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHAKQEAgLTY0LDYgKzY0LDcgQEAgZW51bSB7CiAgICAgU0NSSVBUX0RJQUxPRywK
IAogICAgIERFQ0lERV9QT0xJQ1ksCisgICAgUEVSTUlTU0lPTl9SRVFVRVNULAogCiAgICAgTU9V
U0VfVEFSR0VUX0NIQU5HRUQsCiAKQEAgLTE5MCw2ICsxOTEsMTIgQEAgc3RhdGljIGdib29sZWFu
IHdlYmtpdFdlYlZpZXdEZWNpZGVQb2xpY3koV2ViS2l0V2ViVmlldyosIFdlYktpdFBvbGljeURl
Y2lzaW9uKgogICAgIHJldHVybiBUUlVFOwogfQogCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2Vi
Vmlld1Blcm1pc3Npb25SZXF1ZXN0KFdlYktpdFdlYlZpZXcqLCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCogZGVjaXNpb24pCit7CisgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KGRl
Y2lzaW9uKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKwogc3RhdGljIHZvaWQgem9vbVRleHRPbmx5
Q2hhbmdlZChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIEdQYXJhbVNwZWMqLCBXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3KQogewogICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0b0FQSSh3ZWJraXRXZWJW
aWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpKTsKQEAgLTMxMyw2
ICszMjAsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRX
ZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICB3ZWJWaWV3Q2xhc3MtPmNyZWF0ZSA9IHdl
YmtpdFdlYlZpZXdDcmVhdGU7CiAgICAgd2ViVmlld0NsYXNzLT5zY3JpcHRfZGlhbG9nID0gd2Vi
a2l0V2ViVmlld1NjcmlwdERpYWxvZzsKICAgICB3ZWJWaWV3Q2xhc3MtPmRlY2lkZV9wb2xpY3kg
PSB3ZWJraXRXZWJWaWV3RGVjaWRlUG9saWN5OworICAgIHdlYlZpZXdDbGFzcy0+cGVybWlzc2lv
bl9yZXF1ZXN0ID0gd2Via2l0V2ViVmlld1Blcm1pc3Npb25SZXF1ZXN0OwogCiAgICAgZ190eXBl
X2NsYXNzX2FkZF9wcml2YXRlKHdlYlZpZXdDbGFzcywgc2l6ZW9mKFdlYktpdFdlYlZpZXdQcml2
YXRlKSk7CiAKQEAgLTYzOCw2ICs2NDYsMzMgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3
X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAg
ICAgICAgICAgICBXRUJLSVRfVFlQRV9QT0xJQ1lfREVDSVNJT05fVFlQRSk7CiAKICAgICAvKioK
KyAgICAgKiBXZWJLaXRXZWJWaWV3OjpwZXJtaXNzaW9uLXJlcXVlc3Q6CisgICAgICogQHdlYl92
aWV3OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCisg
ICAgICogQHJlcXVlc3Q6IHRoZSAjV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKKyAgICAgKgorICAg
ICAqIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQgaXMgcmVxdWVzdGluZyB0aGUg
Y2xpZW50IHRvCisgICAgICogZGVjaWRlIGFib3V0IGEgcGVybWlzc2lvbiByZXF1ZXN0LCBzdWNo
IGFzIGFsbG93aW5nIHRoZSBicm93c2VyCisgICAgICogc3dpdGNoIHRvIGZ1bGxzY3JlZW4gbW9k
ZSwgc2hhcmluZyBpdHMgbG9jYXRpb24gb3Igc2ltaWxhci4KKyAgICAgKgorICAgICAqIElmIHRo
ZSBsYXN0IHJlZmVyZW5jZSBpcyByZW1vdmVkIG9uIGEgI1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0
CisgICAgICogYW5kIG5vIGRlY2lzaW9uIGhhcyBiZWVuIG1hZGUsIHdlYmtpdF9wZXJtaXNzaW9u
X3JlcXVlc3RfZGVueSgpCisgICAgICogd2lsbCBiZSB0aGUgZGVmYXVsdCBkZWNpc2lvbi4gVGhl
IGRlZmF1bHQgc2lnbmFsIGhhbmRsZXIgd2lsbAorICAgICAqIHNpbXBseSBjYWxsIHdlYmtpdF9w
ZXJtaXNzaW9uX3JlcXVlc3RfZGVueSgpLgorICAgICAqCisgICAgICogUmV0dXJuczogJVRSVUUg
dG8gc3RvcCBvdGhlciBoYW5kbGVycyBmcm9tIGJlaW5nIGludm9rZWQgZm9yIHRoZSBldmVudC4K
KyAgICAgKiAgICVGQUxTRSB0byBwcm9wYWdhdGUgdGhlIGV2ZW50IGZ1cnRoZXIuCisgICAgICoK
KyAgICAgKi8KKyAgICBzaWduYWxzW1BFUk1JU1NJT05fUkVRVUVTVF0gPQorICAgICAgICBnX3Np
Z25hbF9uZXcoInBlcm1pc3Npb24tcmVxdWVzdCIsCisgICAgICAgICAgICAgICAgICAgICBHX1RZ
UEVfRlJPTV9DTEFTUyh3ZWJWaWV3Q2xhc3MpLAorICAgICAgICAgICAgICAgICAgICAgR19TSUdO
QUxfUlVOX0xBU1QsCisgICAgICAgICAgICAgICAgICAgICBHX1NUUlVDVF9PRkZTRVQoV2ViS2l0
V2ViVmlld0NsYXNzLCBwZXJtaXNzaW9uX3JlcXVlc3QpLAorICAgICAgICAgICAgICAgICAgICAg
Z19zaWduYWxfYWNjdW11bGF0b3JfdHJ1ZV9oYW5kbGVkLCAwIC8qIGFjY3VtdWxhdG9yIGRhdGEg
Ki8sCisgICAgICAgICAgICAgICAgICAgICB3ZWJraXRfbWFyc2hhbF9CT09MRUFOX19PQkpFQ1Qs
CisgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfQk9PTEVBTiwgMSwgLyogbnVtYmVyIG9mIHBh
cmFtZXRlcnMgKi8KKyAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX1BFUk1JU1NJT05f
UkVRVUVTVCk7CisgICAgLyoqCiAgICAgICogV2ViS2l0V2ViVmlldzo6bW91c2UtdGFyZ2V0LWNo
YW5nZWQ6CiAgICAgICogQHdlYl92aWV3OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhl
IHNpZ25hbCBpcyBlbWl0dGVkCiAgICAgICogQGhpdF90ZXN0X3Jlc3VsdDogYSAjV2ViS2l0SGl0
VGVzdFJlc3VsdApAQCAtODkxLDYgKzkyNiwxMiBAQCB2b2lkIHdlYmtpdFdlYlZpZXdNYWtlUG9s
aWN5RGVjaXNpb24oV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0UG9saWN5RGVjaXNpbwog
ICAgIGdfc2lnbmFsX2VtaXQod2ViVmlldywgc2lnbmFsc1tERUNJREVfUE9MSUNZXSwgMCwgZGVj
aXNpb24sIHR5cGUsICZyZXR1cm5WYWx1ZSk7CiB9CiAKK3ZvaWQgd2Via2l0V2ViVmlld01ha2VQ
ZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9u
UmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBnYm9vbGVhbiByZXR1cm5WYWx1ZTsKKyAgICBnX3Np
Z25hbF9lbWl0KHdlYlZpZXcsIHNpZ25hbHNbUEVSTUlTU0lPTl9SRVFVRVNUXSwgMCwgcmVxdWVz
dCwgJnJldHVyblZhbHVlKTsKK30KKwogdm9pZCB3ZWJraXRXZWJWaWV3TW91c2VUYXJnZXRDaGFu
Z2VkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdLSGl0VGVzdFJlc3VsdFJlZiB3a0hpdFRlc3RS
ZXN1bHQsIHVuc2lnbmVkIG1vZGlmaWVycykKIHsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSog
cHJpdiA9IHdlYlZpZXctPnByaXY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggZjVjMjFjNS4uN2FkYzRmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtNDEsNiAr
NDEsNyBAQAogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0V2ViUmVzb3VyY2UuaD4KICNpbmNsdWRl
IDx3ZWJraXQyL1dlYktpdFdlYlZpZXdCYXNlLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRX
aW5kb3dQcm9wZXJ0aWVzLmg+CisjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdC5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0UG9saWN5RGVjaXNpb24uaD4KIAogR19C
RUdJTl9ERUNMUwpAQCAtMTQxLDYgKzE0Miw4IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld0NsYXNz
IHsKICAgICBnYm9vbGVhbiAgICgqIGRlY2lkZV9wb2xpY3kpICAgICAgICAgKFdlYktpdFdlYlZp
ZXcgICAgICAgICAgICAgKndlYl92aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV2ViS2l0UG9saWN5RGVjaXNpb24gICAgICAqZGVjaXNpb24sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXRQb2xpY3lEZWNpc2lvblR5
cGUgICB0eXBlKTsKKyAgICBnYm9vbGVhbiAgICgqIHBlcm1pc3Npb25fcmVxdWVzdCkgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICAgICpwZXJtaXNz
aW9uX3JlcXVlc3QpOwogICAgIHZvaWQgICAgICAgKCogbW91c2VfdGFyZ2V0X2NoYW5nZWQpICAo
V2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXRIaXRUZXN0UmVzdWx0ICAgICAgICpoaXRfdGVz
dF9yZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWlu
dCAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKaW5kZXggNzBk
NmQ2ZC4uNzJiODEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBAIC00Miw2ICs0Miw3IEBAIHZvaWQgd2Vi
a2l0V2ViVmlld0Nsb3NlUGFnZShXZWJLaXRXZWJWaWV3Kik7CiB2b2lkIHdlYmtpdFdlYlZpZXdS
dW5KYXZhU2NyaXB0QWxlcnQoV2ViS2l0V2ViVmlldyosIGNvbnN0IENTdHJpbmcmIG1lc3NhZ2Up
OwogYm9vbCB3ZWJraXRXZWJWaWV3UnVuSmF2YVNjcmlwdENvbmZpcm0oV2ViS2l0V2ViVmlldyos
IGNvbnN0IENTdHJpbmcmIG1lc3NhZ2UpOwogV0tTdHJpbmdSZWYgd2Via2l0V2ViVmlld1J1bkph
dmFTY3JpcHRQcm9tcHQoV2ViS2l0V2ViVmlldyosIGNvbnN0IENTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IENTdHJpbmcmIGRlZmF1bHRUZXh0KTsKK3ZvaWQgd2Via2l0V2ViVmlld01ha2VQZXJtaXNz
aW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3KiwgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QqKTsKIHZv
aWQgd2Via2l0V2ViVmlld01ha2VQb2xpY3lEZWNpc2lvbihXZWJLaXRXZWJWaWV3KiwgV2ViS2l0
UG9saWN5RGVjaXNpb25UeXBlLCBXZWJLaXRQb2xpY3lEZWNpc2lvbiopOwogdm9pZCB3ZWJraXRX
ZWJWaWV3TW91c2VUYXJnZXRDaGFuZ2VkKFdlYktpdFdlYlZpZXcqLCBXS0hpdFRlc3RSZXN1bHRS
ZWYsIHVuc2lnbmVkIG1vZGlmaWVycyk7CiB2b2lkIHdlYmtpdFdlYlZpZXdQcmludEZyYW1lKFdl
YktpdFdlYlZpZXcqLCBXS0ZyYW1lUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21sCmluZGV4IDlmMDg2
NjMuLjBmOTE4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbApAQCAtMjEsNiArMjEsNyBAQAogICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVUklSZXNwb25zZS54bWwiLz4KICAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2luZG93UHJvcGVydGllcy54bWwiLz4KICAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RG93bmxvYWQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LnhtbCIvPgogICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRQb2xpY3lEZWNpc2lvbi54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLnhtbCIvPgogICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uLnhtbCIvPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Vi
a2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggODI5ZGUxYy4uMzI5Y2VmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25z
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJn
dGstc2VjdGlvbnMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHdlYmtpdF93ZWJfY29udGV4dF9nZXRf
dHlwZQogPFRJVExFPldlYktpdFdlYlZpZXc8L1RJVExFPgogV2ViS2l0V2ViVmlldwogV2ViS2l0
TG9hZEV2ZW50CitXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdFR5cGUKIFdlYktpdFBvbGljeURlY2lz
aW9uVHlwZQogCiA8U1VCU0VDVElPTiBFZGl0aW5nIENvbW1hbmRzPgpAQCAtMzU3LDYgKzM1OCwy
MyBAQCB3ZWJraXRfZG93bmxvYWRfZ2V0X3R5cGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJT04+Cis8
RklMRT5XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdFBlcm1pc3Npb25SZXF1
ZXN0Cit3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93Cit3ZWJraXRfcGVybWlzc2lvbl9y
ZXF1ZXN0X2RlbnkKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdElmYWNlCitXRUJLSVRfVFlQRV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9QRVJNSVNT
SU9OX1JFUVVFU1QKK1dFQktJVF9JU19QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9QRVJNSVNT
SU9OX1JFUVVFU1RfR0VUX0lGQUNFCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfcGVy
bWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgogPEZJTEU+
V2ViS2l0UG9saWN5RGVjaXNpb248L0ZJTEU+CiBXZWJLaXRQb2xpY3lEZWNpc2lvbgogd2Via2l0
X3BvbGljeV9kZWNpc2lvbl9kb3dubG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvd2Via2l0Mi5oCmluZGV4IDdkM2ZiMGEuLmI1ZDgyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdEZpbmRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRI
aXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0
Lmg+CisjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oPgogI2luY2x1
ZGUgPHdlYmtpdDIvV2ViS2l0UHJpbnRPcGVyYXRpb24uaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dl
YktpdFNjcmlwdERpYWxvZy5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0U2V0dGluZ3MuaD4K
LS0gCjEuNy43LjYKCg==
</data>
<flag name="commit-queue"
          id="142327"
          type_id="3"
          status="-"
          setter="pnormand"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137312</attachid>
            <date>2012-04-16 04:05:30 -0700</date>
            <delta_ts>2012-04-20 10:33:02 -0700</delta_ts>
            <desc>Patch Proposal</desc>
            <filename>0001-2012-04-13-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>19994</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBmZGM5ZDAzNWZkYTVjNjA3ZGI1OWI0NWRhZGQxODdhOGRiNWI5ODdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDEzIEFwciAyMDEyIDE1OjMwOjEzICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMi0wNC0xMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFtHVEtdW1dLMl0gSW1wbGVtZW50IEFQSSBmb3IgZ2VuZXJpYyBwZXJtaXNzaW9u
IHJlcXVlc3RzCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg0MDE4CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBBZGRl
ZCBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2lnbmFsIHRvIFdlYktpdFdlYlZpZXcsIHRvIGJl
CiAgICAgICAgZmlyZWQgd2hlbiBXZWJLaXQgbmVlZHMgY29uZmlybWF0aW9uIGZyb20gdGhlIHVz
ZXIgb24gd2hldGhlciB0bwogICAgICAgIGFsbG93IG9yIGRlbnkgY2VydGFpbiBvcGVyYXRpb25z
LCBzdWNoIGFzIHNoYXJpbmcgdGhlIHVzZXIncwogICAgICAgIGxvY2F0aW9uIHdpdGggd2ViIHNp
dGUgdGhyb3VnaCB0aGUgR2VvbG9jYXRpb24gQVBJLgoKICAgICAgICBOZXcgV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QgaW50ZXJmYWNlLCBwcm92aWRpbmcgYWxsb3coKSBhbmQKICAgICAgICBkZW55
KCkgb3BlcmF0aW9ucywgdG8gYmUgY2FsbGVkIG92ZXIgdGhlIG9iamVjdHMgaW1wbGVtZW50aW5n
IGl0CiAgICAgICAgd2hlbiBlbWl0dGVkIGFsb25nIHdpdGggdGhlIG5ldyAncGVybWlzc2lvbi1y
ZXF1ZXN0JyBzaWduYWwuCgogICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QuY3BwOiBBZGRlZC4KICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVz
dF9kZWZhdWx0X2luaXQpOgogICAgICAgICh3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93
KToKICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KToKICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0Lmg6IEFkZGVkLgogICAgICAg
IChfV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSk6CiAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkZWQgbmV3IGZpbGVzLgoKICAgICAgICBBZGRlZCB0aGUgbmV3IHNpZ25hbCB0byBXZWJL
aXRXZWJWaWV3LCBwcm92aWRpbmcgYSBkZWZhdWx0IGhhbmRsZXIKICAgICAgICB0aGF0IHdpbGwg
anVzdCBkZW55IHRoZSByZXF1ZXN0IHdoZW4gdGhlIHNpZ25hbCBpcyBub3QgaGFuZGxlZC4KCiAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKICAgICAgICAod2Vi
a2l0V2ViVmlld0RlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KTogRGVmYXVsdCBoYW5kbGVyLgogICAg
ICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IERlY2xhcmUgdGhlIG5ldyBzaWduYWwg
YW5kIGNvbm5lY3QKICAgICAgICB0byB0aGUgZGVmYXVsdCBoYW5kbGVyLgogICAgICAgICh3ZWJr
aXRXZWJWaWV3TWFrZVBlcm1pc3Npb25SZXF1ZXN0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0
ZSBhCiAgICAgICAgbWFrZSBhIG5ldyBwZXJtaXNzaW9uIHJlcXVlc3QgYW5kIGVtaXQgdGhlIG5l
dyBzaWduYWwgc2lnbmFsLgogICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oOgogICAgICAgIChfV2ViS2l0V2ViVmlld0NsYXNzKToKICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IERlY2xhcmUgdGhlIGNyZWF0aW9uYWwKICAg
ICAgICBmdW5jdGlvbiB3ZWJraXRXZWJWaWV3TWFrZVBlcm1pc3Npb25SZXF1ZXN0IGZvciBpbnRl
cm5hbCB1c2Ugb25seS4KCiAgICAgICAgVXBkYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzLgoKICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWw6CiAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0
MyArKysrKysrKysrKwogU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAg
ICAgICAgICAgfCAgICAzICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9u
UmVxdWVzdC5jcHAgIHwgICA3OCArKysrKysrKysrKysrKysrKysrKwogLi4uL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmggICAgfCAgIDU4ICsrKysrKysrKysrKysr
KwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAg
IDQxICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaCAgIHwgICAgMyArCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1By
aXZhdGUuaCAgICAgICB8ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0
Mmd0ay1kb2NzLnNnbWwgICAgfCAgICAxICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dl
YmtpdDJndGstc2VjdGlvbnMudHh0IHwgICAxNyArKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay93ZWJraXQyLmggICAgICAgICB8ICAgIDEgKwogMTAgZmlsZXMgY2hhbmdlZCwg
MjQ2IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuY3Bw
CiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0UGVybWlzc2lvblJlcXVlc3QuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkN2VjZjc0Li5kNzNlNzFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNDggQEAKIDIwMTItMDQtMTMgIE1hcmlvIFNhbmNoZXogUHJh
ZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdW1dLMl0gSW1wbGVtZW50
IEFQSSBmb3IgZ2VuZXJpYyBwZXJtaXNzaW9uIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDAxOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyAncGVybWlzc2lvbi1yZXF1ZXN0
JyBzaWduYWwgdG8gV2ViS2l0V2ViVmlldywgdG8gYmUKKyAgICAgICAgZmlyZWQgd2hlbiBXZWJL
aXQgbmVlZHMgY29uZmlybWF0aW9uIGZyb20gdGhlIHVzZXIgb24gd2hldGhlciB0bworICAgICAg
ICBhbGxvdyBvciBkZW55IGNlcnRhaW4gb3BlcmF0aW9ucywgc3VjaCBhcyBzaGFyaW5nIHRoZSB1
c2VyJ3MKKyAgICAgICAgbG9jYXRpb24gd2l0aCB3ZWIgc2l0ZSB0aHJvdWdoIHRoZSBHZW9sb2Nh
dGlvbiBBUEkuCisKKyAgICAgICAgTmV3IFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0IGludGVyZmFj
ZSwgcHJvdmlkaW5nIGFsbG93KCkgYW5kCisgICAgICAgIGRlbnkoKSBvcGVyYXRpb25zLCB0byBi
ZSBjYWxsZWQgb3ZlciB0aGUgb2JqZWN0cyBpbXBsZW1lbnRpbmcgaXQKKyAgICAgICAgd2hlbiBl
bWl0dGVkIGFsb25nIHdpdGggdGhlIG5ldyAncGVybWlzc2lvbi1yZXF1ZXN0JyBzaWduYWwuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5jcHA6
IEFkZGVkLgorICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZWZhdWx0X2luaXQp
OgorICAgICAgICAod2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyk6CisgICAgICAgICh3
ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0Lmg6IEFkZGVkLgorICAgICAgICAoX1dlYktpdFBl
cm1pc3Npb25SZXF1ZXN0SWZhY2UpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZCBu
ZXcgZmlsZXMuCisKKyAgICAgICAgQWRkZWQgdGhlIG5ldyBzaWduYWwgdG8gV2ViS2l0V2ViVmll
dywgcHJvdmlkaW5nIGEgZGVmYXVsdCBoYW5kbGVyCisgICAgICAgIHRoYXQgd2lsbCBqdXN0IGRl
bnkgdGhlIHJlcXVlc3Qgd2hlbiB0aGUgc2lnbmFsIGlzIG5vdCBoYW5kbGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRX
ZWJWaWV3RGVjaWRlUGVybWlzc2lvblJlcXVlc3QpOiBEZWZhdWx0IGhhbmRsZXIuCisgICAgICAg
ICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IERlY2xhcmUgdGhlIG5ldyBzaWduYWwgYW5k
IGNvbm5lY3QKKyAgICAgICAgdG8gdGhlIGRlZmF1bHQgaGFuZGxlci4KKyAgICAgICAgKHdlYmtp
dFdlYlZpZXdNYWtlUGVybWlzc2lvblJlcXVlc3QpOiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRl
IGEKKyAgICAgICAgbWFrZSBhIG5ldyBwZXJtaXNzaW9uIHJlcXVlc3QgYW5kIGVtaXQgdGhlIG5l
dyBzaWduYWwgc2lnbmFsLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXcuaDoKKyAgICAgICAgKF9XZWJLaXRXZWJWaWV3Q2xhc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IERlY2xhcmUgdGhlIGNyZWF0aW9uYWwK
KyAgICAgICAgZnVuY3Rpb24gd2Via2l0V2ViVmlld01ha2VQZXJtaXNzaW9uUmVxdWVzdCBmb3Ig
aW50ZXJuYWwgdXNlIG9ubHkuCisKKyAgICAgICAgVXBkYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dt
bDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMu
dHh0OgorCisyMDEyLTA0LTEzICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlh
LmNvbT4KKwogICAgICAgICBbR1RLXVtXSzJdIEltcGxlbWVudCBnZW9sb2NhdGlvbiBwcm92aWRl
ciBmb3IgdGhlIEdUSyBwb3J0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Mzg3NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDZkZGI4NTguLjQ0ZmJi
MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC05NSw2ICs5NSw3IEBAIGxpYndlYmtpdDJndGtp
bmNsdWRlX0hFQURFUlMgPSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRI
aXRUZXN0UmVzdWx0LmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SmF2
YXNjcmlwdFJlc3VsdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5h
dmlnYXRpb25Qb2xpY3lEZWNpc2lvbi5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0UG9saWN5RGVjaXNpb24uaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRQcmludE9wZXJhdGlvbi5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24uaCBcCkBAIC01NzcsNiArNTc4LDggQEAgd2Vi
a2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24uaCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uUHJp
dmF0ZS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNz
aW9uUmVxdWVzdC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFBlcm1pc3Npb25SZXF1ZXN0LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFBvbGljeURlY2lzaW9uLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0UG9saWN5RGVjaXNpb24uaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0UG9saWN5RGVjaXNpb25Qcml2YXRlLmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVl
c3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZjcyMWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJt
aXNzaW9uUmVxdWVzdC5jcHAKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3QuaCIKKworLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdAorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBBIHBlcm1pc3Npb24gcmVxdWVzdAorICogQFRp
dGxlOiBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAorICogQFNlZV9hbHNvOiAjV2ViS2l0V2ViVmll
dworICoKKyAqIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIGEgd2ViIGJyb3dzZXIgd291bGQg
bmVlZCB0byBhc2sgdGhlIHVzZXIKKyAqIGZvciBwZXJtaXNzaW9uIG9uIGNlcnRhaW4gdHlwZSBv
ZiBvcGVyYXRpb25zLCBzdWNoIGFzIHN3aXRjaGluZyB0bworICogZnVsbCBzY3JlZW4gbW9kZSBv
ciByZXBvcnRpbmcgdGhlIHVzZXIncyBsb2NhdGlvbiB0aHJvdWdoIHRoZQorICogc3RhbmRhcmQg
R2VvbG9jYXRpb24gQVBJLiBJbiB0aG9zZSBjYXNlcywgV2ViS2l0IHdpbGwgZW1pdCBhCisgKiAj
V2ViS2l0V2ViVmljZTo6cGVybWlzc2lvbi1yZXF1ZXN0IHNpZ25hbCB3aXRoIGEKKyAqICNXZWJL
aXRQZXJtaXNzaW9uUmVxdWVzdCBvYmplY3QgYXR0YWNoZWQgdG8gaXQuCisgKgorICogSWYgdGhl
IHNpZ25hbCBoYW5kbGVyIGRvZXMgbm90aGluZywgV2ViS2l0IHdpbGwgYWN0IGFzIGlmCisgKiB3
ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkoKSB3YXMgY2FsbGVkIGFzIHNvb24gYXMgc2ln
bmFsCisgKiBoYW5kbGluZyBjb21wbGV0ZXMuIFRvIGhhbmRsZSBhIHBlcm1pc3Npb24gcmVxdWVz
dCBpbiBhbgorICogYXN5bmNocm9ub3VzIHdheSwgc2ltcGx5IGluY3JlbWVudCB0aGUgcmVmZXJl
bmNlIGNvdW50IG9mIHRoZQorICogI1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0IG9iamVjdC4KKyAq
LworCit0eXBlZGVmIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZhY2UgV2ViS2l0UGVybWlzc2lv
blJlcXVlc3RJbnRlcmZhY2U7CitHX0RFRklORV9JTlRFUkZBQ0UoV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QsIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCisKK3N0YXRp
YyB2b2lkIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVmYXVsdF9pbml0KFdlYktpdFBlcm1p
c3Npb25SZXF1ZXN0SWZhY2UqKQoreworfQorCisvKioKKyAqIHdlYmtpdF9wZXJtaXNzaW9uX3Jl
cXVlc3RfYWxsb3c6CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKKyAq
CisgKiBBbGxvdyB0aGUgYWN0aW9uIHdoaWNoIHRyaWdnZXJlZCB0aGlzIHJlcXVlc3QuCisgKi8K
K3ZvaWQgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCogcmVxdWVzdCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19QRVJNSVNT
SU9OX1JFUVVFU1QocmVxdWVzdCkpOworCisgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFj
ZSogaWZhY2UgPSBXRUJLSVRfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9JRkFDRShyZXF1ZXN0KTsK
KyAgICBpZiAoaWZhY2UtPmFsbG93KQorICAgICAgICBpZmFjZS0+YWxsb3cocmVxdWVzdCk7Cit9
CisKKy8qKgorICogd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55OgorICogQHJlcXVlc3Q6
IGEgI1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0CisgKgorICogRGVueSB0aGUgYWN0aW9uIHdoaWNo
IHRyaWdnZXJkIHRoaXMgcmVxdWVzdC4KKyAqLwordm9pZCB3ZWJraXRfcGVybWlzc2lvbl9yZXF1
ZXN0X2RlbnkoV2ViS2l0UGVybWlzc2lvblJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19yZXR1
cm5faWZfZmFpbChXRUJLSVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKTsKKworICAg
IFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZhY2UqIGlmYWNlID0gV0VCS0lUX1BFUk1JU1NJT05f
UkVRVUVTVF9HRVRfSUZBQ0UocmVxdWVzdCk7CisgICAgaWYgKGlmYWNlLT5kZW55KQorICAgICAg
ICBpZmFjZS0+ZGVueShyZXF1ZXN0KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MmYxZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lm
ICFkZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAmJiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJ
TEFUSU9OKQorI2Vycm9yICJPbmx5IDx3ZWJraXQyL3dlYmtpdDIuaD4gY2FuIGJlIGluY2x1ZGVk
IGRpcmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0X2gK
KyNkZWZpbmUgV2ViS2l0UGVybWlzc2lvblJlcXVlc3RfaAorCisjaW5jbHVkZSA8Z2xpYi1vYmpl
Y3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KKworR19CRUdJTl9ERUNM
UworCisjZGVmaW5lIFdFQktJVF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVCAgICAgICAgICAgKHdl
YmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX1BFUk1J
U1NJT05fUkVRVUVTVChvYmopICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qo
KG9iaiksIFdFQktJVF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVCwgV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QpKQorI2RlZmluZSBXRUJLSVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUKG9iaikgICAgICAg
IChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfUEVSTUlTU0lP
Tl9SRVFVRVNUKSkKKyNkZWZpbmUgV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0Uo
b2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9JTlRFUkZBQ0UoKG9iaiksIFdFQktJVF9UWVBFX1BF
Uk1JU1NJT05fUkVRVUVTVCwgV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSkpCisKK3R5cGVk
ZWYgc3RydWN0IF9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVz
dDsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdElmYWNlIFdlYktpdFBl
cm1pc3Npb25SZXF1ZXN0SWZhY2U7CisKK3N0cnVjdCBfV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJ
ZmFjZSB7CisgICAgR1R5cGVJbnRlcmZhY2UgcGFyZW50X2ludGVyZmFjZTsKKworICAgIHZvaWQg
KCogYWxsb3cpIChXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCk7CisgICAgdm9pZCAo
KiBkZW55KSAgKFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KTsKK307CisKK1dFQktJ
VF9BUEkgR1R5cGUKK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUgKHZvaWQpOwor
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cgICAgKFdl
YktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJr
aXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkgICAgIChXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAq
cmVxdWVzdCk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA3YTZjMDFkLi44YTYz
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcApAQCAtNjQsNiArNjQsNyBAQCBlbnVtIHsKICAgICBTQ1JJUFRfRElBTE9HLAog
CiAgICAgREVDSURFX1BPTElDWSwKKyAgICBQRVJNSVNTSU9OX1JFUVVFU1QsCiAKICAgICBNT1VT
RV9UQVJHRVRfQ0hBTkdFRCwKIApAQCAtMTkwLDYgKzE5MSwxMiBAQCBzdGF0aWMgZ2Jvb2xlYW4g
d2Via2l0V2ViVmlld0RlY2lkZVBvbGljeShXZWJLaXRXZWJWaWV3KiwgV2ViS2l0UG9saWN5RGVj
aXNpb24qCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJW
aWV3UGVybWlzc2lvblJlcXVlc3QoV2ViS2l0V2ViVmlldyosIFdlYktpdFBlcm1pc3Npb25SZXF1
ZXN0KiBkZWNpc2lvbikKK3sKKyAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkoZGVj
aXNpb24pOworICAgIHJldHVybiBUUlVFOworfQorCiBzdGF0aWMgdm9pZCB6b29tVGV4dE9ubHlD
aGFuZ2VkKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgR1BhcmFtU3BlYyosIFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCiB7CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZp
ZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwpAQCAtMzEzLDYg
KzMyMCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdl
YlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgIHdlYlZpZXdDbGFzcy0+Y3JlYXRlID0gd2Vi
a2l0V2ViVmlld0NyZWF0ZTsKICAgICB3ZWJWaWV3Q2xhc3MtPnNjcmlwdF9kaWFsb2cgPSB3ZWJr
aXRXZWJWaWV3U2NyaXB0RGlhbG9nOwogICAgIHdlYlZpZXdDbGFzcy0+ZGVjaWRlX3BvbGljeSA9
IHdlYmtpdFdlYlZpZXdEZWNpZGVQb2xpY3k7CisgICAgd2ViVmlld0NsYXNzLT5wZXJtaXNzaW9u
X3JlcXVlc3QgPSB3ZWJraXRXZWJWaWV3UGVybWlzc2lvblJlcXVlc3Q7CiAKICAgICBnX3R5cGVf
Y2xhc3NfYWRkX3ByaXZhdGUod2ViVmlld0NsYXNzLCBzaXplb2YoV2ViS2l0V2ViVmlld1ByaXZh
dGUpKTsKIApAQCAtNjM4LDYgKzY0NiwzMyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdf
Y2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAg
ICAgICAgICAgIFdFQktJVF9UWVBFX1BPTElDWV9ERUNJU0lPTl9UWVBFKTsKIAogICAgIC8qKgor
ICAgICAqIFdlYktpdFdlYlZpZXc6OnBlcm1pc3Npb24tcmVxdWVzdDoKKyAgICAgKiBAd2ViX3Zp
ZXc6IHRoZSAjV2ViS2l0V2ViVmlldyBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKKyAg
ICAgKiBAcmVxdWVzdDogdGhlICNXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAorICAgICAqCisgICAg
ICogVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIFdlYktpdCBpcyByZXF1ZXN0aW5nIHRoZSBj
bGllbnQgdG8KKyAgICAgKiBkZWNpZGUgYWJvdXQgYSBwZXJtaXNzaW9uIHJlcXVlc3QsIHN1Y2gg
YXMgYWxsb3dpbmcgdGhlIGJyb3dzZXIKKyAgICAgKiBzd2l0Y2ggdG8gZnVsbHNjcmVlbiBtb2Rl
LCBzaGFyaW5nIGl0cyBsb2NhdGlvbiBvciBzaW1pbGFyLgorICAgICAqCisgICAgICogSWYgdGhl
IGxhc3QgcmVmZXJlbmNlIGlzIHJlbW92ZWQgb24gYSAjV2ViS2l0UGVybWlzc2lvblJlcXVlc3QK
KyAgICAgKiBhbmQgbm8gZGVjaXNpb24gaGFzIGJlZW4gbWFkZSwgd2Via2l0X3Blcm1pc3Npb25f
cmVxdWVzdF9kZW55KCkKKyAgICAgKiB3aWxsIGJlIHRoZSBkZWZhdWx0IGRlY2lzaW9uLiBUaGUg
ZGVmYXVsdCBzaWduYWwgaGFuZGxlciB3aWxsCisgICAgICogc2ltcGx5IGNhbGwgd2Via2l0X3Bl
cm1pc3Npb25fcmVxdWVzdF9kZW55KCkuCisgICAgICoKKyAgICAgKiBSZXR1cm5zOiAlVFJVRSB0
byBzdG9wIG90aGVyIGhhbmRsZXJzIGZyb20gYmVpbmcgaW52b2tlZCBmb3IgdGhlIGV2ZW50Lgor
ICAgICAqICAgJUZBTFNFIHRvIHByb3BhZ2F0ZSB0aGUgZXZlbnQgZnVydGhlci4KKyAgICAgKgor
ICAgICAqLworICAgIHNpZ25hbHNbUEVSTUlTU0lPTl9SRVFVRVNUXSA9CisgICAgICAgIGdfc2ln
bmFsX25ldygicGVybWlzc2lvbi1yZXF1ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgIEdfVFlQ
RV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAgICAgICAgICAgICAgICBHX1NJR05B
TF9SVU5fTEFTVCwKKyAgICAgICAgICAgICAgICAgICAgIEdfU1RSVUNUX09GRlNFVChXZWJLaXRX
ZWJWaWV3Q2xhc3MsIHBlcm1pc3Npb25fcmVxdWVzdCksCisgICAgICAgICAgICAgICAgICAgICBn
X3NpZ25hbF9hY2N1bXVsYXRvcl90cnVlX2hhbmRsZWQsIDAgLyogYWNjdW11bGF0b3IgZGF0YSAq
LywKKyAgICAgICAgICAgICAgICAgICAgIHdlYmtpdF9tYXJzaGFsX0JPT0xFQU5fX09CSkVDVCwK
KyAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9CT09MRUFOLCAxLCAvKiBudW1iZXIgb2YgcGFy
YW1ldGVycyAqLworICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfUEVSTUlTU0lPTl9S
RVFVRVNUKTsKKyAgICAvKioKICAgICAgKiBXZWJLaXRXZWJWaWV3Ojptb3VzZS10YXJnZXQtY2hh
bmdlZDoKICAgICAgKiBAd2ViX3ZpZXc6IHRoZSAjV2ViS2l0V2ViVmlldyBvbiB3aGljaCB0aGUg
c2lnbmFsIGlzIGVtaXR0ZWQKICAgICAgKiBAaGl0X3Rlc3RfcmVzdWx0OiBhICNXZWJLaXRIaXRU
ZXN0UmVzdWx0CkBAIC04OTEsNiArOTI2LDEyIEBAIHZvaWQgd2Via2l0V2ViVmlld01ha2VQb2xp
Y3lEZWNpc2lvbihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRQb2xpY3lEZWNpc2lvCiAg
ICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCBzaWduYWxzW0RFQ0lERV9QT0xJQ1ldLCAwLCBkZWNp
c2lvbiwgdHlwZSwgJnJldHVyblZhbHVlKTsKIH0KIAordm9pZCB3ZWJraXRXZWJWaWV3TWFrZVBl
cm1pc3Npb25SZXF1ZXN0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0KiByZXF1ZXN0KQoreworICAgIGdib29sZWFuIHJldHVyblZhbHVlOworICAgIGdfc2ln
bmFsX2VtaXQod2ViVmlldywgc2lnbmFsc1tQRVJNSVNTSU9OX1JFUVVFU1RdLCAwLCByZXF1ZXN0
LCAmcmV0dXJuVmFsdWUpOworfQorCiB2b2lkIHdlYmtpdFdlYlZpZXdNb3VzZVRhcmdldENoYW5n
ZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV0tIaXRUZXN0UmVzdWx0UmVmIHdrSGl0VGVzdFJl
c3VsdCwgdW5zaWduZWQgbW9kaWZpZXJzKQogewogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBw
cml2ID0gd2ViVmlldy0+cHJpdjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBmNWMyMWM1Li43YWRjNGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCkBAIC00MSw2ICs0
MSw3IEBACiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRXZWJSZXNvdXJjZS5oPgogI2luY2x1ZGUg
PHdlYmtpdDIvV2ViS2l0V2ViVmlld0Jhc2UuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFdp
bmRvd1Byb3BlcnRpZXMuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFBlcm1pc3Npb25SZXF1
ZXN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRQb2xpY3lEZWNpc2lvbi5oPgogCiBHX0JF
R0lOX0RFQ0xTCkBAIC0xNDEsNiArMTQyLDggQEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3Q2xhc3Mg
ewogICAgIGdib29sZWFuICAgKCogZGVjaWRlX3BvbGljeSkgICAgICAgICAoV2ViS2l0V2ViVmll
dyAgICAgICAgICAgICAqd2ViX3ZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXZWJLaXRQb2xpY3lEZWNpc2lvbiAgICAgICpkZWNpc2lvbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBvbGljeURlY2lzaW9uVHlw
ZSAgIHR5cGUpOworICAgIGdib29sZWFuICAgKCogcGVybWlzc2lvbl9yZXF1ZXN0KSAgICAoV2Vi
S2l0V2ViVmlldyAgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgICAgKnBlcm1pc3Np
b25fcmVxdWVzdCk7CiAgICAgdm9pZCAgICAgICAoKiBtb3VzZV90YXJnZXRfY2hhbmdlZCkgIChX
ZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdlYktpdEhpdFRlc3RSZXN1bHQgICAgICAgKmhpdF90ZXN0
X3Jlc3VsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50
ICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaAppbmRleCA3MGQ2
ZDZkLi43MmI4MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKQEAgLTQyLDYgKzQyLDcgQEAgdm9pZCB3ZWJr
aXRXZWJWaWV3Q2xvc2VQYWdlKFdlYktpdFdlYlZpZXcqKTsKIHZvaWQgd2Via2l0V2ViVmlld1J1
bkphdmFTY3JpcHRBbGVydChXZWJLaXRXZWJWaWV3KiwgY29uc3QgQ1N0cmluZyYgbWVzc2FnZSk7
CiBib29sIHdlYmtpdFdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybShXZWJLaXRXZWJWaWV3Kiwg
Y29uc3QgQ1N0cmluZyYgbWVzc2FnZSk7CiBXS1N0cmluZ1JlZiB3ZWJraXRXZWJWaWV3UnVuSmF2
YVNjcmlwdFByb21wdChXZWJLaXRXZWJWaWV3KiwgY29uc3QgQ1N0cmluZyYgbWVzc2FnZSwgY29u
c3QgQ1N0cmluZyYgZGVmYXVsdFRleHQpOwordm9pZCB3ZWJraXRXZWJWaWV3TWFrZVBlcm1pc3Np
b25SZXF1ZXN0KFdlYktpdFdlYlZpZXcqLCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCopOwogdm9p
ZCB3ZWJraXRXZWJWaWV3TWFrZVBvbGljeURlY2lzaW9uKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRQ
b2xpY3lEZWNpc2lvblR5cGUsIFdlYktpdFBvbGljeURlY2lzaW9uKik7CiB2b2lkIHdlYmtpdFdl
YlZpZXdNb3VzZVRhcmdldENoYW5nZWQoV2ViS2l0V2ViVmlldyosIFdLSGl0VGVzdFJlc3VsdFJl
ZiwgdW5zaWduZWQgbW9kaWZpZXJzKTsKIHZvaWQgd2Via2l0V2ViVmlld1ByaW50RnJhbWUoV2Vi
S2l0V2ViVmlldyosIFdLRnJhbWVSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwKaW5kZXggOWYwODY2
My4uMGY5MThmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
ZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21sCkBAIC0yMSw2ICsyMSw3IEBACiAgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVSSVJlc3BvbnNlLnhtbCIvPgogICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXaW5kb3dQcm9wZXJ0aWVzLnhtbCIvPgogICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXREb3dubG9hZC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdFBvbGljeURlY2lzaW9uLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhy
ZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24ueG1sIi8+CiAgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24ueG1sIi8+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGst
c2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLXNlY3Rpb25zLnR4dAppbmRleCA4MjlkZTFjLi5lNTEwNmFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay1zZWN0aW9ucy50eHQKQEAgLTM1Nyw2ICszNTcsMjMgQEAgd2Via2l0X2Rvd25sb2FkX2dldF90
eXBlCiA8L1NFQ1RJT04+CiAKIDxTRUNUSU9OPgorPEZJTEU+V2ViS2l0UGVybWlzc2lvblJlcXVl
c3Q8L0ZJTEU+CitXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAord2Via2l0X3Blcm1pc3Npb25fcmVx
dWVzdF9hbGxvdword2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55CisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZQorV0VCS0lUX1RZUEVfUEVS
TUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSVNfUEVS
TUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9JRkFDRQorCis8
U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KIDxGSUxFPldlYktpdFBvbGljeURlY2lzaW9uPC9GSUxF
PgogV2ViS2l0UG9saWN5RGVjaXNpb24KIHdlYmtpdF9wb2xpY3lfZGVjaXNpb25fZG93bmxvYWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaAppbmRleCA3ZDNmYjBh
Li5iNWQ4MjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay93
ZWJraXQyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5o
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRGaW5kQ29udHJvbGxl
ci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0SGl0VGVzdFJlc3VsdC5oPgogI2luY2x1ZGUg
PHdlYmtpdDIvV2ViS2l0SmF2YXNjcmlwdFJlc3VsdC5oPgorI2luY2x1ZGUgPHdlYmtpdDIvV2Vi
S2l0UGVybWlzc2lvblJlcXVlc3QuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFByaW50T3Bl
cmF0aW9uLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRTY3JpcHREaWFsb2cuaD4KICNpbmNs
dWRlIDx3ZWJraXQyL1dlYktpdFNldHRpbmdzLmg+Ci0tIAoxLjcuNy42Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138114</attachid>
            <date>2012-04-20 10:33:02 -0700</date>
            <delta_ts>2012-04-26 09:01:58 -0700</delta_ts>
            <desc>Patch Proposal</desc>
            <filename>0001-GTK-WK2-Implement-API-for-generic-permission-request.patch</filename>
            <type>text/plain</type>
            <size>20539</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBjNmFmMWQ0OGJlNzkwZjk0MGJkODQxNmUyYTRmOGFkMjJjOTAwNmY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDIwIEFwciAyMDEyIDE2OjMyOjQ3ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gW0dUS11bV0syXSBJbXBsZW1lbnQgQVBJIGZvciBnZW5lcmljIHBlcm1pc3Npb24gcmVxdWVz
dHMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDAxOAoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpBZGRlZCBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2ln
bmFsIHRvIFdlYktpdFdlYlZpZXcsIHRvIGJlCmZpcmVkIHdoZW4gV2ViS2l0IG5lZWRzIGNvbmZp
cm1hdGlvbiBmcm9tIHRoZSB1c2VyIG9uIHdoZXRoZXIgdG8KYWxsb3cgb3IgZGVueSBjZXJ0YWlu
IG9wZXJhdGlvbnMsIHN1Y2ggYXMgc2hhcmluZyB0aGUgdXNlcidzCmxvY2F0aW9uIHdpdGggd2Vi
IHNpdGUgdGhyb3VnaCB0aGUgR2VvbG9jYXRpb24gQVBJLgoKTmV3IFdlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0IGludGVyZmFjZSwgcHJvdmlkaW5nIGFsbG93KCkgYW5kCmRlbnkoKSBvcGVyYXRpb25z
LCB0byBiZSBjYWxsZWQgb3ZlciB0aGUgb2JqZWN0cyBpbXBsZW1lbnRpbmcgaXQKd2hlbiBlbWl0
dGVkIGFsb25nIHdpdGggdGhlIG5ldyAncGVybWlzc2lvbi1yZXF1ZXN0JyBzaWduYWwuCgoqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNwcDogQWRkZWQuCih3ZWJr
aXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlZmF1bHRfaW5pdCk6Cih3ZWJraXRfcGVybWlzc2lvbl9y
ZXF1ZXN0X2FsbG93KToKKHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueSk6CiogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuaDogQWRkZWQuCihfV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3RJZmFjZSk6CiogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcy4K
CkFkZGVkIHRoZSBuZXcgc2lnbmFsIHRvIFdlYktpdFdlYlZpZXcsIHByb3ZpZGluZyBhIGRlZmF1
bHQgaGFuZGxlcgp0aGF0IHdpbGwganVzdCBkZW55IHRoZSByZXF1ZXN0IHdoZW4gdGhlIHNpZ25h
bCBpcyBub3QgaGFuZGxlZC4KCiogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6
Cih3ZWJraXRXZWJWaWV3RGVjaWRlUGVybWlzc2lvblJlcXVlc3QpOiBEZWZhdWx0IGhhbmRsZXIu
Cih3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IERlY2xhcmUgdGhlIG5ldyBzaWduYWwgYW5k
IGNvbm5lY3QKdG8gdGhlIGRlZmF1bHQgaGFuZGxlci4KKHdlYmtpdFdlYlZpZXdNYWtlUGVybWlz
c2lvblJlcXVlc3QpOiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEKbWFrZSBhIG5ldyBwZXJt
aXNzaW9uIHJlcXVlc3QgYW5kIGVtaXQgdGhlIG5ldyBzaWduYWwgc2lnbmFsLgoqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDoKKF9XZWJLaXRXZWJWaWV3Q2xhc3MpOgoqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IERlY2xhcmUgdGhlIGNyZWF0aW9u
YWwKZnVuY3Rpb24gd2Via2l0V2ViVmlld01ha2VQZXJtaXNzaW9uUmVxdWVzdCBmb3IgaW50ZXJu
YWwgdXNlIG9ubHkuCgpVcGRhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMuCgoqIFVJUHJvY2Vzcy9B
UEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWw6CiogVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dDoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDMgKysrKysrKysrKysrCiBTb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogLi4uL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNwcCAgfCAgIDcyICsrKysr
KysrKysrKysrKysrKysrCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QuaCAgICB8ICAgNTggKysrKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAgIDcwICsrKysrKysrKysrKysrKysrKysK
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCAgIHwgICAg
MyArCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCAgICAgICB8
ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwg
ICAgfCAgICAxICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlv
bnMudHh0IHwgICAxNyArKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Vi
a2l0Mi5oICAgICAgICAgfCAgICAxICsKIDEwIGZpbGVzIGNoYW5nZWQsIDI2OSBpbnNlcnRpb25z
KCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjk3MWE3My4uY2I1MjhlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ2IEBACisyMDEyLTA0LTIwICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXSzJdIEltcGxlbWVudCBBUEkgZm9yIGdlbmVy
aWMgcGVybWlzc2lvbiByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODQwMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2lnbmFsIHRvIFdl
YktpdFdlYlZpZXcsIHRvIGJlCisgICAgICAgIGZpcmVkIHdoZW4gV2ViS2l0IG5lZWRzIGNvbmZp
cm1hdGlvbiBmcm9tIHRoZSB1c2VyIG9uIHdoZXRoZXIgdG8KKyAgICAgICAgYWxsb3cgb3IgZGVu
eSBjZXJ0YWluIG9wZXJhdGlvbnMsIHN1Y2ggYXMgc2hhcmluZyB0aGUgdXNlcidzCisgICAgICAg
IGxvY2F0aW9uIHdpdGggd2ViIHNpdGUgdGhyb3VnaCB0aGUgR2VvbG9jYXRpb24gQVBJLgorCisg
ICAgICAgIE5ldyBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCBpbnRlcmZhY2UsIHByb3ZpZGluZyBh
bGxvdygpIGFuZAorICAgICAgICBkZW55KCkgb3BlcmF0aW9ucywgdG8gYmUgY2FsbGVkIG92ZXIg
dGhlIG9iamVjdHMgaW1wbGVtZW50aW5nIGl0CisgICAgICAgIHdoZW4gZW1pdHRlZCBhbG9uZyB3
aXRoIHRoZSBuZXcgJ3Blcm1pc3Npb24tcmVxdWVzdCcgc2lnbmFsLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVmYXVsdF9pbml0KToKKyAgICAgICAgKHdl
YmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cpOgorICAgICAgICAod2Via2l0X3Blcm1pc3Np
b25fcmVxdWVzdF9kZW55KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJt
aXNzaW9uUmVxdWVzdC5oOiBBZGRlZC4KKyAgICAgICAgKF9XZWJLaXRQZXJtaXNzaW9uUmVxdWVz
dElmYWNlKToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzLgorCisg
ICAgICAgIEFkZGVkIHRoZSBuZXcgc2lnbmFsIHRvIFdlYktpdFdlYlZpZXcsIHByb3ZpZGluZyBh
IGRlZmF1bHQgaGFuZGxlcgorICAgICAgICB0aGF0IHdpbGwganVzdCBkZW55IHRoZSByZXF1ZXN0
IHdoZW4gdGhlIHNpZ25hbCBpcyBub3QgaGFuZGxlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0RlY2lkZVBl
cm1pc3Npb25SZXF1ZXN0KTogRGVmYXVsdCBoYW5kbGVyLgorICAgICAgICAod2Via2l0X3dlYl92
aWV3X2NsYXNzX2luaXQpOiBEZWNsYXJlIHRoZSBuZXcgc2lnbmFsIGFuZCBjb25uZWN0CisgICAg
ICAgIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuCisgICAgICAgICh3ZWJraXRXZWJWaWV3TWFrZVBl
cm1pc3Npb25SZXF1ZXN0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhCisgICAgICAgIG1h
a2UgYSBuZXcgcGVybWlzc2lvbiByZXF1ZXN0IGFuZCBlbWl0IHRoZSBuZXcgc2lnbmFsIHNpZ25h
bC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAg
IChfV2ViS2l0V2ViVmlld0NsYXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3UHJpdmF0ZS5oOiBEZWNsYXJlIHRoZSBjcmVhdGlvbmFsCisgICAgICAgIGZ1bmN0
aW9uIHdlYmtpdFdlYlZpZXdNYWtlUGVybWlzc2lvblJlcXVlc3QgZm9yIGludGVybmFsIHVzZSBv
bmx5LgorCisgICAgICAgIFVwZGF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWw6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dDoKKwogMjAxMi0w
NC0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gSWdub3JlIHJlc291cmNlcyB3aGlsZSByZXBsYWNpbmcgY29udGVudCBpbiBXZWJL
aXQyIEdUSysgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBi
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDFkZjEzMTAyLi44MjNlNWU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtOTYsNiArOTYsNyBAQCBsaWJ3ZWJraXQyZ3RraW5jbHVk
ZV9IRUFERVJTID0gXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SGl0VGVz
dFJlc3VsdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEphdmFzY3Jp
cHRSZXN1bHQuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0
aW9uUG9saWN5RGVjaXNpb24uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRQZXJtaXNzaW9uUmVxdWVzdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFBvbGljeURlY2lzaW9uLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0UHJpbnRPcGVyYXRpb24uaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRSZXNwb25zZVBvbGljeURlY2lzaW9uLmggXApAQCAtNTc4LDYgKzU3OSw4IEBAIHdlYmtpdDJf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2
aWdhdGlvblBvbGljeURlY2lzaW9uLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmggXAogCVNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUu
aCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQZXJt
aXNzaW9uUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRQb2xpY3lEZWNpc2lvbi5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFBvbGljeURlY2lzaW9uLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFBvbGljeURlY2lzaW9uUHJpdmF0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWU3YmNmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGVybWlzc2lv
blJlcXVlc3QuY3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdFBlcm1pc3Np
b25SZXF1ZXN0LmgiCisKKy8qKgorICogU0VDVElPTjogV2ViS2l0UGVybWlzc2lvblJlcXVlc3QK
KyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogQSBwZXJtaXNzaW9uIHJlcXVlc3QKKyAqIEBUaXRsZTog
V2ViS2l0UGVybWlzc2lvblJlcXVlc3QKKyAqIEBTZWVfYWxzbzogI1dlYktpdFdlYlZpZXcKKyAq
CisgKiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSBhbiBlbWJlZGRlciB3b3VsZCBuZWVkIHRv
IGFzayB0aGUgdXNlcgorICogZm9yIHBlcm1pc3Npb24gb24gY2VydGFpbiB0eXBlIG9mIG9wZXJh
dGlvbnMsIHN1Y2ggYXMgc3dpdGNoaW5nIHRvCisgKiBmdWxsIHNjcmVlbiBtb2RlIG9yIHJlcG9y
dGluZyB0aGUgdXNlcidzIGxvY2F0aW9uIHRocm91Z2ggdGhlCisgKiBzdGFuZGFyZCBHZW9sb2Nh
dGlvbiBBUEkuIEluIHRob3NlIGNhc2VzLCBXZWJLaXQgd2lsbCBlbWl0IGEKKyAqICNXZWJLaXRX
ZWJWaWV3OjpwZXJtaXNzaW9uLXJlcXVlc3Qgc2lnbmFsIHdpdGggYQorICogI1dlYktpdFBlcm1p
c3Npb25SZXF1ZXN0IG9iamVjdCBhdHRhY2hlZCB0byBpdC4KKyAqLworCit0eXBlZGVmIFdlYktp
dFBlcm1pc3Npb25SZXF1ZXN0SWZhY2UgV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJbnRlcmZhY2U7
CitHX0RFRklORV9JTlRFUkZBQ0UoV2ViS2l0UGVybWlzc2lvblJlcXVlc3QsIHdlYmtpdF9wZXJt
aXNzaW9uX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCisKK3N0YXRpYyB2b2lkIHdlYmtpdF9wZXJt
aXNzaW9uX3JlcXVlc3RfZGVmYXVsdF9pbml0KFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZhY2Uq
KQoreworfQorCisvKioKKyAqIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3c6CisgKiBA
cmVxdWVzdDogYSAjV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKKyAqCisgKiBBbGxvdyB0aGUgYWN0
aW9uIHdoaWNoIHRyaWdnZXJlZCB0aGlzIHJlcXVlc3QuCisgKi8KK3ZvaWQgd2Via2l0X3Blcm1p
c3Npb25fcmVxdWVzdF9hbGxvdyhXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCogcmVxdWVzdCkKK3sK
KyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVz
dCkpOworCisgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSogaWZhY2UgPSBXRUJLSVRf
UEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9JRkFDRShyZXF1ZXN0KTsKKyAgICBpZiAoaWZhY2UtPmFs
bG93KQorICAgICAgICBpZmFjZS0+YWxsb3cocmVxdWVzdCk7Cit9CisKKy8qKgorICogd2Via2l0
X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55OgorICogQHJlcXVlc3Q6IGEgI1dlYktpdFBlcm1pc3Np
b25SZXF1ZXN0CisgKgorICogRGVueSB0aGUgYWN0aW9uIHdoaWNoIHRyaWdnZXJkIHRoaXMgcmVx
dWVzdC4KKyAqLwordm9pZCB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkoV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKTsKKworICAgIFdlYktpdFBlcm1pc3Npb25S
ZXF1ZXN0SWZhY2UqIGlmYWNlID0gV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0Uo
cmVxdWVzdCk7CisgICAgaWYgKGlmYWNlLT5kZW55KQorICAgICAgICBpZmFjZS0+ZGVueShyZXF1
ZXN0KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFBlcm1pc3Npb25SZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmE2MmYxZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oCkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmICFkZWZpbmVkKF9fV0VCS0lU
Ml9IX0lOU0lERV9fKSAmJiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFUSU9OKQorI2Vycm9yICJP
bmx5IDx3ZWJraXQyL3dlYmtpdDIuaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRp
ZgorCisjaWZuZGVmIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0X2gKKyNkZWZpbmUgV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3RfaAorCisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdERlZmluZXMuaD4KKworR19CRUdJTl9ERUNMUworCisjZGVmaW5lIFdFQktJ
VF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVCAgICAgICAgICAgKHdlYmtpdF9wZXJtaXNzaW9uX3Jl
cXVlc3RfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVChvYmop
ICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBF
X1BFUk1JU1NJT05fUkVRVUVTVCwgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QpKQorI2RlZmluZSBX
RUJLSVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUKG9iaikgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5T
VEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfUEVSTUlTU0lPTl9SRVFVRVNUKSkKKyNkZWZp
bmUgV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0Uob2JqKSAoR19UWVBFX0lOU1RB
TkNFX0dFVF9JTlRFUkZBQ0UoKG9iaiksIFdFQktJVF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVCwg
V2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSkpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0
IF9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdElmYWNlIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0SWZh
Y2U7CisKK3N0cnVjdCBfV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZSB7CisgICAgR1R5cGVJ
bnRlcmZhY2UgcGFyZW50X2ludGVyZmFjZTsKKworICAgIHZvaWQgKCogYWxsb3cpIChXZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCk7CisgICAgdm9pZCAoKiBkZW55KSAgKFdlYktpdFBl
cm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KTsKK307CisKK1dFQktJVF9BUEkgR1R5cGUKK3dlYmtp
dF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUgKHZvaWQpOworCitXRUJLSVRfQVBJIHZvaWQK
K3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cgICAgKFdlYktpdFBlcm1pc3Npb25SZXF1
ZXN0ICpyZXF1ZXN0KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfcGVybWlzc2lvbl9yZXF1
ZXN0X2RlbnkgICAgIChXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCk7CisKK0dfRU5E
X0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAwZTE3YzA2Li45NTQ2YTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtNjQs
NiArNjQsNyBAQCBlbnVtIHsKICAgICBTQ1JJUFRfRElBTE9HLAogCiAgICAgREVDSURFX1BPTElD
WSwKKyAgICBQRVJNSVNTSU9OX1JFUVVFU1QsCiAKICAgICBNT1VTRV9UQVJHRVRfQ0hBTkdFRCwK
IApAQCAtMTkwLDYgKzE5MSwxMiBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0RlY2lk
ZVBvbGljeShXZWJLaXRXZWJWaWV3KiwgV2ViS2l0UG9saWN5RGVjaXNpb24qCiAgICAgcmV0dXJu
IFRSVUU7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3UGVybWlzc2lvblJlcXVl
c3QoV2ViS2l0V2ViVmlldyosIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0KiBkZWNpc2lvbikKK3sK
KyAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkoZGVjaXNpb24pOworICAgIHJldHVy
biBUUlVFOworfQorCiBzdGF0aWMgdm9pZCB6b29tVGV4dE9ubHlDaGFuZ2VkKFdlYktpdFNldHRp
bmdzKiBzZXR0aW5ncywgR1BhcmFtU3BlYyosIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAg
ICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJL
SVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwpAQCAtMzEzLDYgKzMyMCw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmll
d0NsYXNzKQogICAgIHdlYlZpZXdDbGFzcy0+Y3JlYXRlID0gd2Via2l0V2ViVmlld0NyZWF0ZTsK
ICAgICB3ZWJWaWV3Q2xhc3MtPnNjcmlwdF9kaWFsb2cgPSB3ZWJraXRXZWJWaWV3U2NyaXB0RGlh
bG9nOwogICAgIHdlYlZpZXdDbGFzcy0+ZGVjaWRlX3BvbGljeSA9IHdlYmtpdFdlYlZpZXdEZWNp
ZGVQb2xpY3k7CisgICAgd2ViVmlld0NsYXNzLT5wZXJtaXNzaW9uX3JlcXVlc3QgPSB3ZWJraXRX
ZWJWaWV3UGVybWlzc2lvblJlcXVlc3Q7CiAKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUo
d2ViVmlld0NsYXNzLCBzaXplb2YoV2ViS2l0V2ViVmlld1ByaXZhdGUpKTsKIApAQCAtNjM4LDYg
KzY0Niw2MiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRX
ZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9U
WVBFX1BPTElDWV9ERUNJU0lPTl9UWVBFKTsKIAogICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZp
ZXc6OnBlcm1pc3Npb24tcmVxdWVzdDoKKyAgICAgKiBAd2ViX3ZpZXc6IHRoZSAjV2ViS2l0V2Vi
VmlldyBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKKyAgICAgKiBAcmVxdWVzdDogdGhl
ICNXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAorICAgICAqCisgICAgICogVGhpcyBzaWduYWwgaXMg
ZW1pdHRlZCB3aGVuIFdlYktpdCBpcyByZXF1ZXN0aW5nIHRoZSBjbGllbnQgdG8KKyAgICAgKiBk
ZWNpZGUgYWJvdXQgYSBwZXJtaXNzaW9uIHJlcXVlc3QsIHN1Y2ggYXMgYWxsb3dpbmcgdGhlIGJy
b3dzZXIKKyAgICAgKiBzd2l0Y2ggdG8gZnVsbHNjcmVlbiBtb2RlLCBzaGFyaW5nIGl0cyBsb2Nh
dGlvbiBvciBzaW1pbGFyLgorICAgICAqCisgICAgICogQSBwb3NzaWJsZSB3YXkgdG8gdXNlIHRo
aXMgc2lnbmFsIGNvdWxkIGJlIHRocm91Z2ggYSBkaWFsb2cgdG8KKyAgICAgKiBhbGxvdyB0aGUg
dXNlciBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoZSByZXF1ZXN0OgorICAgICAqCisgICAgICog
PGluZm9ybWFsZXhhbXBsZT48cHJvZ3JhbWxpc3Rpbmc+CisgICAgICogc3RhdGljIGdib29sZWFu
IHBlcm1pc3Npb25fcmVxdWVzdF9jYiAoV2ViS2l0V2ViVmlldyAqd2ViX3ZpZXcsCisgICAgICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0UGVybWlzc2lvblJl
cXVlc3QgKnJlcXVlc3QsCisgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR3RrV2luZG93ICpwYXJlbnRfd2luZG93KQorICAgICAqIHsKKyAgICAgKiAgICAgR3Rr
V2lkZ2V0ICpkaWFsb2cgPSBndGtfbWVzc2FnZV9kaWFsb2dfbmV3IChwYXJlbnRfd2luZG93LAor
ICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdU
S19ESUFMT0dfTU9EQUwsCisgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR1RLX01FU1NBR0VfUVVFU1RJT04sCisgICAgICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX0JVVFRPTlNfWUVTX05PLAor
ICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJB
bGxvdyBQZXJtaXNzaW9uIFJlcXVlc3Q/Iik7CisgICAgICogICAgIGd0a193aWRnZXRfc2hvdyAo
ZGlhbG9nKTsKKyAgICAgKiAgICAgZ2ludCByZXN1bHQgPSBndGtfZGlhbG9nX3J1biAoR1RLX0RJ
QUxPRyAoZGlhbG9nKSk7CisgICAgICoKKyAgICAgKiAgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAg
ICAgKiAgICAgY2FzZSBHVEtfUkVTUE9OU0VfWUVTOgorICAgICAqICAgICAgICAgd2Via2l0X3Bl
cm1pc3Npb25fcmVxdWVzdF9hbGxvdyAocmVxdWVzdCk7CisgICAgICogICAgICAgICBicmVhazsK
KyAgICAgKiAgICAgZGVmYXVsdDoKKyAgICAgKiAgICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3Jl
cXVlc3RfZGVueSAocmVxdWVzdCk7CisgICAgICogICAgICAgICBicmVhazsKKyAgICAgKiAgICAg
fQorICAgICAqICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kgKGRpYWxvZyk7CisgICAgICoKKyAgICAg
KiAgICAgcmV0dXJuIFRSVUU7CisgICAgICogfQorICAgICAqIDwvcHJvZ3JhbWxpc3Rpbmc+PC9p
bmZvcm1hbGV4YW1wbGU+CisgICAgICoKKyAgICAgKiBCeSBkZWZhdWx0LCBpZiB0aGUgc2lnbmFs
IGlzIG5vdCBoYW5kbGVkLAorICAgICAqIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueSgp
IHdpbGwgYmUgY2FsbGVkIG92ZXIgdGhlCisgICAgICogI1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0
LgorICAgICAqCisgICAgICogUmV0dXJuczogJVRSVUUgdG8gc3RvcCBvdGhlciBoYW5kbGVycyBm
cm9tIGJlaW5nIGludm9rZWQgZm9yIHRoZSBldmVudC4KKyAgICAgKiAgICVGQUxTRSB0byBwcm9w
YWdhdGUgdGhlIGV2ZW50IGZ1cnRoZXIuCisgICAgICoKKyAgICAgKi8KKyAgICBzaWduYWxzW1BF
Uk1JU1NJT05fUkVRVUVTVF0gPQorICAgICAgICBnX3NpZ25hbF9uZXcoInBlcm1pc3Npb24tcmVx
dWVzdCIsCisgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFTUyh3ZWJWaWV3Q2xh
c3MpLAorICAgICAgICAgICAgICAgICAgICAgR19TSUdOQUxfUlVOX0xBU1QsCisgICAgICAgICAg
ICAgICAgICAgICBHX1NUUlVDVF9PRkZTRVQoV2ViS2l0V2ViVmlld0NsYXNzLCBwZXJtaXNzaW9u
X3JlcXVlc3QpLAorICAgICAgICAgICAgICAgICAgICAgZ19zaWduYWxfYWNjdW11bGF0b3JfdHJ1
ZV9oYW5kbGVkLCAwIC8qIGFjY3VtdWxhdG9yIGRhdGEgKi8sCisgICAgICAgICAgICAgICAgICAg
ICB3ZWJraXRfbWFyc2hhbF9CT09MRUFOX19PQkpFQ1QsCisgICAgICAgICAgICAgICAgICAgICBH
X1RZUEVfQk9PTEVBTiwgMSwgLyogbnVtYmVyIG9mIHBhcmFtZXRlcnMgKi8KKyAgICAgICAgICAg
ICAgICAgICAgIFdFQktJVF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVCk7CisgICAgLyoqCiAgICAg
ICogV2ViS2l0V2ViVmlldzo6bW91c2UtdGFyZ2V0LWNoYW5nZWQ6CiAgICAgICogQHdlYl92aWV3
OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCiAgICAg
ICogQGhpdF90ZXN0X3Jlc3VsdDogYSAjV2ViS2l0SGl0VGVzdFJlc3VsdApAQCAtODkyLDYgKzk1
NiwxMiBAQCB2b2lkIHdlYmtpdFdlYlZpZXdNYWtlUG9saWN5RGVjaXNpb24oV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViS2l0UG9saWN5RGVjaXNpbwogICAgIGdfc2lnbmFsX2VtaXQod2ViVmll
dywgc2lnbmFsc1tERUNJREVfUE9MSUNZXSwgMCwgZGVjaXNpb24sIHR5cGUsICZyZXR1cm5WYWx1
ZSk7CiB9CiAKK3ZvaWQgd2Via2l0V2ViVmlld01ha2VQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAg
ICBnYm9vbGVhbiByZXR1cm5WYWx1ZTsKKyAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIHNpZ25h
bHNbUEVSTUlTU0lPTl9SRVFVRVNUXSwgMCwgcmVxdWVzdCwgJnJldHVyblZhbHVlKTsKK30KKwog
dm9pZCB3ZWJraXRXZWJWaWV3TW91c2VUYXJnZXRDaGFuZ2VkKFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIFdLSGl0VGVzdFJlc3VsdFJlZiB3a0hpdFRlc3RSZXN1bHQsIHVuc2lnbmVkIG1vZGlmaWVy
cykKIHsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5k
ZXggZjVjMjFjNS4uMDMwZGYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgPHdlYmtp
dDIvV2ViS2l0V2ViUmVzb3VyY2UuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFdlYlZpZXdC
YXNlLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRXaW5kb3dQcm9wZXJ0aWVzLmg+CisjaW5j
bHVkZSA8d2Via2l0Mi9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oPgogI2luY2x1ZGUgPHdlYmtp
dDIvV2ViS2l0UG9saWN5RGVjaXNpb24uaD4KIAogR19CRUdJTl9ERUNMUwpAQCAtMTQxLDYgKzE0
Miw4IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld0NsYXNzIHsKICAgICBnYm9vbGVhbiAgICgqIGRl
Y2lkZV9wb2xpY3kpICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0UG9saWN5
RGVjaXNpb24gICAgICAqZGVjaXNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXZWJLaXRQb2xpY3lEZWNpc2lvblR5cGUgICB0eXBlKTsKKyAgICBnYm9vbGVh
biAgICgqIHBlcm1pc3Npb25fcmVxdWVzdCkgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
S2l0UGVybWlzc2lvblJlcXVlc3QgICAqcGVybWlzc2lvbl9yZXF1ZXN0KTsKICAgICB2b2lkICAg
ICAgICgqIG1vdXNlX3RhcmdldF9jaGFuZ2VkKSAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
S2l0SGl0VGVzdFJlc3VsdCAgICAgICAqaGl0X3Rlc3RfcmVzdWx0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAgICAgICAgbW9k
aWZpZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDcwZDZkNmQuLjcyYjgxMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZh
dGUuaApAQCAtNDIsNiArNDIsNyBAQCB2b2lkIHdlYmtpdFdlYlZpZXdDbG9zZVBhZ2UoV2ViS2l0
V2ViVmlldyopOwogdm9pZCB3ZWJraXRXZWJWaWV3UnVuSmF2YVNjcmlwdEFsZXJ0KFdlYktpdFdl
YlZpZXcqLCBjb25zdCBDU3RyaW5nJiBtZXNzYWdlKTsKIGJvb2wgd2Via2l0V2ViVmlld1J1bkph
dmFTY3JpcHRDb25maXJtKFdlYktpdFdlYlZpZXcqLCBjb25zdCBDU3RyaW5nJiBtZXNzYWdlKTsK
IFdLU3RyaW5nUmVmIHdlYmtpdFdlYlZpZXdSdW5KYXZhU2NyaXB0UHJvbXB0KFdlYktpdFdlYlZp
ZXcqLCBjb25zdCBDU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBDU3RyaW5nJiBkZWZhdWx0VGV4dCk7
Cit2b2lkIHdlYmtpdFdlYlZpZXdNYWtlUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0V2ViVmlldyos
IFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0Kik7CiB2b2lkIHdlYmtpdFdlYlZpZXdNYWtlUG9saWN5
RGVjaXNpb24oV2ViS2l0V2ViVmlldyosIFdlYktpdFBvbGljeURlY2lzaW9uVHlwZSwgV2ViS2l0
UG9saWN5RGVjaXNpb24qKTsKIHZvaWQgd2Via2l0V2ViVmlld01vdXNlVGFyZ2V0Q2hhbmdlZChX
ZWJLaXRXZWJWaWV3KiwgV0tIaXRUZXN0UmVzdWx0UmVmLCB1bnNpZ25lZCBtb2RpZmllcnMpOwog
dm9pZCB3ZWJraXRXZWJWaWV3UHJpbnRGcmFtZShXZWJLaXRXZWJWaWV3KiwgV0tGcmFtZVJlZik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLWRvY3Muc2dtbAppbmRleCAzMmM3MjU1Li43NTcyN2FkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21s
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1k
b2NzLnNnbWwKQEAgLTIxLDYgKzIxLDcgQEAKICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0VVJJUmVzcG9uc2UueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdp
bmRvd1Byb3BlcnRpZXMueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdERv
d25sb2FkLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRQZXJtaXNzaW9u
UmVxdWVzdC54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UG9saWN5RGVj
aXNpb24ueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5hdmlnYXRpb25Q
b2xpY3lEZWNpc2lvbi54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UmVz
cG9uc2VQb2xpY3lEZWNpc2lvbi54bWwiLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CmluZGV4
IGRjMzgwOTUuLjJiYmUzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dApAQCAtMzU4LDYg
KzM1OCwyMyBAQCB3ZWJraXRfZG93bmxvYWRfZ2V0X3R5cGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdFBlcm1pc3Np
b25SZXF1ZXN0Cit3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93Cit3ZWJraXRfcGVybWlz
c2lvbl9yZXF1ZXN0X2RlbnkKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRQZXJtaXNz
aW9uUmVxdWVzdElmYWNlCitXRUJLSVRfVFlQRV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9Q
RVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9Q
RVJNSVNTSU9OX1JFUVVFU1RfR0VUX0lGQUNFCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJr
aXRfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgog
PEZJTEU+V2ViS2l0UG9saWN5RGVjaXNpb248L0ZJTEU+CiBXZWJLaXRQb2xpY3lEZWNpc2lvbgog
d2Via2l0X3BvbGljeV9kZWNpc2lvbl9kb3dubG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvd2Via2l0Mi5oCmluZGV4IDVlN2Y2Y2EuLjA1MjE5NDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlIDx3ZWJraXQyL1dlYktpdEZpbmRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9X
ZWJLaXRIaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRKYXZhc2NyaXB0
UmVzdWx0Lmg+CisjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oPgog
I2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0UHJpbnRPcGVyYXRpb24uaD4KICNpbmNsdWRlIDx3ZWJr
aXQyL1dlYktpdFNjcmlwdERpYWxvZy5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0U2V0dGlu
Z3MuaD4KLS0gCjEuNy43LjYKCg==
</data>
<flag name="review"
          id="143383"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>