<?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>158988</bug_id>
          
          <creation_ts>2016-06-21 09:45:48 -0700</creation_ts>
          <short_desc>Solve the confusion around blankURL() and isBlankURL() in URL</short_desc>
          <delta_ts>2018-10-12 12:21:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=158855</see_also>
          <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="John Wilander">wilander</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>rbuis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1204176</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-06-21 09:45:48 -0700</bug_when>
    <thetext>These two functions in URL are causing confusion:

const URL&amp; blankURL()
{
    static NeverDestroyed&lt;URL&gt; staticBlankURL(ParsedURLString, &quot;about:blank&quot;);
    return staticBlankURL;
}

bool URL::isBlankURL() const
{
    return protocolIs(&quot;about&quot;);
}

We should consolidate into one notion of a blank URL and make sure callers get what they are expecting. This might require a new isAboutURL() function or similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467581</commentid>
    <comment_count>1</comment_count>
      <attachid>351920</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-09 15:44:32 -0700</bug_when>
    <thetext>Created attachment 351920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467720</commentid>
    <comment_count>2</comment_count>
      <attachid>351963</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-10 08:36:37 -0700</bug_when>
    <thetext>Created attachment 351963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467753</commentid>
    <comment_count>3</comment_count>
      <attachid>351963</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-10-10 11:05:12 -0700</bug_when>
    <thetext>Comment on attachment 351963
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467754</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-10-10 11:06:43 -0700</bug_when>
    <thetext>CCing Dan Bates and Alex Christensen since Dan had opinions one about:blank previously and Alex wrote most of our URL logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468514</commentid>
    <comment_count>5</comment_count>
      <attachid>351963</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-12 11:52:02 -0700</bug_when>
    <thetext>Comment on attachment 351963
Patch

renaming will make it so we don&apos;t introduce more problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468526</commentid>
    <comment_count>6</comment_count>
      <attachid>351963</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 12:20:17 -0700</bug_when>
    <thetext>Comment on attachment 351963
Patch

Clearing flags on attachment: 351963

Committed r237073: &lt;https://trac.webkit.org/changeset/237073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468527</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 12:20:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468528</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-12 12:21:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/45233696&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351920</attachid>
            <date>2018-10-09 15:44:32 -0700</date>
            <delta_ts>2018-10-10 08:36:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158988-20181009184432.patch</filename>
            <type>text/plain</type>
            <size>21794</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJmNDI2OWUxYjlmMDU0
