<?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>163816</bug_id>
          
          <creation_ts>2016-10-21 16:13:20 -0700</creation_ts>
          <short_desc>[Web ID] Overload resolution is wrong if one of the types is a nullable union</short_desc>
          <delta_ts>2016-10-21 22:30:16 -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>Bindings</component>
          <version>WebKit 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>
          <dependson>163764</dependson>
          <blocked>163795</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243143</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 16:13:20 -0700</bug_when>
    <thetext>Overload resolution is wrong if one of the types is a nullable union. This is because we never consider the union type itself, only its subtypes. Therefore, we checks if any of the union&apos;s subtypes are nullable but we fail to check if the union itself is nullable.

I noticed this while working on Bug 163795.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243181</commentid>
    <comment_count>1</comment_count>
      <attachid>292438</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 17:25:37 -0700</bug_when>
    <thetext>Created attachment 292438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243184</commentid>
    <comment_count>2</comment_count>
      <attachid>292438</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 17:29:24 -0700</bug_when>
    <thetext>Comment on attachment 292438
Patch

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

&gt; Source/WebCore/bindings/scripts/test/TestObj.idl:311
&gt; +    void overloadWithNullableUnion((TestObj or TestNode)? objectOrNode);

Passing null here would previously call the overload below instead of this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243274</commentid>
    <comment_count>3</comment_count>
      <attachid>292438</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-21 22:30:11 -0700</bug_when>
    <thetext>Comment on attachment 292438
Patch

Clearing flags on attachment: 292438

Committed r207705: &lt;http://trac.webkit.org/changeset/207705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243275</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-21 22:30:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292438</attachid>
            <date>2016-10-21 17:25:37 -0700</date>
            <delta_ts>2016-10-21 22:30:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163816-20161021172158.patch</filename>
            <type>text/plain</type>
            <size>15382</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDRlYzM0YzQzNzRjM2Q4
