<?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>144467</bug_id>
          
          <creation_ts>2015-04-30 13:07:00 -0700</creation_ts>
          <short_desc>Fix text track language selection logic</short_desc>
          <delta_ts>2015-05-01 09:59:01 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090548</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-30 13:07:00 -0700</bug_when>
    <thetext>Two tracks with the same language but different locales are weighted equally, causing the incorrect track to be chosen some of the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090549</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-30 13:07:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/20653145&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090550</commentid>
    <comment_count>2</comment_count>
      <attachid>252082</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-30 13:21:42 -0700</bug_when>
    <thetext>Created attachment 252082
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090551</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-30 13:23:07 -0700</bug_when>
    <thetext>Attachment 252082 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:4409:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 1 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>1090552</commentid>
    <comment_count>4</comment_count>
      <attachid>252083</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-30 13:27:34 -0700</bug_when>
    <thetext>Created attachment 252083
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090790</commentid>
    <comment_count>5</comment_count>
      <attachid>252083</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-01 08:52:06 -0700</bug_when>
    <thetext>Comment on attachment 252083
Proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090805</commentid>
    <comment_count>6</comment_count>
      <attachid>252083</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-01 09:58:56 -0700</bug_when>
    <thetext>Comment on attachment 252083
Proposed patch.

Clearing flags on attachment: 252083

Committed r183676: &lt;http://trac.webkit.org/changeset/183676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090806</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-01 09:59:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>252082</attachid>
            <date>2015-04-30 13:21:42 -0700</date>
            <delta_ts>2015-04-30 13:26:23 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>patch_2.txt</filename>
            <type>text/plain</type>
            <size>16606</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzY0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA0LTMwICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEZpeCB0ZXh0IHRyYWNr
