<?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>79226</bug_id>
          
          <creation_ts>2012-02-22 05:07:58 -0800</creation_ts>
          <short_desc>[GTK] Implement print preview</short_desc>
          <delta_ts>2022-09-05 01:14: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>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.gnome.org/show_bug.cgi?id=779254</see_also>
          <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>75544</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Tomas Popela">tpopela</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>bugzilla</cc>
    
    <cc>mcrha</cc>
    
    <cc>mike</cc>
    
    <cc>noein93</cc>
    
    <cc>tpopela</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561864</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-22 05:07:58 -0800</bug_when>
    <thetext>It&apos;s currently unsupported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092951</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-05-07 18:24:58 -0700</bug_when>
    <thetext>What all do we need to do for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093036</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-07 22:38:11 -0700</bug_when>
    <thetext>We probably need a way to send the PDF from the web process to the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165122</commentid>
    <comment_count>3</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2016-02-16 06:27:54 -0800</bug_when>
    <thetext>I do not know the rationale behind this, but with respect of the Gtk&apos;s print dialog, you get all of that for free, both Print Preview and Export to PDF (yes, that&apos;s also sometimes useful), if you just reuse what the gtk offer. All you need to do is to implement three signals on the GtkPrintOperation, as shown in the simple example [1], which can be run in gtk3-demo, Printing-&gt;Printing demo. Reuse of the code is beneficial, I believe, especially when you get things for free.

[1] https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo/printing.c#n158</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165132</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-16 08:34:45 -0800</bug_when>
    <thetext>Unfortunately this is not that easy in WebKit2 model. We run the dialog in the ui process, but the print operation in the web process. So we use the unix print dialog manually, and a custom print operation in the web process. So, the UI process simply collects the options form the print dialog, and the web process does the actual printing to a file that is sent to the printer with GtkPrintJob</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255249</commentid>
    <comment_count>5</comment_count>
      <attachid>295851</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-12-01 07:44:55 -0800</bug_when>
    <thetext>Created attachment 295851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255250</commentid>
    <comment_count>6</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-12-01 07:49:30 -0800</bug_when>
    <thetext>I added a wip implementation (but it&apos;s working) just to have some opinion from other devs if this is the right way to implement this (we talked about this with Carlos during the hackfest). For the description please see the change logs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281355</commentid>
    <comment_count>7</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2017-02-27 04:57:26 -0800</bug_when>
    <thetext>Just for a record, recent downstream bug report against Evolution:
https://bugzilla.gnome.org/show_bug.cgi?id=779254</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418433</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Gratton">mike</who>
    <bug_when>2018-04-26 23:27:54 -0700</bug_when>
    <thetext>FWIW, Flatpak&apos;s xdg-desktop-portal-gtk just did something similar using evince-previewer for its print preview implementation, which has the same challenges as the WK2 model:

https://github.com/flatpak/xdg-desktop-portal-gtk/commit/8710c71022e60543881bbe7dbefb76285ab03a34</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1896279</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-09-05 01:14:44 -0700</bug_when>
    <thetext>Now that we have PDF support we can probably implement print preview using a web view.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295851</attachid>
            <date>2016-12-01 07:44:55 -0800</date>
            <delta_ts>2016-12-01 07:44:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79226-20161201164426.patch</filename>
            <type>text/plain</type>
            <size>14604</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWI0NjZmMzRkMTcxZWUz
