<?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>121102</bug_id>
          
          <creation_ts>2013-09-10 10:58:17 -0700</creation_ts>
          <short_desc>MediaStream API: Update RTCDataChannel</short_desc>
          <delta_ts>2013-09-14 19:32:36 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121101</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>927383</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-10 10:58:17 -0700</bug_when>
    <thetext>The spec was updated to include a &quot;DataChannelInit&quot; parameter in the RTCDataChannelInit dictionary: http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDataChannelInit

Blink/Chromium changes here - https://chromium.googlesource.com/chromium/blink/+/c6975c41956acded7cf0363012d7d6b69d0c6d96 and https://chromium.googlesource.com/chromium/blink/+/214dab0bd6385f573c918ba5ce58a5aa206ce186</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929139</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-13 22:39:17 -0700</bug_when>
    <thetext>It make sense to  also merge https://chromium.googlesource.com/chromium/blink/+/c3862b0a83e20fc8b1f770c7e4a886a7cceb80d2 (https://webkit.org/b/121104) here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929168</commentid>
    <comment_count>2</comment_count>
      <attachid>211627</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-13 23:39:08 -0700</bug_when>
    <thetext>Created attachment 211627
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929319</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-14 16:11:30 -0700</bug_when>
    <thetext>I will need to update this patch once bug 120889 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929328</commentid>
    <comment_count>4</comment_count>
      <attachid>211627</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-09-14 16:59:59 -0700</bug_when>
    <thetext>Comment on attachment 211627
Proposed patch

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

&gt; Source/WebCore/Modules/mediastream/RTCDataChannel.cpp:68
&gt; +    if (options.get(&quot;id&quot;, value))
&gt; +        initData.id = value;
&gt; +    if (options.get(&quot;maxRetransmits&quot;, value))
&gt; +        initData.maxRetransmits = value;
&gt; +    if (options.get(&quot;maxRetransmitTime&quot;, value))
&gt; +        initData.maxRetransmitTime = value;

Can these be written without the if? Just options.get(&quot;id&quot;, initData.id)), etc?

&gt; Source/WebCore/Modules/mediastream/RTCDataChannel.cpp:72
&gt; +    String protocolString;
&gt; +    options.get(&quot;protocol&quot;, protocolString);
&gt; +    initData.protocol = protocolString;

Can this be written as options.get(&quot;protocol&quot;, initData.protocol); ?

