<?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>151720</bug_id>
          
          <creation_ts>2015-12-01 13:28:25 -0800</creation_ts>
          <short_desc>Add &quot;RaisesExceptionWithMessage&quot; IDL attribute</short_desc>
          <delta_ts>2015-12-01 13:47:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Safari 9</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>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1145362</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 13:28:25 -0800</bug_when>
    <thetext>Add &quot;RaisesExceptionWithMessage&quot; IDL attribute

Exceptions can have a string message giving more information about the nature of the specific exception, even if it is a common ExceptionCode.

We&apos;ll need this for Modern IndexedDB.

To support this feature, the bindings generator should have an attribute to support it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145366</commentid>
    <comment_count>1</comment_count>
      <attachid>266387</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 13:32:41 -0800</bug_when>
    <thetext>Created attachment 266387
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145371</commentid>
    <comment_count>2</comment_count>
      <attachid>266387</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-12-01 13:42:10 -0800</bug_when>
    <thetext>Comment on attachment 266387
Patch v1

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

r=me.  Yay perl!

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2854
&gt; +            my $raisesExceptionWithMessage = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;};

I would put this line after this to prevent misuse and confusion:
die &quot;RaisesException and RaisesExceptionWithMessage are mutually exclusive&quot; if $raisesException &amp;&amp; $raisesExceptionWithMessage;

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3833
&gt; +            push(@implContent, $indent . &quot;    setDOMException(state, ec);\n&quot;) if $raisesException &amp;&amp; !$raisesExceptionWithMessage;

I don&apos;t think this &amp;&amp; !$raisesExceptionWithMessage is necessary.  Same with the two shortly following.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3893
&gt; +        push(@implContent, &quot;\n&quot; . $indent . &quot;setDOMException(state, ec);\n&quot;) if $raisesException &amp;&amp; !$raisesExceptionWithMessage;

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145373</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 13:47:20 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/192905</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266387</attachid>
            <date>2015-12-01 13:32:41 -0800</date>
            <delta_ts>2015-12-01 13:42:10 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>18235</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MDRkNWI4Li43ODJjOGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQg
QEAKIDIwMTUtMTItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIEFkZCAiUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UiIElETCBhdHRyaWJ1dGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
KENvdmVyZWQgYnkgY2hhbmdlcyB0byBleGlzdGluZyBiaW5kaW5ncyB0ZXN0cykuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2spOgor
ICAgICAgICAoR2VuZXJhdGVSZXR1cm5QYXJhbWV0ZXJzKToKKyAgICAgICAgKEdlbmVyYXRlSW1w
bGVtZW50YXRpb25GdW5jdGlvbkNhbGwpOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRl
ZmluaXRpb24pOgorICAgICAgICAKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpf
bWV0aG9kX3dpdGhfZXhjZXB0aW9uX3dpdGhfbWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aEV4Y2VwdGlvbldpdGhN
ZXNzYWdlKToKKyAgICAgICAgCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RPYmogbWV0aG9kV2l0aEV4Y2VwdGlvbldpdGhN
ZXNzYWdlXSk6CisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbDoKKworMjAxNS0xMi0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKICAgICAgICAgTW9kZXJuIElEQjogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1v
dmUtb2JqZWN0LXN0b3JlLmh0bWwgZmFpbHMuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MDQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiZmJjOGI2Li41NzgwOWY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtMjg1MSw2ICsyODUxLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgIG15ICRpc0N1c3RvbSA9IEhhc0N1c3RvbU1ldGhvZCgkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIG15ICRpc092ZXJsb2FkZWQg
PSAkZnVuY3Rpb24tPntvdmVybG9hZHN9ICYmIEB7JGZ1bmN0aW9uLT57b3ZlcmxvYWRzfX0gPiAx
OwogICAgICAgICAgICAgbXkgJHJhaXNlc0V4Y2VwdGlvbiA9ICRmdW5jdGlvbi0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmFpc2VzRXhjZXB0aW9uIn07CisgICAgICAgICAgICBt
eSAkcmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlIn07CiAKICAgICAg
ICAgICAgIG5leHQgaWYgJGlzQ3VzdG9tICYmICRpc092ZXJsb2FkZWQgJiYgJGZ1bmN0aW9uLT57
b3ZlcmxvYWRJbmRleH0gPiAxOwogCkBAIC0yOTAyLDcgKzI5MDMsOCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
ICAgIEdlbmVyYXRlQXJndW1lbnRzQ291bnRDaGVjayhcQGltcGxDb250ZW50LCAkZnVuY3Rpb24s
ICRpbnRlcmZhY2UpOwogCi0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIikgaWYgJHJhaXNlc0V4Y2VwdGlvbjsKKyAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7XG4iKSBpZiAkcmFpc2VzRXhjZXB0aW9uIHx8ICRyYWlzZXNFeGNlcHRpb25XaXRoTWVzc2Fn
ZTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgU3RyaW5nIGV4
Y2VwdGlvbk1lc3NhZ2U7XG4iKSBpZiAkcmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2U7CiAKICAg
ICAgICAgICAgICAgICAgICAgbXkgJG51bVBhcmFtZXRlcnMgPSBAeyRmdW5jdGlvbi0+cGFyYW1l
dGVyc307CiAgICAgICAgICAgICAgICAgICAgIG15ICgkZnVuY3Rpb25TdHJpbmcsICRkdW1teSkg
PSBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayhcQGltcGxDb250ZW50LCAkZnVuY3Rpb24sICRpbnRl
cmZhY2UsICRudW1QYXJhbWV0ZXJzLCAkaW50ZXJmYWNlTmFtZSwgJGZ1bmN0aW9uSW1wbGVtZW50
YXRpb25OYW1lLCAkc3ZnUHJvcGVydHlUeXBlLCAkc3ZnUHJvcGVydHlPckxpc3RQcm9wZXJ0eVR5
cGUsICRzdmdMaXN0UHJvcGVydHlUeXBlKTsKQEAgLTI5MzgsMTAgKzI5NDAsMTEgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIEdlbmVyYXRlQXJndW1lbnRzQ291bnRDaGVjayhcQGltcGxDb250
ZW50LCAkZnVuY3Rpb24sICRpbnRlcmZhY2UpOwogCi0gICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpIGlmICRyYWlz
ZXNFeGNlcHRpb247CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpIGlmICRyYWlzZXNFeGNlcHRpb24gfHwgJHJh
aXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlOworICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgU3RyaW5nIGV4Y2VwdGlvbk1lc3NhZ2U7XG4iKSBpZiAkcmFpc2Vz
RXhjZXB0aW9uV2l0aE1lc3NhZ2U7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZnVu
Y3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrU2VjdXJpdHlGb3JO
b2RlIn0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBpZiAoIXNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKHN0YXRlLCBpbXBsLiIgLiAkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+bmFtZSAuICIoIiAuICgkcmFpc2VzRXhjZXB0aW9uID8gImVjIiA6ICIi
KSAuIikpKVxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgaWYgKCFzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShzdGF0ZSwgaW1wbC4iIC4gJGZ1
bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiKCIgLiAoJHJhaXNlc0V4Y2VwdGlvbiA/ICJlYyIg
OiAkcmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UgPyAiZWMsIGV4Y2VwdGlvbk1lc3NhZ2UiIDog
IiIpIC4iKSkpXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7XG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0RPTUJpbmRpbmcuaCJ9
ID0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTMyODksNyArMzI5Miw4IEBAIHN1
YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAgIG15ICRhcmdzSW5kZXggPSAwOwogICAgIG15
ICRoYXNPcHRpb25hbEFyZ3VtZW50cyA9IDA7CiAgICAgbXkgJHJhaXNlc0V4Y2VwdGlvbiA9ICRm
dW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmFpc2VzRXhjZXB0aW9u
In07Ci0gICAgCisgICAgbXkgJHJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlID0gJGZ1bmN0aW9u
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSYWlzZXNFeGNlcHRpb25XaXRoTWVz
c2FnZSJ9OworCiAgICAgbXkgJGNsYXNzTmFtZSA9ICRpbnRlcmZhY2UtPm5hbWU7CiAgICAgbXkg
QGFyZ3VtZW50czsKICAgICBteSAkZnVuY3Rpb25OYW1lOwpAQCAtMzUzMyw3ICszNTM3LDggQEAg
c3ViIEdlbmVyYXRlUmV0dXJuUGFyYW1ldGVycwogICAgIG15IEBhcmd1bWVudHM7CiAKICAgICBw
dXNoKEBhcmd1bWVudHMsICJEZWZlcnJlZFdyYXBwZXIoc3RhdGUsIGNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpIikgaWYgSXNSZXR1cm5pbmdQcm9taXNlKCRmdW5j
dGlvbik7Ci0gICAgcHVzaChAYXJndW1lbnRzLCAiZWMiKSBpZiAkZnVuY3Rpb24tPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJhaXNlc0V4Y2VwdGlvbiJ9OworICAgIHB1c2goQGFy
Z3VtZW50cywgImVjIikgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJSYWlzZXNFeGNlcHRpb24ifSB8fCAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlIn07CisgICAgcHVzaChAYXJn
dW1lbnRzLCAiZXhjZXB0aW9uTWVzc2FnZSIpIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UifTsKICAgICByZXR1
cm4gQGFyZ3VtZW50czsKIH0KIApAQCAtMzgxNiw2ICszODIxLDcgQEAgc3ViIEdlbmVyYXRlSW1w
bGVtZW50YXRpb25GdW5jdGlvbkNhbGwoKQogCiAgICAgbXkgJG5vbmRldGVybWluaXN0aWMgPSAk
ZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vbmRldGVybWluaXN0
aWMifTsKICAgICBteSAkcmFpc2VzRXhjZXB0aW9uID0gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJSYWlzZXNFeGNlcHRpb24ifTsKKyAgICBteSAkcmFpc2VzRXhj
ZXB0aW9uV2l0aE1lc3NhZ2UgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IlJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlIn07CiAKICAgICBpZiAoJGZ1bmN0aW9u
LT5zaWduYXR1cmUtPnR5cGUgZXEgInZvaWQiIHx8IElzUmV0dXJuaW5nUHJvbWlzZSgkZnVuY3Rp
b24pKSB7CiAgICAgICAgIGlmICgkbm9uZGV0ZXJtaW5pc3RpYykgewpAQCAtMzgyNCwxOSArMzgz
MCwyMiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCgpCiAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJJbnB1dEN1cnNvciYgY3Vyc29yID0g
c3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+aW5wdXRDdXJzb3IoKTtcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAiaWYgKCFjdXJzb3IuaXNSZXBsYXlp
bmcoKSkge1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICIg
ICAgJGZ1bmN0aW9uU3RyaW5nO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
JGluZGVudCAuICIgICAgc2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7XG4iKSBpZiAkcmFpc2Vz
RXhjZXB0aW9uOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAiICAg
IHNldERPTUV4Y2VwdGlvbihzdGF0ZSwgZWMpO1xuIikgaWYgJHJhaXNlc0V4Y2VwdGlvbiAmJiAh
JHJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICRpbmRlbnQgLiAiICAgIHNldERPTUV4Y2VwdGlvbihzdGF0ZSwgZWMsIGV4Y2VwdGlvbk1l
c3NhZ2UpO1xuIikgaWYgJHJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAifVxuIik7CiAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiNlbHNlXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAk
aW5kZW50IC4gIiRmdW5jdGlvblN0cmluZztcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICRpbmRlbnQgLiAic2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7XG4iKSBpZiAkcmFp
c2VzRXhjZXB0aW9uOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAi
c2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7XG4iKSBpZiAkcmFpc2VzRXhjZXB0aW9uICYmICEk
cmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2U7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgJGluZGVudCAuICJzZXRET01FeGNlcHRpb24oc3RhdGUsIGVjLCBleGNlcHRpb25NZXNzYWdl
KTtcbiIpIGlmICRyYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZTsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiI2VuZGlmXG4iKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiRmdW5jdGlvblN0cmluZztcbiIpOwotICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAic2V0RE9NRXhjZXB0aW9uKHN0
YXRlLCBlYyk7XG4iKSBpZiAkcmFpc2VzRXhjZXB0aW9uOworICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICRpbmRlbnQgLiAic2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7XG4iKSBpZiAk
cmFpc2VzRXhjZXB0aW9uICYmICEkcmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2U7CisgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJzZXRET01FeGNlcHRpb24oc3RhdGUs
IGVjLCBleGNlcHRpb25NZXNzYWdlKTtcbiIpIGlmICRyYWlzZXNFeGNlcHRpb25XaXRoTWVzc2Fn
ZTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlIGFuZCAhJGZ1bmN0
aW9uLT5pc1N0YXRpYykgewotICAgICAgICAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb24pIHsKKyAg
ICAgICAgICAgIGlmICgkcmFpc2VzRXhjZXB0aW9uIHx8ICRyYWlzZXNFeGNlcHRpb25XaXRoTWVz
c2FnZSkgewogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gImlm
ICghZWMpXG4iKTsgCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQg
LiAiICAgIGltcGwuY29tbWl0Q2hhbmdlKCk7XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7CkBA
IC0zODYxLDcgKzM4NzAsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2Fs
bCgpCiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbWljU3RyaW5nPiBiaW5kaW5nTmFtZShcIiRiaW5kaW5nTmFt
ZVwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTtcbiIpOwogICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAiaWYgKGN1cnNvci5pc0NhcHR1cmluZygp
KSB7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiAgICAk
bmF0aXZlVHlwZSBtZW1vaXplZFJlc3VsdCA9ICRmdW5jdGlvblN0cmluZztcbiIpOwotICAgICAg
ICAgICAgbXkgJGV4Y2VwdGlvbkNvZGUgPSAkcmFpc2VzRXhjZXB0aW9uID8gImVjIiA6ICIwIjsK
KyAgICAgICAgICAgIG15ICRleGNlcHRpb25Db2RlID0gJHJhaXNlc0V4Y2VwdGlvbiB8fCAkcmFp
c2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UgPyAiZWMiIDogIjAiOwogICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICRpbmRlbnQgLiAiICAgIGN1cnNvci5hcHBlbmRJbnB1dDxNZW1vaXplZERP
TVJlc3VsdDwkbWVtb2l6ZWRUeXBlPj4oYmluZGluZ05hbWUuZ2V0KCkuc3RyaW5nKCksIG1lbW9p
emVkUmVzdWx0LCAkZXhjZXB0aW9uQ29kZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAkaW5kZW50IC4gIiAgICByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRmdW5j
dGlvbi0+c2lnbmF0dXJlLCAxLCAkaW50ZXJmYWNlTmFtZSwgIm1lbW9pemVkUmVzdWx0IiwgJHRo
aXNPYmplY3QpIC4gIjtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRl
bnQgLiAifSBlbHNlIGlmIChjdXJzb3IuaXNSZXBsYXlpbmcoKSkge1xuIik7CkBAIC0zODcwLDcg
KzM4NzksNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCgpCiAgICAg
ICAgICAgICAjIEZJWE1FOiB0aGUgZ2VuZXJhdGVkIGNvZGUgc2hvdWxkIHJlcG9ydCBhbiBlcnJv
ciBpZiBhbiBpbnB1dCBjYW5ub3QgYmUgZmV0Y2hlZCBvciBjb252ZXJ0ZWQuCiAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICIgICAgaWYgKGlucHV0ICYmIGlucHV0LT5j
b252ZXJ0VG88JG1lbW9pemVkVHlwZT4obWVtb2l6ZWRSZXN1bHQpKSB7XG4iKTsKICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiAgICAgICAgcmVzdWx0ID0gIiAuIE5h
dGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVyZSwgMSwgJGludGVyZmFjZU5hbWUsICJt
ZW1vaXplZFJlc3VsdCIsICR0aGlzT2JqZWN0KSAuICI7XG4iKTsKLSAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAkaW5kZW50IC4gIiAgICAgICAgZWMgPSBpbnB1dC0+ZXhjZXB0aW9uQ29k
ZSgpO1xuIikgaWYgJHJhaXNlc0V4Y2VwdGlvbjsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAkaW5kZW50IC4gIiAgICAgICAgZWMgPSBpbnB1dC0+ZXhjZXB0aW9uQ29kZSgpO1xuIikg
aWYgJHJhaXNlc0V4Y2VwdGlvbiB8fCAkcmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2U7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICIgICAgfSBlbHNlXG4iKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiAgICAgICAgcmVzdWx0ID0g
IiAuIE5hdGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVyZSwgMSwgJGludGVyZmFjZU5h
bWUsICRmdW5jdGlvblN0cmluZywgJHRoaXNPYmplY3QpIC4gIjtcbiIpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAifSBlbHNlXG4iKTsKQEAgLTM4ODEsNyArMzg5
MCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsKCkKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIkpTVmFs
dWUgcmVzdWx0ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVyZSwgMSwg
JGludGVyZmFjZU5hbWUsICRmdW5jdGlvblN0cmluZywgJHRoaXNPYmplY3QpIC4gIjtcbiIpOwog
ICAgICAgICB9Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gJGluZGVudCAuICJz
ZXRET01FeGNlcHRpb24oc3RhdGUsIGVjKTtcbiIpIGlmICRyYWlzZXNFeGNlcHRpb247CisgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gJGluZGVudCAuICJzZXRET01FeGNlcHRpb24o
c3RhdGUsIGVjKTtcbiIpIGlmICRyYWlzZXNFeGNlcHRpb24gJiYgISRyYWlzZXNFeGNlcHRpb25X
aXRoTWVzc2FnZTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIgLiAkaW5kZW50IC4g
InNldERPTUV4Y2VwdGlvbihzdGF0ZSwgZWMsIGV4Y2VwdGlvbk1lc3NhZ2UpO1xuIikgaWYgJHJh
aXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlOwogCiAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+
RXh0ZW5kZWRBdHRyaWJ1dGVDb250YWlucygkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkNhbGxXaXRoIn0sICJTY3JpcHRTdGF0ZSIpKSB7CiAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJpZiAoVU5MSUtFTFkoc3RhdGUtPmhhZEV4Y2Vw
dGlvbigpKSlcbiIpOwpAQCAtNDc4Niw5ICs0Nzk2LDEwIEBAIEVORAogCiAgICAgICAgICAgICBH
ZW5lcmF0ZUFyZ3VtZW50c0NvdW50Q2hlY2soJG91dHB1dEFycmF5LCAkZnVuY3Rpb24sICRpbnRl
cmZhY2UpOwogCi0gICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJSYWlzZXNFeGNlcHRpb24ifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JSYWlzZXNFeGNlcHRpb24ifSkgeworICAgICAgICAgICAg
aWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmFpc2VzRXhj
ZXB0aW9uIn0gfHwgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJS
YWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZSJ9IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiJ9KSB7CiAgICAgICAgICAgICAgICAg
JGltcGxJbmNsdWRlc3siRXhjZXB0aW9uQ29kZS5oIn0gPSAxOwogICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpOworICAgICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBTdHJpbmcgZXhjZXB0aW9uTWVzc2Fn
ZTtcbiIpIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmFp
c2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UifTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
IyBGSVhNRTogRm9yIG5vdywgd2UgZG8gbm90IHN1cHBvcnQgU1ZHIGNvbnN0cnVjdG9ycy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggZDYwZDFjOC4uODY4NTBkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTEyMzgsNiArMTIzOCwxNCBAQCB2
b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIEdFcnJvcioqCiAgICAgfQogfQogCit2b2lkIHdlYmtpdF9kb21fdGVzdF9v
YmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uX3dpdGhfbWVzc2FnZShXZWJLaXRET01UZXN0T2JqKiBz
ZWxmKQoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOworICAgIFdlYkNv
cmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CisgICAgaXRlbS0+bWV0aG9k
V2l0aEV4Y2VwdGlvbldpdGhNZXNzYWdlKCk7Cit9CisKIHZvaWQgd2Via2l0X2RvbV90ZXN0X29i
al93aXRoX3NjcmlwdF9zdGF0ZV92b2lkKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5oCmluZGV4IDk0YmQ1ZDAuLjNmZTA3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T2JqLmgKQEAgLTMwMSw2ICszMDEsMTUgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBH
RXJyb3IqKiBlcnJvcik7CiAKIC8qKgorICogd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0
aF9leGNlcHRpb25fd2l0aF9tZXNzYWdlOgorICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoK
KyAqCisgKiBTdGFiaWxpdHk6IFVuc3RhYmxlCisqKi8KK1dFQktJVF9BUEkgdm9pZAord2Via2l0
X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9leGNlcHRpb25fd2l0aF9tZXNzYWdlKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpOworCisvKioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3Jp
cHRfc3RhdGVfdm9pZDoKICAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCiAgKgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAppbmRleCBlNWYzYmQwLi44ZDA3NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTA0LDYgKzEwNCw3IEBA
IEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbk1ldGhvZFRoYXRSZXF1aXJlc0FsCiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25TZXJpYWxpemVkVmFsdWUoSlNDOjpFeGVjU3Rh
dGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk9wdGlvbnNPYmplY3QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhF
eGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhFeGNlcHRpb25XaXRoTWVz
c2FnZShKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9kKEpTQzo6RXhlY1N0YXRlKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25DdXN0b21NZXRob2RXaXRoQXJncyhKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1l
dGhvZChKU0M6OkV4ZWNTdGF0ZSopOwpAQCAtNjA1LDYgKzYwNiw3IEBAIHN0YXRpYyBjb25zdCBI
YXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAgICB7ICJz
ZXJpYWxpemVkVmFsdWUiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uU2Vy
aWFsaXplZFZhbHVlKSwgKGludHB0cl90KSAoMSkgfSB9LAogICAgIHsgIm9wdGlvbnNPYmplY3Qi
LCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0
aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3B0aW9uc09iamVjdCksIChp
bnRwdHJfdCkgKDEpIH0gfSwKICAgICB7ICJtZXRob2RXaXRoRXhjZXB0aW9uIiwgSlNDOjpGdW5j
dGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9u
Pihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhFeGNlcHRpb24pLCAoaW50cHRy
X3QpICgwKSB9IH0sCisgICAgeyAibWV0aG9kV2l0aEV4Y2VwdGlvbldpdGhNZXNzYWdlIiwgSlND
OjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1
bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhFeGNlcHRpb25XaXRo
TWVzc2FnZSksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJjdXN0b21NZXRob2QiLCBKU0M6
OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVu
Y3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9kKSwgKGludHB0cl90
KSAoMCkgfSB9LAogICAgIHsgImN1c3RvbU1ldGhvZFdpdGhBcmdzIiwgSlNDOjpGdW5jdGlvbiwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbU1ldGhvZFdpdGhBcmdzKSwgKGludHB0cl90KSAo
MykgfSB9LAogICAgIHsgImN1c3RvbUJpbmRpbmdNZXRob2QiLCBKU0M6OkZ1bmN0aW9uLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tQmluZGluZ01ldGhvZCksIChpbnRwdHJfdCkgKDApIH0g
fSwKQEAgLTM0ODIsNiArMzQ4NCwyMSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aEV4Y2VwdGlvbihFeGVjUwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoRXhjZXB0
aW9uV2l0aE1lc3NhZ2UoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IHN0YXRlLT50aGlzVmFsdWUoKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdE9iaio+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0
ZWRUaGlzKSkKKyAgICAgICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0
T2JqIiwgIm1ldGhvZFdpdGhFeGNlcHRpb25XaXRoTWVzc2FnZSIpOworICAgIEFTU0VSVF9HQ19P
QkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkpOworICAgIGF1dG8m
IGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CisgICAgU3RyaW5nIGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgaW1wbC5tZXRob2RXaXRoRXhjZXB0
aW9uV2l0aE1lc3NhZ2UoZWMsIGV4Y2VwdGlvbk1lc3NhZ2UpOworICAgIHNldERPTUV4Y2VwdGlv
bihzdGF0ZSwgZWMsIGV4Y2VwdGlvbk1lc3NhZ2UpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25DdXN0b21NZXRob2QoRXhlY1N0YXRlKiBzdGF0ZSkKIHsK
ICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IHN0YXRlLT50aGlzVmFsdWUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApp
bmRleCBmMzIxYTkxLi5lYzk1MThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC0xNDMsNiArMTQzLDcgQEAg
V0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBET01UZXN0T2JqIDogRE9NT2JqZWN0CiAtICh2b2lk
KXNlcmlhbGl6ZWRWYWx1ZTooTlNTdHJpbmcgKilzZXJpYWxpemVkQXJnOwogLSAodm9pZClvcHRp
b25zT2JqZWN0OihET01EaWN0aW9uYXJ5ICopb28gb29vOihET01EaWN0aW9uYXJ5ICopb29vOwog
LSAodm9pZCltZXRob2RXaXRoRXhjZXB0aW9uOworLSAodm9pZCltZXRob2RXaXRoRXhjZXB0aW9u
V2l0aE1lc3NhZ2U7CiAtICh2b2lkKWN1c3RvbU1ldGhvZDsKIC0gKHZvaWQpY3VzdG9tTWV0aG9k
V2l0aEFyZ3M6KGludClsb25nQXJnIHN0ckFyZzooTlNTdHJpbmcgKilzdHJBcmcgb2JqQXJnOihE
T01UZXN0T2JqICopb2JqQXJnOwogLSAodm9pZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAq
KXR5cGUgbGlzdGVuZXI6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJl
OihCT09MKXVzZUNhcHR1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCA1Nzg3ZDA1Li41MDNlNTc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RPYmoubW0KQEAgLTk2Nyw2ICs5NjcsMTIgQEAgLSAodm9pZCltZXRob2RXaXRoRXhj
ZXB0aW9uCiAgICAgV2ViQ29yZTo6cmFpc2VPbkRPTUVycm9yKGVjKTsKIH0KIAorLSAodm9pZClt
ZXRob2RXaXRoRXhjZXB0aW9uV2l0aE1lc3NhZ2UKK3sKKyAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgSU1QTC0+bWV0aG9kV2l0aEV4Y2VwdGlvbldpdGhNZXNz
YWdlKCk7Cit9CisKIC0gKHZvaWQpY3VzdG9tTWV0aG9kCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDllYjU2MzMuLmU3OGU4MjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTEwNCw2
ICsxMDQsNyBAQCBlbnVtIF9vcHRpb25hbCB7ICIiLCAiT3B0aW9uYWxWYWx1ZTEiLCAiT3B0aW9u
YWxWYWx1ZTIiLCAiT3B0aW9uYWxWYWx1ZTMiIH07CiAKICAgICAvLyBFeGNlcHRpb25zCiAgICAg
W1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBtZXRob2RXaXRoRXhjZXB0aW9uKCk7CisgICAgW1JhaXNl
c0V4Y2VwdGlvbldpdGhNZXNzYWdlXSB2b2lkIG1ldGhvZFdpdGhFeGNlcHRpb25XaXRoTWVzc2Fn
ZSgpOwogICAgIFtHZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSBsb25nIGF0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uOwogICAgIFtTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSBs
b25nIGF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uOwogICAgIFtHZXR0ZXJSYWlzZXNFeGNlcHRpb25d
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb247Cg==
</data>
<flag name="review"
          id="291403"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>