<?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>70186</bug_id>
          
          <creation_ts>2011-10-15 16:17:32 -0700</creation_ts>
          <short_desc>Pass MessagePortArray to JSC&apos;s SerializedScriptValue::serialize/deserialize</short_desc>
          <delta_ts>2011-10-16 12:18:56 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>65209</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Lomov">dslomov</reporter>
          <assigned_to name="Dmitry Lomov">dslomov</assigned_to>
          <cc>dslomov</cc>
    
    <cc>levin</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>484672</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-10-15 16:17:32 -0700</bug_when>
    <thetext>SerializedScriptValue needs to know the message ports being sent with the message to implement trasfer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484673</commentid>
    <comment_count>1</comment_count>
      <attachid>111154</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-10-15 16:20:15 -0700</bug_when>
    <thetext>Created attachment 111154
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484711</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-10-15 19:27:47 -0700</bug_when>
    <thetext>At first glance this seems fine. I&apos;ll look more and see if I notice anything that doesn&apos;t seem straightforward.

Adding Oliver in case he wants to look it over since he implemented SeriazlizedScriptValue for JSC and is familiar with JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484793</commentid>
    <comment_count>3</comment_count>
      <attachid>111154</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-16 11:13:41 -0700</bug_when>
    <thetext>Comment on attachment 111154
Fix

Looks sensible to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484796</commentid>
    <comment_count>4</comment_count>
      <attachid>111154</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-16 12:18:52 -0700</bug_when>
    <thetext>Comment on attachment 111154
Fix

Clearing flags on attachment: 111154

Committed r97576: &lt;http://trac.webkit.org/changeset/97576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484797</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-16 12:18:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111154</attachid>
            <date>2011-10-15 16:20:15 -0700</date>
            <delta_ts>2011-10-16 12:18:52 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>70186.patch</filename>
            <type>text/plain</type>
            <size>17145</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlYzc3MzlhLi5iNmFhMzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTEtMTAtMTUgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxODYKKyAgICAg
