<?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>46425</bug_id>
          
          <creation_ts>2010-09-23 15:58:49 -0700</creation_ts>
          <short_desc>Add PluginProcessConnection and PluginProcessConnectionManager</short_desc>
          <delta_ts>2010-09-23 17:09:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284055</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-09-23 15:58:49 -0700</bug_when>
    <thetext>Add PluginProcessConnection and PluginProcessConnectionManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284074</commentid>
    <comment_count>1</comment_count>
      <attachid>68615</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-09-23 16:24:14 -0700</bug_when>
    <thetext>Created attachment 68615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284082</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 16:29:13 -0700</bug_when>
    <thetext>Attachment 68615 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284111</commentid>
    <comment_count>3</comment_count>
      <attachid>68615</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-09-23 17:00:26 -0700</bug_when>
    <thetext>Comment on attachment 68615
Patch

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

&gt; WebKit2/WebProcess/Plugins/PluginProcessConnection.h:67
&gt; +    // The CoreIPC connection.

I don&apos;t think this comment is adding anything.

&gt; WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp:73
&gt; +    }
&gt; +
&gt; +    CoreIPC::Connection::Identifier connectionIdentifier;
&gt; +    CoreIPC::MachPort connectionMachPort;
&gt; +    if (!WebProcess::shared().connection()-&gt;sendSync(WebProcessProxyMessage::GetPluginProcessConnection, 0,
&gt; +                                                     CoreIPC::In(pluginPath),
&gt; +                                                     CoreIPC::Out(connectionMachPort),
&gt; +                                                     CoreIPC::Connection::NoTimeout))
&gt; +        return 0;
&gt; +
&gt; +    connectionIdentifier = connectionMachPort.port();
&gt; +    if (!connectionIdentifier)
&gt; +        return 0;
&gt; +

This looks very mac specific.  Should it be in a mac specific directory?


Otherwise looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284122</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-09-23 17:09:57 -0700</bug_when>
    <thetext>Committed r68219: &lt;http://trac.webkit.org/changeset/68219&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68615</attachid>
            <date>2010-09-23 16:24:14 -0700</date>
            <delta_ts>2010-09-23 17:00:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46425-20100923162412.patch</filename>
            <type>text/plain</type>
            <size>18470</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YTZjY2NiNjI0YmRkZjhlYmU5OWRkYWJjMWY1YjU0YzE4ZTViZmY0NC4uNjgwMWFmY2ZlNzZlOGYw