MDdlOTIyNmQ4OTljNTI3NGMxMjlmNTNlNy4uY2QzMzU3ZTEyZDY5ZmFhNGFiMWY0NTU4NjNjZGU5
ODVkZTU4Nzk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTEyLTAxICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gSW1wbGVtZW50
IHByaW50IHByZXZpZXcgaW4gV2ViS2l0MiBHVEsrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTIyNgorCisgICAgICAgIEFkZCBhIHByZXZpZXcgc3Vw
cG9ydCB0byBvdXIgcHJpbnQgZGlhbG9nIGluIHRoZSBmb2xsb3dpbmcgd2F5LiBFbmFibGUKKyAg
ICAgICAgdGhlIHByZXZpZXcgaW4gdGhlIGRpYWxvZyBieSBhZGRpbmcgdGhlIEdUS19QUklOVF9D
QVBBQklMSVRZX1BSRVZJRVcKKyAgICAgICAgY2FwYWJpbGl0eS4gV2hlbiB0aGlzIGJ1dHRvbiBp
cyBwcmVzc2VkLCB3ZSB0cnkgdG8gZmluZCBhIEdUSysncworICAgICAgICBwcmludGVyIHRoYXQg
aXMgdXNlZCBmb3IgdGhlICJQcmludCB0byBmaWxlIiBmdW5jdGlvbmFsaXR5IGFuZCBzZXQgaXRz
CisgICAgICAgIG91dHB1dCB0byB0aGUgZmlsZSB1bmRlciAvdG1wIGFuZCB3ZSBzdGFydCBwcmlu
dGluZyB3aXRoIHRoYXQKKyAgICAgICAgcGFydGljdWxhciBwcmludGVyLiBXaGVuIHRoZSBwcmlu
dCBpcyBmaW5pc2hlZCB3ZSB3aWxsIHRyeSB0byBsb2NhdGUKKyAgICAgICAgdGhlIGV2aW5jZS1w
cmV2aWV3ZXIgYmluYXJ5IHRvIG9wZW4gdGhlIHByaW50ZWQgZmlsZS4gSWYgd2UgZmFpbCB0bwor
ICAgICAgICBmaW5kIGl0LCB3ZSB3aWxsIGZhbGxiYWNrIHRvIHhkZy1vcGVuIGFuZCBvcGVuIHRo
ZSBwcmludGVkIGZpbGUgd2l0aAorICAgICAgICB0aGUgYmluYXJ5IHRoYXQgd2UgZm91bmQgKGlm
IGV2aW5jZS1wcmV2aWV3ZXIgaXMgdXNlZCB3ZSB0dXJuIG9uIGl0J3MKKyAgICAgICAgZmVhdHVy
ZSB0byByZW1vdmUgdGhlIGZpbGUgb25jZSB0aGUgcHJldmlldyBpcyBjbG9zZWQpLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uY3BwOgorICAgICAgICAod2Via2l0UHJpbnRPcGVy
YXRpb25SdW5EaWFsb2cpOgorICAgICAgICAob3BlblByaW50ZWRQZGZQcmV2aWV3KToKKyAgICAg
ICAgKGRyYXdQYWdlc0ZvclByaW50aW5nQ29tcGxldGVkKToKKyAgICAgICAgKHByZXBhcmVQcmV2
aWV3UHJpbnRlcik6CisgICAgICAgICh3ZWJraXRQcmludE9wZXJhdGlvblJ1bkRpYWxvZ0ZvckZy
YW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9ndGsvUHJpbnRlckxpc3RHdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpQcmludGVyTGlzdEd0azo6Z2V0RmlsZVByaW50ZXJOYW1lKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1ByaW50ZXJMaXN0R3RrLmg6CisKIDIwMTYt
MTEtMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIERhdGFiYXNlIHByb2Nlc3Mgc2hvdWxkIG5vdCBpbml0aWFsaXplIGd0awpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVy
YXRpb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRP
cGVyYXRpb24uY3BwCmluZGV4IDUyODljZDcwZWFmMmNhM2Q3NzkxM2E5NWI0NzQ0YWE4ZjdhZmI5
ZjEuLjgzNjI3ZjIwZWNhZWM0ZDg3ZWZkNzJjODFkYmY3NGJmN2ZjZTI1OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJh
dGlvbi5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRQcmludE9wZXJhdGlvbi5oIgogCisjaW5jbHVkZSAiV2ViS2l0RXJyb3IuaCIKICNp
bmNsdWRlICJXZWJLaXRQcmludE9wZXJhdGlvblByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCkBAIC0zMiw2
ICszMyw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiAjaWYgSEFWRShHVEtf
VU5JWF9QUklOVElORykKKyNpbmNsdWRlICJQcmludGVyTGlzdEd0ay5oIgogI2luY2x1ZGUgPGd0
ay9ndGt1bml4cHJpbnQuaD4KICNlbmRpZgogCkBAIC03Niw2ICs3OCwxMCBAQCBzdHJ1Y3QgX1dl
YktpdFByaW50T3BlcmF0aW9uUHJpdmF0ZSB7CiAKICAgICBHUmVmUHRyPEd0a1ByaW50U2V0dGlu
Z3M+IHByaW50U2V0dGluZ3M7CiAgICAgR1JlZlB0cjxHdGtQYWdlU2V0dXA+IHBhZ2VTZXR1cDsK
KworICAgIFdlYktpdFByaW50T3BlcmF0aW9uUmVzcG9uc2UgY3VycmVudFJlc3BvbnNlOworICAg
IEdVbmlxdWVQdHI8Y2hhcj4gcHJldmlld0ZpbGVuYW1lOworICAgIEdVbmlxdWVQdHI8Y2hhcj4g
cHJldmlld1ByaW50ZXJOYW1lOwogfTsKIAogc3RhdGljIGd1aW50IHNpZ25hbHNbTEFTVF9TSUdO
QUxdID0geyAwLCB9OwpAQCAtMjExLDEyICsyMTcsMTUgQEAgc3RhdGljIHZvaWQgd2Via2l0X3By
aW50X29wZXJhdGlvbl9jbGFzc19pbml0KFdlYktpdFByaW50T3BlcmF0aW9uQ2xhc3MqIHByaW50
T3AKICNpZiBIQVZFKEdUS19VTklYX1BSSU5USU5HKQogc3RhdGljIFdlYktpdFByaW50T3BlcmF0
aW9uUmVzcG9uc2Ugd2Via2l0UHJpbnRPcGVyYXRpb25SdW5EaWFsb2coV2ViS2l0UHJpbnRPcGVy
YXRpb24qIHByaW50T3BlcmF0aW9uLCBHdGtXaW5kb3cqIHBhcmVudCkKIHsKKyAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChXRUJLSVRfSVNfUFJJTlRfT1BFUkFUSU9OKHByaW50T3BlcmF0aW9uKSwg
V0VCS0lUX1BSSU5UX09QRVJBVElPTl9SRVNQT05TRV9DQU5DRUwpOworCiAgICAgR3RrUHJpbnRV
bml4RGlhbG9nKiBwcmludERpYWxvZyA9IEdUS19QUklOVF9VTklYX0RJQUxPRyhndGtfcHJpbnRf
dW5peF9kaWFsb2dfbmV3KDAsIHBhcmVudCkpOwogICAgIGd0a19wcmludF91bml4X2RpYWxvZ19z
ZXRfbWFudWFsX2NhcGFiaWxpdGllcyhwcmludERpYWxvZywgc3RhdGljX2Nhc3Q8R3RrUHJpbnRD
YXBhYmlsaXRpZXM+KEdUS19QUklOVF9DQVBBQklMSVRZX05VTUJFUl9VUAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR1RLX1BSSU5UX0NBUEFCSUxJVFlfTlVNQkVS
X1VQX0xBWU9VVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR1RL
X1BSSU5UX0NBUEFCSUxJVFlfUEFHRV9TRVQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IEdUS19QUklOVF9DQVBBQklMSVRZX1JFVkVSU0UKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8IEdUS19QUklOVF9DQVBBQklMSVRZX0NPUElFUwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR1RLX1BSSU5UX0NBUEFC
SUxJVFlfUFJFVklFVwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
R1RLX1BSSU5UX0NBUEFCSUxJVFlfQ09MTEFURQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgR1RLX1BSSU5UX0NBUEFCSUxJVFlfU0NBTEUpKTsKIApAQCAtMjM0LDE2
ICsyNDMsNjEgQEAgc3RhdGljIFdlYktpdFByaW50T3BlcmF0aW9uUmVzcG9uc2Ugd2Via2l0UHJp
bnRPcGVyYXRpb25SdW5EaWFsb2coV2ViS2l0UHJpbnRPcGUKICAgICBndGtfcHJpbnRfdW5peF9k
aWFsb2dfc2V0X2VtYmVkX3BhZ2Vfc2V0dXAocHJpbnREaWFsb2csIFRSVUUpOwogCiAgICAgV2Vi
S2l0UHJpbnRPcGVyYXRpb25SZXNwb25zZSByZXR1cm5WYWx1ZSA9IFdFQktJVF9QUklOVF9PUEVS
QVRJT05fUkVTUE9OU0VfQ0FOQ0VMOwotICAgIGlmIChndGtfZGlhbG9nX3J1bihHVEtfRElBTE9H
KHByaW50RGlhbG9nKSkgPT0gR1RLX1JFU1BPTlNFX09LKSB7CisgICAgZ2ludCByZXNwb25zZSA9
IGd0a19kaWFsb2dfcnVuKEdUS19ESUFMT0cocHJpbnREaWFsb2cpKTsKKyAgICBpZiAocmVzcG9u
c2UgPT0gR1RLX1JFU1BPTlNFX09LIHx8IHJlc3BvbnNlID09IEdUS19SRVNQT05TRV9BUFBMWSkg
ewogICAgICAgICBwcml2LT5wcmludFNldHRpbmdzID0gYWRvcHRHUmVmKGd0a19wcmludF91bml4
X2RpYWxvZ19nZXRfc2V0dGluZ3MocHJpbnREaWFsb2cpKTsKICAgICAgICAgcHJpdi0+cGFnZVNl
dHVwID0gZ3RrX3ByaW50X3VuaXhfZGlhbG9nX2dldF9wYWdlX3NldHVwKHByaW50RGlhbG9nKTsK
LSAgICAgICAgcmV0dXJuVmFsdWUgPSBXRUJLSVRfUFJJTlRfT1BFUkFUSU9OX1JFU1BPTlNFX1BS
SU5UOworICAgICAgICByZXR1cm5WYWx1ZSA9IHJlc3BvbnNlID09IEdUS19SRVNQT05TRV9PSyA/
IFdFQktJVF9QUklOVF9PUEVSQVRJT05fUkVTUE9OU0VfUFJJTlQgOiBXRUJLSVRfUFJJTlRfT1BF
UkFUSU9OX1JFU1BPTlNFX1BSRVZJRVc7CiAgICAgfQogCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95
KEdUS19XSURHRVQocHJpbnREaWFsb2cpKTsKIAogICAgIHJldHVybiByZXR1cm5WYWx1ZTsKIH0K
Kworc3RhdGljIGJvb2wgb3BlblByaW50ZWRQZGZQcmV2aWV3KFdlYktpdFByaW50T3BlcmF0aW9u
KiBwcmludE9wZXJhdGlvbiwgR1VuaXF1ZVB0cjxHRXJyb3I+JiBlcnJvcikKK3sKKyAgICBHVW5p
cXVlUHRyPGNoYXI+IHByZXZpZXdBcHBsaWNhdGlvbihnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoKCJl
dmluY2UtcHJldmlld2VyIikpOworICAgIGJvb2wgaGF2ZUV2aW5jZSA9IHRydWU7CisKKyAgICAv
LyBDYW4ndCBmaW5kIGV2aW5jZS1wcmV2aWV3ZXIsIGZhbGxiYWNrIHRvIHhkZy1vcGVuLgorICAg
IGlmICghcHJldmlld0FwcGxpY2F0aW9uKSB7CisgICAgICAgIHByZXZpZXdBcHBsaWNhdGlvbi5y
ZXNldChnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoKCJ4ZGctb3BlbiIpKTsKKyAgICAgICAgaGF2ZUV2
aW5jZSA9IGZhbHNlOworICAgIH0KKworICAgIGlmICghcHJldmlld0FwcGxpY2F0aW9uKSB7Cisg
ICAgICAgIGVycm9yLnJlc2V0KGdfZXJyb3JfbmV3X2xpdGVyYWwod2Via2l0X3ByaW50X2Vycm9y
X3F1YXJrKCksIFdFQktJVF9QUklOVF9FUlJPUl9HRU5FUkFMLCAiQ2Fubm90IGZpbmQgYW4gYXBw
bGljYXRpb24gZm9yIG9wZW5pbmcgUERGcyBpbiBQQVRILiIpKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIEdVbmlxdWVQdHI8Y2hhcj4gZmlsZVRvUHJldmlldyhnX3N0cmNv
bmNhdChnX2dldF90bXBfZGlyKCksICIvIiwgcHJpbnRPcGVyYXRpb24tPnByaXYtPnByZXZpZXdG
aWxlbmFtZS5nZXQoKSwgIi5wZGYiLCBOVUxMKSk7CisgICAgaWYgKCFmaWxlVG9QcmV2aWV3IHx8
ICFnX2ZpbGVfdGVzdChmaWxlVG9QcmV2aWV3LmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+
KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX1JFR1VMQVIpKSkgeworICAgICAg
ICBHVW5pcXVlUHRyPGNoYXI+IGVycm9yTWVzc2FnZShnX3N0cmNvbmNhdCgiUHJldmlldyBmaWxl
ICIsIGZpbGVUb1ByZXZpZXcuZ2V0KCksICIgY291bGRuJ3QgYmUgb3BlbmVkLiIsIE5VTEwpKTsK
KyAgICAgICAgZXJyb3IucmVzZXQoZ19lcnJvcl9uZXdfbGl0ZXJhbCh3ZWJraXRfcHJpbnRfZXJy
b3JfcXVhcmsoKSwgV0VCS0lUX1BSSU5UX0VSUk9SX0dFTkVSQUwsIGVycm9yTWVzc2FnZS5nZXQo
KSkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY2hhcioqIGFyZ3YgPSBn
X25ld2EoY2hhciosIDQpOworICAgIGFyZ3ZbMF0gPSBwcmV2aWV3QXBwbGljYXRpb24uZ2V0KCk7
CisgICAgR1VuaXF1ZVB0cjxjaGFyPiBhZGRpdGlvbmFsRXZpbmNlQXJncyhnX3N0cmR1cCgiLS11
bmxpbmstdGVtcGZpbGUiKSk7CisgICAgaWYgKGhhdmVFdmluY2UpIHsKKyAgICAgICAgYXJndlsx
XSA9IGFkZGl0aW9uYWxFdmluY2VBcmdzLmdldCgpOworICAgICAgICBhcmd2WzJdID0gZmlsZVRv
UHJldmlldy5nZXQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBhcmd2WzFdID0gZmlsZVRvUHJl
dmlldy5nZXQoKTsKKyAgICAgICAgYXJndlsyXSA9IDA7CisgICAgfQorICAgIGFyZ3ZbM10gPSAw
OworCisgICAgR0Vycm9yKiBsb2NhbEVycm9yID0gbnVsbHB0cjsKKyAgICBpZiAoIWdfc3Bhd25f
YXN5bmMoZ19nZXRfdG1wX2RpcigpLCBhcmd2LCAwLCBHX1NQQVdOX0RFRkFVTFQsIDAsIDAsIDAs
ICZsb2NhbEVycm9yKSkgeworICAgICAgICBlcnJvci5yZXNldChsb2NhbEVycm9yKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQogI2Vsc2UKIC8v
IFRPRE86IFdlIG5lZWQgdG8gYWRkIGFuIGltcGxlbWVudGF0aW9uIGZvciBXaW5kb3dzLgogc3Rh
dGljIFdlYktpdFByaW50T3BlcmF0aW9uUmVzcG9uc2Ugd2Via2l0UHJpbnRPcGVyYXRpb25SdW5E
aWFsb2coV2ViS2l0UHJpbnRPcGVyYXRpb24qLCBHdGtXaW5kb3cqKQpAQCAtMjUxLDEyICszMDUs
MjEgQEAgc3RhdGljIFdlYktpdFByaW50T3BlcmF0aW9uUmVzcG9uc2Ugd2Via2l0UHJpbnRPcGVy
YXRpb25SdW5EaWFsb2coV2ViS2l0UHJpbnRPcGUKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAg
IHJldHVybiBXRUJLSVRfUFJJTlRfT1BFUkFUSU9OX1JFU1BPTlNFX0NBTkNFTDsKIH0KKworc3Rh
dGljIGJvb2wgb3BlblByaW50ZWRQZGZQcmV2aWV3KFdlYktpdFByaW50T3BlcmF0aW9uKiBwcmlu
dE9wZXJhdGlvbiwgR1VuaXF1ZVB0cjxHRXJyb3I+JiBlcnJvcikKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKKworfQogI2VuZGlmCiAKIHN0YXRpYyB2b2lkIGRy
YXdQYWdlc0ZvclByaW50aW5nQ29tcGxldGVkKEFQSTo6RXJyb3IqIHdrUHJpbnRFcnJvciwgV2Vi
S2l0UHJpbnRPcGVyYXRpb24qIHByaW50T3BlcmF0aW9uKQogeworICAgIFdlYktpdFByaW50T3Bl
cmF0aW9uUHJpdmF0ZSogcHJpdiA9IHByaW50T3BlcmF0aW9uLT5wcml2OworCiAgICAgLy8gV2hl
biBydW5uaW5nIHN5bmNocm9ub3VzbHkgV2ViUGFnZVByb3h5OjpwcmludEZyYW1lKCkgY2FsbHMg
ZW5kUHJpbnRpbmcoKS4KLSAgICBpZiAocHJpbnRPcGVyYXRpb24tPnByaXYtPnByaW50TW9kZSA9
PSBQcmludEluZm86OlByaW50TW9kZUFzeW5jICYmIHByaW50T3BlcmF0aW9uLT5wcml2LT53ZWJW
aWV3KSB7CisgICAgaWYgKHByaXYtPnByaW50TW9kZSA9PSBQcmludEluZm86OlByaW50TW9kZUFz
eW5jICYmIHByaW50T3BlcmF0aW9uLT5wcml2LT53ZWJWaWV3KSB7CiAgICAgICAgIFdlYlBhZ2VQ
cm94eSogcGFnZSA9IHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFT
RShwcmludE9wZXJhdGlvbi0+cHJpdi0+d2ViVmlldykpOwogICAgICAgICBwYWdlLT5lbmRQcmlu
dGluZygpOwogICAgIH0KQEAgLTI2Nyw3ICszMzAsMTUgQEAgc3RhdGljIHZvaWQgZHJhd1BhZ2Vz
Rm9yUHJpbnRpbmdDb21wbGV0ZWQoQVBJOjpFcnJvciogd2tQcmludEVycm9yLCBXZWJLaXRQcmlu
dE8KICAgICAgICAgICAgIHRvV2ViS2l0RXJyb3IocmVzb3VyY2VFcnJvci5lcnJvckNvZGUoKSks
IHJlc291cmNlRXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKS51dGY4KCkuZGF0YSgpKSk7CiAg
ICAgICAgIGdfc2lnbmFsX2VtaXQocHJpbnRPcGVyYXRpb24sIHNpZ25hbHNbRkFJTEVEXSwgMCwg
cHJpbnRFcnJvci5nZXQoKSk7CiAgICAgfQotICAgIGdfc2lnbmFsX2VtaXQocHJpbnRPcGVyYXRp
b24sIHNpZ25hbHNbRklOSVNIRURdLCAwLCBOVUxMKTsKKworICAgIGlmIChwcml2LT5jdXJyZW50
UmVzcG9uc2UgPT0gV0VCS0lUX1BSSU5UX09QRVJBVElPTl9SRVNQT05TRV9QUkVWSUVXKSB7Cisg
ICAgICAgIEdVbmlxdWVQdHI8R0Vycm9yPiBwcmV2aWV3RXJyb3I7CisgICAgICAgIGlmIChvcGVu
UHJpbnRlZFBkZlByZXZpZXcocHJpbnRPcGVyYXRpb24sIHByZXZpZXdFcnJvcikpCisgICAgICAg
ICAgICBnX3NpZ25hbF9lbWl0KHByaW50T3BlcmF0aW9uLCBzaWduYWxzW0ZJTklTSEVEXSwgMCwg
TlVMTCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXQocHJpbnRPcGVy
YXRpb24sIHNpZ25hbHNbRkFJTEVEXSwgMCwgcHJldmlld0Vycm9yLmdldCgpKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgZ19zaWduYWxfZW1pdChwcmludE9wZXJhdGlvbiwgc2lnbmFsc1tGSU5JU0hF
RF0sIDAsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRQcmludE9wZXJhdGlvblByaW50
UGFnZXNGb3JGcmFtZShXZWJLaXRQcmludE9wZXJhdGlvbiogcHJpbnRPcGVyYXRpb24sIFdlYkZy
YW1lUHJveHkqIHdlYkZyYW1lLCBHdGtQcmludFNldHRpbmdzKiBwcmludFNldHRpbmdzLCBHdGtQ
YWdlU2V0dXAqIHBhZ2VTZXR1cCkKQEAgLTI4MCw2ICszNTEsMjkgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0UHJpbnRPcGVyYXRpb25QcmludFBhZ2VzRm9yRnJhbWUoV2ViS2l0UHJpbnRPcGVyYXRpb24q
IHByaW50T3AKICAgICB9KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHByZXBhcmVQcmV2aWV3UHJpbnRl
cihXZWJLaXRQcmludE9wZXJhdGlvbiogcHJpbnRPcGVyYXRpb24pCit7CisgICAgV2ViS2l0UHJp
bnRPcGVyYXRpb25Qcml2YXRlKiBwcml2ID0gcHJpbnRPcGVyYXRpb24tPnByaXY7CisKKyAgICBH
VGltZVZhbCB0aW1lVmFsOworICAgIGdfZ2V0X2N1cnJlbnRfdGltZSgmdGltZVZhbCk7CisgICAg
R1VuaXF1ZVB0cjxjaGFyPiBjdXJyZW50VGltZShnX3RpbWVfdmFsX3RvX2lzbzg2MDEoJnRpbWVW
YWwpKTsKKyAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2Uo
V0VCS0lUX1dFQl9WSUVXX0JBU0UocHJpbnRPcGVyYXRpb24tPnByaXYtPndlYlZpZXcpKTsKKyAg
ICBwcml2LT5wcmV2aWV3RmlsZW5hbWUucmVzZXQoZ19zdHJkdXBfcHJpbnRmKCJ3ZWJraXQtcHJl
dmlldy0lbHUtJXMiLCBwYWdlLT5wYWdlSUQoKSwgY3VycmVudFRpbWUuZ2V0KCkpKTsKKyAgICBn
dGtfcHJpbnRfc2V0dGluZ3Nfc2V0KHByaXYtPnByaW50U2V0dGluZ3MuZ2V0KCksIEdUS19QUklO
VF9TRVRUSU5HU19PVVRQVVRfQkFTRU5BTUUsIHByaXYtPnByZXZpZXdGaWxlbmFtZS5nZXQoKSk7
CisKKyAgICBndGtfcHJpbnRfc2V0dGluZ3Nfc2V0KHByaXYtPnByaW50U2V0dGluZ3MuZ2V0KCks
IEdUS19QUklOVF9TRVRUSU5HU19PVVRQVVRfRElSLCBnX2dldF90bXBfZGlyKCkpOworICAgIGd0
a19wcmludF9zZXR0aW5nc19zZXQocHJpdi0+cHJpbnRTZXR0aW5ncy5nZXQoKSwgR1RLX1BSSU5U
X1NFVFRJTkdTX09VVFBVVF9GSUxFX0ZPUk1BVCwgInBkZiIpOworCisgICAgaWYgKCFwcml2LT5w
cmV2aWV3UHJpbnRlck5hbWUpIHsKKyAgICAgICAgUmVmUHRyPFByaW50ZXJMaXN0R3RrPiBwcmlu
dGVyTGlzdCA9IFByaW50ZXJMaXN0R3RrOjpnZXRPckNyZWF0ZSgpOworICAgICAgICBBU1NFUlQo
cHJpbnRlckxpc3QpOworICAgICAgICBwcml2LT5wcmV2aWV3UHJpbnRlck5hbWUucmVzZXQoZ19z
dHJkdXAocHJpbnRlckxpc3QtPmdldEZpbGVQcmludGVyTmFtZSgpKSk7CisgICAgfQorCisgICAg
Z3RrX3ByaW50X3NldHRpbmdzX3NldF9wcmludGVyKHByaXYtPnByaW50U2V0dGluZ3MuZ2V0KCks
IHByaXYtPnByZXZpZXdQcmludGVyTmFtZS5nZXQoKSk7Cit9CisKIFdlYktpdFByaW50T3BlcmF0
aW9uUmVzcG9uc2Ugd2Via2l0UHJpbnRPcGVyYXRpb25SdW5EaWFsb2dGb3JGcmFtZShXZWJLaXRQ
cmludE9wZXJhdGlvbiogcHJpbnRPcGVyYXRpb24sIEd0a1dpbmRvdyogcGFyZW50LCBXZWJGcmFt
ZVByb3h5KiB3ZWJGcmFtZSkKIHsKICAgICBXZWJLaXRQcmludE9wZXJhdGlvblByaXZhdGUqIHBy
aXYgPSBwcmludE9wZXJhdGlvbi0+cHJpdjsKQEAgLTI4OSwxMiArMzgzLDE1IEBAIFdlYktpdFBy
aW50T3BlcmF0aW9uUmVzcG9uc2Ugd2Via2l0UHJpbnRPcGVyYXRpb25SdW5EaWFsb2dGb3JGcmFt
ZShXZWJLaXRQcmludE9wCiAgICAgICAgICAgICBwYXJlbnQgPSBHVEtfV0lORE9XKHRvcGxldmVs
KTsKICAgICB9CiAKLSAgICBXZWJLaXRQcmludE9wZXJhdGlvblJlc3BvbnNlIHJlc3BvbnNlID0g
d2Via2l0UHJpbnRPcGVyYXRpb25SdW5EaWFsb2cocHJpbnRPcGVyYXRpb24sIHBhcmVudCk7Ci0g
ICAgaWYgKHJlc3BvbnNlID09IFdFQktJVF9QUklOVF9PUEVSQVRJT05fUkVTUE9OU0VfQ0FOQ0VM
KQotICAgICAgICByZXR1cm4gcmVzcG9uc2U7CisgICAgcHJpdi0+Y3VycmVudFJlc3BvbnNlID0g
d2Via2l0UHJpbnRPcGVyYXRpb25SdW5EaWFsb2cocHJpbnRPcGVyYXRpb24sIHBhcmVudCk7Cisg
ICAgaWYgKHByaXYtPmN1cnJlbnRSZXNwb25zZSA9PSBXRUJLSVRfUFJJTlRfT1BFUkFUSU9OX1JF
U1BPTlNFX0NBTkNFTCkKKyAgICAgICAgcmV0dXJuIFdFQktJVF9QUklOVF9PUEVSQVRJT05fUkVT
UE9OU0VfQ0FOQ0VMOworCisgICAgaWYgKHByaXYtPmN1cnJlbnRSZXNwb25zZSA9PSBXRUJLSVRf
UFJJTlRfT1BFUkFUSU9OX1JFU1BPTlNFX1BSRVZJRVcpCisgICAgICAgIHByZXBhcmVQcmV2aWV3
UHJpbnRlcihwcmludE9wZXJhdGlvbik7CiAKICAgICB3ZWJraXRQcmludE9wZXJhdGlvblByaW50
UGFnZXNGb3JGcmFtZShwcmludE9wZXJhdGlvbiwgd2ViRnJhbWUsIHByaXYtPnByaW50U2V0dGlu
Z3MuZ2V0KCksIHByaXYtPnBhZ2VTZXR1cC5nZXQoKSk7Ci0gICAgcmV0dXJuIHJlc3BvbnNlOwor
ICAgIHJldHVybiBwcml2LT5jdXJyZW50UmVzcG9uc2U7CiB9CiAKIHZvaWQgd2Via2l0UHJpbnRP
cGVyYXRpb25TZXRQcmludE1vZGUoV2ViS2l0UHJpbnRPcGVyYXRpb24qIHByaW50T3BlcmF0aW9u
LCBQcmludEluZm86OlByaW50TW9kZSBwcmludE1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uaAppbmRleCBiNzE1
OWI4YzY3M2ZhN2JlNzA0ZDljYzg4NmVmNmJjMzA4OGFmY2VjLi4wZDY2N2Y5MzMxNGRmMTBjOTcy
OTg5YmU0NTdmNzc5Yzk0MGVhY2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmgKQEAgLTQzLDEzICs0MywxNSBA
QCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0UHJpbnRPcGVyYXRpb25Qcml2YXRlIFdlYktpdFByaW50
T3BlcmF0aW9uUHJpdmF0ZTsKIAogLyoqCiAgKiBXZWJLaXRQcmludE9wZXJhdGlvblJlc3BvbnNl
OgotICogQFdFQktJVF9QUklOVF9PUEVSQVRJT05fUkVTUE9OU0VfUFJJTlQ6IFByaW50IGJ1dHRv
biB3YXMgY2xpa2VkIGluIHByaW50IGRpYWxvZworICogQFdFQktJVF9QUklOVF9PUEVSQVRJT05f
UkVTUE9OU0VfUFJFVklFVzogUHJldmlldyBidXR0b24gd2FzIGNsaWNrZWQgaW4gcHJpbnQgZGlh
bG9nCisgKiBAV0VCS0lUX1BSSU5UX09QRVJBVElPTl9SRVNQT05TRV9QUklOVDogUHJpbnQgYnV0
dG9uIHdhcyBjbGlja2VkIGluIHByaW50IGRpYWxvZwogICogQFdFQktJVF9QUklOVF9PUEVSQVRJ
T05fUkVTUE9OU0VfQ0FOQ0VMOiBQcmludCBkaWFsb2cgd2FzIGNhbmNlbGxlZAogICoKICAqIEVu
dW0gdmFsdWVzIHJlcHJlc2VudGluZyB0aGUgcmVzcG9uc2Ugb2YgdGhlIHByaW50IGRpYWxvZyBz
aG93biB3aXRoCiAgKiB3ZWJraXRfcHJpbnRfb3BlcmF0aW9uX3J1bl9kaWFsb2coKS4KICAqLwog
dHlwZWRlZiBlbnVtIHsKKyAgICBXRUJLSVRfUFJJTlRfT1BFUkFUSU9OX1JFU1BPTlNFX1BSRVZJ
RVcsCiAgICAgV0VCS0lUX1BSSU5UX09QRVJBVElPTl9SRVNQT05TRV9QUklOVCwKICAgICBXRUJL
SVRfUFJJTlRfT1BFUkFUSU9OX1JFU1BPTlNFX0NBTkNFTAogfSBXZWJLaXRQcmludE9wZXJhdGlv
blJlc3BvbnNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9QcmludGVyTGlzdEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1ByaW50ZXJMaXN0R3RrLmNwcAppbmRleCA4ZGRjOTEyZjY4ZDI3ZGJmYmJkNTk5ZWFi
Njk2OGYyZTYzYjY3MDlkLi44ODMyNTU1ZGMyZjJjYTBmYWJmZWRhYzJiN2M5MDE1OGMwMjY3NDE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1ByaW50
ZXJMaXN0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3Rr
L1ByaW50ZXJMaXN0R3RrLmNwcApAQCAtNzgsNiArNzgsMjMgQEAgR3RrUHJpbnRlciogUHJpbnRl
ckxpc3RHdGs6OmZpbmRQcmludGVyKGNvbnN0IGNoYXIqIHByaW50ZXJOYW1lKSBjb25zdAogICAg
IHJldHVybiBudWxscHRyOwogfQogCitjb25zdCBjaGFyKiBQcmludGVyTGlzdEd0azo6Z2V0Rmls
ZVByaW50ZXJOYW1lKHZvaWQpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvJiBwcmludGVyIDogbV9w
cmludGVyTGlzdCkgeworICAgICAgICBHdGtQcmludEJhY2tlbmQqIGJhY2tlbmQgPSBndGtfcHJp
bnRlcl9nZXRfYmFja2VuZChwcmludGVyLmdldCgpKTsKKyAgICAgICAgaWYgKCFzdHJjbXAoR19P
QkpFQ1RfVFlQRV9OQU1FKGJhY2tlbmQpLCAiR3RrUHJpbnRCYWNrZW5kRmlsZSIpKQorICAgICAg
ICAgICAgcmV0dXJuIGd0a19wcmludGVyX2dldF9uYW1lKHByaW50ZXIuZ2V0KCkpOworICAgIH0K
KworICAgIC8vIEZhbGxiYWNrIHRvIHN0YW5kYXJkIEVuZ2xpc2ggbmFtZSBpZiB3ZSBmYWlsIHRv
IG9idGFpbiBhIG5hbWUgb2YgdGhlIGZpbGUKKyAgICAvLyBwcmludGVyIGZyb20gR1RLKy4gVGhp
cyBjb3VsZCBoYXBwZW4gd2hlbiB0aGUgZmlsZSBwcmludGVyIGlzIGRpc2FibGVkCisgICAgLy8g
dGhyb3VnaCB0aGUgfi8uY29uZmlnL2d0ay0zLjAvc2V0dGluZ3MuaW5pIGNvbmZpZ3VyYXRpb24g
ZmlsZSBhbmQgaXRzCisgICAgLy8gZ3RrLXByaW50LWJhY2tlbmRzIGtleSAoYnkgbm90IGhhdmlu
ZyAiZmlsZSIgdGhlcmUpLiBBbHNvIHRoZXJlIGlzIG9uZQorICAgIC8vIHByb2JsZW0gcmVsYXRl
ZCB0byB0aGlzOiB0aGUgbmFtZSBpcyB0cmFuc2xhdGVkLCBzbyB0aGlzIHdpbGwgd29yayBvbmx5
CisgICAgLy8gZm9yIEVuZ2xpc2ggbG9jYWxlLgorICAgIHJldHVybiAiUHJpbnQgdG8gRmlsZSI7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gSEFWRShHVEtfVU5JWF9Q
UklOVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvUHJpbnRlckxpc3RHdGsuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvUHJpbnRlckxpc3RHdGsuaAppbmRleCBlMTNjYjI5OTU4Y2JhOWQzM2Q1N2QwM2U0ZDY2NjJi
MDAzNjkzODgyLi44MzZiYTU5ODI4YjczYWE5NGRmMjFjYjA0YTQ4YjE1MzY1ZGY2MmEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1ByaW50ZXJMaXN0
R3RrLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9QcmludGVy
TGlzdEd0ay5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIEd0a1ByaW50ZXIqIGZp
bmRQcmludGVyKGNvbnN0IGNoYXIqKSBjb25zdDsKICAgICBHdGtQcmludGVyKiBkZWZhdWx0UHJp
bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFByaW50ZXI7IH0KKyAgICBjb25zdCBjaGFy
KiBnZXRGaWxlUHJpbnRlck5hbWUodm9pZCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUHJpbnRl
ckxpc3RHdGsoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>