ICAgUGFzcyBNZXNzYWdlUG9ydEFycmF5IHRvIEpTQydzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6
c2VyaWFsaXplL2Rlc2VyaWFsaXplLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNE
T01XaW5kb3c6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93Ojp3
ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNIaXN0b3J5OjpwdXNoU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNIaXN0b3J5OjpyZXBs
YWNlU3RhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTWVzc2FnZUV2ZW50OjpkYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OmhhbmRsZUluaXRNZXNzYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SlNNZXNz
YWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SlNNZXNzYWdl
RXZlbnQ6OndlYmtpdEluaXRNZXNzYWdlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNQb3BTdGF0ZUV2ZW50OjpzdGF0ZSk6CisgICAgICAgICogYmluZGlu
Z3MvanMvU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OnNl
cmlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaDoKKwogMjAxMS0xMC0xNCAgQ2FyeSBDbGFy
ayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJvbWl1bSBTa2lhIG9uIE1h
Y10gSW1wcm92ZSBmb2N1cyByaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggYTNiMjg3MS4uY2Y5NzBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNzA5LDMz
ICs3MDksMzkgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2hvd01vZGFsRGlhbG9nKEV4ZWNTdGF0
ZSogZXhlYykKICAgICByZXR1cm4gaGFuZGxlci5yZXR1cm5WYWx1ZSgpOwogfQogCi1KU1ZhbHVl
IEpTRE9NV2luZG93Ojpwb3N0TWVzc2FnZShFeGVjU3RhdGUqIGV4ZWMpCitzdGF0aWMgSlNWYWx1
ZSBoYW5kbGVQb3N0TWVzc2FnZShET01XaW5kb3cqIGltcGwsIEV4ZWNTdGF0ZSogZXhlYywgYm9v
bCBkb1RyYW5zZmVyKQogewotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3Nh
Z2UgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShleGVjLCBleGVjLT5hcmd1bWVudCgw
KSk7Ci0KLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwotCiAgICAgTWVzc2FnZVBvcnRBcnJheSBtZXNzYWdlUG9ydHM7CiAgICAgaWYg
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA+IDIpCiAgICAgICAgIGZpbGxNZXNzYWdlUG9ydEFycmF5
KGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDEpLCBtZXNzYWdlUG9ydHMpOwogICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKKyAgICBSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVl
OjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQoMCksIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvVHJh
bnNmZXIgPyAmbWVzc2FnZVBvcnRzIDogMCk7CisKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCiAgICAgU3RyaW5nIHRhcmdldE9y
aWdpbiA9IHZhbHVlVG9TdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2soZXhlYywgZXhlYy0+
YXJndW1lbnQoKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA9PSAyKSA/IDEgOiAyKSk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIAog
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGltcGwoKS0+cG9zdE1lc3NhZ2UobWVzc2Fn
ZS5yZWxlYXNlKCksICZtZXNzYWdlUG9ydHMsIHRhcmdldE9yaWdpbiwgYWN0aXZlRE9NV2luZG93
KGV4ZWMpLCBlYyk7CisgICAgaW1wbC0+cG9zdE1lc3NhZ2UobWVzc2FnZS5yZWxlYXNlKCksICZt
ZXNzYWdlUG9ydHMsIHRhcmdldE9yaWdpbiwgYWN0aXZlRE9NV2luZG93KGV4ZWMpLCBlYyk7CiAg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKIAogICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogfQogCitKU1ZhbHVlIEpTRE9NV2luZG93Ojpwb3N0TWVzc2FnZShFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGltcGwoKSwgZXhlYywgZmFsc2UpOwor
fQorCiBKU1ZhbHVlIEpTRE9NV2luZG93Ojp3ZWJraXRQb3N0TWVzc2FnZShFeGVjU3RhdGUqIGV4
ZWMpCiB7Ci0gICAgcmV0dXJuIHBvc3RNZXNzYWdlKGV4ZWMpOworICAgIHJldHVybiBoYW5kbGVQ
b3N0TWVzc2FnZShpbXBsKCksIGV4ZWMsIHRydWUpOwogfQogCiBKU1ZhbHVlIEpTRE9NV2luZG93
OjpzZXRUaW1lb3V0KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpY3Rpb25hcnkuY3BwCmluZGV4IDU4NTMxZjMuLmUzMTlhYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZv
aWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZh
bHVlLCBTY3JpcHRWYWx1ZSYgcmVzCiAKIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUo
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYgcmVzdWx0KQogewotICAgIHJlc3VsdCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlKGV4ZWMsIHZhbHVlKTsKKyAgICByZXN1bHQgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShleGVjLCB2YWx1ZSwgMCk7CiB9CiAKIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFs
dWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPERPTVdpbmRvdz4mIHJlc3VsdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwCmluZGV4
IDAwZDc5MDAuLmJlMjZiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSGlzdG9yeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNI
aXN0b3J5Q3VzdG9tLmNwcApAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgSlNIaXN0b3J5OjpnZXRP
d25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3Bl
cnR5CiAKIEpTVmFsdWUgSlNIaXN0b3J5OjpwdXNoU3RhdGUoRXhlY1N0YXRlKiBleGVjKQogewot
ICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGhpc3RvcnlTdGF0ZSA9IFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBoaXN0b3J5U3RhdGUgPSBTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OmNyZWF0ZShleGVjLCBleGVjLT5hcmd1bWVudCgwKSwgMCk7CiAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIApAQCAtMTg4
LDcgKzE4OCw3IEBAIEpTVmFsdWUgSlNIaXN0b3J5OjpwdXNoU3RhdGUoRXhlY1N0YXRlKiBleGVj
KQogCiBKU1ZhbHVlIEpTSGlzdG9yeTo6cmVwbGFjZVN0YXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsK
LSAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBoaXN0b3J5U3RhdGUgPSBTZXJpYWxp
emVkU2NyaXB0VmFsdWU6OmNyZWF0ZShleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gaGlzdG9yeVN0YXRlID0gU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQoMCksIDApOwogICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcApp
bmRleCBlNzQ4Y2ZmLi41MDkxYzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCkBAIC01Myw4ICs1MywxMCBAQCBKU1ZhbHVl
IEpTTWVzc2FnZUV2ZW50OjpkYXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICBKU1ZhbHVl
IHJlc3VsdDsKICAgICBzd2l0Y2ggKGV2ZW50LT5kYXRhVHlwZSgpKSB7CiAgICAgY2FzZSBNZXNz
YWdlRXZlbnQ6OkRhdGFUeXBlU2VyaWFsaXplZFNjcmlwdFZhbHVlOgotICAgICAgICBpZiAoU2Vy
aWFsaXplZFNjcmlwdFZhbHVlKiBzZXJpYWxpemVkVmFsdWUgPSBldmVudC0+ZGF0YUFzU2VyaWFs
aXplZFNjcmlwdFZhbHVlKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBzZXJpYWxpemVkVmFsdWUt
PmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBOb25UaHJvd2luZyk7CisgICAgICAg
IGlmIChTZXJpYWxpemVkU2NyaXB0VmFsdWUqIHNlcmlhbGl6ZWRWYWx1ZSA9IGV2ZW50LT5kYXRh
QXNTZXJpYWxpemVkU2NyaXB0VmFsdWUoKSkgeworICAgICAgICAgICAgTWVzc2FnZVBvcnRBcnJh
eSogcG9ydHMgPSBzdGF0aWNfY2FzdDxNZXNzYWdlRXZlbnQqPihpbXBsKCkpLT5wb3J0cygpOwor
ICAgICAgICAgICAgcmVzdWx0ID0gc2VyaWFsaXplZFZhbHVlLT5kZXNlcmlhbGl6ZShleGVjLCBn
bG9iYWxPYmplY3QoKSwgcG9ydHMsIE5vblRocm93aW5nKTsKKyAgICAgICAgfQogICAgICAgICBl
bHNlCiAgICAgICAgICAgICByZXN1bHQgPSBqc051bGwoKTsKICAgICAgICAgYnJlYWs7CkBAIC04
OSwxNCArOTEsMTEgQEAgSlNWYWx1ZSBKU01lc3NhZ2VFdmVudDo6cG9ydHMoRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAogICAgIHJldHVybiBjb25zdHJ1Y3RBcnJheShleGVjLCBnbG9iYWxPYmplY3Qo
KSwgbGlzdCk7CiB9CiAKLUpTQzo6SlNWYWx1ZSBKU01lc3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VF
dmVudChKU0M6OkV4ZWNTdGF0ZSogZXhlYykKK3N0YXRpYyBKU0M6OkpTVmFsdWUgaGFuZGxlSW5p
dE1lc3NhZ2VFdmVudChKU01lc3NhZ2VFdmVudCoganNFdmVudCwgSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIGJvb2wgZG9UcmFuc2ZlcikKIHsKICAgICBjb25zdCBVU3RyaW5nJiB0eXBlQXJnID0gZXhl
Yy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyk7CiAgICAgYm9vbCBjYW5CdWJibGVBcmcgPSBl
eGVjLT5hcmd1bWVudCgxKS50b0Jvb2xlYW4oZXhlYyk7CiAgICAgYm9vbCBjYW5jZWxhYmxlQXJn
ID0gZXhlYy0+YXJndW1lbnQoMikudG9Cb29sZWFuKGV4ZWMpOwotICAgIFJlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IGRhdGFBcmcgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShl
eGVjLCBleGVjLT5hcmd1bWVudCgzKSk7Ci0gICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQot
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBjb25zdCBVU3RyaW5nJiBvcmlnaW5B
cmcgPSBleGVjLT5hcmd1bWVudCg0KS50b1N0cmluZyhleGVjKTsKICAgICBjb25zdCBVU3RyaW5n
JiBsYXN0RXZlbnRJZEFyZyA9IGV4ZWMtPmFyZ3VtZW50KDUpLnRvU3RyaW5nKGV4ZWMpOwogICAg
IERPTVdpbmRvdyogc291cmNlQXJnID0gdG9ET01XaW5kb3coZXhlYy0+YXJndW1lbnQoNikpOwpA
QCAtMTA3LDIxICsxMDYsMzAgQEAgSlNDOjpKU1ZhbHVlIEpTTWVzc2FnZUV2ZW50Ojppbml0TWVz
c2FnZUV2ZW50KEpTQzo6RXhlY1N0YXRlKiBleGVjKQogICAgICAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9Ci0KLSAg
ICBNZXNzYWdlRXZlbnQqIGV2ZW50ID0gc3RhdGljX2Nhc3Q8TWVzc2FnZUV2ZW50Kj4odGhpcy0+
aW1wbCgpKTsKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhQXJnID0gU2Vy
aWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQoMyksIGRvVHJh
bnNmZXIgPyBtZXNzYWdlUG9ydHMuZ2V0KCkgOiAwKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworIAorICAgIE1lc3NhZ2VFdmVu
dCogZXZlbnQgPSBzdGF0aWNfY2FzdDxNZXNzYWdlRXZlbnQqPihqc0V2ZW50LT5pbXBsKCkpOwog
ICAgIGV2ZW50LT5pbml0TWVzc2FnZUV2ZW50KHVzdHJpbmdUb0F0b21pY1N0cmluZyh0eXBlQXJn
KSwgY2FuQnViYmxlQXJnLCBjYW5jZWxhYmxlQXJnLCBkYXRhQXJnLnJlbGVhc2UoKSwgdXN0cmlu
Z1RvU3RyaW5nKG9yaWdpbkFyZyksIHVzdHJpbmdUb1N0cmluZyhsYXN0RXZlbnRJZEFyZyksIHNv
dXJjZUFyZywgbWVzc2FnZVBvcnRzLnJlbGVhc2UoKSk7CiAgICAgSlNWYWx1ZSByZXN1bHQ7CiAg
ICAgaWYgKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZFZhbHVlID0gZXZlbnQtPmRh
dGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSgpKQotICAgICAgICByZXN1bHQgPSBzZXJpYWxpemVk
VmFsdWUtPmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBOb25UaHJvd2luZyk7Cisg
ICAgICAgIHJlc3VsdCA9IHNlcmlhbGl6ZWRWYWx1ZS0+ZGVzZXJpYWxpemUoZXhlYywganNFdmVu
dC0+Z2xvYmFsT2JqZWN0KCksIGV2ZW50LT5wb3J0cygpLCBOb25UaHJvd2luZyk7CiAgICAgZWxz
ZQogICAgICAgICByZXN1bHQgPSBqc051bGwoKTsKLSAgICBtX2RhdGEuc2V0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgdGhpcywgcmVzdWx0KTsKKyAgICBqc0V2ZW50LT5tX2RhdGEuc2V0KGV4ZWMtPmds
b2JhbERhdGEoKSwganNFdmVudCwgcmVzdWx0KTsKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
KworfQorCitKU0M6OkpTVmFsdWUgSlNNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnQoSlND
OjpFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgcmV0dXJuIGhhbmRsZUluaXRNZXNzYWdlRXZlbnQo
dGhpcywgZXhlYywgZmFsc2UpOwogfQogCiBKU0M6OkpTVmFsdWUgSlNNZXNzYWdlRXZlbnQ6Ondl
YmtpdEluaXRNZXNzYWdlRXZlbnQoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJu
IGluaXRNZXNzYWdlRXZlbnQoZXhlYyk7CisgICAgcmV0dXJuIGhhbmRsZUluaXRNZXNzYWdlRXZl
bnQodGhpcywgZXhlYywgdHJ1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaAppbmRleCA4
MDVlNDgzLi41YTllMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lc3NhZ2VQb3J0Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNN
ZXNzYWdlUG9ydEN1c3RvbS5oCkBAIC00OCw5ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBpbmxpbmUgSlNDOjpKU1ZhbHVlIGhhbmRs
ZVBvc3RNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBUKiBpbXBsKQogICAgIHsKLSAgICAg
ICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSA9IFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6Y3JlYXRlKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKICAgICAgICAgTWVzc2Fn
ZVBvcnRBcnJheSBwb3J0QXJyYXk7CiAgICAgICAgIGZpbGxNZXNzYWdlUG9ydEFycmF5KGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDEpLCBwb3J0QXJyYXkpOworICAgICAgICBSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhl
YywgZXhlYy0+YXJndW1lbnQoMCksICZwb3J0QXJyYXkpOwogICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9t
LmNwcAppbmRleCAzYWI1NmZmLi4zOGVkZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAg
SlNWYWx1ZSBKU1BvcFN0YXRlRXZlbnQ6OnN0YXRlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAg
ICBQb3BTdGF0ZUV2ZW50KiBldmVudCA9IHN0YXRpY19jYXN0PFBvcFN0YXRlRXZlbnQqPihpbXBs
KCkpOwogICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZFN0YXRlID0gZXZlbnQt
PnNlcmlhbGl6ZWRTdGF0ZSgpOwogICAgIGlmIChzZXJpYWxpemVkU3RhdGUpCi0gICAgICAgIHJl
dHVybiBzZXJpYWxpemVkU3RhdGUtPmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsK
KyAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWRTdGF0ZS0+ZGVzZXJpYWxpemUoZXhlYywgZ2xvYmFs
T2JqZWN0KCksIDApOwogICAgIGlmICghZXZlbnQtPnN0YXRlKCkuaGFzTm9WYWx1ZSgpKQogICAg
ICAgICByZXR1cm4gZXZlbnQtPnN0YXRlKCkuanNWYWx1ZSgpOwogICAgIHJldHVybiBqc051bGwo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFZhbHVlLmNwcAppbmRleCA5Njdm
MjY0Li5hZjFhNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0VmFsdWUu
Y3BwCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCBib29sIFNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uKCkg
Y29uc3QKIAogUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNjcmlwdFZhbHVlOjpz
ZXJpYWxpemUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBTZXJpYWxpemF0aW9uRXJyb3JNb2Rl
IHRocm93RXhjZXB0aW9ucykKIHsKLSAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUoc2NyaXB0U3RhdGUsIGpzVmFsdWUoKSwgdGhyb3dFeGNlcHRpb25zKTsKKyAgICByZXR1
cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoc2NyaXB0U3RhdGUsIGpzVmFsdWUoKSwg
MCwgdGhyb3dFeGNlcHRpb25zKTsKIH0KIAogU2NyaXB0VmFsdWUgU2NyaXB0VmFsdWU6OmRlc2Vy
aWFsaXplKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlKiB2
YWx1ZSwgU2VyaWFsaXphdGlvbkVycm9yTW9kZSB0aHJvd0V4Y2VwdGlvbnMpCiB7Ci0gICAgcmV0
dXJuIFNjcmlwdFZhbHVlKHNjcmlwdFN0YXRlLT5nbG9iYWxEYXRhKCksIHZhbHVlLT5kZXNlcmlh
bGl6ZShzY3JpcHRTdGF0ZSwgc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgdGhy
b3dFeGNlcHRpb25zKSk7CisgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHNjcmlwdFN0YXRlLT5nbG9i
YWxEYXRhKCksIHZhbHVlLT5kZXNlcmlhbGl6ZShzY3JpcHRTdGF0ZSwgc2NyaXB0U3RhdGUtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgMCwgdGhyb3dFeGNlcHRpb25zKSk7CiB9CiAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggOGRiZTNlYS4uNWJlMDZkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBA
IC0xMzM5LDcgKzEzMzksNyBAQCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZShWZWN0b3I8dWludDhfdD4mIGJ1ZmZlcikKICAgICBtX2RhdGEuc3dhcChidWZmZXIp
OwogfQogCi1QYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBTZXJpYWxpemF0
aW9uRXJyb3JNb2RlIHRocm93RXhjZXB0aW9ucykKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdWUgdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkqLCBTZXJpYWxpemF0aW9uRXJyb3JNb2RlIHRo
cm93RXhjZXB0aW9ucykKIHsKICAgICBWZWN0b3I8dWludDhfdD4gYnVmZmVyOwogICAgIFNlcmlh
bGl6YXRpb25SZXR1cm5Db2RlIGNvZGUgPSBDbG9uZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZShleGVj
LCB2YWx1ZSwgYnVmZmVyKTsKQEAgLTEzNjYsMTIgKzEzNjYsMTMgQEAgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGNvbnN0IFN0
cmluZyYgc3QKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZShi
dWZmZXIpKTsKIH0KIAotUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKEpTQ29udGV4dFJlZiBvcmlnaW5Db250ZXh0LCBKU1ZhbHVl
UmVmIGFwaVZhbHVlLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCitQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoSlNDb250ZXh0UmVm
IG9yaWdpbkNvbnRleHQsIEpTVmFsdWVSZWYgYXBpVmFsdWUsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VQb3J0
QXJyYXkqIG1lc3NhZ2VQb3J0cywgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IHRvSlMob3JpZ2luQ29udGV4dCk7CiAgICAgQVBJRW50cnlTaGltIGVudHJ5
U2hpbShleGVjKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gdG9KUyhleGVjLCBhcGlWYWx1ZSk7Ci0g
ICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFZhbHVlID0gU2VyaWFs
aXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgdmFsdWUpOworICAgIFJlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRWYWx1ZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6
Y3JlYXRlKGV4ZWMsIHZhbHVlLCBtZXNzYWdlUG9ydHMpOwogICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkgewogICAgICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4Y2VwdGlv
biA9IHRvUmVmKGV4ZWMsIGV4ZWMtPmV4Y2VwdGlvbigpKTsKQEAgLTEzODIsMTIgKzEzODMsMTkg
QEAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKEpTQ29udGV4dFJlZiBvcmkKICAgICByZXR1cm4gc2VyaWFsaXplZFZhbHVlLnJl
bGVhc2UoKTsKIH0KIAorUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKEpTQ29udGV4dFJlZiBvcmlnaW5Db250ZXh0LCBKU1ZhbHVl
UmVmIGFwaVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICByZXR1
cm4gY3JlYXRlKG9yaWdpbkNvbnRleHQsIGFwaVZhbHVlLCAwLCBleGNlcHRpb24pOworfQorCiBT
dHJpbmcgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0b1N0cmluZygpCiB7CiAgICAgcmV0dXJuIENs
b25lRGVzZXJpYWxpemVyOjpkZXNlcmlhbGl6ZVN0cmluZyhtX2RhdGEpOwogfQogCi1KU1ZhbHVl
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTZXJpYWxpemF0aW9uRXJyb3JNb2RlIHRocm93RXhj
ZXB0aW9ucykKK0pTVmFsdWUgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZShFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VQb3J0QXJyYXkqLCBTZXJpYWxp
emF0aW9uRXJyb3JNb2RlIHRocm93RXhjZXB0aW9ucykKIHsKICAgICBEZXNlcmlhbGl6YXRpb25S
ZXN1bHQgcmVzdWx0ID0gQ2xvbmVEZXNlcmlhbGl6ZXI6OmRlc2VyaWFsaXplKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgbV9kYXRhKTsKICAgICBpZiAodGhyb3dFeGNlcHRpb25zID09IFRocm93aW5nKQpA
QCAtMTM5NSwxMSArMTQwMywxMSBAQCBKU1ZhbHVlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZGVz
ZXJpYWxpemUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYgogICAgIHJldHVy
biByZXN1bHQuZmlyc3Q7CiB9CiAKLUpTVmFsdWVSZWYgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpk
ZXNlcmlhbGl6ZShKU0NvbnRleHRSZWYgZGVzdGluYXRpb25Db250ZXh0LCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCitKU1ZhbHVlUmVmIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUo
SlNDb250ZXh0UmVmIGRlc3RpbmF0aW9uQ29udGV4dCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBN
ZXNzYWdlUG9ydEFycmF5KiBtZXNzYWdlUG9ydHMpCiB7CiAgICAgRXhlY1N0YXRlKiBleGVjID0g
dG9KUyhkZXN0aW5hdGlvbkNvbnRleHQpOwogICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNoaW0oZXhl
Yyk7Ci0gICAgSlNWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplKGV4ZWMsIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSk7CisgICAgSlNWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplKGV4ZWMsIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgbWVzc2FnZVBvcnRzKTsKICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpIHsKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgICpl
eGNlcHRpb24gPSB0b1JlZihleGVjLCBleGVjLT5leGNlcHRpb24oKSk7CkBAIC0xNDEwLDYgKzE0
MTgsMTIgQEAgSlNWYWx1ZVJlZiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKEpT
Q29udGV4dFJlZiBkZXN0aW5hdGlvbkNvbnRleHQsIEoKICAgICByZXR1cm4gdG9SZWYoZXhlYywg
dmFsdWUpOwogfQogCisKK0pTVmFsdWVSZWYgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlh
bGl6ZShKU0NvbnRleHRSZWYgZGVzdGluYXRpb25Db250ZXh0LCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pCit7CisgICAgcmV0dXJuIGRlc2VyaWFsaXplKGRlc3RpbmF0aW9uQ29udGV4dCwgZXhjZXB0
aW9uLCAwKTsKK30KKwogU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBTZXJpYWxpemVkU2NyaXB0VmFs
dWU6Om51bGxWYWx1ZSgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiwgZW1wdHlWYWx1ZSwgKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmgKaW5kZXggM2ZlNGUwMi4uNTA3MmZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgKQEAgLTM4LDYgKzM4LDgg
QEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlSlNWYWx1ZSogSlNWYWx1ZVJlZjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBNZXNzYWdlUG9ydDsKK3R5cGVkZWYgVmVjdG9yPFJl
ZlB0cjxNZXNzYWdlUG9ydD4sIDE+IE1lc3NhZ2VQb3J0QXJyYXk7CiAgCiBlbnVtIFNlcmlhbGl6
YXRpb25SZXR1cm5Db2RlIHsKICAgICBTdWNjZXNzZnVsbHlDb21wbGV0ZWQsCkBAIC01NCw4ICs1
NiwxMCBAQCBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRlKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBTZXJpYWxpemF0aW9uRXJyb3JNb2RlID0gVGhyb3dp
bmcpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRl
KEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZiB2YWx1ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNyZWF0ZShKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgTWVzc2FnZVBvcnRBcnJheSosIFNlcmlhbGl6YXRp
b25FcnJvck1vZGUgPSBUaHJvd2luZyk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBjcmVhdGUoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmLCBNZXNzYWdlUG9y
dEFycmF5KiwgIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBjcmVhdGUoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pOworCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBhZG9wdChWZWN0b3I8dWludDhfdD4mIGJ1ZmZlcikK
ICAgICB7CkBAIC02Nyw3ICs3MSw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyB0b1N0cmluZygp
OwogICAgIAotICAgIEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBTZXJpYWxpemF0aW9uRXJyb3JNb2RlID0gVGhyb3dpbmcpOwor
ICAgIEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBNZXNzYWdlUG9ydEFycmF5KiwgU2VyaWFsaXphdGlvbkVycm9yTW9kZSA9IFRo
cm93aW5nKTsKKyAgICBKU1ZhbHVlUmVmIGRlc2VyaWFsaXplKEpTQ29udGV4dFJlZiwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uLCBNZXNzYWdlUG9ydEFycmF5Kik7CiAgICAgSlNWYWx1ZVJlZiBkZXNl
cmlhbGl6ZShKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKICAgICBjb25z
dCBWZWN0b3I8dWludDhfdD4mIGRhdGEoKSB7IHJldHVybiBtX2RhdGE7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>