<?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>188679</bug_id>
          
          <creation_ts>2018-08-16 14:22:44 -0700</creation_ts>
          <short_desc>Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML</short_desc>
          <delta_ts>2018-08-17 11:09:53 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1450877</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-16 14:22:44 -0700</bug_when>
    <thetext>Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450878</commentid>
    <comment_count>1</comment_count>
      <attachid>347305</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-16 14:24:03 -0700</bug_when>
    <thetext>Created attachment 347305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450882</commentid>
    <comment_count>2</comment_count>
      <attachid>347308</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-16 14:35:35 -0700</bug_when>
    <thetext>Created attachment 347308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450883</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-08-16 14:39:24 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450889</commentid>
    <comment_count>4</comment_count>
      <attachid>347311</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-16 14:58:48 -0700</bug_when>
    <thetext>Created attachment 347311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450920</commentid>
    <comment_count>5</comment_count>
      <attachid>347319</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-16 15:55:19 -0700</bug_when>
    <thetext>Created attachment 347319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451125</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-17 09:41:17 -0700</bug_when>
    <thetext>http://trac.webkit.org/r234985</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451127</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-17 09:42:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/43427684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451162</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-17 11:09:53 -0700</bug_when>
    <thetext>http://trac.webkit.org/r234989</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347305</attachid>
            <date>2018-08-16 14:24:03 -0700</date>
            <delta_ts>2018-08-16 14:35:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188679-20180816142403.patch</filename>
            <type>text/plain</type>
            <size>12371</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ5NTcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTA4LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBXZWJQ
YWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nIHdpdGggbG9hZEFsdGVybmF0ZUhUTUwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODY3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVk
L0xvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9hZFBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9Mb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoZW5jb2RpbmdPZik6CisgICAgICAgIChkYXRhRnJv
bSk6CisgICAgICAgIChsb2FkU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVz
ZXJEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGxv
YWRBbHRlcm5hdGVIVE1MU3RyaW5nOmJhc2VVUkw6Zm9yVW5yZWFjaGFibGVVUkw6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2Vi
VmlldyBfbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmc6YmFzZVVSTDpmb3JVbnJlYWNoYWJsZVVSTDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKToKKwogMjAxOC0wOC0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGRhdGEvc3RyaW5nIEFQSSBsb2FkaW5n
IHBhdGhzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuY3BwCShyZXZp
c2lvbiAyMzQ5MzIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlcgogCiAgICAgZW5jb2RlciA8PCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
OwogICAgIGVuY29kZXIgPDwgZGF0YTsKLSAgICBlbmNvZGVyIDw8IHN0cmluZzsKICAgICBlbmNv
ZGVyIDw8IE1JTUVUeXBlOwogICAgIGVuY29kZXIgPDwgZW5jb2RpbmdOYW1lOwogICAgIGVuY29k
ZXIgPDwgYmFzZVVSTFN0cmluZzsKQEAgLTgyLDkgKzgxLDYgQEAgYm9vbCBMb2FkUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YS5kYXRh
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
LnN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoZGF0YS5NSU1FVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyMzQ5MzIpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsy
Myw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBMb2FkUGFyYW1ldGVyc19oCi0jZGVmaW5lIExvYWRQYXJhbWV0ZXJzX2gKKyNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNp
b24uaCIKQEAgLTUzLDcgKzUyLDYgQEAgc3RydWN0IExvYWRQYXJhbWV0ZXJzIHsKICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhOwotICAgIFN0cmluZyBzdHJpbmc7CiAgICAgU3RyaW5nIE1JTUVU
eXBlOwogICAgIFN0cmluZyBlbmNvZGluZ05hbWU7CiAKQEAgLTcxLDUgKzY5LDMgQEAgc3RydWN0
IExvYWRQYXJhbWV0ZXJzIHsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gTG9hZFBhcmFtZXRlcnNfaApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgcmV0dXJuIFdURk1vdmUo
bmF2aWdhdGlvbik7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyhjb25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVS
TCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJE
YXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgaHRtbERhdGEsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNv
cmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJ
OjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIC8vIFdoZW4gdGhlIFVJUHJvY2VzcyBpcyBpbiB0
aGUgcHJvY2VzcyBvZiBoYW5kbGluZyBhIGZhaWxpbmcgcHJvdmlzaW9uYWwgbG9hZCwgZG8gbm90
IGF0dGVtcHQgdG8KICAgICAvLyBzdGFydCBhIHNlY29uZCBhbHRlcm5hdGl2ZSBIVE1MIGxvYWQg
YXMgdGhpcyB3aWxsIHByZXZlbnQgdGhlIHBhZ2UgbG9hZCBzdGF0ZSBmcm9tIGJlaW5nCkBAIC0x
MTAzLDcgKzExMDMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJp
CiAKICAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKICAgICBsb2FkUGFyYW1ldGVy
cy5uYXZpZ2F0aW9uSUQgPSAwOwotICAgIGxvYWRQYXJhbWV0ZXJzLnN0cmluZyA9IGh0bWxTdHJp
bmc7CisgICAgbG9hZFBhcmFtZXRlcnMuZGF0YSA9IGh0bWxEYXRhOworICAgIGxvYWRQYXJhbWV0
ZXJzLk1JTUVUeXBlID0gInRleHQvaHRtbCJfczsKKyAgICBsb2FkUGFyYW1ldGVycy5lbmNvZGlu
Z05hbWUgPSBlbmNvZGluZzsKICAgICBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nID0gYmFz
ZVVSTDsKICAgICBsb2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmluZyA9IHVucmVhY2hh
YmxlVVJMOwogICAgIGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lvbmFsTG9hZEVycm9yVVJMU3RyaW5n
ID0gbV9mYWlsaW5nUHJvdmlzaW9uYWxMb2FkVVJMOwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NTcsNyArNDU3LDcgQEAg
cHVibGljOgogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRSZXF1ZXN0KFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkQWxsb3dFeHRl
cm5hbFNjaGVtZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSA9IG51bGxwdHIpOwogICAgIFJlZlB0
cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVSTCwgY29uc3Qg
U3RyaW5nJiByZXNvdXJjZURpcmVjdG9yeVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhID0gbnVs
bHB0cik7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gbG9hZERhdGEoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNv
ZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxs
cHRyKTsKLSAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRt
bFN0cmluZywgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwm
IHVucmVhY2hhYmxlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxscHRyKTsKKyAgICB2
b2lkIGxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0
cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29y
ZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhID0gbnVsbHB0cik7
CiAgICAgdm9pZCBsb2FkV2ViQXJjaGl2ZURhdGEoQVBJOjpEYXRhKiwgQVBJOjpPYmplY3QqIHVz
ZXJEYXRhID0gbnVsbHB0cik7CiAgICAgdm9pZCBuYXZpZ2F0ZVRvUERGTGlua1dpdGhTaW11bGF0
ZWRDbGljayhjb25zdCBTdHJpbmcmIHVybCwgV2ViQ29yZTo6SW50UG9pbnQgZG9jdW1lbnRQb2lu
dCwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuUG9pbnQpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSwx
OSArMTk5LDI0IEBAIHZvaWQgV0tQYWdlTG9hZERhdGFXaXRoVXNlckRhdGEoV0tQYWdlUmUKICAg
ICB0b0ltcGwocGFnZVJlZiktPmxvYWREYXRhKHRvSW1wbChkYXRhUmVmKS0+ZGF0YVJlZmVyZW5j
ZSgpLCB0b1dURlN0cmluZyhNSU1FVHlwZVJlZiksIHRvV1RGU3RyaW5nKGVuY29kaW5nUmVmKSwg
dG9XVEZTdHJpbmcoYmFzZVVSTFJlZiksIHRvSW1wbCh1c2VyRGF0YVJlZikpOwogfQogCitzdGF0
aWMgU3RyaW5nIGVuY29kaW5nT2YoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYgKHN0
cmluZy5pc051bGwoKSB8fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgICJsYXRpbjEiX3M7Cisg
ICAgcmV0dXJuICJ1dGYtMTYiX3M7Cit9CisKK3N0YXRpYyBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YUZyb20oY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5pc051bGwoKSB8
fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKSwgc3RyaW5nLmxlbmd0aCgpICogc2l6
ZW9mKExDaGFyKSB9OworICAgIHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhf
dCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihVQ2hh
cikgfTsKK30KKwogc3RhdGljIHZvaWQgbG9hZFN0cmluZyhXS1BhZ2VSZWYgcGFnZVJlZiwgV0tT
dHJpbmdSZWYgc3RyaW5nUmVmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKICAgICBTdHJpbmcgc3RyaW5nID0g
dG9XVEZTdHJpbmcoc3RyaW5nUmVmKTsKLSAgICBTdHJpbmcgZW5jb2Rpbmc7Ci0gICAgSVBDOjpE
YXRhUmVmZXJlbmNlIGRhdGE7Ci0gICAgaWYgKHN0cmluZy5pc051bGwoKSB8fCBzdHJpbmcuaXM4
Qml0KCkpIHsKLSAgICAgICAgZW5jb2RpbmcgPSAibGF0aW4xIl9zOwotICAgICAgICBkYXRhID0g
eyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihzdHJpbmcuY2hhcmFjdGVyczgoKSks
IHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihMQ2hhcikgfTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBlbmNvZGluZyA9ICJ1dGYtMTYiX3M7Ci0gICAgICAgIGRhdGEgPSB7IHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0cmluZy5sZW5ndGgo
KSAqIHNpemVvZihVQ2hhcikgfTsKLSAgICB9Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5sb2FkRGF0
YShkYXRhLCBtaW1lVHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHRvSW1wbCh1c2VyRGF0YVJlZikp
OworICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZERhdGEoZGF0YUZyb20oc3RyaW5nKSwgbWltZVR5
cGUsIGVuY29kaW5nT2Yoc3RyaW5nKSwgYmFzZVVSTCwgdG9JbXBsKHVzZXJEYXRhUmVmKSk7CiB9
CiAKIHZvaWQgV0tQYWdlTG9hZEhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5n
UmVmIGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYpCkBAIC0yMjYsMTIgKzIzMSwx
MyBAQCB2b2lkIFdLUGFnZUxvYWRIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKFdLCiAKIHZvaWQgV0tQ
YWdlTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVm
IGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYsIFdLVVJMUmVmIHVucmVhY2hhYmxl
VVJMUmVmKQogewotICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmco
dG9XVEZTdHJpbmcoaHRtbFN0cmluZ1JlZiksIFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoYmFzZVVS
TFJlZikpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJMUmVmKSkpOworICAg
IFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKHBhZ2VSZWYsIGh0bWxT
dHJpbmdSZWYsIGJhc2VVUkxSZWYsIHVucmVhY2hhYmxlVVJMUmVmLCBudWxscHRyKTsKIH0KIAog
dm9pZCBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhVc2VyRGF0YShXS1BhZ2VSZWYg
cGFnZVJlZiwgV0tTdHJpbmdSZWYgaHRtbFN0cmluZ1JlZiwgV0tVUkxSZWYgYmFzZVVSTFJlZiwg
V0tVUkxSZWYgdW5yZWFjaGFibGVVUkxSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKLSAg
ICB0b0ltcGwocGFnZVJlZiktPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHRvV1RGU3RyaW5nKGh0
bWxTdHJpbmdSZWYpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKGJhc2VVUkxSZWYpKSwgVVJMKFVS
TCgpLCB0b1dURlN0cmluZyh1bnJlYWNoYWJsZVVSTFJlZikpLCB0b0ltcGwodXNlckRhdGFSZWYp
KTsKKyAgICBTdHJpbmcgc3RyaW5nID0gdG9XVEZTdHJpbmcoaHRtbFN0cmluZ1JlZik7CisgICAg
dG9JbXBsKHBhZ2VSZWYpLT5sb2FkQWx0ZXJuYXRlSFRNTChkYXRhRnJvbShzdHJpbmcpLCBlbmNv
ZGluZ09mKHN0cmluZyksIFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoYmFzZVVSTFJlZikpLCBVUkwo
VVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJMUmVmKSksIHRvSW1wbCh1c2VyRGF0YVJl
ZikpOwogfQogCiB2b2lkIFdLUGFnZUxvYWRQbGFpblRleHRTdHJpbmcoV0tQYWdlUmVmIHBhZ2VS
ZWYsIFdLU3RyaW5nUmVmIHBsYWluVGV4dFN0cmluZ1JlZikKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjM0OTU0KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTU5LDcgKzE1OSw4IEBAIC0gKHZvaWQpbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5n
ICopSFRNTFMKIAogLSAodm9pZClsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzooTlNTdHJpbmcgKilz
dHJpbmcgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIGZvclVucmVhY2hhYmxlVVJMOihOU1VSTCAq
KXVucmVhY2hhYmxlVVJMCiB7Ci0gICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHN0
cmluZywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwpOworICAgIE5TRGF0YSAqZGF0YSA9IFtzdHJp
bmcgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOworICAgIF9wYWdlLT5s
b2FkQWx0ZXJuYXRlSFRNTCh7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmJ5dGVz
KSwgZGF0YS5sZW5ndGggfSwgIlVURi04Il9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCk7CiB9
CiAKIC0gKHZvaWQpbG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICop
TUlNRVR5cGUgdGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVS
TDooTlNVUkwgKiliYXNlVVJMCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyMTcs
NyArNDIxNyw4IEBAIC0gKE5TVVJMICopX3VucmVhY2hhYmxlVVJMCiAKIC0gKHZvaWQpX2xvYWRB
bHRlcm5hdGVIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBiYXNlVVJMOihOU1VSTCAqKWJh
c2VVUkwgZm9yVW5yZWFjaGFibGVVUkw6KE5TVVJMICopdW5yZWFjaGFibGVVUkwKIHsKLSAgICBf
cGFnZS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoc3RyaW5nLCBiYXNlVVJMLCB1bnJlYWNoYWJs
ZVVSTCk7CisgICAgTlNEYXRhICpkYXRhID0gW3N0cmluZyBkYXRhVXNpbmdFbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZ107CisgICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MKHsgc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxlbmd0aCB9LCAiVVRGLTgi
X3MsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJMKTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopX2xv
YWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihOU1N0cmluZyAqKU1JTUVUeXBlIGNoYXJh
Y3RlckVuY29kaW5nTmFtZTooTlNTdHJpbmcgKiljaGFyYWN0ZXJFbmNvZGluZ05hbWUgYmFzZVVS
TDooTlNVUkwgKiliYXNlVVJMIHVzZXJEYXRhOihpZCl1c2VyRGF0YQpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDIzNDk1NCkK
KysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzE5LDE2ICsxMzE5LDkgQEAgdm9pZCBXZWJQYWdlOjpsb2FkQWx0ZXJuYXRl
SFRNTFN0cmluZyhjbwogICAgIFVSTCBiYXNlVVJMID0gbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0
cmluZy5pc0VtcHR5KCkgPyBibGFua1VSTCgpIDogVVJMKFVSTCgpLCBsb2FkUGFyYW1ldGVycy5i
YXNlVVJMU3RyaW5nKTsKICAgICBVUkwgdW5yZWFjaGFibGVVUkwgPSBsb2FkUGFyYW1ldGVycy51
bnJlYWNoYWJsZVVSTFN0cmluZy5pc0VtcHR5KCkgPyBVUkwoKSA6IFVSTChVUkwoKSwgbG9hZFBh
cmFtZXRlcnMudW5yZWFjaGFibGVVUkxTdHJpbmcpOwogICAgIFVSTCBwcm92aXNpb25hbExvYWRF
cnJvclVSTCA9IGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lvbmFsTG9hZEVycm9yVVJMU3RyaW5nLmlz
RW1wdHkoKSA/IFVSTCgpIDogVVJMKFVSTCgpLCBsb2FkUGFyYW1ldGVycy5wcm92aXNpb25hbExv
YWRFcnJvclVSTFN0cmluZyk7Ci0gICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIo
KS5zZXRQcm92aXNpb25hbExvYWRFcnJvckJlaW5nSGFuZGxlZFVSTChwcm92aXNpb25hbExvYWRF
cnJvclVSTCk7Ci0gICAgCi0gICAgY29uc3QgU3RyaW5nJiBodG1sU3RyaW5nID0gbG9hZFBhcmFt
ZXRlcnMuc3RyaW5nOwotICAgIGlmICghaHRtbFN0cmluZy5pc051bGwoKSAmJiBodG1sU3RyaW5n
LmlzOEJpdCgpKSB7Ci0gICAgICAgIGF1dG8gc2hhcmVkQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpj
cmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oaHRtbFN0cmluZy5jaGFyYWN0ZXJz
OCgpKSwgaHRtbFN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihMQ2hhcikpOwotICAgICAgICBsb2Fk
RGF0YUltcGwoMCwgV1RGTW92ZShzaGFyZWRCdWZmZXIpLCAidGV4dC9odG1sIl9zLCAibGF0aW4x
Il9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCwgbG9hZFBhcmFtZXRlcnMudXNlckRhdGEpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGF1dG8gc2hhcmVkQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpj
cmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oaHRtbFN0cmluZy5jaGFyYWN0ZXJz
MTYoKSksIGh0bWxTdHJpbmcubGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKTsKLSAgICAgICAgbG9h
ZERhdGFJbXBsKDAsIFdURk1vdmUoc2hhcmVkQnVmZmVyKSwgInRleHQvaHRtbCJfcywgInV0Zi0x
NiJfcywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwsIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhKTsK
LSAgICB9CisgICAgYXV0byBzaGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWlu
dGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihsb2FkUGFyYW1ldGVycy5kYXRhLmRhdGEoKSksIGxv
YWRQYXJhbWV0ZXJzLmRhdGEuc2l6ZSgpKTsKKyAgICBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCkt
PmxvYWRlcigpLnNldFByb3Zpc2lvbmFsTG9hZEVycm9yQmVpbmdIYW5kbGVkVVJMKHByb3Zpc2lv
bmFsTG9hZEVycm9yVVJMKTsgICAgCisgICAgbG9hZERhdGFJbXBsKGxvYWRQYXJhbWV0ZXJzLm5h
dmlnYXRpb25JRCwgV1RGTW92ZShzaGFyZWRCdWZmZXIpLCBsb2FkUGFyYW1ldGVycy5NSU1FVHlw
ZSwgbG9hZFBhcmFtZXRlcnMuZW5jb2RpbmdOYW1lLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCwg
bG9hZFBhcmFtZXRlcnMudXNlckRhdGEpOwogICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+
bG9hZGVyKCkuc2V0UHJvdmlzaW9uYWxMb2FkRXJyb3JCZWluZ0hhbmRsZWRVUkwoeyB9KTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347308</attachid>
            <date>2018-08-16 14:35:35 -0700</date>
            <delta_ts>2018-08-16 14:58:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188679-20180816143534.patch</filename>
            <type>text/plain</type>
            <size>15168</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ5NTcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTA4LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBXZWJQ
YWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nIHdpdGggbG9hZEFsdGVybmF0ZUhUTUwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODY3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVk
L0xvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9hZFBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9Mb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoZW5jb2RpbmdPZik6CisgICAgICAgIChkYXRhRnJv
bSk6CisgICAgICAgIChsb2FkU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVz
ZXJEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGxv
YWRBbHRlcm5hdGVIVE1MU3RyaW5nOmJhc2VVUkw6Zm9yVW5yZWFjaGFibGVVUkw6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2Vi
VmlldyBfbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmc6YmFzZVVSTDpmb3JVbnJlYWNoYWJsZVVSTDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKToKKwogMjAxOC0wOC0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGRhdGEvc3RyaW5nIEFQSSBsb2FkaW5n
IHBhdGhzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuY3BwCShyZXZp
c2lvbiAyMzQ5MzIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlcgogCiAgICAgZW5jb2RlciA8PCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
OwogICAgIGVuY29kZXIgPDwgZGF0YTsKLSAgICBlbmNvZGVyIDw8IHN0cmluZzsKICAgICBlbmNv
ZGVyIDw8IE1JTUVUeXBlOwogICAgIGVuY29kZXIgPDwgZW5jb2RpbmdOYW1lOwogICAgIGVuY29k
ZXIgPDwgYmFzZVVSTFN0cmluZzsKQEAgLTgyLDkgKzgxLDYgQEAgYm9vbCBMb2FkUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YS5kYXRh
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
LnN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoZGF0YS5NSU1FVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyMzQ5MzIpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsy
Myw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBMb2FkUGFyYW1ldGVyc19oCi0jZGVmaW5lIExvYWRQYXJhbWV0ZXJzX2gKKyNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNp
b24uaCIKQEAgLTUzLDcgKzUyLDYgQEAgc3RydWN0IExvYWRQYXJhbWV0ZXJzIHsKICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhOwotICAgIFN0cmluZyBzdHJpbmc7CiAgICAgU3RyaW5nIE1JTUVU
eXBlOwogICAgIFN0cmluZyBlbmNvZGluZ05hbWU7CiAKQEAgLTcxLDUgKzY5LDMgQEAgc3RydWN0
IExvYWRQYXJhbWV0ZXJzIHsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gTG9hZFBhcmFtZXRlcnNfaApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgcmV0dXJuIFdURk1vdmUo
bmF2aWdhdGlvbik7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyhjb25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVS
TCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJE
YXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgaHRtbERhdGEsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNv
cmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJ
OjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIC8vIFdoZW4gdGhlIFVJUHJvY2VzcyBpcyBpbiB0
aGUgcHJvY2VzcyBvZiBoYW5kbGluZyBhIGZhaWxpbmcgcHJvdmlzaW9uYWwgbG9hZCwgZG8gbm90
IGF0dGVtcHQgdG8KICAgICAvLyBzdGFydCBhIHNlY29uZCBhbHRlcm5hdGl2ZSBIVE1MIGxvYWQg
YXMgdGhpcyB3aWxsIHByZXZlbnQgdGhlIHBhZ2UgbG9hZCBzdGF0ZSBmcm9tIGJlaW5nCkBAIC0x
MTAzLDcgKzExMDMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJp
CiAKICAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKICAgICBsb2FkUGFyYW1ldGVy
cy5uYXZpZ2F0aW9uSUQgPSAwOwotICAgIGxvYWRQYXJhbWV0ZXJzLnN0cmluZyA9IGh0bWxTdHJp
bmc7CisgICAgbG9hZFBhcmFtZXRlcnMuZGF0YSA9IGh0bWxEYXRhOworICAgIGxvYWRQYXJhbWV0
ZXJzLk1JTUVUeXBlID0gInRleHQvaHRtbCJfczsKKyAgICBsb2FkUGFyYW1ldGVycy5lbmNvZGlu
Z05hbWUgPSBlbmNvZGluZzsKICAgICBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nID0gYmFz
ZVVSTDsKICAgICBsb2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmluZyA9IHVucmVhY2hh
YmxlVVJMOwogICAgIGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lvbmFsTG9hZEVycm9yVVJMU3RyaW5n
ID0gbV9mYWlsaW5nUHJvdmlzaW9uYWxMb2FkVVJMOwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NTcsNyArNDU3LDcgQEAg
cHVibGljOgogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRSZXF1ZXN0KFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkQWxsb3dFeHRl
cm5hbFNjaGVtZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSA9IG51bGxwdHIpOwogICAgIFJlZlB0
cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVSTCwgY29uc3Qg
U3RyaW5nJiByZXNvdXJjZURpcmVjdG9yeVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhID0gbnVs
bHB0cik7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gbG9hZERhdGEoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNv
ZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxs
cHRyKTsKLSAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRt
bFN0cmluZywgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwm
IHVucmVhY2hhYmxlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxscHRyKTsKKyAgICB2
b2lkIGxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0
cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29y
ZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhID0gbnVsbHB0cik7
CiAgICAgdm9pZCBsb2FkV2ViQXJjaGl2ZURhdGEoQVBJOjpEYXRhKiwgQVBJOjpPYmplY3QqIHVz
ZXJEYXRhID0gbnVsbHB0cik7CiAgICAgdm9pZCBuYXZpZ2F0ZVRvUERGTGlua1dpdGhTaW11bGF0
ZWRDbGljayhjb25zdCBTdHJpbmcmIHVybCwgV2ViQ29yZTo6SW50UG9pbnQgZG9jdW1lbnRQb2lu
dCwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuUG9pbnQpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSwx
OSArMTk5LDI0IEBAIHZvaWQgV0tQYWdlTG9hZERhdGFXaXRoVXNlckRhdGEoV0tQYWdlUmUKICAg
ICB0b0ltcGwocGFnZVJlZiktPmxvYWREYXRhKHRvSW1wbChkYXRhUmVmKS0+ZGF0YVJlZmVyZW5j
ZSgpLCB0b1dURlN0cmluZyhNSU1FVHlwZVJlZiksIHRvV1RGU3RyaW5nKGVuY29kaW5nUmVmKSwg
dG9XVEZTdHJpbmcoYmFzZVVSTFJlZiksIHRvSW1wbCh1c2VyRGF0YVJlZikpOwogfQogCitzdGF0
aWMgU3RyaW5nIGVuY29kaW5nT2YoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYgKHN0
cmluZy5pc051bGwoKSB8fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgICJsYXRpbjEiX3M7Cisg
ICAgcmV0dXJuICJ1dGYtMTYiX3M7Cit9CisKK3N0YXRpYyBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YUZyb20oY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5pc051bGwoKSB8
fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKSwgc3RyaW5nLmxlbmd0aCgpICogc2l6
ZW9mKExDaGFyKSB9OworICAgIHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhf
dCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihVQ2hh
cikgfTsKK30KKwogc3RhdGljIHZvaWQgbG9hZFN0cmluZyhXS1BhZ2VSZWYgcGFnZVJlZiwgV0tT
dHJpbmdSZWYgc3RyaW5nUmVmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKICAgICBTdHJpbmcgc3RyaW5nID0g
dG9XVEZTdHJpbmcoc3RyaW5nUmVmKTsKLSAgICBTdHJpbmcgZW5jb2Rpbmc7Ci0gICAgSVBDOjpE
YXRhUmVmZXJlbmNlIGRhdGE7Ci0gICAgaWYgKHN0cmluZy5pc051bGwoKSB8fCBzdHJpbmcuaXM4
Qml0KCkpIHsKLSAgICAgICAgZW5jb2RpbmcgPSAibGF0aW4xIl9zOwotICAgICAgICBkYXRhID0g
eyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihzdHJpbmcuY2hhcmFjdGVyczgoKSks
IHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihMQ2hhcikgfTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBlbmNvZGluZyA9ICJ1dGYtMTYiX3M7Ci0gICAgICAgIGRhdGEgPSB7IHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0cmluZy5sZW5ndGgo
KSAqIHNpemVvZihVQ2hhcikgfTsKLSAgICB9Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5sb2FkRGF0
YShkYXRhLCBtaW1lVHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHRvSW1wbCh1c2VyRGF0YVJlZikp
OworICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZERhdGEoZGF0YUZyb20oc3RyaW5nKSwgbWltZVR5
cGUsIGVuY29kaW5nT2Yoc3RyaW5nKSwgYmFzZVVSTCwgdG9JbXBsKHVzZXJEYXRhUmVmKSk7CiB9
CiAKIHZvaWQgV0tQYWdlTG9hZEhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5n
UmVmIGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYpCkBAIC0yMjYsMTIgKzIzMSwx
MyBAQCB2b2lkIFdLUGFnZUxvYWRIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKFdLCiAKIHZvaWQgV0tQ
YWdlTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVm
IGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYsIFdLVVJMUmVmIHVucmVhY2hhYmxl
VVJMUmVmKQogewotICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmco
dG9XVEZTdHJpbmcoaHRtbFN0cmluZ1JlZiksIFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoYmFzZVVS
TFJlZikpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJMUmVmKSkpOworICAg
IFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKHBhZ2VSZWYsIGh0bWxT
dHJpbmdSZWYsIGJhc2VVUkxSZWYsIHVucmVhY2hhYmxlVVJMUmVmLCBudWxscHRyKTsKIH0KIAog
dm9pZCBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhVc2VyRGF0YShXS1BhZ2VSZWYg
cGFnZVJlZiwgV0tTdHJpbmdSZWYgaHRtbFN0cmluZ1JlZiwgV0tVUkxSZWYgYmFzZVVSTFJlZiwg
V0tVUkxSZWYgdW5yZWFjaGFibGVVUkxSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKLSAg
ICB0b0ltcGwocGFnZVJlZiktPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHRvV1RGU3RyaW5nKGh0
bWxTdHJpbmdSZWYpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKGJhc2VVUkxSZWYpKSwgVVJMKFVS
TCgpLCB0b1dURlN0cmluZyh1bnJlYWNoYWJsZVVSTFJlZikpLCB0b0ltcGwodXNlckRhdGFSZWYp
KTsKKyAgICBTdHJpbmcgc3RyaW5nID0gdG9XVEZTdHJpbmcoaHRtbFN0cmluZ1JlZik7CisgICAg
dG9JbXBsKHBhZ2VSZWYpLT5sb2FkQWx0ZXJuYXRlSFRNTChkYXRhRnJvbShzdHJpbmcpLCBlbmNv
ZGluZ09mKHN0cmluZyksIFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoYmFzZVVSTFJlZikpLCBVUkwo
VVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJMUmVmKSksIHRvSW1wbCh1c2VyRGF0YVJl
ZikpOwogfQogCiB2b2lkIFdLUGFnZUxvYWRQbGFpblRleHRTdHJpbmcoV0tQYWdlUmVmIHBhZ2VS
ZWYsIFdLU3RyaW5nUmVmIHBsYWluVGV4dFN0cmluZ1JlZikKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjM0OTU0KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTU5LDcgKzE1OSw4IEBAIC0gKHZvaWQpbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5n
ICopSFRNTFMKIAogLSAodm9pZClsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzooTlNTdHJpbmcgKilz
dHJpbmcgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIGZvclVucmVhY2hhYmxlVVJMOihOU1VSTCAq
KXVucmVhY2hhYmxlVVJMCiB7Ci0gICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHN0
cmluZywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwpOworICAgIE5TRGF0YSAqZGF0YSA9IFtzdHJp
bmcgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOworICAgIF9wYWdlLT5s
b2FkQWx0ZXJuYXRlSFRNTCh7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmJ5dGVz
KSwgZGF0YS5sZW5ndGggfSwgIlVURi04Il9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCk7CiB9
CiAKIC0gKHZvaWQpbG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICop
TUlNRVR5cGUgdGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVS
TDooTlNVUkwgKiliYXNlVVJMCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyMTcs
NyArNDIxNyw4IEBAIC0gKE5TVVJMICopX3VucmVhY2hhYmxlVVJMCiAKIC0gKHZvaWQpX2xvYWRB
bHRlcm5hdGVIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBiYXNlVVJMOihOU1VSTCAqKWJh
c2VVUkwgZm9yVW5yZWFjaGFibGVVUkw6KE5TVVJMICopdW5yZWFjaGFibGVVUkwKIHsKLSAgICBf
cGFnZS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoc3RyaW5nLCBiYXNlVVJMLCB1bnJlYWNoYWJs
ZVVSTCk7CisgICAgTlNEYXRhICpkYXRhID0gW3N0cmluZyBkYXRhVXNpbmdFbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZ107CisgICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MKHsgc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxlbmd0aCB9LCAiVVRGLTgi
X3MsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJMKTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopX2xv
YWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihOU1N0cmluZyAqKU1JTUVUeXBlIGNoYXJh
Y3RlckVuY29kaW5nTmFtZTooTlNTdHJpbmcgKiljaGFyYWN0ZXJFbmNvZGluZ05hbWUgYmFzZVVS
TDooTlNVUkwgKiliYXNlVVJMIHVzZXJEYXRhOihpZCl1c2VyRGF0YQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAJKHJldmlz
aW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjA2LDcgKzI2MDYsNyBAQCB2b2lkIHdlYmtp
dF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sCiAgICAgZ19yZXR1cm5faWZfZmFpbChjb250
ZW50KTsKICAgICBnX3JldHVybl9pZl9mYWlsKGNvbnRlbnRVUkkpOwogCi0gICAgZ2V0UGFnZSh3
ZWJWaWV3KS5sb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhTdHJpbmc6OmZyb21VVEY4KGNvbnRlbnQp
LCBVUkwoVVJMKCksIFN0cmluZzo6ZnJvbVVURjgoYmFzZVVSSSkpLCBVUkwoVVJMKCksIFN0cmlu
Zzo6ZnJvbVVURjgoY29udGVudFVSSSkpKTsKKyAgICBnZXRQYWdlKHdlYlZpZXcpLmxvYWRBbHRl
cm5hdGVIVE1MKHtjb250ZW50LCBzdHJsZW4oY29udGVudCl9LCAiVVRGLTgiX3MsIFVSTChVUkwo
KSwgU3RyaW5nOjpmcm9tVVRGOChiYXNlVVJJKSksIFVSTChVUkwoKSwgU3RyaW5nOjpmcm9tVVRG
OChjb250ZW50VVJJKSkpOwogfQogCiAvKioKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMx
MiwyMyArMTMxMiwxNiBAQCB2b2lkIFdlYlBhZ2U6OmxvYWREYXRhKExvYWRQYXJhbWV0ZXJzJiYg
CiAgICAgbG9hZERhdGFJbXBsKGxvYWRQYXJhbWV0ZXJzLm5hdmlnYXRpb25JRCwgV1RGTW92ZShz
aGFyZWRCdWZmZXIpLCBsb2FkUGFyYW1ldGVycy5NSU1FVHlwZSwgbG9hZFBhcmFtZXRlcnMuZW5j
b2RpbmdOYW1lLCBiYXNlVVJMLCBVUkwoKSwgbG9hZFBhcmFtZXRlcnMudXNlckRhdGEpOwogfQog
Ci12b2lkIFdlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IExvYWRQYXJhbWV0
ZXJzJiBsb2FkUGFyYW1ldGVycykKK3ZvaWQgV2ViUGFnZTo6bG9hZEFsdGVybmF0ZUhUTUwoY29u
c3QgTG9hZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzKQogewogICAgIHBsYXRmb3JtRGlkUmVj
ZWl2ZUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAogICAgIFVSTCBiYXNlVVJMID0g
bG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZy5pc0VtcHR5KCkgPyBibGFua1VSTCgpIDogVVJM
KFVSTCgpLCBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nKTsKICAgICBVUkwgdW5yZWFjaGFi
bGVVUkwgPSBsb2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmluZy5pc0VtcHR5KCkgPyBV
UkwoKSA6IFVSTChVUkwoKSwgbG9hZFBhcmFtZXRlcnMudW5yZWFjaGFibGVVUkxTdHJpbmcpOwog
ICAgIFVSTCBwcm92aXNpb25hbExvYWRFcnJvclVSTCA9IGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lv
bmFsTG9hZEVycm9yVVJMU3RyaW5nLmlzRW1wdHkoKSA/IFVSTCgpIDogVVJMKFVSTCgpLCBsb2Fk
UGFyYW1ldGVycy5wcm92aXNpb25hbExvYWRFcnJvclVSTFN0cmluZyk7Ci0gICAgbV9tYWluRnJh
bWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5zZXRQcm92aXNpb25hbExvYWRFcnJvckJlaW5nSGFu
ZGxlZFVSTChwcm92aXNpb25hbExvYWRFcnJvclVSTCk7Ci0gICAgCi0gICAgY29uc3QgU3RyaW5n
JiBodG1sU3RyaW5nID0gbG9hZFBhcmFtZXRlcnMuc3RyaW5nOwotICAgIGlmICghaHRtbFN0cmlu
Zy5pc051bGwoKSAmJiBodG1sU3RyaW5nLmlzOEJpdCgpKSB7Ci0gICAgICAgIGF1dG8gc2hhcmVk
QnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFy
Kj4oaHRtbFN0cmluZy5jaGFyYWN0ZXJzOCgpKSwgaHRtbFN0cmluZy5sZW5ndGgoKSAqIHNpemVv
ZihMQ2hhcikpOwotICAgICAgICBsb2FkRGF0YUltcGwoMCwgV1RGTW92ZShzaGFyZWRCdWZmZXIp
LCAidGV4dC9odG1sIl9zLCAibGF0aW4xIl9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCwgbG9h
ZFBhcmFtZXRlcnMudXNlckRhdGEpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGF1dG8gc2hhcmVk
QnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFy
Kj4oaHRtbFN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIGh0bWxTdHJpbmcubGVuZ3RoKCkgKiBzaXpl
b2YoVUNoYXIpKTsKLSAgICAgICAgbG9hZERhdGFJbXBsKDAsIFdURk1vdmUoc2hhcmVkQnVmZmVy
KSwgInRleHQvaHRtbCJfcywgInV0Zi0xNiJfcywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwsIGxv
YWRQYXJhbWV0ZXJzLnVzZXJEYXRhKTsKLSAgICB9CisgICAgYXV0byBzaGFyZWRCdWZmZXIgPSBT
aGFyZWRCdWZmZXI6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihsb2FkUGFy
YW1ldGVycy5kYXRhLmRhdGEoKSksIGxvYWRQYXJhbWV0ZXJzLmRhdGEuc2l6ZSgpKTsKKyAgICBt
X21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLnNldFByb3Zpc2lvbmFsTG9hZEVycm9y
QmVpbmdIYW5kbGVkVVJMKHByb3Zpc2lvbmFsTG9hZEVycm9yVVJMKTsgICAgCisgICAgbG9hZERh
dGFJbXBsKGxvYWRQYXJhbWV0ZXJzLm5hdmlnYXRpb25JRCwgV1RGTW92ZShzaGFyZWRCdWZmZXIp
LCBsb2FkUGFyYW1ldGVycy5NSU1FVHlwZSwgbG9hZFBhcmFtZXRlcnMuZW5jb2RpbmdOYW1lLCBi
YXNlVVJMLCB1bnJlYWNoYWJsZVVSTCwgbG9hZFBhcmFtZXRlcnMudXNlckRhdGEpOwogICAgIG1f
bWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuc2V0UHJvdmlzaW9uYWxMb2FkRXJyb3JC
ZWluZ0hhbmRsZWRVUkwoeyB9KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjM0OTU0KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYxLDcgKzEx
NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1EaWRSZWNlaXZlTG9hZFBhcmFtZXRl
cnMoY29uc3QgTG9hZFBhcmFtZXRlcnMmKTsKICAgICB2b2lkIGxvYWRSZXF1ZXN0KExvYWRQYXJh
bWV0ZXJzJiYpOwogICAgIHZvaWQgbG9hZERhdGEoTG9hZFBhcmFtZXRlcnMmJik7Ci0gICAgdm9p
ZCBsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhjb25zdCBMb2FkUGFyYW1ldGVycyYpOworICAgIHZv
aWQgbG9hZEFsdGVybmF0ZUhUTUwoY29uc3QgTG9hZFBhcmFtZXRlcnMmKTsKICAgICB2b2lkIG5h
dmlnYXRlVG9QREZMaW5rV2l0aFNpbXVsYXRlZENsaWNrKGNvbnN0IFN0cmluZyYgdXJsLCBXZWJD
b3JlOjpJbnRQb2ludCBkb2N1bWVudFBvaW50LCBXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Qb2lu
dCk7CiAgICAgdm9pZCByZWxvYWQodWludDY0X3QgbmF2aWdhdGlvbklELCB1aW50MzJfdCByZWxv
YWRPcHRpb25zLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJik7CiAgICAgdm9pZCBnb1RvQmFj
a0ZvcndhcmRJdGVtKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQ29yZTo6QmFja0Zv
cndhcmRJdGVtSWRlbnRpZmllciYsIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUsIFdlYkNvcmU6OlNo
b3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDIzNDk1
NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBMb2FkVVJMSW5GcmFtZShXZWJDb3JlOjpVUkwgdXJsLCB1
aW50NjRfdCBmcmFtZUlEKQogICAgIExvYWRSZXF1ZXN0KHN0cnVjdCBXZWJLaXQ6OkxvYWRQYXJh
bWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKQogICAgIExvYWREYXRhKHN0cnVjdCBXZWJLaXQ6OkxvYWRQ
YXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKQotICAgIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHN0
cnVjdCBXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKQorICAgIExvYWRBbHRl
cm5hdGVIVE1MKHN0cnVjdCBXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKQog
CiAgICAgTmF2aWdhdGVUb1BERkxpbmtXaXRoU2ltdWxhdGVkQ2xpY2soU3RyaW5nIHVybCwgV2Vi
Q29yZTo6SW50UG9pbnQgZG9jdW1lbnRQb2ludCwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuUG9p
bnQpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347311</attachid>
            <date>2018-08-16 14:58:48 -0700</date>
            <delta_ts>2018-08-16 15:55:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188679-20180816145847.patch</filename>
            <type>text/plain</type>
            <size>15574</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ5NTcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTA4LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBXZWJQ
YWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nIHdpdGggbG9hZEFsdGVybmF0ZUhUTUwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODY3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVk
L0xvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9hZFBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9Mb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoZW5jb2RpbmdPZik6CisgICAgICAgIChkYXRhRnJv
bSk6CisgICAgICAgIChsb2FkU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVz
ZXJEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGxv
YWRBbHRlcm5hdGVIVE1MU3RyaW5nOmJhc2VVUkw6Zm9yVW5yZWFjaGFibGVVUkw6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2Vi
VmlldyBfbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmc6YmFzZVVSTDpmb3JVbnJlYWNoYWJsZVVSTDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKToKKwogMjAxOC0wOC0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGRhdGEvc3RyaW5nIEFQSSBsb2FkaW5n
IHBhdGhzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuY3BwCShyZXZp
c2lvbiAyMzQ5MzIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlcgogCiAgICAgZW5jb2RlciA8PCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
OwogICAgIGVuY29kZXIgPDwgZGF0YTsKLSAgICBlbmNvZGVyIDw8IHN0cmluZzsKICAgICBlbmNv
ZGVyIDw8IE1JTUVUeXBlOwogICAgIGVuY29kZXIgPDwgZW5jb2RpbmdOYW1lOwogICAgIGVuY29k
ZXIgPDwgYmFzZVVSTFN0cmluZzsKQEAgLTgyLDkgKzgxLDYgQEAgYm9vbCBMb2FkUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YS5kYXRh
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
LnN0cmluZykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoZGF0YS5NSU1FVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyMzQ5MzIpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsy
Myw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBMb2FkUGFyYW1ldGVyc19oCi0jZGVmaW5lIExvYWRQYXJhbWV0ZXJzX2gKKyNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNp
b24uaCIKQEAgLTUzLDcgKzUyLDYgQEAgc3RydWN0IExvYWRQYXJhbWV0ZXJzIHsKICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhOwotICAgIFN0cmluZyBzdHJpbmc7CiAgICAgU3RyaW5nIE1JTUVU
eXBlOwogICAgIFN0cmluZyBlbmNvZGluZ05hbWU7CiAKQEAgLTcxLDUgKzY5LDMgQEAgc3RydWN0
IExvYWRQYXJhbWV0ZXJzIHsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gTG9hZFBhcmFtZXRlcnNfaApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgcmV0dXJuIFdURk1vdmUo
bmF2aWdhdGlvbik7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyhjb25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVS
TCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJE
YXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgaHRtbERhdGEsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNv
cmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJ
OjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIC8vIFdoZW4gdGhlIFVJUHJvY2VzcyBpcyBpbiB0
aGUgcHJvY2VzcyBvZiBoYW5kbGluZyBhIGZhaWxpbmcgcHJvdmlzaW9uYWwgbG9hZCwgZG8gbm90
IGF0dGVtcHQgdG8KICAgICAvLyBzdGFydCBhIHNlY29uZCBhbHRlcm5hdGl2ZSBIVE1MIGxvYWQg
YXMgdGhpcyB3aWxsIHByZXZlbnQgdGhlIHBhZ2UgbG9hZCBzdGF0ZSBmcm9tIGJlaW5nCkBAIC0x
MTAzLDcgKzExMDMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJp
CiAKICAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKICAgICBsb2FkUGFyYW1ldGVy
cy5uYXZpZ2F0aW9uSUQgPSAwOwotICAgIGxvYWRQYXJhbWV0ZXJzLnN0cmluZyA9IGh0bWxTdHJp
bmc7CisgICAgbG9hZFBhcmFtZXRlcnMuZGF0YSA9IGh0bWxEYXRhOworICAgIGxvYWRQYXJhbWV0
ZXJzLk1JTUVUeXBlID0gInRleHQvaHRtbCJfczsKKyAgICBsb2FkUGFyYW1ldGVycy5lbmNvZGlu
Z05hbWUgPSBlbmNvZGluZzsKICAgICBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nID0gYmFz
ZVVSTDsKICAgICBsb2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmluZyA9IHVucmVhY2hh
YmxlVVJMOwogICAgIGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lvbmFsTG9hZEVycm9yVVJMU3RyaW5n
ID0gbV9mYWlsaW5nUHJvdmlzaW9uYWxMb2FkVVJMOwpAQCAtMTExMiw3ICsxMTE0LDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaQogCiAgICAgbV9wcm9jZXNzLT5h
c3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKGJhc2VVUkwpOwogICAgIG1fcHJvY2Vzcy0+YXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCh1bnJlYWNoYWJsZVVSTCk7Ci0gICAgbV9wcm9jZXNzLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhsb2FkUGFyYW1ldGVy
cyksIG1fcGFnZUlEKTsKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Okxv
YWRBbHRlcm5hdGVIVE1MKGxvYWRQYXJhbWV0ZXJzKSwgbV9wYWdlSUQpOwogICAgIG1fcHJvY2Vz
cy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDU3LDcgKzQ1
Nyw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBsb2FkUmVxdWVzdChX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSA9IFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFs
bG93RXh0ZXJuYWxTY2hlbWVzLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxscHRyKTsKICAg
ICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBsb2FkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVVUkws
IGNvbnN0IFN0cmluZyYgcmVzb3VyY2VEaXJlY3RvcnlVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0
YSA9IG51bGxwdHIpOwogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWREYXRhKGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmlu
ZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
ID0gbnVsbHB0cik7Ci0gICAgdm9pZCBsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhjb25zdCBTdHJp
bmcmIGh0bWxTdHJpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29y
ZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhID0gbnVsbHB0cik7
CisgICAgdm9pZCBsb2FkQWx0ZXJuYXRlSFRNTChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBj
b25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25zdCBXZWJDb3JlOjpVUkwmIGJhc2VVUkwsIGNvbnN0
IFdlYkNvcmU6OlVSTCYgdW5yZWFjaGFibGVVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSA9IG51
bGxwdHIpOwogICAgIHZvaWQgbG9hZFdlYkFyY2hpdmVEYXRhKEFQSTo6RGF0YSosIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSA9IG51bGxwdHIpOwogICAgIHZvaWQgbmF2aWdhdGVUb1BERkxpbmtXaXRo
U2ltdWxhdGVkQ2xpY2soY29uc3QgU3RyaW5nJiB1cmwsIFdlYkNvcmU6OkludFBvaW50IGRvY3Vt
ZW50UG9pbnQsIFdlYkNvcmU6OkludFBvaW50IHNjcmVlblBvaW50KTsKIApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTksMTkgKzE5OSwyNCBAQCB2b2lkIFdLUGFnZUxvYWREYXRhV2l0aFVzZXJEYXRhKFdLUGFn
ZVJlCiAgICAgdG9JbXBsKHBhZ2VSZWYpLT5sb2FkRGF0YSh0b0ltcGwoZGF0YVJlZiktPmRhdGFS
ZWZlcmVuY2UoKSwgdG9XVEZTdHJpbmcoTUlNRVR5cGVSZWYpLCB0b1dURlN0cmluZyhlbmNvZGlu
Z1JlZiksIHRvV1RGU3RyaW5nKGJhc2VVUkxSZWYpLCB0b0ltcGwodXNlckRhdGFSZWYpKTsKIH0K
IAorc3RhdGljIFN0cmluZyBlbmNvZGluZ09mKGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAg
IGlmIChzdHJpbmcuaXNOdWxsKCkgfHwgc3RyaW5nLmlzOEJpdCgpKQorICAgICAgICAibGF0aW4x
Il9zOworICAgIHJldHVybiAidXRmLTE2Il9zOworfQorCitzdGF0aWMgSVBDOjpEYXRhUmVmZXJl
bmNlIGRhdGFGcm9tKGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIGlmIChzdHJpbmcuaXNO
dWxsKCkgfHwgc3RyaW5nLmlzOEJpdCgpKQorICAgICAgICByZXR1cm4geyByZWludGVycHJldF9j
YXN0PGNvbnN0IHVpbnQ4X3QqPihzdHJpbmcuY2hhcmFjdGVyczgoKSksIHN0cmluZy5sZW5ndGgo
KSAqIHNpemVvZihMQ2hhcikgfTsKKyAgICByZXR1cm4geyByZWludGVycHJldF9jYXN0PGNvbnN0
IHVpbnQ4X3QqPihzdHJpbmcuY2hhcmFjdGVyczE2KCkpLCBzdHJpbmcubGVuZ3RoKCkgKiBzaXpl
b2YoVUNoYXIpIH07Cit9CisKIHN0YXRpYyB2b2lkIGxvYWRTdHJpbmcoV0tQYWdlUmVmIHBhZ2VS
ZWYsIFdLU3RyaW5nUmVmIHN0cmluZ1JlZiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
U3RyaW5nJiBiYXNlVVJMLCBXS1R5cGVSZWYgdXNlckRhdGFSZWYpCiB7CiAgICAgU3RyaW5nIHN0
cmluZyA9IHRvV1RGU3RyaW5nKHN0cmluZ1JlZik7Ci0gICAgU3RyaW5nIGVuY29kaW5nOwotICAg
IElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhOwotICAgIGlmIChzdHJpbmcuaXNOdWxsKCkgfHwgc3Ry
aW5nLmlzOEJpdCgpKSB7Ci0gICAgICAgIGVuY29kaW5nID0gImxhdGluMSJfczsKLSAgICAgICAg
ZGF0YSA9IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oc3RyaW5nLmNoYXJhY3Rl
cnM4KCkpLCBzdHJpbmcubGVuZ3RoKCkgKiBzaXplb2YoTENoYXIpIH07Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgZW5jb2RpbmcgPSAidXRmLTE2Il9zOwotICAgICAgICBkYXRhID0geyByZWludGVy
cHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihzdHJpbmcuY2hhcmFjdGVyczE2KCkpLCBzdHJpbmcu
bGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpIH07Ci0gICAgfQotICAgIHRvSW1wbChwYWdlUmVmKS0+
bG9hZERhdGEoZGF0YSwgbWltZVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB0b0ltcGwodXNlckRh
dGFSZWYpKTsKKyAgICB0b0ltcGwocGFnZVJlZiktPmxvYWREYXRhKGRhdGFGcm9tKHN0cmluZyks
IG1pbWVUeXBlLCBlbmNvZGluZ09mKHN0cmluZyksIGJhc2VVUkwsIHRvSW1wbCh1c2VyRGF0YVJl
ZikpOwogfQogCiB2b2lkIFdLUGFnZUxvYWRIVE1MU3RyaW5nKFdLUGFnZVJlZiBwYWdlUmVmLCBX
S1N0cmluZ1JlZiBodG1sU3RyaW5nUmVmLCBXS1VSTFJlZiBiYXNlVVJMUmVmKQpAQCAtMjI2LDEy
ICsyMzEsMTMgQEAgdm9pZCBXS1BhZ2VMb2FkSFRNTFN0cmluZ1dpdGhVc2VyRGF0YShXSwogCiB2
b2lkIFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKFdLUGFnZVJlZiBwYWdlUmVmLCBXS1N0
cmluZ1JlZiBodG1sU3RyaW5nUmVmLCBXS1VSTFJlZiBiYXNlVVJMUmVmLCBXS1VSTFJlZiB1bnJl
YWNoYWJsZVVSTFJlZikKIHsKLSAgICB0b0ltcGwocGFnZVJlZiktPmxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKHRvV1RGU3RyaW5nKGh0bWxTdHJpbmdSZWYpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5n
KGJhc2VVUkxSZWYpKSwgVVJMKFVSTCgpLCB0b1dURlN0cmluZyh1bnJlYWNoYWJsZVVSTFJlZikp
KTsKKyAgICBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhVc2VyRGF0YShwYWdlUmVm
LCBodG1sU3RyaW5nUmVmLCBiYXNlVVJMUmVmLCB1bnJlYWNoYWJsZVVSTFJlZiwgbnVsbHB0cik7
CiB9CiAKIHZvaWQgV0tQYWdlTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoVXNlckRhdGEoV0tQ
YWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VV
UkxSZWYsIFdLVVJMUmVmIHVucmVhY2hhYmxlVVJMUmVmLCBXS1R5cGVSZWYgdXNlckRhdGFSZWYp
CiB7Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5sb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyh0b1dURlN0
cmluZyhodG1sU3RyaW5nUmVmKSwgVVJMKFVSTCgpLCB0b1dURlN0cmluZyhiYXNlVVJMUmVmKSks
IFVSTChVUkwoKSwgdG9XVEZTdHJpbmcodW5yZWFjaGFibGVVUkxSZWYpKSwgdG9JbXBsKHVzZXJE
YXRhUmVmKSk7CisgICAgU3RyaW5nIHN0cmluZyA9IHRvV1RGU3RyaW5nKGh0bWxTdHJpbmdSZWYp
OworICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZEFsdGVybmF0ZUhUTUwoZGF0YUZyb20oc3RyaW5n
KSwgZW5jb2RpbmdPZihzdHJpbmcpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKGJhc2VVUkxSZWYp
KSwgVVJMKFVSTCgpLCB0b1dURlN0cmluZyh1bnJlYWNoYWJsZVVSTFJlZikpLCB0b0ltcGwodXNl
ckRhdGFSZWYpKTsKIH0KIAogdm9pZCBXS1BhZ2VMb2FkUGxhaW5UZXh0U3RyaW5nKFdLUGFnZVJl
ZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiBwbGFpblRleHRTdHJpbmdSZWYpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTE1OSw3ICsxNTksOCBAQCAtICh2b2lkKWxvYWRIVE1MU3RyaW5nOihO
U1N0cmluZyAqKUhUTUxTCiAKIC0gKHZvaWQpbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmc6KE5TU3Ry
aW5nICopc3RyaW5nIGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTCBmb3JVbnJlYWNoYWJsZVVSTDoo
TlNVUkwgKil1bnJlYWNoYWJsZVVSTAogewotICAgIF9wYWdlLT5sb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyhzdHJpbmcsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJMKTsKKyAgICBOU0RhdGEgKmRhdGEg
PSBbc3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICBf
cGFnZS0+bG9hZEFsdGVybmF0ZUhUTUwoeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YS5ieXRlcyksIGRhdGEubGVuZ3RoIH0sICJVVEYtOCJfcywgYmFzZVVSTCwgdW5yZWFjaGFibGVV
UkwpOwogfQogCiAtICh2b2lkKWxvYWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihOU1N0
cmluZyAqKU1JTUVUeXBlIHRleHRFbmNvZGluZ05hbWU6KE5TU3RyaW5nICopZW5jb2RpbmdOYW1l
IGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00MjE3LDcgKzQyMTcsOCBAQCAtIChOU1VSTCAqKV91bnJlYWNoYWJsZVVSTAogCiAtICh2b2lk
KV9sb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgYmFzZVVSTDooTlNV
UkwgKiliYXNlVVJMIGZvclVucmVhY2hhYmxlVVJMOihOU1VSTCAqKXVucmVhY2hhYmxlVVJMCiB7
Ci0gICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHN0cmluZywgYmFzZVVSTCwgdW5y
ZWFjaGFibGVVUkwpOworICAgIE5TRGF0YSAqZGF0YSA9IFtzdHJpbmcgZGF0YVVzaW5nRW5jb2Rp
bmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOworICAgIF9wYWdlLT5sb2FkQWx0ZXJuYXRlSFRNTCh7
IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmJ5dGVzKSwgZGF0YS5sZW5ndGggfSwg
IlVURi04Il9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVSTCk7CiB9CiAKIC0gKFdLTmF2aWdhdGlv
biAqKV9sb2FkRGF0YTooTlNEYXRhICopZGF0YSBNSU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlw
ZSBjaGFyYWN0ZXJFbmNvZGluZ05hbWU6KE5TU3RyaW5nICopY2hhcmFjdGVyRW5jb2RpbmdOYW1l
IGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTCB1c2VyRGF0YTooaWQpdXNlckRhdGEKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3Bw
CShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYwNiw3ICsyNjA2LDcgQEAgdm9p
ZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbAogICAgIGdfcmV0dXJuX2lmX2Zh
aWwoY29udGVudCk7CiAgICAgZ19yZXR1cm5faWZfZmFpbChjb250ZW50VVJJKTsKIAotICAgIGdl
dFBhZ2Uod2ViVmlldykubG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoU3RyaW5nOjpmcm9tVVRGOChj
b250ZW50KSwgVVJMKFVSTCgpLCBTdHJpbmc6OmZyb21VVEY4KGJhc2VVUkkpKSwgVVJMKFVSTCgp
LCBTdHJpbmc6OmZyb21VVEY4KGNvbnRlbnRVUkkpKSk7CisgICAgZ2V0UGFnZSh3ZWJWaWV3KS5s
b2FkQWx0ZXJuYXRlSFRNTCh7Y29udGVudCwgc3RybGVuKGNvbnRlbnQpfSwgIlVURi04Il9zLCBV
UkwoVVJMKCksIFN0cmluZzo6ZnJvbVVURjgoYmFzZVVSSSkpLCBVUkwoVVJMKCksIFN0cmluZzo6
ZnJvbVVURjgoY29udGVudFVSSSkpKTsKIH0KIAogLyoqCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjM0OTU0KQorKysgU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzMTIsMjMgKzEzMTIsMTYgQEAgdm9pZCBXZWJQYWdlOjpsb2FkRGF0YShMb2FkUGFyYW1l
dGVycyYmIAogICAgIGxvYWREYXRhSW1wbChsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQsIFdU
Rk1vdmUoc2hhcmVkQnVmZmVyKSwgbG9hZFBhcmFtZXRlcnMuTUlNRVR5cGUsIGxvYWRQYXJhbWV0
ZXJzLmVuY29kaW5nTmFtZSwgYmFzZVVSTCwgVVJMKCksIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRh
KTsKIH0KIAotdm9pZCBXZWJQYWdlOjpsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhjb25zdCBMb2Fk
UGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMpCit2b2lkIFdlYlBhZ2U6OmxvYWRBbHRlcm5hdGVI
VE1MKGNvbnN0IExvYWRQYXJhbWV0ZXJzJiBsb2FkUGFyYW1ldGVycykKIHsKICAgICBwbGF0Zm9y
bURpZFJlY2VpdmVMb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKICAgICBVUkwgYmFz
ZVVSTCA9IGxvYWRQYXJhbWV0ZXJzLmJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpID8gYmxhbmtVUkwo
KSA6IFVSTChVUkwoKSwgbG9hZFBhcmFtZXRlcnMuYmFzZVVSTFN0cmluZyk7CiAgICAgVVJMIHVu
cmVhY2hhYmxlVVJMID0gbG9hZFBhcmFtZXRlcnMudW5yZWFjaGFibGVVUkxTdHJpbmcuaXNFbXB0
eSgpID8gVVJMKCkgOiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0ZXJzLnVucmVhY2hhYmxlVVJMU3Ry
aW5nKTsKICAgICBVUkwgcHJvdmlzaW9uYWxMb2FkRXJyb3JVUkwgPSBsb2FkUGFyYW1ldGVycy5w
cm92aXNpb25hbExvYWRFcnJvclVSTFN0cmluZy5pc0VtcHR5KCkgPyBVUkwoKSA6IFVSTChVUkwo
KSwgbG9hZFBhcmFtZXRlcnMucHJvdmlzaW9uYWxMb2FkRXJyb3JVUkxTdHJpbmcpOwotICAgIG1f
bWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuc2V0UHJvdmlzaW9uYWxMb2FkRXJyb3JC
ZWluZ0hhbmRsZWRVUkwocHJvdmlzaW9uYWxMb2FkRXJyb3JVUkwpOwotICAgIAotICAgIGNvbnN0
IFN0cmluZyYgaHRtbFN0cmluZyA9IGxvYWRQYXJhbWV0ZXJzLnN0cmluZzsKLSAgICBpZiAoIWh0
bWxTdHJpbmcuaXNOdWxsKCkgJiYgaHRtbFN0cmluZy5pczhCaXQoKSkgewotICAgICAgICBhdXRv
IHNoYXJlZEJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KGh0bWxTdHJpbmcuY2hhcmFjdGVyczgoKSksIGh0bWxTdHJpbmcubGVuZ3RoKCkg
KiBzaXplb2YoTENoYXIpKTsKLSAgICAgICAgbG9hZERhdGFJbXBsKDAsIFdURk1vdmUoc2hhcmVk
QnVmZmVyKSwgInRleHQvaHRtbCJfcywgImxhdGluMSJfcywgYmFzZVVSTCwgdW5yZWFjaGFibGVV
UkwsIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhKTsKLSAgICB9IGVsc2UgewotICAgICAgICBhdXRv
IHNoYXJlZEJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KGh0bWxTdHJpbmcuY2hhcmFjdGVyczE2KCkpLCBodG1sU3RyaW5nLmxlbmd0aCgp
ICogc2l6ZW9mKFVDaGFyKSk7Ci0gICAgICAgIGxvYWREYXRhSW1wbCgwLCBXVEZNb3ZlKHNoYXJl
ZEJ1ZmZlciksICJ0ZXh0L2h0bWwiX3MsICJ1dGYtMTYiX3MsIGJhc2VVUkwsIHVucmVhY2hhYmxl
VVJMLCBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSk7Ci0gICAgfQorICAgIGF1dG8gc2hhcmVkQnVm
ZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4o
bG9hZFBhcmFtZXRlcnMuZGF0YS5kYXRhKCkpLCBsb2FkUGFyYW1ldGVycy5kYXRhLnNpemUoKSk7
CisgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5zZXRQcm92aXNpb25hbExv
YWRFcnJvckJlaW5nSGFuZGxlZFVSTChwcm92aXNpb25hbExvYWRFcnJvclVSTCk7ICAgIAorICAg
IGxvYWREYXRhSW1wbChsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQsIFdURk1vdmUoc2hhcmVk
QnVmZmVyKSwgbG9hZFBhcmFtZXRlcnMuTUlNRVR5cGUsIGxvYWRQYXJhbWV0ZXJzLmVuY29kaW5n
TmFtZSwgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwsIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhKTsK
ICAgICBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLnNldFByb3Zpc2lvbmFsTG9h
ZEVycm9yQmVpbmdIYW5kbGVkVVJMKHsgfSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2
MSw3ICsxMTYxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtRGlkUmVjZWl2ZUxvYWRQ
YXJhbWV0ZXJzKGNvbnN0IExvYWRQYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBsb2FkUmVxdWVzdChM
b2FkUGFyYW1ldGVycyYmKTsKICAgICB2b2lkIGxvYWREYXRhKExvYWRQYXJhbWV0ZXJzJiYpOwot
ICAgIHZvaWQgbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoY29uc3QgTG9hZFBhcmFtZXRlcnMmKTsK
KyAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IExvYWRQYXJhbWV0ZXJzJik7CiAgICAg
dm9pZCBuYXZpZ2F0ZVRvUERGTGlua1dpdGhTaW11bGF0ZWRDbGljayhjb25zdCBTdHJpbmcmIHVy
bCwgV2ViQ29yZTo6SW50UG9pbnQgZG9jdW1lbnRQb2ludCwgV2ViQ29yZTo6SW50UG9pbnQgc2Ny
ZWVuUG9pbnQpOwogICAgIHZvaWQgcmVsb2FkKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgdWludDMy
X3QgcmVsb2FkT3B0aW9ucywgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpOwogICAgIHZvaWQg
Z29Ub0JhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFdlYkNvcmU6
OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImLCBXZWJDb3JlOjpGcmFtZUxvYWRUeXBlLCBXZWJD
b3JlOjpTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQpOwpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyMzQ5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgTG9hZFVSTEluRnJhbWUoV2ViQ29yZTo6VVJM
IHVybCwgdWludDY0X3QgZnJhbWVJRCkKICAgICBMb2FkUmVxdWVzdChzdHJ1Y3QgV2ViS2l0OjpM
b2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKICAgICBMb2FkRGF0YShzdHJ1Y3QgV2ViS2l0
OjpMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKLSAgICBMb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyhzdHJ1Y3QgV2ViS2l0OjpMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKKyAgICBM
b2FkQWx0ZXJuYXRlSFRNTChzdHJ1Y3QgV2ViS2l0OjpMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1l
dGVycykKIAogICAgIE5hdmlnYXRlVG9QREZMaW5rV2l0aFNpbXVsYXRlZENsaWNrKFN0cmluZyB1
cmwsIFdlYkNvcmU6OkludFBvaW50IGRvY3VtZW50UG9pbnQsIFdlYkNvcmU6OkludFBvaW50IHNj
cmVlblBvaW50KQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347319</attachid>
            <date>2018-08-16 15:55:19 -0700</date>
            <delta_ts>2018-08-16 22:50:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188679-20180816155518.patch</filename>
            <type>text/plain</type>
            <size>15629</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ5NjIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTA4LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBXZWJQ
YWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nIHdpdGggbG9hZEFsdGVybmF0ZUhUTUwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODY3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVk
L0xvYWRQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9hZFBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9Mb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoZW5jb2RpbmdPZik6CisgICAgICAgIChkYXRhRnJv
bSk6CisgICAgICAgIChsb2FkU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKToKKyAgICAgICAgKFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVz
ZXJEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGxv
YWRBbHRlcm5hdGVIVE1MU3RyaW5nOmJhc2VVUkw6Zm9yVW5yZWFjaGFibGVVUkw6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2Vi
VmlldyBfbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmc6YmFzZVVSTDpmb3JVbnJlYWNoYWJsZVVSTDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKToKKwogMjAxOC0wOC0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB0ZW1wb3JhcnkgU1BJIFdLQ29udGV4dEhhbmRsZXNT
YWZlQnJvd3NpbmcKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5jcHAJ
KHJldmlzaW9uIDIzNDkzMikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQCB2b2lkIExvYWRQYXJhbWV0ZXJz
OjplbmNvZGUoSVBDOjpFbmNvZGVyCiAKICAgICBlbmNvZGVyIDw8IHNhbmRib3hFeHRlbnNpb25I
YW5kbGU7CiAgICAgZW5jb2RlciA8PCBkYXRhOwotICAgIGVuY29kZXIgPDwgc3RyaW5nOwogICAg
IGVuY29kZXIgPDwgTUlNRVR5cGU7CiAgICAgZW5jb2RlciA8PCBlbmNvZGluZ05hbWU7CiAgICAg
ZW5jb2RlciA8PCBiYXNlVVJMU3RyaW5nOwpAQCAtODIsOSArODEsNiBAQCBib29sIExvYWRQYXJh
bWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
LmRhdGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGRhdGEuc3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShkYXRhLk1JTUVUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDIzNDkzMikKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDggKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0j
aWZuZGVmIExvYWRQYXJhbWV0ZXJzX2gKLSNkZWZpbmUgTG9hZFBhcmFtZXRlcnNfaAorI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4
dGVuc2lvbi5oIgpAQCAtNTMsNyArNTIsNiBAQCBzdHJ1Y3QgTG9hZFBhcmFtZXRlcnMgewogICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogCiAgICAg
SVBDOjpEYXRhUmVmZXJlbmNlIGRhdGE7Ci0gICAgU3RyaW5nIHN0cmluZzsKICAgICBTdHJpbmcg
TUlNRVR5cGU7CiAgICAgU3RyaW5nIGVuY29kaW5nTmFtZTsKIApAQCAtNzEsNSArNjksMyBAQCBz
dHJ1Y3QgTG9hZFBhcmFtZXRlcnMgewogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNl
bmRpZiAvLyBMb2FkUGFyYW1ldGVyc19oCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzksNyArMTA3OSw3IEBA
IFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG8KICAgICByZXR1cm4gV1RG
TW92ZShuYXZpZ2F0aW9uKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRtbFN0cmluZywgY29uc3QgV2ViQ29yZTo6VVJMJiBi
YXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmIHVucmVhY2hhYmxlVVJMLCBBUEk6Ok9iamVjdCog
dXNlckRhdGEpCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUwoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiBodG1sRGF0YSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3Qg
V2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmIHVucmVhY2hhYmxlVVJM
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCiB7CiAgICAgLy8gV2hlbiB0aGUgVUlQcm9jZXNzIGlz
IGluIHRoZSBwcm9jZXNzIG9mIGhhbmRsaW5nIGEgZmFpbGluZyBwcm92aXNpb25hbCBsb2FkLCBk
byBub3QgYXR0ZW1wdCB0bwogICAgIC8vIHN0YXJ0IGEgc2Vjb25kIGFsdGVybmF0aXZlIEhUTUwg
bG9hZCBhcyB0aGlzIHdpbGwgcHJldmVudCB0aGUgcGFnZSBsb2FkIHN0YXRlIGZyb20gYmVpbmcK
QEAgLTExMDMsNyArMTEwMyw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRN
TFN0cmkKIAogICAgIExvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzOwogICAgIGxvYWRQYXJh
bWV0ZXJzLm5hdmlnYXRpb25JRCA9IDA7Ci0gICAgbG9hZFBhcmFtZXRlcnMuc3RyaW5nID0gaHRt
bFN0cmluZzsKKyAgICBsb2FkUGFyYW1ldGVycy5kYXRhID0gaHRtbERhdGE7CisgICAgbG9hZFBh
cmFtZXRlcnMuTUlNRVR5cGUgPSAidGV4dC9odG1sIl9zOworICAgIGxvYWRQYXJhbWV0ZXJzLmVu
Y29kaW5nTmFtZSA9IGVuY29kaW5nOwogICAgIGxvYWRQYXJhbWV0ZXJzLmJhc2VVUkxTdHJpbmcg
PSBiYXNlVVJMOwogICAgIGxvYWRQYXJhbWV0ZXJzLnVucmVhY2hhYmxlVVJMU3RyaW5nID0gdW5y
ZWFjaGFibGVVUkw7CiAgICAgbG9hZFBhcmFtZXRlcnMucHJvdmlzaW9uYWxMb2FkRXJyb3JVUkxT
dHJpbmcgPSBtX2ZhaWxpbmdQcm92aXNpb25hbExvYWRVUkw7CkBAIC0xMTEyLDcgKzExMTQsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpCiAKICAgICBtX3Byb2Nl
c3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoYmFzZVVSTCk7CiAgICAgbV9wcm9jZXNzLT5h
c3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKHVucmVhY2hhYmxlVVJMKTsKLSAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGxvYWRQYXJh
bWV0ZXJzKSwgbV9wYWdlSUQpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6TG9hZEFsdGVybmF0ZUhUTUwobG9hZFBhcmFtZXRlcnMpLCBtX3BhZ2VJRCk7CiAgICAgbV9w
cm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsKIH0KIApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NTcs
NyArNDU3LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRSZXF1
ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hv
dWxkQWxsb3dFeHRlcm5hbFNjaGVtZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSA9IG51bGxwdHIp
OwogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IGxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmls
ZVVSTCwgY29uc3QgU3RyaW5nJiByZXNvdXJjZURpcmVjdG9yeVVSTCwgQVBJOjpPYmplY3QqIHVz
ZXJEYXRhID0gbnVsbHB0cik7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gbG9hZERhdGEo
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3Qg
U3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNl
ckRhdGEgPSBudWxscHRyKTsKLSAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0
IFN0cmluZyYgaHRtbFN0cmluZywgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBX
ZWJDb3JlOjpVUkwmIHVucmVhY2hhYmxlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxs
cHRyKTsKKyAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwg
Y29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJsZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
ID0gbnVsbHB0cik7CiAgICAgdm9pZCBsb2FkV2ViQXJjaGl2ZURhdGEoQVBJOjpEYXRhKiwgQVBJ
OjpPYmplY3QqIHVzZXJEYXRhID0gbnVsbHB0cik7CiAgICAgdm9pZCBuYXZpZ2F0ZVRvUERGTGlu
a1dpdGhTaW11bGF0ZWRDbGljayhjb25zdCBTdHJpbmcmIHVybCwgV2ViQ29yZTo6SW50UG9pbnQg
ZG9jdW1lbnRQb2ludCwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuUG9pbnQpOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHJldmlzaW9uIDIzNDk1NCkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5OSwxOSArMTk5LDI0IEBAIHZvaWQgV0tQYWdlTG9hZERhdGFXaXRoVXNlckRhdGEo
V0tQYWdlUmUKICAgICB0b0ltcGwocGFnZVJlZiktPmxvYWREYXRhKHRvSW1wbChkYXRhUmVmKS0+
ZGF0YVJlZmVyZW5jZSgpLCB0b1dURlN0cmluZyhNSU1FVHlwZVJlZiksIHRvV1RGU3RyaW5nKGVu
Y29kaW5nUmVmKSwgdG9XVEZTdHJpbmcoYmFzZVVSTFJlZiksIHRvSW1wbCh1c2VyRGF0YVJlZikp
OwogfQogCitzdGF0aWMgU3RyaW5nIGVuY29kaW5nT2YoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7
CisgICAgaWYgKHN0cmluZy5pc051bGwoKSB8fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgICJs
YXRpbjEiX3M7CisgICAgcmV0dXJuICJ1dGYtMTYiX3M7Cit9CisKK3N0YXRpYyBJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YUZyb20oY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYgKHN0cmlu
Zy5pc051bGwoKSB8fCBzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiB7IHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKSwgc3RyaW5nLmxl
bmd0aCgpICogc2l6ZW9mKExDaGFyKSB9OworICAgIHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0cmluZy5sZW5ndGgoKSAq
IHNpemVvZihVQ2hhcikgfTsKK30KKwogc3RhdGljIHZvaWQgbG9hZFN0cmluZyhXS1BhZ2VSZWYg
cGFnZVJlZiwgV0tTdHJpbmdSZWYgc3RyaW5nUmVmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIFdLVHlwZVJlZiB1c2VyRGF0YVJlZikKIHsKICAgICBTdHJp
bmcgc3RyaW5nID0gdG9XVEZTdHJpbmcoc3RyaW5nUmVmKTsKLSAgICBTdHJpbmcgZW5jb2Rpbmc7
Ci0gICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGE7Ci0gICAgaWYgKHN0cmluZy5pc051bGwoKSB8
fCBzdHJpbmcuaXM4Qml0KCkpIHsKLSAgICAgICAgZW5jb2RpbmcgPSAibGF0aW4xIl9zOwotICAg
ICAgICBkYXRhID0geyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihzdHJpbmcuY2hh
cmFjdGVyczgoKSksIHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihMQ2hhcikgfTsKLSAgICB9IGVs
c2UgewotICAgICAgICBlbmNvZGluZyA9ICJ1dGYtMTYiX3M7Ci0gICAgICAgIGRhdGEgPSB7IHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSksIHN0
cmluZy5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcikgfTsKLSAgICB9Ci0gICAgdG9JbXBsKHBhZ2VS
ZWYpLT5sb2FkRGF0YShkYXRhLCBtaW1lVHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHRvSW1wbCh1
c2VyRGF0YVJlZikpOworICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZERhdGEoZGF0YUZyb20oc3Ry
aW5nKSwgbWltZVR5cGUsIGVuY29kaW5nT2Yoc3RyaW5nKSwgYmFzZVVSTCwgdG9JbXBsKHVzZXJE
YXRhUmVmKSk7CiB9CiAKIHZvaWQgV0tQYWdlTG9hZEhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VS
ZWYsIFdLU3RyaW5nUmVmIGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYpCkBAIC0y
MjYsMTIgKzIzMSwxMyBAQCB2b2lkIFdLUGFnZUxvYWRIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKFdL
CiAKIHZvaWQgV0tQYWdlTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoV0tQYWdlUmVmIHBhZ2VSZWYs
IFdLU3RyaW5nUmVmIGh0bWxTdHJpbmdSZWYsIFdLVVJMUmVmIGJhc2VVUkxSZWYsIFdLVVJMUmVm
IHVucmVhY2hhYmxlVVJMUmVmKQogewotICAgIHRvSW1wbChwYWdlUmVmKS0+bG9hZEFsdGVybmF0
ZUhUTUxTdHJpbmcodG9XVEZTdHJpbmcoaHRtbFN0cmluZ1JlZiksIFVSTChVUkwoKSwgdG9XVEZT
dHJpbmcoYmFzZVVSTFJlZikpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJM
UmVmKSkpOworICAgIFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKHBh
Z2VSZWYsIGh0bWxTdHJpbmdSZWYsIGJhc2VVUkxSZWYsIHVucmVhY2hhYmxlVVJMUmVmLCBudWxs
cHRyKTsKIH0KIAogdm9pZCBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhVc2VyRGF0
YShXS1BhZ2VSZWYgcGFnZVJlZiwgV0tTdHJpbmdSZWYgaHRtbFN0cmluZ1JlZiwgV0tVUkxSZWYg
YmFzZVVSTFJlZiwgV0tVUkxSZWYgdW5yZWFjaGFibGVVUkxSZWYsIFdLVHlwZVJlZiB1c2VyRGF0
YVJlZikKIHsKLSAgICB0b0ltcGwocGFnZVJlZiktPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHRv
V1RGU3RyaW5nKGh0bWxTdHJpbmdSZWYpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKGJhc2VVUkxS
ZWYpKSwgVVJMKFVSTCgpLCB0b1dURlN0cmluZyh1bnJlYWNoYWJsZVVSTFJlZikpLCB0b0ltcGwo
dXNlckRhdGFSZWYpKTsKKyAgICBTdHJpbmcgc3RyaW5nID0gdG9XVEZTdHJpbmcoaHRtbFN0cmlu
Z1JlZik7CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5sb2FkQWx0ZXJuYXRlSFRNTChkYXRhRnJvbShz
dHJpbmcpLCBlbmNvZGluZ09mKHN0cmluZyksIFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoYmFzZVVS
TFJlZikpLCBVUkwoVVJMKCksIHRvV1RGU3RyaW5nKHVucmVhY2hhYmxlVVJMUmVmKSksIHRvSW1w
bCh1c2VyRGF0YVJlZikpOwogfQogCiB2b2lkIFdLUGFnZUxvYWRQbGFpblRleHRTdHJpbmcoV0tQ
YWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIHBsYWluVGV4dFN0cmluZ1JlZikKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjM0OTU0KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1OSw4IEBAIC0gKHZvaWQpbG9hZEhUTUxTdHJp
bmc6KE5TU3RyaW5nICopSFRNTFMKIAogLSAodm9pZClsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzoo
TlNTdHJpbmcgKilzdHJpbmcgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIGZvclVucmVhY2hhYmxl
VVJMOihOU1VSTCAqKXVucmVhY2hhYmxlVVJMCiB7Ci0gICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVI
VE1MU3RyaW5nKHN0cmluZywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwpOworICAgIE5TRGF0YSAq
ZGF0YSA9IFtzdHJpbmcgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwor
ICAgIF9wYWdlLT5sb2FkQWx0ZXJuYXRlSFRNTCh7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihkYXRhLmJ5dGVzKSwgZGF0YS5sZW5ndGggfSwgIlVURi04Il9zLCBiYXNlVVJMLCB1bnJlYWNo
YWJsZVVSTCk7CiB9CiAKIC0gKHZvaWQpbG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6
KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGlu
Z05hbWUgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlzaW9uIDIzNDk1NCkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTQyMTcsNyArNDIxNyw4IEBAIC0gKE5TVVJMICopX3VucmVhY2hhYmxlVVJMCiAKIC0g
KHZvaWQpX2xvYWRBbHRlcm5hdGVIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBiYXNlVVJM
OihOU1VSTCAqKWJhc2VVUkwgZm9yVW5yZWFjaGFibGVVUkw6KE5TVVJMICopdW5yZWFjaGFibGVV
UkwKIHsKLSAgICBfcGFnZS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoc3RyaW5nLCBiYXNlVVJM
LCB1bnJlYWNoYWJsZVVSTCk7CisgICAgTlNEYXRhICpkYXRhID0gW3N0cmluZyBkYXRhVXNpbmdF
bmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CisgICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVI
VE1MKHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxlbmd0
aCB9LCAiVVRGLTgiX3MsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJMKTsKIH0KIAogLSAoV0tOYXZp
Z2F0aW9uICopX2xvYWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihOU1N0cmluZyAqKU1J
TUVUeXBlIGNoYXJhY3RlckVuY29kaW5nTmFtZTooTlNTdHJpbmcgKiljaGFyYWN0ZXJFbmNvZGlu
Z05hbWUgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIHVzZXJEYXRhOihpZCl1c2VyRGF0YQpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmll
dy5jcHAJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFdlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjA2LDcgKzI2MDYsNyBA
QCB2b2lkIHdlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sCiAgICAgZ19yZXR1cm5f
aWZfZmFpbChjb250ZW50KTsKICAgICBnX3JldHVybl9pZl9mYWlsKGNvbnRlbnRVUkkpOwogCi0g
ICAgZ2V0UGFnZSh3ZWJWaWV3KS5sb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhTdHJpbmc6OmZyb21V
VEY4KGNvbnRlbnQpLCBVUkwoVVJMKCksIFN0cmluZzo6ZnJvbVVURjgoYmFzZVVSSSkpLCBVUkwo
VVJMKCksIFN0cmluZzo6ZnJvbVVURjgoY29udGVudFVSSSkpKTsKKyAgICBnZXRQYWdlKHdlYlZp
ZXcpLmxvYWRBbHRlcm5hdGVIVE1MKHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
Y29udGVudCksIGNvbnRlbnQgPyBzdHJsZW4oY29udGVudCkgOiAwIH0sICJVVEYtOCJfcywgVVJM
KFVSTCgpLCBTdHJpbmc6OmZyb21VVEY4KGJhc2VVUkkpKSwgVVJMKFVSTCgpLCBTdHJpbmc6OmZy
b21VVEY4KGNvbnRlbnRVUkkpKSk7CiB9CiAKIC8qKgpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDIzNDk1NCkKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzEyLDIzICsxMzEyLDE2IEBAIHZvaWQgV2ViUGFnZTo6bG9hZERhdGEoTG9hZFBhcmFtZXRl
cnMmJiAKICAgICBsb2FkRGF0YUltcGwobG9hZFBhcmFtZXRlcnMubmF2aWdhdGlvbklELCBXVEZN
b3ZlKHNoYXJlZEJ1ZmZlciksIGxvYWRQYXJhbWV0ZXJzLk1JTUVUeXBlLCBsb2FkUGFyYW1ldGVy
cy5lbmNvZGluZ05hbWUsIGJhc2VVUkwsIFVSTCgpLCBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSk7
CiB9CiAKLXZvaWQgV2ViUGFnZTo6bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoY29uc3QgTG9hZFBh
cmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzKQordm9pZCBXZWJQYWdlOjpsb2FkQWx0ZXJuYXRlSFRN
TChjb25zdCBMb2FkUGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMpCiB7CiAgICAgcGxhdGZvcm1E
aWRSZWNlaXZlTG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgVVJMIGJhc2VV
UkwgPSBsb2FkUGFyYW1ldGVycy5iYXNlVVJMU3RyaW5nLmlzRW1wdHkoKSA/IGJsYW5rVVJMKCkg
OiBVUkwoVVJMKCksIGxvYWRQYXJhbWV0ZXJzLmJhc2VVUkxTdHJpbmcpOwogICAgIFVSTCB1bnJl
YWNoYWJsZVVSTCA9IGxvYWRQYXJhbWV0ZXJzLnVucmVhY2hhYmxlVVJMU3RyaW5nLmlzRW1wdHko
KSA/IFVSTCgpIDogVVJMKFVSTCgpLCBsb2FkUGFyYW1ldGVycy51bnJlYWNoYWJsZVVSTFN0cmlu
Zyk7CiAgICAgVVJMIHByb3Zpc2lvbmFsTG9hZEVycm9yVVJMID0gbG9hZFBhcmFtZXRlcnMucHJv
dmlzaW9uYWxMb2FkRXJyb3JVUkxTdHJpbmcuaXNFbXB0eSgpID8gVVJMKCkgOiBVUkwoVVJMKCks
IGxvYWRQYXJhbWV0ZXJzLnByb3Zpc2lvbmFsTG9hZEVycm9yVVJMU3RyaW5nKTsKLSAgICBtX21h
aW5GcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLnNldFByb3Zpc2lvbmFsTG9hZEVycm9yQmVp
bmdIYW5kbGVkVVJMKHByb3Zpc2lvbmFsTG9hZEVycm9yVVJMKTsKLSAgICAKLSAgICBjb25zdCBT
dHJpbmcmIGh0bWxTdHJpbmcgPSBsb2FkUGFyYW1ldGVycy5zdHJpbmc7Ci0gICAgaWYgKCFodG1s
U3RyaW5nLmlzTnVsbCgpICYmIGh0bWxTdHJpbmcuaXM4Qml0KCkpIHsKLSAgICAgICAgYXV0byBz
aGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0
IGNoYXIqPihodG1sU3RyaW5nLmNoYXJhY3RlcnM4KCkpLCBodG1sU3RyaW5nLmxlbmd0aCgpICog
c2l6ZW9mKExDaGFyKSk7Ci0gICAgICAgIGxvYWREYXRhSW1wbCgwLCBXVEZNb3ZlKHNoYXJlZEJ1
ZmZlciksICJ0ZXh0L2h0bWwiX3MsICJsYXRpbjEiX3MsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJM
LCBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYXV0byBz
aGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0
IGNoYXIqPihodG1sU3RyaW5nLmNoYXJhY3RlcnMxNigpKSwgaHRtbFN0cmluZy5sZW5ndGgoKSAq
IHNpemVvZihVQ2hhcikpOwotICAgICAgICBsb2FkRGF0YUltcGwoMCwgV1RGTW92ZShzaGFyZWRC
dWZmZXIpLCAidGV4dC9odG1sIl9zLCAidXRmLTE2Il9zLCBiYXNlVVJMLCB1bnJlYWNoYWJsZVVS
TCwgbG9hZFBhcmFtZXRlcnMudXNlckRhdGEpOwotICAgIH0KKyAgICBhdXRvIHNoYXJlZEJ1ZmZl
ciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGxv
YWRQYXJhbWV0ZXJzLmRhdGEuZGF0YSgpKSwgbG9hZFBhcmFtZXRlcnMuZGF0YS5zaXplKCkpOwor
ICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuc2V0UHJvdmlzaW9uYWxMb2Fk
RXJyb3JCZWluZ0hhbmRsZWRVUkwocHJvdmlzaW9uYWxMb2FkRXJyb3JVUkwpOyAgICAKKyAgICBs
b2FkRGF0YUltcGwobG9hZFBhcmFtZXRlcnMubmF2aWdhdGlvbklELCBXVEZNb3ZlKHNoYXJlZEJ1
ZmZlciksIGxvYWRQYXJhbWV0ZXJzLk1JTUVUeXBlLCBsb2FkUGFyYW1ldGVycy5lbmNvZGluZ05h
bWUsIGJhc2VVUkwsIHVucmVhY2hhYmxlVVJMLCBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSk7CiAg
ICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5zZXRQcm92aXNpb25hbExvYWRF
cnJvckJlaW5nSGFuZGxlZFVSTCh7IH0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAyMzQ5NTQpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNjEs
NyArMTE2MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVMb2FkUGFy
YW1ldGVycyhjb25zdCBMb2FkUGFyYW1ldGVycyYpOwogICAgIHZvaWQgbG9hZFJlcXVlc3QoTG9h
ZFBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBsb2FkRGF0YShMb2FkUGFyYW1ldGVycyYmKTsKLSAg
ICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IExvYWRQYXJhbWV0ZXJzJik7Cisg
ICAgdm9pZCBsb2FkQWx0ZXJuYXRlSFRNTChjb25zdCBMb2FkUGFyYW1ldGVycyYpOwogICAgIHZv
aWQgbmF2aWdhdGVUb1BERkxpbmtXaXRoU2ltdWxhdGVkQ2xpY2soY29uc3QgU3RyaW5nJiB1cmws
IFdlYkNvcmU6OkludFBvaW50IGRvY3VtZW50UG9pbnQsIFdlYkNvcmU6OkludFBvaW50IHNjcmVl
blBvaW50KTsKICAgICB2b2lkIHJlbG9hZCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIHVpbnQzMl90
IHJlbG9hZE9wdGlvbnMsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmKTsKICAgICB2b2lkIGdv
VG9CYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBXZWJDb3JlOjpC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyJiwgV2ViQ29yZTo6RnJhbWVMb2FkVHlwZSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkocmV2aXNpb24g
MjM0OTU0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDcgKzE0Niw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIExvYWRVUkxJbkZyYW1lKFdlYkNvcmU6OlVSTCB1
cmwsIHVpbnQ2NF90IGZyYW1lSUQpCiAgICAgTG9hZFJlcXVlc3Qoc3RydWN0IFdlYktpdDo6TG9h
ZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMpCiAgICAgTG9hZERhdGEoc3RydWN0IFdlYktpdDo6
TG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMpCi0gICAgTG9hZEFsdGVybmF0ZUhUTUxTdHJp
bmcoc3RydWN0IFdlYktpdDo6TG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMpCisgICAgTG9h
ZEFsdGVybmF0ZUhUTUwoc3RydWN0IFdlYktpdDo6TG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRl
cnMpCiAKICAgICBOYXZpZ2F0ZVRvUERGTGlua1dpdGhTaW11bGF0ZWRDbGljayhTdHJpbmcgdXJs
LCBXZWJDb3JlOjpJbnRQb2ludCBkb2N1bWVudFBvaW50LCBXZWJDb3JlOjpJbnRQb2ludCBzY3Jl
ZW5Qb2ludCkKIAo=
</data>
<flag name="review"
          id="365121"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>