IGxhbmd1YWdlIHNlbGVjdGlvbiBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBtZWRpYS90cmFjay90cmFjay1sYW5ndWFn
ZS1wcmVmZXJlbmNlLmh0bWwgd2FzIHVwZGF0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmln
dXJlVGV4dFRyYWNrR3JvdXApOiBDb3JyZWN0IGEgbWlub3Igc3R5bGUgdHlwby4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkpOiBV
cGRhdGUgbG9nZ2luZy4KKworICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tT
ZWxlY3Rpb25TY29yZSk6IE1pbm9yIGNsZWFudXAuCisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9u
VXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tMYW5ndWFnZVNlbGVjdGlvblNjb3JlKTogR2l2ZSBl
eGFjdCBtYXRjaGVzIGEKKyAgICAgICAgaGlnaGVyIHNjb3JlLgorCisgICAgICAgICogcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6dGV4dFRyYWNrU2VsZWN0aW9uU2NvcmUpOiBVcGRh
dGUgZm9yIAorICAgICAgICBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KTogQWRkIHBhcmFtZXRlciBmb3IgZXhh
Y3QgbWF0Y2guIENvbnZlcnQgdGhlCisgICAgICAgIHBhc3NlZCBsYW5ndWFnZSB0byBsb3dlciBj
YXNlIGFzIHdlIGRvIHdpdGggdGhlIHByZWZlcnJlZCBsYW5ndWFnZXMuCisgICAgICAgICogcGxh
dGZvcm0vTGFuZ3VhZ2UuaDoKKwogMjAxNS0wNC0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBBbGxvdyBXZWJLaXQgdG8gYnVpbGQgd2l0aG91
dCBBTkdMRSBzdXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE4MzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NjMsNyArMzU2Myw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWMKICAgICBMT0coTWVkaWEsICJIVE1MTWVk
aWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tHcm91cCglcCkiLCB0aGlzKTsKIAogICAgIFBh
Z2UqIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKLSAgICBDYXB0aW9uVXNlclByZWZlcmVuY2Vz
KiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBwYWdlPyBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJl
bmNlcygpIDogMDsKKyAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5j
ZXMgPSBwYWdlID8gcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKSA6IDA7CiAgICAg
Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlID0g
Y2FwdGlvblByZWZlcmVuY2VzID8gY2FwdGlvblByZWZlcmVuY2VzLT5jYXB0aW9uRGlzcGxheU1v
ZGUoKSA6IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkF1dG9tYXRpYzsKIAogICAgIC8vIEZpcnN0
LCBmaW5kIHRoZSB0cmFjayBpbiB0aGUgZ3JvdXAgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCAoaWYg
YW55KS4KQEAgLTUzNTcsMTAgKzUzNTcsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25m
aWd1cmVUZXh0VHJhYwogICAgIGlmIChtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1
cmVUZXh0VHJhY2tEaXNwbGF5KCVwKSIsIHRoaXMpOworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRp
YUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkoJXApIC0gY2hlY2tUeXBlID0gJXMi
LCB0aGlzLCBjaGVja1R5cGUgPT0gQ2hlY2tUZXh0VHJhY2tWaXNpYmlsaXR5ID8gImNoZWNrLXZp
c2liaWxpdHkiIDogImFzc3VtZS12aXNpYmlsaXR5LWNoYW5nZWQiKTsKIAogICAgIGJvb2wgaGF2
ZVZpc2libGVUZXh0VHJhY2sgPSBmYWxzZTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV90ZXh0VHJhY2tzLT5sZW5ndGgoKTsgKytpKSB7CisgICAgICAgIExPRyhNZWRpYSwgIiAgICAg
dHJhY2tbJWldLT5tb2RlID0gJXMiLCBpLCBTdHJpbmcobV90ZXh0VHJhY2tzLT5pdGVtKGkpLT5t
b2RlKCkpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBpZiAobV90ZXh0VHJhY2tzLT5pdGVtKGkp
LT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCgpKSB7CiAgICAgICAgICAgICBo
YXZlVmlzaWJsZVRleHRUcmFjayA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAkocmV2aXNp
b24gMTgzNTU0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM0LDIwICsyMzQsMTMgQEAgVmVjdG9yPFJlZlB0cjxB
dWRpb1RyYWNrPj4gQ2FwdGlvblVzZXJQcgogCiBpbnQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
dGV4dFRyYWNrU2VsZWN0aW9uU2NvcmUoVGV4dFRyYWNrKiB0cmFjaywgSFRNTE1lZGlhRWxlbWVu
dCopIGNvbnN0CiB7Ci0gICAgaW50IHRyYWNrU2NvcmUgPSAwOwotCiAgICAgaWYgKHRyYWNrLT5r
aW5kKCkgIT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSAmJiB0cmFjay0+a2luZCgpICE9
IFRleHRUcmFjazo6c3VidGl0bGVzS2V5d29yZCgpKQotICAgICAgICByZXR1cm4gdHJhY2tTY29y
ZTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgaWYgKCF1c2VyUHJlZmVyc1N1YnRpdGxl
cygpICYmICF1c2VyUHJlZmVyc0NhcHRpb25zKCkpCi0gICAgICAgIHJldHVybiB0cmFja1Njb3Jl
OwotICAgIAotICAgIGlmICh0cmFjay0+a2luZCgpID09IFRleHRUcmFjazo6c3VidGl0bGVzS2V5
d29yZCgpICYmIHVzZXJQcmVmZXJzU3VidGl0bGVzKCkpCi0gICAgICAgIHRyYWNrU2NvcmUgPSAx
OwotICAgIGVsc2UgaWYgKHRyYWNrLT5raW5kKCkgPT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdv
cmQoKSAmJiB1c2VyUHJlZmVyc0NhcHRpb25zKCkpCi0gICAgICAgIHRyYWNrU2NvcmUgPSAxOwor
ICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICByZXR1cm4gdHJhY2tTY29yZSArIHRleHRUcmFj
a0xhbmd1YWdlU2VsZWN0aW9uU2NvcmUodHJhY2ssIHByZWZlcnJlZExhbmd1YWdlcygpKTsKKyAg
ICByZXR1cm4gdGV4dFRyYWNrTGFuZ3VhZ2VTZWxlY3Rpb25TY29yZSh0cmFjaywgcHJlZmVycmVk
TGFuZ3VhZ2VzKCkpICsgMTsKIH0KIAogaW50IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRleHRU
cmFja0xhbmd1YWdlU2VsZWN0aW9uU2NvcmUoVGV4dFRyYWNrKiB0cmFjaywgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHByZWZlcnJlZExhbmd1YWdlcykgY29uc3QKQEAgLTI1NSwxMyArMjQ4LDE1IEBA
IGludCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tMYW4KICAgICBpZiAodHJhY2st
Pmxhbmd1YWdlKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHNpemVfdCBs
YW5ndWFnZU1hdGNoSW5kZXggPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodHJh
Y2stPmxhbmd1YWdlKCksIHByZWZlcnJlZExhbmd1YWdlcyk7CisgICAgYm9vbCBleGFjdE1hdGNo
OworICAgIHNpemVfdCBsYW5ndWFnZU1hdGNoSW5kZXggPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFu
Z3VhZ2VJbkxpc3QodHJhY2stPmxhbmd1YWdlKCksIHByZWZlcnJlZExhbmd1YWdlcywgZXhhY3RN
YXRjaCk7CiAgICAgaWYgKGxhbmd1YWdlTWF0Y2hJbmRleCA+PSBwcmVmZXJyZWRMYW5ndWFnZXMu
c2l6ZSgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIE1hdGNoaW5nIGEgdHJhY2sgbGFu
Z3VhZ2UgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBtYXRjaGluZyB0cmFjayB0eXBlLCBzbyB0aGlz
IG11bHRpcGxpZXIgbXVzdCBiZQogICAgIC8vIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZSByZXR1cm5lZCBieSB0ZXh0VHJhY2tTZWxlY3Rpb25TY29yZS4KLSAgICByZXR1cm4gKHByZWZl
cnJlZExhbmd1YWdlcy5zaXplKCkgLSBsYW5ndWFnZU1hdGNoSW5kZXgpICogMTA7CisgICAgaW50
IGJvbnVzID0gZXhhY3RNYXRjaCA/IDEgOiAwOworICAgIHJldHVybiAocHJlZmVycmVkTGFuZ3Vh
Z2VzLnNpemUoKSArIGJvbnVzIC0gbGFuZ3VhZ2VNYXRjaEluZGV4KSAqIDEwOwogfQogCiB2b2lk
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKGNv
bnN0IFN0cmluZyYgb3ZlcnJpZGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAkocmV2aXNpb24gMTgzNTU0KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY2Myw5ICs2NjMsMTAgQEAgaW50IENhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGOjp0ZXh0VAogICAgICAgICBpZiAoYXVkaW9UcmFja0xhbmd1YWdlLmlzRW1w
dHkoKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCisgICAgICAgIGJvb2wgZXhhY3RNYXRjaDsK
ICAgICAgICAgaWYgKHRyYWNrSGFzT25seUZvcmNlZFN1YnRpdGxlcykgewogICAgICAgICAgICAg
bGFuZ3VhZ2VMaXN0LmFwcGVuZChhdWRpb1RyYWNrTGFuZ3VhZ2UpOwotICAgICAgICAgICAgc2l6
ZV90IG9mZnNldCA9IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdCh0ZXh0VHJhY2tM
YW5ndWFnZSwgbGFuZ3VhZ2VMaXN0KTsKKyAgICAgICAgICAgIHNpemVfdCBvZmZzZXQgPSBpbmRl
eE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxhbmd1YWdl
TGlzdCwgZXhhY3RNYXRjaCk7CiAKICAgICAgICAgICAgIC8vIE9ubHkgY29uc2lkZXIgYSBmb3Jj
ZWQtb25seSB0cmFjayBpZiBpdCBJUyBpbiB0aGUgc2FtZSBsYW5ndWFnZSBhcyB0aGUgcHJpbWFy
eSBhdWRpbyB0cmFjay4KICAgICAgICAgICAgIGlmIChvZmZzZXQpCkBAIC02NzQsMTIgKzY3NSwx
MiBAQCBpbnQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnRleHRUCiAgICAgICAgICAg
ICBsYW5ndWFnZUxpc3QuYXBwZW5kKGRlZmF1bHRMYW5ndWFnZSgpKTsKIAogICAgICAgICAgICAg
Ly8gT25seSBlbmFibGUgYSB0ZXh0IHRyYWNrIGlmIHRoZSBjdXJyZW50IGF1ZGlvIHRyYWNrIGlz
IE5PVCBpbiB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSAuLi4KLSAgICAgICAgICAgIHNp
emVfdCBvZmZzZXQgPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoYXVkaW9UcmFj
a0xhbmd1YWdlLCBsYW5ndWFnZUxpc3QpOworICAgICAgICAgICAgc2l6ZV90IG9mZnNldCA9IGlu
ZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChhdWRpb1RyYWNrTGFuZ3VhZ2UsIGxhbmd1
YWdlTGlzdCwgZXhhY3RNYXRjaCk7CiAgICAgICAgICAgICBpZiAoIW9mZnNldCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAgICAgLy8gYW5kIHRoZSB0ZXh0IHRyYWNrIG1h
dGNoZXMgdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UuCi0gICAgICAgICAgICBvZmZzZXQg
PSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxh
bmd1YWdlTGlzdCk7CisgICAgICAgICAgICBvZmZzZXQgPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFu
Z3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxhbmd1YWdlTGlzdCwgZXhhY3RNYXRjaCk7
CiAgICAgICAgICAgICBpZiAob2Zmc2V0KQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYW5ndWFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwCShyZXZpc2lvbiAx
ODM1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYW5ndWFnZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNSwyMiArMTA1LDI1IEBAIHN0YXRpYyBTdHJpbmcgY2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWUKICAgICByZXR1cm4gbG93ZXJjYXNlTGFuZ3VhZ2VDb2RlOwogfQogCi1zaXpl
X3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYgbGFuZ3Vh
Z2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QpCitzaXplX3QgaW5kZXhPZkJl
c3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wmIGV4YWN0TWF0Y2gpCiB7CisgICAgU3Ry
aW5nIGxvd2VyY2FzZUxhbmd1YWdlID0gbGFuZ3VhZ2UubG93ZXIoKTsKICAgICBTdHJpbmcgbGFu
Z3VhZ2VXaXRob3V0TG9jYWxlTWF0Y2g7CiAgICAgU3RyaW5nIGxhbmd1YWdlTWF0Y2hCdXROb3RM
b2NhbGU7CiAgICAgc2l6ZV90IGxhbmd1YWdlV2l0aG91dExvY2FsZU1hdGNoSW5kZXggPSAwOwog
ICAgIHNpemVfdCBsYW5ndWFnZU1hdGNoQnV0Tm90TG9jYWxlTWF0Y2hJbmRleCA9IDA7Ci0gICAg
Ym9vbCBjYW5NYXRjaExhbmd1YWdlT25seSA9IChsYW5ndWFnZS5sZW5ndGgoKSA9PSAyIHx8IChs
YW5ndWFnZS5sZW5ndGgoKSA+PSAzICYmIGxhbmd1YWdlWzJdID09ICctJykpOworICAgIGJvb2wg
Y2FuTWF0Y2hMYW5ndWFnZU9ubHkgPSAobG93ZXJjYXNlTGFuZ3VhZ2UubGVuZ3RoKCkgPT0gMiB8
fCAobG93ZXJjYXNlTGFuZ3VhZ2UubGVuZ3RoKCkgPj0gMyAmJiBsb3dlcmNhc2VMYW5ndWFnZVsy
XSA9PSAnLScpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGFuZ3VhZ2VMaXN0LnNp
emUoKTsgKytpKSB7CiAgICAgICAgIFN0cmluZyBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlz
dCA9IGNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllcihsYW5ndWFnZUxpc3RbaV0pOwogCi0gICAg
ICAgIGlmIChsYW5ndWFnZSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdCkKKyAgICAg
ICAgaWYgKGxvd2VyY2FzZUxhbmd1YWdlID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZyb21MaXN0
KSB7CisgICAgICAgICAgICBleGFjdE1hdGNoID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBp
OworICAgICAgICB9CiAKICAgICAgICAgaWYgKGNhbk1hdGNoTGFuZ3VhZ2VPbmx5ICYmIGNhbm9u
aWNhbGl6ZWRMYW5ndWFnZUZyb21MaXN0Lmxlbmd0aCgpID49IDIpIHsKLSAgICAgICAgICAgIGlm
IChsYW5ndWFnZVswXSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdFswXSAmJiBsYW5n
dWFnZVsxXSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdFsxXSkgeworICAgICAgICAg
ICAgaWYgKGxvd2VyY2FzZUxhbmd1YWdlWzBdID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZyb21M
aXN0WzBdICYmIGxvd2VyY2FzZUxhbmd1YWdlWzFdID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZy
b21MaXN0WzFdKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFsYW5ndWFnZVdpdGhvdXRMb2NhbGVN
YXRjaC5sZW5ndGgoKSAmJiBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdC5sZW5ndGgoKSA9
PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlV2l0aG91dExvY2FsZU1hdGNoID0g
bGFuZ3VhZ2VMaXN0W2ldOwogICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZVdpdGhvdXRMb2Nh
bGVNYXRjaEluZGV4ID0gaTsKQEAgLTEzMyw2ICsxMzYsOCBAQCBzaXplX3QgaW5kZXhPZkJlc3RN
YXRjaGluZ0xhbmd1YWdlSW5MaXN0CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBleGFjdE1hdGNo
ID0gZmFsc2U7CisKICAgICAvLyBJZiB3ZSBoYXZlIGJvdGggYSBsYW5ndWFnZS1vbmx5IG1hdGNo
IGFuZCBhIGxhbmd1Z2UtYnV0LW5vdC1sb2NhbGUgbWF0Y2gsIHJldHVybiB0aGUKICAgICAvLyBs
YW5ndWdlLW9ubHkgbWF0Y2ggYXMgaXMgY29uc2lkZXJlZCBhICJiZXR0ZXIiIG1hdGNoLiBGb3Ig
ZXhhbXBsZSwgaWYgdGhlIGxpc3QKICAgICAvLyBwcm92aWRlZCBoYXMgYm90aCAiZW4tR0IiIGFu
ZCAiZW4iIGFuZCB0aGUgdXNlciBwcmVmZXJzICJlbi1VUyIgd2Ugd2lsbCByZXR1cm4gImVuIi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xhbmd1YWdlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaAkocmV2aXNpb24gMTgzNTU0KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQCBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZGVmYXVsdExhbmd1YWdlKCk7CiBXRUJD
T1JFX0VYUE9SVCBWZWN0b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCk7CiBWZWN0
b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGUoKTsKIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jik7Ci1zaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0
cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QpOworc2l6
ZV90IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1
YWdlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNo
KTsKIAogLy8gVGhlIG9ic2VydmVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gc3lzdGVt
IGxhbmd1YWdlIGNoYW5nZXMuCiB0eXBlZGVmIHZvaWQgKCpMYW5ndWFnZUNoYW5nZU9ic2VydmVy
RnVuY3Rpb24pKHZvaWQqIGNvbnRleHQpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMTgzNTU0KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
NDA2LDcgKzQ0MDYsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZENoYW5nZVNlbGVjdGlvbigpCiAgICAg
Ly8gdG8gc2VuZCB0aGUgZnVsbCBlZGl0b3Igc3RhdGUgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUgaWYg
d2Ugc2VuZCBhIHBhcnRpYWwgZWRpdG9yIHN0YXRlIGhlcmUuCiAgICAgYXV0byBlZGl0b3JTdGF0
ZSA9IHRoaXMtPmVkaXRvclN0YXRlKG5lZWRzTGF5b3V0ID8gSW5jbHVkZVBvc3RMYXlvdXREYXRh
SGludDo6Tm8gOiBJbmNsdWRlUG9zdExheW91dERhdGFIaW50OjpZZXMpOwogI2lmIFBMQVRGT1JN
KENPQ09BKQotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobmVlZHNMYXlvdXQgPT0gKHZpZXcgJiYg
dmlldy0+bmVlZHNMYXlvdXQoKSksICJDYWxsaW5nIGVkaXRvclN0YXRlKCkgc2hvdWxkIG5vdCBj
YXVzZSBhIHN5bmNocm9ub3VzIGxheW91dC4iKTsKKy8vQEBAQEAgICAgQVNTRVJUX1dJVEhfTUVT
U0FHRShuZWVkc0xheW91dCA9PSAodmlldyAmJiB2aWV3LT5uZWVkc0xheW91dCgpKSwgIkNhbGxp
bmcgZWRpdG9yU3RhdGUoKSBzaG91bGQgbm90IGNhdXNlIGEgc3luY2hyb25vdXMgbGF5b3V0LiIp
OwogI2VuZGlmCiAgICAgbV9pc0VkaXRvclN0YXRlTWlzc2luZ1Bvc3RMYXlvdXREYXRhID0gZWRp
dG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGE7CiAKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4
MzY0MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE0IEBACisyMDE1LTA0LTMwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29t
PgorCisgICAgICAgIEZpeCB0ZXh0IHRyYWNrIGxhbmd1YWdlIHNlbGVjdGlvbiBsb2dpYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDY3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS90cmFj
ay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRp
YS90cmFjay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLmh0bWw6IFVwZGF0ZWQsIGFkZCBuZXcg
dGVzdHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTUt
MDQtMzAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFJlYmFzZWxpbmUgc29tZSBlZGl0aW5nIHRlc3RzIGZvciBXZWJLaXRHVEsrCkluZGV4OiBMYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sYW5ndWFnZS1w
cmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTgzNTU0KQorKysgTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stbGFuZ3VhZ2UtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTMsNyArMyw4IEBAIFRlc3RzIHRoYXQgdGhlIHVzZXIncyBwcmVmZXJyZWQg
bGFuZ3VhZ2UKIAogKipTZXQgdHJhY2sgcHJlZmVyZW5jZXMgYW5kIHVzZXIgcHJlZmVycmVkIGxh
bmd1YWdlcwogUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VHJhY2tLaW5k
KCdDYXB0aW9ucycsIHRydWUpKQotUlVOKGludGVybmFscy5zZXRVc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKFsnanAnLCAnZXMtRVMnLCAnZW4nLCAnZnInXSkpCitSVU4oaW50ZXJuYWxzLnNldFVzZXJQ
cmVmZXJyZWRMYW5ndWFnZXMoWydqcCcsICdlcy1FUycsICdlbicsICdmcicsICdwdC1QVCddKSkK
K0VWRU5UKGNhbnBsYXl0aHJvdWdoKQogCiBUZXN0OiBhIHRyYWNrIGxhbmd1YWdlIG1hdGNoZXMg
b25lIG9mIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlcyBleGFjdGx5LgogLSBjcmVhdGlu
ZyB0cmFja3MgZm9yOiBbZnIsZW4sanBdLgpAQCAtMjksNiArMzAsMTEgQEAgRVZFTlQobG9hZCkK
IEVYUEVDVEVEICh0cmFjay5yZWFkeVN0YXRlID09ICcyJykgT0sKIEVYUEVDVEVEICh0cmFjay5z
cmNsYW5nID09ICdmYScpIE9LCiAKLUVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzLmxlbmd0aCA9
PSAnMycpIE9LCitUZXN0OiBhIHRyYWNrIGxhbmd1YWdlIHdpdGhvdXQgbG9jYWxlIG1hdGNoZXMg
b25lIG9mIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlcyBleGFjdGx5IHdoZW4gYW5vdGhl
ciBsYW5ndWFnZSBtYXRjaGVzIGxvY2FsZSBvbmx5LgorLSBjcmVhdGluZyB0cmFja3MgZm9yOiBb
cHQtQlIsbmwtTkwscHQtUFRdLgorRVZFTlQobG9hZCkKK0VYUEVDVEVEICh0cmFjay5yZWFkeVN0
YXRlID09ICcyJykgT0sKK0VYUEVDVEVEICh0cmFjay5zcmNsYW5nID09ICdwdC1QVCcpIE9LCisK
IEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxhbmd1
YWdlLXByZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLmh0bWwJKHJldmlzaW9uIDE4MzU1NCkKKysrIExh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxhbmd1YWdlLXByZWZlcmVuY2UuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNiBAQAogICAgICAgICA8c2NyaXB0PgogCiAgICAgICAg
ICAgICB2YXIgdGltZXIgPSBudWxsOwotICAgICAgICAgICAgdmFyIGV4cGVjdGVkTGFuZ3VhZ2U7
CiAgICAgICAgICAgICB2YXIgdGVzdExpc3QgPSAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICBjdXJyZW50IDogLTEsCkBAIC0zNyw2ICszNiwxMSBAQAogICAgICAgICAgICAgICAgICAg
ICAgICAgbGFuZ3VhZ2VzIDogWydmYScsICdydScsICdubyddLCAKICAgICAgICAgICAgICAgICAg
ICAgICAgIGV4cGVjdGVkTGFuZ3VhZ2UgOiAiZmEiLCAKICAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRp
b246ICJhIHRyYWNrIGxhbmd1YWdlIHdpdGhvdXQgbG9jYWxlIG1hdGNoZXMgb25lIG9mIHRoZSB1
c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlcyBleGFjdGx5IHdoZW4gYW5vdGhlciBsYW5ndWFnZSBt
YXRjaGVzIGxvY2FsZSBvbmx5IiwgCisgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXMg
OiBbJ3B0LUJSJywgJ25sLU5MJywgJ3B0LVBUJ10sIAorICAgICAgICAgICAgICAgICAgICAgICAg
ZXhwZWN0ZWRMYW5ndWFnZSA6ICJwdC1QVCIsIAorICAgICAgICAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH07CiAKQEAgLTQ1LDggKzQ5LDYgQEAKICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwogICAgICAgICAgICAgICAgIHRlc3RMaXN0LmN1
cnJlbnQrKzsKICAgICAgICAgICAgICAgICBpZiAodGVzdExpc3QuY3VycmVudCA+PSB0ZXN0TGlz
dC50ZXN0cy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHRyYWNrcyA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyYWNrJyk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8udGV4dFRyYWNrcy5sZW5ndGgiLCB0cmFja3MubGVuZ3RoKTsKICAgICAg
ICAgICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgfQpAQCAtNTksMTIgKzYxLDEwIEBACiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChsb2FkKSIpOwogICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIC8vIERvbid0IGxvZyB0aGUgZXZlbnQgbmFtZSBiZWNhdXNlIHRo
ZSBvcmRlciBvZiB0aGUgdHdvIGV2ZW50cyBpbiBub3QgcHJlZGljdGFibGUuCiAgICAgICAgICAg
ICAgICAgdHJhY2sgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJ0cmFjay5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxlbWVudC5MT0FERUQpOwogICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2suc3JjbGFuZyIsIHRlc3RMaXN0LnRlc3RzW3Rlc3RM
aXN0LmN1cnJlbnRdLmV4cGVjdGVkTGFuZ3VhZ2UpOwotCi0gICAgICAgICAgICAgICAgdGltZXIg
PSBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAyMDApOworICAgICAgICAgICAgICAgIHRpbWVyID0g
c2V0VGltZW91dChydW5OZXh0VGVzdCwgMTAwKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgZnVuY3Rpb24gc2V0UHJlZmVyZW5jZXMoKQpAQCAtNzYsNyArNzYsNyBAQAogCiAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCI8aT4qKlNldCB0cmFjayBwcmVmZXJlbmNlcyBhbmQgdXNl
ciBwcmVmZXJyZWQgbGFuZ3VhZ2VzPCIgKyAiL2k+Iik7CiAgICAgICAgICAgICAgICAgcnVuKCJp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZCgnQ2FwdGlvbnMnLCB0
cnVlKSIpOwotICAgICAgICAgICAgICAgIHJ1bigiaW50ZXJuYWxzLnNldFVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoWydqcCcsICdlcy1FUycsICdlbicsICdmciddKSIpOworICAgICAgICAgICAgICAg
IHJ1bigiaW50ZXJuYWxzLnNldFVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoWydqcCcsICdlcy1FUycs
ICdlbicsICdmcicsICdwdC1QVCddKSIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVUcmFja0VsZW1lbnQobGFuZ3VhZ2UsIHNyYykKQEAg
LTEwMiwxOCArMTAyLDE4IEBACiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHNldHVwKCkKICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7Ci0KKyAgICAgICAg
ICAgICAgICBzZXRDYXB0aW9uRGlzcGxheU1vZGUoJ0Fsd2F5c09uJyk7CiAgICAgICAgICAgICAg
ICAgc2V0UHJlZmVyZW5jZXMoIlN1YnRpdGxlcyIsIHRydWUpOwogCi0gICAgICAgICAgICAgICAg
cnVuTmV4dFRlc3QoKTsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAg
ICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgndmlkZW8nLCAnLi4vY29udGVu
dC90ZXN0Jyk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhyb3VnaCcs
IHJ1bk5leHRUZXN0KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICA8L3NjcmlwdD4KICAgICA8
L2hlYWQ+CiAgICAgPGJvZHkgb25sb2FkPSJzZXR1cCgpIj4KICAgICAgICAgPHA+VGVzdHMgdGhh
dCB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZXMgYXJlIGhvbm9yZWQuPC9wPgotICAgICAg
ICA8dmlkZW8+Ci0gICAgICAgIDwvdmlkZW8+CisgICAgICAgIDx2aWRlbz48L3ZpZGVvPgogICAg
IDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAxODM1NTQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtOTg4LDcgKzk4OCw2IEBAIHdlYmtp
dC5vcmcvYi8xNDIxNTIgbWVkaWEvdHJhY2svdHJhY2staW4KIHdlYmtpdC5vcmcvYi8yODIyMSBt
ZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sIFsgRmFpbHVy
ZSBdCiAKICMgVGhlc2UgdGVzdHMgYWx3YXlzIHRpbWUgb3V0Lgotd2Via2l0Lm9yZy9iLzExMjQ5
MiBtZWRpYS90cmFjay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMTI0OTIgbWVkaWEvdHJhY2svdHJhY2stcHJlZmVyLWNhcHRpb25zLmh0bWwg
WyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzEzNjcwOCBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBs
YXktc3RhbGwtc2Vlay5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252083</attachid>
            <date>2015-04-30 13:27:34 -0700</date>
            <delta_ts>2015-05-01 09:58:56 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>patch_2.txt</filename>
            <type>text/plain</type>
            <size>15684</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzY0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA0LTMwICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEZpeCB0ZXh0IHRyYWNr
