<?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>167509</bug_id>
          
          <creation_ts>2017-01-27 09:57:35 -0800</creation_ts>
          <short_desc>[GTK] Add API to handle the accelerated compositing policy</short_desc>
          <delta_ts>2017-01-30 14:25:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Local 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>
          <dependson>167605</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270667</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-27 09:57:35 -0800</bug_when>
    <thetext>Now that we have brought back the on demand mode, we should allow applications to choose the policy, wihtout having to deal with environment variables. Settings also allows to set different policy depending on the web view, so for example evolution could disable AC for the composer, but leave the on demand mode for the email viewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270672</commentid>
    <comment_count>1</comment_count>
      <attachid>299940</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-27 10:05:08 -0800</bug_when>
    <thetext>Created attachment 299940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270688</commentid>
    <comment_count>2</comment_count>
      <attachid>299940</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-27 10:40:50 -0800</bug_when>
    <thetext>Comment on attachment 299940
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Now that we have brought back the on demand mode, we should allow applications to choose the policy, wihtout

wihtout -&gt; without

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1298
&gt; +     * by using %WEBKIT_HARDWARE_ACCELERATION_POLICY_ALWAYS. And it&apos;s also posible to diaable it

diaable -&gt; disable

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:3253
&gt; +    if (changed)
&gt; +        g_object_notify(G_OBJECT(settings), &quot;hardware-acceleration-policy&quot;);

It&apos;s a bit iffy how to handle this, but I would prefer to check the existing value of our API setting and notify if it changes, to close any possibility of notifying if the API setting doesn&apos;t change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271230</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-30 05:52:08 -0800</bug_when>
    <thetext>Committed r211363: &lt;http://trac.webkit.org/changeset/211363&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299940</attachid>
            <date>2017-01-27 10:05:08 -0800</date>
            <delta_ts>2017-01-27 10:40:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-ac-policy-api.diff</filename>
            <type>text/plain</type>
            <size>19259</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0N2Q3ZWQ0ODliNC4uZjk0YjExNmNmMTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMSBAQAogMjAxNy0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW0dUS10gQWRkIEFQSSB0byBoYW5kbGUgdGhlIGFjY2VsZXJh