ZmRiOTA2MmJhNTJmMzVmMDI4ZTEyMmVmNy4uMTA2YjQ4ZTkyODMzNDUwOTliNWExMzdlNTVmMmYw
YjA3Mjk4NmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE4LTEwLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU29sdmUgdGhlIGNvbmZ1c2lvbiBh
cm91bmQgYmxhbmtVUkwoKSBhbmQgaXNCbGFua1VSTCgpIGluIFVSTAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4OTg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdHMgYXMgbm8gY2hhbmdlIGlu
IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6bG9hZEFwcGxpY2F0aW9uTWFuaWZlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnN0YXJ0SWNvbkxvYWRpbmcpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFRyZWF0QXNTYW1lT3JpZ2luTmF2aWdh
dGlvbik6CisgICAgICAgICogbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOYXZpZ2F0aW9uUG9saWN5KToKKyAgICAgICAgKiBs
b2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OmxvZ1VzZXJJbnRlcmFjdGlvbldpdGhSZWR1Y2VkVGltZVJlc29sdXRp
b24pOgorICAgICAgICAqIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZVNlcmlhbGl6ZXI6OlNlcmlhbGl6ZXJNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ3Vz
dG9tQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2VyaWFsaXplcjo6c2VyaWFs
aXplRnJhbWUpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5RGly
ZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JGcmFtZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVj
dGl2ZUZvck9iamVjdFNvdXJjZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vVVJMLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlVSTDo6cHJvdG9jb2xJc0Fib3V0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlVSTDo6aXNCbGFua1VSTCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXI6OmxvYWRGdWxsKToKKwogMjAxOC0xMC0wOSAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQ2xlYW51cCBFdmVudEhhbmRs
ZXI6OnBhc3NTdWJmcmFtZUV2ZW50VG9TdWJmcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQzYzM1NmM5YmM2
YzdjMTEzN2IxY2Y2NDZmMzFhMTY2Y2E5ZTZiNWUuLjhkODFhYmZjZDZhODg1MmZjZWI5OGQ5ZTY0
ZjYzNGYwOTBlMWRhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMTAtMDkgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTb2x2ZSB0aGUgY29uZnVzaW9u
IGFyb3VuZCBibGFua1VSTCgpIGFuZCBpc0JsYW5rVVJMKCkgaW4gVVJMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg5ODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwcm9jZXNz
Rm9yTmF2aWdhdGlvbkludGVybmFsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpsb2dVc2VySW50ZXJhY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsZWFyVXNlckludGVyYWN0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNIYWRVc2Vy
SW50ZXJhY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnNldExhc3RTZWVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpzZXRQcmV2YWxlbnRSZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0VmVyeVByZXZhbGVudFJlc291cmNlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjppc1ByZXZh
bGVudFJlc291cmNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjppc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xlYXJQcmV2YWxlbnRSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0R3JhbmRmYXRo
ZXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6
aXNHcmFuZGZhdGhlcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0RnJvbSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6c2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0RnJv
bSk6CisKIDIwMTgtMTAtMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViRHJpdmVyOiB0aHJvd24gT2JqQyBleGNlcHRpb24gdW5kZXIgLVtXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVyIHdpbmRvd0RpZEZhaWxUb0VudGVyRnVsbFNjcmVlbjpdIHdoZW4g
c2Vzc2lvbiBpcyB0ZXJtaW5hdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lm9yZGVyIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRleCBlNjkzMjc2NWEzZGNj
ZWE0MTM4YTg2MGI1ZTY5ZTRkNjdhOThlMDliLi4yMTk3NDdlMzY4NTFmMDI5MGZkNjM2MGZmODli
ZmRhNWZmOTUxNDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTMyMTMsNyArMzIxMyw3IEBAIF9f
Wk5LN1dlYkNvcmU4RG9jdW1lbnQzMWRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmdFUktO
M1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmU5RE9NV2luZG93MTZzZXREZWZhdWx0U3RhdHVzRVJL
TjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlOERvY3VtZW50NnNldFVSTEVSS05TXzRLVVJMRQog
X19aTjdXZWJDb3JlOERvY3VtZW50MTN1cGRhdGVCYXNlVVJMRXYKLV9fWk5LN1dlYkNvcmU0S1VS
TDEwaXNCbGFua1VSTEV2CitfX1pOSzdXZWJDb3JlNEtVUkwxMHByb3RvY29sSXNBYm91dEV2CiBf
X1pON1dlYkNvcmU4RG9jdW1lbnQxN3Rha2VET01XaW5kb3dGcm9tRVBTMF8KIF9fWk43V2ViQ29y
ZTlET01XaW5kb3cyMWRpZFNlY3VyZVRyYW5zaXRpb25Ub0VQTlNfOERvY3VtZW50RQogX19aTjdX
ZWJDb3JlMjZDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjE0b2JzZXJ2ZUNvbnRleHRFUE5TXzIy
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCmluZGV4IDY2ZmQ2YTg2YTg0NWFkNGRmMWIwZTA1YmNhZDc1YzIwMzIzNDgxY2EuLjY2
MGIxMGRjMzg5NGMwZGRjM2ViNmM4NzNjMzY2M2UyMGY1NDA5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTIxOSw3ICsxMjE5LDcgQEAgdWludDY0X3Qg
RG9jdW1lbnRMb2FkZXI6OmxvYWRBcHBsaWNhdGlvbk1hbmlmZXN0KCkKICAgICBpZiAoIW1fZnJh
bWUtPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKGRvY3VtZW50
LT51cmwoKS5pc0VtcHR5KCkgfHwgZG9jdW1lbnQtPnVybCgpLmlzQmxhbmtVUkwoKSkKKyAgICBp
ZiAoZG9jdW1lbnQtPnVybCgpLmlzRW1wdHkoKSB8fCBkb2N1bWVudC0+dXJsKCkucHJvdG9jb2xJ
c0Fib3V0KCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBoZWFkID0gZG9jdW1lbnQt
PmhlYWQoKTsKQEAgLTE5MTMsNyArMTkxMyw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0
SWNvbkxvYWRpbmcoKQogICAgIGlmICghbV9mcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgaWYgKGRvY3VtZW50LT51cmwoKS5pc0VtcHR5KCkgfHwgZG9jdW1lbnQt
PnVybCgpLmlzQmxhbmtVUkwoKSkKKyAgICBpZiAoZG9jdW1lbnQtPnVybCgpLmlzRW1wdHkoKSB8
fCBkb2N1bWVudC0+dXJsKCkucHJvdG9jb2xJc0Fib3V0KCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIG1fbGlua0ljb25zID0gTGlua0ljb25Db2xsZWN0b3IgeyAqZG9jdW1lbnQgfS5pY29uc09m
VHlwZXMoeyBMaW5rSWNvblR5cGU6OkZhdmljb24sIExpbmtJY29uVHlwZTo6VG91Y2hJY29uLCBM
aW5rSWNvblR5cGU6OlRvdWNoUHJlY29tcG9zZWRJY29uIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCmluZGV4IGIyZGIwMDY1MGZmYjE0YzEzNDE0MTczNmVl
ODY1YzVkODY3ZDNiNTQuLmU2YTQ5MGIxZDZkYWFjZWQ1NjgyNTg4ZDBjODBmN2QyZGY5ODAwNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAKQEAgLTc0LDcg
Kzc0LDcgQEAgTmF2aWdhdGlvbkFjdGlvbiYgTmF2aWdhdGlvbkFjdGlvbjo6b3BlcmF0b3I9KE5h
dmlnYXRpb25BY3Rpb24mJikgPSBkZWZhdWx0OwogCiBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdEFz
U2FtZU9yaWdpbk5hdmlnYXRpb24oY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBVUkwm
IHVybCkKIHsKLSAgICByZXR1cm4gdXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwucHJvdG9jb2xJc0Rh
dGEoKSB8fCAodXJsLnByb3RvY29sSXNCbG9iKCkgJiYgZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4o
KS5jYW5SZXF1ZXN0KHVybCkpOworICAgIHJldHVybiB1cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwg
dXJsLnByb3RvY29sSXNEYXRhKCkgfHwgKHVybC5wcm90b2NvbElzQmxvYigpICYmIGRvY3VtZW50
LnNlY3VyaXR5T3JpZ2luKCkuY2FuUmVxdWVzdCh1cmwpKTsKIH0KIAogc3RhdGljIHN0ZDo6b3B0
aW9uYWw8TmF2aWdhdGlvbkFjdGlvbjo6VUlFdmVudFdpdGhLZXlTdGF0ZURhdGE+IGtleVN0YXRl
RGF0YUZvckZpcnN0RXZlbnRXaXRoS2V5U3RhdGUoRXZlbnQqIGV2ZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwCmluZGV4IGFhMWExZjQyYTM4YTBjNjU4NWQ3MGU5Njcz
MmNlY2U1MDc4OTgzMDEuLjYzZjQzOTg4MmE2ZTM4NDg4MGQ5NWJiMDdhNjA2ZDBmOWZlMzI5YjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAKQEAgLTE0MSw3ICsxNDEs
NyBAQCB2b2lkIFBvbGljeUNoZWNrZXI6OmNoZWNrTmF2aWdhdGlvblBvbGljeShSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0LCBjb25zdCBSZXNvdQogICAgIGxvYWRlci0+c2V0TGFzdENoZWNrZWRS
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdChyZXF1ZXN0KSk7CiAKICAgICAvLyBJbml0aWFsICdhYm91
dDpibGFuaycgbG9hZCBuZWVkcyB0byBoYXBwZW4gc3luY2hyb25vdXNseSBzbyB0aGUgcG9saWN5
IGNoZWNrIG5lZWRzIHRvIGJlIHN5bmNocm9ub3VzIGluIHRoaXMgY2FzZS4KLSAgICBpZiAoIW1f
ZnJhbWUubG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuY29tbWl0dGVkRmlyc3RSZWFsRG9jdW1lbnRM
b2FkKCkgJiYgcmVxdWVzdC51cmwoKS5pc0JsYW5rVVJMKCkgJiYgIXN1YnN0aXR1dGVEYXRhLmlz
VmFsaWQoKSkKKyAgICBpZiAoIW1fZnJhbWUubG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuY29tbWl0
dGVkRmlyc3RSZWFsRG9jdW1lbnRMb2FkKCkgJiYgcmVxdWVzdC51cmwoKS5wcm90b2NvbElzQWJv
dXQoKSAmJiAhc3Vic3RpdHV0ZURhdGEuaXNWYWxpZCgpKQogICAgICAgICBwb2xpY3lEZWNpc2lv
bk1vZGUgPSBQb2xpY3lEZWNpc2lvbk1vZGU6OlN5bmNocm9ub3VzOwogCiAjaWYgVVNFKFFVSUNL
X0xPT0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNw
cAppbmRleCA3YmRmYzQ4ZjVkNDA1OWJlNmFiOGJiOWEyNWViMDgzNTBlODkwMTk5Li5hNzNmY2Zh
MjczZjlkZDhkOWZiYzY4MTllYzJhMjkwZGIzMWQzM2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKQEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lk
IFJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dVc2VySW50ZXJhY3Rpb25XaXRoUmVkdWNlZFRpbWVS
ZXNvbHV0aW9uKGNvbnN0IERvYwogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvJiB1cmwgPSBk
b2N1bWVudC51cmwoKTsKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0eSgp
KQorICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgYXV0byBkb21haW4gPSBwcmltYXJ5RG9tYWluKHVybCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCmluZGV4IDNjYWEzODI4ODE2OWQ2N2YxYmZl
YjllNzczMDg0NmVhMmExMDJjZDYuLjZmNzI3MDhjZjA0MjE2MDY0MjU3NGE5OTE3Y2U5ZTA3ZWVk
NGJkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCkBAIC0xNTAsNyAr
MTUwLDcgQEAgdm9pZCBQYWdlU2VyaWFsaXplcjo6U2VyaWFsaXplck1hcmt1cEFjY3VtdWxhdG9y
OjphcHBlbmRDdXN0b21BdHRyaWJ1dGVzKFN0cmluZ0IKICAgICAgICAgcmV0dXJuOwogCiAgICAg
VVJMIHVybCA9IGZyYW1lLT5kb2N1bWVudCgpLT51cmwoKTsKLSAgICBpZiAodXJsLmlzVmFsaWQo
KSAmJiAhdXJsLmlzQmxhbmtVUkwoKSkKKyAgICBpZiAodXJsLmlzVmFsaWQoKSAmJiAhdXJsLnBy
b3RvY29sSXNBYm91dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBXZSBuZWVkIHRvIGdp
dmUgYSBmYWtlIGxvY2F0aW9uIHRvIGJsYW5rIGZyYW1lcyBzbyB0aGV5IGNhbiBiZSByZWZlcmVu
Y2VkIGJ5IHRoZSBzZXJpYWxpemVkIGZyYW1lLgpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUGFn
ZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1lKEZyYW1lKiBmcmFtZSkKIHsKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKICAgICBVUkwgdXJsID0gZG9jdW1lbnQt
PnVybCgpOwotICAgIGlmICghdXJsLmlzVmFsaWQoKSB8fCB1cmwuaXNCbGFua1VSTCgpKSB7Cisg
ICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IHVybC5wcm90b2NvbElzQWJvdXQoKSkgewogICAgICAg
ICAvLyBGb3IgYmxhbmsgZnJhbWVzIHdlIGdlbmVyYXRlIGEgZmFrZSBVUkwgc28gdGhleSBjYW4g
YmUgcmVmZXJlbmNlZCBieSB0aGVpciBjb250YWluaW5nIGZyYW1lLgogICAgICAgICB1cmwgPSB1
cmxGb3JCbGFua0ZyYW1lKGZyYW1lKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3Bw
CmluZGV4IDJiN2UxYmY1ZTBhZmQ4YWM0MDRjMzE0YWNiN2U5NTUyMWI1NTAwNjQuLmRkYmQ4Y2Rl
Mjc4MGU5MmRiYTIwZTBhYmQ5OWNmMDQ5ODQzZjRjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxp
c3QuY3BwCkBAIC0yNDAsNyArMjQwLDcgQEAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGly
ZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXQKIAogY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQb2xpY3lE
aXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvckZyYW1lKGNvbnN0IFVSTCYgdXJsLCBi
b29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25zdAogewotICAgIGlmICh1cmwuaXNC
bGFua1VSTCgpKQorICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCiAgICAgLy8gV2UgbXVzdCBlbmZvcmNlIHRoZSBmcmFtZS1zcmMgZGlyZWN0
aXZlIChpZiBzcGVjaWZpZWQpIGJlZm9yZSBlbmZvcmNpbmcgdGhlIGNoaWxkLXNyYyBkaXJlY3Rp
dmUgZm9yIGEgbmVzdGVkIGJyb3dzaW5nCkBAIC0yOTMsNyArMjkzLDcgQEAgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVM
aXN0Ojp2aW9sYXQKIAogY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250
ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvck9iamVj
dFNvdXJjZShjb25zdCBVUkwmIHVybCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSwg
Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6U2hvdWxkQWxsb3dFbXB0
eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSBzaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0
RW1wdHkpIGNvbnN0CiB7Ci0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCisgICAgaWYgKHVybC5w
cm90b2NvbElzQWJvdXQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQ29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZSogb3BlcmF0aXZlRGlyZWN0aXZlID0gdGhp
cy0+b3BlcmF0aXZlRGlyZWN0aXZlKG1fb2JqZWN0U3JjLmdldCgpKTsKICAgICBpZiAoY2hlY2tT
b3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlLCB1cmwsIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNl
LCBzaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0RW1wdHkpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TC5jcHAKaW5kZXggYmRiNDY4Njk1OGYzMDAwOTMzMzQ0MzE4OTQ3N2E5ZDQ1ZjRmNWQ4OC4uZjI5
OTM3MjYxYTE0MTcwMmY5ZWM4YTc5YmZlMGZhNDVkZWEzNzIxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
UkwuY3BwCkBAIC04NjUsNyArODY1LDcgQEAgY29uc3QgVVJMJiBibGFua1VSTCgpCiAgICAgcmV0
dXJuIHN0YXRpY0JsYW5rVVJMOwogfQogCi1ib29sIFVSTDo6aXNCbGFua1VSTCgpIGNvbnN0Citi
b29sIFVSTDo6cHJvdG9jb2xJc0Fib3V0KCkgY29uc3QKIHsKICAgICByZXR1cm4gcHJvdG9jb2xJ
cygiYWJvdXQiKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmgKaW5kZXggY2YwZTM4YTcxYjYxYjRmZGE4
MTZiNzRkNTMzOTM1ZGY0MzFiNjZkOS4uOGE4MThiYTVkZGU3NTlmYmNmMGU5MDVmNGE5ZjUxNTdk
YjgxNjYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmgKQEAgLTEzNSw5ICsxMzUsOSBAQCBwdWJsaWM6
CiAgICAgYm9vbCBwcm90b2NvbElzKFN0cmluZ1ZpZXcpIGNvbnN0OwogICAgIGJvb2wgcHJvdG9j
b2xJc0Jsb2IoKSBjb25zdCB7IHJldHVybiBwcm90b2NvbElzKCJibG9iIik7IH0KICAgICBib29s
IHByb3RvY29sSXNEYXRhKCkgY29uc3QgeyByZXR1cm4gcHJvdG9jb2xJcygiZGF0YSIpOyB9Cisg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBwcm90b2NvbElzQWJvdXQoKSBjb25zdDsKICAgICBib29s
IHByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGlzTG9jYWxGaWxlKCkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0JsYW5rVVJM
KCkgY29uc3Q7CiAgICAgYm9vbCBjYW5ub3RCZUFCYXNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5ub3RCZUFCYXNlVVJMOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzTWF0Y2hpbmdE
b21haW4oY29uc3QgU3RyaW5nJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGYwZTRjYWU2ZTUyMzYwYjY2M2FmMjFmZmNhNTFk
ZWNkYmQxZWEyOGUuLjExNTcwZGRjMGQ5ODc0NzJkZDZhOGQ3M2E3ZTFkZGFhMDkyZjYyMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0y
NjIsNyArMjYyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWRGdWxs
KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBnY2hhcioKICAgICAgICAgcmV0dXJuOwog
CiAgICAgVVJMIHVybChVUkwoKSwgdXJsU3RyaW5nKTsKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwo
KSkKKyAgICBpZiAodXJsLnByb3RvY29sSXNBYm91dCgpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBpZiAoIW1fcGlwZWxpbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDFjNjg4OWVhNjQ4Y2NhY2YwOGFj
MTRiZTdiNmM1MmNhM2IwM2QzNi4uZWNjMDQ3ZmY1MmE5ODllOGRiMzY5YjFmMTFmMGNkYTJlNjk2
ODY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNjc3LDcgKzY3Nyw3IEBAIHZvaWQgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdS
ZXF1ZXN0CiAKICAgICBpZiAobV9uZXR3b3JrTG9hZENoZWNrZXIpIHsKICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBiZSBkb2luZyB0aGlzIGNoZWNrIHdoZW4gcmVjZWl2aW5nIHRoZSByZWRp
cmVjdGlvbiBhbmQgbm90IGFsbG93IGFib3V0IHByb3RvY29sIGFzIHBlciBmZXRjaCBzcGVjLgot
ICAgICAgICBpZiAoIW5ld1JlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpICYm
ICFuZXdSZXF1ZXN0LnVybCgpLmlzQmxhbmtVUkwoKSAmJiBtX3JlZGlyZWN0Q291bnQpIHsKKyAg
ICAgICAgaWYgKCFuZXdSZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSAmJiAh
bmV3UmVxdWVzdC51cmwoKS5wcm90b2NvbElzQWJvdXQoKSAmJiBtX3JlZGlyZWN0Q291bnQpIHsK
ICAgICAgICAgICAgIGRpZEZhaWxMb2FkaW5nKFJlc291cmNlRXJyb3IgeyBTdHJpbmcgeyB9LCAw
LCBuZXdSZXF1ZXN0LnVybCgpLCAiUmVkaXJlY3Rpb24gdG8gVVJMIHdpdGggYSBzY2hlbWUgdGhh
dCBpcyBub3QgSFRUUChTKSJfcywgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCB9
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGVmYmMyMmJjYjI4MWRmM2QwNjI5Y2M5YmY3NmIx
MTc0MmFhYzQ0Y2IuLjBjZmQxMzg4MjE4MjhjMWU5ZjM1NGFhNzU5ZjYwYmUxZTk1OTRjYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTIxNDksNyAr
MjE0OSw3IEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9y
TmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYKICAgICAgICAgICAgIFJFTEVBU0VfTE9H
KFByb2Nlc3NTd2FwcGluZywgIlVzaW5nIHJlbGF0ZWQgcGFnZSAlcCdzIFVSTCBhcyBzb3VyY2Ug
VVJMIGZvciBwcm9jZXNzIHN3YXAgZGVjaXNpb24iLCBwYWdlLmNvbmZpZ3VyYXRpb24oKS5yZWxh
dGVkUGFnZSgpKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQo
KSB8fCAhdGFyZ2V0VVJMLmlzVmFsaWQoKSB8fCBzb3VyY2VVUkwuaXNFbXB0eSgpIHx8IHNvdXJj
ZVVSTC5pc0JsYW5rVVJMKCkgfHwgcmVnaXN0cmFibGVEb21haW5zQXJlRXF1YWwoc291cmNlVVJM
LCB0YXJnZXRVUkwpKSB7CisgICAgICAgIGlmICghc291cmNlVVJMLmlzVmFsaWQoKSB8fCAhdGFy
Z2V0VVJMLmlzVmFsaWQoKSB8fCBzb3VyY2VVUkwuaXNFbXB0eSgpIHx8IHNvdXJjZVVSTC5wcm90
b2NvbElzQWJvdXQoKSB8fCByZWdpc3RyYWJsZURvbWFpbnNBcmVFcXVhbChzb3VyY2VVUkwsIHRh
cmdldFVSTCkpIHsKICAgICAgICAgICAgIHJlYXNvbiA9ICJOYXZpZ2F0aW9uIGlzIHNhbWUtc2l0
ZSJfczsKICAgICAgICAgICAgIHJldHVybiBwYWdlLnByb2Nlc3MoKTsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5jcHAKaW5kZXggMzE3ODM2YjQyZmY2NzRlNTdiNGNiZWFlZTg3MWRmMTM0N2Vl
NzVmNC4uZDU4MTQ4NjE1NWUzMjE3MjIyYTQwMzU1MWMwZjNmNWUzM2QxZWU2OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwCkBAIC00MDEsNyArNDAxLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OmxvZ1VzZXJJbnRlcmFjdGlvbihjb25zdCBVUkwmIHVybCwgQ29tcGxldGkK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0JsYW5r
VVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkg
fHwgdXJsLmlzRW1wdHkoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtNDE3LDcgKzQxNyw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpjbGVhclVzZXJJbnRlcmFjdGlvbihjb25zdCBVUkwmIHVybCwgQ29t
cGxlCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmICh1cmwuaXNC
bGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKKyAgICBpZiAodXJsLnByb3RvY29sSXNBYm91
dCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQzMyw3ICs0MzMsNyBAQCB2b2lkIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFVSTCYgdXJs
LCBDb21wbAogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBpZiAodXJs
LmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CisgICAgaWYgKHVybC5wcm90b2NvbElz
QWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZh
bHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ1MCw3ICs0NTAsNyBAQCB2b2lkIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0TGFzdFNlZW4oY29uc3QgVVJMJiB1cmws
IFNlY29uZHMgc2Vjb25kcwogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAg
ICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CisgICAgaWYgKHVybC5w
cm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00NjYsNyArNDY2LDcgQEAgdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFByZXZhbGVudFJlc291cmNlKGNv
bnN0IFVSTCYgdXJsLCBDb21wbGUKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwog
Ci0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1
cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkgewogICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDgyLDcgKzQ4Miw3IEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRWZXJ5UHJldmFsZW50UmVz
b3VyY2UoY29uc3QgVVJMJiB1cmwsIENvCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigp
KTsKIAotICAgIGlmICh1cmwuaXNCbGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKKyAgICBp
ZiAodXJsLnByb3RvY29sSXNBYm91dCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTUxMCw3ICs1MTAs
NyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aXNQcmV2YWxlbnRSZXNv
dXJjZShjb25zdCBVUkwmIHVybCwgQ29tcGxldAogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7CiAKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0eSgpKSB7Cisg
ICAgaWYgKHVybC5wcm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CiAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTUy
Nyw3ICs1MjcsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aXNWZXJ5
UHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJiB1cmwsIENvbQogewogICAgIEFTU0VSVChSdW5M
b29wOjppc01haW4oKSk7CiAKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0
eSgpKSB7CisgICAgaWYgKHVybC5wcm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKSB7
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTU4MCw3ICs1ODAsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6Y2xlYXJQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBVUkwmIHVybCwgQ29tcAogewogICAgIEFT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1
cmwuaXNFbXB0eSgpKSB7CisgICAgaWYgKHVybC5wcm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNF
bXB0eSgpKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC01OTYsNyArNTk2LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiB1cmwsIGJvb2wgdmFsdWUKIHsKICAg
ICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkg
fHwgdXJsLmlzRW1wdHkoKSkKKyAgICBpZiAodXJsLnByb3RvY29sSXNBYm91dCgpIHx8IHVybC5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcmltYXJ5
RG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHVybCksIHZhbHVlXSB7CkBAIC02MDksNyAr
NjA5LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmlzR3JhbmRmYXRo
ZXJlZChjb25zdCBVUkwmIHVybCwgQ29tcGxldGlvbkgKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkg
eworICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkgewogICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC02MjYsNyArNjI2LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHMKIHsKICAgICBBU1NFUlQo
UnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHN1YmZyYW1lLmlzQmxhbmtVUkwoKSB8fCBz
dWJmcmFtZS5pc0VtcHR5KCkgfHwgdG9wRnJhbWUuaXNCbGFua1VSTCgpIHx8IHRvcEZyYW1lLmlz
RW1wdHkoKSkKKyAgICBpZiAoc3ViZnJhbWUucHJvdG9jb2xJc0Fib3V0KCkgfHwgc3ViZnJhbWUu
aXNFbXB0eSgpIHx8IHRvcEZyYW1lLnByb3RvY29sSXNBYm91dCgpIHx8IHRvcEZyYW1lLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcG9zdFRhc2soW3RoaXMsIHByaW1hcnlUb3BG
cmFtZURvbWFpbiA9IGlzb2xhdGVkUHJpbWFyeURvbWFpbih0b3BGcmFtZSksIHByaW1hcnlTdWJG
cmFtZURvbWFpbiA9IGlzb2xhdGVkUHJpbWFyeURvbWFpbihzdWJmcmFtZSldIHsKQEAgLTYzOSw3
ICs2MzksNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0U3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFVSTAogewogICAgIEFTU0VSVChSdW5Mb29w
Ojppc01haW4oKSk7CiAKLSAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJl
c291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNF
bXB0eSgpKQorICAgIGlmIChzdWJyZXNvdXJjZS5wcm90b2NvbElzQWJvdXQoKSB8fCBzdWJyZXNv
dXJjZS5pc0VtcHR5KCkgfHwgdG9wRnJhbWUucHJvdG9jb2xJc0Fib3V0KCkgfHwgdG9wRnJhbWUu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBwb3N0VGFzayhbdGhpcywgcHJpbWFy
eVRvcEZyYW1lRG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHRvcEZyYW1lKSwgcHJpbWFy
eVN1YnJlc291cmNlRG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKV0g
ewpAQCAtNjUyLDcgKzY1Miw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzCiB7CiAgICAgQVNT
RVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJM
KCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxh
bmtVUkwoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisgICAgaWYgKHN1YnJl
c291cmNlLnByb3RvY29sSXNBYm91dCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0
TmFtZVJlZGlyZWN0ZWRUby5wcm90b2NvbElzQWJvdXQoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRU
by5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcmlt
YXJ5UmVkaXJlY3REb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4oaG9zdE5hbWVSZWRpcmVj
dGVkVG8pLCBwcmltYXJ5U3VicmVzb3VyY2VEb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4o
c3VicmVzb3VyY2UpXSB7CkBAIC02NjUsNyArNjY1LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RGcm9tKGNvbnN0IFVS
TCYKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHN1YnJlc291
cmNlLmlzQmxhbmtVUkwoKSB8fCBzdWJyZXNvdXJjZS5pc0VtcHR5KCkgfHwgaG9zdE5hbWVSZWRp
cmVjdGVkRnJvbS5pc0JsYW5rVVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkRnJvbS5pc0VtcHR5
KCkpCisgICAgaWYgKHN1YnJlc291cmNlLnByb3RvY29sSXNBYm91dCgpIHx8IHN1YnJlc291cmNl
LmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRGcm9tLnByb3RvY29sSXNBYm91dCgpIHx8
IGhvc3ROYW1lUmVkaXJlY3RlZEZyb20uaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgcG9zdFRhc2soW3RoaXMsIHByaW1hcnlSZWRpcmVjdERvbWFpbiA9IGlzb2xhdGVkUHJp
bWFyeURvbWFpbihob3N0TmFtZVJlZGlyZWN0ZWRGcm9tKSwgcHJpbWFyeVN1YnJlc291cmNlRG9t
YWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKV0gewpAQCAtNjc4LDcgKzY3
OCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiB0b3BGCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6Omlz
TWFpbigpKTsKIAotICAgIGlmICh0b3BGcmFtZUhvc3ROYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BG
cmFtZUhvc3ROYW1lLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5rVVJM
KCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgIGlmICh0b3BGcmFtZUhv
c3ROYW1lLnByb3RvY29sSXNBYm91dCgpIHx8IHRvcEZyYW1lSG9zdE5hbWUuaXNFbXB0eSgpIHx8
IGhvc3ROYW1lUmVkaXJlY3RlZFRvLnByb3RvY29sSXNBYm91dCgpIHx8IGhvc3ROYW1lUmVkaXJl
Y3RlZFRvLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIHBvc3RUYXNrKFt0
aGlzLCBwcmltYXJ5UmVkaXJlY3REb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4oaG9zdE5h
bWVSZWRpcmVjdGVkVG8pLCB0b3BGcmFtZVByaW1hcnlEb21haW4gPSBpc29sYXRlZFByaW1hcnlE
b21haW4odG9wRnJhbWVIb3N0TmFtZSldIHsKQEAgLTY5MSw3ICs2OTEsNyBAQCB2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20o
Y29uc3QgVVJMJiB0bwogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBp
ZiAodG9wRnJhbWVIb3N0TmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWVIb3N0TmFtZS5pc0Vt
cHR5KCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkRnJvbS5pc0JsYW5rVVJMKCkgfHwgaG9zdE5hbWVS
ZWRpcmVjdGVkRnJvbS5pc0VtcHR5KCkpCisgICAgaWYgKHRvcEZyYW1lSG9zdE5hbWUucHJvdG9j
b2xJc0Fib3V0KCkgfHwgdG9wRnJhbWVIb3N0TmFtZS5pc0VtcHR5KCkgfHwgaG9zdE5hbWVSZWRp
cmVjdGVkRnJvbS5wcm90b2NvbElzQWJvdXQoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRGcm9tLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcmlt
YXJ5UmVkaXJlY3REb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4oaG9zdE5hbWVSZWRpcmVj
dGVkRnJvbSksIHRvcEZyYW1lUHJpbWFyeURvbWFpbiA9IGlzb2xhdGVkUHJpbWFyeURvbWFpbih0
b3BGcmFtZUhvc3ROYW1lKV0gewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351963</attachid>
            <date>2018-10-10 08:36:37 -0700</date>
            <delta_ts>2018-10-12 12:20:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158988-20181010113636.patch</filename>
            <type>text/plain</type>
            <size>21996</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJmNDI2OWUxYjlmMDU0