NDllYmM0OTZmM2JmMDhhYjIzM2E4NzYxYS4uMjQ1ODBiNTViYzRhYjhmMmU3YTg4NjgzMzkwZDZh
N2VhMGNhNDU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBJRF0gT3ZlcmxvYWQg
cmVzb2x1dGlvbiBpcyB3cm9uZyBpZiBvbmUgb2YgdGhlIHR5cGVzIGlzIGEgbnVsbGFibGUgdW5p
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzgx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE92ZXJs
b2FkIHJlc29sdXRpb24gd2FzIHdyb25nIGlmIG9uZSBvZiB0aGUgdHlwZXMgd2FzIGEgbnVsbGFi
bGUgdW5pb24uIFRoaXMKKyAgICAgICAgaXMgYmVjYXVzZSB3ZSBuZXZlciBjb25zaWRlcmVkIHRo
ZSB1bmlvbiB0eXBlIGl0c2VsZiwgb25seSBpdHMgc3VidHlwZXMuCisgICAgICAgIFRoZXJlZm9y
ZSwgd2UgY2hlY2tlZCBpZiBhbnkgb2YgdGhlIHVuaW9uJ3Mgc3VidHlwZXMgd2VyZSBudWxsYWJs
ZSBidXQgd2UKKyAgICAgICAgZmFpbGVkIHRvIGNoZWNrIGlmIHRoZSB1bmlvbiBpdHNlbGYgd2Fz
IG51bGxhYmxlLgorCisgICAgICAgIFNlZToKKyAgICAgICAgLSBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNlcy1vdmVybG9hZHMgKFN0ZXAgMTEuMy4pCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBleHRlbmRlZCBiaW5kaW5ncyB0ZXN0cy4KKworICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0T3ZlcmxvYWRUaGF0TWF0Y2hl
c0lnbm9yaW5nVW5pb25TdWJ0eXBlcyk6CisgICAgICAgIChHZW5lcmF0ZU92ZXJsb2FkZWRGdW5j
dGlvbk9yQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25PdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uMSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24xQ2FsbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVs
bGFibGVVbmlvbjIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25PdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uMkNhbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24pOgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRp
b25hbFVuaW9uMSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24xQ2FsbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ompz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbjIpOgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRp
b25hbFVuaW9uMkNhbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbk92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoKKwogMjAxNi0xMC0yMSAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IChpbnNlcnRGcm9tfGRlbGV0
ZUJ5KUNvbXBvc2l0aW9uIGFuZCAoaW5zZXJ0fGRlbGV0ZSlDb21wb3NpdGlvblRleHQgaW5wdXRU
eXBlcyBmb3IgSW5wdXRFdmVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggN2JkOGI5ODU4ZjI2Y2IyOGI5OGJmYjQ3NDA1
NGQyZWYyN2U0YTAwZi4uZDZjMWNmNWVkNjRjN2NlYzY4ZDliMTA4NGI2MTQ4ODI4YmJjNTc2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTIwMzcsNiArMjAzNywxNyBAQCBzdWIgR2V0T3ZlcmxvYWRUaGF0TWF0Y2hlcwog
ICAgIH0KIH0KIAorc3ViIEdldE92ZXJsb2FkVGhhdE1hdGNoZXNJZ25vcmluZ1VuaW9uU3VidHlw
ZXMKK3sKKyAgICBteSAoJFMsICRwYXJhbWV0ZXJJbmRleCwgJG1hdGNoZXMpID0gQF87CisKKyAg
ICBmb3IgbXkgJHR1cGxlIChAeyRTfSkgeworICAgICAgICBteSAkaWRsVHlwZSA9IEB7QHskdHVw
bGV9WzFdfVskcGFyYW1ldGVySW5kZXhdOworICAgICAgICBteSAkb3B0aW9uYWxpdHkgPSBAe0B7
JHR1cGxlfVsyXX1bJHBhcmFtZXRlckluZGV4XTsKKyAgICAgICAgcmV0dXJuIEB7JHR1cGxlfVsw
XSBpZiAkbWF0Y2hlcy0+KCRpZGxUeXBlLCAkb3B0aW9uYWxpdHkpOworICAgIH0KK30KKwogc3Vi
IGdldENvbmRpdGlvbmFsRm9yRnVuY3Rpb25Db25zaWRlcmluZ092ZXJsb2FkcwogewogICAgIG15
ICRmdW5jdGlvbiA9IHNoaWZ0OwpAQCAtMjA4Niw5ICsyMDk3LDE3IEBAIHN1YiBHZW5lcmF0ZU92
ZXJsb2FkZWRGdW5jdGlvbk9yQ29uc3RydWN0b3IKICAgICAgICAgbXkgKCRpZGxUeXBlLCAkb3B0
aW9uYWxpdHkpID0gQF87CiAgICAgICAgIHJldHVybiAkaWRsVHlwZS0+bmFtZSBlcSAiRGljdGlv
bmFyeSIgfHwgJGNvZGVHZW5lcmF0b3ItPklzRGljdGlvbmFyeVR5cGUoJGlkbFR5cGUtPm5hbWUp
OwogICAgIH07Ci0gICAgbXkgJGlzTnVsbGFibGVPckRpY3Rpb25hcnlQYXJhbWV0ZXIgPSBzdWIg
eworICAgIG15ICRpc051bGxhYmxlT3JEaWN0aW9uYXJ5UGFyYW1ldGVyT3JVbmlvbkNvbnRhaW5p
bmdPbmUgPSBzdWIgewogICAgICAgICBteSAoJGlkbFR5cGUsICRvcHRpb25hbGl0eSkgPSBAXzsK
LSAgICAgICAgcmV0dXJuICRpZGxUeXBlLT5pc051bGxhYmxlIHx8ICYkaXNEaWN0aW9uYXJ5UGFy
YW1ldGVyKCRpZGxUeXBlLCAkb3B0aW9uYWxpdHkpOworICAgICAgICByZXR1cm4gMSBpZiAkaWRs
VHlwZS0+aXNOdWxsYWJsZTsKKyAgICAgICAgaWYgKCRpZGxUeXBlLT5pc1VuaW9uKSB7CisgICAg
ICAgICAgICBmb3IgbXkgJGlkbFN1YnR5cGUgKEdldEZsYXR0ZW5lZE1lbWJlclR5cGVzKCRpZGxU
eXBlKSkgeworICAgICAgICAgICAgICAgIHJldHVybiAxIGlmICRpZGxUeXBlLT5pc051bGxhYmxl
IHx8ICYkaXNEaWN0aW9uYXJ5UGFyYW1ldGVyKCRpZGxTdWJ0eXBlLCAkb3B0aW9uYWxpdHkpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICByZXR1cm4gJiRpc0RpY3Rpb25hcnlQYXJhbWV0ZXIoJGlkbFR5cGUsICRvcHRp
b25hbGl0eSk7CisgICAgICAgIH0KICAgICB9OwogICAgIG15ICRpc1JlZ0V4cE9yT2JqZWN0UGFy
YW1ldGVyID0gc3ViIHsKICAgICAgICAgbXkgKCRpZGxUeXBlLCAkb3B0aW9uYWxpdHkpID0gQF87
CkBAIC0yMTYyLDEwICsyMTgxLDEwIEBAIEVORAogICAgICAgICAgICAgbXkgJGQgPSBHZXREaXN0
aW5ndWlzaGluZ0FyZ3VtZW50SW5kZXgoJGZ1bmN0aW9uLCAkUyk7CiAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAgICAgSlNWYWx1ZSBkaXN0aW5ndWlzaGluZ0FyZyA9IHN0YXRl
LT51bmNoZWNrZWRBcmd1bWVudCgkZCk7XG4iKTsKIAotICAgICAgICAgICAgbXkgJG92ZXJsb2Fk
ID0gR2V0T3ZlcmxvYWRUaGF0TWF0Y2hlcygkUywgJGQsIFwmJGlzT3B0aW9uYWxQYXJhbWV0ZXIp
OworICAgICAgICAgICAgbXkgJG92ZXJsb2FkID0gR2V0T3ZlcmxvYWRUaGF0TWF0Y2hlc0lnbm9y
aW5nVW5pb25TdWJ0eXBlcygkUywgJGQsIFwmJGlzT3B0aW9uYWxQYXJhbWV0ZXIpOwogICAgICAg
ICAgICAgJiRnZW5lcmF0ZU92ZXJsb2FkQ2FsbElmTmVjZXNzYXJ5KCRvdmVybG9hZCwgImRpc3Rp
bmd1aXNoaW5nQXJnLmlzVW5kZWZpbmVkKCkiKTsKIAotICAgICAgICAgICAgJG92ZXJsb2FkID0g
R2V0T3ZlcmxvYWRUaGF0TWF0Y2hlcygkUywgJGQsIFwmJGlzTnVsbGFibGVPckRpY3Rpb25hcnlQ
YXJhbWV0ZXIpOworICAgICAgICAgICAgJG92ZXJsb2FkID0gR2V0T3ZlcmxvYWRUaGF0TWF0Y2hl
c0lnbm9yaW5nVW5pb25TdWJ0eXBlcygkUywgJGQsIFwmJGlzTnVsbGFibGVPckRpY3Rpb25hcnlQ
YXJhbWV0ZXJPclVuaW9uQ29udGFpbmluZ09uZSk7CiAgICAgICAgICAgICAmJGdlbmVyYXRlT3Zl
cmxvYWRDYWxsSWZOZWNlc3NhcnkoJG92ZXJsb2FkLCAiZGlzdGluZ3Vpc2hpbmdBcmcuaXNVbmRl
ZmluZWRPck51bGwoKSIpOwogCiAgICAgICAgICAgICBmb3IgbXkgJHR1cGxlIChAeyRTfSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmNwcAppbmRleCAyYWU1N2Q5MmFlNDgwM2JjZDdjMmQzZjY3YzJjZDkyZGFjN2IzNzliLi42
NTY2ZTkyMzM1OGE1NzAxNjU3Y2FmNWViNjIyOGJlMmMzYzMzZWEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAt
OTYwLDYgKzk2MCw4IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2RXaXRoCiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0
aG9kV2l0aERpc3Rpbmd1aXNoaW5nVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
ZWRNZXRob2RXaXRoMkRpc3Rpbmd1aXNoaW5nVW5pb25zKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25P
dmVybG9hZGVkTWV0aG9kV2l0aE5vbkRpc3Rpbmd1aXNoaW5nVW5pb24oSlNDOjpFeGVjU3RhdGUq
KTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92
ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRo
b2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoT3B0aW9uYWwoSlNDOjpF
eGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpD
b25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2QyKEpTQzo6RXhlY1N0YXRlKik7CkBAIC0xNTgx
LDYgKzE1ODMsOCBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90
eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAib3ZlcmxvYWRlZE1ldGhvZFdpdGhEaXN0aW5ndWlz
aGluZ1VuaW9uIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
ZWRNZXRob2RXaXRoRGlzdGluZ3Vpc2hpbmdVbmlvbiksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAg
ICB7ICJvdmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucyIsIEpTQzo6RnVu
Y3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlv
bj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5n
dWlzaGluZ1VuaW9ucyksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAgICB7ICJvdmVybG9hZGVkTWV0
aG9kV2l0aE5vbkRpc3Rpbmd1aXNoaW5nVW5pb24iLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlzaGluZ1VuaW9uKSwg
KGludHB0cl90KSAoMikgfSB9LAorICAgIHsgIm92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24iLCBK
U0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZl
RnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVV
bmlvbiksIChpbnRwdHJfdCkgKDEpIH0gfSwKKyAgICB7ICJvdmVybG9hZFdpdGhPcHRpb25hbFVu
aW9uIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE9w
dGlvbmFsVW5pb24pLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiY2xhc3NNZXRob2RXaXRo
Q2xhbXAiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ2xhc3NNZXRob2RX
aXRoQ2xhbXApLCAoaW50cHRyX3QpICgyKSB9IH0sCiAgICAgeyAiY2xhc3NNZXRob2RXaXRoRW5m
b3JjZVJhbmdlIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNsYXNzTWV0
aG9kV2l0aEVuZm9yY2VSYW5nZSksIChpbnRwdHJfdCkgKDIpIH0gfSwKICAgICB7ICJtZXRob2RX
aXRoVW5zaWduZWRMb25nU2VxdWVuY2UiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ1NlcXVlbmNlKSwgKGludHB0cl90KSAoMSkgfSB9
LApAQCAtNzAzMCw2ICs3MDM0LDEyNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaQogICAgIHJl
dHVybiBhcmdzQ291bnQgPCAyID8gdGhyb3dWTUVycm9yKHN0YXRlLCB0aHJvd1Njb3BlLCBjcmVh
dGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0ZSkpIDogdGhyb3dWTVR5cGVFcnJvcihzdGF0
ZSwgdGhyb3dTY29wZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24xQ2FsbGVy
KEpTQzo6RXhlY1N0YXRlKiwgSlNUZXN0T2JqKiwgSlNDOjpUaHJvd1Njb3BlJik7CisKK3N0YXRp
YyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9h
ZFdpdGhOdWxsYWJsZVVuaW9uMShFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIHJldHVybiBCaW5k
aW5nQ2FsbGVyPEpTVGVzdE9iaj46OmNhbGxPcGVyYXRpb248anNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uMUNhbGxlcj4oc3RhdGUsICJvdmVybG9hZFdp
dGhOdWxsYWJsZVVuaW9uIik7Cit9CisKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24xQ2Fs
bGVyKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzLCBKU0M6OlRo
cm93U2NvcGUmIHRocm93U2NvcGUpCit7CisgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBV
TlVTRURfUEFSQU0odGhyb3dTY29wZSk7CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndy
YXBwZWQoKTsKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQor
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihzdGF0ZSkpOworICAgIGF1dG8gb2JqZWN0T3JOb2RlID0gY29u
dmVydDxJRExOdWxsYWJsZTxJRExVbmlvbjxJRExJbnRlcmZhY2U8VGVzdE9iaj4sIElETEludGVy
ZmFjZTxUZXN0Tm9kZT4+Pj4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMCkpOwor
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Cisg
ICAgaW1wbC5vdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uKFdURk1vdmUob2JqZWN0T3JOb2RlKSk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKworc3RhdGlj
IGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3Zl
cmxvYWRXaXRoTnVsbGFibGVVbmlvbjJDYWxsZXIoSlNDOjpFeGVjU3RhdGUqLCBKU1Rlc3RPYmoq
LCBKU0M6OlRocm93U2NvcGUmKTsKKworc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24yKEV4ZWNTdGF0
ZSogc3RhdGUpCit7CisgICAgcmV0dXJuIEJpbmRpbmdDYWxsZXI8SlNUZXN0T2JqPjo6Y2FsbE9w
ZXJhdGlvbjxqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5p
b24yQ2FsbGVyPihzdGF0ZSwgIm92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24iKTsKK30KKworc3Rh
dGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
T3ZlcmxvYWRXaXRoTnVsbGFibGVVbmlvbjJDYWxsZXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBK
U1Rlc3RPYmoqIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKK3sKKyAg
ICBVTlVTRURfUEFSQU0oc3RhdGUpOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyAg
ICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOworICAgIGlmIChVTkxJS0VMWShz
dGF0ZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
c3RhdGUsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHN0YXRlKSk7
CisgICAgYXV0byBpbmRleCA9IGNvbnZlcnQ8SURMTG9uZz4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVj
a2VkQXJndW1lbnQoMCksIE5vcm1hbENvbnZlcnNpb24pOworICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgaW1wbC5vdmVybG9hZFdpdGhO
dWxsYWJsZVVuaW9uKFdURk1vdmUoaW5kZXgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVVbmlvbihFeGVjU3RhdGUq
IHN0YXRlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAgIGF1dG8gdGhyb3dTY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3Bl
KTsKKyAgICBzaXplX3QgYXJnc0NvdW50ID0gc3RkOjptaW48c2l6ZV90PigxLCBzdGF0ZS0+YXJn
dW1lbnRDb3VudCgpKTsKKyAgICBpZiAoYXJnc0NvdW50ID09IDEpIHsKKyAgICAgICAgSlNWYWx1
ZSBkaXN0aW5ndWlzaGluZ0FyZyA9IHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICAg
ICAgaWYgKGRpc3Rpbmd1aXNoaW5nQXJnLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAgICAgICAg
ICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZVVu
aW9uMShzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0FyZy5pc09iamVjdCgpICYm
IGFzT2JqZWN0KGRpc3Rpbmd1aXNoaW5nQXJnKS0+aW5oZXJpdHMoSlNUZXN0T2JqOjppbmZvKCkp
KQorICAgICAgICAgICAgcmV0dXJuIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRX
aXRoTnVsbGFibGVVbmlvbjEoc3RhdGUpOworICAgICAgICBpZiAoZGlzdGluZ3Vpc2hpbmdBcmcu
aXNPYmplY3QoKSAmJiBhc09iamVjdChkaXN0aW5ndWlzaGluZ0FyZyktPmluaGVyaXRzKEpTVGVz
dE5vZGU6OmluZm8oKSkpCisgICAgICAgICAgICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uMShzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0
aW5ndWlzaGluZ0FyZy5pc051bWJlcigpKQorICAgICAgICAgICAgcmV0dXJuIGpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVVbmlvbjIoc3RhdGUpOworICAgICAg
ICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZVVu
aW9uMihzdGF0ZSk7CisgICAgfQorICAgIHJldHVybiBhcmdzQ291bnQgPCAxID8gdGhyb3dWTUVy
cm9yKHN0YXRlLCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0
ZSkpIDogdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSwgdGhyb3dTY29wZSk7Cit9CisKK3N0YXRpYyBp
bmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJs
b2FkV2l0aE9wdGlvbmFsVW5pb24xQ2FsbGVyKEpTQzo6RXhlY1N0YXRlKiwgSlNUZXN0T2JqKiwg
SlNDOjpUaHJvd1Njb3BlJik7CisKK3N0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUganNUZXN0
T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uMShFeGVjU3RhdGUq
IHN0YXRlKQoreworICAgIHJldHVybiBCaW5kaW5nQ2FsbGVyPEpTVGVzdE9iaj46OmNhbGxPcGVy
YXRpb248anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRpb25hbFVuaW9u
MUNhbGxlcj4oc3RhdGUsICJvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uIik7Cit9CisKK3N0YXRp
YyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92
ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24xQ2FsbGVyKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNU
ZXN0T2JqKiBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRocm93U2NvcGUpCit7CisgICAg
VU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CisgICAg
YXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKKyAgICBhdXRvIG9iamVjdE9yTm9k
ZSA9IHN0YXRlLT5hcmd1bWVudCgwKS5pc1VuZGVmaW5lZCgpID8gdHJ1ZSA6IGNvbnZlcnQ8SURM
VW5pb248SURMRE9NU3RyaW5nLCBJRExCb29sZWFuPj4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2Vk
QXJndW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2Rl
ZEpTVmFsdWUoKSk7CisgICAgaW1wbC5vdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKFdURk1vdmUo
b2JqZWN0T3JOb2RlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKK30KKworc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbjJDYWxsZXIoSlNDOjpFeGVjU3Rh
dGUqLCBKU1Rlc3RPYmoqLCBKU0M6OlRocm93U2NvcGUmKTsKKworc3RhdGljIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE9wdGlvbmFs
VW5pb24yKEV4ZWNTdGF0ZSogc3RhdGUpCit7CisgICAgcmV0dXJuIEJpbmRpbmdDYWxsZXI8SlNU
ZXN0T2JqPjo6Y2FsbE9wZXJhdGlvbjxqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
V2l0aE9wdGlvbmFsVW5pb24yQ2FsbGVyPihzdGF0ZSwgIm92ZXJsb2FkV2l0aE9wdGlvbmFsVW5p
b24iKTsKK30KKworc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbjJDYWxsZXIoSlNDOjpFeGVj
U3RhdGUqIHN0YXRlLCBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29wZSYgdGhy
b3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc3RhdGUpOworICAgIFVOVVNFRF9QQVJBTSh0
aHJvd1Njb3BlKTsKKyAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOworICAg
IGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCisgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKHN0YXRlKSk7CisgICAgYXV0byBpbmRleCA9IGNvbnZlcnQ8SURMTG9uZz4oKnN0YXRl
LCBzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMCksIE5vcm1hbENvbnZlcnNpb24pOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgaW1w
bC5vdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKFdURk1vdmUoaW5kZXgpKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoT3B0aW9uYWxV
bmlvbihFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKKyAgICBzaXplX3QgYXJnc0NvdW50ID0gc3RkOjptaW48c2l6ZV90
PigxLCBzdGF0ZS0+YXJndW1lbnRDb3VudCgpKTsKKyAgICBpZiAoYXJnc0NvdW50ID09IDApIHsK
KyAgICAgICAgcmV0dXJuIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoT3B0
aW9uYWxVbmlvbjEoc3RhdGUpOworICAgIH0KKyAgICBpZiAoYXJnc0NvdW50ID09IDEpIHsKKyAg
ICAgICAgSlNWYWx1ZSBkaXN0aW5ndWlzaGluZ0FyZyA9IHN0YXRlLT51bmNoZWNrZWRBcmd1bWVu
dCgwKTsKKyAgICAgICAgaWYgKGRpc3Rpbmd1aXNoaW5nQXJnLmlzVW5kZWZpbmVkKCkpCisgICAg
ICAgICAgICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRp
b25hbFVuaW9uMShzdGF0ZSk7CisgICAgICAgIGlmIChkaXN0aW5ndWlzaGluZ0FyZy5pc0Jvb2xl
YW4oKSkKKyAgICAgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJs
b2FkV2l0aE9wdGlvbmFsVW5pb24xKHN0YXRlKTsKKyAgICAgICAgaWYgKGRpc3Rpbmd1aXNoaW5n
QXJnLmlzTnVtYmVyKCkpCisgICAgICAgICAgICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25PdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uMihzdGF0ZSk7CisgICAgICAgIHJldHVybiBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24xKHN0YXRl
KTsKKyAgICB9CisgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUp
OworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9iakNvbnN0cnVjdG9y
RnVuY3Rpb25DbGFzc01ldGhvZChFeGVjU3RhdGUqIHN0YXRlKQogewogICAgIFZNJiB2bSA9IHN0
YXRlLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RPYmouaWRsCmluZGV4IGI3NWJjZGY1ZjAyOWRlM2FiNTc3NDg2ZTlmNmZlZWI4Y2I2N2I2ZDEu
LmQyMjYxNDgzMDFmNDYwMWQyYWJjMzQwODFhOWI0YjJlN2QzOWQzMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTMwNyw2ICsz
MDcsMTIgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKIAog
ICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0
T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUsIFRlc3RPYmogb2JqZWN0KTsKICAgICB2b2lk
IG92ZXJsb2FkZWRNZXRob2RXaXRoTm9uRGlzdGluZ3Vpc2hpbmdVbmlvbigoVGVzdE9iaiBvciBU
ZXN0Tm9kZSkgb2JqZWN0T3JOb2RlLCBUZXN0Tm9kZSBub2RlKTsKKworICAgIHZvaWQgb3Zlcmxv
YWRXaXRoTnVsbGFibGVVbmlvbigoVGVzdE9iaiBvciBUZXN0Tm9kZSk/IG9iamVjdE9yTm9kZSk7
CisgICAgdm9pZCBvdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uKGxvbmcgaW5kZXgpOworCisgICAg
dm9pZCBvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKG9wdGlvbmFsIChET01TdHJpbmcgb3IgYm9v
bGVhbikgb2JqZWN0T3JOb2RlID0gdHJ1ZSk7CisgICAgdm9pZCBvdmVybG9hZFdpdGhPcHRpb25h
bFVuaW9uKGxvbmcgaW5kZXgpOwogI2VuZGlmCiAKICAgICAvLyBDbGFzcyBtZXRob2RzIHdpdGhp
biBKYXZhU2NyaXB0IChsaWtlIHdoYXQncyB1c2VkIGZvciBJREJLZXlSYW5nZSkuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>