NTJmYmZhZmM0NjlkNjZhMDQ3MTA4YTJjYyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOSBAQAogMjAxMC0wOS0yMyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiBh
bmQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQyNQorCisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgZmlsZXMuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICBB
ZGQgZW1wdHkgZmlsZSBmb3Igbm93LgorICAgICAgICAKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgQWRkIGhlYWRlci4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyOjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIENoZWNrIGZvciBh
biBleGlzdGluZyBwbHVnLWluIHByb2Nlc3MgY29ubmVjdGlvbi4gSWYgd2UgZG9uJ3QgaGF2ZSBv
bmUsIGFzayB0aGUgCisgICAgICAgIFVJIHByb2Nlc3MgdG8gY3JlYXRlIG9uZS4KKyAgICAgICAg
CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6cmVtb3Zl
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICBSZW1vdmUgdGhlIGNvbm5lY3Rpb24g
ZnJvbSBvdXIgZ2xvYmFsIHZlY3Rvci4KKworMjAxMC0wOS0yMyAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgog
CiAgICAgICAgIEltcGxlbWVudCBoYW5kbGVycyBmb3IgdGhlIEdldFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYzRhMTRiNmRlMDEwOGU4OTVjN2JlMzIwMTQ3MTQ3ODZmYzkxNTY3MS4uMTExZDBlNjE5
ZjU2YmJjYmY0OTQwYjE1YTI3NWY0OGIwMGFkYTRjYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxLDYgKzUxLDEwIEBACiAJCTFBMEVDNzVGMTI0QkM3
QjIwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwRUM3NUQxMjRCQzdCMjAwN0VGNEE1IC8qIFBs
dWdpblByb2Nlc3NQcm94eS5jcHAgKi87IH07CiAJCTFBMEVDN0ZCMTI0QkQzQjYwMDdFRjRBNSAv
KiBQbHVnaW5Qcm9jZXNzTWFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEwRUM3RkExMjRCRDNCNjAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NNYWlu
LmggKi87IH07CiAJCTFBMEVDODAzMTI0QkQ0MUUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFp
bk1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
MEVDODAyMTI0QkQ0MUUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFpbk1hYy5tbSAqLzsgfTsK
KwkJMUEwRUM5MDYxMjRDMEFCODAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTBFQzkwNDEy
NEMwQUI4MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLzsgfTsKKwkJMUEw
RUM5MDcxMjRDMEFCODAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEVDOTA1MTI0QzBB
QjgwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi87IH07CisJCTFBMEVD
OTBGMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEVDOTBEMTI0
QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCAqLzsgfTsK
KwkJMUEwRUM5MTAxMjRDMEFGNTAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTBFQzkwRTEyNEMwQUY1MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
LmNwcCAqLzsgfTsKIAkJMUEwRjI5Q0IxMjBCMzcxNjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rVGFi
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEw
RjI5QzkxMjBCMzcxNjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rVGFibGUuY3BwICovOyB9OwogCQkx
QTBGMjlDQzEyMEIzNzE2MDA1M0QxQjkgLyogVmlzaXRlZExpbmtUYWJsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwRjI5Q0ExMjBCMzcxNjAwNTNE
MUI5IC8qIFZpc2l0ZWRMaW5rVGFibGUuaCAqLzsgfTsKIAkJMUEwRjI5RTMxMjBCNDQ0MjAwNTNE
MUI5IC8qIFZpc2l0ZWRMaW5rUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwRjI5RTExMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRM
aW5rUHJvdmlkZXIuY3BwICovOyB9OwpAQCAtNDUxLDYgKzQ1NSwxMCBAQAogCQkxQTBFQzc1RDEy
NEJDN0IyMDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblByb2Nlc3NQcm94eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBMEVDN0ZBMTI0QkQzQjYwMDdFRjRBNSAvKiBQbHVnaW5Qcm9j
ZXNzTWFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNz
TWFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTBFQzgwMjEyNEJENDFFMDA3
RUY0QTUgLyogUGx1Z2luUHJvY2Vzc01haW5NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBQbHVnaW5Qcm9jZXNzTWFpbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUEwRUM5MDQxMjRDMEFCODAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMEVDOTA1MTI0
QzBBQjgwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMEVDOTBEMTI0QzBBRjUwMDdFRjRBNSAvKiBQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFBMEVDOTBFMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUEwRjI5QzkxMjBCMzcxNjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rVGFibGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlzaXRlZExpbmtUYWJs
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMEYyOUNBMTIwQjM3MTYwMDUz
RDFCOSAvKiBWaXNpdGVkTGlua1RhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFZpc2l0ZWRMaW5rVGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEw
RjI5RTExMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rUHJvdmlkZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlzaXRlZExpbmtQcm92aWRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NTUsNiArOTYzLDEwIEBACiAJCQkJMUE2RkI3
RDAxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgKi8sCiAJCQkJMUE2RkI3RDExMUU2NTFF
MjAwREIxMzcxIC8qIFBsdWdpbi5oICovLAogCQkJCTFBQTU2RjI4MTFFOTJCQzgwMDYxQjg4MiAv
KiBQbHVnaW5Db250cm9sbGVyLmggKi8sCisJCQkJMUEwRUM5MDUxMjRDMEFCODAwN0VGNEE1IC8q
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCAqLywKKwkJCQkxQTBFQzkwNDEyNEMwQUI4MDA3
RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLywKKwkJCQkxQTBFQzkwRTEyNEMw
QUY1MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcCAqLywKKwkJ
CQkxQTBFQzkwRDEyNEMwQUY1MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyLmggKi8sCiAJCQkJMUE2RkI3QUMxMUU2NEI2ODAwREIxMzcxIC8qIFBsdWdpblZpZXcuY3Bw
ICovLAogCQkJCTFBNkZCN0FEMTFFNjRCNjgwMERCMTM3MSAvKiBQbHVnaW5WaWV3LmggKi8sCiAJ
CQkpOwpAQCAtMTc2OSw2ICsxNzgxLDggQEAKIAkJCQkxQTBFQzZDMDEyNEJCRDlCMDA3RUY0QTUg
LyogUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTBFQzc1RTEy
NEJDN0IyMDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTBFQzdGQjEyNEJEM0I2MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc01haW4uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFBMEVDOTA2MTI0QzBBQjgwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUEwRUM5MEYxMjRDMEFGNTAwN0VGNEE1IC8q
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDQz
LDYgKzIwNTcsOCBAQAogCQkJCTFBMEVDNjA0MTI0QTlGMkMwMDdFRjRBNSAvKiBQbHVnaW5Qcm9j
ZXNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTBFQzc1RjEyNEJDN0IyMDA3RUY0
QTUgLyogUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMEVDODAz
MTI0QkQ0MUUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFpbk1hYy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTFBMEVDOTA3MTI0QzBBQjgwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQTBFQzkxMDEyNEMwQUY1MDA3RUY0QTUgLyogUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJjMWQ5NTg4ZmM3NWI0YWMwMWZjMmNhZjJmNDNmN2ZlZGQxM2Y0YTkKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbi5jcHAKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oIgorCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Y2NkYTYwYzZl
YzU4NWJlZjAzMDIwZTQwNTU4YTRkYmEwZWJkMWNhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtMCwwICsx
LDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbl9oCisj
ZGVmaW5lIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uX2gKKworI2lmIEVOQUJMRShQTFVHSU5fUFJP
Q0VTUykKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJQbHVnaW4uaCIKKwor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKKy8vIEEgQ29yZUlQQyBjb25uZWN0aW9uIHRvIGEgcGx1Zy1pbiBwcm9jZXNzLgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUGx1Z2luSW5zdGFuY2VQcm94eTsKK2NsYXNzIFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjsKKyAgICAKK2NsYXNzIFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24+LCBD
b3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFBsdWdpblByb2Nlc3NDb25uZWN0aW9uPiBjcmVhdGUoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyKiBwbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIsIGNvbnN0IFN0cmluZyYg
cGx1Z2luUGF0aCwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRl
bnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24ocGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLCBwbHVnaW5QYXRoLCBj
b25uZWN0aW9uSWRlbnRpZmllcikpOworICAgIH0KKyAgICB+UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b24oKTsKKworICAgIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
cGx1Z2luUGF0aDsgfQorCisgICAgQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciogcGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLCBjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIENvcmVJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpOworCisgICAg
Ly8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciopOworICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShDb3JlSVBD
OjpDb25uZWN0aW9uKik7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlEKTsKKyAgICAKKyAgICBQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIqIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyOworICAgIFN0cmluZyBtX3BsdWdpblBhdGg7CisKKyAgICAvLyBUaGUgQ29yZUlQQyBj
b25uZWN0aW9uLgorICAgIFJlZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShQTFVHSU5f
UFJPQ0VTUykKKworI2VuZGlmIC8vIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uX2gKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyNTI0ZGFkOGM1NTgyMDMzMGYxNjBhMjEyNmZh
YzRlODQyNDA2ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQorCisjaW5jbHVkZSAiUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBcmd1bWVudERlY29kZXIu
aCIKKyNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKKyNpbmNsdWRlICJNYWNoUG9ydC5oIgor
I2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VLaW5kcy5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYg
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyOjpzaGFyZWQoKQoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLCBwbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIsICgpKTsKKyAgICByZXR1cm4gcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyOworfQorCitQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXI6OlBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcigpCit7Cit9CisKK1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlcjo6flBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcigpCit7Cit9CisKK1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXI6OmdldFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkKK3sKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25zLnNpemUoKTsg
KytpKSB7CisgICAgICAgIGlmIChtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uc1tpXS0+cGx1Z2lu
UGF0aCgpID09IHBsdWdpblBhdGgpCisgICAgICAgICAgICByZXR1cm4gbV9wbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbnNbaV0uZ2V0KCk7CisgICAgfQorCisgICAgQ29yZUlQQzo6Q29ubmVjdGlvbjo6
SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcjsKKyAgICBDb3JlSVBDOjpNYWNoUG9ydCBj
b25uZWN0aW9uTWFjaFBvcnQ7CisgICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0
aW9uKCktPnNlbmRTeW5jKFdlYlByb2Nlc3NQcm94eU1lc3NhZ2U6OkdldFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBDb3JlSVBDOjpJbihwbHVnaW5QYXRoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29yZUlQQzo6T3V0KGNvbm5lY3Rpb25N
YWNoUG9ydCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENvcmVJUEM6OkNvbm5lY3Rpb246Ok5vVGltZW91dCkpCisgICAgICAgIHJldHVybiAw
OworCisgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBjb25uZWN0aW9uTWFjaFBvcnQucG9ydCgp
OworICAgIGlmICghY29ubmVjdGlvbklkZW50aWZpZXIpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgUmVmUHRyPFBsdWdpblByb2Nlc3NDb25uZWN0aW9uPiBwbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
biA9IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUodGhpcywgcGx1Z2luUGF0aCwgY29u
bmVjdGlvbklkZW50aWZpZXIpOworICAgIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25zLmFwcGVu
ZChwbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbik7CisKKyAgICByZXR1cm4gcGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb24uZ2V0KCk7Cit9CisKK3ZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
OjpyZW1vdmVQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiog
cGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24pCit7CisgICAgc2l6ZV90IHZlY3RvckluZGV4ID0gbV9w
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbnMuZmluZChwbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbik7Cisg
ICAgQVNTRVJUKHZlY3RvckluZGV4ICE9IG5vdEZvdW5kKTsKKworICAgIG1fcGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25zLnJlbW92ZSh2ZWN0b3JJbmRleCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kN2JhODUzNDg4ZTE4ZDIyNDM4N2Y2NTBlNTA5OTFjMmYyYjU1ZWVh
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyX2gKKyNkZWZpbmUgUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyX2gKKworI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKKwor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCisvLyBNYW5hZ2VzIHBsdWctaW4gcHJvY2VzcyBjb25u
ZWN0aW9ucyBmb3IgdGhlIGdpdmVuIHdlYiBwcm9jZXNzLgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgICAgIAorY2xhc3MgUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9uY29weWFibGUgeworcHVibGljOgorICAgIHN0
YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHNoYXJlZCgpOworCisgICAgUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24qIGdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0
cmluZyYgcGx1Z2luUGF0aCk7CisgICAgdm9pZCByZW1vdmVQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bihQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiopOworCitwcml2YXRlOgorICAgIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlcigpOworICAgIH5QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24+ID4gbV9w
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbnM7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUExV
R0lOX1BST0NFU1MpCisKKyNlbmRpZiAvLyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXJf
aAo=
</data>
<flag name="review"
          id="58169"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>