<?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>196744</bug_id>
          
          <creation_ts>2019-04-09 13:53:47 -0700</creation_ts>
          <short_desc>RemoteObjectRegistry message receiver should be removed when WebPage::close is called instead of waiting until dealloc</short_desc>
          <delta_ts>2019-04-17 10:41:51 -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>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1525751</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-09 13:53:47 -0700</bug_when>
    <thetext>RemoteObjectRegistry message receiver should be removed when WebPage::close is called instead of waiting until dealloc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525759</commentid>
    <comment_count>1</comment_count>
      <attachid>367070</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-09 14:04:05 -0700</bug_when>
    <thetext>Created attachment 367070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525767</commentid>
    <comment_count>2</comment_count>
      <attachid>367070</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-09 14:52:24 -0700</bug_when>
    <thetext>Comment on attachment 367070
Patch

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

&gt; Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:-354
&gt; -        WebKit::WebProcess::singleton().removeMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page-&gt;pageID());

What guarantees that WebPage::close() has been called or will be? To remove the message receiver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525768</commentid>
    <comment_count>3</comment_count>
      <attachid>367070</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-09 14:53:45 -0700</bug_when>
    <thetext>Comment on attachment 367070
Patch

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

&gt;&gt; Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:-354
&gt;&gt; -        WebKit::WebProcess::singleton().removeMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page-&gt;pageID());
&gt; 
&gt; What guarantees that WebPage::close() has been called or will be? To remove the message receiver?

I think ideally RemoteObjectRegistry would register / unregister itself, it would be less fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525850</commentid>
    <comment_count>4</comment_count>
      <attachid>367095</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-09 18:53:22 -0700</bug_when>
    <thetext>Created attachment 367095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525851</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-09 18:55:04 -0700</bug_when>
    <thetext>Attachment 367095 did not pass style-queue:


