<?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>122492</bug_id>
          
          <creation_ts>2013-10-07 23:47:02 -0700</creation_ts>
          <short_desc>[Mac] Change NetscapePluginInstanceProxy::m_replies to use unique_ptr instead of deleteAllValues</short_desc>
          <delta_ts>2013-10-08 00:44:20 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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>
          
          <blocked>73757</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>937402</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-07 23:47:02 -0700</bug_when>
    <thetext>Change NetscapePluginInstanceProxy::m_replies to use unique_ptr instead of deleteAllValues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937404</commentid>
    <comment_count>1</comment_count>
      <attachid>213663</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-07 23:53:42 -0700</bug_when>
    <thetext>Created attachment 213663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937405</commentid>
    <comment_count>2</comment_count>
      <attachid>213663</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-10-08 00:00:38 -0700</bug_when>
    <thetext>Comment on attachment 213663
Patch

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

r=me

&gt; Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h:254
&gt; -        m_replies.set(requestID, reply);
&gt; +        m_replies.add(requestID, std::move(reply));

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937433</commentid>
    <comment_count>3</comment_count>
      <attachid>213663</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 00:44:19 -0700</bug_when>
    <thetext>Comment on attachment 213663
Patch

Clearing flags on attachment: 213663

Committed r157089: &lt;http://trac.webkit.org/changeset/157089&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937434</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-08 00:44:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213663</attachid>
            <date>2013-10-07 23:53:42 -0700</date>
            <delta_ts>2013-10-08 00:44:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122492-20131007235341.patch</filename>
            <type>text/plain</type>
            <size>24940</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDAwYjU1ZTFl