ZmRiOTA2MmJhNTJmMzVmMDI4ZTEyMmVmNy4uNDJlY2ZmMGNmNzM0MjJjZDA5OGVjY2FlNmI0Njhk
OWQ1NDdjNGZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTEwLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU29sdmUgdGhlIGNvbmZ1c2lvbiBh
cm91bmQgYmxhbmtVUkwoKSBhbmQgaXNCbGFua1VSTCgpIGluIFVSTAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4OTg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG5hbWUgaXNCbGFua1VSTCBpcyBu
b3QgYWNjdXJhdGUgYXMgdGhlIGZ1bmN0aW9uIHRlc3RzIHRoZQorICAgICAgICBwcm90b2NvbCwg
bm90IHRoZSBmdWxsIFVSTC4gQ2hvb3NlIHByb3RvY29sSXNBYm91dCB0byBhbGlnbiB3aXRoCisg
ICAgICAgIGV4aXNpdGluZyBwcm90b2NvbElzRGF0YSwgcHJvdG9jb2xJc0Jsb2IgZXRjLgorCisg
ICAgICAgIE5vIHRlc3RzIGFzIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisgICAgICAg
ICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmxvYWRBcHBsaWNhdGlvbk1hbmlmZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdGFydEljb25Mb2FkaW5nKToK
KyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzaG91bGRUcmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24pOgorICAgICAgICAqIGxvYWRlci9Q
b2xpY3lDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvbGljeUNoZWNrZXI6OmNoZWNr
TmF2aWdhdGlvblBvbGljeSk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dVc2VySW50
ZXJhY3Rpb25XaXRoUmVkdWNlZFRpbWVSZXNvbHV0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VT
ZXJpYWxpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVyOjpTZXJpYWxp
emVyTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEN1c3RvbUF0dHJpYnV0ZXMpOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1lKToKKyAgICAgICAgKiBwYWdl
L2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0
aXZlRm9yRnJhbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JPYmplY3RTb3VyY2UgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL1VSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVUkw6OnBy
b3RvY29sSXNBYm91dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpVUkw6OmlzQmxhbmtVUkwg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL1VSTC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkRnVs
bCk6CisKIDIwMTgtMTAtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIENsZWFudXAgRXZlbnRIYW5kbGVyOjpwYXNzU3ViZnJhbWVFdmVudFRvU3Vi
ZnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBkM2MzNTZjOWJjNmM3YzExMzdiMWNmNjQ2ZjMxYTE2NmNhOWU2
YjVlLi44ZDgxYWJmY2Q2YTg4NTJmY2ViOThkOWU2NGY2MzRmMDkwZTFkYTgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDMzIEBACisyMDE4LTEwLTA5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+
CisKKyAgICAgICAgU29sdmUgdGhlIGNvbmZ1c2lvbiBhcm91bmQgYmxhbmtVUkwoKSBhbmQgaXNC
bGFua1VSTCgpIGluIFVSTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU4OTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1
ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb25JbnRlcm5hbCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6bG9nVXNlcklu
dGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpjbGVhclVzZXJJbnRlcmFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzSGFkVXNlckludGVyYWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRMYXN0U2Vlbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0UHJldmFsZW50
UmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OnNldFZlcnlQcmV2YWxlbnRSZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aXNQcmV2YWxlbnRSZXNvdXJjZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aXNWZXJ5UHJldmFsZW50UmVz
b3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OmNsZWFyUHJldmFsZW50UmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnNldEdyYW5kZmF0aGVyZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmlzR3JhbmRmYXRoZXJlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAo
V2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdEZyb20pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6c2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20pOgorCiAyMDE4LTEwLTA5ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogdGhyb3duIE9i
akMgZXhjZXB0aW9uIHVuZGVyIC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlciB3aW5kb3dE
aWRGYWlsVG9FbnRlckZ1bGxTY3JlZW46XSB3aGVuIHNlc3Npb24gaXMgdGVybWluYXRlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUub3JkZXIKaW5kZXggZTY5MzI3NjVhM2RjY2VhNDEzOGE4NjBiNWU2OWU0ZDY3YTk4ZTA5
Yi4uMjE5NzQ3ZTM2ODUxZjAyOTBmZDYzNjBmZjg5YmZkYTVmZjk1MTQ3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lm9yZGVyCkBAIC0zMjEzLDcgKzMyMTMsNyBAQCBfX1pOSzdXZWJDb3JlOERvY3VtZW50MzFkaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
OURPTVdpbmRvdzE2c2V0RGVmYXVsdFN0YXR1c0VSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZThEb2N1bWVudDZzZXRVUkxFUktOU180S1VSTEUKIF9fWk43V2ViQ29yZThEb2N1bWVudDEzdXBk
YXRlQmFzZVVSTEV2Ci1fX1pOSzdXZWJDb3JlNEtVUkwxMGlzQmxhbmtVUkxFdgorX19aTks3V2Vi
Q29yZTRLVVJMMTBwcm90b2NvbElzQWJvdXRFdgogX19aTjdXZWJDb3JlOERvY3VtZW50MTd0YWtl
RE9NV2luZG93RnJvbUVQUzBfCiBfX1pON1dlYkNvcmU5RE9NV2luZG93MjFkaWRTZWN1cmVUcmFu
c2l0aW9uVG9FUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTI2Q29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXIxNG9ic2VydmVDb250ZXh0RVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA2NmZkNmE4NmE4NDVh
ZDRkZjFiMGUwNWJjYWQ3NWMyMDMyMzQ4MWNhLi42NjBiMTBkYzM4OTRjMGRkYzNlYjZjODczYzM2
NjNlMjBmNTQwOTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
QEAgLTEyMTksNyArMTIxOSw3IEBAIHVpbnQ2NF90IERvY3VtZW50TG9hZGVyOjpsb2FkQXBwbGlj
YXRpb25NYW5pZmVzdCgpCiAgICAgaWYgKCFtX2ZyYW1lLT5pc01haW5GcmFtZSgpKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIGlmIChkb2N1bWVudC0+dXJsKCkuaXNFbXB0eSgpIHx8IGRvY3Vt
ZW50LT51cmwoKS5pc0JsYW5rVVJMKCkpCisgICAgaWYgKGRvY3VtZW50LT51cmwoKS5pc0VtcHR5
KCkgfHwgZG9jdW1lbnQtPnVybCgpLnByb3RvY29sSXNBYm91dCgpKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGF1dG8gaGVhZCA9IGRvY3VtZW50LT5oZWFkKCk7CkBAIC0xOTEzLDcgKzE5MTMs
NyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydEljb25Mb2FkaW5nKCkKICAgICBpZiAoIW1f
ZnJhbWUtPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChkb2N1bWVu
dC0+dXJsKCkuaXNFbXB0eSgpIHx8IGRvY3VtZW50LT51cmwoKS5pc0JsYW5rVVJMKCkpCisgICAg
aWYgKGRvY3VtZW50LT51cmwoKS5pc0VtcHR5KCkgfHwgZG9jdW1lbnQtPnVybCgpLnByb3RvY29s
SXNBYm91dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2xpbmtJY29ucyA9IExpbmtJY29u
Q29sbGVjdG9yIHsgKmRvY3VtZW50IH0uaWNvbnNPZlR5cGVzKHsgTGlua0ljb25UeXBlOjpGYXZp
Y29uLCBMaW5rSWNvblR5cGU6OlRvdWNoSWNvbiwgTGlua0ljb25UeXBlOjpUb3VjaFByZWNvbXBv
c2VkSWNvbiB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcApp
bmRleCBiMmRiMDA2NTBmZmIxNGMxMzQxNDE3MzZlZTg2NWM1ZDg2N2QzYjU0Li5lNmE0OTBiMWQ2
ZGFhY2VkNTY4MjU4OGQwYzgwZjdkMmRmOTgwMDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25BY3Rpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIE5hdmlnYXRpb25BY3Rpb24m
IE5hdmlnYXRpb25BY3Rpb246Om9wZXJhdG9yPShOYXZpZ2F0aW9uQWN0aW9uJiYpID0gZGVmYXVs
dDsKIAogc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKGNvbnN0
IERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiB1cmwpCiB7Ci0gICAgcmV0dXJuIHVybC5p
c0JsYW5rVVJMKCkgfHwgdXJsLnByb3RvY29sSXNEYXRhKCkgfHwgKHVybC5wcm90b2NvbElzQmxv
YigpICYmIGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuY2FuUmVxdWVzdCh1cmwpKTsKKyAgICBy
ZXR1cm4gdXJsLnByb3RvY29sSXNBYm91dCgpIHx8IHVybC5wcm90b2NvbElzRGF0YSgpIHx8ICh1
cmwucHJvdG9jb2xJc0Jsb2IoKSAmJiBkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmNhblJlcXVl
c3QodXJsKSk7CiB9CiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE5hdmlnYXRpb25BY3Rpb246OlVJ
RXZlbnRXaXRoS2V5U3RhdGVEYXRhPiBrZXlTdGF0ZURhdGFGb3JGaXJzdEV2ZW50V2l0aEtleVN0
YXRlKEV2ZW50KiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xp
Y3lDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcApp
bmRleCBhYTFhMWY0MmEzOGEwYzY1ODVkNzBlOTY3MzJjZWNlNTA3ODk4MzAxLi42M2Y0Mzk4ODJh
NmUzODQ4ODBkOTViYjA3YTYwNmQwZjlmZTMyOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Bv
bGljeUNoZWNrZXIuY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBQb2xpY3lDaGVja2VyOjpj
aGVja05hdmlnYXRpb25Qb2xpY3koUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmVz
b3UKICAgICBsb2FkZXItPnNldExhc3RDaGVja2VkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVx
dWVzdCkpOwogCiAgICAgLy8gSW5pdGlhbCAnYWJvdXQ6YmxhbmsnIGxvYWQgbmVlZHMgdG8gaGFw
cGVuIHN5bmNocm9ub3VzbHkgc28gdGhlIHBvbGljeSBjaGVjayBuZWVkcyB0byBiZSBzeW5jaHJv
bm91cyBpbiB0aGlzIGNhc2UuCi0gICAgaWYgKCFtX2ZyYW1lLmxvYWRlcigpLnN0YXRlTWFjaGlu
ZSgpLmNvbW1pdHRlZEZpcnN0UmVhbERvY3VtZW50TG9hZCgpICYmIHJlcXVlc3QudXJsKCkuaXNC
bGFua1VSTCgpICYmICFzdWJzdGl0dXRlRGF0YS5pc1ZhbGlkKCkpCisgICAgaWYgKCFtX2ZyYW1l
LmxvYWRlcigpLnN0YXRlTWFjaGluZSgpLmNvbW1pdHRlZEZpcnN0UmVhbERvY3VtZW50TG9hZCgp
ICYmIHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0Fib3V0KCkgJiYgIXN1YnN0aXR1dGVEYXRhLmlz
VmFsaWQoKSkKICAgICAgICAgcG9saWN5RGVjaXNpb25Nb2RlID0gUG9saWN5RGVjaXNpb25Nb2Rl
OjpTeW5jaHJvbm91czsKIAogI2lmIFVTRShRVUlDS19MT09LKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKaW5kZXggN2JkZmM0OGY1ZDQwNTliZTZh
YjhiYjlhMjVlYjA4MzUwZTg5MDE5OS4uYTczZmNmYTI3M2Y5ZGQ4ZDlmYmM2ODE5ZWMyYTI5MGRi
MzFkMzNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9i
c2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9n
VXNlckludGVyYWN0aW9uV2l0aFJlZHVjZWRUaW1lUmVzb2x1dGlvbihjb25zdCBEb2MKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgYXV0byYgdXJsID0gZG9jdW1lbnQudXJsKCk7Ci0gICAgaWYgKHVy
bC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkKKyAgICBpZiAodXJsLnByb3RvY29sSXNB
Ym91dCgpIHx8IHVybC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gZG9t
YWluID0gcHJpbWFyeURvbWFpbih1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlU2VyaWFsaXplci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVy
LmNwcAppbmRleCAzY2FhMzgyODgxNjlkNjdmMWJmZWI5ZTc3MzA4NDZlYTJhMTAyY2Q2Li42Zjcy
NzA4Y2YwNDIxNjA2NDI1NzRhOTkxN2NlOWUwN2VlZDRiZDhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VTZXJpYWxpemVyLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgUGFnZVNlcmlhbGl6
ZXI6OlNlcmlhbGl6ZXJNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ3VzdG9tQXR0cmlidXRlcyhT
dHJpbmdCCiAgICAgICAgIHJldHVybjsKIAogICAgIFVSTCB1cmwgPSBmcmFtZS0+ZG9jdW1lbnQo
KS0+dXJsKCk7Ci0gICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYgIXVybC5pc0JsYW5rVVJMKCkpCisg
ICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYgIXVybC5wcm90b2NvbElzQWJvdXQoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gV2UgbmVlZCB0byBnaXZlIGEgZmFrZSBsb2NhdGlvbiB0byBibGFu
ayBmcmFtZXMgc28gdGhleSBjYW4gYmUgcmVmZXJlbmNlZCBieSB0aGUgc2VyaWFsaXplZCBmcmFt
ZS4KQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpzZXJpYWxpemVGcmFt
ZShGcmFtZSogZnJhbWUpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3Vt
ZW50KCk7CiAgICAgVVJMIHVybCA9IGRvY3VtZW50LT51cmwoKTsKLSAgICBpZiAoIXVybC5pc1Zh
bGlkKCkgfHwgdXJsLmlzQmxhbmtVUkwoKSkgeworICAgIGlmICghdXJsLmlzVmFsaWQoKSB8fCB1
cmwucHJvdG9jb2xJc0Fib3V0KCkpIHsKICAgICAgICAgLy8gRm9yIGJsYW5rIGZyYW1lcyB3ZSBn
ZW5lcmF0ZSBhIGZha2UgVVJMIHNvIHRoZXkgY2FuIGJlIHJlZmVyZW5jZWQgYnkgdGhlaXIgY29u
dGFpbmluZyBmcmFtZS4KICAgICAgICAgdXJsID0gdXJsRm9yQmxhbmtGcmFtZShmcmFtZSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcAppbmRleCAyYjdlMWJmNWUwYWZkOGFjNDA0
YzMxNGFjYjdlOTU1MjFiNTUwMDY0Li5kZGJkOGNkZTI3ODBlOTJkYmEyMGUwYWJkOTljZjA0OTg0
M2Y0YzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcApAQCAtMjQwLDcgKzI0MCw3IEBA
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0CiAKIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJl
Y3RpdmVGb3JGcmFtZShjb25zdCBVUkwmIHVybCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNw
b25zZSkgY29uc3QKIHsKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSkKKyAgICBpZiAodXJsLnBy
b3RvY29sSXNBYm91dCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIC8vIFdlIG11
c3QgZW5mb3JjZSB0aGUgZnJhbWUtc3JjIGRpcmVjdGl2ZSAoaWYgc3BlY2lmaWVkKSBiZWZvcmUg
ZW5mb3JjaW5nIHRoZSBjaGlsZC1zcmMgZGlyZWN0aXZlIGZvciBhIG5lc3RlZCBicm93c2luZwpA
QCAtMjkzLDcgKzI5Myw3IEBAIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSog
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0CiAKIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JPYmplY3RTb3VyY2UoY29uc3QgVVJMJiB1cmwsIGJv
b2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UsIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJj
ZUxpc3REaXJlY3RpdmU6OlNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUg
c2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdEVtcHR5KSBjb25zdAogewotICAgIGlmICh1
cmwuaXNCbGFua1VSTCgpKQorICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJl
Y3RpdmUqIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9wZXJhdGl2ZURpcmVjdGl2ZShtX29i
amVjdFNyYy5nZXQoKSk7CiAgICAgaWYgKGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZSwg
dXJsLCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSwgc2hvdWxkQWxsb3dFbXB0eVVSTElmU291
cmNlTGlzdEVtcHR5KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwCmluZGV4IGJkYjQ2ODY5NThmMzAw
MDkzMzM0NDMxODk0NzdhOWQ0NWY0ZjVkODguLmYyOTkzNzI2MWExNDE3MDJmOWVjOGE3OWJmZTBm
YTQ1ZGVhMzcyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmNwcApAQCAtODY1LDcgKzg2NSw3IEBA
IGNvbnN0IFVSTCYgYmxhbmtVUkwoKQogICAgIHJldHVybiBzdGF0aWNCbGFua1VSTDsKIH0KIAot
Ym9vbCBVUkw6OmlzQmxhbmtVUkwoKSBjb25zdAorYm9vbCBVUkw6OnByb3RvY29sSXNBYm91dCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHByb3RvY29sSXMoImFib3V0Iik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1VSTC5oCmluZGV4IGNmMGUzOGE3MWI2MWI0ZmRhODE2Yjc0ZDUzMzkzNWRmNDMxYjY2ZDkuLjhh
ODE4YmE1ZGRlNzU5ZmJjZjBlOTA1ZjRhOWY1MTU3ZGI4MTY2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TC5oCkBAIC0xMzUsOSArMTM1LDkgQEAgcHVibGljOgogICAgIGJvb2wgcHJvdG9jb2xJcyhTdHJp
bmdWaWV3KSBjb25zdDsKICAgICBib29sIHByb3RvY29sSXNCbG9iKCkgY29uc3QgeyByZXR1cm4g
cHJvdG9jb2xJcygiYmxvYiIpOyB9CiAgICAgYm9vbCBwcm90b2NvbElzRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIHByb3RvY29sSXMoImRhdGEiKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcHJv
dG9jb2xJc0Fib3V0KCkgY29uc3Q7CiAgICAgYm9vbCBwcm90b2NvbElzSW5IVFRQRmFtaWx5KCkg
Y29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0xvY2FsRmlsZSgpIGNvbnN0OwotICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNCbGFua1VSTCgpIGNvbnN0OwogICAgIGJvb2wgY2Fubm90
QmVBQmFzZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fubm90QmVBQmFzZVVSTDsgfQogCiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBpc01hdGNoaW5nRG9tYWluKGNvbnN0IFN0cmluZyYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRl
eCBmMGU0Y2FlNmU1MjM2MGI2NjNhZjIxZmZjYTUxZGVjZGJkMWVhMjhlLi4xMTU3MGRkYzBkOTg3
NDcyZGQ2YThkNzNhN2UxZGRhYTA5MmY2MjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMjYyLDcgKzI2Miw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkRnVsbChjb25zdCBTdHJpbmcmIHVybFN0cmluZywg
Y29uc3QgZ2NoYXIqCiAgICAgICAgIHJldHVybjsKIAogICAgIFVSTCB1cmwoVVJMKCksIHVybFN0
cmluZyk7Ci0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCisgICAgaWYgKHVybC5wcm90b2NvbElz
QWJvdXQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3BpcGVsaW5lKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGQxYzY4ODllYTY0OGNjYWNmMDhhYzE0YmU3YjZjNTJjYTNiMDNkMzYuLmVjYzA0
N2ZmNTJhOTg5ZThkYjM2OWIxZjExZjBjZGEyZTY5Njg2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTY3
Nyw3ICs2NzcsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdAogCiAgICAgaWYgKG1fbmV0d29y
a0xvYWRDaGVja2VyKSB7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgZG9pbmcgdGhp
cyBjaGVjayB3aGVuIHJlY2VpdmluZyB0aGUgcmVkaXJlY3Rpb24gYW5kIG5vdCBhbGxvdyBhYm91
dCBwcm90b2NvbCBhcyBwZXIgZmV0Y2ggc3BlYy4KLSAgICAgICAgaWYgKCFuZXdSZXF1ZXN0LnVy
bCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSAmJiAhbmV3UmVxdWVzdC51cmwoKS5pc0JsYW5r
VVJMKCkgJiYgbV9yZWRpcmVjdENvdW50KSB7CisgICAgICAgIGlmICghbmV3UmVxdWVzdC51cmwo
KS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgJiYgIW5ld1JlcXVlc3QudXJsKCkucHJvdG9jb2xJ
c0Fib3V0KCkgJiYgbV9yZWRpcmVjdENvdW50KSB7CiAgICAgICAgICAgICBkaWRGYWlsTG9hZGlu
ZyhSZXNvdXJjZUVycm9yIHsgU3RyaW5nIHsgfSwgMCwgbmV3UmVxdWVzdC51cmwoKSwgIlJlZGly
ZWN0aW9uIHRvIFVSTCB3aXRoIGEgc2NoZW1lIHRoYXQgaXMgbm90IEhUVFAoUykiX3MsIFJlc291
cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRl
eCBlZmJjMjJiY2IyODFkZjNkMDYyOWNjOWJmNzZiMTE3NDJhYWM0NGNiLi4wY2ZkMTM4ODIxODI4
YzFlOWYzNTRhYTc1OWY2MGJlMWU5NTk0Y2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yMTQ5LDcgKzIxNDksNyBAQCBSZWY8V2ViUHJvY2Vzc1By
b3h5PiBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdl
UHJveHkmCiAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3dhcHBpbmcsICJVc2luZyBy
ZWxhdGVkIHBhZ2UgJXAncyBVUkwgYXMgc291cmNlIFVSTCBmb3IgcHJvY2VzcyBzd2FwIGRlY2lz
aW9uIiwgcGFnZS5jb25maWd1cmF0aW9uKCkucmVsYXRlZFBhZ2UoKSk7CiAgICAgICAgIH0KIAot
ICAgICAgICBpZiAoIXNvdXJjZVVSTC5pc1ZhbGlkKCkgfHwgIXRhcmdldFVSTC5pc1ZhbGlkKCkg
fHwgc291cmNlVVJMLmlzRW1wdHkoKSB8fCBzb3VyY2VVUkwuaXNCbGFua1VSTCgpIHx8IHJlZ2lz
dHJhYmxlRG9tYWluc0FyZUVxdWFsKHNvdXJjZVVSTCwgdGFyZ2V0VVJMKSkgeworICAgICAgICBp
ZiAoIXNvdXJjZVVSTC5pc1ZhbGlkKCkgfHwgIXRhcmdldFVSTC5pc1ZhbGlkKCkgfHwgc291cmNl
VVJMLmlzRW1wdHkoKSB8fCBzb3VyY2VVUkwucHJvdG9jb2xJc0Fib3V0KCkgfHwgcmVnaXN0cmFi
bGVEb21haW5zQXJlRXF1YWwoc291cmNlVVJMLCB0YXJnZXRVUkwpKSB7CiAgICAgICAgICAgICBy
ZWFzb24gPSAiTmF2aWdhdGlvbiBpcyBzYW1lLXNpdGUiX3M7CiAgICAgICAgICAgICByZXR1cm4g
cGFnZS5wcm9jZXNzKCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IDMxNzgz
NmI0MmZmNjc0ZTU3YjRjYmVhZWU4NzFkZjEzNDdlZTc1ZjQuLmQ1ODE0ODYxNTVlMzIxNzIyMmE0
MDM1NTFjMGYzZjVlMzNkMWVlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtNDAxLDcgKzQw
MSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpsb2dVc2VySW50ZXJh
Y3Rpb24oY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6Omlz
TWFpbigpKTsKIAotICAgIGlmICh1cmwuaXNCbGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpIHsK
KyAgICBpZiAodXJsLnByb3RvY29sSXNBYm91dCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQxNyw3
ICs0MTcsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xlYXJVc2Vy
SW50ZXJhY3Rpb24oY29uc3QgVVJMJiB1cmwsIENvbXBsZQogewogICAgIEFTU0VSVChSdW5Mb29w
Ojppc01haW4oKSk7CiAKLSAgICBpZiAodXJsLmlzQmxhbmtVUkwoKSB8fCB1cmwuaXNFbXB0eSgp
KSB7CisgICAgaWYgKHVybC5wcm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00
MzMsNyArNDMzLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Omhhc0hh
ZFVzZXJJbnRlcmFjdGlvbihjb25zdCBVUkwmIHVybCwgQ29tcGwKIHsKICAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1w
dHkoKSkgeworICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkg
ewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC00NTAsNyArNDUwLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OnNldExhc3RTZWVuKGNvbnN0IFVSTCYgdXJsLCBTZWNvbmRzIHNlY29uZHMKIHsKICAgICBB
U1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwg
dXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlz
RW1wdHkoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtNDY2LDcgKzQ2Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpzZXRQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBVUkwmIHVybCwgQ29tcGxlCiB7CiAg
ICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmICh1cmwuaXNCbGFua1VSTCgp
IHx8IHVybC5pc0VtcHR5KCkpIHsKKyAgICBpZiAodXJsLnByb3RvY29sSXNBYm91dCgpIHx8IHVy
bC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTQ4Miw3ICs0ODIsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6c2V0VmVyeVByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYgdXJsLCBDbwog
ewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBpZiAodXJsLmlzQmxhbmtV
UkwoKSB8fCB1cmwuaXNFbXB0eSgpKSB7CisgICAgaWYgKHVybC5wcm90b2NvbElzQWJvdXQoKSB8
fCB1cmwuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC01MTAsNyArNTEwLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OmlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJiB1cmwsIENvbXBs
ZXQKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHVybC5pc0Js
YW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1cmwucHJvdG9jb2xJc0Fib3V0
KCkgfHwgdXJsLmlzRW1wdHkoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC01MjcsNyArNTI3LDcgQEAgdm9pZCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmlzVmVyeVByZXZhbGVudFJlc291cmNlKGNvbnN0IFVS
TCYgdXJsLCBDb20KIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYg
KHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1cmwucHJvdG9j
b2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC01ODAsNyArNTgwLDcgQEAgdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsZWFyUHJldmFsZW50UmVzb3VyY2Uo
Y29uc3QgVVJMJiB1cmwsIENvbXAKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwog
Ci0gICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlzRW1wdHkoKSkgeworICAgIGlmICh1
cmwucHJvdG9jb2xJc0Fib3V0KCkgfHwgdXJsLmlzRW1wdHkoKSkgewogICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTk2LDcgKzU5Niw3IEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRHcmFuZGZhdGhlcmVkKGNv
bnN0IFVSTCYgdXJsLCBib29sIHZhbHVlCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigp
KTsKIAotICAgIGlmICh1cmwuaXNCbGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpCisgICAgaWYg
KHVybC5wcm90b2NvbElzQWJvdXQoKSB8fCB1cmwuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CiAKICAgICBwb3N0VGFzayhbdGhpcywgcHJpbWFyeURvbWFpbiA9IGlzb2xhdGVkUHJpbWFyeURv
bWFpbih1cmwpLCB2YWx1ZV0gewpAQCAtNjA5LDcgKzYwOSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjppc0dyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiB1cmwsIENvbXBs
ZXRpb25ICiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmICh1cmwu
aXNCbGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKKyAgICBpZiAodXJsLnByb3RvY29sSXNB
Ym91dCgpIHx8IHVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oY29uc3QgVVJMJiBzCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAg
IGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNFbXB0eSgpIHx8IHRvcEZy
YW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgaWYgKHN1YmZyYW1l
LnByb3RvY29sSXNBYm91dCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5wcm90
b2NvbElzQWJvdXQoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIHBvc3RUYXNrKFt0aGlzLCBwcmltYXJ5VG9wRnJhbWVEb21haW4gPSBpc29sYXRlZFByaW1h
cnlEb21haW4odG9wRnJhbWUpLCBwcmltYXJ5U3ViRnJhbWVEb21haW4gPSBpc29sYXRlZFByaW1h
cnlEb21haW4oc3ViZnJhbWUpXSB7CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihj
b25zdCBVUkwKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHN1
YnJlc291cmNlLmlzQmxhbmtVUkwoKSB8fCBzdWJyZXNvdXJjZS5pc0VtcHR5KCkgfHwgdG9wRnJh
bWUuaXNCbGFua1VSTCgpIHx8IHRvcEZyYW1lLmlzRW1wdHkoKSkKKyAgICBpZiAoc3VicmVzb3Vy
Y2UucHJvdG9jb2xJc0Fib3V0KCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1l
LnByb3RvY29sSXNBYm91dCgpIHx8IHRvcEZyYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgcG9zdFRhc2soW3RoaXMsIHByaW1hcnlUb3BGcmFtZURvbWFpbiA9IGlzb2xhdGVk
UHJpbWFyeURvbWFpbih0b3BGcmFtZSksIHByaW1hcnlTdWJyZXNvdXJjZURvbWFpbiA9IGlzb2xh
dGVkUHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSldIHsKQEAgLTY1Miw3ICs2NTIsNyBAQCB2b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKGNvbnN0IFVSTCYgcwogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAK
LSAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHko
KSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5rVVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVj
dGVkVG8uaXNFbXB0eSgpKQorICAgIGlmIChzdWJyZXNvdXJjZS5wcm90b2NvbElzQWJvdXQoKSB8
fCBzdWJyZXNvdXJjZS5pc0VtcHR5KCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8ucHJvdG9jb2xJ
c0Fib3V0KCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CiAKICAgICBwb3N0VGFzayhbdGhpcywgcHJpbWFyeVJlZGlyZWN0RG9tYWluID0gaXNvbGF0
ZWRQcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSwgcHJpbWFyeVN1YnJlc291cmNl
RG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKV0gewpAQCAtNjY1LDcg
KzY2NSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0RnJvbShjb25zdCBVUkwmCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6
OmlzTWFpbigpKTsKIAotICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVz
b3VyY2UuaXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZEZyb20uaXNCbGFua1VSTCgpIHx8
IGhvc3ROYW1lUmVkaXJlY3RlZEZyb20uaXNFbXB0eSgpKQorICAgIGlmIChzdWJyZXNvdXJjZS5w
cm90b2NvbElzQWJvdXQoKSB8fCBzdWJyZXNvdXJjZS5pc0VtcHR5KCkgfHwgaG9zdE5hbWVSZWRp
cmVjdGVkRnJvbS5wcm90b2NvbElzQWJvdXQoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRGcm9tLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcmlt
YXJ5UmVkaXJlY3REb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4oaG9zdE5hbWVSZWRpcmVj
dGVkRnJvbSksIHByaW1hcnlTdWJyZXNvdXJjZURvbWFpbiA9IGlzb2xhdGVkUHJpbWFyeURvbWFp
bihzdWJyZXNvdXJjZSldIHsKQEAgLTY3OCw3ICs2NzgsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6c2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFVSTCYg
dG9wRgogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBpZiAodG9wRnJh
bWVIb3N0TmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWVIb3N0TmFtZS5pc0VtcHR5KCkgfHwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNCbGFua1VSTCgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRv
LmlzRW1wdHkoKSkKKyAgICBpZiAodG9wRnJhbWVIb3N0TmFtZS5wcm90b2NvbElzQWJvdXQoKSB8
fCB0b3BGcmFtZUhvc3ROYW1lLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5wcm90
b2NvbElzQWJvdXQoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKICAgICAKICAgICBwb3N0VGFzayhbdGhpcywgcHJpbWFyeVJlZGlyZWN0RG9tYWlu
ID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSwgdG9wRnJhbWVQ
cmltYXJ5RG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWluKHRvcEZyYW1lSG9zdE5hbWUpXSB7
CkBAIC02OTEsNyArNjkxLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnNldFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RGcm9tKGNvbnN0IFVSTCYgdG8KIHsKICAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgaWYgKHRvcEZyYW1lSG9zdE5hbWUuaXNCbGFu
a1VSTCgpIHx8IHRvcEZyYW1lSG9zdE5hbWUuaXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3Rl
ZEZyb20uaXNCbGFua1VSTCgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZEZyb20uaXNFbXB0eSgpKQor
ICAgIGlmICh0b3BGcmFtZUhvc3ROYW1lLnByb3RvY29sSXNBYm91dCgpIHx8IHRvcEZyYW1lSG9z
dE5hbWUuaXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZEZyb20ucHJvdG9jb2xJc0Fib3V0
KCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkRnJvbS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
ICAgICAKICAgICBwb3N0VGFzayhbdGhpcywgcHJpbWFyeVJlZGlyZWN0RG9tYWluID0gaXNvbGF0
ZWRQcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZEZyb20pLCB0b3BGcmFtZVByaW1hcnlE
b21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4odG9wRnJhbWVIb3N0TmFtZSldIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>