IGxhbmd1YWdlIHNlbGVjdGlvbiBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBtZWRpYS90cmFjay90cmFjay1sYW5ndWFn
ZS1wcmVmZXJlbmNlLmh0bWwgd2FzIHVwZGF0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmln
dXJlVGV4dFRyYWNrR3JvdXApOiBDb3JyZWN0IGEgbWlub3Igc3R5bGUgdHlwby4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkpOiBV
cGRhdGUgbG9nZ2luZy4KKworICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tT
ZWxlY3Rpb25TY29yZSk6IE1pbm9yIGNsZWFudXAuCisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9u
VXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tMYW5ndWFnZVNlbGVjdGlvblNjb3JlKTogR2l2ZSBl
eGFjdCBtYXRjaGVzIGEKKyAgICAgICAgaGlnaGVyIHNjb3JlLgorCisgICAgICAgICogcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6dGV4dFRyYWNrU2VsZWN0aW9uU2NvcmUpOiBVcGRh
dGUgZm9yIAorICAgICAgICBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KTogQWRkIHBhcmFtZXRlciBmb3IgZXhh
Y3QgbWF0Y2guIENvbnZlcnQgdGhlCisgICAgICAgIHBhc3NlZCBsYW5ndWFnZSB0byBsb3dlciBj
YXNlIGFzIHdlIGRvIHdpdGggdGhlIHByZWZlcnJlZCBsYW5ndWFnZXMuCisgICAgICAgICogcGxh
dGZvcm0vTGFuZ3VhZ2UuaDoKKwogMjAxNS0wNC0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBBbGxvdyBXZWJLaXQgdG8gYnVpbGQgd2l0aG91
dCBBTkdMRSBzdXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE4MzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NjMsNyArMzU2Myw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWMKICAgICBMT0coTWVkaWEsICJIVE1MTWVk
aWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tHcm91cCglcCkiLCB0aGlzKTsKIAogICAgIFBh
Z2UqIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKLSAgICBDYXB0aW9uVXNlclByZWZlcmVuY2Vz
KiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBwYWdlPyBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJl
bmNlcygpIDogMDsKKyAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5j
ZXMgPSBwYWdlID8gcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKSA6IDA7CiAgICAg
Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlID0g
Y2FwdGlvblByZWZlcmVuY2VzID8gY2FwdGlvblByZWZlcmVuY2VzLT5jYXB0aW9uRGlzcGxheU1v
ZGUoKSA6IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkF1dG9tYXRpYzsKIAogICAgIC8vIEZpcnN0
LCBmaW5kIHRoZSB0cmFjayBpbiB0aGUgZ3JvdXAgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCAoaWYg
YW55KS4KQEAgLTUzNTcsMTAgKzUzNTcsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25m
aWd1cmVUZXh0VHJhYwogICAgIGlmIChtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1
cmVUZXh0VHJhY2tEaXNwbGF5KCVwKSIsIHRoaXMpOworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRp
YUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkoJXApIC0gY2hlY2tUeXBlID0gJXMi
LCB0aGlzLCBjaGVja1R5cGUgPT0gQ2hlY2tUZXh0VHJhY2tWaXNpYmlsaXR5ID8gImNoZWNrLXZp
c2liaWxpdHkiIDogImFzc3VtZS12aXNpYmlsaXR5LWNoYW5nZWQiKTsKIAogICAgIGJvb2wgaGF2
ZVZpc2libGVUZXh0VHJhY2sgPSBmYWxzZTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV90ZXh0VHJhY2tzLT5sZW5ndGgoKTsgKytpKSB7CisgICAgICAgIExPRyhNZWRpYSwgIiAgICAg
dHJhY2tbJWldLT5tb2RlID0gJXMiLCBpLCBTdHJpbmcobV90ZXh0VHJhY2tzLT5pdGVtKGkpLT5t
b2RlKCkpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBpZiAobV90ZXh0VHJhY2tzLT5pdGVtKGkp
LT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCgpKSB7CiAgICAgICAgICAgICBo
YXZlVmlzaWJsZVRleHRUcmFjayA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAkocmV2aXNp
b24gMTgzNTU0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM0LDIwICsyMzQsMTMgQEAgVmVjdG9yPFJlZlB0cjxB
dWRpb1RyYWNrPj4gQ2FwdGlvblVzZXJQcgogCiBpbnQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
dGV4dFRyYWNrU2VsZWN0aW9uU2NvcmUoVGV4dFRyYWNrKiB0cmFjaywgSFRNTE1lZGlhRWxlbWVu
dCopIGNvbnN0CiB7Ci0gICAgaW50IHRyYWNrU2NvcmUgPSAwOwotCiAgICAgaWYgKHRyYWNrLT5r
aW5kKCkgIT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSAmJiB0cmFjay0+a2luZCgpICE9
IFRleHRUcmFjazo6c3VidGl0bGVzS2V5d29yZCgpKQotICAgICAgICByZXR1cm4gdHJhY2tTY29y
ZTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgaWYgKCF1c2VyUHJlZmVyc1N1YnRpdGxl
cygpICYmICF1c2VyUHJlZmVyc0NhcHRpb25zKCkpCi0gICAgICAgIHJldHVybiB0cmFja1Njb3Jl
OwotICAgIAotICAgIGlmICh0cmFjay0+a2luZCgpID09IFRleHRUcmFjazo6c3VidGl0bGVzS2V5
d29yZCgpICYmIHVzZXJQcmVmZXJzU3VidGl0bGVzKCkpCi0gICAgICAgIHRyYWNrU2NvcmUgPSAx
OwotICAgIGVsc2UgaWYgKHRyYWNrLT5raW5kKCkgPT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdv
cmQoKSAmJiB1c2VyUHJlZmVyc0NhcHRpb25zKCkpCi0gICAgICAgIHRyYWNrU2NvcmUgPSAxOwor
ICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICByZXR1cm4gdHJhY2tTY29yZSArIHRleHRUcmFj
a0xhbmd1YWdlU2VsZWN0aW9uU2NvcmUodHJhY2ssIHByZWZlcnJlZExhbmd1YWdlcygpKTsKKyAg
ICByZXR1cm4gdGV4dFRyYWNrTGFuZ3VhZ2VTZWxlY3Rpb25TY29yZSh0cmFjaywgcHJlZmVycmVk
TGFuZ3VhZ2VzKCkpICsgMTsKIH0KIAogaW50IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRleHRU
cmFja0xhbmd1YWdlU2VsZWN0aW9uU2NvcmUoVGV4dFRyYWNrKiB0cmFjaywgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHByZWZlcnJlZExhbmd1YWdlcykgY29uc3QKQEAgLTI1NSwxMyArMjQ4LDE1IEBA
IGludCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0ZXh0VHJhY2tMYW4KICAgICBpZiAodHJhY2st
Pmxhbmd1YWdlKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHNpemVfdCBs
YW5ndWFnZU1hdGNoSW5kZXggPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodHJh
Y2stPmxhbmd1YWdlKCksIHByZWZlcnJlZExhbmd1YWdlcyk7CisgICAgYm9vbCBleGFjdE1hdGNo
OworICAgIHNpemVfdCBsYW5ndWFnZU1hdGNoSW5kZXggPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFu
Z3VhZ2VJbkxpc3QodHJhY2stPmxhbmd1YWdlKCksIHByZWZlcnJlZExhbmd1YWdlcywgZXhhY3RN
YXRjaCk7CiAgICAgaWYgKGxhbmd1YWdlTWF0Y2hJbmRleCA+PSBwcmVmZXJyZWRMYW5ndWFnZXMu
c2l6ZSgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIE1hdGNoaW5nIGEgdHJhY2sgbGFu
Z3VhZ2UgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBtYXRjaGluZyB0cmFjayB0eXBlLCBzbyB0aGlz
IG11bHRpcGxpZXIgbXVzdCBiZQogICAgIC8vIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZSByZXR1cm5lZCBieSB0ZXh0VHJhY2tTZWxlY3Rpb25TY29yZS4KLSAgICByZXR1cm4gKHByZWZl
cnJlZExhbmd1YWdlcy5zaXplKCkgLSBsYW5ndWFnZU1hdGNoSW5kZXgpICogMTA7CisgICAgaW50
IGJvbnVzID0gZXhhY3RNYXRjaCA/IDEgOiAwOworICAgIHJldHVybiAocHJlZmVycmVkTGFuZ3Vh
Z2VzLnNpemUoKSArIGJvbnVzIC0gbGFuZ3VhZ2VNYXRjaEluZGV4KSAqIDEwOwogfQogCiB2b2lk
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKGNv
bnN0IFN0cmluZyYgb3ZlcnJpZGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAkocmV2aXNpb24gMTgzNTU0KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY2Myw5ICs2NjMsMTAgQEAgaW50IENhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGOjp0ZXh0VAogICAgICAgICBpZiAoYXVkaW9UcmFja0xhbmd1YWdlLmlzRW1w
dHkoKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCisgICAgICAgIGJvb2wgZXhhY3RNYXRjaDsK
ICAgICAgICAgaWYgKHRyYWNrSGFzT25seUZvcmNlZFN1YnRpdGxlcykgewogICAgICAgICAgICAg
bGFuZ3VhZ2VMaXN0LmFwcGVuZChhdWRpb1RyYWNrTGFuZ3VhZ2UpOwotICAgICAgICAgICAgc2l6
ZV90IG9mZnNldCA9IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdCh0ZXh0VHJhY2tM
YW5ndWFnZSwgbGFuZ3VhZ2VMaXN0KTsKKyAgICAgICAgICAgIHNpemVfdCBvZmZzZXQgPSBpbmRl
eE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxhbmd1YWdl
TGlzdCwgZXhhY3RNYXRjaCk7CiAKICAgICAgICAgICAgIC8vIE9ubHkgY29uc2lkZXIgYSBmb3Jj
ZWQtb25seSB0cmFjayBpZiBpdCBJUyBpbiB0aGUgc2FtZSBsYW5ndWFnZSBhcyB0aGUgcHJpbWFy
eSBhdWRpbyB0cmFjay4KICAgICAgICAgICAgIGlmIChvZmZzZXQpCkBAIC02NzQsMTIgKzY3NSwx
MiBAQCBpbnQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnRleHRUCiAgICAgICAgICAg
ICBsYW5ndWFnZUxpc3QuYXBwZW5kKGRlZmF1bHRMYW5ndWFnZSgpKTsKIAogICAgICAgICAgICAg
Ly8gT25seSBlbmFibGUgYSB0ZXh0IHRyYWNrIGlmIHRoZSBjdXJyZW50IGF1ZGlvIHRyYWNrIGlz
IE5PVCBpbiB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSAuLi4KLSAgICAgICAgICAgIHNp
emVfdCBvZmZzZXQgPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoYXVkaW9UcmFj
a0xhbmd1YWdlLCBsYW5ndWFnZUxpc3QpOworICAgICAgICAgICAgc2l6ZV90IG9mZnNldCA9IGlu
ZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChhdWRpb1RyYWNrTGFuZ3VhZ2UsIGxhbmd1
YWdlTGlzdCwgZXhhY3RNYXRjaCk7CiAgICAgICAgICAgICBpZiAoIW9mZnNldCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAgICAgLy8gYW5kIHRoZSB0ZXh0IHRyYWNrIG1h
dGNoZXMgdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UuCi0gICAgICAgICAgICBvZmZzZXQg
PSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxh
bmd1YWdlTGlzdCk7CisgICAgICAgICAgICBvZmZzZXQgPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFu
Z3VhZ2VJbkxpc3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxhbmd1YWdlTGlzdCwgZXhhY3RNYXRjaCk7
CiAgICAgICAgICAgICBpZiAob2Zmc2V0KQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYW5ndWFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwCShyZXZpc2lvbiAx
ODM1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYW5ndWFnZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNSwyMiArMTA1LDI1IEBAIHN0YXRpYyBTdHJpbmcgY2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWUKICAgICByZXR1cm4gbG93ZXJjYXNlTGFuZ3VhZ2VDb2RlOwogfQogCi1zaXpl
X3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYgbGFuZ3Vh
Z2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QpCitzaXplX3QgaW5kZXhPZkJl
c3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QsIGJvb2wmIGV4YWN0TWF0Y2gpCiB7CisgICAgU3Ry
aW5nIGxvd2VyY2FzZUxhbmd1YWdlID0gbGFuZ3VhZ2UubG93ZXIoKTsKICAgICBTdHJpbmcgbGFu
Z3VhZ2VXaXRob3V0TG9jYWxlTWF0Y2g7CiAgICAgU3RyaW5nIGxhbmd1YWdlTWF0Y2hCdXROb3RM
b2NhbGU7CiAgICAgc2l6ZV90IGxhbmd1YWdlV2l0aG91dExvY2FsZU1hdGNoSW5kZXggPSAwOwog
ICAgIHNpemVfdCBsYW5ndWFnZU1hdGNoQnV0Tm90TG9jYWxlTWF0Y2hJbmRleCA9IDA7Ci0gICAg
Ym9vbCBjYW5NYXRjaExhbmd1YWdlT25seSA9IChsYW5ndWFnZS5sZW5ndGgoKSA9PSAyIHx8IChs
YW5ndWFnZS5sZW5ndGgoKSA+PSAzICYmIGxhbmd1YWdlWzJdID09ICctJykpOworICAgIGJvb2wg
Y2FuTWF0Y2hMYW5ndWFnZU9ubHkgPSAobG93ZXJjYXNlTGFuZ3VhZ2UubGVuZ3RoKCkgPT0gMiB8
fCAobG93ZXJjYXNlTGFuZ3VhZ2UubGVuZ3RoKCkgPj0gMyAmJiBsb3dlcmNhc2VMYW5ndWFnZVsy
XSA9PSAnLScpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGFuZ3VhZ2VMaXN0LnNp
emUoKTsgKytpKSB7CiAgICAgICAgIFN0cmluZyBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlz
dCA9IGNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllcihsYW5ndWFnZUxpc3RbaV0pOwogCi0gICAg
ICAgIGlmIChsYW5ndWFnZSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdCkKKyAgICAg
ICAgaWYgKGxvd2VyY2FzZUxhbmd1YWdlID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZyb21MaXN0
KSB7CisgICAgICAgICAgICBleGFjdE1hdGNoID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybiBp
OworICAgICAgICB9CiAKICAgICAgICAgaWYgKGNhbk1hdGNoTGFuZ3VhZ2VPbmx5ICYmIGNhbm9u
aWNhbGl6ZWRMYW5ndWFnZUZyb21MaXN0Lmxlbmd0aCgpID49IDIpIHsKLSAgICAgICAgICAgIGlm
IChsYW5ndWFnZVswXSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdFswXSAmJiBsYW5n
dWFnZVsxXSA9PSBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdFsxXSkgeworICAgICAgICAg
ICAgaWYgKGxvd2VyY2FzZUxhbmd1YWdlWzBdID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZyb21M
aXN0WzBdICYmIGxvd2VyY2FzZUxhbmd1YWdlWzFdID09IGNhbm9uaWNhbGl6ZWRMYW5ndWFnZUZy
b21MaXN0WzFdKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFsYW5ndWFnZVdpdGhvdXRMb2NhbGVN
YXRjaC5sZW5ndGgoKSAmJiBjYW5vbmljYWxpemVkTGFuZ3VhZ2VGcm9tTGlzdC5sZW5ndGgoKSA9
PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlV2l0aG91dExvY2FsZU1hdGNoID0g
bGFuZ3VhZ2VMaXN0W2ldOwogICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZVdpdGhvdXRMb2Nh
bGVNYXRjaEluZGV4ID0gaTsKQEAgLTEzMyw2ICsxMzYsOCBAQCBzaXplX3QgaW5kZXhPZkJlc3RN
YXRjaGluZ0xhbmd1YWdlSW5MaXN0CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBleGFjdE1hdGNo
ID0gZmFsc2U7CisKICAgICAvLyBJZiB3ZSBoYXZlIGJvdGggYSBsYW5ndWFnZS1vbmx5IG1hdGNo
IGFuZCBhIGxhbmd1Z2UtYnV0LW5vdC1sb2NhbGUgbWF0Y2gsIHJldHVybiB0aGUKICAgICAvLyBs
YW5ndWdlLW9ubHkgbWF0Y2ggYXMgaXMgY29uc2lkZXJlZCBhICJiZXR0ZXIiIG1hdGNoLiBGb3Ig
ZXhhbXBsZSwgaWYgdGhlIGxpc3QKICAgICAvLyBwcm92aWRlZCBoYXMgYm90aCAiZW4tR0IiIGFu
ZCAiZW4iIGFuZCB0aGUgdXNlciBwcmVmZXJzICJlbi1VUyIgd2Ugd2lsbCByZXR1cm4gImVuIi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xhbmd1YWdlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaAkocmV2aXNpb24gMTgzNTU0KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQCBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZGVmYXVsdExhbmd1YWdlKCk7CiBXRUJD
T1JFX0VYUE9SVCBWZWN0b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCk7CiBWZWN0
b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGUoKTsKIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jik7Ci1zaXplX3QgaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGNvbnN0IFN0
cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZUxpc3QpOworc2l6
ZV90IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1
YWdlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNo
KTsKIAogLy8gVGhlIG9ic2VydmVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gc3lzdGVt
IGxhbmd1YWdlIGNoYW5nZXMuCiB0eXBlZGVmIHZvaWQgKCpMYW5ndWFnZUNoYW5nZU9ic2VydmVy
RnVuY3Rpb24pKHZvaWQqIGNvbnRleHQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTgzNjQyKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTUtMDQtMzAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRml4IHRleHQgdHJhY2sgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGxvZ2ljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ0NjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWxh
bmd1YWdlLXByZWZlcmVuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3RyYWNrL3Ry
YWNrLWxhbmd1YWdlLXByZWZlcmVuY2UuaHRtbDogVXBkYXRlZCwgYWRkIG5ldyB0ZXN0cy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNS0wNC0zMCAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmViYXNlbGlu
ZSBzb21lIGVkaXRpbmcgdGVzdHMgZm9yIFdlYktpdEdUSysKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3RyYWNrLWxhbmd1YWdlLXByZWZlcmVuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxhbmd1YWdlLXByZWZlcmVuY2Ut
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxODM1NTQpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1sYW5ndWFnZS1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDggQEAgVGVzdHMgdGhhdCB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZQog
CiAqKlNldCB0cmFjayBwcmVmZXJlbmNlcyBhbmQgdXNlciBwcmVmZXJyZWQgbGFuZ3VhZ2VzCiBS
VU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoJ0NhcHRpb25z
JywgdHJ1ZSkpCi1SVU4oaW50ZXJuYWxzLnNldFVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoWydqcCcs
ICdlcy1FUycsICdlbicsICdmciddKSkKK1JVTihpbnRlcm5hbHMuc2V0VXNlclByZWZlcnJlZExh
bmd1YWdlcyhbJ2pwJywgJ2VzLUVTJywgJ2VuJywgJ2ZyJywgJ3B0LVBUJ10pKQorRVZFTlQoY2Fu
cGxheXRocm91Z2gpCiAKIFRlc3Q6IGEgdHJhY2sgbGFuZ3VhZ2UgbWF0Y2hlcyBvbmUgb2YgdGhl
IHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2VzIGV4YWN0bHkuCiAtIGNyZWF0aW5nIHRyYWNrcyBm
b3I6IFtmcixlbixqcF0uCkBAIC0yOSw2ICszMCwxMSBAQCBFVkVOVChsb2FkKQogRVhQRUNURUQg
KHRyYWNrLnJlYWR5U3RhdGUgPT0gJzInKSBPSwogRVhQRUNURUQgKHRyYWNrLnNyY2xhbmcgPT0g
J2ZhJykgT0sKIAotRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3MubGVuZ3RoID09ICczJykgT0sK
K1Rlc3Q6IGEgdHJhY2sgbGFuZ3VhZ2Ugd2l0aG91dCBsb2NhbGUgbWF0Y2hlcyBvbmUgb2YgdGhl
IHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2VzIGV4YWN0bHkgd2hlbiBhbm90aGVyIGxhbmd1YWdl
IG1hdGNoZXMgbG9jYWxlIG9ubHkuCistIGNyZWF0aW5nIHRyYWNrcyBmb3I6IFtwdC1CUixubC1O
TCxwdC1QVF0uCitFVkVOVChsb2FkKQorRVhQRUNURUQgKHRyYWNrLnJlYWR5U3RhdGUgPT0gJzIn
KSBPSworRVhQRUNURUQgKHRyYWNrLnNyY2xhbmcgPT0gJ3B0LVBUJykgT0sKKwogRU5EIE9GIFRF
U1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbGFuZ3VhZ2UtcHJlZmVy
ZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxh
bmd1YWdlLXByZWZlcmVuY2UuaHRtbAkocmV2aXNpb24gMTgzNTU0KQorKysgTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stbGFuZ3VhZ2UtcHJlZmVyZW5jZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMSw3ICsxMSw2IEBACiAgICAgICAgIDxzY3JpcHQ+CiAKICAgICAgICAgICAgIHZhciB0
aW1lciA9IG51bGw7Ci0gICAgICAgICAgICB2YXIgZXhwZWN0ZWRMYW5ndWFnZTsKICAgICAgICAg
ICAgIHZhciB0ZXN0TGlzdCA9IAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGN1cnJl
bnQgOiAtMSwKQEAgLTM3LDYgKzM2LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBsYW5n
dWFnZXMgOiBbJ2ZhJywgJ3J1JywgJ25vJ10sIAogICAgICAgICAgICAgICAgICAgICAgICAgZXhw
ZWN0ZWRMYW5ndWFnZSA6ICJmYSIsIAogICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogImEgdHJh
Y2sgbGFuZ3VhZ2Ugd2l0aG91dCBsb2NhbGUgbWF0Y2hlcyBvbmUgb2YgdGhlIHVzZXIncyBwcmVm
ZXJyZWQgbGFuZ3VhZ2VzIGV4YWN0bHkgd2hlbiBhbm90aGVyIGxhbmd1YWdlIG1hdGNoZXMgbG9j
YWxlIG9ubHkiLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlcyA6IFsncHQtQlIn
LCAnbmwtTkwnLCAncHQtUFQnXSwgCisgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZExh
bmd1YWdlIDogInB0LVBUIiwgCisgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAg
ICAgXQogICAgICAgICAgICAgfTsKIApAQCAtNDUsOCArNDksNiBAQAogICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiIik7CiAgICAgICAgICAgICAgICAgdGVzdExpc3QuY3VycmVudCsrOwog
ICAgICAgICAgICAgICAgIGlmICh0ZXN0TGlzdC5jdXJyZW50ID49IHRlc3RMaXN0LnRlc3RzLmxl
bmd0aCkgewotICAgICAgICAgICAgICAgICAgICB2YXIgdHJhY2tzID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgndHJhY2snKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2
aWRlby50ZXh0VHJhY2tzLmxlbmd0aCIsIHRyYWNrcy5sZW5ndGgpOwogICAgICAgICAgICAgICAg
ICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
ICAgICB9CkBAIC01OSwxMiArNjEsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIkVWRU5UKGxvYWQpIik7CiAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgLy8gRG9uJ3QgbG9nIHRoZSBldmVudCBuYW1lIGJlY2F1c2UgdGhlIG9yZGVyIG9m
IHRoZSB0d28gZXZlbnRzIGluIG5vdCBwcmVkaWN0YWJsZS4KICAgICAgICAgICAgICAgICB0cmFj
ayA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnJl
YWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50LkxPQURFRCk7CiAgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJ0cmFjay5zcmNsYW5nIiwgdGVzdExpc3QudGVzdHNbdGVzdExpc3QuY3VycmVu
dF0uZXhwZWN0ZWRMYW5ndWFnZSk7Ci0KLSAgICAgICAgICAgICAgICB0aW1lciA9IHNldFRpbWVv
dXQocnVuTmV4dFRlc3QsIDIwMCk7CisgICAgICAgICAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0
KHJ1bk5leHRUZXN0LCAxMDApOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlv
biBzZXRQcmVmZXJlbmNlcygpCkBAIC03Niw3ICs3Niw3IEBACiAKICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIjxpPioqU2V0IHRyYWNrIHByZWZlcmVuY2VzIGFuZCB1c2VyIHByZWZlcnJl
ZCBsYW5ndWFnZXM8IiArICIvaT4iKTsKICAgICAgICAgICAgICAgICBydW4oImludGVybmFscy5z
ZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VHJhY2tLaW5kKCdDYXB0aW9ucycsIHRydWUpIik7Ci0g
ICAgICAgICAgICAgICAgcnVuKCJpbnRlcm5hbHMuc2V0VXNlclByZWZlcnJlZExhbmd1YWdlcyhb
J2pwJywgJ2VzLUVTJywgJ2VuJywgJ2ZyJ10pIik7CisgICAgICAgICAgICAgICAgcnVuKCJpbnRl
cm5hbHMuc2V0VXNlclByZWZlcnJlZExhbmd1YWdlcyhbJ2pwJywgJ2VzLUVTJywgJ2VuJywgJ2Zy
JywgJ3B0LVBUJ10pIik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IGZ1bmN0aW9uIGNyZWF0ZVRyYWNrRWxlbWVudChsYW5ndWFnZSwgc3JjKQpAQCAtMTAyLDE4ICsx
MDIsMTggQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gc2V0dXAoKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLQorICAgICAgICAgICAgICAgIHNl
dENhcHRpb25EaXNwbGF5TW9kZSgnQWx3YXlzT24nKTsKICAgICAgICAgICAgICAgICBzZXRQcmVm
ZXJlbmNlcygiU3VidGl0bGVzIiwgdHJ1ZSk7CiAKLSAgICAgICAgICAgICAgICBydW5OZXh0VGVz
dCgpOworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKyAgICAgICAgICAgICAg
ICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICcuLi9jb250ZW50L3Rlc3QnKTsK
KyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgcnVuTmV4dFRl
c3QpOwogICAgICAgICAgICAgfQogCiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvaGVhZD4KICAg
ICA8Ym9keSBvbmxvYWQ9InNldHVwKCkiPgogICAgICAgICA8cD5UZXN0cyB0aGF0IHRoZSB1c2Vy
J3MgcHJlZmVycmVkIGxhbmd1YWdlcyBhcmUgaG9ub3JlZC48L3A+Ci0gICAgICAgIDx2aWRlbz4K
LSAgICAgICAgPC92aWRlbz4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+CiAgICAgPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJ
KHJldmlzaW9uIDE4MzU1NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC05ODgsNyArOTg4LDYgQEAgd2Via2l0Lm9yZy9iLzE0
MjE1MiBtZWRpYS90cmFjay90cmFjay1pbgogd2Via2l0Lm9yZy9iLzI4MjIxIG1lZGlhL2F1ZGlv
LWRlbGV0ZS13aGlsZS1zdGVwLWJ1dHRvbi1jbGlja2VkLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBU
aGVzZSB0ZXN0cyBhbHdheXMgdGltZSBvdXQuCi13ZWJraXQub3JnL2IvMTEyNDkyIG1lZGlhL3Ry
YWNrL3RyYWNrLWxhbmd1YWdlLXByZWZlcmVuY2UuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9i
LzExMjQ5MiBtZWRpYS90cmFjay90cmFjay1wcmVmZXItY2FwdGlvbnMuaHRtbCBbIFNraXAgXQog
CiB3ZWJraXQub3JnL2IvMTM2NzA4IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcGxheS1zdGFsbC1z
ZWVrLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>