<?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>163695</bug_id>
          
          <creation_ts>2016-10-19 14:42:54 -0700</creation_ts>
          <short_desc>Add support for sequences and dictionaries in unions</short_desc>
          <delta_ts>2016-10-21 17:35:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1242123</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-10-19 14:42:54 -0700</bug_when>
    <thetext>Add support for sequences and dictionaries in unions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242125</commentid>
    <comment_count>1</comment_count>
      <attachid>292113</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-10-19 14:49:45 -0700</bug_when>
    <thetext>Created attachment 292113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242128</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-19 14:51:02 -0700</bug_when>
    <thetext>Attachment 292113 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:481:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:482:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:487:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:488:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:492:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:493:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:497:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:498:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:502:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:503:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:524:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:569:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:582:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebCore/bindings/js/JSDOMConvert.h:592:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 14 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242137</commentid>
    <comment_count>3</comment_count>
      <attachid>292113</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-19 15:03:44 -0700</bug_when>
    <thetext>Comment on attachment 292113
Patch

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

&gt; Source/WebCore/testing/TypeConversions.idl:58
&gt; +    readonly attribute DOMString typeConversionsDictionaryUnionType; // Returns one of the following strings: &quot;Node&quot;, &quot;sequence&lt;DOMString&gt;&quot;, &quot;Dictionary&quot;.&quot; 

Seems like this should use an IDL string enumeration?

&gt; LayoutTests/js/dom/webidl-type-mapping.html:596
&gt; +// Test (DOMString or sequence&lt;DOMString&gt;)

I do not understand this comment. it seems to test something else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242142</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-10-19 15:07:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 292113 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292113&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/testing/TypeConversions.idl:58
&gt; &gt; +    readonly attribute DOMString typeConversionsDictionaryUnionType; // Returns one of the following strings: &quot;Node&quot;, &quot;sequence&lt;DOMString&gt;&quot;, &quot;Dictionary&quot;.&quot; 
&gt; 
&gt; Seems like this should use an IDL string enumeration?
&gt; 
&gt; &gt; LayoutTests/js/dom/webidl-type-mapping.html:596
&gt; &gt; +// Test (DOMString or sequence&lt;DOMString&gt;)
&gt; 
&gt; I do not understand this comment. it seems to test something else.

Oops. From an earlier version. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242182</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-10-19 16:33:57 -0700</bug_when>
    <thetext>Committed r207575: &lt;http://trac.webkit.org/changeset/207575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243191</commentid>
    <comment_count>6</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-10-21 17:35:12 -0700</bug_when>
    <thetext>*** Bug 163619 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243193</commentid>
    <comment_count>7</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-10-21 17:35:30 -0700</bug_when>
    <thetext>*** Bug 163614 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292113</attachid>
            <date>2016-10-19 14:49:45 -0700</date>
            <delta_ts>2016-10-19 15:03:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163695-20161019144609.patch</filename>
            <type>text/plain</type>
            <size>23291</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzU3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE2LTEwLTE5ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNlcXVlbmNl
cyBhbmQgZGljdGlvbmFyaWVzIGluIHVuaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6CisgICAgICAgICAtIFVwZGF0ZWQganMvZG9tL3dl
YmlkbC10eXBlLW1hcHBpbmcuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9JRExU
eXBlcy5oOgorICAgICAgICBBZGQgYWRkaXRpb25hbCBoZWxwZXIgcHJlZGljYXRlcyBhbmQgZml4
IGZvcm1hdHRpbmcuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAg
ICAgICAgRXhwb3J0IGhhc0l0ZXJhdG9yTWV0aG9kIGZvciB1c2UgaW4gdGVzdGluZy4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oOgorICAgICAgICAtIENoYW5nZSByZXR1
cm4gdHlwZSBvZiBDb252ZXJ0ZXI8SURMRGljdGlvbmFyeTxUPj4gdG8gVCwgZnJvbSBPcHRpb25h
bDxUPi4KKyAgICAgICAgLSBBZGQgc3VwcG9ydCBmb3IgdW5pb25zIGNvbnZlcnNpb24gc3RlcCAx
MiAocGFydHMgMS0zKS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVEZWZhdWx0VmFsdWUpOgorICAgICAgICBTdXBwb3J0
IGNvbXBsZXggZGVmYXVsdCB2YWx1ZSBjb21wdXRhdGlvbnMgZm9yIHVuaW9ucyB1c2luZyB0aGUg
Y29udmVydCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hl
Y2spOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAgICBS
ZW1vdmUgaW5jb3JyZWN0IC52YWx1ZSgpIGNhbGxzIG5vdyB0aGF0IENvbnZlcnRlcjxJRExEaWN0
aW9uYXJ5PFQ+PiByZXR1cm5zIFQuCisKKyAgICAgICAgKiB0ZXN0aW5nL1R5cGVDb252ZXJzaW9u
cy5oOgorICAgICAgICAoV2ViQ29yZTo6VHlwZUNvbnZlcnNpb25zOjpzZXRUeXBlQ29udmVyc2lv
bnNEaWN0aW9uYXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlR5cGVDb252ZXJzaW9uczo6dHlwZUNv
bnZlcnNpb25zRGljdGlvbmFyeUxvbmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpUeXBlQ29u
dmVyc2lvbnM6OnR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlTdHJpbmdWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpUeXBlQ29udmVyc2lvbnM6OnR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlTZXF1
ZW5jZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlR5cGVDb252ZXJzaW9uczo6dHlwZUNvbnZl
cnNpb25zRGljdGlvbmFyeVVuaW9uVHlwZSk6CisgICAgICAgICogdGVzdGluZy9UeXBlQ29udmVy
c2lvbnMuaWRsOgorICAgICAgICBBZGQgc29tZSBjb21wbGV4IHR5cGVzIHRvIGFsbG93IHRlc3Rp
bmcgSURMIGNvbnZlcnNpb25zIGZyb20gdGVzdHMuCisKIDIwMTYtMTAtMTkgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjIwNzU1Ny4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvSURMVHlw
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0lETFR5
cGVzLmgJKHJldmlzaW9uIDIwNzU3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvSURMVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDE2ICsxMjMsMjUgQEAgc3RydWN0
IElETEJ1ZmZlclNvdXJjZSA6IElETFR5cGU8QnVmZmVyUwogCiAvLyBIZWxwZXIgcHJlZGljYXRl
cwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdHJ1Y3Qg
SXNJRExJbnRlcmZhY2UgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBXVEY6
OklzVGVtcGxhdGU8VCwgSURMSW50ZXJmYWNlPjo6dmFsdWU+IHsgfTsKIAotdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IElzSURMRGljdGlvbmFyeSA6
IHB1YmxpYyBzdGQ6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIFdURjo6SXNUZW1wbGF0ZTxULCBJ
RExEaWN0aW9uYXJ5Pjo6dmFsdWU+IHsgfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IElzSURMRW51bWVyYXRpb24gOiBwdWJsaWMgc3RkOjpp
bnRlZ3JhbF9jb25zdGFudDxib29sLCBXVEY6OklzVGVtcGxhdGU8VCwgSURMRW51bWVyYXRpb24+
Ojp2YWx1ZT4geyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IElzSURMU2VxdWVu
Y2UgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBXVEY6OklzVGVtcGxhdGU8
VCwgSURMU2VxdWVuY2U+Ojp2YWx1ZT4geyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3Ry
dWN0IElzSURMRnJvemVuQXJyYXkgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29s
LCBXVEY6OklzVGVtcGxhdGU8VCwgSURMRnJvemVuQXJyYXk+Ojp2YWx1ZT4geyB9OworCit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IElzSURMTnVtYmVyIDogcHVibGljIHN0ZDo6aW50ZWdy
YWxfY29uc3RhbnQ8Ym9vbCwgV1RGOjpJc0Jhc2VPZlRlbXBsYXRlPElETE51bWJlciwgVD46OnZh
bHVlPiB7IH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgordGVtcGxhdGU8dHlwZW5hbWUgVD4K
IHN0cnVjdCBJc0lETEludGVnZXIgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29s
LCBXVEY6OklzQmFzZU9mVGVtcGxhdGU8SURMSW50ZWdlciwgVD46OnZhbHVlPiB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5oCShyZXZpc2lvbiAyMDc1NzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDcgKzMwMSw3IEBAIFJl
ZlB0cjxKU0M6OkZsb2F0MzJBcnJheT4gdG9GbG9hdDMyQXJyYXkKIFJlZlB0cjxKU0M6OkZsb2F0
NjRBcnJheT4gdG9GbG9hdDY0QXJyYXkoSlNDOjpKU1ZhbHVlKTsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVCwgdHlwZW5hbWUgSlNUeXBlPiBWZWN0b3I8UmVmPFQ+PiB0b1JlZk5hdGl2ZUFycmF5KEpT
Qzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlKTsKLWJvb2wgaGFzSXRlcmF0b3JNZXRob2QoSlND
OjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJdGVy
YXRvck1ldGhvZChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSk7CiAKIGJvb2wgc2hvdWxk
QWxsb3dBY2Nlc3NUb05vZGUoSlNDOjpFeGVjU3RhdGUqLCBOb2RlKik7CiBib29sIHNob3VsZEFs
bG93QWNjZXNzVG9GcmFtZShKU0M6OkV4ZWNTdGF0ZSosIEZyYW1lKik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaAkocmV2aXNpb24gMjA3NTcwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQwOCw3ICs0MDgsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29udmVydGVy
PElECiAvLyBNQVJLOiBEaWN0aW9uYXJ5IHR5cGUKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IENvbnZlcnRlcjxJRExEaWN0aW9uYXJ5PFQ+PiA6IERlZmF1bHRDb252ZXJ0ZXI8SURMRGlj
dGlvbmFyeTxUPj4gewotICAgIHVzaW5nIFJldHVyblR5cGUgPSBPcHRpb25hbDxUPjsKKyAgICB1
c2luZyBSZXR1cm5UeXBlID0gVDsKIAogICAgIHN0YXRpYyBSZXR1cm5UeXBlIGNvbnZlcnQoSlND
OjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUpCiAgICAgewpAQCAtNDc2LDE3
ICs0NzYsMzMgQEAgc3RydWN0IENvbnZlcnRlcjxJRExVbmlvbjxULi4uPj4gOiBEZWZhdQogICAg
IHVzaW5nIFR5cGVMaXN0ID0gdHlwZW5hbWUgVHlwZTo6VHlwZUxpc3Q7CiAgICAgdXNpbmcgUmV0
dXJuVHlwZSA9IHR5cGVuYW1lIFR5cGU6OkltcGxlbWVudGF0aW9uVHlwZTsKIAotICAgIHVzaW5n
IERpY3Rpb25hcnlUeXBlTGlzdCA9IGJyaWdhbmQ6OmZpbmQ8VHlwZUxpc3QsIElzSURMRGljdGlv
bmFyeTxicmlnYW5kOjpfMT4+OwotICAgIHVzaW5nIERpY3Rpb25hcnlUeXBlID0gQ29uZGl0aW9u
YWxGcm9udDxEaWN0aW9uYXJ5VHlwZUxpc3QsIGJyaWdhbmQ6OnNpemU8RGljdGlvbmFyeVR5cGVM
aXN0Pjo6dmFsdWUgIT0gMD47Ci0gICAgc3RhdGljX2Fzc2VydChicmlnYW5kOjpzaXplPERpY3Rp
b25hcnlUeXBlTGlzdD46OnZhbHVlID09IDAgfHwgYnJpZ2FuZDo6c2l6ZTxEaWN0aW9uYXJ5VHlw
ZUxpc3Q+Ojp2YWx1ZSA9PSAxLCAiVGhlcmUgY2FuIGJlIDAgb3IgMSBkaWN0aW9uYXJ5IHR5cGVz
IGluIGFuIElETFVuaW9uLiIpOwotCi0gICAgdXNpbmcgTnVtZXJpY1R5cGVMaXN0ID0gYnJpZ2Fu
ZDo6ZmluZDxUeXBlTGlzdCwgSXNJRExOdW1iZXI8YnJpZ2FuZDo6XzE+PjsKLSAgICB1c2luZyBO
dW1lcmljVHlwZSA9IENvbmRpdGlvbmFsRnJvbnQ8TnVtZXJpY1R5cGVMaXN0LCBicmlnYW5kOjpz
aXplPE51bWVyaWNUeXBlTGlzdD46OnZhbHVlICE9IDA+OwotICAgIHN0YXRpY19hc3NlcnQoYnJp
Z2FuZDo6c2l6ZTxOdW1lcmljVHlwZUxpc3Q+Ojp2YWx1ZSA9PSAwIHx8IGJyaWdhbmQ6OnNpemU8
TnVtZXJpY1R5cGVMaXN0Pjo6dmFsdWUgPT0gMSwgIlRoZXJlIGNhbiBiZSAwIG9yIDEgbnVtZXJp
YyB0eXBlcyBpbiBhbiBJRExVbmlvbi4iKTsKLQotICAgIHVzaW5nIFN0cmluZ1R5cGVMaXN0ID0g
YnJpZ2FuZDo6ZmluZDxUeXBlTGlzdCwgc3RkOjppc19iYXNlX29mPElETFN0cmluZywgYnJpZ2Fu
ZDo6XzE+PjsKLSAgICB1c2luZyBTdHJpbmdUeXBlID0gQ29uZGl0aW9uYWxGcm9udDxTdHJpbmdU
eXBlTGlzdCwgYnJpZ2FuZDo6c2l6ZTxTdHJpbmdUeXBlTGlzdD46OnZhbHVlICE9IDA+OwotICAg
IHN0YXRpY19hc3NlcnQoYnJpZ2FuZDo6c2l6ZTxTdHJpbmdUeXBlTGlzdD46OnZhbHVlID09IDAg
fHwgYnJpZ2FuZDo6c2l6ZTxTdHJpbmdUeXBlTGlzdD46OnZhbHVlID09IDEsICJUaGVyZSBjYW4g
YmUgMCBvciAxIHN0cmluZyB0eXBlcyBpbiBhbiBJRExVbmlvbi4iKTsKKyAgICB1c2luZyBOdW1l
cmljVHlwZUxpc3QgPSBicmlnYW5kOjpmaWx0ZXI8VHlwZUxpc3QsIElzSURMTnVtYmVyPGJyaWdh
bmQ6Ol8xPj47CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbnVtYmVyT2ZOdW1lcmljVHlw
ZXMgPSBicmlnYW5kOjpzaXplPE51bWVyaWNUeXBlTGlzdD46OnZhbHVlOworICAgIHN0YXRpY19h
c3NlcnQobnVtYmVyT2ZOdW1lcmljVHlwZXMgPT0gMCB8fCBudW1iZXJPZk51bWVyaWNUeXBlcyA9
PSAxLCAiVGhlcmUgY2FuIGJlIDAgb3IgMSBudW1lcmljIHR5cGVzIGluIGFuIElETFVuaW9uLiIp
OworICAgIHVzaW5nIE51bWVyaWNUeXBlID0gQ29uZGl0aW9uYWxGcm9udDxOdW1lcmljVHlwZUxp
c3QsIG51bWJlck9mTnVtZXJpY1R5cGVzICE9IDA+OworCisgICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGFsc28gY2hlY2sgZm9yIElETEVudW1lcmF0aW9uPFQ+LgorICAgIHVzaW5nIFN0cmluZ1R5
cGVMaXN0ID0gYnJpZ2FuZDo6ZmlsdGVyPFR5cGVMaXN0LCBzdGQ6OmlzX2Jhc2Vfb2Y8SURMU3Ry
aW5nLCBicmlnYW5kOjpfMT4+OworICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IG51bWJlck9m
U3RyaW5nVHlwZXMgPSBicmlnYW5kOjpzaXplPFN0cmluZ1R5cGVMaXN0Pjo6dmFsdWU7CisgICAg
c3RhdGljX2Fzc2VydChudW1iZXJPZlN0cmluZ1R5cGVzID09IDAgfHwgbnVtYmVyT2ZTdHJpbmdU
eXBlcyA9PSAxLCAiVGhlcmUgY2FuIGJlIDAgb3IgMSBzdHJpbmcgdHlwZXMgaW4gYW4gSURMVW5p
b24uIik7CisgICAgdXNpbmcgU3RyaW5nVHlwZSA9IENvbmRpdGlvbmFsRnJvbnQ8U3RyaW5nVHlw
ZUxpc3QsIG51bWJlck9mU3RyaW5nVHlwZXMgIT0gMD47CisKKyAgICB1c2luZyBTZXF1ZW5jZVR5
cGVMaXN0ID0gYnJpZ2FuZDo6ZmlsdGVyPFR5cGVMaXN0LCBJc0lETFNlcXVlbmNlPGJyaWdhbmQ6
Ol8xPj47CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbnVtYmVyT2ZTZXF1ZW5jZVR5cGVz
ID0gYnJpZ2FuZDo6c2l6ZTxTZXF1ZW5jZVR5cGVMaXN0Pjo6dmFsdWU7CisgICAgc3RhdGljX2Fz
c2VydChudW1iZXJPZlNlcXVlbmNlVHlwZXMgPT0gMCB8fCBudW1iZXJPZlNlcXVlbmNlVHlwZXMg
PT0gMSwgIlRoZXJlIGNhbiBiZSAwIG9yIDEgc2VxdWVuY2UgdHlwZXMgaW4gYW4gSURMVW5pb24u
Iik7CisgICAgdXNpbmcgU2VxdWVuY2VUeXBlID0gQ29uZGl0aW9uYWxGcm9udDxTZXF1ZW5jZVR5
cGVMaXN0LCBudW1iZXJPZlNlcXVlbmNlVHlwZXMgIT0gMD47CisKKyAgICB1c2luZyBGcm96ZW5B
cnJheVR5cGVMaXN0ID0gYnJpZ2FuZDo6ZmlsdGVyPFR5cGVMaXN0LCBJc0lETEZyb3plbkFycmF5
PGJyaWdhbmQ6Ol8xPj47CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbnVtYmVyT2ZGcm96
ZW5BcnJheVR5cGVzID0gYnJpZ2FuZDo6c2l6ZTxGcm96ZW5BcnJheVR5cGVMaXN0Pjo6dmFsdWU7
CisgICAgc3RhdGljX2Fzc2VydChudW1iZXJPZkZyb3plbkFycmF5VHlwZXMgPT0gMCB8fCBudW1i
ZXJPZkZyb3plbkFycmF5VHlwZXMgPT0gMSwgIlRoZXJlIGNhbiBiZSAwIG9yIDEgRnJvemVuQXJy
YXkgdHlwZXMgaW4gYW4gSURMVW5pb24uIik7CisgICAgdXNpbmcgRnJvemVuQXJyYXlUeXBlID0g
Q29uZGl0aW9uYWxGcm9udDxGcm96ZW5BcnJheVR5cGVMaXN0LCBudW1iZXJPZkZyb3plbkFycmF5
VHlwZXMgIT0gMD47CisKKyAgICB1c2luZyBEaWN0aW9uYXJ5VHlwZUxpc3QgPSBicmlnYW5kOjpm
aWx0ZXI8VHlwZUxpc3QsIElzSURMRGljdGlvbmFyeTxicmlnYW5kOjpfMT4+OworICAgIHN0YXRp
YyBjb25zdGV4cHIgc2l6ZV90IG51bWJlck9mRGljdGlvbmFyeVR5cGVzID0gYnJpZ2FuZDo6c2l6
ZTxEaWN0aW9uYXJ5VHlwZUxpc3Q+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0KG51bWJlck9m
RGljdGlvbmFyeVR5cGVzID09IDAgfHwgbnVtYmVyT2ZEaWN0aW9uYXJ5VHlwZXMgPT0gMSwgIlRo
ZXJlIGNhbiBiZSAwIG9yIDEgZGljdGlvbmFyeSB0eXBlcyBpbiBhbiBJRExVbmlvbi4iKTsKKyAg
ICB1c2luZyBEaWN0aW9uYXJ5VHlwZSA9IENvbmRpdGlvbmFsRnJvbnQ8RGljdGlvbmFyeVR5cGVM
aXN0LCBudW1iZXJPZkRpY3Rpb25hcnlUeXBlcyAhPSAwPjsKKworICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBoYXNPYmplY3RUeXBlID0gKG51bWJlck9mU2VxdWVuY2VUeXBlcyArIG51bWJlck9m
RnJvemVuQXJyYXlUeXBlcyArIG51bWJlck9mRGljdGlvbmFyeVR5cGVzKSA+IDA7CiAKICAgICB1
c2luZyBJbnRlcmZhY2VUeXBlTGlzdCA9IGJyaWdhbmQ6OmZpbHRlcjxUeXBlTGlzdCwgSXNJRExJ
bnRlcmZhY2U8YnJpZ2FuZDo6XzE+PjsKIApAQCAtNTA1LDcgKzUyMSw3IEBAIHN0cnVjdCBDb252
ZXJ0ZXI8SURMVW5pb248VC4uLj4+IDogRGVmYXUKICAgICAgICAgLy8gTk9URTogVW5pb24gaXMg
ZXhwZWN0ZWQgdG8gYmUgcHJlLWZsYXR0ZW50ZWQuCiAgICAgICAgIAogICAgICAgICAvLyAzLiBJ
ZiBWIGlzIG51bGwgb3IgdW5kZWZpbmVkLCBhbmQgdHlwZXMgaW5jbHVkZXMgYSBkaWN0aW9uYXJ5
IHR5cGUsIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YgY29udmVydGluZyBWIHRvIHRoYXQgZGlj
dGlvbmFyeSB0eXBlLgotICAgICAgICBjb25zdGV4cHIgYm9vbCBoYXNEaWN0aW9uYXJ5VHlwZSA9
IGJyaWdhbmQ6OnNpemU8RGljdGlvbmFyeVR5cGVMaXN0Pjo6dmFsdWUgIT0gMDsKKyAgICAgICAg
Y29uc3RleHByIGJvb2wgaGFzRGljdGlvbmFyeVR5cGUgPSBudW1iZXJPZkRpY3Rpb25hcnlUeXBl
cyAhPSAwOwogICAgICAgICBpZiAoaGFzRGljdGlvbmFyeVR5cGUpIHsKICAgICAgICAgICAgIGlm
ICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om1vdmU8V1RGOjpDaGVja01vdmVQYXJhbWV0ZXI+KENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVy
blR5cGUsIERpY3Rpb25hcnlUeXBlLCBoYXNEaWN0aW9uYXJ5VHlwZT46OmNvbnZlcnQoc3RhdGUs
IHZhbHVlKS52YWx1ZSgpKTsKQEAgLTUzNSw4ICs1NTEsNTggQEAgc3RydWN0IENvbnZlcnRlcjxJ
RExVbmlvbjxULi4uPj4gOiBEZWZhdQogICAgICAgICAgICAgICAgIHJldHVybiBXVEZNb3ZlKHJl
dHVyblZhbHVlLnZhbHVlKCkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIHN0ZXBzIDUgLSAxMi4KLSAgICAgICAgCisgICAgICAgIC8vIEZJ
WE1FOiBBZGQgc3VwcG9ydCBmb3Igc3RlcHMgNSAtIDExLgorCisgICAgICAgIC8vIDEyLiBJZiBW
IGlzIGFueSBraW5kIG9mIG9iamVjdCBleGNlcHQgZm9yIGEgbmF0aXZlIFJlZ0V4cCBvYmplY3Qs
IHRoZW46CisgICAgICAgIGlmIChoYXNPYmplY3RUeXBlKSB7CisgICAgICAgICAgICBpZiAodmFs
dWUuaXNDZWxsKCkpIHsKKyAgICAgICAgICAgICAgICBKU0M6OkpTQ2VsbCogY2VsbCA9IHZhbHVl
LmFzQ2VsbCgpOworICAgICAgICAgICAgICAgIGlmIChjZWxsLT5pc09iamVjdCgpICYmIGNlbGwt
PnR5cGUoKSAhPSBKU0M6OlJlZ0V4cE9iamVjdFR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIG9wdGltaXplIHRoZSBmb2xsb3dpbmcgY29k
ZSBieSBtYWtpbmcgdXNlCisgICAgICAgICAgICAgICAgICAgIC8vIG9mIHRoZSBmYWN0IHRoYXQg
d2UgaGF2ZSBwcm92ZWQgdGhhdCB0aGUgdmFsdWUgaXMgYW4gb2JqZWN0LiAKKyAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgIDEuIElmIHR5cGVzIGluY2x1ZGVzIGEg
c2VxdWVuY2UgdHlwZSwgdGhlbjoKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAxLiBM
ZXQgbWV0aG9kIGJlIHRoZSByZXN1bHQgb2YgR2V0TWV0aG9kKFYsIEBAaXRlcmF0b3IpLgorICAg
ICAgICAgICAgICAgICAgICAvLyAgICAgICAgIDIuIFJldHVybklmQWJydXB0KG1ldGhvZCkuCisg
ICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgMy4gSWYgbWV0aG9kIGlzIG5vdCB1bmRlZmlu
ZWQsIHJldHVybiB0aGUgcmVzdWx0IG9mIGNyZWF0aW5nIGEKKyAgICAgICAgICAgICAgICAgICAg
Ly8gICAgICAgICAgICBzZXF1ZW5jZSBvZiB0aGF0IHR5cGUgZnJvbSBWIGFuZCBtZXRob2QuICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgY29uc3RleHByIGJvb2wgaGFzU2VxdWVuY2VUeXBl
ID0gbnVtYmVyT2ZTZXF1ZW5jZVR5cGVzICE9IDA7CisgICAgICAgICAgICAgICAgICAgIGlmICho
YXNTZXF1ZW5jZVR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzSXRlcmF0
b3IgPSBoYXNJdGVyYXRvck1ldGhvZChzdGF0ZSwgdmFsdWUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgUmV0dXJuVHlwZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChoYXNJdGVyYXRvcikKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25h
bENvbnZlcnRlcjxSZXR1cm5UeXBlLCBTZXF1ZW5jZVR5cGUsIGhhc1NlcXVlbmNlVHlwZT46OmNv
bnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgICAgIC8vICAgICAyLiBJZiB0eXBlcyBpbmNsdWRlcyBhIGZyb3plbiBh
cnJheSB0eXBlLCB0aGVuOgorICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIDEuIExldCBt
ZXRob2QgYmUgdGhlIHJlc3VsdCBvZiBHZXRNZXRob2QoViwgQEBpdGVyYXRvcikuCisgICAgICAg
ICAgICAgICAgICAgIC8vICAgICAgICAgMi4gUmV0dXJuSWZBYnJ1cHQobWV0aG9kKS4KKyAgICAg
ICAgICAgICAgICAgICAgLy8gICAgICAgICAzLiBJZiBtZXRob2QgaXMgbm90IHVuZGVmaW5lZCwg
cmV0dXJuIHRoZSByZXN1bHQgb2YgY3JlYXRpbmcgYQorICAgICAgICAgICAgICAgICAgICAvLyAg
ICAgICAgICAgIGZyb3plbiBhcnJheSBvZiB0aGF0IHR5cGUgZnJvbSBWIGFuZCBtZXRob2QuCisg
ICAgICAgICAgICAgICAgICAgIGNvbnN0ZXhwciBib29sIGhhc0Zyb3plbkFycmF5VHlwZSA9IG51
bWJlck9mRnJvemVuQXJyYXlUeXBlcyAhPSAwOworICAgICAgICAgICAgICAgICAgICBpZiAoaGFz
RnJvemVuQXJyYXlUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBib29sIGhhc0l0ZXJh
dG9yID0gaGFzSXRlcmF0b3JNZXRob2Qoc3RhdGUsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFJldHVyblR5cGUoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoaGFzSXRlcmF0b3IpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bW92ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9u
YWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwgRnJvemVuQXJyYXlUeXBlLCBoYXNGcm96ZW5BcnJheVR5
cGU+Ojpjb252ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgICAgICAvLyAgICAgMy4gSWYgdHlwZXMgaW5jbHVkZXMgYSBk
aWN0aW9uYXJ5IHR5cGUsIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YKKyAgICAgICAgICAgICAg
ICAgICAgLy8gICAgICAgIGNvbnZlcnRpbmcgViB0byB0aGF0IGRpY3Rpb25hcnkgdHlwZS4KKyAg
ICAgICAgICAgICAgICAgICAgY29uc3RleHByIGJvb2wgaGFzRGljdGlvbmFyeVR5cGUgPSBicmln
YW5kOjpzaXplPERpY3Rpb25hcnlUeXBlTGlzdD46OnZhbHVlICE9IDA7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChoYXNEaWN0aW9uYXJ5VHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om1vdmU8V1RGOjpDaGVja01vdmVQYXJhbWV0ZXI+KENvbmRpdGlvbmFsQ29udmVy
dGVyPFJldHVyblR5cGUsIERpY3Rpb25hcnlUeXBlLCBoYXNEaWN0aW9uYXJ5VHlwZT46OmNvbnZl
cnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpKTsKKworICAgICAgICAgICAgICAgICAgICAvLyAgICAg
NC4gSWYgdHlwZXMgaW5jbHVkZXMgYSByZWNvcmQgdHlwZSwgdGhlbiByZXR1cm4gdGhlIHJlc3Vs
dCBvZiBjb252ZXJ0aW5nIFYgdG8gdGhhdCByZWNvcmQgdHlwZS4KKyAgICAgICAgICAgICAgICAg
ICAgLy8gICAgICAgICAoRklYTUU6IEFkZCBzdXBwb3J0IGZvciByZWNvcmQgdHlwZXMgYW5kIHN0
ZXAgMTIuNCkKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgIDUuIElmIHR5cGVzIGluY2x1ZGVz
IGEgY2FsbGJhY2sgaW50ZXJmYWNlIHR5cGUsIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YgY29u
dmVydGluZyBWIHRvIHRoYXQgaW50ZXJmYWNlIHR5cGUuCisgICAgICAgICAgICAgICAgICAgIC8v
ICAgICAgICAgKEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgY2FsbGJhY2sgaW50ZXJmYWNlIHR5cGUg
YW5kIHN0ZXAgMTIuNSkKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgIDYuIElmIHR5cGVzIGlu
Y2x1ZGVzIG9iamVjdCwgdGhlbiByZXR1cm4gdGhlIElETCB2YWx1ZSB0aGF0IGlzIGEgcmVmZXJl
bmNlIHRvIHRoZSBvYmplY3QgVi4KKyAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAoRklY
TUU6IEFkZCBzdXBwb3J0IGZvciBvYmplY3QgYW5kIHN0ZXAgMTIuNikKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICAvLyAxMy4gSWYgViBpcyBh
IEJvb2xlYW4gdmFsdWUsIHRoZW46CiAgICAgICAgIC8vICAgICAxLiBJZiB0eXBlcyBpbmNsdWRl
cyBhIGJvb2xlYW4sIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YgY29udmVydGluZyBWIHRvIGJv
b2xlYW4uCiAgICAgICAgIGNvbnN0ZXhwciBib29sIGhhc0Jvb2xlYW5UeXBlID0gYnJpZ2FuZDo6
YW55PFR5cGVMaXN0LCBzdGQ6OmlzX3NhbWU8SURMQm9vbGVhbiwgYnJpZ2FuZDo6XzE+Pjo6dmFs
dWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMjA3NTcwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEwMDgsNyAr
MTAwOCwxMiBAQCBzdWIgR2VuZXJhdGVEZWZhdWx0VmFsdWUKICAgICAgICAgcmV0dXJuICRjbGFz
c05hbWUgLiAiOjoiIC4gJGVudW1lcmF0aW9uVmFsdWVOYW1lOwogICAgIH0KICAgICBpZiAoJGRl
ZmF1bHRWYWx1ZSBlcSAibnVsbCIpIHsKLSAgICAgICAgcmV0dXJuICJOdWxsb3B0IiBpZiAkc2ln
bmF0dXJlLT5pZGxUeXBlLT5pc1VuaW9uOworICAgICAgICBpZiAoJHNpZ25hdHVyZS0+aWRsVHlw
ZS0+aXNVbmlvbikgeworICAgICAgICAgICAgcmV0dXJuICJOdWxsb3B0IiBpZiAkc2lnbmF0dXJl
LT5pZGxUeXBlLT5pc051bGxhYmxlOworCisgICAgICAgICAgICBteSAkSURMVHlwZSA9IEdldElE
TFR5cGUoJGludGVyZmFjZSwgJHNpZ25hdHVyZS0+aWRsVHlwZSk7CisgICAgICAgICAgICByZXR1
cm4gImNvbnZlcnQ8JHtJRExUeXBlfT4oc3RhdGUsIGpzTnVsbCgpKTsiOworICAgICAgICB9CiAg
ICAgICAgIHJldHVybiAianNOdWxsKCkiIGlmICRzaWduYXR1cmUtPnR5cGUgZXEgImFueSI7CiAg
ICAgICAgIHJldHVybiAibnVsbHB0ciIgaWYgJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUo
JHNpZ25hdHVyZS0+dHlwZSkgfHwgJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUoJHNp
Z25hdHVyZS0+dHlwZSk7CiAgICAgICAgIHJldHVybiAiU3RyaW5nKCkiIGlmICRjb2RlR2VuZXJh
dG9yLT5Jc1N0cmluZ1R5cGUoJHNpZ25hdHVyZS0+dHlwZSk7CkBAIC00MzY0LDcgKzQzNjksNyBA
QCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgICAgIGlmICgkY29kZUdlbmVy
YXRvci0+SXNUeXBlZEFycmF5VHlwZSgkdHlwZSkgYW5kICRwYXJhbWV0ZXItPnR5cGUgbmUgIkFy
cmF5QnVmZmVyIikgewogICAgICAgICAgICAgICAgJHZhbHVlID0gJHNob3VsZFBhc3NCeVJlZmVy
ZW5jZSA/ICIkbmFtZS5yZWxlYXNlTm9uTnVsbCgpIiA6ICJXVEZNb3ZlKCRuYW1lKSI7CiAgICAg
ICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkdHlwZSkp
IHsKLSAgICAgICAgICAgICAgICAkdmFsdWUgPSAiJHtuYW1lfS52YWx1ZSgpIjsKKyAgICAgICAg
ICAgICAgICAkdmFsdWUgPSAiJHtuYW1lfSI7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApA
QCAtNTc2Myw3ICs1NzY4LDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAg
ICAgICAgICAgICAgICAgaWYgKFNob3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2UoJHBhcmFtZXRl
ciwgJGludGVyZmFjZSkpIHsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAY29uc3RydWN0b3JB
cmdMaXN0LCAiKiIgLiAkcGFyYW1ldGVyLT5uYW1lKTsKICAgICAgICAgICAgICAgICB9IGVsc2lm
ICgkY29kZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkcGFyYW1ldGVyLT50eXBlKSkgewot
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3RvckFyZ0xpc3QsICRwYXJhbWV0ZXIt
Pm5hbWUgLiAiLnZhbHVlKCkiKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAY29uc3RydWN0
b3JBcmdMaXN0LCAkcGFyYW1ldGVyLT5uYW1lKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3RvckFyZ0xpc3QsICJXVEZNb3ZlKCIg
LiAkcGFyYW1ldGVyLT5uYW1lIC4gIikiKTsKICAgICAgICAgICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmgJKHJldmlzaW9uIDIwNzU3MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDggKzI2LDExIEBACiAjaWZuZGVmIFR5cGVDb252ZXJzaW9uc19oCiAjZGVmaW5lIFR5
cGVDb252ZXJzaW9uc19oCiAKKyNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJp
YW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw2ICszOSwxOCBAQCBjbGFzcyBU
eXBlQ29udmVyc2lvbnMgOiBwdWJsaWMgUmVmQ291bnRlCiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxUeXBlQ29udmVyc2lvbnM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZUNv
bnZlcnNpb25zKCkpOyB9CiAKKyAgICBzdHJ1Y3QgT3RoZXJEaWN0aW9uYXJ5IHsKKyAgICAgICAg
aW50IGxvbmdWYWx1ZTsKKyAgICAgICAgU3RyaW5nIHN0cmluZ1ZhbHVlOworICAgIH07CisKKyAg
ICBzdHJ1Y3QgRGljdGlvbmFyeSB7CisgICAgICAgIGludCBsb25nVmFsdWU7CisgICAgICAgIFN0
cmluZyBzdHJpbmdWYWx1ZTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gc2VxdWVuY2VWYWx1ZTsK
KyAgICAgICAgVmFyaWFudDxSZWZQdHI8Tm9kZT4sIFZlY3RvcjxTdHJpbmc+LCBPdGhlckRpY3Rp
b25hcnk+IHVuaW9uVmFsdWU7CisgICAgfTsKKwogICAgIGxvbmcgdGVzdExvbmcoKSB7IHJldHVy
biBtX2xvbmc7IH0KICAgICB2b2lkIHNldFRlc3RMb25nKGxvbmcgdmFsdWUpIHsgbV9sb25nID0g
dmFsdWU7IH0KICAgICBsb25nIHRlc3RFbmZvcmNlUmFuZ2VMb25nKCkgeyByZXR1cm4gbV9sb25n
OyB9CkBAIC03NywyMSArOTIsNDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgdGVzdFVT
VlN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fdXN2c3RyaW5nOyB9CiAgICAgdm9pZCBzZXRUZXN0
VVNWU3RyaW5nKGNvbnN0IFN0cmluZyYgdXN2c3RyaW5nKSB7IG1fdXN2c3RyaW5nID0gdXN2c3Ry
aW5nOyB9CiAKKyAgICB2b2lkIHNldFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoRGljdGlvbmFy
eSYgZGljdGlvbmFyeSkKKyAgICB7CisgICAgICAgIG1fdHlwZUNvbnZlcnNpb25zRGljdGlvbmFy
eUxvbmdWYWx1ZSA9IGRpY3Rpb25hcnkubG9uZ1ZhbHVlOworICAgICAgICBtX3R5cGVDb252ZXJz
aW9uc0RpY3Rpb25hcnlTdHJpbmdWYWx1ZSA9IGRpY3Rpb25hcnkuc3RyaW5nVmFsdWU7CisgICAg
ICAgIG1fdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVNlcXVlbmNlVmFsdWUgPSBkaWN0aW9uYXJ5
LnNlcXVlbmNlVmFsdWU7CisgICAgICAgIG1fdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVuaW9u
VmFsdWUgPSBkaWN0aW9uYXJ5LnVuaW9uVmFsdWU7CisgICAgfQorCisgICAgaW50IHR5cGVDb252
ZXJzaW9uc0RpY3Rpb25hcnlMb25nVmFsdWUoKSB7IHJldHVybiBtX3R5cGVDb252ZXJzaW9uc0Rp
Y3Rpb25hcnlMb25nVmFsdWU7IH0KKyAgICBTdHJpbmcgdHlwZUNvbnZlcnNpb25zRGljdGlvbmFy
eVN0cmluZ1ZhbHVlKCkgeyByZXR1cm4gbV90eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U3RyaW5n
VmFsdWU7IH0KKyAgICBWZWN0b3I8U3RyaW5nPiB0eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U2Vx
dWVuY2VWYWx1ZSgpIHsgcmV0dXJuIG1fdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVNlcXVlbmNl
VmFsdWU7IH0KKyAgICBTdHJpbmcgdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVuaW9uVHlwZSgp
CisgICAgeworICAgICAgICByZXR1cm4gV1RGOjp2aXNpdChXVEY6Om1ha2VWaXNpdG9yKAorICAg
ICAgICAgICAgW10oY29uc3QgUmVmUHRyPE5vZGU+JikgLT4gU3RyaW5nIHsgcmV0dXJuICJOb2Rl
IjsgfSwKKyAgICAgICAgICAgIFtdKGNvbnN0IFZlY3RvcjxTdHJpbmc+JikgLT4gU3RyaW5nIHsg
cmV0dXJuICJzZXF1ZW5jZTxET01TdHJpbmc+IjsgfSwKKyAgICAgICAgICAgIFtdKGNvbnN0IE90
aGVyRGljdGlvbmFyeSYpIC0+IFN0cmluZyB7IHJldHVybiAiRGljdGlvbmFyeSI7IH0KKyAgICAg
ICAgKSwgbV90eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5VW5pb25WYWx1ZSk7CisgICAgfQorCiBw
cml2YXRlOgogICAgIFR5cGVDb252ZXJzaW9ucygpCiAgICAgewogICAgIH0KIAotICAgIGxvbmcg
bV9sb25nOwotICAgIHVuc2lnbmVkIGxvbmcgbV91bnNpZ25lZExvbmc7Ci0gICAgbG9uZyBsb25n
IG1fbG9uZ0xvbmc7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIG1fdW5zaWduZWRMb25nTG9uZzsK
LSAgICBpbnQ4X3QgbV9ieXRlOwotICAgIHVpbnQ4X3QgbV9vY3RldDsKLSAgICBpbnQxNl90IG1f
c2hvcnQ7Ci0gICAgdWludDE2X3QgbV9VbnNpZ25lZFNob3J0OworICAgIGxvbmcgbV9sb25nIHsg
MCB9OworICAgIHVuc2lnbmVkIGxvbmcgbV91bnNpZ25lZExvbmcgeyAwIH07CisgICAgbG9uZyBs
b25nIG1fbG9uZ0xvbmcgeyAwIH07CisgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fdW5zaWduZWRM
b25nTG9uZyB7IDAgfTsKKyAgICBpbnQ4X3QgbV9ieXRlIHsgMCB9OworICAgIHVpbnQ4X3QgbV9v
Y3RldCB7IDAgfTsKKyAgICBpbnQxNl90IG1fc2hvcnQgeyAwIH07CisgICAgdWludDE2X3QgbV9V
bnNpZ25lZFNob3J0IHsgMCB9OwogICAgIFN0cmluZyBtX3N0cmluZzsKICAgICBTdHJpbmcgbV91
c3ZzdHJpbmc7CisgICAgCisgICAgaW50IG1fdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeUxvbmdW
YWx1ZSB7IDAgfTsKKyAgICBTdHJpbmcgbV90eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U3RyaW5n
VmFsdWU7CisgICAgVmVjdG9yPFN0cmluZz4gbV90eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U2Vx
dWVuY2VWYWx1ZTsKKyAgICBWYXJpYW50PFJlZlB0cjxOb2RlPiwgVmVjdG9yPFN0cmluZz4sIE90
aGVyRGljdGlvbmFyeT4gbV90eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5VW5pb25WYWx1ZTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
VHlwZUNvbnZlcnNpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1R5cGVDb252ZXJzaW9ucy5pZGwJKHJldmlzaW9uIDIwNzU3MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNCArNTAs
MjIgQEAKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGVzdFN0cmluZzsKICAgICBhdHRyaWJ1
dGUgVVNWU3RyaW5nIHRlc3RVU1ZTdHJpbmc7CisgICAgCisgICAgdm9pZCBzZXRUeXBlQ29udmVy
c2lvbnNEaWN0aW9uYXJ5KFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkgZCk7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgdHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeUxvbmdWYWx1ZTsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlT
dHJpbmdWYWx1ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8RE9NU3RyaW5nPiB0
eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U2VxdWVuY2VWYWx1ZTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlVbmlvblR5cGU7IC8vIFJl
dHVybnMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczogIk5vZGUiLCAic2VxdWVuY2U8RE9N
U3RyaW5nPiIsICJEaWN0aW9uYXJ5Ii4iIAorfTsKKworZGljdGlvbmFyeSBUeXBlQ29udmVyc2lv
bnNPdGhlckRpY3Rpb25hcnkgeworICAgIGxvbmcgbG9uZ1ZhbHVlID0gMDsKKyAgICBET01TdHJp
bmcgc3RyaW5nVmFsdWUgPSAiIjsKK307CisKK2RpY3Rpb25hcnkgVHlwZUNvbnZlcnNpb25zRGlj
dGlvbmFyeSB7CisgICAgbG9uZyBsb25nVmFsdWUgPSAwOworICAgIERPTVN0cmluZyBzdHJpbmdW
YWx1ZSA9ICIiOworICAgIHNlcXVlbmNlPERPTVN0cmluZz4gc2VxdWVuY2VWYWx1ZSA9IFtdOwor
ICAgIChOb2RlIG9yIHNlcXVlbmNlPERPTVN0cmluZz4gb3IgVHlwZUNvbnZlcnNpb25zT3RoZXJE
aWN0aW9uYXJ5KSB1bmlvblZhbHVlID0gbnVsbDsKIH07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDc1
NzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAxNi0xMC0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzZXF1ZW5jZXMgYW5kIGRpY3Rpb25hcmllcyBpbiB1bmlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzY5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvZG9tL3dl
YmlkbC10eXBlLW1hcHBpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2RvbS93ZWJpZGwt
dHlwZS1tYXBwaW5nLmh0bWw6CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgbW9yZSBjb21wbGV4IGNv
bnZlcnNpb25zLgorCiAyMDE2LTEwLTE5ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDc1NTcuCkluZGV4OiBM
YXlvdXRUZXN0cy9qcy9kb20vd2ViaWRsLXR5cGUtbWFwcGluZy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZG9tL3dlYmlkbC10eXBlLW1hcHBpbmctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMDc1NzApCisrKyBMYXlvdXRUZXN0cy9qcy9kb20vd2ViaWRsLXR5cGUt
bWFwcGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEwNTksNiArMTA1OSwyNCBA
QCBjb252ZXJ0ZXIudGVzdFVTVlN0cmluZyA9IHVuZGVmaW5lZAogY29udmVydGVyLnRlc3RTdHJp
bmcgPSB1bmRlZmluZWQKIFBBU1MgY29udmVydGVyLnRlc3RVU1ZTdHJpbmcgaXMgInVuZGVmaW5l
ZCIKIFBBU1MgY29udmVydGVyLnRlc3RTdHJpbmcgaXMgInVuZGVmaW5lZCIKK2NvbnZlcnRlci5z
ZXRUeXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5KHsgbG9uZ1ZhbHVlOiAxIH0pCitQQVNTIGNvbnZl
cnRlci50eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5TG9uZ1ZhbHVlIGlzIDEKK2NvbnZlcnRlci5z
ZXRUeXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5KHsgc3RyaW5nVmFsdWU6ICdoZWxsbycgfSkKK1BB
U1MgY29udmVydGVyLnR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlTdHJpbmdWYWx1ZSBpcyAnaGVs
bG8nCitjb252ZXJ0ZXIuc2V0VHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeSh7IHNlcXVlbmNlVmFs
dWU6IFsnaGknLCAndGhlcmUnXSB9KQorUEFTUyBjb252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGlj
dGlvbmFyeVNlcXVlbmNlVmFsdWUgaXMgWydoaScsICd0aGVyZSddCitjb252ZXJ0ZXIuc2V0VHlw
ZUNvbnZlcnNpb25zRGljdGlvbmFyeSh7IHVuaW9uVmFsdWU6IGRvY3VtZW50IH0pCitQQVNTIGNv
bnZlcnRlci50eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5VW5pb25UeXBlIGlzICdOb2RlJworY29u
dmVydGVyLnNldFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoeyB1bmlvblZhbHVlOiBbJ2EnLCAn
c2VxdWVuY2UnXSB9KQorUEFTUyBjb252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVu
aW9uVHlwZSBpcyAnc2VxdWVuY2U8RE9NU3RyaW5nPicKK2NvbnZlcnRlci5zZXRUeXBlQ29udmVy
c2lvbnNEaWN0aW9uYXJ5KHsgdW5pb25WYWx1ZTogeyBsb25nVmFsdWU6IDEgfSB9KQorUEFTUyBj
b252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVuaW9uVHlwZSBpcyAnRGljdGlvbmFy
eScKK2NvbnZlcnRlci5zZXRUeXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5KHsgdW5pb25WYWx1ZTog
bnVsbCB9KQorUEFTUyBjb252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVuaW9uVHlw
ZSBpcyAnRGljdGlvbmFyeScKK2NvbnZlcnRlci5zZXRUeXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5
KHsgdW5pb25WYWx1ZTogdW5kZWZpbmVkIH0pCitQQVNTIGNvbnZlcnRlci50eXBlQ29udmVyc2lv
bnNEaWN0aW9uYXJ5VW5pb25UeXBlIGlzICdEaWN0aW9uYXJ5JworY29udmVydGVyLnNldFR5cGVD
b252ZXJzaW9uc0RpY3Rpb25hcnkoeyB9KQorUEFTUyBjb252ZXJ0ZXIudHlwZUNvbnZlcnNpb25z
RGljdGlvbmFyeVVuaW9uVHlwZSBpcyAnRGljdGlvbmFyeScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvanMvZG9tL3dl
YmlkbC10eXBlLW1hcHBpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9kb20v
d2ViaWRsLXR5cGUtbWFwcGluZy5odG1sCShyZXZpc2lvbiAyMDc1NzApCisrKyBMYXlvdXRUZXN0
cy9qcy9kb20vd2ViaWRsLXR5cGUtbWFwcGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01ODYs
NSArNTg2LDI2IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udmVydGVyLnRlc3RTdHIKICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnZlcnRlci50ZXN0U3RyaW5nIiwgdmFsdWUpOwog
fSk7CiAKK2V2YWxBbmRMb2coImNvbnZlcnRlci5zZXRUeXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5
KHsgbG9uZ1ZhbHVlOiAxIH0pIik7CitzaG91bGRCZSgiY29udmVydGVyLnR5cGVDb252ZXJzaW9u
c0RpY3Rpb25hcnlMb25nVmFsdWUiLCAiMSIpOworZXZhbEFuZExvZygiY29udmVydGVyLnNldFR5
cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoeyBzdHJpbmdWYWx1ZTogJ2hlbGxvJyB9KSIpOworc2hv
dWxkQmUoImNvbnZlcnRlci50eXBlQ29udmVyc2lvbnNEaWN0aW9uYXJ5U3RyaW5nVmFsdWUiLCAi
J2hlbGxvJyIpOworZXZhbEFuZExvZygiY29udmVydGVyLnNldFR5cGVDb252ZXJzaW9uc0RpY3Rp
b25hcnkoeyBzZXF1ZW5jZVZhbHVlOiBbJ2hpJywgJ3RoZXJlJ10gfSkiKTsKK3Nob3VsZEJlKCJj
b252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVNlcXVlbmNlVmFsdWUiLCAiWydoaScs
ICd0aGVyZSddIik7CisKKy8vIFRlc3QgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+
KQorZXZhbEFuZExvZygiY29udmVydGVyLnNldFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoeyB1
bmlvblZhbHVlOiBkb2N1bWVudCB9KSIpOworc2hvdWxkQmUoImNvbnZlcnRlci50eXBlQ29udmVy
c2lvbnNEaWN0aW9uYXJ5VW5pb25UeXBlIiwgIidOb2RlJyIpOworZXZhbEFuZExvZygiY29udmVy
dGVyLnNldFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoeyB1bmlvblZhbHVlOiBbJ2EnLCAnc2Vx
dWVuY2UnXSB9KSIpOworc2hvdWxkQmUoImNvbnZlcnRlci50eXBlQ29udmVyc2lvbnNEaWN0aW9u
YXJ5VW5pb25UeXBlIiwgIidzZXF1ZW5jZTxET01TdHJpbmc+JyIpOworZXZhbEFuZExvZygiY29u
dmVydGVyLnNldFR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnkoeyB1bmlvblZhbHVlOiB7IGxvbmdW
YWx1ZTogMSB9IH0pIik7CitzaG91bGRCZSgiY29udmVydGVyLnR5cGVDb252ZXJzaW9uc0RpY3Rp
b25hcnlVbmlvblR5cGUiLCAiJ0RpY3Rpb25hcnknIik7CitldmFsQW5kTG9nKCJjb252ZXJ0ZXIu
c2V0VHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeSh7IHVuaW9uVmFsdWU6IG51bGwgfSkiKTsKK3No
b3VsZEJlKCJjb252ZXJ0ZXIudHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeVVuaW9uVHlwZSIsICIn
RGljdGlvbmFyeSciKTsKK2V2YWxBbmRMb2coImNvbnZlcnRlci5zZXRUeXBlQ29udmVyc2lvbnNE
aWN0aW9uYXJ5KHsgdW5pb25WYWx1ZTogdW5kZWZpbmVkIH0pIik7CitzaG91bGRCZSgiY29udmVy
dGVyLnR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlVbmlvblR5cGUiLCAiJ0RpY3Rpb25hcnknIik7
CitldmFsQW5kTG9nKCJjb252ZXJ0ZXIuc2V0VHlwZUNvbnZlcnNpb25zRGljdGlvbmFyeSh7IH0p
Iik7CitzaG91bGRCZSgiY29udmVydGVyLnR5cGVDb252ZXJzaW9uc0RpY3Rpb25hcnlVbmlvblR5
cGUiLCAiJ0RpY3Rpb25hcnknIik7CisKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="315227"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>