&gt; Source/WebCore/Modules/mediastream/RTCDataChannel.cpp:143
&gt; +    DEFINE_STATIC_LOCAL(String, connectingState, (&quot;connecting&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(String, openState, (&quot;open&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(String, closingState, (&quot;closing&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(String, closedState, (&quot;closed&quot;, AtomicString::ConstructFromLiteral));

Can we use NeverDestroyed&lt;&gt; instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929341</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-14 19:32:17 -0700</bug_when>
    <thetext>Committed r155794: https://trac.webkit.org/r155794</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211627</attachid>
            <date>2013-09-13 23:39:08 -0700</date>
            <delta_ts>2013-09-14 19:32:36 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>update_rtcdatachannel_5.txt</filename>
            <type>text/plain</type>
            <size>17002</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTc0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTA5LTEzICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQ
STogVXBkYXRlIFJUQ0RhdGFDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjExMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGV4aXN0aW5nIHRlc3RzIHVwZGF0ZWQuCisK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsOjpjcmVhdGUpOiBUYWtlIGFuIG9wdGlvbnMgRGlj
dGlvbmFyeS4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsOjpvcmRlcmVkKTogTmV3
LCBwYXNzdGhyb3VnaCB0byB0aGUgY29ubmVjdGlvbiBoYW5kbGVyLgorICAgICAgICAoV2ViQ29y
ZTo6UlRDRGF0YUNoYW5uZWw6Om1heFJldHJhbnNtaXRUaW1lKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6bWF4UmV0cmFuc21pdHMpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsOjpwcm90b2NvbCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UlRDRGF0YUNoYW5uZWw6Om5lZ290aWF0ZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlJUQ0RhdGFDaGFubmVsOjppZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0
YUNoYW5uZWw6OmRpZENoYW5nZVJlYWR5U3RhdGUpOiBFYXJseSByZXR1cm4gaWYgdGhlIHN0YXRl
IGhhc24ndCBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmRpZFJl
Y2VpdmVSYXdEYXRhKTogCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hh
bm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRs
OgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlRGF0YUNoYW5uZWwp
OiBUYWtlIGFuIG9wdGlvbnMgRGljdGlvbmFyeS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxJbml0OjpSVENEYXRhQ2hhbm5lbEluaXQpOiBUYWtlIGFuIG9wdGlvbnMgc3Ry
dWN0LgorCiAyMDEzLTA5LTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTU1NzM4LgpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAJKHJldmlzaW9uIDE1NTU3NSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWwuaCIKIAogI2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNs
dWRlICJEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCkBAIC00MCw5ICs0MSwzNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDRGF0YUNoYW5uZWw+IFJUQ0Rh
dGFDaGFubmVsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyKiBwZWVyQ29ubmVjdGlvbkhhbmRsZXIsIGNvbnN0IFN0cmluZyYg
bGFiZWwsIGJvb2wgcmVsaWFibGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQorc3RhdGljIGNvbnN0IEF0
b21pY1N0cmluZyYgYmxvYktleXdvcmQoKQogewotICAgIE93blB0cjxSVENEYXRhQ2hhbm5lbEhh
bmRsZXI+IGhhbmRsZXIgPSBwZWVyQ29ubmVjdGlvbkhhbmRsZXItPmNyZWF0ZURhdGFDaGFubmVs
KGxhYmVsLCByZWxpYWJsZSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIGJsb2IsICgiYmxvYiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
KTsKKyAgICByZXR1cm4gYmxvYjsKK30KKworc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgYXJy
YXlidWZmZXJLZXl3b3JkKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21p
Y1N0cmluZywgYXJyYXlidWZmZXIsICgiYXJyYXlidWZmZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIGFycmF5YnVmZmVyOworfQorCitQYXNzUmVm
UHRyPFJUQ0RhdGFDaGFubmVsPiBSVENEYXRhQ2hhbm5lbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciogcGVlckNvbm5lY3Rp
b25IYW5kbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25z
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBSVENEYXRhQ2hhbm5lbEluaXQgaW5pdERhdGE7
CisgICAgb3B0aW9ucy5nZXQoIm9yZGVyZWQiLCBpbml0RGF0YS5vcmRlcmVkKTsKKyAgICBvcHRp
b25zLmdldCgibmVnb3RpYXRlZCIsIGluaXREYXRhLm5lZ290aWF0ZWQpOworICAgIAorICAgIHVu
c2lnbmVkIHNob3J0IHZhbHVlID0gMDsKKyAgICBpZiAob3B0aW9ucy5nZXQoImlkIiwgdmFsdWUp
KQorICAgICAgICBpbml0RGF0YS5pZCA9IHZhbHVlOworICAgIGlmIChvcHRpb25zLmdldCgibWF4
UmV0cmFuc21pdHMiLCB2YWx1ZSkpCisgICAgICAgIGluaXREYXRhLm1heFJldHJhbnNtaXRzID0g
dmFsdWU7CisgICAgaWYgKG9wdGlvbnMuZ2V0KCJtYXhSZXRyYW5zbWl0VGltZSIsIHZhbHVlKSkK
KyAgICAgICAgaW5pdERhdGEubWF4UmV0cmFuc21pdFRpbWUgPSB2YWx1ZTsKKyAgICAKKyAgICBT
dHJpbmcgcHJvdG9jb2xTdHJpbmc7CisgICAgb3B0aW9ucy5nZXQoInByb3RvY29sIiwgcHJvdG9j
b2xTdHJpbmcpOworICAgIGluaXREYXRhLnByb3RvY29sID0gcHJvdG9jb2xTdHJpbmc7CisKKyAg
ICBPd25QdHI8UlRDRGF0YUNoYW5uZWxIYW5kbGVyPiBoYW5kbGVyID0gcGVlckNvbm5lY3Rpb25I
YW5kbGVyLT5jcmVhdGVEYXRhQ2hhbm5lbChsYWJlbCwgaW5pdERhdGEpOwogICAgIGlmICghaGFu
ZGxlcikgewogICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogICAgICAgICByZXR1cm4g
MDsKQEAgLTc2LDIyICsxMDUsNTIgQEAgU3RyaW5nIFJUQ0RhdGFDaGFubmVsOjpsYWJlbCgpIGNv
bnN0CiAgICAgcmV0dXJuIG1faGFuZGxlci0+bGFiZWwoKTsKIH0KIAotYm9vbCBSVENEYXRhQ2hh
bm5lbDo6cmVsaWFibGUoKSBjb25zdAorYm9vbCBSVENEYXRhQ2hhbm5lbDo6b3JkZXJlZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1faGFuZGxlci0+b3JkZXJlZCgpOworfQorCit1bnNpZ25lZCBz
aG9ydCBSVENEYXRhQ2hhbm5lbDo6bWF4UmV0cmFuc21pdFRpbWUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2hhbmRsZXItPm1heFJldHJhbnNtaXRUaW1lKCk7Cit9CisKK3Vuc2lnbmVkIHNob3J0
IFJUQ0RhdGFDaGFubmVsOjptYXhSZXRyYW5zbWl0cygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1f
aGFuZGxlci0+aXNSZWxpYWJsZSgpOworICAgIHJldHVybiBtX2hhbmRsZXItPm1heFJldHJhbnNt
aXRzKCk7CiB9CiAKLVN0cmluZyBSVENEYXRhQ2hhbm5lbDo6cmVhZHlTdGF0ZSgpIGNvbnN0CitT
dHJpbmcgUlRDRGF0YUNoYW5uZWw6OnByb3RvY29sKCkgY29uc3QKIHsKKyAgICByZXR1cm4gbV9o
YW5kbGVyLT5wcm90b2NvbCgpOworfQorCitib29sIFJUQ0RhdGFDaGFubmVsOjpuZWdvdGlhdGVk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9oYW5kbGVyLT5uZWdvdGlhdGVkKCk7Cit9CisKK3Vu
c2lnbmVkIHNob3J0IFJUQ0RhdGFDaGFubmVsOjppZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
aGFuZGxlci0+aWQoKTsKK30KKworQXRvbWljU3RyaW5nIFJUQ0RhdGFDaGFubmVsOjpyZWFkeVN0
YXRlKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29ubmVjdGlu
Z1N0YXRlLCAoImNvbm5lY3RpbmciLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIG9wZW5TdGF0ZSwgKCJvcGVuIiwg
QXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU3RyaW5nLCBjbG9zaW5nU3RhdGUsICgiY2xvc2luZyIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY2xv
c2VkU3RhdGUsICgiY2xvc2VkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkp
OworCiAgICAgc3dpdGNoIChtX3JlYWR5U3RhdGUpIHsKICAgICBjYXNlIFJlYWR5U3RhdGVDb25u
ZWN0aW5nOgotICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJjb25uZWN0aW5nIik7CisgICAg
ICAgIHJldHVybiBjb25uZWN0aW5nU3RhdGU7CiAgICAgY2FzZSBSZWFkeVN0YXRlT3BlbjoKLSAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgib3BlbiIpOworICAgICAgICByZXR1cm4gb3BlblN0
YXRlOwogICAgIGNhc2UgUmVhZHlTdGF0ZUNsb3Npbmc6Ci0gICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoImNsb3NpbmciKTsKKyAgICAgICAgcmV0dXJuIGNsb3NpbmdTdGF0ZTsKICAgICBjYXNl
IFJlYWR5U3RhdGVDbG9zZWQ6Ci0gICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImNsb3NlZCIp
OworICAgICAgICByZXR1cm4gY2xvc2VkU3RhdGU7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CkBAIC0xMDMsMjMgKzE2MiwyMyBAQCB1bnNpZ25lZCBsb25nIFJUQ0RhdGFDaGFu
bmVsOjpidWZmZXJlZEFtCiAgICAgcmV0dXJuIG1faGFuZGxlci0+YnVmZmVyZWRBbW91bnQoKTsK
IH0KIAotU3RyaW5nIFJUQ0RhdGFDaGFubmVsOjpiaW5hcnlUeXBlKCkgY29uc3QKK0F0b21pY1N0
cmluZyBSVENEYXRhQ2hhbm5lbDo6YmluYXJ5VHlwZSgpIGNvbnN0CiB7CiAgICAgc3dpdGNoICht
X2JpbmFyeVR5cGUpIHsKICAgICBjYXNlIEJpbmFyeVR5cGVCbG9iOgotICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJibG9iIik7CisgICAgICAgIHJldHVybiBibG9iS2V5d29yZCgpOwogICAg
IGNhc2UgQmluYXJ5VHlwZUFycmF5QnVmZmVyOgotICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJhcnJheWJ1ZmZlciIpOworICAgICAgICByZXR1cm4gYXJyYXlidWZmZXJLZXl3b3JkKCk7CiAg
ICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAotdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2V0QmluYXJ5VHlwZShjb25zdCBTdHJpbmcmIGJpbmFy
eVR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBSVENEYXRhQ2hhbm5lbDo6c2V0QmluYXJ5
VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGJpbmFyeVR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewotICAgIGlmIChiaW5hcnlUeXBlID09ICJibG9iIikKKyAgICBpZiAoYmluYXJ5VHlwZSA9PSBi
bG9iS2V5d29yZCgpKQogICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgIGVsc2Ug
aWYgKGJpbmFyeVR5cGUgPT0gImFycmF5YnVmZmVyIikKKyAgICBlbHNlIGlmIChiaW5hcnlUeXBl
ID09IGFycmF5YnVmZmVyS2V5d29yZCgpKQogICAgICAgICBtX2JpbmFyeVR5cGUgPSBCaW5hcnlU
eXBlQXJyYXlCdWZmZXI7CiAgICAgZWxzZQogICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJS
OwpAQCAtMTMxLDYgKzE5MCw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNlbmQoY29uc3QgU3Ry
aW5nJiAKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KKwogICAgIGlmICghbV9oYW5kbGVyLT5zZW5kU3RyaW5nRGF0YShkYXRhKSkgewogICAg
ICAgICAvLyBGSVhNRTogRGVjaWRlIHdoYXQgdGhlIHJpZ2h0IGV4Y2VwdGlvbiBoZXJlIGlzLgog
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CkBAIC0xODAsNyArMjQwLDcgQEAgdm9pZCBSVENEYXRh
Q2hhbm5lbDo6Y2xvc2UoKQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpkaWRDaGFuZ2VSZWFkeVN0
YXRlKFJlYWR5U3RhdGUgbmV3U3RhdGUpCiB7Ci0gICAgaWYgKG1fc3RvcHBlZCB8fCBtX3JlYWR5
U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkKKyAgICBpZiAobV9zdG9wcGVkIHx8IG1fcmVhZHlT
dGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkIHx8IG1fcmVhZHlTdGF0ZSA9PSBuZXdTdGF0ZSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9yZWFkeVN0YXRlID0gbmV3U3RhdGU7CkBAIC0yMTQsNiAr
Mjc0LDcgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6ZGlkUmVjZWl2ZVJhd0RhdGEoYwogICAgICAg
ICAvLyBGSVhNRTogSW1wbGVtZW50LgogICAgICAgICByZXR1cm47CiAgICAgfQorCiAgICAgaWYg
KG1fYmluYXJ5VHlwZSA9PSBCaW5hcnlUeXBlQXJyYXlCdWZmZXIpIHsKICAgICAgICAgUmVmUHRy
PEFycmF5QnVmZmVyPiBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGRhdGFMZW5n
dGgpOwogICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUo
YnVmZmVyLnJlbGVhc2UoKSkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEYXRhQ2hhbm5lbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAkocmV2aXNpb24gMTU1NTc1KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMywzMCArMzMsMzIgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKLW5hbWVzcGFjZSBKU0MgewotY2xhc3MgQXJyYXlCdWZmZXI7
Ci1jbGFzcyBBcnJheUJ1ZmZlclZpZXc7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQmxvYjsKK2NsYXNzIERpY3Rpb25hcnk7CiBjbGFzcyBSVENEYXRhQ2hhbm5lbEhhbmRsZXI7
CiBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI7CiAKIGNsYXNzIFJUQ0RhdGFDaGFubmVs
IDogcHVibGljIFJlZkNvdW50ZWQ8UlRDRGF0YUNoYW5uZWw+LCBwdWJsaWMgU2NyaXB0V3JhcHBh
YmxlLCBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGll
bnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0RhdGFDaGFubmVsPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciosIGNv
bnN0IFN0cmluZyYgbGFiZWwsIGJvb2wgcmVsaWFibGUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxSVENEYXRhQ2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzT3duUHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxlcj4pOworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFJUQ0RhdGFDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciosIGNvbnN0IFN0cmluZyYgLCBjb25zdCBEaWN0aW9u
YXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIH5SVENEYXRhQ2hhbm5lbCgpOwogCiAgICAgU3Ry
aW5nIGxhYmVsKCkgY29uc3Q7Ci0gICAgYm9vbCByZWxpYWJsZSgpIGNvbnN0OwotICAgIFN0cmlu
ZyByZWFkeVN0YXRlKCkgY29uc3Q7CisKKyAgICBib29sIG9yZGVyZWQoKSBjb25zdDsKKyAgICB1
bnNpZ25lZCBzaG9ydCBtYXhSZXRyYW5zbWl0VGltZSgpIGNvbnN0OworICAgIHVuc2lnbmVkIHNo
b3J0IG1heFJldHJhbnNtaXRzKCkgY29uc3Q7CisgICAgU3RyaW5nIHByb3RvY29sKCkgY29uc3Q7
CisgICAgYm9vbCBuZWdvdGlhdGVkKCkgY29uc3Q7CisgICAgdW5zaWduZWQgc2hvcnQgaWQoKSBj
b25zdDsKKyAgICBBdG9taWNTdHJpbmcgcmVhZHlTdGF0ZSgpIGNvbnN0OwogICAgIHVuc2lnbmVk
IGxvbmcgYnVmZmVyZWRBbW91bnQoKSBjb25zdDsKIAotICAgIFN0cmluZyBiaW5hcnlUeXBlKCkg
Y29uc3Q7Ci0gICAgdm9pZCBzZXRCaW5hcnlUeXBlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBBdG9taWNTdHJpbmcgYmluYXJ5VHlwZSgpIGNvbnN0OworICAgIHZvaWQgc2V0
QmluYXJ5VHlwZShjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2
b2lkIHNlbmQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2VuZChQ
YXNzUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+LCBFeGNlcHRpb25Db2RlJik7CkBAIC05MCw2ICs5
Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEmIGVuc3VyZUV2ZW50
VGFyZ2V0RGF0YSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgp
IE9WRVJSSURFIHsgcmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IE9WRVJSSURFIHsgZGVyZWYoKTsgfQorCiAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJn
ZXREYXRhOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRh
Q2hhbm5lbC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEYXRhQ2hhbm5lbC5pZGwJKHJldmlzaW9uIDE1NTU3NSkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSwxMCArMjUsMTcgQEAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBDb25k
aXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRXZlbnRUYXJnZXQKKyAgICBFdmVudFRhcmdldCwK
IF0gaW50ZXJmYWNlIFJUQ0RhdGFDaGFubmVsIHsKKwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgbGFiZWw7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcmVsaWFibGU7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb3JkZXJlZDsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbWF4UmV0cmFuc21pdFRpbWU7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG1heFJldHJhbnNtaXRzOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgcHJvdG9jb2w7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gbmVnb3RpYXRlZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgaWQ7
CisKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlYWR5U3RhdGU7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQ7CiAKQEAgLTQ3LDEx
ICs1NCw3IEBACiAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25tZXNzYWdlOwogCiAgICAg
Ly8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCi0gICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0
cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudExpc3RlbmVyIGxpc3Rl
bmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIHVzZUNhcHR1
cmUpOwotICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICB2
b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVu
ZXIsIG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgdm9pZCByZW1vdmVFdmVudExp
c3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBvcHRpb25hbCBi
b29sZWFuIHVzZUNhcHR1cmUpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4gZGlzcGF0
Y2hFdmVudChFdmVudCBldmVudCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAJKHJldmlzaW9u
IDE1NTU3NSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDksMTEgKzQ0OSwxMCBAQCBQYXNzUmVm
UHRyPFJUQ0RhdGFDaGFubmVsPiBSVENQZWVyQ29ubmVjCiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KIAotICAgIGJvb2wgcmVsaWFibGUgPSB0cnVlOwotICAgIG9wdGlvbnMuZ2V0KCJyZWxpYWJs
ZSIsIHJlbGlhYmxlKTsKLSAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWw+IGNoYW5uZWwgPSBSVENE
YXRhQ2hhbm5lbDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9wZWVySGFuZGxl
ci5nZXQoKSwgbGFiZWwsIHJlbGlhYmxlLCBlYyk7CisgICAgUmVmUHRyPFJUQ0RhdGFDaGFubmVs
PiBjaGFubmVsID0gUlRDRGF0YUNoYW5uZWw6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCksIG1fcGVlckhhbmRsZXIuZ2V0KCksIGxhYmVsLCBvcHRpb25zLCBlYyk7CiAgICAgaWYgKGVj
KQogICAgICAgICByZXR1cm4gMDsKKwogICAgIG1fZGF0YUNoYW5uZWxzLmFwcGVuZChjaGFubmVs
KTsKICAgICByZXR1cm4gY2hhbm5lbC5yZWxlYXNlKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhh
bmRsZXIuaAkocmV2aXNpb24gMTU1NTc1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcg
KzQwLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KFJUQ0RhdGFDaGFu
bmVsSGFuZGxlckNsaWVudCopID0gMDsKIAogICAgIHZpcnR1YWwgU3RyaW5nIGxhYmVsKCkgPSAw
OwotICAgIHZpcnR1YWwgYm9vbCBpc1JlbGlhYmxlKCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBv
cmRlcmVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgbWF4UmV0cmFu
c21pdFRpbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBtYXhSZXRy
YW5zbWl0cygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBwcm90b2NvbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgbmVnb3RpYXRlZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIHNob3J0IGlkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdW5zaWduZWQg
bG9uZyBidWZmZXJlZEFtb3VudCgpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzZW5kU3RyaW5n
RGF0YShjb25zdCBTdHJpbmcmKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIu
aAkocmV2aXNpb24gMTU1NTc1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUx
LDIyIEBAIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q7CiBjbGFzcyBSVENTdGF0
c1JlcXVlc3Q7CiBjbGFzcyBSVENWb2lkUmVxdWVzdDsKIAorc3RydWN0IFJUQ0RhdGFDaGFubmVs
SW5pdCB7CitwdWJsaWM6CisgICAgUlRDRGF0YUNoYW5uZWxJbml0KCkKKyAgICAgICAgOiBvcmRl
cmVkKHRydWUpCisgICAgICAgICwgbWF4UmV0cmFuc21pdFRpbWUoLTEpCisgICAgICAgICwgbWF4
UmV0cmFuc21pdHMoLTEpCisgICAgICAgICwgbmVnb3RpYXRlZChmYWxzZSkKKyAgICAgICAgLCBp
ZCgtMSkgeyB9CisgICAgYm9vbCBvcmRlcmVkOworICAgIGludCBtYXhSZXRyYW5zbWl0VGltZTsK
KyAgICBpbnQgbWF4UmV0cmFuc21pdHM7CisgICAgU3RyaW5nIHByb3RvY29sOworICAgIGJvb2wg
bmVnb3RpYXRlZDsKKyAgICBpbnQgaWQ7Cit9OworCiBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlcj4gY3JlYXRlKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCopOwpAQCAtNjks
NyArODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFkZFN0cmVhbShQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1E
ZXNjcmlwdG9yPikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRTdGF0cyhQYXNzUmVmUHRyPFJU
Q1N0YXRzUmVxdWVzdD4pID0gMDsKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8UlRDRGF0YUNoYW5u
ZWxIYW5kbGVyPiBjcmVhdGVEYXRhQ2hhbm5lbChjb25zdCBTdHJpbmcmIGxhYmVsLCBib29sIHJl
bGlhYmxlKSA9IDA7CisgICAgdmlydHVhbCBQYXNzT3duUHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxl
cj4gY3JlYXRlRGF0YUNoYW5uZWwoY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgUlRDRGF0YUNo
YW5uZWxJbml0JikgPSAwOwogICAgIHZpcnR1YWwgUGFzc093blB0cjxSVENEVE1GU2VuZGVySGFu
ZGxlcj4gY3JlYXRlRFRNRlNlbmRlcihQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ29tcG9uZW50Pikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgPSAwOwogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NTU3NDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMy0wOS0xMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IFVwZGF0ZSBSVENEYXRhQ2hhbm5lbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMTAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWRhdGFjaGFubmVsLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWRhdGFjaGFubmVsLmh0bWw6
CisKIDIwMTMtMDktMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dpbmRvd3NdIEVuYWJsZSBQYWdlIFZpc2liaWxpdHkgQVBJCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWRhdGFjaGFubmVsLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWRhdGFjaGFubmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU1NTc1KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1kYXRhY2hh
bm5lbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTcsOSArNywxMyBAQCBQQVNTIGRj
ID0gcGMuY3JlYXRlRGF0YUNoYW5uZWwoImxhYmVsMSIpCiBQQVNTIGRjLnJlbGlhYmxlIGlzIHRy
dWUKIFBBU1MgZGMgPSBwYy5jcmVhdGVEYXRhQ2hhbm5lbCgibGFiZWwyIiwge30pOyBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZGMucmVsaWFibGUgaXMgdHJ1ZQotUEFTUyBkYyA9IHBj
LmNyZWF0ZURhdGFDaGFubmVsKCJsYWJlbDMiLCB7cmVsaWFibGU6dHJ1ZX0pOyBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgZGMgPSBwYy5jcmVhdGVEYXRhQ2hhbm5lbCgibGFiZWwzIiwg
e29yZGVyZWQ6dHJ1ZX0pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZGMucmVsaWFi
bGUgaXMgdHJ1ZQotUEFTUyBkYyA9IHBjLmNyZWF0ZURhdGFDaGFubmVsKCJsYWJlbDMiLCB7cmVs
aWFibGU6ZmFsc2V9KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGRjID0gcGMuY3Jl
YXRlRGF0YUNoYW5uZWwoImxhYmVsMyIsIHtvcmRlcmVkOmZhbHNlfSk7IGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBkYy5yZWxpYWJsZSBpcyBmYWxzZQorUEFTUyBkYyA9IHBjLmNyZWF0
ZURhdGFDaGFubmVsKCJsYWJlbDMiLCB7bWF4UmV0cmFuc21pdHM6MH0pOyBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgZGMucmVsaWFibGUgaXMgZmFsc2UKK1BBU1MgZGMgPSBwYy5jcmVh
dGVEYXRhQ2hhbm5lbCgibGFiZWwzIiwge21heFJldHJhbnNtaXRUaW1lOjB9KTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCiBQQVNTIGRjLnJlbGlhYmxlIGlzIGZhbHNlCiBQQVNTIHBjIGlzIGNv
bm5lY3RlZAogUEFTUyBkYyA9IHBjLmNyZWF0ZURhdGFDaGFubmVsKCJsYWJlbCIpOyBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24tZGF0YWNoYW5uZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWRhdGFjaGFubmVsLmh0bWwJKHJl
dmlzaW9uIDE1NTU3NSkKKysrIExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24tZGF0YWNoYW5uZWwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtODYsOSArODYsMTMg
QEAgc2hvdWxkTm90VGhyb3coJ2RjID0gcGMuY3JlYXRlRGF0YUNoYW5uZQogc2hvdWxkQmUoImRj
LnJlbGlhYmxlIiwgInRydWUiKTsKIHNob3VsZE5vdFRocm93KCdkYyA9IHBjLmNyZWF0ZURhdGFD
aGFubmVsKCJsYWJlbDIiLCB7fSk7Jyk7CiBzaG91bGRCZSgiZGMucmVsaWFibGUiLCAidHJ1ZSIp
Owotc2hvdWxkTm90VGhyb3coJ2RjID0gcGMuY3JlYXRlRGF0YUNoYW5uZWwoImxhYmVsMyIsIHty
ZWxpYWJsZTp0cnVlfSk7Jyk7CitzaG91bGROb3RUaHJvdygnZGMgPSBwYy5jcmVhdGVEYXRhQ2hh
bm5lbCgibGFiZWwzIiwge29yZGVyZWQ6dHJ1ZX0pOycpOwogc2hvdWxkQmUoImRjLnJlbGlhYmxl
IiwgInRydWUiKTsKLXNob3VsZE5vdFRocm93KCdkYyA9IHBjLmNyZWF0ZURhdGFDaGFubmVsKCJs
YWJlbDMiLCB7cmVsaWFibGU6ZmFsc2V9KTsnKTsKK3Nob3VsZE5vdFRocm93KCdkYyA9IHBjLmNy
ZWF0ZURhdGFDaGFubmVsKCJsYWJlbDMiLCB7b3JkZXJlZDpmYWxzZX0pOycpOworc2hvdWxkQmUo
ImRjLnJlbGlhYmxlIiwgImZhbHNlIik7CitzaG91bGROb3RUaHJvdygnZGMgPSBwYy5jcmVhdGVE
YXRhQ2hhbm5lbCgibGFiZWwzIiwge21heFJldHJhbnNtaXRzOjB9KTsnKTsKK3Nob3VsZEJlKCJk
Yy5yZWxpYWJsZSIsICJmYWxzZSIpOworc2hvdWxkTm90VGhyb3coJ2RjID0gcGMuY3JlYXRlRGF0
YUNoYW5uZWwoImxhYmVsMyIsIHttYXhSZXRyYW5zbWl0VGltZTowfSk7Jyk7CiBzaG91bGRCZSgi
ZGMucmVsaWFibGUiLCAiZmFsc2UiKTsKIAogcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rp
b24obnVsbCwgbnVsbCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>