ERROR: Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm:46:  Code inside a namespace should not be indented.  [whitespace/indent] [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>1525859</commentid>
    <comment_count>6</comment_count>
      <attachid>367095</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-09 19:23:25 -0700</bug_when>
    <thetext>Comment on attachment 367095
Patch

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

&gt; Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm:67
&gt; +    if (m_shouldUnregisterMessageHandler) {

m_shouldUnregisterMessageHandler is a bit of a confusing name. It is not so much about saying we should unregister, it is about knowing if we&apos;re registered.
I think we should change the name to something like: m_isRegisteredAsMessageReceiver.

Alternatively, we could drop m_shouldUnregisterMessageHandler / m_messageReceiverID and replace them by a m_unregisterMessageReceiver WTF::Function data member.

&gt; Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:112
&gt; +    page.setRemoteObjectRegistry(*_remoteObjectRegistry);

Why don&apos;t we do this in the RemoteObjectRegistry constructor instead? Seems safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526013</commentid>
    <comment_count>7</comment_count>
      <attachid>367139</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-10 10:53:42 -0700</bug_when>
    <thetext>Created attachment 367139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526014</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-10 10:55:31 -0700</bug_when>
    <thetext>Attachment 367139 did not pass style-queue:


ERROR: Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm:46:  Code inside a namespace should not be indented.  [whitespace/indent] [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>1526029</commentid>
    <comment_count>9</comment_count>
      <attachid>367139</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 11:35:38 -0700</bug_when>
    <thetext>Comment on attachment 367139
Patch

Clearing flags on attachment: 367139

Committed r244139: &lt;https://trac.webkit.org/changeset/244139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526030</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 11:35:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526033</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-10 11:36:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/49783746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527067</commentid>
    <comment_count>12</comment_count>
      <attachid>367139</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-13 13:58:30 -0700</bug_when>
    <thetext>Comment on attachment 367139
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm:40
&gt; +    [browserContextController _remoteObjectRegistry];

What is this mysterious line of code? Calling it for side effects or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527257</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-15 11:02:56 -0700</bug_when>
    <thetext>Yes, calling it instantiates a _WKRemoteObjectRegistry associated with this page and would have caused an assertion in the test that uses this bundle class without this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528136</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-17 10:06:44 -0700</bug_when>
    <thetext>Could we write a comment to make it less mysterious. &quot;Would have caused an assertion&quot; is sort of a mechanical explanation. Would like a short, clear, higher level explanation ideally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528155</commentid>
    <comment_count>15</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-17 10:41:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/r244384</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367070</attachid>
            <date>2019-04-09 14:04:05 -0700</date>
            <delta_ts>2019-04-09 18:53:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196744-20190409140402.patch</filename>
            <type>text/plain</type>
            <size>9403</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQwNDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTA5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3RlT2JqZWN0
UmVnaXN0cnkgbWVzc2FnZSByZWNlaXZlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIFdlYlBhZ2U6
OmNsb3NlIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgZGVhbGxvYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzQ0CisgICAgICAg
IDxyZGFyOi8vNDk0MTUzMDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBpcyBhIHNpbWlsYXIgcHJvYmxlbSB0byB0aGUgb25lIEkgZml4ZWQg
aW4gcjI0MTMwNiBzbyBJIHBpZ2d5LWJhY2tlZCBvbiB0aGUgc2FtZSB0ZXN0LgorICAgICAgICBX
aGVuIHlvdSBkbyBhIGNyb3NzIHNpdGUgbmF2aWdhdGlvbiBidXQgdGhlIHByZXZpb3VzIHBhZ2Ug
aXMgaW4gYSBzdXNwZW5kZWQgcHJvY2VzcyB0aGVuIHlvdSBuYXZpZ2F0ZSBiYWNrLAorICAgICAg
ICB5b3UgY2FuIGdldCB0d28gV2ViUGFnZSBvYmplY3RzIGluIHRoZSBzYW1lIHByb2Nlc3Mgd2l0
aCB0aGUgc2FtZSBJRHMuICBXZWJQYWdlOjpjbG9zZSBoYXMgYmVlbiBjYWxsZWQKKyAgICAgICAg
b24gdGhlIG9sZCBvbmUgd2hpY2ggaXMgc3VwcG9zZWQgdG8gbWFrZSBpdCBzbyBhbGwgdGhlIG1l
c3NhZ2UgcmVjZWl2ZXJzIGFzc29jaWF0ZWQgd2l0aCBpdCBoYXZlIGJlZW4gcmVtb3ZlZAorICAg
ICAgICBzbyB3ZSBkb24ndCBoYXZlIGFueSBsb3NzIG9mIGNvbW11bmljYXRpb24sIGJ1dCB3ZSBt
aXNzZWQgdGhlIFJlbW90ZU9iamVjdFJlZ2lzdHJ5IG1lc3NhZ2VzLCB3aGljaCBhcmUgb3duZWQK
KyAgICAgICAgYnkgdGhlIE9iakMgYnVuZGxlIG9iamVjdCB3cmFwcGluZyB0aGUgV2ViUGFnZSAo
d2hpY2ggY2FuIGtlZXAgaXQgYWxpdmUgaWYgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIGl0IGlzIGhl
bGQpLgorICAgICAgICBUbyBmaXggdGhlIGFzc2VydGlvbiB0aGF0IGhhcHBlbnMgaW4gdGhpcyBj
YXNlIGFuZCB0aGUgcmVzdWx0aW5nIGNvbW11bmljYXRpb24gYnJlYWthZ2UsIHRlYWNoIHRoZSBX
ZWJQYWdlIGFib3V0CisgICAgICAgIHRoZXNlIG1lc3NhZ2VzIHNvIGl0IGNhbiB0ZWFyIGRvd24g
dGhlIG1lc3NhZ2UgcmVjZWl2ZXIgd2l0aCB0aGUgb3RoZXJzIGl0IHJlbW92ZXMgYXQgY2xvc2Ug
dGltZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgZGVhbGxvY10pOgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3JlbW90ZU9iamVj
dFJlZ2lzdHJ5XSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUmVtb3RlT2JqZWN0UmVnaXN0
cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y2xvc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisKIDIwMTktMDQtMDggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggc2VsZWN0b3IgbmFtZSBhZnRlciByMjQzODM0Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaAkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEy
ICsyMywxMiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNp
Zm5kZWYgUmVtb3RlT2JqZWN0UmVnaXN0cnlfaAotI2RlZmluZSBSZW1vdGVPYmplY3RSZWdpc3Ry
eV9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1
ZGUgIlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNs
dWRlIDx3dGYvV2Vha09iakNQdHIuaD4KIAogT0JKQ19DTEFTUyBfV0tSZW1vdGVPYmplY3RSZWdp
c3RyeTsKIApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FsbFJlcGx5Qmxv
Y2sodWludDY0X3QgcmVwbHlJRCwgY29uc3QgVXNlckRhdGEmIGJsb2NrSW52b2NhdGlvbik7CiAg
ICAgdm9pZCByZWxlYXNlVW51c2VkUmVwbHlCbG9jayh1aW50NjRfdCByZXBseUlEKTsKIAotICAg
IF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICptX3JlbW90ZU9iamVjdFJlZ2lzdHJ5OworICAgIFdl
YWtPYmpDUHRyPF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5PiBtX3JlbW90ZU9iamVjdFJlZ2lzdHJ5
OwogICAgIElQQzo6TWVzc2FnZVNlbmRlciYgbV9tZXNzYWdlU2VuZGVyOwogICAgIFdURjo6RnVu
Y3Rpb248UHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKT4gbV90YWtl
QmFja2dyb3VuZEFjdGl2aXR5VG9rZW47CiAgICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fbGF1
bmNoSW5pdGlhbFByb2Nlc3NJZk5lY2Vzc2FyeTsKQEAgLTcyLDUgKzcyLDMgQEAgcHJpdmF0ZToK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUmVtb3RlT2JqZWN0UmVn
aXN0cnlfaApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24g
MjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9t
YWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNTAsMTAgKzM1MCw4IEBAIC0gKHZvaWQpc2V0TG9hZERlbGVnYXRlOihpZCA8
V0tXZWJQcm9jZXMKIAogLSAodm9pZClkZWFsbG9jCiB7Ci0gICAgaWYgKF9yZW1vdGVPYmplY3RS
ZWdpc3RyeSkgewotICAgICAgICBXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBpZiAoX3JlbW90ZU9iamVjdFJl
Z2lzdHJ5KQogICAgICAgICBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKLSAg
ICB9CiAKICAgICBfcGFnZS0+fldlYlBhZ2UoKTsKIApAQCAtNDE4LDcgKzQxNiw3IEBAIC0gKF9X
S1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICopX3JlbW90ZU9iamUKIHsKICAgICBpZiAoIV9yZW1vdGVP
YmplY3RSZWdpc3RyeSkgewogICAgICAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBhZG9wdE5T
KFtbX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgYWxsb2NdIF9pbml0V2l0aFdlYlBhZ2U6Kl9wYWdl
XSk7Ci0gICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCBfcGFnZS0+cGFnZUlEKCksIFtfcmVtb3RlT2JqZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0
UmVnaXN0cnldKTsKKyAgICAgICAgX3BhZ2UtPmFkZFJlbW90ZU9iamVjdFJlZ2lzdHJ5KFtfcmVt
b3RlT2JqZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVnaXN0cnldKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gX3JlbW90ZU9iamVjdFJlZ2lzdHJ5LmdldCgpOwpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI0NDAzMykKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNTQsNiArMjU0LDcgQEAKICNpbmNsdWRlICJQREZQbHVnaW4uaCIKICNpbmNsdWRlICJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5LmgiCiAjaW5jbHVkZSAiVG91Y2hCYXJN
ZW51RGF0YS5oIgogI2luY2x1ZGUgIlRvdWNoQmFyTWVudUl0ZW1EYXRhLmgiCkBAIC0xMzU4LDYg
KzEzNTksMTMgQEAgdm9pZCBXZWJQYWdlOjpjbG9zZSgpCiAgICAgbV9pc1J1bm5pbmdNb2RhbCA9
IGZhbHNlOwogCiAgICAgYXV0byYgd2ViUHJvY2VzcyA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
OworICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChtX2hhc1JlbW90ZU9iamVjdFJl
Z2lzdHJ5KSB7CisgICAgICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBwYWdlSUQo
KSk7CisgICAgICAgIG1faGFzUmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBmYWxzZTsKKyAgICB9Cisj
ZW5kaWYKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAgIGlmIChtX3VzZUFzeW5jU2Ny
b2xsaW5nKQogICAgICAgICB3ZWJQcm9jZXNzLmV2ZW50RGlzcGF0Y2hlcigpLnJlbW92ZVNjcm9s
bGluZ1RyZWVGb3JQYWdlKHRoaXMpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcg
QEAgY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZwogY2xhc3MgUERGUGx1
Z2luOwogY2xhc3MgUGFnZUJhbm5lcjsKIGNsYXNzIFBsdWdpblZpZXc7CitjbGFzcyBSZW1vdGVP
YmplY3RSZWdpc3RyeTsKIGNsYXNzIFJlbW90ZVdlYkluc3BlY3RvclVJOwogY2xhc3MgVGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5OwogY2xhc3MgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyOwpAQCAtMTE3OSw2ICsxMTgwLDggQEAgcHVibGljOgogICAgIFRleHRDaGVja2luZ0Nv
bnRyb2xsZXJQcm94eSYgdGV4dENoZWNraW5nQ29udHJvbGxlcigpIHsgcmV0dXJuIG1fdGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5LmdldCgpOyB9CiAjZW5kaWYKIAorICAgIHZvaWQgYWRkUmVt
b3RlT2JqZWN0UmVnaXN0cnkoUmVtb3RlT2JqZWN0UmVnaXN0cnkmKTsKKwogcHJpdmF0ZToKICAg
ICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsK
IApAQCAtMTg4NSw2ICsxODg4LDcgQEAgcHJpdmF0ZToKICAgICBPcHRpb25TZXQ8TGF5ZXJUcmVl
RnJlZXplUmVhc29uPiBtX0xheWVyVHJlZUZyZWV6ZVJlYXNvbnM7CiAgICAgYm9vbCBtX2lzU3Vz
cGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbmVlZHNGb250QXR0cmlidXRlcyB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2hhc1JlbW90ZU9iamVjdFJlZ2lzdHJ5IHsgZmFsc2UgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQkocmV2aXNpb24gMjQ0MDMz
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMCArMjYsMTEgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiV2ViUGFnZS5oIgogCi0KICNpbXBvcnQgIkF0dHJpYnV0ZWRTdHJpbmcuaCIK
ICNpbXBvcnQgIkxvYWRQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJQbHVnaW5WaWV3LmgiCisjaW1w
b3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgorI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0
cnlNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQg
IldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2ltcG9ydCA8V2ViQ29yZS9EaWN0aW9uYXJ5TG9v
a3VwLmg+CkBAIC0yMjIsNiArMjIzLDEyIEBAIHZvaWQgV2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0
dHJpYnV0ZWRTdHIKICAgICBjb21wbGV0aW9uSGFuZGxlcih7IHJlc3VsdCB9KTsKIH0KIAordm9p
ZCBXZWJQYWdlOjphZGRSZW1vdGVPYmplY3RSZWdpc3RyeShSZW1vdGVPYmplY3RSZWdpc3RyeSYg
cmVnaXN0cnkpCit7CisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIHBhZ2VJRCgpLCByZWdpc3RyeSk7CisgICAgbV9oYXNSZW1vdGVPYmplY3RSZWdp
c3RyeSA9IHRydWU7Cit9CisgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8v
IFBMQVRGT1JNKENPQ09BKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ0MDk0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDQtMDkgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdGVPYmplY3RSZWdpc3Ry
eSBtZXNzYWdlIHJlY2VpdmVyIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gV2ViUGFnZTo6Y2xvc2Ug
aXMgY2FsbGVkIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCBkZWFsbG9jCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY3NDQKKyAgICAgICAgPHJkYXI6
Ly80OTQxNTMwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUmV0YWluUGFnZVBs
dWdJbi5tbToKKyAgICAgICAgKC1bQnVuZGxlUmV0YWluUGFnZVBsdWdJbiB3ZWJQcm9jZXNzUGx1
Z0luOmRpZENyZWF0ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpdKToKKwogMjAxOS0wNC0wOSAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENs
aWNraW5nICJHbyBCYWNrIiBmcm9tIGEgc2FmZSBicm93c2luZyB3YXJuaW5nIGZyb20gYW4gaWZy
YW1lIHNob3VsZCBuYXZpZ2F0ZSB0aGUgV0tXZWJWaWV3IGJhY2sgdG8gdGhlIHByZXZpb3VzIHBh
Z2UKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUmV0
YWluUGFnZVBsdWdJbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW0JKHJldmlzaW9uIDI0NDAzMykK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUmV0YWluUGFn
ZVBsdWdJbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAKICNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW4uaD4KKyNpbXBvcnQg
PFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJQcml2YXRl
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIEBpbnRlcmZhY2UgQnVuZGxlUmV0YWlu
UGFnZVBsdWdJbiA6IE5TT2JqZWN0IDxXS1dlYlByb2Nlc3NQbHVnSW4+CkBAIC0zNiw2ICszNyw3
IEBAIEBpbnRlcmZhY2UgQnVuZGxlUmV0YWluUGFnZVBsdWdJbiA6IE5TT2IKIC0gKHZvaWQpd2Vi
UHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRy
b2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIKIHsK
ICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCAwLjUg
KiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcmV0YWluZWRQYWdl
ID0gcmV0YWluUHRyKGJyb3dzZXJDb250ZXh0Q29udHJvbGxlcildIHsgfSk7CisgICAgW2Jyb3dz
ZXJDb250ZXh0Q29udHJvbGxlciBfcmVtb3RlT2JqZWN0UmVnaXN0cnldOwogfQogCiBAZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367095</attachid>
            <date>2019-04-09 18:53:22 -0700</date>
            <delta_ts>2019-04-10 10:53:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196744-20190409185321.patch</filename>
            <type>text/plain</type>
            <size>12368</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQwNDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTA5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3RlT2JqZWN0
UmVnaXN0cnkgbWVzc2FnZSByZWNlaXZlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIFdlYlBhZ2U6
OmNsb3NlIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgZGVhbGxvYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzQ0CisgICAgICAg
IDxyZGFyOi8vNDk0MTUzMDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBpcyBhIHNpbWlsYXIgcHJvYmxlbSB0byB0aGUgb25lIEkgZml4ZWQg
aW4gcjI0MTMwNiBzbyBJIHBpZ2d5LWJhY2tlZCBvbiB0aGUgc2FtZSB0ZXN0LgorICAgICAgICBX
aGVuIHlvdSBkbyBhIGNyb3NzIHNpdGUgbmF2aWdhdGlvbiBidXQgdGhlIHByZXZpb3VzIHBhZ2Ug
aXMgaW4gYSBzdXNwZW5kZWQgcHJvY2VzcyB0aGVuIHlvdSBuYXZpZ2F0ZSBiYWNrLAorICAgICAg
ICB5b3UgY2FuIGdldCB0d28gV2ViUGFnZSBvYmplY3RzIGluIHRoZSBzYW1lIHByb2Nlc3Mgd2l0
aCB0aGUgc2FtZSBJRHMuICBXZWJQYWdlOjpjbG9zZSBoYXMgYmVlbiBjYWxsZWQKKyAgICAgICAg
b24gdGhlIG9sZCBvbmUgd2hpY2ggaXMgc3VwcG9zZWQgdG8gbWFrZSBpdCBzbyBhbGwgdGhlIG1l
c3NhZ2UgcmVjZWl2ZXJzIGFzc29jaWF0ZWQgd2l0aCBpdCBoYXZlIGJlZW4gcmVtb3ZlZAorICAg
ICAgICBzbyB3ZSBkb24ndCBoYXZlIGFueSBsb3NzIG9mIGNvbW11bmljYXRpb24sIGJ1dCB3ZSBt
aXNzZWQgdGhlIFJlbW90ZU9iamVjdFJlZ2lzdHJ5IG1lc3NhZ2VzLCB3aGljaCBhcmUgb3duZWQK
KyAgICAgICAgYnkgdGhlIE9iakMgYnVuZGxlIG9iamVjdCB3cmFwcGluZyB0aGUgV2ViUGFnZSAo
d2hpY2ggY2FuIGtlZXAgaXQgYWxpdmUgaWYgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIGl0IGlzIGhl
bGQpLgorICAgICAgICBUbyBmaXggdGhlIGFzc2VydGlvbiB0aGF0IGhhcHBlbnMgaW4gdGhpcyBj
YXNlIGFuZCB0aGUgcmVzdWx0aW5nIGNvbW11bmljYXRpb24gYnJlYWthZ2UsIHRlYWNoIHRoZSBX
ZWJQYWdlIGFib3V0CisgICAgICAgIHRoZXNlIG1lc3NhZ2VzIHNvIGl0IGNhbiB0ZWFyIGRvd24g
dGhlIG1lc3NhZ2UgcmVjZWl2ZXIgd2l0aCB0aGUgb3RoZXJzIGl0IHJlbW92ZXMgYXQgY2xvc2Ug
dGltZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgZGVhbGxvY10pOgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3JlbW90ZU9iamVj
dFJlZ2lzdHJ5XSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUmVtb3RlT2JqZWN0UmVnaXN0
cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y2xvc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisKIDIwMTktMDQtMDggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggc2VsZWN0b3IgbmFtZSBhZnRlciByMjQzODM0Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaAkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEy
ICsyMywxMyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNp
Zm5kZWYgUmVtb3RlT2JqZWN0UmVnaXN0cnlfaAotI2RlZmluZSBSZW1vdGVPYmplY3RSZWdpc3Ry
eV9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1
ZGUgIlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNs
dWRlIDx3dGYvV2Vha09iakNQdHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBPQkpD
X0NMQVNTIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogCkBAIC00Myw3ICs0NCw3IEBAIGNsYXNz
IFVzZXJEYXRhOwogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAotY2xhc3Mg
UmVtb3RlT2JqZWN0UmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIg
eworY2xhc3MgUmVtb3RlT2JqZWN0UmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8UmVtb3RlT2JqZWN0UmVnaXN0cnk+LCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbW90ZU9iamVjdFJl
Z2lzdHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICosIFdlYlBhZ2UmKTsKQEAgLTU1LDYgKzU2
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2VuZFJlcGx5QmxvY2sodWludDY0X3QgcmVwbHlJRCwg
Y29uc3QgVXNlckRhdGEmIGJsb2NrSW52b2NhdGlvbik7CiAgICAgdm9pZCBzZW5kVW51c2VkUmVw
bHkodWludDY0X3QgcmVwbHlJRCk7CiAKKyAgICB2b2lkIGNsb3NlKCk7CisKIHByaXZhdGU6CiAg
ICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwpAQCAtNjQsMTMgKzY3LDEz
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYWxsUmVwbHlCbG9jayh1aW50NjRfdCByZXBseUlELCBj
b25zdCBVc2VyRGF0YSYgYmxvY2tJbnZvY2F0aW9uKTsKICAgICB2b2lkIHJlbGVhc2VVbnVzZWRS
ZXBseUJsb2NrKHVpbnQ2NF90IHJlcGx5SUQpOwogCi0gICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkgKm1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CisgICAgV2Vha09iakNQdHI8X1dLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnk+IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAgICAgSVBDOjpNZXNzYWdlU2Vu
ZGVyJiBtX21lc3NhZ2VTZW5kZXI7Ci0gICAgV1RGOjpGdW5jdGlvbjxQcm9jZXNzVGhyb3R0bGVy
OjpCYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpPiBtX3Rha2VCYWNrZ3JvdW5kQWN0aXZpdHlUb2tl
bjsKLSAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gbV9sYXVuY2hJbml0aWFsUHJvY2Vzc0lmTmVj
ZXNzYXJ5OworICAgIEZ1bmN0aW9uPFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0
eVRva2VuKCk+IG1fdGFrZUJhY2tncm91bmRBY3Rpdml0eVRva2VuOworICAgIEZ1bmN0aW9uPHZv
aWQoKT4gbV9sYXVuY2hJbml0aWFsUHJvY2Vzc0lmTmVjZXNzYXJ5OwogICAgIEhhc2hNYXA8dWlu
dDY0X3QsIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRva2VuPiBtX3BlbmRp
bmdSZXBsaWVzOworICAgIGJvb2wgbV9zaG91bGRVbnJlZ2lzdGVyTWVzc2FnZUhhbmRsZXIgeyBm
YWxzZSB9OworICAgIHVpbnQ2NF90IG1fbWVzc2FnZVJlY2VpdmVySUQgeyAwIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFJlbW90ZU9iamVjdFJlZ2lzdHJ5X2gK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3Ry
eS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3Rl
T2JqZWN0UmVnaXN0cnkubW0JKHJldmlzaW9uIDI0NDAzMykKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQAogI2ltcG9ydCAiVXNlckRhdGEuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIK
ICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogI2ltcG9y
dCAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0ICJfV0tSZW1vdGVPYmplY3RSZWdpc3RyeUlu
dGVybmFsLmgiCiAKQEAgLTQyLDcgKzQzLDEwIEBAIFJlbW90ZU9iamVjdFJlZ2lzdHJ5OjpSZW1v
dGVPYmplY3RSZWdpc3QKICAgICA6IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnkocmVtb3RlT2JqZWN0
UmVnaXN0cnkpCiAgICAgLCBtX21lc3NhZ2VTZW5kZXIocGFnZSkKICAgICAsIG1fdGFrZUJhY2tn
cm91bmRBY3Rpdml0eVRva2VuKFtdIHsgcmV0dXJuIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91
bmRBY3Rpdml0eVRva2VuKCk7IH0pCisgICAgLCBtX3Nob3VsZFVucmVnaXN0ZXJNZXNzYWdlSGFu
ZGxlcih0cnVlKQorICAgICwgbV9tZXNzYWdlUmVjZWl2ZXJJRChwYWdlLnBhZ2VJRCgpKQogewor
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9tZXNzYWdlUmVj
ZWl2ZXJJRCwgKnRoaXMpOwogfQogCiBSZW1vdGVPYmplY3RSZWdpc3RyeTo6UmVtb3RlT2JqZWN0
UmVnaXN0cnkoX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5LCBX
ZWJQYWdlUHJveHkmIHBhZ2UpCkBAIC01Myw5ICs1NywxNyBAQCBSZW1vdGVPYmplY3RSZWdpc3Ry
eTo6UmVtb3RlT2JqZWN0UmVnaXN0CiB7CiB9CiAKLQogUmVtb3RlT2JqZWN0UmVnaXN0cnk6On5S
ZW1vdGVPYmplY3RSZWdpc3RyeSgpCiB7CisgICAgY2xvc2UoKTsKK30KKwordm9pZCBSZW1vdGVP
YmplY3RSZWdpc3RyeTo6Y2xvc2UoKQoreworICAgIGlmIChtX3Nob3VsZFVucmVnaXN0ZXJNZXNz
YWdlSGFuZGxlcikgeworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fbWVzc2FnZVJlY2VpdmVySUQpOworICAgICAgICBtX3Nob3VsZFVucmVnaXN0
ZXJNZXNzYWdlSGFuZGxlciA9IGZhbHNlOworICAgIH0KIH0KIAogdm9pZCBSZW1vdGVPYmplY3RS
ZWdpc3RyeTo6c2VuZEludm9jYXRpb24oY29uc3QgUmVtb3RlT2JqZWN0SW52b2NhdGlvbiYgaW52
b2NhdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVP
YmplY3RSZWdpc3RyeS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
Q29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0JKHJldmlzaW9uIDI0NDAzMykKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAogI2ltcG9ydCAiV0tSZW1vdGVPYmplY3Qu
aCIKICNpbXBvcnQgIldLUmVtb3RlT2JqZWN0Q29kZXIuaCIKICNpbXBvcnQgIldLU2hhcmVkQVBJ
Q2FzdC5oIgorI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiX1dLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlLmgiCiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KIApAQCAtMTA4LDYgKzEwOSw3IEBA
IC0gKGlkKV9pbml0V2l0aFdlYlBhZ2U6KFdlYktpdDo6V2ViUGFnZSYKICAgICAgICAgcmV0dXJu
IG5pbDsKIAogICAgIF9yZW1vdGVPYmplY3RSZWdpc3RyeSA9IHN0ZDo6bWFrZV91bmlxdWU8V2Vi
S2l0OjpSZW1vdGVPYmplY3RSZWdpc3RyeT4oc2VsZiwgcGFnZSk7CisgICAgcGFnZS5zZXRSZW1v
dGVPYmplY3RSZWdpc3RyeSgqX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KTsKIAogICAgIHJldHVybiBz
ZWxmOwogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24g
MjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9t
YWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNTAsMTAgKzM1MCw4IEBAIC0gKHZvaWQpc2V0TG9hZERlbGVnYXRlOihpZCA8
V0tXZWJQcm9jZXMKIAogLSAodm9pZClkZWFsbG9jCiB7Ci0gICAgaWYgKF9yZW1vdGVPYmplY3RS
ZWdpc3RyeSkgewotICAgICAgICBXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBpZiAoX3JlbW90ZU9iamVjdFJl
Z2lzdHJ5KQogICAgICAgICBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKLSAg
ICB9CiAKICAgICBfcGFnZS0+fldlYlBhZ2UoKTsKIApAQCAtNDE2LDEwICs0MTQsOCBAQCArIChp
bnN0YW5jZXR5cGUpbG9va1VwQnJvd3NpbmdDb250ZXh0RnJvCiAKIC0gKF9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5ICopX3JlbW90ZU9iamVjdFJlZ2lzdHJ5CiB7Ci0gICAgaWYgKCFfcmVtb3RlT2Jq
ZWN0UmVnaXN0cnkpIHsKKyAgICBpZiAoIV9yZW1vdGVPYmplY3RSZWdpc3RyeSkKICAgICAgICAg
X3JlbW90ZU9iamVjdFJlZ2lzdHJ5ID0gYWRvcHROUyhbW19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5
IGFsbG9jXSBfaW5pdFdpdGhXZWJQYWdlOipfcGFnZV0pOwotICAgICAgICBXZWJLaXQ6OldlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2Jq
ZWN0UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgX3BhZ2UtPnBhZ2VJRCgpLCBbX3Jl
bW90ZU9iamVjdFJlZ2lzdHJ5IHJlbW90ZU9iamVjdFJlZ2lzdHJ5XSk7Ci0gICAgfQogCiAgICAg
cmV0dXJuIF9yZW1vdGVPYmplY3RSZWdpc3RyeS5nZXQoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNDQwMzMpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjU0LDYgKzI1NCw4IEBACiAjaW5jbHVkZSAiUERGUGx1Z2luLmgiCiAjaW5jbHVk
ZSAiUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCIKKyNpbmNsdWRl
ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNraW5n
Q29udHJvbGxlclByb3h5LmgiCiAjaW5jbHVkZSAiVG91Y2hCYXJNZW51RGF0YS5oIgogI2luY2x1
ZGUgIlRvdWNoQmFyTWVudUl0ZW1EYXRhLmgiCkBAIC0xMzU4LDYgKzEzNjAsMTAgQEAgdm9pZCBX
ZWJQYWdlOjpjbG9zZSgpCiAgICAgbV9pc1J1bm5pbmdNb2RhbCA9IGZhbHNlOwogCiAgICAgYXV0
byYgd2ViUHJvY2VzcyA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpOworI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIGlmIChtX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KQorICAgICAgICBtX3JlbW90ZU9i
amVjdFJlZ2lzdHJ5LT5jbG9zZSgpOworI2VuZGlmCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElO
RykKICAgICBpZiAobV91c2VBc3luY1Njcm9sbGluZykKICAgICAgICAgd2ViUHJvY2Vzcy5ldmVu
dERpc3BhdGNoZXIoKS5yZW1vdmVTY3JvbGxpbmdUcmVlRm9yUGFnZSh0aGlzKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDI0NDAz
MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWcKIGNsYXNzIFBERlBsdWdpbjsKIGNsYXNzIFBhZ2VCYW5uZXI7CiBjbGFzcyBQ
bHVnaW5WaWV3OworY2xhc3MgUmVtb3RlT2JqZWN0UmVnaXN0cnk7CiBjbGFzcyBSZW1vdGVXZWJJ
bnNwZWN0b3JVSTsKIGNsYXNzIFRleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eTsKIGNsYXNzIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsKQEAgLTExNzksNiArMTE4MCw4IEBAIHB1
YmxpYzoKICAgICBUZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHkmIHRleHRDaGVja2luZ0NvbnRy
b2xsZXIoKSB7IHJldHVybiBtX3RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eS5nZXQoKTsgfQog
I2VuZGlmCiAKKyAgICB2b2lkIHNldFJlbW90ZU9iamVjdFJlZ2lzdHJ5KFJlbW90ZU9iamVjdFJl
Z2lzdHJ5Jik7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAKQEAgLTE4ODUsNiArMTg4OCw5IEBAIHByaXZhdGU6
CiAgICAgT3B0aW9uU2V0PExheWVyVHJlZUZyZWV6ZVJlYXNvbj4gbV9MYXllclRyZWVGcmVlemVS
ZWFzb25zOwogICAgIGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX25l
ZWRzRm9udEF0dHJpYnV0ZXMgeyBmYWxzZSB9OworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdl
YWtQdHI8UmVtb3RlT2JqZWN0UmVnaXN0cnk+IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQkocmV2aXNp
b24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2Vi
UGFnZUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMCArMjYsMTAgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogCi0KICNpbXBvcnQgIkF0dHJpYnV0ZWRT
dHJpbmcuaCIKICNpbXBvcnQgIkxvYWRQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJQbHVnaW5WaWV3
LmgiCisjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgogI2ltcG9ydCAiV2ViUGFnZVBy
b3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2ltcG9y
dCA8V2ViQ29yZS9EaWN0aW9uYXJ5TG9va3VwLmg+CkBAIC0yMjIsNiArMjIyLDExIEBAIHZvaWQg
V2ViUGFnZTo6Z2V0Q29udGVudHNBc0F0dHJpYnV0ZWRTdHIKICAgICBjb21wbGV0aW9uSGFuZGxl
cih7IHJlc3VsdCB9KTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRSZW1vdGVPYmplY3RSZWdpc3Ry
eShSZW1vdGVPYmplY3RSZWdpc3RyeSYgcmVnaXN0cnkpCit7CisgICAgbV9yZW1vdGVPYmplY3RS
ZWdpc3RyeSA9IG1ha2VXZWFrUHRyKHJlZ2lzdHJ5KTsKK30KKyAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQxMDEpCisrKyBU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNC0w
OSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAg
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5IG1lc3NhZ2UgcmVjZWl2ZXIgc2hvdWxkIGJlIHJlbW92ZWQg
d2hlbiBXZWJQYWdlOjpjbG9zZSBpcyBjYWxsZWQgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIGRl
YWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
Njc0NAorICAgICAgICA8cmRhcjovLzQ5NDE1MzA5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9CdW5kbGVSZXRhaW5QYWdlUGx1Z0luLm1tOgorICAgICAgICAoLVtCdW5kbGVSZXRhaW5QYWdl
UGx1Z0luIHdlYlByb2Nlc3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Ol0pOgorCiAyMDE5LTA0LTA5ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIGJ1aWxkIG1haW50ZW5hbmNlIC0tIHVwZGF0ZSAueGNmaWxlbGlz
dHMuCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVJl
dGFpblBhZ2VQbHVnSW4ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9CdW5kbGVSZXRhaW5QYWdlUGx1Z0luLm1tCShyZXZpc2lvbiAyNDQwMzMp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVJldGFpblBh
Z2VQbHVnSW4ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogCiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJQcm9jZXNzUGx1Z0luLmg+CisjaW1wb3J0
IDxXZWJLaXQvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0
ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBAaW50ZXJmYWNlIEJ1bmRsZVJldGFp
blBhZ2VQbHVnSW4gOiBOU09iamVjdCA8V0tXZWJQcm9jZXNzUGx1Z0luPgpAQCAtMzYsNiArMzcs
NyBAQCBAaW50ZXJmYWNlIEJ1bmRsZVJldGFpblBhZ2VQbHVnSW4gOiBOU09iCiAtICh2b2lkKXdl
YlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250
cm9sbGVyIGRpZENyZWF0ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyCiB7
CiAgICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQQVRDSF9USU1FX05PVywgMC41
ICogTlNFQ19QRVJfU0VDKSwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3JldGFpbmVkUGFn
ZSA9IHJldGFpblB0cihicm93c2VyQ29udGV4dENvbnRyb2xsZXIpXSB7IH0pOworICAgIFticm93
c2VyQ29udGV4dENvbnRyb2xsZXIgX3JlbW90ZU9iamVjdFJlZ2lzdHJ5XTsKIH0KIAogQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367139</attachid>
            <date>2019-04-10 10:53:42 -0700</date>
            <delta_ts>2019-04-10 11:35:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196744-20190410105340.patch</filename>
            <type>text/plain</type>
            <size>12145</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQwNDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTA5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3RlT2JqZWN0
UmVnaXN0cnkgbWVzc2FnZSByZWNlaXZlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIFdlYlBhZ2U6
OmNsb3NlIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgZGVhbGxvYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzQ0CisgICAgICAg
IDxyZGFyOi8vNDk0MTUzMDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisK
KyAgICAgICAgVGhpcyBpcyBhIHNpbWlsYXIgcHJvYmxlbSB0byB0aGUgb25lIEkgZml4ZWQgaW4g
cjI0MTMwNiBzbyBJIHBpZ2d5LWJhY2tlZCBvbiB0aGUgc2FtZSB0ZXN0LgorICAgICAgICBXaGVu
IHlvdSBkbyBhIGNyb3NzIHNpdGUgbmF2aWdhdGlvbiBidXQgdGhlIHByZXZpb3VzIHBhZ2UgaXMg
aW4gYSBzdXNwZW5kZWQgcHJvY2VzcyB0aGVuIHlvdSBuYXZpZ2F0ZSBiYWNrLAorICAgICAgICB5
b3UgY2FuIGdldCB0d28gV2ViUGFnZSBvYmplY3RzIGluIHRoZSBzYW1lIHByb2Nlc3Mgd2l0aCB0
aGUgc2FtZSBJRHMuICBXZWJQYWdlOjpjbG9zZSBoYXMgYmVlbiBjYWxsZWQKKyAgICAgICAgb24g
dGhlIG9sZCBvbmUgd2hpY2ggaXMgc3VwcG9zZWQgdG8gbWFrZSBpdCBzbyBhbGwgdGhlIG1lc3Nh
Z2UgcmVjZWl2ZXJzIGFzc29jaWF0ZWQgd2l0aCBpdCBoYXZlIGJlZW4gcmVtb3ZlZAorICAgICAg
ICBzbyB3ZSBkb24ndCBoYXZlIGFueSBsb3NzIG9mIGNvbW11bmljYXRpb24sIGJ1dCB3ZSBtaXNz
ZWQgdGhlIFJlbW90ZU9iamVjdFJlZ2lzdHJ5IG1lc3NhZ2VzLCB3aGljaCBhcmUgb3duZWQKKyAg
ICAgICAgYnkgdGhlIE9iakMgYnVuZGxlIG9iamVjdCB3cmFwcGluZyB0aGUgV2ViUGFnZSAod2hp
Y2ggY2FuIGtlZXAgaXQgYWxpdmUgaWYgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIGl0IGlzIGhlbGQp
LgorICAgICAgICBUbyBmaXggdGhlIGFzc2VydGlvbiB0aGF0IGhhcHBlbnMgaW4gdGhpcyBjYXNl
IGFuZCB0aGUgcmVzdWx0aW5nIGNvbW11bmljYXRpb24gYnJlYWthZ2UsIHRlYWNoIHRoZSBXZWJQ
YWdlIGFib3V0CisgICAgICAgIHRoZXNlIG1lc3NhZ2VzIHNvIGl0IGNhbiB0ZWFyIGRvd24gdGhl
IG1lc3NhZ2UgcmVjZWl2ZXIgd2l0aCB0aGUgb3RoZXJzIGl0IHJlbW92ZXMgYXQgY2xvc2UgdGlt
ZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtX
S1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3JlbW90ZU9iamVjdFJl
Z2lzdHJ5XSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUmVtb3RlT2JqZWN0UmVnaXN0cnkp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6Y2xvc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisKIDIwMTktMDQtMDggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBGaXggc2VsZWN0b3IgbmFtZSBhZnRlciByMjQzODM0CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0
UmVnaXN0cnkuaAkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
L0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEyICsy
MywxMyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5k
ZWYgUmVtb3RlT2JqZWN0UmVnaXN0cnlfaAotI2RlZmluZSBSZW1vdGVPYmplY3RSZWdpc3RyeV9o
CisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
IlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha09iakNQdHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBPQkpDX0NM
QVNTIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogCkBAIC00Myw3ICs0NCw3IEBAIGNsYXNzIFVz
ZXJEYXRhOwogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAotY2xhc3MgUmVt
b3RlT2JqZWN0UmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewor
Y2xhc3MgUmVtb3RlT2JqZWN0UmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UmVtb3RlT2JqZWN0UmVnaXN0cnk+LCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbW90ZU9iamVjdFJlZ2lz
dHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICosIFdlYlBhZ2UmKTsKQEAgLTU1LDYgKzU2LDgg
QEAgcHVibGljOgogICAgIHZvaWQgc2VuZFJlcGx5QmxvY2sodWludDY0X3QgcmVwbHlJRCwgY29u
c3QgVXNlckRhdGEmIGJsb2NrSW52b2NhdGlvbik7CiAgICAgdm9pZCBzZW5kVW51c2VkUmVwbHko
dWludDY0X3QgcmVwbHlJRCk7CiAKKyAgICB2b2lkIGNsb3NlKCk7CisKIHByaXZhdGU6CiAgICAg
Ly8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwpAQCAtNjQsMTMgKzY3LDEzIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjYWxsUmVwbHlCbG9jayh1aW50NjRfdCByZXBseUlELCBjb25z
dCBVc2VyRGF0YSYgYmxvY2tJbnZvY2F0aW9uKTsKICAgICB2b2lkIHJlbGVhc2VVbnVzZWRSZXBs
eUJsb2NrKHVpbnQ2NF90IHJlcGx5SUQpOwogCi0gICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkg
Km1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CisgICAgV2Vha09iakNQdHI8X1dLUmVtb3RlT2JqZWN0
UmVnaXN0cnk+IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAgICAgSVBDOjpNZXNzYWdlU2VuZGVy
JiBtX21lc3NhZ2VTZW5kZXI7Ci0gICAgV1RGOjpGdW5jdGlvbjxQcm9jZXNzVGhyb3R0bGVyOjpC
YWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpPiBtX3Rha2VCYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbjsK
LSAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gbV9sYXVuY2hJbml0aWFsUHJvY2Vzc0lmTmVjZXNz
YXJ5OworICAgIEZ1bmN0aW9uPFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRv
a2VuKCk+IG1fdGFrZUJhY2tncm91bmRBY3Rpdml0eVRva2VuOworICAgIEZ1bmN0aW9uPHZvaWQo
KT4gbV9sYXVuY2hJbml0aWFsUHJvY2Vzc0lmTmVjZXNzYXJ5OwogICAgIEhhc2hNYXA8dWludDY0
X3QsIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRva2VuPiBtX3BlbmRpbmdS
ZXBsaWVzOworICAgIGJvb2wgbV9pc1JlZ2lzdGVyZWRBc01lc3NhZ2VSZWNlaXZlciB7IGZhbHNl
IH07CisgICAgdWludDY0X3QgbV9tZXNzYWdlUmVjZWl2ZXJJRCB7IDAgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUmVtb3RlT2JqZWN0UmVnaXN0cnlfaApJbmRl
eDogU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmpl
Y3RSZWdpc3RyeS5tbQkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAjaW1wb3J0ICJVc2VyRGF0YS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2lt
cG9ydCAiV2ViUGFnZVByb3h5LmgiCisjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJX
ZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgIl9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJu
YWwuaCIKIApAQCAtNDIsNyArNDMsMTEgQEAgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbW90ZU9i
amVjdFJlZ2lzdAogICAgIDogbV9yZW1vdGVPYmplY3RSZWdpc3RyeShyZW1vdGVPYmplY3RSZWdp
c3RyeSkKICAgICAsIG1fbWVzc2FnZVNlbmRlcihwYWdlKQogICAgICwgbV90YWtlQmFja2dyb3Vu
ZEFjdGl2aXR5VG9rZW4oW10geyByZXR1cm4gUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFj
dGl2aXR5VG9rZW4oKTsgfSkKKyAgICAsIG1faXNSZWdpc3RlcmVkQXNNZXNzYWdlUmVjZWl2ZXIo
dHJ1ZSkKKyAgICAsIG1fbWVzc2FnZVJlY2VpdmVySUQocGFnZS5wYWdlSUQoKSkKIHsKKyAgICBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90
ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fbWVzc2FnZVJlY2VpdmVy
SUQsICp0aGlzKTsKKyAgICBwYWdlLnNldFJlbW90ZU9iamVjdFJlZ2lzdHJ5KCp0aGlzKTsKIH0K
IAogUmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9i
amVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSwgV2ViUGFnZVByb3h5JiBwYWdlKQpA
QCAtNTMsOSArNTgsMTcgQEAgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbW90ZU9iamVjdFJlZ2lz
dAogewogfQogCi0KIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Ojp+UmVtb3RlT2JqZWN0UmVnaXN0cnko
KQogeworICAgIGNsb3NlKCk7Cit9CisKK3ZvaWQgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OmNsb3Nl
KCkKK3sKKyAgICBpZiAobV9pc1JlZ2lzdGVyZWRBc01lc3NhZ2VSZWNlaXZlcikgeworICAgICAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6
OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fbWVzc2FnZVJl
Y2VpdmVySUQpOworICAgICAgICBtX2lzUmVnaXN0ZXJlZEFzTWVzc2FnZVJlY2VpdmVyID0gZmFs
c2U7CisgICAgfQogfQogCiB2b2lkIFJlbW90ZU9iamVjdFJlZ2lzdHJ5OjpzZW5kSW52b2NhdGlv
bihjb25zdCBSZW1vdGVPYmplY3RJbnZvY2F0aW9uJiBpbnZvY2F0aW9uKQpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RS
ZWdpc3RyeS5tbQkocmV2aXNpb24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
L0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2
ICszNiw3IEBACiAjaW1wb3J0ICJXS1JlbW90ZU9iamVjdC5oIgogI2ltcG9ydCAiV0tSZW1vdGVP
YmplY3RDb2Rlci5oIgogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCisjaW1wb3J0ICJXZWJQ
YWdlLmgiCiAjaW1wb3J0ICJfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgPG9i
amMvcnVudGltZS5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCShy
ZXZpc2lvbiAyNDQwMzMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM1MCwxMCArMzUwLDggQEAgLSAodm9pZClzZXRMb2FkRGVsZWdh
dGU6KGlkIDxXS1dlYlByb2NlcwogCiAtICh2b2lkKWRlYWxsb2MKIHsKLSAgICBpZiAoX3JlbW90
ZU9iamVjdFJlZ2lzdHJ5KSB7Ci0gICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCkpOworICAgIGlmIChfcmVtb3Rl
T2JqZWN0UmVnaXN0cnkpCiAgICAgICAgIFtfcmVtb3RlT2JqZWN0UmVnaXN0cnkgX2ludmFsaWRh
dGVdOwotICAgIH0KIAogICAgIF9wYWdlLT5+V2ViUGFnZSgpOwogCkBAIC00MTYsMTAgKzQxNCw4
IEBAICsgKGluc3RhbmNldHlwZSlsb29rVXBCcm93c2luZ0NvbnRleHRGcm8KIAogLSAoX1dLUmVt
b3RlT2JqZWN0UmVnaXN0cnkgKilfcmVtb3RlT2JqZWN0UmVnaXN0cnkKIHsKLSAgICBpZiAoIV9y
ZW1vdGVPYmplY3RSZWdpc3RyeSkgeworICAgIGlmICghX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KQog
ICAgICAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBhZG9wdE5TKFtbX1dLUmVtb3RlT2JqZWN0
UmVnaXN0cnkgYWxsb2NdIF9pbml0V2l0aFdlYlBhZ2U6Kl9wYWdlXSk7Ci0gICAgICAgIFdlYktp
dDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpS
ZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlE
KCksIFtfcmVtb3RlT2JqZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVnaXN0cnldKTsKLSAgICB9
CiAKICAgICByZXR1cm4gX3JlbW90ZU9iamVjdFJlZ2lzdHJ5LmdldCgpOwogfQpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI0
NDAzMykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTQsNiArMjU0LDggQEAKICNpbmNsdWRlICJQREZQbHVnaW4uaCIK
ICNpbmNsdWRlICJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgor
I2luY2x1ZGUgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJUZXh0
Q2hlY2tpbmdDb250cm9sbGVyUHJveHkuaCIKICNpbmNsdWRlICJUb3VjaEJhck1lbnVEYXRhLmgi
CiAjaW5jbHVkZSAiVG91Y2hCYXJNZW51SXRlbURhdGEuaCIKQEAgLTEzNTgsNiArMTM2MCwxMCBA
QCB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBtX2lzUnVubmluZ01vZGFsID0gZmFsc2U7CiAK
ICAgICBhdXRvJiB3ZWJQcm9jZXNzID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCk7CisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgaWYgKG1fcmVtb3RlT2JqZWN0UmVnaXN0cnkpCisgICAgICAgIG1f
cmVtb3RlT2JqZWN0UmVnaXN0cnktPmNsb3NlKCk7CisjZW5kaWYKICNpZiBFTkFCTEUoQVNZTkNf
U0NST0xMSU5HKQogICAgIGlmIChtX3VzZUFzeW5jU2Nyb2xsaW5nKQogICAgICAgICB3ZWJQcm9j
ZXNzLmV2ZW50RGlzcGF0Y2hlcigpLnJlbW92ZVNjcm9sbGluZ1RyZWVGb3JQYWdlKHRoaXMpOwpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNp
b24gMjQ0MDMzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgY2xhc3MgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZwogY2xhc3MgUERGUGx1Z2luOwogY2xhc3MgUGFnZUJhbm5lcjsK
IGNsYXNzIFBsdWdpblZpZXc7CitjbGFzcyBSZW1vdGVPYmplY3RSZWdpc3RyeTsKIGNsYXNzIFJl
bW90ZVdlYkluc3BlY3RvclVJOwogY2xhc3MgVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5Owog
Y2xhc3MgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOwpAQCAtMTE3OSw2ICsxMTgw
LDggQEAgcHVibGljOgogICAgIFRleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eSYgdGV4dENoZWNr
aW5nQ29udHJvbGxlcigpIHsgcmV0dXJuIG1fdGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5Lmdl
dCgpOyB9CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0UmVtb3RlT2JqZWN0UmVnaXN0cnkoUmVtb3Rl
T2JqZWN0UmVnaXN0cnkmKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJ
RCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApAQCAtMTg4NSw2ICsxODg4LDkgQEAg
cHJpdmF0ZToKICAgICBPcHRpb25TZXQ8TGF5ZXJUcmVlRnJlZXplUmVhc29uPiBtX0xheWVyVHJl
ZUZyZWV6ZVJlYXNvbnM7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fbmVlZHNGb250QXR0cmlidXRlcyB7IGZhbHNlIH07CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgV2Vha1B0cjxSZW1vdGVPYmplY3RSZWdpc3RyeT4gbV9yZW1vdGVPYmplY3RSZWdpc3Ry
eTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1t
CShyZXZpc2lvbiAyNDQwMzMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDEwICsyNiwxMCBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAKLQogI2ltcG9ydCAiQXR0
cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlBs
dWdpblZpZXcuaCIKKyNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJX
ZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgi
CiAjaW1wb3J0IDxXZWJDb3JlL0RpY3Rpb25hcnlMb29rdXAuaD4KQEAgLTIyMiw2ICsyMjIsMTEg
QEAgdm9pZCBXZWJQYWdlOjpnZXRDb250ZW50c0FzQXR0cmlidXRlZFN0cgogICAgIGNvbXBsZXRp
b25IYW5kbGVyKHsgcmVzdWx0IH0pOwogfQogCit2b2lkIFdlYlBhZ2U6OnNldFJlbW90ZU9iamVj
dFJlZ2lzdHJ5KFJlbW90ZU9iamVjdFJlZ2lzdHJ5JiByZWdpc3RyeSkKK3sKKyAgICBtX3JlbW90
ZU9iamVjdFJlZ2lzdHJ5ID0gbWFrZVdlYWtQdHIocmVnaXN0cnkpOworfQorICAgIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NDEw
MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisy
MDE5LTA0LTA5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVtb3RlT2JqZWN0UmVnaXN0cnkgbWVzc2FnZSByZWNlaXZlciBzaG91bGQgYmUg
cmVtb3ZlZCB3aGVuIFdlYlBhZ2U6OmNsb3NlIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIHdhaXRpbmcg
dW50aWwgZGVhbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk2NzQ0CisgICAgICAgIDxyZGFyOi8vNDk0MTUzMDk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW06CisgICAgICAgICgtW0J1bmRsZVJldGFp
blBhZ2VQbHVnSW4gd2ViUHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRy
b2xsZXI6XSk6CisKIDIwMTktMDQtMDkgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgbWFpbnRlbmFuY2UgLS0gdXBkYXRlIC54Y2Zp
bGVsaXN0cy4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVu
ZGxlUmV0YWluUGFnZVBsdWdJbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW0JKHJldmlzaW9uIDI0
NDAzMykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUmV0
YWluUGFnZVBsdWdJbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAKICNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW4uaD4KKyNp
bXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJQ
cml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIEBpbnRlcmZhY2UgQnVuZGxl
UmV0YWluUGFnZVBsdWdJbiA6IE5TT2JqZWN0IDxXS1dlYlByb2Nlc3NQbHVnSW4+CkBAIC0zNiw2
ICszNyw3IEBAIEBpbnRlcmZhY2UgQnVuZGxlUmV0YWluUGFnZVBsdWdJbiA6IE5TT2IKIC0gKHZv
aWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJ
bkNvbnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xs
ZXIKIHsKICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9X
LCAwLjUgKiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcmV0YWlu
ZWRQYWdlID0gcmV0YWluUHRyKGJyb3dzZXJDb250ZXh0Q29udHJvbGxlcildIHsgfSk7CisgICAg
W2Jyb3dzZXJDb250ZXh0Q29udHJvbGxlciBfcmVtb3RlT2JqZWN0UmVnaXN0cnldOwogfQogCiBA
ZW5kCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>