dGVkIGNvbXBvc2l0aW5nIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY3NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm93IHRoYXQgd2UgaGF2ZSBicm91Z2h0IGJhY2sgdGhlIG9uIGRlbWFu
ZCBtb2RlLCB3ZSBzaG91bGQgYWxsb3cgYXBwbGljYXRpb25zIHRvIGNob29zZSB0aGUgcG9saWN5
LCB3aWh0b3V0CisgICAgICAgIGhhdmluZyB0byBkZWFsIHdpdGggZW52aXJvbm1lbnQgdmFyaWFi
bGVzLiBTZXR0aW5ncyBhbHNvIGFsbG93cyB0byBzZXQgZGlmZmVyZW50IHBvbGljeSBkZXBlbmRp
bmcgb24gdGhlIHdlYgorICAgICAgICB2aWV3LCBzbyBmb3IgZXhhbXBsZSBldm9sdXRpb24gY291
bGQgZGlzYWJsZSBBQyBmb3IgdGhlIGNvbXBvc2VyLCBidXQgbGVhdmUgdGhlIG9uIGRlbWFuZCBt
b2RlIGZvciB0aGUgZW1haWwKKyAgICAgICAgdmlld2VyLiBUaGlzIHBhdGNoIGFkZHMgYSBzaW5n
bGUgbmV3IHNldHRpbmcgaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSB0byBoYW5kbGUgYm90
aAorICAgICAgICBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCBhbmQgZm9yY2VDb21wb3Np
dGluZ01vZGUgcHJlZmVyZW5jZXMgdXNpbmcgYW4gZW51bSB3aXRoIHZhbHVlcworICAgICAgICBX
RUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9PTl9ERU1BTkQsIFdFQktJVF9IQVJE
V0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX0FMV0FZUyBhbmQKKyAgICAgICAgV0VCS0lUX0hBUkRX
QVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfTkVWRVIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3Bl
cnR5KTogQWRkIHNldHRlciBmb3IgaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSBwcm9wZXJ0
eS4KKyAgICAgICAgKHdlYktpdFNldHRpbmdzR2V0UHJvcGVydHkpOiBBZGQgZ2V0dGVyIGZvciBo
YXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5IHByb3BlcnR5LgorICAgICAgICAod2Via2l0X3Nl
dHRpbmdzX2NsYXNzX2luaXQpOiBBZGQgaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSBwcm9w
ZXJ0eS4KKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9u
X3BvbGljeSk6IFJldHVybiBwb2xpY3kgYWNjb3JkaW5nIHRvIHRoZSBwcmVmZXJlbmNlcy4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeSk6
IHNldCBwcmVmZXJlbmNlcyBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHBvbGljeS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJv
bHMuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCisy
MDE3LTAxLTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwog
ICAgICAgICBbQ29vcmRpbmF0ZWQgR3JhcGhpY3NdIFdlYlBhZ2Ugc2hvdWxkbid0IHVzZSB0aGUg
bGF5ZXJUcmVlSG9zdCBkaXJlY3RseQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY3NDk0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcAppbmRleCAxNjFiYzM5ZmZjYS4uYTYxZWNhNGE0
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJXZWJLaXRTZXR0aW5ncy5o
IgogCiAjaW5jbHVkZSAiRXhwZXJpbWVudGFsRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJXZWJLaXRF
bnVtVHlwZXMuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
U2V0dGluZ3NQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCkBAIC0xNDUsNyAr
MTQ2LDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfU1BBVElBTF9OQVZJR0FUSU9OLAogICAg
IFBST1BfRU5BQkxFX01FRElBU09VUkNFLAogICAgIFBST1BfQUxMT1dfRklMRV9BQ0NFU1NfRlJP
TV9GSUxFX1VSTFMsCi0gICAgUFJPUF9BTExPV19VTklWRVJTQUxfQUNDRVNTX0ZST01fRklMRV9V
UkxTCisgICAgUFJPUF9BTExPV19VTklWRVJTQUxfQUNDRVNTX0ZST01fRklMRV9VUkxTLAorICAg
IFBST1BfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWSwKIH07CiAKIHN0YXRpYyB2b2lkIHdl
YktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQpAQCAtMzIzLDYgKzMyNSw5
IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0
LCBndWludCBwcm9wSWQsIGNvbnN0IEdWYWx1CiAgICAgY2FzZSBQUk9QX0FMTE9XX1VOSVZFUlNB
TF9BQ0NFU1NfRlJPTV9GSUxFX1VSTFM6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfYWxs
b3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJscyhzZXR0aW5ncywgZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSkpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfSEFSRFdBUkVf
QUNDRUxFUkFUSU9OX1BPTElDWToKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9oYXJkd2Fy
ZV9hY2NlbGVyYXRpb25fcG9saWN5KHNldHRpbmdzLCBzdGF0aWNfY2FzdDxXZWJLaXRIYXJkd2Fy
ZUFjY2VsZXJhdGlvblBvbGljeT4oZ192YWx1ZV9nZXRfZW51bSh2YWx1ZSkpKTsKKyAgICAgICAg
YnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BF
UlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTQ4
Niw2ICs0OTEsOSBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KEdPYmpl
Y3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZhbAogICAgIGNhc2UgUFJPUF9BTExP
V19VTklWRVJTQUxfQUNDRVNTX0ZST01fRklMRV9VUkxTOgogICAgICAgICBnX3ZhbHVlX3NldF9i
b29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93X3VuaXZlcnNhbF9hY2Nlc3Nf
ZnJvbV9maWxlX3VybHMoc2V0dGluZ3MpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1k6CisgICAgICAgIGdfdmFsdWVfc2V0X2VudW0o
dmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShz
ZXR0aW5ncykpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVD
VF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMTI3OSw2ICsxMjg3LDI4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9z
ZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAg
ICAgXygiV2hldGhlciBvciBub3QgdW5pdmVyc2FsIGFjY2VzcyBpcyBhbGxvd2VkIGZyb20gdGhl
IGNvbnRleHQgb2YgZmlsZSBzY2hlbWUgVVJMcyIpLAogICAgICAgICAgICAgRkFMU0UsCiAgICAg
ICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAgICAg
KiBXZWJLaXRTZXR0aW5nczpoYXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5OgorICAgICAqCisg
ICAgICogVGhlICNXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGljeSB0byBkZWNpZGUgaG93
IHRvIGVuYWJsZSBhbmQgZGlzYWJsZQorICAgICAqIGhhcmR3YXJlIGFjY2VsZXJhdGlvbi4gVGhl
IGRlZmF1bHQgdmFsdWUgJVdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX09OX0RF
TUFORAorICAgICAqIGVuYWJsZXMgdGhlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiB3aGVuIHRoZSB3
ZWIgY29udGVudHMgcmVxdWVzdCBpdCwgZGlzYWJsaW5nIGl0IGFnYWluCisgICAgICogd2hlbiBu
byBsb25nZXIgbmVlZGVkLiBJdCdzIHBvc3NpYmxlIHRvIGVuZm9yZSBoYXJkd2FyZSBhY2NlbGVy
YXRpb24gdG8gYmUgYWx3YXlzIGVuYWJsZWQKKyAgICAgKiBieSB1c2luZyAlV0VCS0lUX0hBUkRX
QVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfQUxXQVlTLiBBbmQgaXQncyBhbHNvIHBvc2libGUgdG8g
ZGlhYWJsZSBpdAorICAgICAqIGNvbXBsZXRlbHkgdXNpbmcgJVdFQktJVF9IQVJEV0FSRV9BQ0NF
TEVSQVRJT05fUE9MSUNZX05FVkVSLiBOb3RlIHRoYXQgZGlzYWJsaW5nIGhhcmR3YXJlCisgICAg
ICogYWNjZWxlcmF0aW9uIG1pZ2h0IGNhdXNlIHNvbWUgd2Vic2l0ZXMgdG8gbm90IHJlbmRlciBj
b3JyZWN0bHkgb3IgY29uc3VtZSBtb3JlIENQVS4KKyAgICAgKgorICAgICAqIFNpbmNlOiAyLjE2
CisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xh
c3MsCisgICAgICAgIFBST1BfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWSwKKyAgICAgICAg
Z19wYXJhbV9zcGVjX2VudW0oImhhcmR3YXJlLWFjY2VsZXJhdGlvbi1wb2xpY3kiLAorICAgICAg
ICAgICAgXygiSGFyZHdhcmUgQWNjZWxlcmF0aW9uIFBvbGljeSIpLAorICAgICAgICAgICAgXygi
VGhlIHBvbGljeSB0byBkZWNpZGUgaG93IHRvIGVuYWJsZSBhbmQgZGlzYWJsZSBoYXJkd2FyZSBh
Y2NlbGVyYXRpb24iKSwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX0hBUkRXQVJFX0FDQ0VMRVJB
VElPTl9QT0xJQ1ksCisgICAgICAgICAgICBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BP
TElDWV9PTl9ERU1BTkQsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdz
KSk7CiB9CiAKIFdlYlByZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2VzKFdl
YktpdFNldHRpbmdzKiBzZXR0aW5ncykKQEAgLTMxNDIsMyArMzE3Miw4MyBAQCB2b2lkIHdlYmtp
dF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJscyhXZWJL
aXRTZXR0aW5ncyogcwogICAgIHByaXYtPnByZWZlcmVuY2VzLT5zZXRBbGxvd1VuaXZlcnNhbEFj
Y2Vzc0Zyb21GaWxlVVJMcyhhbGxvd2VkKTsKICAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qo
c2V0dGluZ3MpLCAiYWxsb3ctdW5pdmVyc2FsLWFjY2Vzcy1mcm9tLWZpbGUtdXJscyIpOwogfQor
CisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGlj
eToKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJL
aXRTZXR0aW5nczpoYXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5IHByb3BlcnR5LgorICoKKyAq
IFJldHVybjogYSAjV2ViS2l0SGFyZHdhcmVBY2NlbGVyYXRpb25Qb2xpY3kKKyAqCisgKiBTaW5j
ZTogMi4xNgorICovCitXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGljeSB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koV2ViS2l0U2V0dGluZ3MqIHNl
dHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhz
ZXR0aW5ncyksIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX09OX0RFTUFORCk7
CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAg
ICBpZiAoIXByaXYtPnByZWZlcmVuY2VzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gV0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfTkVW
RVI7CisKKyAgICBpZiAocHJpdi0+cHJlZmVyZW5jZXMtPmZvcmNlQ29tcG9zaXRpbmdNb2RlKCkp
CisgICAgICAgIHJldHVybiBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9BTFdB
WVM7CisKKyAgICByZXR1cm4gV0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfT05f
REVNQU5EOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfaGFyZHdhcmVfYWNjZWxl
cmF0aW9uX3BvbGljeToKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqIEBwb2xp
Y3k6IGEgI1dlYktpdEhhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5CisgKgorICogU2V0IHRoZSAj
V2ViS2l0U2V0dGluZ3M6aGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSBwcm9wZXJ0eS4KKyAq
CisgKiBTaW5jZTogMi4xNgorICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfaGFyZHdhcmVf
YWNjZWxlcmF0aW9uX3BvbGljeShXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIFdlYktpdEhhcmR3
YXJlQWNjZWxlcmF0aW9uUG9saWN5IHBvbGljeSkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdF
QktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0U2V0dGluZ3NQcml2YXRl
KiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjaGFuZ2VkID0gZmFsc2U7CisgICAg
c3dpdGNoIChwb2xpY3kpIHsKKyAgICBjYXNlIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05f
UE9MSUNZX0FMV0FZUzoKKyAgICAgICAgaWYgKCFwcml2LT5wcmVmZXJlbmNlcy0+YWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgeworICAgICAgICAgICAgcHJpdi0+cHJlZmVyZW5jZXMt
PnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgY2hh
bmdlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFwcml2LT5wcmVmZXJlbmNlcy0+
Zm9yY2VDb21wb3NpdGluZ01vZGUoKSkgeworICAgICAgICAgICAgcHJpdi0+cHJlZmVyZW5jZXMt
PnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOworICAgICAgICAgICAgY2hhbmdlZCA9IHRy
dWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXRUJLSVRfSEFSRFdBUkVf
QUNDRUxFUkFUSU9OX1BPTElDWV9ORVZFUjoKKyAgICAgICAgaWYgKHByaXYtPnByZWZlcmVuY2Vz
LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBwcml2LT5w
cmVmZXJlbmNlcy0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpOworICAg
ICAgICAgICAgY2hhbmdlZCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAocHJpdi0+
cHJlZmVyZW5jZXMtPmZvcmNlQ29tcG9zaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgICAgIHByaXYt
PnByZWZlcmVuY2VzLT5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShmYWxzZSk7CisgICAgICAgICAg
ICBjaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
V0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfT05fREVNQU5EOgorICAgICAgICBp
ZiAoIXByaXYtPnByZWZlcmVuY2VzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7
CisgICAgICAgICAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgfQor
CisgICAgICAgIGlmIChwcml2LT5wcmVmZXJlbmNlcy0+Zm9yY2VDb21wb3NpdGluZ01vZGUoKSkg
eworICAgICAgICAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldEZvcmNlQ29tcG9zaXRpbmdNb2Rl
KGZhbHNlKTsKKyAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOworICAgICAgICB9CisKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGNoYW5nZWQpCisgICAgICAgIGdfb2JqZWN0X25v
dGlmeShHX09CSkVDVChzZXR0aW5ncyksICJoYXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5Iik7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGlu
Z3MuaAppbmRleCAzZjRjMzhiODRjYy4uN2Y2MzU3Nzg3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaApAQCAtNDcsNiArNDcsMjIg
QEAgR19CRUdJTl9ERUNMUwogI2RlZmluZSBXRUJLSVRfSVNfU0VUVElOR1NfQ0xBU1Moa2xhc3Mp
IChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfU0VUVElOR1Mp
KQogI2RlZmluZSBXRUJLSVRfU0VUVElOR1NfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFO
Q0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfU0VUVElOR1MsIFdlYktpdFNldHRpbmdz
Q2xhc3MpKQogCisvKioKKyAqIFdlYktpdEhhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5OgorICog
QFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX09OX0RFTUFORDogSGFyZHdhcmUg
YWNjZWxlcmF0aW9uIGlzIGVuYWJsZWQvZGlzYWJsZWQgYXMgcmVxdWVzdCBieSB3ZWIgY29udGVu
dHMuCisgKiBAV0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfQUxXQVlTOiBIYXJk
d2FyZSBhY2NlbGVyYXRpb24gaXMgYWx3YXlzIGVuYWJsZWQsIGV2ZW4gZm9yIHdlYnNpdGVzIG5v
dCByZXF1ZXN0aW5nIGl0LgorICogQFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZ
X05FVkVSOiBIYXJkd2FyZSBhY2NlbGVyYXRpb24gaXMgYWx3YXlzIGRpc2FibGVkLCBldmVuIGZv
ciB3ZWJzaXRlcyByZXF1ZXN0aW5nIGl0LgorICoKKyAqIEVudW0gdmFsdWVzIHVzZWQgZm9yIGRl
dGVybWluaW5nIHRoZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5LgorICoKKyAqIFNpbmNl
OiAyLjE2CisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgV0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJB
VElPTl9QT0xJQ1lfT05fREVNQU5ELAorICAgIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05f
UE9MSUNZX0FMV0FZUywKKyAgICBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9O
RVZFUgorfSBXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGljeTsKKwogdHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdFNldHRpbmdzIFdlYktpdFNldHRpbmdzOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFNldHRpbmdzQ2xhc3MgV2ViS2l0U2V0dGluZ3NDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJL
aXRTZXR0aW5nc1ByaXZhdGUgV2ViS2l0U2V0dGluZ3NQcml2YXRlOwpAQCAtNDI4LDYgKzQ0NCwx
MyBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2Fs
X2FjY2Vzc19mcm9tX2ZpbGVfdXJscyAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2Jvb2xlYW4gICAgICAgIGFsbG93ZWQpOwogCitXRUJLSVRfQVBJIFdlYktpdEhhcmR3
YXJlQWNjZWxlcmF0aW9uUG9saWN5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2Vs
ZXJhdGlvbl9wb2xpY3kgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzKTsK
KworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2hhcmR3YXJlX2FjY2VsZXJh
dGlvbl9wb2xpY3kgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdlYktpdEhhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5IHBvbGljeSk7CisKIEdfRU5EX0RF
Q0xTCiAKICNlbmRpZiAvKiBXZWJLaXRTZXR0aW5nc19oICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4
dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAt
c2VjdGlvbnMudHh0CmluZGV4IDQzZmE1Yjg3ZGIyLi42Y2JhNDU0MzcxNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0
aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKQEAgLTM1OCw2ICszNTgsNyBAQCB3ZWJraXRfYmFja19m
b3J3YXJkX2xpc3RfaXRlbV9nZXRfdHlwZQogPFNFQ1RJT04+CiA8RklMRT5XZWJLaXRTZXR0aW5n
czwvRklMRT4KIFdlYktpdFNldHRpbmdzCitXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGlj
eQogd2Via2l0X3NldHRpbmdzX25ldwogd2Via2l0X3NldHRpbmdzX25ld193aXRoX3NldHRpbmdz
CiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2F1dG9fbG9hZF9pbWFnZXMKQEAgLTQ2MSw2ICs0NjIsOCBA
QCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCiB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCiB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2FsbG93X3VuaXZlcnNhbF9hY2Nlc3NfZnJvbV9maWxlX3VybHMKIHdl
YmtpdF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJscwor
d2Via2l0X3NldHRpbmdzX2dldF9oYXJkd2FyZV9hY2NlbGVyYXRpb25fcG9saWN5Cit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3kKIAogPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CiBXZWJLaXRTZXR0aW5nc0NsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDU0YjRlYWQ5ODNm
Li40ODA3ODljN2QzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTE3Niw4ICsxNzYsOCBAQCB2b2lkIERyYXdp
bmdBcmVhSW1wbDo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYg
c3RvcmUpCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIC8vIEZp
eGVkIHBvc2l0aW9uIGVsZW1lbnRzIG5lZWQgdG8gYmUgY29tcG9zaXRlZCBhbmQgY3JlYXRlIHN0
YWNraW5nIGNvbnRleHRzCiAgICAgLy8gaW4gb3JkZXIgdG8gYmUgc2Nyb2xsZWQgYnkgdGhlIFNj
cm9sbGluZ0Nvb3JkaW5hdG9yLgotICAgIHNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICBzZXR0aW5ncy5zZXRGaXhlZFBv
c2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dCh0cnVlKTsKKyAgICBzZXR0aW5ncy5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoc2V0dGluZ3MuYWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSk7CisgICAgc2V0dGluZ3Muc2V0Rml4ZWRQb3NpdGlv
bkNyZWF0ZXNTdGFja2luZ0NvbnRleHQoc2V0dGluZ3MuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWQoKSk7CiAjZW5kaWYKIAogICAgIG1fYWx3YXlzVXNlQ29tcG9zaXRpbmcgPSBzZXR0aW5n
cy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpICYmIHNldHRpbmdzLmZvcmNlQ29tcG9z
aXRpbmdNb2RlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggM2YwN2U0YzUwM2EuLmQxMjdiZDA0ZDg0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDEtMjcg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtH
VEtdIEFkZCBBUEkgdG8gaGFuZGxlIHRoZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBwb2xpY3kK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzUwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhbmRsZSBu
ZXcgc2V0dGluZyBpbiBNaW5pQnJvd3Nlci4gVGhlIHNldHRpbmdzIGRpYWxvZyBkb2Vzbid0IHN1
cHBvcnQgZW51bSBzZXR0aW5ncyBzbyBpdCBuZWVkcyB0byBiZSBoYW5kbGVkCisgICAgICAgIGFz
IGEgc3BlY2lhbCBjYXNlLiBBbHNvIGFkZCB0ZXN0IGNhc2VzIHRvIHRoZSBnZXQvc2V0IEFQSS4K
KworICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2VyU2V0dGluZ3NEaWFsb2cuYzoKKyAg
ICAgICAgKGhhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5VG9TdHJpbmcpOgorICAgICAgICAoc3Ry
aW5nVG9IYXJkd2FyZUFjY2VsZXJhdGlvblBvbGljeSk6CisgICAgICAgIChjZWxsUmVuZGVyZXJD
aGFuZ2VkKToKKyAgICAgICAgKGJyb3dzZXJTZXR0aW5nc0RpYWxvZ0NvbnN0cnVjdGVkKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFNldHRpbmdz
LmNwcDoKKyAgICAgICAgKHRlc3RXZWJLaXRTZXR0aW5ncyk6CisKIDIwMTctMDEtMjYgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB3aGVuIG5hdmlnYXRp
bmcgYmFjayB0byBhIHBhZ2UgaW4gUGFjaGVDYWNoZSB3aGVuIG9uZSBvZiBpdHMgZnJhbWVzIGhh
cyBiZWVuIHJlbW92ZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
U2V0dGluZ3NEaWFsb2cuYyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyU2V0dGluZ3NE
aWFsb2cuYwppbmRleCAxZTRkY2Q4MDRiOC4uNTExYjNkYjA0ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL2d0ay9Ccm93c2VyU2V0dGluZ3NEaWFsb2cuYworKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9ndGsvQnJvd3NlclNldHRpbmdzRGlhbG9nLmMKQEAgLTU1LDYgKzU1LDM0IEBAIHN0
cnVjdCBfQnJvd3NlclNldHRpbmdzRGlhbG9nQ2xhc3MgewogCiBHX0RFRklORV9UWVBFKEJyb3dz
ZXJTZXR0aW5nc0RpYWxvZywgYnJvd3Nlcl9zZXR0aW5nc19kaWFsb2csIEdUS19UWVBFX0RJQUxP
RykKIAorc3RhdGljIGNvbnN0IGNoYXIgKmhhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5VG9TdHJp
bmcoV2ViS2l0SGFyZHdhcmVBY2NlbGVyYXRpb25Qb2xpY3kgcG9saWN5KQoreworICAgIHN3aXRj
aCAocG9saWN5KSB7CisgICAgY2FzZSBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElD
WV9BTFdBWVM6CisgICAgICAgIHJldHVybiAiYWx3YXlzIjsKKyAgICBjYXNlIFdFQktJVF9IQVJE
V0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX05FVkVSOgorICAgICAgICByZXR1cm4gIm5ldmVyIjsK
KyAgICBjYXNlIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX09OX0RFTUFORDoK
KyAgICAgICAgcmV0dXJuICJvbmRlbWFuZCI7CisgICAgfQorCisgICAgZ19hc3NlcnRfbm90X3Jl
YWNoZWQoKTsKKyAgICByZXR1cm4gIm9uZGVtYW5kIjsKK30KKworc3RhdGljIGludCBzdHJpbmdU
b0hhcmR3YXJlQWNjZWxlcmF0aW9uUG9saWN5KGNvbnN0IGNoYXIgKnBvbGljeSkKK3sKKyAgICBp
ZiAoIWdfYXNjaWlfc3RyY2FzZWNtcChwb2xpY3ksICJhbHdheXMiKSkKKyAgICAgICAgcmV0dXJu
IFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX0FMV0FZUzsKKyAgICBpZiAoIWdf
YXNjaWlfc3RyY2FzZWNtcChwb2xpY3ksICJuZXZlciIpKQorICAgICAgICByZXR1cm4gV0VCS0lU
X0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfTkVWRVI7CisgICAgaWYgKCFnX2FzY2lpX3N0
cmNhc2VjbXAocG9saWN5LCAib25kZW1hbmQiKSkKKyAgICAgICAgcmV0dXJuIFdFQktJVF9IQVJE
V0FSRV9BQ0NFTEVSQVRJT05fUE9MSUNZX09OX0RFTUFORDsKKworICAgIGdfd2FybmluZygiSW52
YWxpZCB2YWx1ZSAlcyBmb3IgaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSBzZXR0aW5nIHZh
bGlkIHZhbHVlcyBhcmUgYWx3YXlzLCBuZXZlciBhbmQgb25kZW1hbmQiLCBwb2xpY3kpOworICAg
IHJldHVybiAtMTsKK30KKwogc3RhdGljIHZvaWQgY2VsbFJlbmRlcmVyQ2hhbmdlZChHdGtDZWxs
UmVuZGVyZXIgKnJlbmRlcmVyLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBHVmFsdWUgKnZhbHVl
LCBCcm93c2VyU2V0dGluZ3NEaWFsb2cgKmRpYWxvZykKIHsKICAgICBHdGtUcmVlTW9kZWwgKm1v
ZGVsID0gZ3RrX3RyZWVfdmlld19nZXRfbW9kZWwoR1RLX1RSRUVfVklFVyhkaWFsb2ctPnNldHRp
bmdzTGlzdCkpOwpAQCAtNjIsMTIgKzkwLDIxIEBAIHN0YXRpYyB2b2lkIGNlbGxSZW5kZXJlckNo
YW5nZWQoR3RrQ2VsbFJlbmRlcmVyICpyZW5kZXJlciwgY29uc3QgY2hhciAqcGF0aCwgY29uCiAg
ICAgR3RrVHJlZUl0ZXIgaXRlcjsKICAgICBndGtfdHJlZV9tb2RlbF9nZXRfaXRlcihtb2RlbCwg
Jml0ZXIsIHRyZWVQYXRoKTsKIAorICAgIGdib29sZWFuIHVwZGF0ZVRyZWVTdG9yZSA9IFRSVUU7
CiAgICAgY2hhciAqbmFtZTsKICAgICBndGtfdHJlZV9tb2RlbF9nZXQobW9kZWwsICZpdGVyLCBT
RVRUSU5HU19MSVNUX0NPTFVNTl9OQU1FLCAmbmFtZSwgLTEpOwotICAgIGdfb2JqZWN0X3NldF9w
cm9wZXJ0eShHX09CSkVDVChkaWFsb2ctPnNldHRpbmdzKSwgbmFtZSwgdmFsdWUpOworICAgIGlm
ICghZ19zdHJjbXAwKG5hbWUsICJoYXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5IikpIHsKKyAg
ICAgICAgaW50IHBvbGljeSA9IHN0cmluZ1RvSGFyZHdhcmVBY2NlbGVyYXRpb25Qb2xpY3koZ192
YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIGlmIChwb2xpY3kgIT0gLTEpCisgICAg
ICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3ko
ZGlhbG9nLT5zZXR0aW5ncywgcG9saWN5KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdXBk
YXRlVHJlZVN0b3JlID0gRkFMU0U7CisgICAgfSBlbHNlCisgICAgICAgIGdfb2JqZWN0X3NldF9w
cm9wZXJ0eShHX09CSkVDVChkaWFsb2ctPnNldHRpbmdzKSwgbmFtZSwgdmFsdWUpOwogICAgIGdf
ZnJlZShuYW1lKTsKIAotICAgIGd0a19saXN0X3N0b3JlX3NldChHVEtfTElTVF9TVE9SRShtb2Rl
bCksICZpdGVyLCBTRVRUSU5HU19MSVNUX0NPTFVNTl9WQUxVRSwgdmFsdWUsIC0xKTsKKyAgICBp
ZiAodXBkYXRlVHJlZVN0b3JlKQorICAgICAgICBndGtfbGlzdF9zdG9yZV9zZXQoR1RLX0xJU1Rf
U1RPUkUobW9kZWwpLCAmaXRlciwgU0VUVElOR1NfTElTVF9DT0xVTU5fVkFMVUUsIHZhbHVlLCAt
MSk7CiAgICAgZ3RrX3RyZWVfcGF0aF9mcmVlKHRyZWVQYXRoKTsKIH0KIApAQCAtMTM0LDEwICsx
NzEsMTkgQEAgc3RhdGljIHZvaWQgYnJvd3NlclNldHRpbmdzRGlhbG9nQ29uc3RydWN0ZWQoR09i
amVjdCAqb2JqZWN0KQogICAgICAgICBHUGFyYW1TcGVjICpwcm9wZXJ0eSA9IHByb3BlcnRpZXNb
aV07CiAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBnX3BhcmFtX3NwZWNfZ2V0X25hbWUocHJv
cGVydHkpOwogICAgICAgICBjb25zdCBjaGFyICpuaWNrID0gZ19wYXJhbV9zcGVjX2dldF9uaWNr
KHByb3BlcnR5KTsKKyAgICAgICAgY2hhciAqYmx1cmIgPSBnX21hcmt1cF9lc2NhcGVfdGV4dChn
X3BhcmFtX3NwZWNfZ2V0X2JsdXJiKHByb3BlcnR5KSwgLTEpOwogCiAgICAgICAgIEdWYWx1ZSB2
YWx1ZSA9IHsgMCwgeyB7IDAgfSB9IH07Ci0gICAgICAgIGdfdmFsdWVfaW5pdCgmdmFsdWUsIEdf
UEFSQU1fU1BFQ19WQUxVRV9UWVBFKHByb3BlcnR5KSk7Ci0gICAgICAgIGdfb2JqZWN0X2dldF9w
cm9wZXJ0eShHX09CSkVDVChzZXR0aW5ncyksIG5hbWUsICZ2YWx1ZSk7CisgICAgICAgIGlmICgh
Z19zdHJjbXAwKG5hbWUsICJoYXJkd2FyZS1hY2NlbGVyYXRpb24tcG9saWN5IikpIHsKKyAgICAg
ICAgICAgIGdfdmFsdWVfaW5pdCgmdmFsdWUsIEdfVFlQRV9TVFJJTkcpOworICAgICAgICAgICAg
Z192YWx1ZV9zZXRfc3RyaW5nKCZ2YWx1ZSwgaGFyZHdhcmVBY2NlbGVyYXRpb25Qb2xpY3lUb1N0
cmluZyh3ZWJraXRfc2V0dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koc2V0
dGluZ3MpKSk7CisgICAgICAgICAgICBjaGFyICpleHRlbmRlZEJsdXRiID0gZ19zdHJkdXBfcHJp
bnRmKCIlcyAoYWx3YXlzLCBuZXZlciBvciBvbmRlbWFuZCkiLCBibHVyYik7CisgICAgICAgICAg
ICBnX2ZyZWUoYmx1cmIpOworICAgICAgICAgICAgYmx1cmIgPSBleHRlbmRlZEJsdXRiOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZ192YWx1ZV9pbml0KCZ2YWx1ZSwgR19QQVJBTV9T
UEVDX1ZBTFVFX1RZUEUocHJvcGVydHkpKTsKKyAgICAgICAgICAgIGdfb2JqZWN0X2dldF9wcm9w
ZXJ0eShHX09CSkVDVChzZXR0aW5ncyksIG5hbWUsICZ2YWx1ZSk7CisgICAgICAgIH0KIAogICAg
ICAgICBHdGtBZGp1c3RtZW50ICphZGp1c3RtZW50ID0gTlVMTDsKICAgICAgICAgaWYgKEdfUEFS
QU1fU1BFQ19WQUxVRV9UWVBFKHByb3BlcnR5KSA9PSBHX1RZUEVfVUlOVCkgewpAQCAtMTQ2LDcg
KzE5Miw2IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJTZXR0aW5nc0RpYWxvZ0NvbnN0cnVjdGVkKEdP
YmplY3QgKm9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdUludFByb3BlcnR5LT5tYXhpbXVtLCAxLCAxLCAxKTsKICAgICAgICAgfQogCi0gICAgICAg
IGNoYXIgKmJsdXJiID0gZ19tYXJrdXBfZXNjYXBlX3RleHQoZ19wYXJhbV9zcGVjX2dldF9ibHVy
Yihwcm9wZXJ0eSksIC0xKTsKICAgICAgICAgR3RrVHJlZUl0ZXIgaXRlcjsKICAgICAgICAgZ3Rr
X2xpc3Rfc3RvcmVfYXBwZW5kKG1vZGVsLCAmaXRlcik7CiAgICAgICAgIGd0a19saXN0X3N0b3Jl
X3NldChtb2RlbCwgJml0ZXIsCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDJHdGsvVGVzdFdlYktpdFNldHRpbmdzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCmluZGV4IGM0NjQ2ZWZjY2Y5
Li5kYjYwYzJmZTg4NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyR3RrL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKQEAgLTI4NSw2ICsyODUsMTUg
QEAgc3RhdGljIHZvaWQgdGVzdFdlYktpdFNldHRpbmdzKFRlc3QqLCBnY29uc3Rwb2ludGVyKQog
ICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVf
dXJscyhzZXR0aW5ncywgVFJVRSk7CiAgICAgZ19hc3NlcnQod2Via2l0X3NldHRpbmdzX2dldF9h
bGxvd191bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmxzKHNldHRpbmdzKSk7CiAKKyAgICAv
LyBPbmRlbWFuZCBpcyB0aGUgZGVmYXVsdCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5Lgor
ICAgIGdfYXNzZXJ0X2NtcHVpbnQod2Via2l0X3NldHRpbmdzX2dldF9oYXJkd2FyZV9hY2NlbGVy
YXRpb25fcG9saWN5KHNldHRpbmdzKSwgPT0sIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05f
UE9MSUNZX09OX0RFTUFORCk7CisgICAgd2Via2l0X3NldHRpbmdzX3NldF9oYXJkd2FyZV9hY2Nl
bGVyYXRpb25fcG9saWN5KHNldHRpbmdzLCBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BP
TElDWV9ORVZFUik7CisgICAgZ19hc3NlcnRfY21wdWludCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2hh
cmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koc2V0dGluZ3MpLCA9PSwgV0VCS0lUX0hBUkRXQVJF
X0FDQ0VMRVJBVElPTl9QT0xJQ1lfTkVWRVIpOworICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfaGFy
ZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShzZXR0aW5ncywgV0VCS0lUX0hBUkRXQVJFX0FDQ0VM
RVJBVElPTl9QT0xJQ1lfQUxXQVlTKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHdlYmtpdF9zZXR0
aW5nc19nZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShzZXR0aW5ncyksID09LCBXRUJL
SVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9BTFdBWVMpOworICAgIHdlYmtpdF9zZXR0
aW5nc19zZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShzZXR0aW5ncywgV0VCS0lUX0hB
UkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfT05fREVNQU5EKTsKKyAgICBnX2Fzc2VydF9jbXB1
aW50KHdlYmtpdF9zZXR0aW5nc19nZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShzZXR0
aW5ncyksID09LCBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9PTl9ERU1BTkQp
OworCiAgICAgZ19vYmplY3RfdW5yZWYoR19PQkpFQ1Qoc2V0dGluZ3MpKTsKIH0KIAo=
</data>
<flag name="review"
          id="321861"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>