YTM2OWM2MDQyYjViYzQyNDM4NTM5NTk2MTgxZDZlMC4uMzI4MzVjZDljODAxYzU2Yzc2OGZhYzI0
ODYxYjdiYzg3OTFkZDY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEz
LTEwLTA3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2Ug
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjptX3JlcGxpZXMgdG8gdXNlIHVuaXF1ZV9wdHIg
aW5zdGVhZCBvZiBkZWxldGVBbGxWYWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMjQ5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0TWFu
YWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlcjo6aW5z
dGFudGlhdGVQbHVnaW4pOiBVc2UgYXV0byBzbyB0aGlzIHdvcmtzIHdpdGgKKyAgICAgICAgdW5p
cXVlX3B0ciBpbnN0ZWFkIG9mIGF1dG9fcHRyLgorICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL05l
dHNjYXBlUGx1Z2luSG9zdFByb3h5Lm1tOgorICAgICAgICAoV0tQQ0dldFNjcmlwdGFibGVOUE9i
amVjdFJlcGx5KTogVXNlIG1ha2VfdW5pcXVlIGluc3RlYWQgb2YgdXNpbmcgbmV3IGRpcmVjdGx5
LgorICAgICAgICAoV0tQQ0Jvb2xlYW5SZXBseSk6IERpdHRvLgorICAgICAgICAoV0tQQ0Jvb2xl
YW5BbmREYXRhUmVwbHkpOiBEaXR0by4KKyAgICAgICAgKFdLUENJbnN0YW50aWF0ZVBsdWdpblJl
cGx5KTogRGl0dG8uCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Lmg6IENoYW5nZWQgbV9yZXBsaWVzIHRvIG1hcCB0byB1bmlxdWVfcHRyCisgICAg
ICAgIGluc3RlYWQgb2YgdG8gYSByYXcgcG9pbnRlci4KKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5OjpzZXRDdXJyZW50UmVwbHkpOiBDaGFuZ2VkIHRvIHRha2Ug
YSB1bmlxdWVfcHRyCisgICAgICAgIGluc3RlYWQgb2YgYSByYXcgcG9pbnRlciBzaW5jZSB0aGlz
IHRha2VzIG93bmVyc2hpcCBvZiB0aGUgcG9pbnRlci4KKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5Ojp3YWl0Rm9yUmVwbHkpOiBDaGFuZ2VkIHRvIHJldHVybiBh
IHVuaXF1ZV9wdHIKKyAgICAgICAgaW5zdGVhZCBvZiBhIGF1dG9fcHRyIGJlY2F1c2UgdGhhdCdz
IGJldHRlci4gVXNlIHVuaXF1ZV9wdHIgaW5zaWRlIHRoZSBmdW5jdGlvbgorICAgICAgICB0b28g
dG8gYXZvaWQgdGhlIG5lZWQgZm9yIGFuIGV4cGxpY2l0IGRlbGV0ZS4KKyAgICAgICAgKiBQbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJL
aXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6fk5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eSk6IFJlbW92ZWQgdGhlIGNhbGwgdG8KKyAgICAgICAgZGVsZXRlQWxsVmFsdWVzLgorICAg
ICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmNhbmNlbFN0cmVhbUxv
YWQpOiBSZW1vdmVkIHVubmVlZGVkIGluaXRpYWxpemF0aW9uCisgICAgICAgIG9mIGEgbG9jYWwg
dmFyaWFibGUgdGhhdCB3YXMgYWxyZWFkeSBzZXQgaW4gYWxsIGNvZGUgcGF0aHMuCisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6d2hlZWxFdmVudCk6IFVzZSBh
dXRvIHNvIHRoaXMgd29ya3Mgd2l0aCB1bmlxdWVfcHRyCisgICAgICAgIGluc3RlYWQgb2YgYXV0
b19wdHIuCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cHJp
bnQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
OjpzbmFwc2hvdCk6IERpdHRvLiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5Ojpwcm9jZXNzUmVxdWVzdHNBbmRXYWl0Rm9yUmVwbHkpOiBDaGFuZ2Vk
IHRvIHJldHVybgorICAgICAgICBhIHVuaXF1ZV9wdHIuIEFsc28gcmVtb3ZlZCBhbiB1bm5lZWRl
ZCBhc3NlcnRpb24uCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eTo6Y3JlYXRlQmluZGluZ3NJbnN0YW5jZSk6IFVzZSBhdXRvIHNvIHRoaXMgd29ya3MKKyAgICAg
ICAgd2l0aCB1bmlxdWVfcHRyIGluc3RlYWQgb2YgYXV0b19wdHIuCisKKyAgICAgICAgKiBQbHVn
aW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLmg6IENoYW5nZWQgcmV0dXJuIHR5cGUgb2Ygd2FpdEZv
clJlcGx5IHRvIHVuaXF1ZV9wdHIuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9Qcm94eUlu
c3RhbmNlLm1tOgorICAgICAgICAoV2ViS2l0OjpQcm94eUluc3RhbmNlOjppbnZva2UpOiBVc2Ug
YXV0byBzbyB0aGlzIHdvcmtzIHdpdGggdW5pcXVlX3B0ciBpbnN0ZWFkIG9mIGF1dG9fcHRyLgor
ICAgICAgICAoV2ViS2l0OjpQcm94eUluc3RhbmNlOjpzdXBwb3J0c0ludm9rZURlZmF1bHRNZXRo
b2QpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6UHJveHlJbnN0YW5jZTo6c3VwcG9ydHNDb25z
dHJ1Y3QpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6UHJveHlJbnN0YW5jZTo6Z2V0UHJvcGVy
dHlOYW1lcyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQcm94eUluc3RhbmNlOjptZXRob2RO
YW1lZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQcm94eUluc3RhbmNlOjpmaWVsZE5hbWVk
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlByb3h5SW5zdGFuY2U6OmZpZWxkVmFsdWUpOiBE
aXR0by4KKyAgICAgICAgKFdlYktpdDo6UHJveHlJbnN0YW5jZTo6c2V0RmllbGRWYWx1ZSk6IERp
dHRvLgorCiAyMDEzLTEwLTA3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQ1RURTogVXNlIHJlZmVyZW5jZXMgaW4gYW5kIGFyb3VuZCBEcmFnQ29udHJvbGxlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5I
b3N0TWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSG9zdE1hbmFnZXIubW0KaW5kZXggMTFhYjhlZTgxODlkYTljZTM1YWRiN2VlZTZmODI3
YjcwYjM1MDEyYi4uYzQ4ZTc2MmQ5MTEwYTA3ZGU4OGJmNDFmYTM2MTQ2Y2JiY2FkNWVmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5I
b3N0TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkhvc3RNYW5hZ2VyLm1tCkBAIC0yNjgsMTAgKzI2OCwxMCBAQCBQYXNzUmVmUHRy
PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eT4gTmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlcjo6
aW5zdGFudGlhdGVQbAogICAgICAgICBfV0tQSEluc3RhbnRpYXRlUGx1Z2luKGhvc3RQcm94eS0+
cG9ydCgpLCByZXF1ZXN0SUQsICh1aW50OF90KilbZGF0YSBieXRlc10sIFtkYXRhIGxlbmd0aF0s
IGluc3RhbmNlLT5wbHVnaW5JRCgpKTsKICAgICB9CiAKLSAgICBzdGQ6OmF1dG9fcHRyPE5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6SW5zdGFudGlhdGVQbHVnaW5SZXBseT4gcmVwbHkgPSBp
bnN0YW5jZS0+d2FpdEZvclJlcGx5PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6SW5zdGFu
dGlhdGVQbHVnaW5SZXBseT4ocmVxdWVzdElEKTsKLSAgICBpZiAoIXJlcGx5LmdldCgpIHx8IHJl
cGx5LT5tX3Jlc3VsdENvZGUgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgYXV0byByZXBseSA9IGlu
c3RhbmNlLT53YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpJbnN0YW50
aWF0ZVBsdWdpblJlcGx5PihyZXF1ZXN0SUQpOworICAgIGlmICghcmVwbHkgfHwgcmVwbHktPm1f
cmVzdWx0Q29kZSAhPSBLRVJOX1NVQ0NFU1MpIHsKICAgICAgICAgaW5zdGFuY2UtPmNsZWFudXAo
KTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAg
ICAKICAgICBpbnN0YW5jZS0+c2V0UmVuZGVyQ29udGV4dElEKHJlcGx5LT5tX3JlbmRlckNvbnRl
eHRJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkhvc3RQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSG9zdFByb3h5Lm1tCmluZGV4IDNlYWU5N2EwOTE1NGJkZTc5ZmZlNzRi
YzJkNzRmZGQ2MTUxZGQyZmUuLjM1YjRiMGVhODhlYWU1ZjgzNTcyZDM4OTJmNzQ0NGNhMzczMmU2
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSG9zdFByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSG9zdFByb3h5Lm1tCkBAIC00ODQsNyArNDg0LDcgQEAga2Vybl9yZXR1
cm5fdCBXS1BDR2V0U2NyaXB0YWJsZU5QT2JqZWN0UmVwbHkobWFjaF9wb3J0X3QgY2xpZW50UG9y
dCwgdWludDMyX3QgcGwKICAgICBpZiAoIWluc3RhbmNlUHJveHkpCiAgICAgICAgIHJldHVybiBL
RVJOX0ZBSUxVUkU7CiAKLSAgICBpbnN0YW5jZVByb3h5LT5zZXRDdXJyZW50UmVwbHkocmVxdWVz
dElELCBuZXcgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpHZXRTY3JpcHRhYmxlTlBPYmpl
Y3RSZXBseShvYmplY3RJRCkpOworICAgIGluc3RhbmNlUHJveHktPnNldEN1cnJlbnRSZXBseShy
ZXF1ZXN0SUQsIHN0ZDo6bWFrZV91bmlxdWU8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpH
ZXRTY3JpcHRhYmxlTlBPYmplY3RSZXBseT4ob2JqZWN0SUQpKTsKICAgICByZXR1cm4gS0VSTl9T
VUNDRVNTOwogfQogCkBAIC00OTgsNyArNDk4LDcgQEAga2Vybl9yZXR1cm5fdCBXS1BDQm9vbGVh
blJlcGx5KG1hY2hfcG9ydF90IGNsaWVudFBvcnQsIHVpbnQzMl90IHBsdWdpbklELCB1aW50MzIK
ICAgICBpZiAoIWluc3RhbmNlUHJveHkpCiAgICAgICAgIHJldHVybiBLRVJOX0ZBSUxVUkU7CiAg
ICAgCi0gICAgaW5zdGFuY2VQcm94eS0+c2V0Q3VycmVudFJlcGx5KHJlcXVlc3RJRCwgbmV3IE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJlcGx5KHJlc3VsdCkpOworICAgIGlu
c3RhbmNlUHJveHktPnNldEN1cnJlbnRSZXBseShyZXF1ZXN0SUQsIHN0ZDo6bWFrZV91bmlxdWU8
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuUmVwbHk+KHJlc3VsdCkpOwogICAg
IHJldHVybiBLRVJOX1NVQ0NFU1M7CiB9CiAKQEAgLTUxNSw3ICs1MTUsNyBAQCBrZXJuX3JldHVy
bl90IFdLUENCb29sZWFuQW5kRGF0YVJlcGx5KG1hY2hfcG9ydF90IGNsaWVudFBvcnQsIHVpbnQz
Ml90IHBsdWdpbklELAogICAgICAgICByZXR1cm4gS0VSTl9GQUlMVVJFOwogCiAgICAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gcmVzdWx0ID0gYWRvcHRDRihDRkRhdGFDcmVhdGUoMCwgcmVpbnRlcnBy
ZXRfY2FzdDxVSW50OCo+KHJlc3VsdERhdGEpLCByZXN1bHRMZW5ndGgpKTsKLSAgICBpbnN0YW5j
ZVByb3h5LT5zZXRDdXJyZW50UmVwbHkocmVxdWVzdElELCBuZXcgTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0YVJlcGx5KHJldHVyblZhbHVlLCByZXN1bHQpKTsKKyAg
ICBpbnN0YW5jZVByb3h5LT5zZXRDdXJyZW50UmVwbHkocmVxdWVzdElELCBzdGQ6Om1ha2VfdW5p
cXVlPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhbkFuZERhdGFSZXBseT4ocmV0
dXJuVmFsdWUsIHJlc3VsdCkpOwogICAgIAogICAgIHJldHVybiBLRVJOX1NVQ0NFU1M7CiB9CkBA
IC01MzAsNyArNTMwLDcgQEAga2Vybl9yZXR1cm5fdCBXS1BDSW5zdGFudGlhdGVQbHVnaW5SZXBs
eShtYWNoX3BvcnRfdCBjbGllbnRQb3J0LCB1aW50MzJfdCBwbHVnaW4KICAgICBpZiAoIWluc3Rh
bmNlUHJveHkpCiAgICAgICAgIHJldHVybiBLRVJOX0ZBSUxVUkU7CiAKLSAgICBpbnN0YW5jZVBy
b3h5LT5zZXRDdXJyZW50UmVwbHkocmVxdWVzdElELCBuZXcgTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5OjpJbnN0YW50aWF0ZVBsdWdpblJlcGx5KHJlc3VsdCwgcmVuZGVyQ29udGV4dElELCBz
dGF0aWNfY2FzdDxSZW5kZXJlclR5cGU+KHJlbmRlcmVyVHlwZSkpKTsKKyAgICBpbnN0YW5jZVBy
b3h5LT5zZXRDdXJyZW50UmVwbHkocmVxdWVzdElELCBzdGQ6Om1ha2VfdW5pcXVlPE5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6SW5zdGFudGlhdGVQbHVnaW5SZXBseT4ocmVzdWx0LCByZW5k
ZXJDb250ZXh0SUQsIHN0YXRpY19jYXN0PFJlbmRlcmVyVHlwZT4ocmVuZGVyZXJUeXBlKSkpOwog
ICAgIHJldHVybiBLRVJOX1NVQ0NFU1M7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgK
aW5kZXggMWVmOTJkYmM1YmIwNjIwZDY2ODA4MmQxOWI5M2M3ZGVhNzIxN2M1NS4uZDJjNzlkM2Nj
YTE2M2NjZDMxYjQzNjAwMTJjYzMzOWJlNDEyMDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKQEAgLTI0OCwyMSArMjQ4LDIxIEBAIHB1YmxpYzoKICAgICAgICAgUmV0YWluUHRyPENG
RGF0YVJlZj4gbV9yZXN1bHQ7CiAgICAgfTsKICAgICAKLSAgICB2b2lkIHNldEN1cnJlbnRSZXBs
eSh1aW50MzJfdCByZXF1ZXN0SUQsIFJlcGx5KiByZXBseSkKKyAgICB2b2lkIHNldEN1cnJlbnRS
ZXBseSh1aW50MzJfdCByZXF1ZXN0SUQsIHN0ZDo6dW5pcXVlX3B0cjxSZXBseT4gcmVwbHkpCiAg
ICAgewogICAgICAgICBBU1NFUlQoIW1fcmVwbGllcy5jb250YWlucyhyZXF1ZXN0SUQpKTsKLSAg
ICAgICAgbV9yZXBsaWVzLnNldChyZXF1ZXN0SUQsIHJlcGx5KTsKKyAgICAgICAgbV9yZXBsaWVz
LmFkZChyZXF1ZXN0SUQsIHN0ZDo6bW92ZShyZXBseSkpOwogICAgIH0KICAgICAKICAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KLSAgICBzdGQ6OmF1dG9fcHRyPFQ+IHdhaXRGb3JSZXBseSh1aW50
MzJfdCByZXF1ZXN0SUQpCisgICAgc3RkOjp1bmlxdWVfcHRyPFQ+IHdhaXRGb3JSZXBseSh1aW50
MzJfdCByZXF1ZXN0SUQpCiAgICAgewogICAgICAgICBSZWY8TmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5PiBwcm90ZWN0KCp0aGlzKTsgLy8gUGx1Zy1pbiBob3N0IG1heSBjcmFzaCB3aGlsZSB3
ZSBhcmUgd2FpdGluZyBmb3IgcmVwbHksIHJlbGVhc2luZyBhbGwgaW5zdGFuY2VzIHRvIHRoZSBp
bnN0YW5jZSBwcm94eS4KIAogICAgICAgICB3aWxsQ2FsbFBsdWdpbkZ1bmN0aW9uKCk7CiAgICAg
ICAgIG1fd2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKIAotICAgICAgICBSZXBseSogcmVwbHkgPSBw
cm9jZXNzUmVxdWVzdHNBbmRXYWl0Rm9yUmVwbHkocmVxdWVzdElEKTsKKyAgICAgICAgYXV0byBy
ZXBseSA9IHByb2Nlc3NSZXF1ZXN0c0FuZFdhaXRGb3JSZXBseShyZXF1ZXN0SUQpOwogICAgICAg
ICBpZiAocmVwbHkpCiAgICAgICAgICAgICBBU1NFUlQocmVwbHktPm1fdHlwZSA9PSBUOjpSZXBs
eVR5cGUpOwogICAgICAgICAKQEAgLTI3MiwxMSArMjcyLDEwIEBAIHB1YmxpYzoKICAgICAgICAg
ZGlkQ2FsbFBsdWdpbkZ1bmN0aW9uKHN0b3BwZWQpOwogICAgICAgICBpZiAoc3RvcHBlZCkgewog
ICAgICAgICAgICAgLy8gVGhlIGluc3RhbmNlIHByb3h5IG1heSBoYXZlIGJlZW4gZGVsZXRlZCBm
cm9tIGRpZENhbGxQbHVnaW5GdW5jdGlvbigpLCBzbyBhIG51bGwgcmVwbHkgbmVlZHMgdG8gYmUg
cmV0dXJuZWQuCi0gICAgICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8VCo+KHJlcGx5KTsKLSAg
ICAgICAgICAgIHJldHVybiBzdGQ6OmF1dG9fcHRyPFQ+KCk7CisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBzdGQ6OmF1dG9fcHRyPFQ+KHN0
YXRpY19jYXN0PFQqPihyZXBseSkpOworICAgICAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFQ+
KHN0YXRpY19jYXN0PFQqPihyZXBseS5yZWxlYXNlKCkpKTsKICAgICB9CiAgICAgCiAgICAgdm9p
ZCB3ZWJGcmFtZURpZEZpbmlzaExvYWRXaXRoUmVhc29uKFdlYkZyYW1lKiwgTlBSZWFzb24pOwpA
QCAtMjkxLDcgKzI5MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBldmFsdWF0ZUphdmFTY3JpcHQo
UGx1Z2luUmVxdWVzdCopOwogICAgIAogICAgIHZvaWQgc3RvcEFsbFN0cmVhbXMoKTsKLSAgICBS
ZXBseSogcHJvY2Vzc1JlcXVlc3RzQW5kV2FpdEZvclJlcGx5KHVpbnQzMl90IHJlcXVlc3RJRCk7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFJlcGx5PiBwcm9jZXNzUmVxdWVzdHNBbmRXYWl0Rm9yUmVw
bHkodWludDMyX3QgcmVxdWVzdElEKTsKICAgICAKICAgICBOZXRzY2FwZVBsdWdpbkhvc3RQcm94
eSogbV9wbHVnaW5Ib3N0UHJveHk7CiAgICAgV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3ICpt
X3BsdWdpblZpZXc7CkBAIC0zMDksNyArMzA4LDcgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJlclR5
cGUgbV9yZW5kZXJlclR5cGU7CiAgICAgCiAgICAgYm9vbCBtX3dhaXRpbmdGb3JSZXBseTsKLSAg
ICBIYXNoTWFwPHVpbnQzMl90LCBSZXBseSo+IG1fcmVwbGllczsKKyAgICBIYXNoTWFwPHVpbnQz
Ml90LCBzdGQ6OnVuaXF1ZV9wdHI8UmVwbHk+PiBtX3JlcGxpZXM7CiAgICAgCiAgICAgLy8gTlBS
dW50aW1lCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiMTY1NTg0NjdjYTcy
YThhZGZjMTE2M2Q0ZDI5MGQyZWU4OGY2MDY1Li5iNDljMjgwYjY5NTE3NmI2MDAxZDU5MzA2MTNj
ZGQ1NDI3ZGU4N2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC0xMjIsNyAr
MTIyLDcgQEAgaW5saW5lIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpMb2NhbE9i
amVjdE1hcDo6Y29udGFpbnModWludDMyX3Qgb2JqZWMKIGlubGluZSBKU0M6OkpTT2JqZWN0KiBO
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OkxvY2FsT2JqZWN0TWFwOjpnZXQodWludDMyX3Qg
b2JqZWN0SUQpIGNvbnN0CiB7CiAgICAgaWYgKG9iamVjdElEID09IEhhc2hUcmFpdHM8dWludDMy
X3Q+OjplbXB0eVZhbHVlKCkgfHwgSGFzaFRyYWl0czx1aW50MzJfdD46OmlzRGVsZXRlZFZhbHVl
KG9iamVjdElEKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgcmV0dXJuIG1faWRUb0pTT2JqZWN0TWFwLmdldChvYmplY3RJRCkuZ2V0KCk7CiB9CkBA
IC0yNTgsNyArMjU4LDYgQEAgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojp+TmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5KCkKICAgICBBU1NFUlQoIW1fcGx1Z2luSG9zdFByb3h5KTsKICAg
ICAKICAgICBtX3BsdWdpbklEID0gMDsKLSAgICBkZWxldGVBbGxWYWx1ZXMobV9yZXBsaWVzKTsK
IAogI2lmbmRlZiBOREVCVUcKICAgICBuZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHlDb3VudGVy
LmRlY3JlbWVudCgpOwpAQCAtMzIxLDcgKzMyMCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5OjpjbGVhbnVwKCkKICAgICAgICAgKCppdCktPmludmFsaWRhdGUoKTsKICAgICAK
ICAgICBtX3BsdWdpblZpZXcgPSBuaWw7Ci0gICAgbV9tYW51YWxTdHJlYW0gPSAwOworICAgIG1f
bWFudWFsU3RyZWFtID0gbnVsbHB0cjsKIH0KIAogdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHk6OmludmFsaWRhdGUoKQpAQCAtMzMxLDcgKzMzMCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjppbnZhbGlkYXRlKCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IG1fcGx1Z2luSG9zdFByb3h5LT5yZW1vdmVQbHVnaW5JbnN0YW5jZSh0aGlzKTsKLSAgICBtX3Bs
dWdpbkhvc3RQcm94eSA9IDA7CisgICAgbV9wbHVnaW5Ib3N0UHJveHkgPSBudWxscHRyOwogfQog
CiB2b2lkIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6ZGVzdHJveSgpCkBAIC0zNjksNyAr
MzY4LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnNldE1hbnVhbFN0cmVh
bShQYXNzUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2kKIAogYm9vbCBOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OmNhbmNlbFN0cmVhbUxvYWQodWludDMyX3Qgc3RyZWFtSUQsIE5QUmVhc29u
IHJlYXNvbikgCiB7Ci0gICAgSG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0qIHN0cmVhbSA9IDA7
CisgICAgSG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0qIHN0cmVhbTsKICAgICAKICAgICBpZiAo
bV9tYW51YWxTdHJlYW0gJiYgc3RyZWFtSUQgPT0gMSkKICAgICAgICAgc3RyZWFtID0gbV9tYW51
YWxTdHJlYW0uZ2V0KCk7CkBAIC0zODYsNyArMzg1LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OmNhbmNlbFN0cmVhbUxvYWQodWludDMyX3Qgc3RyZWFtSUQsIE5QUmVhc29u
IHIKIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpkaXNjb25uZWN0U3RyZWFtKEhv
c3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtKiBzdHJlYW0pCiB7CiAgICAgaWYgKHN0cmVhbSA9PSBt
X21hbnVhbFN0cmVhbSkgewotICAgICAgICBtX21hbnVhbFN0cmVhbSA9IDA7CisgICAgICAgIG1f
bWFudWFsU3RyZWFtID0gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzk2
LDcgKzM5NSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpkaXNjb25uZWN0
U3RyZWFtKEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtKiBzCiAgICAgCiB2b2lkIE5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6cGx1Z2luSG9zdERpZWQoKQogewotICAgIG1fcGx1Z2luSG9z
dFByb3h5ID0gMDsKKyAgICBtX3BsdWdpbkhvc3RQcm94eSA9IG51bGxwdHI7CiAKICAgICBbbV9w
bHVnaW5WaWV3IHBsdWdpbkhvc3REaWVkXTsKIApAQCAtNDk5LDExICs0OTgsOCBAQCBib29sIE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6d2hlZWxFdmVudChOU1ZpZXcgKnBsdWdpblZpZXcs
IE5TRXZlbnQgKmV2ZW50KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdWdp
blBvaW50LngsIHBsdWdpblBvaW50LnksIFtldmVudCBidXR0b25OdW1iZXJdLCAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnQgZGVsdGFYXSwgW2V2ZW50IGRlbHRhWV0s
IFtldmVudCBkZWx0YVpdKTsKICAgICAKLSAgICBzdGQ6OmF1dG9fcHRyPE5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eTo6Qm9vbGVhblJlcGx5PiByZXBseSA9IHdhaXRGb3JSZXBseTxOZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHk6OkJvb2xlYW5SZXBseT4ocmVxdWVzdElEKTsKLSAgICBpZiAo
IXJlcGx5LmdldCgpIHx8ICFyZXBseS0+bV9yZXN1bHQpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBhdXRvIHJlcGx5ID0gd2FpdEZvclJlcGx5PE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJlcGx5PihyZXF1ZXN0SUQpOworICAg
IHJldHVybiByZXBseSAmJiByZXBseS0+bV9yZXN1bHQ7CiB9CiAKIHZvaWQgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpwcmludChDR0NvbnRleHRSZWYgY29udGV4dCwgdW5zaWduZWQgd2lk
dGgsIHVuc2lnbmVkIGhlaWdodCkKQEAgLTUxMSw4ICs1MDcsOCBAQCB2b2lkIE5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6cHJpbnQoQ0dDb250ZXh0UmVmIGNvbnRleHQsIHVuc2lnbmVkIHdp
ZHRoLCB1bgogICAgIHVpbnQzMl90IHJlcXVlc3RJRCA9IG5leHRSZXF1ZXN0SUQoKTsKICAgICBf
V0tQSFBsdWdpbkluc3RhbmNlUHJpbnQobV9wbHVnaW5Ib3N0UHJveHktPnBvcnQoKSwgbV9wbHVn
aW5JRCwgcmVxdWVzdElELCB3aWR0aCwgaGVpZ2h0KTsKICAgICAKLSAgICBzdGQ6OmF1dG9fcHRy
PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhbkFuZERhdGFSZXBseT4gcmVwbHkg
PSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0
YVJlcGx5PihyZXF1ZXN0SUQpOwotICAgIGlmICghcmVwbHkuZ2V0KCkgfHwgIXJlcGx5LT5tX3Jl
dHVyblZhbHVlKQorICAgIGF1dG8gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0YVJlcGx5PihyZXF1ZXN0SUQpOworICAgIGlmICgh
cmVwbHkgfHwgIXJlcGx5LT5tX3JldHVyblZhbHVlKQogICAgICAgICByZXR1cm47CiAKICAgICBS
ZXRhaW5QdHI8Q0dEYXRhUHJvdmlkZXI+IGRhdGFQcm92aWRlciA9IGFkb3B0Q0YoQ0dEYXRhUHJv
dmlkZXJDcmVhdGVXaXRoQ0ZEYXRhKHJlcGx5LT5tX3Jlc3VsdC5nZXQoKSkpOwpAQCAtNTM0LDgg
KzUzMCw4IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpzbmFwc2hvdChDR0Nv
bnRleHRSZWYgY29udGV4dCwgdW5zaWduZWQgd2lkdGgsCiAgICAgdWludDMyX3QgcmVxdWVzdElE
ID0gbmV4dFJlcXVlc3RJRCgpOwogICAgIF9XS1BIUGx1Z2luSW5zdGFuY2VTbmFwc2hvdChtX3Bs
dWdpbkhvc3RQcm94eS0+cG9ydCgpLCBtX3BsdWdpbklELCByZXF1ZXN0SUQsIHdpZHRoLCBoZWln
aHQpOwogICAgIAotICAgIHN0ZDo6YXV0b19wdHI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
OjpCb29sZWFuQW5kRGF0YVJlcGx5PiByZXBseSA9IHdhaXRGb3JSZXBseTxOZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHk6OkJvb2xlYW5BbmREYXRhUmVwbHk+KHJlcXVlc3RJRCk7Ci0gICAgaWYg
KCFyZXBseS5nZXQoKSB8fCAhcmVwbHktPm1fcmV0dXJuVmFsdWUpCisgICAgYXV0byByZXBseSA9
IHdhaXRGb3JSZXBseTxOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OkJvb2xlYW5BbmREYXRh
UmVwbHk+KHJlcXVlc3RJRCk7CisgICAgaWYgKCFyZXBseSB8fCAhcmVwbHktPm1fcmV0dXJuVmFs
dWUpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlcj4gZGF0
YVByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhDRkRhdGEocmVwbHkt
Pm1fcmVzdWx0LmdldCgpKSk7CkBAIC04MTYsMjUgKzgxMiwyNSBAQCBOUEVycm9yIE5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBj
b25zdCBjaAogICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKIH0KIAotTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpSZXBseSogTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojpwcm9jZXNz
UmVxdWVzdHNBbmRXYWl0Rm9yUmVwbHkodWludDMyX3QgcmVxdWVzdElEKQorc3RkOjp1bmlxdWVf
cHRyPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6UmVwbHk+IE5ldHNjYXBlUGx1Z2luSW5z
dGFuY2VQcm94eTo6cHJvY2Vzc1JlcXVlc3RzQW5kV2FpdEZvclJlcGx5KHVpbnQzMl90IHJlcXVl
c3RJRCkKIHsKLSAgICBSZXBseSogcmVwbHkgPSAwOwotCiAgICAgQVNTRVJUKG1fcGx1Z2luSG9z
dFByb3h5KTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZXBseT4gcmVwbHk7CisKICAgICB3aGls
ZSAoIShyZXBseSA9IG1fcmVwbGllcy50YWtlKHJlcXVlc3RJRCkpKSB7CiAgICAgICAgIGlmICgh
bV9wbHVnaW5Ib3N0UHJveHktPnByb2Nlc3NSZXF1ZXN0cygpKQotICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICAvLyBUaGUgaG9zdCBw
cm94eSBjYW4gYmUgZGVzdHJveWVkIHdoaWxlIGV4ZWN1dGluZyBhIG5lc3RlZCBwcm9jZXNzUmVx
dWVzdHMoKSBjYWxsLCBpbiB3aGljaCBjYXNlIGl0J3Mgbm9ybWFsCiAgICAgICAgIC8vIHRvIGdl
dCBhIHN1Y2Nlc3MgcmVzdWx0LCBidXQgYmUgdW5hYmxlIHRvIGtlZXAgbG9vcGluZy4KICAgICAg
ICAgaWYgKCFtX3BsdWdpbkhvc3RQcm94eSkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIAotICAgIEFTU0VSVChyZXBseSk7CisK
ICAgICByZXR1cm4gcmVwbHk7CiB9Ci0gICAgCisKIC8vIE5QUnVudGltZSBzdXBwb3J0CiBib29s
IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Z2V0V2luZG93TlBPYmplY3QodWludDMyX3Qm
IG9iamVjdElEKQogewpAQCAtODcxLDcgKzg2Nyw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Ojpmb3JnZXRCcm93c2VyT2JqZWN0SUQodWludDMyX3Qgb2JqZWN0SUQpCiAgCiBi
b29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6ZXZhbHVhdGUodWludDMyX3Qgb2JqZWN0
SUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBkYXRhX3QmIHJlc3VsdERhdGEsIG1hY2hfbXNnX3R5
cGVfbnVtYmVyX3QmIHJlc3VsdExlbmd0aCwgYm9vbCBhbGxvd1BvcHVwcykKIHsKLSAgICByZXN1
bHREYXRhID0gMDsKKyAgICByZXN1bHREYXRhID0gbnVsbHB0cjsKICAgICByZXN1bHRMZW5ndGgg
PSAwOwogCiAgICAgaWYgKG1faW5EZXN0cm95KQpAQCAtOTAxLDcgKzg5Nyw3IEBAIGJvb2wgTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpldmFsdWF0ZSh1aW50MzJfdCBvYmplY3RJRCwgY29u
c3QgU3RyaW5nJiBzY3JpCiAKIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjppbnZv
a2UodWludDMyX3Qgb2JqZWN0SUQsIGNvbnN0IElkZW50aWZpZXImIG1ldGhvZE5hbWUsIGRhdGFf
dCBhcmd1bWVudHNEYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90IGFyZ3VtZW50c0xlbmd0aCwg
ZGF0YV90JiByZXN1bHREYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90JiByZXN1bHRMZW5ndGgp
CiB7Ci0gICAgcmVzdWx0RGF0YSA9IDA7CisgICAgcmVzdWx0RGF0YSA9IG51bGxwdHI7CiAgICAg
cmVzdWx0TGVuZ3RoID0gMDsKICAgICAKICAgICBpZiAobV9pbkRlc3Ryb3kpCkBAIC0xNDM3LDE0
ICsxNDMzLDE0IEBAIFBhc3NSZWZQdHI8SW5zdGFuY2U+IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eTo6Y3JlYXRlQmluZGluZ3NJbnN0YW5jZShQYXNzUmVmCiAgICAgdWludDMyX3QgcmVxdWVz
dElEID0gbmV4dFJlcXVlc3RJRCgpOwogICAgIAogICAgIGlmIChfV0tQSEdldFNjcmlwdGFibGVO
UE9iamVjdChtX3BsdWdpbkhvc3RQcm94eS0+cG9ydCgpLCBtX3BsdWdpbklELCByZXF1ZXN0SUQp
ICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxs
cHRyOwogCi0gICAgc3RkOjphdXRvX3B0cjxHZXRTY3JpcHRhYmxlTlBPYmplY3RSZXBseT4gcmVw
bHkgPSB3YWl0Rm9yUmVwbHk8R2V0U2NyaXB0YWJsZU5QT2JqZWN0UmVwbHk+KHJlcXVlc3RJRCk7
Ci0gICAgaWYgKCFyZXBseS5nZXQoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgYXV0byByZXBs
eSA9IHdhaXRGb3JSZXBseTxHZXRTY3JpcHRhYmxlTlBPYmplY3RSZXBseT4ocmVxdWVzdElEKTsK
KyAgICBpZiAoIXJlcGx5KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghcmVw
bHktPm1fb2JqZWN0SUQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIC8vIFNpbmNlIHRoZSByZXBseSB3YXMgbm9uLW51bGwsICJ0aGlzIiBpcyBzdGls
bCBhIHZhbGlkIHBvaW50ZXIuCiAgICAgcmV0dXJuIFByb3h5SW5zdGFuY2U6OmNyZWF0ZShyb290
T2JqZWN0LCB0aGlzLCByZXBseS0+bV9vYmplY3RJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLmgKaW5kZXggNjU1ZTgwOWFkNGZmNTFhZTVk
MzJjOWY3ZDY3ZGQyNGMzYTg5NDNmOC4uZjNlNTMyZThkMWZlOGFlNGM4NDdmZWZiM2RlMzlkZjkx
YzYxZGM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJv
eHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5
SW5zdGFuY2UuaApAQCAtODcsMTIgKzg3LDEzIEBAIHByaXZhdGU6CiAgICAgSlNDOjpKU1ZhbHVl
IGludm9rZShKU0M6OkV4ZWNTdGF0ZSosIEludm9rZVR5cGUsIHVpbnQ2NF90IGlkZW50aWZpZXIs
IGNvbnN0IEpTQzo6QXJnTGlzdCYpOwogICAgIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgot
ICAgIHN0ZDo6YXV0b19wdHI8VD4gd2FpdEZvclJlcGx5KHVpbnQzMl90IHJlcXVlc3RJRCkgY29u
c3QgewotICAgICAgICBzdGQ6OmF1dG9fcHRyPFQ+IHJlcGx5ID0gbV9pbnN0YW5jZVByb3h5LT53
YWl0Rm9yUmVwbHk8VD4ocmVxdWVzdElEKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VD4gd2FpdEZv
clJlcGx5KHVpbnQzMl90IHJlcXVlc3RJRCkgY29uc3QKKyAgICB7CisgICAgICAgIGF1dG8gcmVw
bHkgPSBtX2luc3RhbmNlUHJveHktPndhaXRGb3JSZXBseTxUPihyZXF1ZXN0SUQpOwogICAgICAg
ICAKICAgICAgICAgLy8gSWYgdGhlIGluc3RhbmNlIHByb3h5IHdhcyBpbnZhbGlkYXRlZCwganVz
dCByZXR1cm4gYSBudWxsIHJlcGx5LgogICAgICAgICBpZiAoIW1faW5zdGFuY2VQcm94eSkKLSAg
ICAgICAgICAgIHJldHVybiBzdGQ6OmF1dG9fcHRyPFQ+KCk7CisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAgICAgCiAgICAgICAgIHJldHVybiByZXBseTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlJbnN0YW5jZS5tbQppbmRleCA2
MzkzZmQ4OGVkYmMwOThjMTMwYzQ0YWNjYjQwMTJkZDYxZmI0YmNhLi5kZTM3NTRmZTJkZjNhNzEy
YzU4ODhkZGJmNjA2ZmI4YmQ0N2M5MmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFuY2UubW0KQEAgLTE2Myw3ICsxNjMsNyBAQCBKU1ZhbHVl
IFByb3h5SW5zdGFuY2U6Omludm9rZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSW52b2tlVHlwZSB0
eXBlLCB1aW50NjRfdCBpZAogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CiAg
ICAgCi0gICAgc3RkOjphdXRvX3B0cjxOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OkJvb2xl
YW5BbmREYXRhUmVwbHk+IHJlcGx5ID0gd2FpdEZvclJlcGx5PE5ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eTo6Qm9vbGVhbkFuZERhdGFSZXBseT4ocmVxdWVzdElEKTsKKyAgICBhdXRvIHJlcGx5
ID0gd2FpdEZvclJlcGx5PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhbkFuZERh
dGFSZXBseT4ocmVxdWVzdElEKTsKICAgICBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Om1v
dmVHbG9iYWxFeGNlcHRpb25Ub0V4ZWNTdGF0ZShleGVjKTsKIAogICAgIGlmIChtX2luc3RhbmNl
UHJveHkpIHsKQEAgLTE3MSw3ICsxNzEsNyBAQCBKU1ZhbHVlIFByb3h5SW5zdGFuY2U6Omludm9r
ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSW52b2tlVHlwZSB0eXBlLCB1aW50NjRfdCBpZAogICAg
ICAgICAgICAgbV9pbnN0YW5jZVByb3h5LT5yZWxlYXNlTG9jYWxPYmplY3QoYXJncy5hdChpKSk7
CiAgICAgfQogCi0gICAgaWYgKCFyZXBseS5nZXQoKSB8fCAhcmVwbHktPm1fcmV0dXJuVmFsdWUp
CisgICAgaWYgKCFyZXBseSB8fCAhcmVwbHktPm1fcmV0dXJuVmFsdWUpCiAgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwogICAgIAogICAgIHJldHVybiBtX2luc3RhbmNlUHJveHktPmRlbWFy
c2hhbFZhbHVlKGV4ZWMsIChjaGFyKilDRkRhdGFHZXRCeXRlUHRyKHJlcGx5LT5tX3Jlc3VsdC5n
ZXQoKSksIENGRGF0YUdldExlbmd0aChyZXBseS0+bV9yZXN1bHQuZ2V0KCkpKTsKQEAgLTI0Miwx
MSArMjQyLDggQEAgYm9vbCBQcm94eUluc3RhbmNlOjpzdXBwb3J0c0ludm9rZURlZmF1bHRNZXRo
b2QoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
X29iamVjdElEKSAhPSBLRVJOX1NVQ0NFU1MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAK
LSAgICBzdGQ6OmF1dG9fcHRyPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJl
cGx5PiByZXBseSA9IHdhaXRGb3JSZXBseTxOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OkJv
b2xlYW5SZXBseT4ocmVxdWVzdElEKTsKLSAgICBpZiAocmVwbHkuZ2V0KCkgJiYgcmVwbHktPm1f
cmVzdWx0KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgcmV0dXJuIGZhbHNl
OworICAgIGF1dG8gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5OjpCb29sZWFuUmVwbHk+KHJlcXVlc3RJRCk7CisgICAgcmV0dXJuIHJlcGx5ICYmIHJlcGx5
LT5tX3Jlc3VsdDsKIH0KIAogSlNWYWx1ZSBQcm94eUluc3RhbmNlOjppbnZva2VEZWZhdWx0TWV0
aG9kKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTI2NiwxMSArMjYzLDggQEAgYm9vbCBQcm94eUluc3Rh
bmNlOjpzdXBwb3J0c0NvbnN0cnVjdCgpIGNvbnN0CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9vYmplY3RJRCkgIT0gS0VSTl9TVUNDRVNTKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgCi0gICAgc3RkOjphdXRvX3B0cjxOZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHk6OkJvb2xlYW5SZXBseT4gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpCb29sZWFuUmVwbHk+KHJlcXVlc3RJRCk7Ci0gICAgaWYgKHJlcGx5Lmdl
dCgpICYmIHJlcGx5LT5tX3Jlc3VsdCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAot
ICAgIHJldHVybiBmYWxzZTsKKyAgICBhdXRvIHJlcGx5ID0gd2FpdEZvclJlcGx5PE5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJlcGx5PihyZXF1ZXN0SUQpOworICAgIHJldHVy
biByZXBseSAmJiByZXBseS0+bV9yZXN1bHQ7CiB9CiAgICAgCiBKU1ZhbHVlIFByb3h5SW5zdGFu
Y2U6Omludm9rZUNvbnN0cnVjdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3Mp
CkBAIC0zMjAsOSArMzE0LDkgQEAgdm9pZCBQcm94eUluc3RhbmNlOjpnZXRQcm9wZXJ0eU5hbWVz
KEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXkmIG5hbWVBcnIKICAgICBpZiAoX1dL
UEhOUE9iamVjdEVudW1lcmF0ZShtX2luc3RhbmNlUHJveHktPmhvc3RQcm94eSgpLT5wb3J0KCks
IG1faW5zdGFuY2VQcm94eS0+cGx1Z2luSUQoKSwgcmVxdWVzdElELCBtX29iamVjdElEKSAhPSBL
RVJOX1NVQ0NFU1MpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBzdGQ6OmF1dG9fcHRyPE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhbkFuZERhdGFSZXBseT4gcmVwbHkgPSB3
YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0YVJl
cGx5PihyZXF1ZXN0SUQpOworICAgIGF1dG8gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0YVJlcGx5PihyZXF1ZXN0SUQpOwogICAg
IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bW92ZUdsb2JhbEV4Y2VwdGlvblRvRXhlY1N0
YXRlKGV4ZWMpOwotICAgIGlmICghcmVwbHkuZ2V0KCkgfHwgIXJlcGx5LT5tX3JldHVyblZhbHVl
KQorICAgIGlmICghcmVwbHkgfHwgIXJlcGx5LT5tX3JldHVyblZhbHVlKQogICAgICAgICByZXR1
cm47CiAgICAgCiAgICAgUmV0YWluUHRyPE5TQXJyYXkqPiBhcnJheSA9IFtOU1Byb3BlcnR5TGlz
dFNlcmlhbGl6YXRpb24gcHJvcGVydHlMaXN0RnJvbURhdGE6KE5TRGF0YSAqKXJlcGx5LT5tX3Jl
c3VsdC5nZXQoKQpAQCAtMzQ3LDEwICszNDEsMTAgQEAgTWV0aG9kKiBQcm94eUluc3RhbmNlOjpt
ZXRob2ROYW1lZChQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIFN0cmluZyBuYW1l
KHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCkpOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAoIW1faW5z
dGFuY2VQcm94eSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIAogICAgIC8vIElmIHdlIGFscmVhZHkgaGF2ZSBhbiBlbnRyeSBpbiB0aGUgbWFwLCB1c2Ug
aXQuCiAgICAgYXV0byBleGlzdGluZ01hcEVudHJ5ID0gbV9tZXRob2RzLmZpbmQobmFtZS5pbXBs
KCkpOwpAQCAtMzY1LDE0ICszNTksMTQgQEAgTWV0aG9kKiBQcm94eUluc3RhbmNlOjptZXRob2RO
YW1lZChQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogICAgIGlmIChfV0tQSE5QT2JqZWN0SGFz
TWV0aG9kKG1faW5zdGFuY2VQcm94eS0+aG9zdFByb3h5KCktPnBvcnQoKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2luc3RhbmNlUHJveHktPnBsdWdpbklEKCksIHJlcXVlc3RJ
RCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX29iamVjdElELCBtZXRob2ROYW1l
KSAhPSBLRVJOX1NVQ0NFU1MpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICAKLSAgICBzdGQ6OmF1dG9fcHRyPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eTo6Qm9vbGVhblJlcGx5PiByZXBseSA9IHdhaXRGb3JSZXBseTxOZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHk6OkJvb2xlYW5SZXBseT4ocmVxdWVzdElEKTsKLSAgICBpZiAoIXJlcGx5LmdldCgp
KQotICAgICAgICByZXR1cm4gMDsKKyAgICBhdXRvIHJlcGx5ID0gd2FpdEZvclJlcGx5PE5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJlcGx5PihyZXF1ZXN0SUQpOworICAgIGlm
ICghcmVwbHkpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgaWYgKCFyZXBseS0+bV9y
ZXN1bHQgJiYgIW1faW5zdGFuY2VQcm94eS0+aG9zdFByb3h5KCktPnNob3VsZENhY2hlTWlzc2lu
Z1Byb3BlcnRpZXNBbmRNZXRob2RzKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIC8vIEFkZCBhIG5ldyBlbnRyeSB0byB0aGUgbWFwIHVubGVzcyBh
biBlbnRyeSB3YXMgYWRkZWQgd2hpbGUgd2Ugd2VyZSBpbiB3YWl0Rm9yUmVwbHkuCiAgICAgYXV0
byBtYXBBZGRSZXN1bHQgPSBtX21ldGhvZHMuYWRkKG5hbWUuaW1wbCgpLCBudWxscHRyKTsKQEAg
LTM4NiwxMCArMzgwLDEwIEBAIEZpZWxkKiBQcm94eUluc3RhbmNlOjpmaWVsZE5hbWVkKFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgU3RyaW5nIG5hbWUocHJvcGVydHlOYW1lLnB1
YmxpY05hbWUoKSk7CiAgICAgaWYgKG5hbWUuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9pbnN0YW5jZVByb3h5KQotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgLy8gSWYg
d2UgYWxyZWFkeSBoYXZlIGFuIGVudHJ5IGluIHRoZSBtYXAsIHVzZSBpdC4KICAgICBhdXRvIGV4
aXN0aW5nTWFwRW50cnkgPSBtX2ZpZWxkcy5maW5kKG5hbWUuaW1wbCgpKTsKQEAgLTQwMiwxNCAr
Mzk2LDE0IEBAIEZpZWxkKiBQcm94eUluc3RhbmNlOjpmaWVsZE5hbWVkKFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCiAgICAgaWYgKF9XS1BITlBPYmplY3RIYXNQcm9wZXJ0eShtX2luc3RhbmNl
UHJveHktPmhvc3RQcm94eSgpLT5wb3J0KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2luc3RhbmNlUHJveHktPnBsdWdpbklEKCksIHJlcXVlc3RJRCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fb2JqZWN0SUQsIGlkZW50aWZpZXIpICE9IEtFUk5fU1VD
Q0VTUykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAot
ICAgIHN0ZDo6YXV0b19wdHI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuUmVw
bHk+IHJlcGx5ID0gd2FpdEZvclJlcGx5PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9v
bGVhblJlcGx5PihyZXF1ZXN0SUQpOwotICAgIGlmICghcmVwbHkuZ2V0KCkpCi0gICAgICAgIHJl
dHVybiAwOworICAgIGF1dG8gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5OjpCb29sZWFuUmVwbHk+KHJlcXVlc3RJRCk7CisgICAgaWYgKCFyZXBseSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgaWYgKCFyZXBseS0+bV9yZXN1bHQgJiYg
IW1faW5zdGFuY2VQcm94eS0+aG9zdFByb3h5KCktPnNob3VsZENhY2hlTWlzc2luZ1Byb3BlcnRp
ZXNBbmRNZXRob2RzKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICAKICAgICAvLyBBZGQgYSBuZXcgZW50cnkgdG8gdGhlIG1hcCB1bmxlc3MgYW4gZW50
cnkgd2FzIGFkZGVkIHdoaWxlIHdlIHdlcmUgaW4gd2FpdEZvclJlcGx5LgogICAgIGF1dG8gbWFw
QWRkUmVzdWx0ID0gbV9maWVsZHMuYWRkKG5hbWUuaW1wbCgpLCBudWxscHRyKTsKQEAgLTQzMSw5
ICs0MjUsOSBAQCBKU0M6OkpTVmFsdWUgUHJveHlJbnN0YW5jZTo6ZmllbGRWYWx1ZShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEZpZWxkKiBmaWVsZCkgY29ucwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vYmplY3RJRCwgc2VydmVySWRlbnRpZmllcikgIT0gS0VSTl9TVUNDRVNT
KQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICAKLSAgICBzdGQ6OmF1dG9fcHRy
PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhbkFuZERhdGFSZXBseT4gcmVwbHkg
PSB3YWl0Rm9yUmVwbHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0
YVJlcGx5PihyZXF1ZXN0SUQpOworICAgIGF1dG8gcmVwbHkgPSB3YWl0Rm9yUmVwbHk8TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuQW5kRGF0YVJlcGx5PihyZXF1ZXN0SUQpOwog
ICAgIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bW92ZUdsb2JhbEV4Y2VwdGlvblRvRXhl
Y1N0YXRlKGV4ZWMpOwotICAgIGlmICghcmVwbHkuZ2V0KCkgfHwgIXJlcGx5LT5tX3JldHVyblZh
bHVlKQorICAgIGlmICghcmVwbHkgfHwgIXJlcGx5LT5tX3JldHVyblZhbHVlKQogICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICAKICAgICByZXR1cm4gbV9pbnN0YW5jZVByb3h5LT5k
ZW1hcnNoYWxWYWx1ZShleGVjLCAoY2hhciopQ0ZEYXRhR2V0Qnl0ZVB0cihyZXBseS0+bV9yZXN1
bHQuZ2V0KCkpLCBDRkRhdGFHZXRMZW5ndGgocmVwbHktPm1fcmVzdWx0LmdldCgpKSk7CkBAIC00
NjEsNyArNDU1LDcgQEAgdm9pZCBQcm94eUluc3RhbmNlOjpzZXRGaWVsZFZhbHVlKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgRmllbGQqIGZpZWxkLCBKU1ZhbHVlIHYKICAgICBpZiAoa3IgIT0gS0VS
Tl9TVUNDRVNTKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgc3RkOjphdXRvX3B0cjxOZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OkJvb2xlYW5SZXBseT4gcmVwbHkgPSB3YWl0Rm9yUmVw
bHk8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuUmVwbHk+KHJlcXVlc3RJRCk7
CisgICAgd2FpdEZvclJlcGx5PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Qm9vbGVhblJl
cGx5PihyZXF1ZXN0SUQpOwogICAgIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bW92ZUds
b2JhbEV4Y2VwdGlvblRvRXhlY1N0YXRlKGV4ZWMpOwogfQogCkBAIC00NzIsNyArNDY2LDcgQEAg
dm9pZCBQcm94eUluc3RhbmNlOjppbnZhbGlkYXRlKCkKICAgICBpZiAoTmV0c2NhcGVQbHVnaW5I
b3N0UHJveHkqIGhvc3RQcm94eSA9IG1faW5zdGFuY2VQcm94eS0+aG9zdFByb3h5KCkpCiAgICAg
ICAgIF9XS1BITlBPYmplY3RSZWxlYXNlKGhvc3RQcm94eS0+cG9ydCgpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2luc3RhbmNlUHJveHktPnBsdWdpbklEKCksIG1fb2JqZWN0SUQp
OwotICAgIG1faW5zdGFuY2VQcm94eSA9IDA7CisgICAgbV9pbnN0YW5jZVByb3h5ID0gbnVsbHB0
cjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>