<?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>173614</bug_id>
          
          <creation_ts>2017-06-20 12:44:05 -0700</creation_ts>
          <short_desc>Have FrameLoadRequest take a Frame&amp; instead of a Frame*</short_desc>
          <delta_ts>2017-06-25 20:39:26 -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 Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>173564</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321192</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 12:44:05 -0700</bug_when>
    <thetext>Splitting off from bug #173564. Have the FrameLoadRequest constructor that takes a frame take it by reference instead of by pointer as we assume the frame is non-null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321196</commentid>
    <comment_count>1</comment_count>
      <attachid>313423</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 12:45:22 -0700</bug_when>
    <thetext>Created attachment 313423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321197</commentid>
    <comment_count>2</comment_count>
      <attachid>313424</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 12:46:31 -0700</bug_when>
    <thetext>Created attachment 313424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321199</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 12:48:01 -0700</bug_when>
    <thetext>Attachment 313424 did not pass style-queue:


ERROR: Source/WebCore/loader/FrameLoadRequest.cpp:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 14 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>1321201</commentid>
    <comment_count>4</comment_count>
      <attachid>313425</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 12:48:26 -0700</bug_when>
    <thetext>Created attachment 313425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321205</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 12:50:46 -0700</bug_when>
    <thetext>Attachment 313425 did not pass style-queue:


ERROR: Source/WebCore/loader/FrameLoadRequest.cpp:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 14 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>1321227</commentid>
    <comment_count>6</comment_count>
      <attachid>313435</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 13:52:35 -0700</bug_when>
    <thetext>Created attachment 313435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321228</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 13:53:45 -0700</bug_when>
    <thetext>Attachment 313435 did not pass style-queue:


ERROR: Source/WebCore/loader/FrameLoadRequest.cpp:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 14 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>1321255</commentid>
    <comment_count>8</comment_count>
      <attachid>313435</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-20 15:26:48 -0700</bug_when>
    <thetext>Comment on attachment 313435
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=173614

Please import to Radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321261</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-20 15:38:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/32884890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321270</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-20 15:45:28 -0700</bug_when>
    <thetext>Committed r218611: &lt;http://trac.webkit.org/changeset/218611&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313423</attachid>
            <date>2017-06-20 12:45:22 -0700</date>
            <delta_ts>2017-06-20 12:46:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173614-20170620124521.patch</filename>
            <type>text/plain</type>
            <size>17501</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMzYjY4NGRlNGUyYzU0
ZDQ4YjE2MDliNDIwZjgwOWU4MWRjNDBiZS4uNTdiNGJlNTBjMzE5ZWFiODkyNzJjZWY2YzRiNjdi
ZGI1NzJhM2YwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIEZyYW1lTG9hZFJl
cXVlc3QgdGFrZXMgYSBGcmFtZSYgaW5zdGVhZCBvZiBhIEZyYW1lKgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvQ29udGVudEZpbHRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RmlsdGVyOjpoYW5kbGVQcm92aXNpb25hbExv
YWRGYWlsdXJlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KToKKyAgICAg
ICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFn
T3BlcmF0aW9uKToKKwogMjAxNy0wNi0xNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGhlYWRlciBPcHRpb25TZXQuaCBmcm9tIEZyYW1lTG9hZGVy
VHlwZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDdlYzY3NzczNTg1MjIzZjVhYTYyYzE4YjhjNjM3
YTM2ZDMyNzNlNWEuLjFhMDMzNTA2ZWY4ZTMzYzhhZDYxNzNiNTBmOWU1MTI3NTliM2NkMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0yMCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBGcmFtZUxvYWRSZXF1ZXN0IHRh
a2VzIGEgRnJhbWUmIGluc3RlYWQgb2YgYSBGcmFtZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXZWJQbHVnaW5Db250cm9sbGVyIHdlYlBsdWdJbkNvbnRhaW5lckxvYWRS
ZXF1ZXN0OmluRnJhbWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAg
ICAgKC1bV2ViRnJhbWUgbG9hZFJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9sb2Fk
RGF0YTpNSU1FVHlwZTp0ZXh0RW5jb2RpbmdOYW1lOmJhc2VVUkw6dW5yZWFjaGFibGVVUkw6XSk6
CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Qcm92aWRl
cnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFrcyBpdGVt
IHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjY2Q3ZTk0ZTkwMzM4YzIyY2Iy
N2Q2NGE4NTdlMDY2YTkwMDNiNDhjLi5lMjNkMWEyZDNlZjBmMTEwMTY0NTE4YjEzYjA0NmEzMTY2
MmIyMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjAgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2Fk
UmVxdWVzdCB0YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdCk6CisgICAg
ICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KToKKwog
MjAxNy0wNi0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAog
ICAgICAgICBbV2luXSBXZWJLaXQgc2hvdWxkbid0IGluY2x1ZGUgdGhlIGZvcndhcmRpbmcgaGVh
ZGVyIG9mIFdlYktpdCBpdHNlbGYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkZDRkNTZiZTg1MTE3ZGI0MTIyMjJj
OTUyYjMzNGY2NjNmNTFiZjk5Li4xYzYwNGU3MGJlMWQxNDBkMzYzYWI2NTcyNjVmN2JkNzE0NGFl
NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDYtMjAgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2FkUmVxdWVzdCB0
YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJl
cXVlc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFVSTEluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWREYXRh
SW1wbCk6CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Q
cm92aWRlcnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFr
cyBpdGVtIHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Db250ZW50RmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db250ZW50RmlsdGVy
LmNwcAppbmRleCA2ZjJlNTAzNzY1ZTFhMmYxMmYyOGZjNmMzODljOGNkZDI2OWMyMzE4Li4wNDE0
YWM4ZjgyOTRhZWJiMjlkNjM3MjhmNDRkYmQ0OTE4YjE5YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ29udGVudEZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0NvbnRlbnRGaWx0ZXIuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBDb250ZW50Rmls
dGVyOjpoYW5kbGVQcm92aXNpb25hbExvYWRGYWlsdXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgeyBVUkwoKSwgQVNDSUlMaXRlcmFs
KCJ0ZXh0L2h0bWwiKSwgcmVwbGFjZW1lbnREYXRhLT5zaXplKCksIEFTQ0lJTGl0ZXJhbCgiVVRG
LTgiKSB9OwogICAgIFN1YnN0aXR1dGVEYXRhIHN1YnN0aXR1dGVEYXRhIHsgV1RGTW92ZShyZXBs
YWNlbWVudERhdGEpLCBlcnJvci5mYWlsaW5nVVJMKCksIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0
YTo6U2Vzc2lvbkhpc3RvcnlWaXNpYmlsaXR5OjpIaWRkZW4gfTsKICAgICBTZXRGb3JTY29wZTxi
b29sPiBsb2FkaW5nQmxvY2tlZFBhZ2UgeyBtX2lzTG9hZGluZ0Jsb2NrZWRQYWdlLCB0cnVlIH07
Ci0gICAgbV9kb2N1bWVudExvYWRlci5mcmFtZUxvYWRlcigpLT5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QobV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKKyAg
ICBtX2RvY3VtZW50TG9hZGVyLmZyYW1lTG9hZGVyKCktPmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgq
bV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJl
cXVlc3QuY3BwCmluZGV4IDhhMWU3NTE0YzI2NzE3NTFiMzRkYWFmZDA4NjkyNGU3N2RlYmMzZmIu
LjdkMmJkM2I3MjgyZjJmODdhODg3Yzg1MTAzNjU5ZTUwMGE3MmMyYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKQEAgLTM2LDE4ICszNiwxOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3Qo
RnJhbWUqIGZyYW1lLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBj
b25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURhdGEpCi0gICAgOiBtX3JlcXVlc3Rlcigm
ZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpCi0gICAgLCBtX3Jlc291cmNlUmVx
dWVzdChyZXNvdXJjZVJlcXVlc3QpCi0gICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5
KGZhbHNlKQotICAgICwgbV9zdWJzdGl0dXRlRGF0YShzdWJzdGl0dXRlRGF0YSkKLSAgICAsIG1f
bG9ja0hpc3RvcnkoTG9ja0hpc3Rvcnk6Ok5vKQotICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
KExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vKQotICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIoTWF5
YmVTZW5kUmVmZXJyZXIpCi0gICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTChBbGxv
d05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcykKLSAgICAsIG1fbmV3RnJhbWVPcGVuZXJQb2xp
Y3koTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KQotICAgICwgbV9zaG91bGRSZXBsYWNlRG9j
dW1lbnRJZkphdmFTY3JpcHRVUkwoUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKQotICAg
ICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kpCitGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KEZyYW1lJiBmcmFtZSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0
ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQorICAgIDogbV9yZXF1ZXN0ZXIgeyAmZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSB9CisgICAgLCBtX3Jlc291cmNlUmVxdWVzdCB7IHJlc291
cmNlUmVxdWVzdCB9CisgICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5IHsgZmFsc2Ug
fQorICAgICwgbV9zdWJzdGl0dXRlRGF0YSB7IHN1YnN0aXR1dGVEYXRhIH0KKyAgICAsIG1fbG9j
a0hpc3RvcnkgeyBMb2NrSGlzdG9yeTo6Tm8gfQorICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
IHsgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8gfQorICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIg
eyBNYXliZVNlbmRSZWZlcnJlciB9CisgICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVS
TCB7IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzIH0KKyAgICAsIG1fbmV3RnJhbWVP
cGVuZXJQb2xpY3kgeyBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3cgfQorICAgICwgbV9zaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgeyBSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwgfQorICAgICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHsgc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSB9CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkUmVxdWVzdC5oCmluZGV4IDFjYmViYmI4MmMzNWUwZTZlNWVjYmUxMjgwZjQxYWI1OTc4
NGQ0NTQuLjJlNmUzMDhlZDQyMzNmNWNiYjZiZjE1MGRmOGY5NDgyMmVjMjg4ZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1
YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVMb2FkUmVxdWVz
dChGcmFtZSosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3ksIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiA9IFN1YnN0aXR1dGVEYXRhKCkpOworICAgIFdF
QkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRnJhbWUmLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYg
PSBTdWJzdGl0dXRlRGF0YSgpKTsKIAogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzb3VyY2VSZXF1ZXN0LmlzRW1wdHkoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IDQ4MTgzZjljNDE1ODg4YjZlZDM4NGQzMTQxYWY4NzQ2ZjQ3ODYy
ZDkuLmZmYmU4ZjhiZTU5ZTc5MzA5NGEyOTQxZjJlMmYwN2U3ODdlMzgyYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yOTAsNyArMjkwLDcgQEAgYm9vbCBEcmFn
Q29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdE
ZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkLCBkcmFnRGF0YSk7Ci0g
ICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgmbV9w
YWdlLm1haW5GcmFtZSgpLCB7IHVybFN0cmluZyB9LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KSk7CisgICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdChtX3BhZ2UubWFpbkZyYW1lKCksIHsgdXJsU3RyaW5nIH0sIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tCmluZGV4IDFmNDU3NzYyZWZkZDU2
NjcxYTQzOGE0ZmM4NWNjMzhkMWQzMzExYjUuLmY3ZjQzNmZiMjY3YjAzMWJkNjYzM2MyOWZlNGRm
YWRiMDgxMjhkMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1
Z2luQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdp
bkNvbnRyb2xsZXIubW0KQEAgLTQ5OCwxMCArNDk4LDEwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbE91
dHN0YW5kaW5nQ2hlY2soY29uc3Qgdm9pZCAqaXRlbSwgdm9pZCAqY29udGV4dCkKICAgICAgICAg
ICAgIExPR19FUlJPUigiY291bGQgbm90IGxvYWQgVVJMICVAIiwgW3JlcXVlc3QgVVJMXSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBm
cmFtZVJlcXVlc3QoY29yZShmcmFtZSksIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3k6OlNob3VsZE5vdEFsbG93KTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1lTmFt
ZSh0YXJnZXQpOwotICAgICAgICBmcmFtZVJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQ
b2xpY3kodHJ1ZSk7Ci0gICAgICAgIGNvcmUoZnJhbWUpLT5sb2FkZXIoKS5sb2FkKGZyYW1lUmVx
dWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpjb3Jl
KGZyYW1lKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90
QWxsb3cgfTsKKyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFyZ2V0KTsK
KyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSh0
cnVlKTsKKyAgICAgICAgY29yZShmcmFtZSktPmxvYWRlcigpLmxvYWQoZnJhbWVMb2FkUmVxdWVz
dCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQppbmRleCA1
YzBiZDliYzNlZmRjMGRjYjBhNzUyMjE4MmYwMDRhNDJmZDNkMjQ2Li5iMzFmMTY4MGJlNTU3MmNl
M2M2ODYwZjIwNWIxMDJiYzkzMmViM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KQEAgLTI0NzIsNyArMjQ3Miw3IEBAIHN0YXRpYyBib29sIG5lZWRzTWljcm9zb2Z0TWVz
c2VuZ2VyRE9NRG9jdW1lbnRXb3JrYXJvdW5kKCkKICAgICBpZiAoIXJlc291cmNlUmVxdWVzdC51
cmwoKS5pc1ZhbGlkKCkgJiYgIXJlc291cmNlUmVxdWVzdC51cmwoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJlc291cmNlUmVxdWVzdC5zZXRVUkwoW05TVVJMIFVSTFdpdGhTdHJpbmc6W0AiZmlsZToi
IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOltbcmVxdWVzdCBVUkxdIGFic29sdXRlU3RyaW5nXV1d
KTsKIAotICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KGNvcmVG
cmFtZSwgcmVzb3VyY2VSZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91
bGROb3RBbGxvdykpOworICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1
ZXN0KCpjb3JlRnJhbWUsIHJlc291cmNlUmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpKTsKIH0KIAogc3RhdGljIE5TVVJMICpjcmVhdGVVbmlxdWVX
ZWJEYXRhVVJMKCkKQEAgLTI1MDQsNyArMjUwNCw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5p
cXVlV2ViRGF0YVVSTCgpCiAgICAgaWYgKHNob3VsZFVzZVF1aWNrTG9va0Zvck1JTUVUeXBlKE1J
TUVUeXBlKSkgewogICAgICAgICBOU1VSTCAqcXVpY2tMb29rVVJMID0gcmVzcG9uc2VVUkwgPyBy
ZXNwb25zZVVSTCA6IGJhc2VVUkw7CiAgICAgICAgIGlmIChhdXRvIHJlcXVlc3QgPSByZWdpc3Rl
clFMUHJldmlld0NvbnZlcnRlcklmTmVlZGVkKHF1aWNrTG9va1VSTCwgTUlNRVR5cGUsIGRhdGEp
KSB7Ci0gICAgICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1l
TG9hZFJlcXVlc3QoX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICAgICAgICAgIF9wcml2
YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgqX3ByaXZhdGUt
PmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6
U2hvdWxkTm90QWxsb3cpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0K
QEAgLTI1MTUsNyArMjUxNSw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0YVVS
TCgpCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShyZXNwb25zZVVSTCwgTUlNRVR5cGUs
IFtkYXRhIGxlbmd0aF0sIGVuY29kaW5nTmFtZSk7CiAgICAgU3Vic3RpdHV0ZURhdGEgc3Vic3Rp
dHV0ZURhdGEoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSksIFt1bnJlYWNoYWJs
ZVVSTCBhYnNvbHV0ZVVSTF0sIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0YTo6U2Vzc2lvbkhpc3Rv
cnlWaXNpYmlsaXR5OjpIaWRkZW4pOwogCi0gICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+bG9hZGVy
KCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KF9wcml2YXRlLT5jb3JlRnJhbWUsIHJlcXVlc3QsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBzdWJzdGl0dXRlRGF0
YSkpOworICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdCgqX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIC0gKHZvaWQp
bG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4
dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVSTDooTlNVUkwgKili
YXNlVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCAzMGI1
MDI2YTA4NzBlN2M3ODhhNWQyOTZkZWE5Y2JjOWUwNmQxNDhlLi42NmNmZWUyNDNhYjc3OWNjNmFh
NWZjOThlZDk0MTM1ODdmN2Q2NjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
Vmlldy5jcHAKQEAgLTQyMiwxMCArNDIyLDEwIEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybVJl
cXVlc3QoUGx1Z2luUmVxdWVzdCogcmVxdWVzdCkKICAgICAgICAgICAgIC8vIFBsdWdpblZpZXcs
IHNvIHdlIHByb3RlY3QgaXQuIDxyZGFyOi8vcHJvYmxlbS82OTkxMjUxPgogICAgICAgICAgICAg
UmVmUHRyPFBsdWdpblZpZXc+IHByb3RlY3QodGhpcyk7CiAKLSAgICAgICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVSZXF1ZXN0KG1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1l
TmFtZSh0YXJnZXRGcmFtZU5hbWUpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldFNob3Vs
ZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOwotICAgICAgICAgICAgbV9wYXJlbnRGcmFtZS0+
bG9hZGVyKCkubG9hZChmcmFtZVJlcXVlc3QpOworICAgICAgICAgICAgRnJhbWVMb2FkUmVxdWVz
dCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cgfTsKKyAgICAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0
RnJhbWVOYW1lKHRhcmdldEZyYW1lTmFtZSk7CisgICAgICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LnNldFNob3VsZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOworICAgICAgICAgICAgbV9wYXJl
bnRGcmFtZS0+bG9hZGVyKCkubG9hZChmcmFtZUxvYWRSZXF1ZXN0KTsKIAogICAgICAgICAgICAg
Ly8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS80ODA3NDY5PiBUaGlzIHNob3VsZCBiZSBzZW50IHdo
ZW4gdGhlIGRvY3VtZW50IGhhcyBmaW5pc2hlZCBsb2FkaW5nCiAgICAgICAgICAgICBpZiAocmVx
dWVzdC0+c2VuZE5vdGlmaWNhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggMGMy
ZWE3ZDU3NzIyNDYwZjQ4MDk4MWI4MTA3MDRmMzZiNzQxMDZhNC4uMTg3MDk3ODdhNDgwYjE4MzAy
NGZmNTU3OTk5YTZhYzIzMzQyZThiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
RnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcApAQCAtNTYxLDcg
KzU2MSw3IEBAIEhSRVNVTFQgV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KF9Jbl9vcHRfIElXZWJVUkxS
ZXF1ZXN0KiByZXF1ZXN0KQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1cm4gRV9V
TkVYUEVDVEVEOwogCi0gICAgY29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QoY29yZUZyYW1lLCByZXF1ZXN0SW1wbC0+cmVzb3VyY2VSZXF1ZXN0KCksIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KSk7CisgICAgY29yZUZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKmNvcmVGcmFtZSwgcmVxdWVzdEltcGwtPnJlc291
cmNlUmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dykpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMmQyMzJhY2QxNzBlNWUwMWJmMWI2MGE3
M2MwYTZlYTY1ZjRkYjBiYS4uOGZjZmNkNGYxMjNiZDQ3MWFjZjhjOGJjNWVhMmY1YzhjNmFlYjcy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcApAQCAtMTE5OSwxMCArMTE5OSwxMCBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1GcmFt
ZUxvYWRVUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVlc3QpCiAgICAgRnJhbWUqIHRhcmdldEZy
YW1lID0gZnJhbWUtPmxvYWRlcigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC0+dGFy
Z2V0KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAgICAgLy8gV2UgZGlkIG5vdCBm
aW5kIGEgdGFyZ2V0IGZyYW1lLiBBc2sgb3VyIGZyYW1lIHRvIGxvYWQgdGhlIHBhZ2UuIFRoaXMg
bWF5IG9yIG1heSBub3QgY3JlYXRlIGEgcG9wdXAgd2luZG93LgotICAgICAgICBGcmFtZUxvYWRS
ZXF1ZXN0IGZyYW1lUmVxdWVzdChmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgICAgIGZyYW1lUmVxdWVz
dC5zZXRGcmFtZU5hbWUocmVxdWVzdC0+dGFyZ2V0KCkpOwotICAgICAgICBmcmFtZVJlcXVlc3Qu
c2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7Ci0gICAgICAgIGZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKGZyYW1lUmVxdWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVM
b2FkUmVxdWVzdCgqZnJhbWUsIHJlcXVlc3QtPnJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpOworICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNl
dEZyYW1lTmFtZShyZXF1ZXN0LT50YXJnZXQoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Qu
c2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7CisgICAgICAgIGZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKGZyYW1lTG9hZFJlcXVlc3QpOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBkb24n
dCBrbm93IHdoZXRoZXIgdGhlIHdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgaGVyZSBz
byB3ZSBqdXN0IGFzc3VtZSB0aGF0IGl0IHdvcmtlZC4KICAgICAgICAgLy8gSXQncyBiZXR0ZXIg
dGhhbiBub3QgdGVsbGluZyB0aGUgcGx1Zy1pbiBhbnl0aGluZy4KQEAgLTEyMTEsNyArMTIxMSw3
IEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJlcXVlc3QoVVJMUmVxdWVz
dCogcmVxdWVzdCkKICAgICB9CiAKICAgICAvLyBOb3cgYXNrIHRoZSBmcmFtZSB0byBsb2FkIHRo
ZSByZXF1ZXN0LgotICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QodGFyZ2V0RnJhbWUsIHJlcXVlc3QtPnJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCkubG9h
ZChGcmFtZUxvYWRSZXF1ZXN0KCp0YXJnZXRGcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogCiAgICAgYXV0byog
dGFyZ2V0V2ViRnJhbWUgPSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZSgqdGFyZ2V0RnJhbWUpOwog
ICAgIEFTU0VSVCh0YXJnZXRXZWJGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmViNjc1ZGIxZTljOWEwZjUyZGE3MGNjMjNlMmNl
ZmNiMjRjZmE3NS4uODc4YmRhMmU5Y2MwN2I0NjFjYTBkZmNhNjY5YmRlYzA3YTY3NGFjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTE5
Myw3ICsxMTkzLDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkVVJMSW5GcmFtZShjb25zdCBTdHJpbmcm
IHVybCwgdWludDY0X3QgZnJhbWVJRCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47
CiAKLSAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVz
dChmcmFtZS0+Y29yZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOworICAgIGZyYW1l
LT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KCpmcmFtZS0+Y29y
ZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogfQogCiAjaWYgIVBMQVRGT1JNKENP
Q09BKQpAQCAtMTIxNyw3ICsxMjE3LDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChjb25z
dCBMb2FkUGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMpCiAgICAgcGxhdGZvcm1EaWRSZWNlaXZl
TG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUgbG9h
ZCBpbiBXZWJDb3JlLgotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdChtX21h
aW5GcmFtZS0+Y29yZUZyYW1lKCksIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QsIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0
IGZyYW1lTG9hZFJlcXVlc3QoKm1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgbG9hZFBhcmFtZXRl
cnMucmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cp
OwogICAgIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgZXh0ZXJuYWxVUkxzUG9saWN5ID0g
c3RhdGljX2Nhc3Q8U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeT4obG9hZFBhcmFtZXRlcnMu
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSk7CiAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KGV4dGVybmFsVVJMc1BvbGljeSk7CiAKQEAgLTEy
NDEsNyArMTI0MSw3IEBAIHZvaWQgV2ViUGFnZTo6bG9hZERhdGFJbXBsKHVpbnQ2NF90IG5hdmln
YXRpb25JRCwgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmCiAgICAgbV9sb2FkZXJDbGll
bnQtPndpbGxMb2FkRGF0YVJlcXVlc3QoKnRoaXMsIHJlcXVlc3QsIGNvbnN0X2Nhc3Q8U2hhcmVk
QnVmZmVyKj4oc3Vic3RpdHV0ZURhdGEuY29udGVudCgpKSwgc3Vic3RpdHV0ZURhdGEubWltZVR5
cGUoKSwgc3Vic3RpdHV0ZURhdGEudGV4dEVuY29kaW5nKCksIHN1YnN0aXR1dGVEYXRhLmZhaWxp
bmdVUkwoKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUgbG9hZCBp
biBXZWJDb3JlLgotICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZChG
cmFtZUxvYWRSZXF1ZXN0KG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7
CisgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJl
cXVlc3QoKm1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIHZv
aWQgV2ViUGFnZTo6bG9hZFN0cmluZ0ltcGwodWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBT
dHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFVSTCYgYmFz
ZVVSTCwgY29uc3QgVVJMJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRh
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313424</attachid>
            <date>2017-06-20 12:46:31 -0700</date>
            <delta_ts>2017-06-20 12:48:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173614-20170620124631.patch</filename>
            <type>text/plain</type>
            <size>17504</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMzYjY4NGRlNGUyYzU0
ZDQ4YjE2MDliNDIwZjgwOWU4MWRjNDBiZS4uNTdiNGJlNTBjMzE5ZWFiODkyNzJjZWY2YzRiNjdi
ZGI1NzJhM2YwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIEZyYW1lTG9hZFJl
cXVlc3QgdGFrZXMgYSBGcmFtZSYgaW5zdGVhZCBvZiBhIEZyYW1lKgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvQ29udGVudEZpbHRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RmlsdGVyOjpoYW5kbGVQcm92aXNpb25hbExv
YWRGYWlsdXJlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KToKKyAgICAg
ICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFn
T3BlcmF0aW9uKToKKwogMjAxNy0wNi0xNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGhlYWRlciBPcHRpb25TZXQuaCBmcm9tIEZyYW1lTG9hZGVy
VHlwZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDdlYzY3NzczNTg1MjIzZjVhYTYyYzE4YjhjNjM3
YTM2ZDMyNzNlNWEuLjFhMDMzNTA2ZWY4ZTMzYzhhZDYxNzNiNTBmOWU1MTI3NTliM2NkMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0yMCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBGcmFtZUxvYWRSZXF1ZXN0IHRh
a2VzIGEgRnJhbWUmIGluc3RlYWQgb2YgYSBGcmFtZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXZWJQbHVnaW5Db250cm9sbGVyIHdlYlBsdWdJbkNvbnRhaW5lckxvYWRS
ZXF1ZXN0OmluRnJhbWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAg
ICAgKC1bV2ViRnJhbWUgbG9hZFJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9sb2Fk
RGF0YTpNSU1FVHlwZTp0ZXh0RW5jb2RpbmdOYW1lOmJhc2VVUkw6dW5yZWFjaGFibGVVUkw6XSk6
CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Qcm92aWRl
cnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFrcyBpdGVt
IHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjY2Q3ZTk0ZTkwMzM4YzIyY2Iy
N2Q2NGE4NTdlMDY2YTkwMDNiNDhjLi5lMjNkMWEyZDNlZjBmMTEwMTY0NTE4YjEzYjA0NmEzMTY2
MmIyMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjAgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2Fk
UmVxdWVzdCB0YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdCk6CisgICAg
ICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KToKKwog
MjAxNy0wNi0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAog
ICAgICAgICBbV2luXSBXZWJLaXQgc2hvdWxkbid0IGluY2x1ZGUgdGhlIGZvcndhcmRpbmcgaGVh
ZGVyIG9mIFdlYktpdCBpdHNlbGYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkZDRkNTZiZTg1MTE3ZGI0MTIyMjJj
OTUyYjMzNGY2NjNmNTFiZjk5Li4xYzYwNGU3MGJlMWQxNDBkMzYzYWI2NTcyNjVmN2JkNzE0NGFl
NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDYtMjAgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2FkUmVxdWVzdCB0
YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJl
cXVlc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFVSTEluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWREYXRh
SW1wbCk6CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Q
cm92aWRlcnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFr
cyBpdGVtIHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Db250ZW50RmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db250ZW50RmlsdGVy
LmNwcAppbmRleCA2ZjJlNTAzNzY1ZTFhMmYxMmYyOGZjNmMzODljOGNkZDI2OWMyMzE4Li4wNDE0
YWM4ZjgyOTRhZWJiMjlkNjM3MjhmNDRkYmQ0OTE4YjE5YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ29udGVudEZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0NvbnRlbnRGaWx0ZXIuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBDb250ZW50Rmls
dGVyOjpoYW5kbGVQcm92aXNpb25hbExvYWRGYWlsdXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgeyBVUkwoKSwgQVNDSUlMaXRlcmFs
KCJ0ZXh0L2h0bWwiKSwgcmVwbGFjZW1lbnREYXRhLT5zaXplKCksIEFTQ0lJTGl0ZXJhbCgiVVRG
LTgiKSB9OwogICAgIFN1YnN0aXR1dGVEYXRhIHN1YnN0aXR1dGVEYXRhIHsgV1RGTW92ZShyZXBs
YWNlbWVudERhdGEpLCBlcnJvci5mYWlsaW5nVVJMKCksIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0
YTo6U2Vzc2lvbkhpc3RvcnlWaXNpYmlsaXR5OjpIaWRkZW4gfTsKICAgICBTZXRGb3JTY29wZTxi
b29sPiBsb2FkaW5nQmxvY2tlZFBhZ2UgeyBtX2lzTG9hZGluZ0Jsb2NrZWRQYWdlLCB0cnVlIH07
Ci0gICAgbV9kb2N1bWVudExvYWRlci5mcmFtZUxvYWRlcigpLT5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QobV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKKyAg
ICBtX2RvY3VtZW50TG9hZGVyLmZyYW1lTG9hZGVyKCktPmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgq
bV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJl
cXVlc3QuY3BwCmluZGV4IDhhMWU3NTE0YzI2NzE3NTFiMzRkYWFmZDA4NjkyNGU3N2RlYmMzZmIu
LjdkMmJkM2I3MjgyZjJmODdhODg3Yzg1MTAzNjU5ZTUwMGE3MmMyYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKQEAgLTM2LDE4ICszNiwxOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3Qo
RnJhbWUqIGZyYW1lLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBj
b25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURhdGEpCi0gICAgOiBtX3JlcXVlc3Rlcigm
ZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpCi0gICAgLCBtX3Jlc291cmNlUmVx
dWVzdChyZXNvdXJjZVJlcXVlc3QpCi0gICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5
KGZhbHNlKQotICAgICwgbV9zdWJzdGl0dXRlRGF0YShzdWJzdGl0dXRlRGF0YSkKLSAgICAsIG1f
bG9ja0hpc3RvcnkoTG9ja0hpc3Rvcnk6Ok5vKQotICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
KExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vKQotICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIoTWF5
YmVTZW5kUmVmZXJyZXIpCi0gICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTChBbGxv
d05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcykKLSAgICAsIG1fbmV3RnJhbWVPcGVuZXJQb2xp
Y3koTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KQotICAgICwgbV9zaG91bGRSZXBsYWNlRG9j
dW1lbnRJZkphdmFTY3JpcHRVUkwoUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKQotICAg
ICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kpCitGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KEZyYW1lJiBmcmFtZSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0
ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQorICAgIDogbV9yZXF1ZXN0ZXIgeyAmZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSB9CisgICAgLCBtX3Jlc291cmNlUmVxdWVzdCB7IHJlc291
cmNlUmVxdWVzdCB9CisgICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5IHsgZmFsc2Ug
fQorICAgICwgbV9zdWJzdGl0dXRlRGF0YSB7IHN1YnN0aXR1dGVEYXRhIH0KKyAgICAsIG1fbG9j
a0hpc3RvcnkgeyBMb2NrSGlzdG9yeTo6Tm8gfQorICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
IHsgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8gfQorICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIg
eyBNYXliZVNlbmRSZWZlcnJlciB9CisgICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVS
TCB7IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzIH0KKyAgICAsIG1fbmV3RnJhbWVP
cGVuZXJQb2xpY3kgeyBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3cgfQorICAgICwgbV9zaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgeyBSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwgfQorICAgICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHsgc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSB9CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkUmVxdWVzdC5oCmluZGV4IDFjYmViYmI4MmMzNWUwZTZlNWVjYmUxMjgwZjQxYWI1OTc4
NGQ0NTQuLjJlNmUzMDhlZDQyMzNmNWNiYjZiZjE1MGRmOGY5NDgyMmVjMjg4ZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1
YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVMb2FkUmVxdWVz
dChGcmFtZSosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3ksIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiA9IFN1YnN0aXR1dGVEYXRhKCkpOworICAgIFdF
QkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRnJhbWUmLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYg
PSBTdWJzdGl0dXRlRGF0YSgpKTsKIAogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzb3VyY2VSZXF1ZXN0LmlzRW1wdHkoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IDQ4MTgzZjljNDE1ODg4YjZlZDM4NGQzMTQxYWY4NzQ2ZjQ3ODYy
ZDkuLmZmYmU4ZjhiZTU5ZTc5MzA5NGEyOTQxZjJlMmYwN2U3ODdlMzgyYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yOTAsNyArMjkwLDcgQEAgYm9vbCBEcmFn
Q29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdE
ZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkLCBkcmFnRGF0YSk7Ci0g
ICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgmbV9w
YWdlLm1haW5GcmFtZSgpLCB7IHVybFN0cmluZyB9LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KSk7CisgICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdChtX3BhZ2UubWFpbkZyYW1lKCksIHsgdXJsU3RyaW5nIH0sIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tCmluZGV4IDFmNDU3NzYyZWZkZDU2
NjcxYTQzOGE0ZmM4NWNjMzhkMWQzMzExYjUuLmY3ZjQzNmZiMjY3YjAzMWJkNjYzM2MyOWZlNGRm
YWRiMDgxMjhkMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1
Z2luQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdp
bkNvbnRyb2xsZXIubW0KQEAgLTQ5OCwxMCArNDk4LDEwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbE91
dHN0YW5kaW5nQ2hlY2soY29uc3Qgdm9pZCAqaXRlbSwgdm9pZCAqY29udGV4dCkKICAgICAgICAg
ICAgIExPR19FUlJPUigiY291bGQgbm90IGxvYWQgVVJMICVAIiwgW3JlcXVlc3QgVVJMXSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBm
cmFtZVJlcXVlc3QoY29yZShmcmFtZSksIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3k6OlNob3VsZE5vdEFsbG93KTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1lTmFt
ZSh0YXJnZXQpOwotICAgICAgICBmcmFtZVJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQ
b2xpY3kodHJ1ZSk7Ci0gICAgICAgIGNvcmUoZnJhbWUpLT5sb2FkZXIoKS5sb2FkKGZyYW1lUmVx
dWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpjb3Jl
KGZyYW1lKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90
QWxsb3cgfTsKKyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFyZ2V0KTsK
KyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSh0
cnVlKTsKKyAgICAgICAgY29yZShmcmFtZSktPmxvYWRlcigpLmxvYWQoZnJhbWVMb2FkUmVxdWVz
dCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQppbmRleCA1
YzBiZDliYzNlZmRjMGRjYjBhNzUyMjE4MmYwMDRhNDJmZDNkMjQ2Li5iMzFmMTY4MGJlNTU3MmNl
M2M2ODYwZjIwNWIxMDJiYzkzMmViM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KQEAgLTI0NzIsNyArMjQ3Miw3IEBAIHN0YXRpYyBib29sIG5lZWRzTWljcm9zb2Z0TWVz
c2VuZ2VyRE9NRG9jdW1lbnRXb3JrYXJvdW5kKCkKICAgICBpZiAoIXJlc291cmNlUmVxdWVzdC51
cmwoKS5pc1ZhbGlkKCkgJiYgIXJlc291cmNlUmVxdWVzdC51cmwoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJlc291cmNlUmVxdWVzdC5zZXRVUkwoW05TVVJMIFVSTFdpdGhTdHJpbmc6W0AiZmlsZToi
IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOltbcmVxdWVzdCBVUkxdIGFic29sdXRlU3RyaW5nXV1d
KTsKIAotICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KGNvcmVG
cmFtZSwgcmVzb3VyY2VSZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91
bGROb3RBbGxvdykpOworICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1
ZXN0KCpjb3JlRnJhbWUsIHJlc291cmNlUmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpKTsKIH0KIAogc3RhdGljIE5TVVJMICpjcmVhdGVVbmlxdWVX
ZWJEYXRhVVJMKCkKQEAgLTI1MDQsNyArMjUwNCw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5p
cXVlV2ViRGF0YVVSTCgpCiAgICAgaWYgKHNob3VsZFVzZVF1aWNrTG9va0Zvck1JTUVUeXBlKE1J
TUVUeXBlKSkgewogICAgICAgICBOU1VSTCAqcXVpY2tMb29rVVJMID0gcmVzcG9uc2VVUkwgPyBy
ZXNwb25zZVVSTCA6IGJhc2VVUkw7CiAgICAgICAgIGlmIChhdXRvIHJlcXVlc3QgPSByZWdpc3Rl
clFMUHJldmlld0NvbnZlcnRlcklmTmVlZGVkKHF1aWNrTG9va1VSTCwgTUlNRVR5cGUsIGRhdGEp
KSB7Ci0gICAgICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1l
TG9hZFJlcXVlc3QoX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICAgICAgICAgIF9wcml2
YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgqX3ByaXZhdGUt
PmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6
U2hvdWxkTm90QWxsb3cpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0K
QEAgLTI1MTUsNyArMjUxNSw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0YVVS
TCgpCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShyZXNwb25zZVVSTCwgTUlNRVR5cGUs
IFtkYXRhIGxlbmd0aF0sIGVuY29kaW5nTmFtZSk7CiAgICAgU3Vic3RpdHV0ZURhdGEgc3Vic3Rp
dHV0ZURhdGEoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSksIFt1bnJlYWNoYWJs
ZVVSTCBhYnNvbHV0ZVVSTF0sIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0YTo6U2Vzc2lvbkhpc3Rv
cnlWaXNpYmlsaXR5OjpIaWRkZW4pOwogCi0gICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+bG9hZGVy
KCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KF9wcml2YXRlLT5jb3JlRnJhbWUsIHJlcXVlc3QsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBzdWJzdGl0dXRlRGF0
YSkpOworICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdCgqX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIC0gKHZvaWQp
bG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4
dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVSTDooTlNVUkwgKili
YXNlVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCAzMGI1
MDI2YTA4NzBlN2M3ODhhNWQyOTZkZWE5Y2JjOWUwNmQxNDhlLi42NmNmZWUyNDNhYjc3OWNjNmFh
NWZjOThlZDk0MTM1ODdmN2Q2NjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
Vmlldy5jcHAKQEAgLTQyMiwxMCArNDIyLDEwIEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybVJl
cXVlc3QoUGx1Z2luUmVxdWVzdCogcmVxdWVzdCkKICAgICAgICAgICAgIC8vIFBsdWdpblZpZXcs
IHNvIHdlIHByb3RlY3QgaXQuIDxyZGFyOi8vcHJvYmxlbS82OTkxMjUxPgogICAgICAgICAgICAg
UmVmUHRyPFBsdWdpblZpZXc+IHByb3RlY3QodGhpcyk7CiAKLSAgICAgICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVSZXF1ZXN0KG1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1l
TmFtZSh0YXJnZXRGcmFtZU5hbWUpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldFNob3Vs
ZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOwotICAgICAgICAgICAgbV9wYXJlbnRGcmFtZS0+
bG9hZGVyKCkubG9hZChmcmFtZVJlcXVlc3QpOworICAgICAgICAgICAgRnJhbWVMb2FkUmVxdWVz
dCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cgfTsKKyAgICAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0
RnJhbWVOYW1lKHRhcmdldEZyYW1lTmFtZSk7CisgICAgICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LnNldFNob3VsZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOworICAgICAgICAgICAgbV9wYXJl
bnRGcmFtZS0+bG9hZGVyKCkubG9hZChmcmFtZUxvYWRSZXF1ZXN0KTsKIAogICAgICAgICAgICAg
Ly8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS80ODA3NDY5PiBUaGlzIHNob3VsZCBiZSBzZW50IHdo
ZW4gdGhlIGRvY3VtZW50IGhhcyBmaW5pc2hlZCBsb2FkaW5nCiAgICAgICAgICAgICBpZiAocmVx
dWVzdC0+c2VuZE5vdGlmaWNhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggMGMy
ZWE3ZDU3NzIyNDYwZjQ4MDk4MWI4MTA3MDRmMzZiNzQxMDZhNC4uMTg3MDk3ODdhNDgwYjE4MzAy
NGZmNTU3OTk5YTZhYzIzMzQyZThiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
RnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcApAQCAtNTYxLDcg
KzU2MSw3IEBAIEhSRVNVTFQgV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KF9Jbl9vcHRfIElXZWJVUkxS
ZXF1ZXN0KiByZXF1ZXN0KQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1cm4gRV9V
TkVYUEVDVEVEOwogCi0gICAgY29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QoY29yZUZyYW1lLCByZXF1ZXN0SW1wbC0+cmVzb3VyY2VSZXF1ZXN0KCksIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KSk7CisgICAgY29yZUZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKmNvcmVGcmFtZSwgcmVxdWVzdEltcGwtPnJlc291
cmNlUmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dykpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMmQyMzJhY2QxNzBlNWUwMWJmMWI2MGE3
M2MwYTZlYTY1ZjRkYjBiYS4uZmI0OWQwYzAzNDFjNTU4NjE4MmJiNzY3YjRjNWY5NTRmOTA3ODM2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcApAQCAtMTE5OSwxMCArMTE5OSwxMCBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1GcmFt
ZUxvYWRVUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVlc3QpCiAgICAgRnJhbWUqIHRhcmdldEZy
YW1lID0gZnJhbWUtPmxvYWRlcigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC0+dGFy
Z2V0KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAgICAgLy8gV2UgZGlkIG5vdCBm
aW5kIGEgdGFyZ2V0IGZyYW1lLiBBc2sgb3VyIGZyYW1lIHRvIGxvYWQgdGhlIHBhZ2UuIFRoaXMg
bWF5IG9yIG1heSBub3QgY3JlYXRlIGEgcG9wdXAgd2luZG93LgotICAgICAgICBGcmFtZUxvYWRS
ZXF1ZXN0IGZyYW1lUmVxdWVzdChmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgICAgIGZyYW1lUmVxdWVz
dC5zZXRGcmFtZU5hbWUocmVxdWVzdC0+dGFyZ2V0KCkpOwotICAgICAgICBmcmFtZVJlcXVlc3Qu
c2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7Ci0gICAgICAgIGZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKGZyYW1lUmVxdWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVM
b2FkUmVxdWVzdCB7ICpmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyB9OworICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LnNldEZyYW1lTmFtZShyZXF1ZXN0LT50YXJnZXQoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVl
c3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7CisgICAgICAgIGZyYW1lLT5s
b2FkZXIoKS5sb2FkKGZyYW1lTG9hZFJlcXVlc3QpOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBk
b24ndCBrbm93IHdoZXRoZXIgdGhlIHdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgaGVy
ZSBzbyB3ZSBqdXN0IGFzc3VtZSB0aGF0IGl0IHdvcmtlZC4KICAgICAgICAgLy8gSXQncyBiZXR0
ZXIgdGhhbiBub3QgdGVsbGluZyB0aGUgcGx1Zy1pbiBhbnl0aGluZy4KQEAgLTEyMTEsNyArMTIx
MSw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJlcXVlc3QoVVJMUmVx
dWVzdCogcmVxdWVzdCkKICAgICB9CiAKICAgICAvLyBOb3cgYXNrIHRoZSBmcmFtZSB0byBsb2Fk
IHRoZSByZXF1ZXN0LgotICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJl
cXVlc3QodGFyZ2V0RnJhbWUsIHJlcXVlc3QtPnJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCku
bG9hZChGcmFtZUxvYWRSZXF1ZXN0KCp0YXJnZXRGcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogCiAgICAgYXV0
byogdGFyZ2V0V2ViRnJhbWUgPSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZSgqdGFyZ2V0RnJhbWUp
OwogICAgIEFTU0VSVCh0YXJnZXRXZWJGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmViNjc1ZGIxZTljOWEwZjUyZGE3MGNjMjNl
MmNlZmNiMjRjZmE3NS4uODc4YmRhMmU5Y2MwN2I0NjFjYTBkZmNhNjY5YmRlYzA3YTY3NGFjZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MTE5Myw3ICsxMTkzLDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkVVJMSW5GcmFtZShjb25zdCBTdHJp
bmcmIHVybCwgdWludDY0X3QgZnJhbWVJRCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1
cm47CiAKLSAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdChmcmFtZS0+Y29yZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkp
LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOworICAgIGZy
YW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KCpmcmFtZS0+
Y29yZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogfQogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQpAQCAtMTIxNyw3ICsxMjE3LDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChj
b25zdCBMb2FkUGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMpCiAgICAgcGxhdGZvcm1EaWRSZWNl
aXZlTG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUg
bG9hZCBpbiBXZWJDb3JlLgotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCht
X21haW5GcmFtZS0+Y29yZUZyYW1lKCksIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QsIFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKKyAgICBGcmFtZUxvYWRSZXF1
ZXN0IGZyYW1lTG9hZFJlcXVlc3QoKm1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgbG9hZFBhcmFt
ZXRlcnMucmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxs
b3cpOwogICAgIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgZXh0ZXJuYWxVUkxzUG9saWN5
ID0gc3RhdGljX2Nhc3Q8U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeT4obG9hZFBhcmFtZXRl
cnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSk7CiAgICAgZnJhbWVMb2FkUmVxdWVzdC5z
ZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KGV4dGVybmFsVVJMc1BvbGljeSk7CiAKQEAg
LTEyNDEsNyArMTI0MSw3IEBAIHZvaWQgV2ViUGFnZTo6bG9hZERhdGFJbXBsKHVpbnQ2NF90IG5h
dmlnYXRpb25JRCwgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmCiAgICAgbV9sb2FkZXJD
bGllbnQtPndpbGxMb2FkRGF0YVJlcXVlc3QoKnRoaXMsIHJlcXVlc3QsIGNvbnN0X2Nhc3Q8U2hh
cmVkQnVmZmVyKj4oc3Vic3RpdHV0ZURhdGEuY29udGVudCgpKSwgc3Vic3RpdHV0ZURhdGEubWlt
ZVR5cGUoKSwgc3Vic3RpdHV0ZURhdGEudGV4dEVuY29kaW5nKCksIHN1YnN0aXR1dGVEYXRhLmZh
aWxpbmdVUkwoKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtSGFuZGxlc1RvT2Jq
ZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUgbG9h
ZCBpbiBXZWJDb3JlLgotICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9h
ZChGcmFtZUxvYWRSZXF1ZXN0KG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRh
KSk7CisgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9h
ZFJlcXVlc3QoKm1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAK
IHZvaWQgV2ViUGFnZTo6bG9hZFN0cmluZ0ltcGwodWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFVSTCYg
YmFzZVVSTCwgY29uc3QgVVJMJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmIHVzZXJE
YXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313425</attachid>
            <date>2017-06-20 12:48:26 -0700</date>
            <delta_ts>2017-06-20 13:52:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173614-20170620124825.patch</filename>
            <type>text/plain</type>
            <size>17507</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMzYjY4NGRlNGUyYzU0
ZDQ4YjE2MDliNDIwZjgwOWU4MWRjNDBiZS4uNTdiNGJlNTBjMzE5ZWFiODkyNzJjZWY2YzRiNjdi
ZGI1NzJhM2YwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIEZyYW1lTG9hZFJl
cXVlc3QgdGFrZXMgYSBGcmFtZSYgaW5zdGVhZCBvZiBhIEZyYW1lKgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvQ29udGVudEZpbHRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RmlsdGVyOjpoYW5kbGVQcm92aXNpb25hbExv
YWRGYWlsdXJlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KToKKyAgICAg
ICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFn
T3BlcmF0aW9uKToKKwogMjAxNy0wNi0xNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGhlYWRlciBPcHRpb25TZXQuaCBmcm9tIEZyYW1lTG9hZGVy
VHlwZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDdlYzY3NzczNTg1MjIzZjVhYTYyYzE4YjhjNjM3
YTM2ZDMyNzNlNWEuLjFhMDMzNTA2ZWY4ZTMzYzhhZDYxNzNiNTBmOWU1MTI3NTliM2NkMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0yMCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBGcmFtZUxvYWRSZXF1ZXN0IHRh
a2VzIGEgRnJhbWUmIGluc3RlYWQgb2YgYSBGcmFtZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXZWJQbHVnaW5Db250cm9sbGVyIHdlYlBsdWdJbkNvbnRhaW5lckxvYWRS
ZXF1ZXN0OmluRnJhbWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAg
ICAgKC1bV2ViRnJhbWUgbG9hZFJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9sb2Fk
RGF0YTpNSU1FVHlwZTp0ZXh0RW5jb2RpbmdOYW1lOmJhc2VVUkw6dW5yZWFjaGFibGVVUkw6XSk6
CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Qcm92aWRl
cnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFrcyBpdGVt
IHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjY2Q3ZTk0ZTkwMzM4YzIyY2Iy
N2Q2NGE4NTdlMDY2YTkwMDNiNDhjLi5lMjNkMWEyZDNlZjBmMTEwMTY0NTE4YjEzYjA0NmEzMTY2
MmIyMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjAgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2Fk
UmVxdWVzdCB0YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdCk6CisgICAg
ICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KToKKwog
MjAxNy0wNi0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAog
ICAgICAgICBbV2luXSBXZWJLaXQgc2hvdWxkbid0IGluY2x1ZGUgdGhlIGZvcndhcmRpbmcgaGVh
ZGVyIG9mIFdlYktpdCBpdHNlbGYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkZDRkNTZiZTg1MTE3ZGI0MTIyMjJj
OTUyYjMzNGY2NjNmNTFiZjk5Li4xYzYwNGU3MGJlMWQxNDBkMzYzYWI2NTcyNjVmN2JkNzE0NGFl
NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDYtMjAgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRnJhbWVMb2FkUmVxdWVzdCB0
YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJl
cXVlc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFVSTEluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWREYXRh
SW1wbCk6CisKIDIwMTctMDYtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXNpbmcgLVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNldEl0ZW1Q
cm92aWRlcnM6XSB0byBzd2FwIG91dCBpdGVtIHByb3ZpZGVycyBiZWZvcmUgYSBkcm9wIGJyZWFr
cyBpdGVtIHByb3ZpZGVyIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Db250ZW50RmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db250ZW50RmlsdGVy
LmNwcAppbmRleCA2ZjJlNTAzNzY1ZTFhMmYxMmYyOGZjNmMzODljOGNkZDI2OWMyMzE4Li4wNDE0
YWM4ZjgyOTRhZWJiMjlkNjM3MjhmNDRkYmQ0OTE4YjE5YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ29udGVudEZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0NvbnRlbnRGaWx0ZXIuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBDb250ZW50Rmls
dGVyOjpoYW5kbGVQcm92aXNpb25hbExvYWRGYWlsdXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgeyBVUkwoKSwgQVNDSUlMaXRlcmFs
KCJ0ZXh0L2h0bWwiKSwgcmVwbGFjZW1lbnREYXRhLT5zaXplKCksIEFTQ0lJTGl0ZXJhbCgiVVRG
LTgiKSB9OwogICAgIFN1YnN0aXR1dGVEYXRhIHN1YnN0aXR1dGVEYXRhIHsgV1RGTW92ZShyZXBs
YWNlbWVudERhdGEpLCBlcnJvci5mYWlsaW5nVVJMKCksIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0
YTo6U2Vzc2lvbkhpc3RvcnlWaXNpYmlsaXR5OjpIaWRkZW4gfTsKICAgICBTZXRGb3JTY29wZTxi
b29sPiBsb2FkaW5nQmxvY2tlZFBhZ2UgeyBtX2lzTG9hZGluZ0Jsb2NrZWRQYWdlLCB0cnVlIH07
Ci0gICAgbV9kb2N1bWVudExvYWRlci5mcmFtZUxvYWRlcigpLT5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QobV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKKyAg
ICBtX2RvY3VtZW50TG9hZGVyLmZyYW1lTG9hZGVyKCktPmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgq
bV9kb2N1bWVudExvYWRlci5mcmFtZSgpLCBibG9ja2VkUGFnZVVSTCgpLCBTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJl
cXVlc3QuY3BwCmluZGV4IDhhMWU3NTE0YzI2NzE3NTFiMzRkYWFmZDA4NjkyNGU3N2RlYmMzZmIu
LjdkMmJkM2I3MjgyZjJmODdhODg3Yzg1MTAzNjU5ZTUwMGE3MmMyYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKQEAgLTM2LDE4ICszNiwxOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3Qo
RnJhbWUqIGZyYW1lLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBj
b25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURhdGEpCi0gICAgOiBtX3JlcXVlc3Rlcigm
ZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpCi0gICAgLCBtX3Jlc291cmNlUmVx
dWVzdChyZXNvdXJjZVJlcXVlc3QpCi0gICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5
KGZhbHNlKQotICAgICwgbV9zdWJzdGl0dXRlRGF0YShzdWJzdGl0dXRlRGF0YSkKLSAgICAsIG1f
bG9ja0hpc3RvcnkoTG9ja0hpc3Rvcnk6Ok5vKQotICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
KExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vKQotICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIoTWF5
YmVTZW5kUmVmZXJyZXIpCi0gICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTChBbGxv
d05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcykKLSAgICAsIG1fbmV3RnJhbWVPcGVuZXJQb2xp
Y3koTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KQotICAgICwgbV9zaG91bGRSZXBsYWNlRG9j
dW1lbnRJZkphdmFTY3JpcHRVUkwoUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKQotICAg
ICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kpCitGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KEZyYW1lJiBmcmFtZSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0
ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQorICAgIDogbV9yZXF1ZXN0ZXIgeyAmZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSB9CisgICAgLCBtX3Jlc291cmNlUmVxdWVzdCB7IHJlc291
cmNlUmVxdWVzdCB9CisgICAgLCBtX3Nob3VsZENoZWNrTmV3V2luZG93UG9saWN5IHsgZmFsc2Ug
fQorICAgICwgbV9zdWJzdGl0dXRlRGF0YSB7IHN1YnN0aXR1dGVEYXRhIH0KKyAgICAsIG1fbG9j
a0hpc3RvcnkgeyBMb2NrSGlzdG9yeTo6Tm8gfQorICAgICwgbV9sb2NrQmFja0ZvcndhcmRMaXN0
IHsgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8gfQorICAgICwgbV9zaG91bGRTZW5kUmVmZXJyZXIg
eyBNYXliZVNlbmRSZWZlcnJlciB9CisgICAgLCBtX2FsbG93TmF2aWdhdGlvblRvSW52YWxpZFVS
TCB7IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzIH0KKyAgICAsIG1fbmV3RnJhbWVP
cGVuZXJQb2xpY3kgeyBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3cgfQorICAgICwgbV9zaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgeyBSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwgfQorICAgICwgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHsgc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSB9CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkUmVxdWVzdC5oCmluZGV4IDFjYmViYmI4MmMzNWUwZTZlNWVjYmUxMjgwZjQxYWI1OTc4
NGQ0NTQuLjJlNmUzMDhlZDQyMzNmNWNiYjZiZjE1MGRmOGY5NDgyMmVjMjg4ZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1
YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVMb2FkUmVxdWVz
dChGcmFtZSosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3ksIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiA9IFN1YnN0aXR1dGVEYXRhKCkpOworICAgIFdF
QkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRnJhbWUmLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYg
PSBTdWJzdGl0dXRlRGF0YSgpKTsKIAogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzb3VyY2VSZXF1ZXN0LmlzRW1wdHkoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IDQ4MTgzZjljNDE1ODg4YjZlZDM4NGQzMTQxYWY4NzQ2ZjQ3ODYy
ZDkuLmZmYmU4ZjhiZTU5ZTc5MzA5NGEyOTQxZjJlMmYwN2U3ODdlMzgyYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yOTAsNyArMjkwLDcgQEAgYm9vbCBEcmFn
Q29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdE
ZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkLCBkcmFnRGF0YSk7Ci0g
ICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgmbV9w
YWdlLm1haW5GcmFtZSgpLCB7IHVybFN0cmluZyB9LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KSk7CisgICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdChtX3BhZ2UubWFpbkZyYW1lKCksIHsgdXJsU3RyaW5nIH0sIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250cm9sbGVyLm1tCmluZGV4IDFmNDU3NzYyZWZkZDU2
NjcxYTQzOGE0ZmM4NWNjMzhkMWQzMzExYjUuLmY3ZjQzNmZiMjY3YjAzMWJkNjYzM2MyOWZlNGRm
YWRiMDgxMjhkMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1
Z2luQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdp
bkNvbnRyb2xsZXIubW0KQEAgLTQ5OCwxMCArNDk4LDEwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbE91
dHN0YW5kaW5nQ2hlY2soY29uc3Qgdm9pZCAqaXRlbSwgdm9pZCAqY29udGV4dCkKICAgICAgICAg
ICAgIExPR19FUlJPUigiY291bGQgbm90IGxvYWQgVVJMICVAIiwgW3JlcXVlc3QgVVJMXSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBm
cmFtZVJlcXVlc3QoY29yZShmcmFtZSksIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3k6OlNob3VsZE5vdEFsbG93KTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1lTmFt
ZSh0YXJnZXQpOwotICAgICAgICBmcmFtZVJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQ
b2xpY3kodHJ1ZSk7Ci0gICAgICAgIGNvcmUoZnJhbWUpLT5sb2FkZXIoKS5sb2FkKGZyYW1lUmVx
dWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpjb3Jl
KGZyYW1lKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90
QWxsb3cgfTsKKyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFyZ2V0KTsK
KyAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSh0
cnVlKTsKKyAgICAgICAgY29yZShmcmFtZSktPmxvYWRlcigpLmxvYWQoZnJhbWVMb2FkUmVxdWVz
dCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQppbmRleCA1
YzBiZDliYzNlZmRjMGRjYjBhNzUyMjE4MmYwMDRhNDJmZDNkMjQ2Li5iMzFmMTY4MGJlNTU3MmNl
M2M2ODYwZjIwNWIxMDJiYzkzMmViM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KQEAgLTI0NzIsNyArMjQ3Miw3IEBAIHN0YXRpYyBib29sIG5lZWRzTWljcm9zb2Z0TWVz
c2VuZ2VyRE9NRG9jdW1lbnRXb3JrYXJvdW5kKCkKICAgICBpZiAoIXJlc291cmNlUmVxdWVzdC51
cmwoKS5pc1ZhbGlkKCkgJiYgIXJlc291cmNlUmVxdWVzdC51cmwoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJlc291cmNlUmVxdWVzdC5zZXRVUkwoW05TVVJMIFVSTFdpdGhTdHJpbmc6W0AiZmlsZToi
IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOltbcmVxdWVzdCBVUkxdIGFic29sdXRlU3RyaW5nXV1d
KTsKIAotICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KGNvcmVG
cmFtZSwgcmVzb3VyY2VSZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91
bGROb3RBbGxvdykpOworICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1
ZXN0KCpjb3JlRnJhbWUsIHJlc291cmNlUmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpKTsKIH0KIAogc3RhdGljIE5TVVJMICpjcmVhdGVVbmlxdWVX
ZWJEYXRhVVJMKCkKQEAgLTI1MDQsNyArMjUwNCw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5p
cXVlV2ViRGF0YVVSTCgpCiAgICAgaWYgKHNob3VsZFVzZVF1aWNrTG9va0Zvck1JTUVUeXBlKE1J
TUVUeXBlKSkgewogICAgICAgICBOU1VSTCAqcXVpY2tMb29rVVJMID0gcmVzcG9uc2VVUkwgPyBy
ZXNwb25zZVVSTCA6IGJhc2VVUkw7CiAgICAgICAgIGlmIChhdXRvIHJlcXVlc3QgPSByZWdpc3Rl
clFMUHJldmlld0NvbnZlcnRlcklmTmVlZGVkKHF1aWNrTG9va1VSTCwgTUlNRVR5cGUsIGRhdGEp
KSB7Ci0gICAgICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1l
TG9hZFJlcXVlc3QoX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICAgICAgICAgIF9wcml2
YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgqX3ByaXZhdGUt
PmNvcmVGcmFtZSwgcmVxdWVzdC5nZXQoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6
U2hvdWxkTm90QWxsb3cpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0K
QEAgLTI1MTUsNyArMjUxNSw3IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0YVVS
TCgpCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShyZXNwb25zZVVSTCwgTUlNRVR5cGUs
IFtkYXRhIGxlbmd0aF0sIGVuY29kaW5nTmFtZSk7CiAgICAgU3Vic3RpdHV0ZURhdGEgc3Vic3Rp
dHV0ZURhdGEoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSksIFt1bnJlYWNoYWJs
ZVVSTCBhYnNvbHV0ZVVSTF0sIHJlc3BvbnNlLCBTdWJzdGl0dXRlRGF0YTo6U2Vzc2lvbkhpc3Rv
cnlWaXNpYmlsaXR5OjpIaWRkZW4pOwogCi0gICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+bG9hZGVy
KCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KF9wcml2YXRlLT5jb3JlRnJhbWUsIHJlcXVlc3QsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBzdWJzdGl0dXRlRGF0
YSkpOworICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdCgqX3ByaXZhdGUtPmNvcmVGcmFtZSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIC0gKHZvaWQp
bG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4
dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVSTDooTlNVUkwgKili
YXNlVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCAzMGI1
MDI2YTA4NzBlN2M3ODhhNWQyOTZkZWE5Y2JjOWUwNmQxNDhlLi42NmNmZWUyNDNhYjc3OWNjNmFh
NWZjOThlZDk0MTM1ODdmN2Q2NjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
Vmlldy5jcHAKQEAgLTQyMiwxMCArNDIyLDEwIEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybVJl
cXVlc3QoUGx1Z2luUmVxdWVzdCogcmVxdWVzdCkKICAgICAgICAgICAgIC8vIFBsdWdpblZpZXcs
IHNvIHdlIHByb3RlY3QgaXQuIDxyZGFyOi8vcHJvYmxlbS82OTkxMjUxPgogICAgICAgICAgICAg
UmVmUHRyPFBsdWdpblZpZXc+IHByb3RlY3QodGhpcyk7CiAKLSAgICAgICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVSZXF1ZXN0KG1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1l
TmFtZSh0YXJnZXRGcmFtZU5hbWUpOwotICAgICAgICAgICAgZnJhbWVSZXF1ZXN0LnNldFNob3Vs
ZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOwotICAgICAgICAgICAgbV9wYXJlbnRGcmFtZS0+
bG9hZGVyKCkubG9hZChmcmFtZVJlcXVlc3QpOworICAgICAgICAgICAgRnJhbWVMb2FkUmVxdWVz
dCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fcGFyZW50RnJhbWUuZ2V0KCksIHJlcXVlc3QtPmZyYW1l
TG9hZFJlcXVlc3QoKS5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3cgfTsKKyAgICAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0
RnJhbWVOYW1lKHRhcmdldEZyYW1lTmFtZSk7CisgICAgICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LnNldFNob3VsZENoZWNrTmV3V2luZG93UG9saWN5KHRydWUpOworICAgICAgICAgICAgbV9wYXJl
bnRGcmFtZS0+bG9hZGVyKCkubG9hZChmcmFtZUxvYWRSZXF1ZXN0KTsKIAogICAgICAgICAgICAg
Ly8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS80ODA3NDY5PiBUaGlzIHNob3VsZCBiZSBzZW50IHdo
ZW4gdGhlIGRvY3VtZW50IGhhcyBmaW5pc2hlZCBsb2FkaW5nCiAgICAgICAgICAgICBpZiAocmVx
dWVzdC0+c2VuZE5vdGlmaWNhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggMGMy
ZWE3ZDU3NzIyNDYwZjQ4MDk4MWI4MTA3MDRmMzZiNzQxMDZhNC4uMTg3MDk3ODdhNDgwYjE4MzAy
NGZmNTU3OTk5YTZhYzIzMzQyZThiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
RnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcApAQCAtNTYxLDcg
KzU2MSw3IEBAIEhSRVNVTFQgV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KF9Jbl9vcHRfIElXZWJVUkxS
ZXF1ZXN0KiByZXF1ZXN0KQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1cm4gRV9V
TkVYUEVDVEVEOwogCi0gICAgY29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QoY29yZUZyYW1lLCByZXF1ZXN0SW1wbC0+cmVzb3VyY2VSZXF1ZXN0KCksIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KSk7CisgICAgY29yZUZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKmNvcmVGcmFtZSwgcmVxdWVzdEltcGwtPnJlc291
cmNlUmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dykpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMmQyMzJhY2QxNzBlNWUwMWJmMWI2MGE3
M2MwYTZlYTY1ZjRkYjBiYS4uZmI0OWQwYzAzNDFjNTU4NjE4MmJiNzY3YjRjNWY5NTRmOTA3ODM2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcApAQCAtMTE5OSwxMCArMTE5OSwxMCBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1GcmFt
ZUxvYWRVUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVlc3QpCiAgICAgRnJhbWUqIHRhcmdldEZy
YW1lID0gZnJhbWUtPmxvYWRlcigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC0+dGFy
Z2V0KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAgICAgLy8gV2UgZGlkIG5vdCBm
aW5kIGEgdGFyZ2V0IGZyYW1lLiBBc2sgb3VyIGZyYW1lIHRvIGxvYWQgdGhlIHBhZ2UuIFRoaXMg
bWF5IG9yIG1heSBub3QgY3JlYXRlIGEgcG9wdXAgd2luZG93LgotICAgICAgICBGcmFtZUxvYWRS
ZXF1ZXN0IGZyYW1lUmVxdWVzdChmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgICAgIGZyYW1lUmVxdWVz
dC5zZXRGcmFtZU5hbWUocmVxdWVzdC0+dGFyZ2V0KCkpOwotICAgICAgICBmcmFtZVJlcXVlc3Qu
c2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7Ci0gICAgICAgIGZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKGZyYW1lUmVxdWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVM
b2FkUmVxdWVzdCB7ICpmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyB9OworICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LnNldEZyYW1lTmFtZShyZXF1ZXN0LT50YXJnZXQoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVl
c3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5kb3dQb2xpY3kodHJ1ZSk7CisgICAgICAgIGZyYW1lLT5s
b2FkZXIoKS5sb2FkKGZyYW1lTG9hZFJlcXVlc3QpOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBk
b24ndCBrbm93IHdoZXRoZXIgdGhlIHdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgaGVy
ZSBzbyB3ZSBqdXN0IGFzc3VtZSB0aGF0IGl0IHdvcmtlZC4KICAgICAgICAgLy8gSXQncyBiZXR0
ZXIgdGhhbiBub3QgdGVsbGluZyB0aGUgcGx1Zy1pbiBhbnl0aGluZy4KQEAgLTEyMTEsNyArMTIx
MSw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJlcXVlc3QoVVJMUmVx
dWVzdCogcmVxdWVzdCkKICAgICB9CiAKICAgICAvLyBOb3cgYXNrIHRoZSBmcmFtZSB0byBsb2Fk
IHRoZSByZXF1ZXN0LgotICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJl
cXVlc3QodGFyZ2V0RnJhbWUsIHJlcXVlc3QtPnJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKKyAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCku
bG9hZChGcmFtZUxvYWRSZXF1ZXN0KCp0YXJnZXRGcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogCiAgICAgYXV0
byogdGFyZ2V0V2ViRnJhbWUgPSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZSgqdGFyZ2V0RnJhbWUp
OwogICAgIEFTU0VSVCh0YXJnZXRXZWJGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmViNjc1ZGIxZTljOWEwZjUyZGE3MGNjMjNl
MmNlZmNiMjRjZmE3NS4uNjBjMGNkNmE2YzdiMTNmMGM2ZjdlZThhMzRiMGUzMjM5ZDNiMjlmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MTE5Myw3ICsxMTkzLDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkVVJMSW5GcmFtZShjb25zdCBTdHJp
bmcmIHVybCwgdWludDY0X3QgZnJhbWVJRCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1
cm47CiAKLSAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVx
dWVzdChmcmFtZS0+Y29yZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkp
LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOworICAgIGZy
YW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KCpmcmFtZS0+
Y29yZUZyYW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogfQogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQpAQCAtMTIxNyw3ICsxMjE3LDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChj
b25zdCBMb2FkUGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMpCiAgICAgcGxhdGZvcm1EaWRSZWNl
aXZlTG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUg
bG9hZCBpbiBXZWJDb3JlLgotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCht
X21haW5GcmFtZS0+Y29yZUZyYW1lKCksIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QsIFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKKyAgICBGcmFtZUxvYWRSZXF1
ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLCBsb2FkUGFy
YW1ldGVycy5yZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RB
bGxvdyB9OwogICAgIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgZXh0ZXJuYWxVUkxzUG9s
aWN5ID0gc3RhdGljX2Nhc3Q8U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeT4obG9hZFBhcmFt
ZXRlcnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSk7CiAgICAgZnJhbWVMb2FkUmVxdWVz
dC5zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KGV4dGVybmFsVVJMc1BvbGljeSk7CiAK
QEAgLTEyNDEsNyArMTI0MSw3IEBAIHZvaWQgV2ViUGFnZTo6bG9hZERhdGFJbXBsKHVpbnQ2NF90
IG5hdmlnYXRpb25JRCwgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmCiAgICAgbV9sb2Fk
ZXJDbGllbnQtPndpbGxMb2FkRGF0YVJlcXVlc3QoKnRoaXMsIHJlcXVlc3QsIGNvbnN0X2Nhc3Q8
U2hhcmVkQnVmZmVyKj4oc3Vic3RpdHV0ZURhdGEuY29udGVudCgpKSwgc3Vic3RpdHV0ZURhdGEu
bWltZVR5cGUoKSwgc3Vic3RpdHV0ZURhdGEudGV4dEVuY29kaW5nKCksIHN1YnN0aXR1dGVEYXRh
LmZhaWxpbmdVUkwoKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtSGFuZGxlc1Rv
T2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUg
bG9hZCBpbiBXZWJDb3JlLgotICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCku
bG9hZChGcmFtZUxvYWRSZXF1ZXN0KG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwg
U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVE
YXRhKSk7CisgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkKEZyYW1l
TG9hZFJlcXVlc3QoKm1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9
CiAKIHZvaWQgV2ViUGFnZTo6bG9hZFN0cmluZ0ltcGwodWludDY0X3QgbmF2aWdhdGlvbklELCBj
b25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFVS
TCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmIHVz
ZXJEYXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313435</attachid>
            <date>2017-06-20 13:52:35 -0700</date>
            <delta_ts>2017-06-20 15:26:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173614-20170620135234.patch</filename>
            <type>text/plain</type>
            <size>18173</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM0NzRlMDEzYWJjODFj
YjViOWJjYTQyZDg0ZWRmOWZlMDNmZWM3Yy4uMmJlZjMxYTFhY2U1MTc1MjRkY2QwMTY1OTFjMTE1
OGRhZjQ1ODIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIEZyYW1lTG9hZFJl
cXVlc3QgdGFrZXMgYSBGcmFtZSYgaW5zdGVhZCBvZiBhIEZyYW1lKgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvQ29udGVudEZpbHRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RmlsdGVyOjpoYW5kbGVQcm92aXNpb25hbExv
YWRGYWlsdXJlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KToKKyAgICAg
ICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFn
T3BlcmF0aW9uKToKKwogMjAxNy0wNi0yMCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIG5vLW9wIGNhbGxzIHRvIHB1cmdlIFNRTGl0ZSBjYWNoZXMg
b24gbWVtb3J5IHByZXNzdXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGZkMWU0MDExODc4NmI2YzE0
ZGFmMDU2MjExODdhMzIxYjE0NGFkZTIuLmEzNzEzMTRhYjFmNTAyODk4OGFhYTM4YmFmOTgxYjk4
MWZiNTczZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0yMCAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBGcmFtZUxv
YWRSZXF1ZXN0IHRha2VzIGEgRnJhbWUmIGluc3RlYWQgb2YgYSBGcmFtZSoKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5D
b250cm9sbGVyLm1tOgorICAgICAgICAoLVtXZWJQbHVnaW5Db250cm9sbGVyIHdlYlBsdWdJbkNv
bnRhaW5lckxvYWRSZXF1ZXN0OmluRnJhbWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFt
ZS5tbToKKyAgICAgICAgKC1bV2ViRnJhbWUgbG9hZFJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dl
YkZyYW1lIF9sb2FkRGF0YTpNSU1FVHlwZTp0ZXh0RW5jb2RpbmdOYW1lOmJhc2VVUkw6dW5yZWFj
aGFibGVVUkw6XSk6CisKIDIwMTctMDYtMTkgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtNYWNdIEFkZCBhbiBleHBlcmltZW50YWwgZmVhdHVyZSBzZXR0aW5n
IGZvciBhc3luYyBmcmFtZSBzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBiYTZkMGQwMjE3
N2UxMDdjYWY4ZjE1OTMxNGE2MmZjOGM1N2IwZTQ4Li4yZjc5Mjg0Y2Y5MTU2NjQ0NTg4MTUwNTk1
MmM3ZTNlZjI5Nzk2OTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTct
MDYtMjAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUg
RnJhbWVMb2FkUmVxdWVzdCB0YWtlcyBhIEZyYW1lJiBpbnN0ZWFkIG9mIGEgRnJhbWUqCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvUGx1
Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVz
dCk6CisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmxvYWRSZXF1
ZXN0KToKKwogMjAxNy0wNi0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVzZSBXVEY6OkZ1bmN0aW9uIGluc3RlYWQgb2Ygc3RkOjpmdW5jdGlvbiBpbiBtb3Jl
IHBsYWNlcyBpbiBXZWJDb3JlLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGUzZDJhZDhiMzYzMjM0NThhYWJhNWQ4
ZmFmZWQ5OTBhZjM1YjQ0MzkuLjZhNGJiNTZlOThjNGU5ZDA3MTM1ZTBiYjJkOWY4ODNhZTc2MjVj
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0wNi0yMCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBGcmFtZUxvYWRSZXF1ZXN0IHRh
a2VzIGEgRnJhbWUmIGluc3RlYWQgb2YgYSBGcmFtZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3OjpwZXJmb3JtRnJhbWVMb2FkVVJMUmVx
dWVzdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpsb2FkVVJMSW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZERhdGFJ
bXBsKToKKwogMjAxNy0wNi0yMCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KIAogICAgICAgICBPY2Nhc2lvbmFsIGRlYWRsb2NrcyB1bmRlciBlbnN1cmVQb3NpdGlvbklu
Zm9ybWF0aW9uSXNVcFRvRGF0ZSAoaW5jb21pbmcgc3luYyBtZXNzYWdlIHdpdGggd2FpdEZvckFu
ZERpc3BhdGNoSW1tZWRpYXRlbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Q29udGVudEZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29udGVudEZpbHRlci5j
cHAKaW5kZXggNmYyZTUwMzc2NWUxYTJmMTJmMjhmYzZjMzg5YzhjZGQyNjljMjMxOC4uMDQxNGFj
OGY4Mjk0YWViYjI5ZDYzNzI4ZjQ0ZGJkNDkxOGIxOWMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0NvbnRlbnRGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Db250ZW50RmlsdGVyLmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgQ29udGVudEZpbHRl
cjo6aGFuZGxlUHJvdmlzaW9uYWxMb2FkRmFpbHVyZShjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJv
cikKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlIHsgVVJMKCksIEFTQ0lJTGl0ZXJhbCgi
dGV4dC9odG1sIiksIHJlcGxhY2VtZW50RGF0YS0+c2l6ZSgpLCBBU0NJSUxpdGVyYWwoIlVURi04
IikgfTsKICAgICBTdWJzdGl0dXRlRGF0YSBzdWJzdGl0dXRlRGF0YSB7IFdURk1vdmUocmVwbGFj
ZW1lbnREYXRhKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCByZXNwb25zZSwgU3Vic3RpdHV0ZURhdGE6
OlNlc3Npb25IaXN0b3J5VmlzaWJpbGl0eTo6SGlkZGVuIH07CiAgICAgU2V0Rm9yU2NvcGU8Ym9v
bD4gbG9hZGluZ0Jsb2NrZWRQYWdlIHsgbV9pc0xvYWRpbmdCbG9ja2VkUGFnZSwgdHJ1ZSB9Owot
ICAgIG1fZG9jdW1lbnRMb2FkZXIuZnJhbWVMb2FkZXIoKS0+bG9hZChGcmFtZUxvYWRSZXF1ZXN0
KG1fZG9jdW1lbnRMb2FkZXIuZnJhbWUoKSwgYmxvY2tlZFBhZ2VVUkwoKSwgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CisgICAg
bV9kb2N1bWVudExvYWRlci5mcmFtZUxvYWRlcigpLT5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKm1f
ZG9jdW1lbnRMb2FkZXIuZnJhbWUoKSwgYmxvY2tlZFBhZ2VVUkwoKSwgU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1
ZXN0LmNwcAppbmRleCA4YTFlNzUxNGMyNjcxNzUxYjM0ZGFhZmQwODY5MjRlNzdkZWJjM2ZiLi43
ZDJiZDNiNzI4MmYyZjg3YTg4N2M4NTEwMzY1OWU1MDBhNzJjMmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuY3BwCkBAIC0zNiwxOCArMzYsMTggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1GcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KEZy
YW1lKiBmcmFtZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgY29u
c3QgU3Vic3RpdHV0ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQotICAgIDogbV9yZXF1ZXN0ZXIoJmZy
YW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKQotICAgICwgbV9yZXNvdXJjZVJlcXVl
c3QocmVzb3VyY2VSZXF1ZXN0KQotICAgICwgbV9zaG91bGRDaGVja05ld1dpbmRvd1BvbGljeShm
YWxzZSkKLSAgICAsIG1fc3Vic3RpdHV0ZURhdGEoc3Vic3RpdHV0ZURhdGEpCi0gICAgLCBtX2xv
Y2tIaXN0b3J5KExvY2tIaXN0b3J5OjpObykKLSAgICAsIG1fbG9ja0JhY2tGb3J3YXJkTGlzdChM
b2NrQmFja0ZvcndhcmRMaXN0OjpObykKLSAgICAsIG1fc2hvdWxkU2VuZFJlZmVycmVyKE1heWJl
U2VuZFJlZmVycmVyKQotICAgICwgbV9hbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwoQWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMpCi0gICAgLCBtX25ld0ZyYW1lT3BlbmVyUG9saWN5
KE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdykKLSAgICAsIG1fc2hvdWxkUmVwbGFjZURvY3Vt
ZW50SWZKYXZhU2NyaXB0VVJMKFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCkKLSAgICAs
IG1fc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeShzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KQorRnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdChGcmFtZSYgZnJhbWUsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIGNvbnN0IFN1YnN0aXR1dGVE
YXRhJiBzdWJzdGl0dXRlRGF0YSkKKyAgICA6IG1fcmVxdWVzdGVyIHsgJmZyYW1lLmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkgfQorICAgICwgbV9yZXNvdXJjZVJlcXVlc3QgeyByZXNvdXJj
ZVJlcXVlc3QgfQorICAgICwgbV9zaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSB7IGZhbHNlIH0K
KyAgICAsIG1fc3Vic3RpdHV0ZURhdGEgeyBzdWJzdGl0dXRlRGF0YSB9CisgICAgLCBtX2xvY2tI
aXN0b3J5IHsgTG9ja0hpc3Rvcnk6Ok5vIH0KKyAgICAsIG1fbG9ja0JhY2tGb3J3YXJkTGlzdCB7
IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH0KKyAgICAsIG1fc2hvdWxkU2VuZFJlZmVycmVyIHsg
TWF5YmVTZW5kUmVmZXJyZXIgfQorICAgICwgbV9hbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwg
eyBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcyB9CisgICAgLCBtX25ld0ZyYW1lT3Bl
bmVyUG9saWN5IHsgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93IH0KKyAgICAsIG1fc2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHsgUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMIH0KKyAgICAsIG1fc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSB7IHNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3kgfQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZFJlcXVlc3QuaAppbmRleCAxY2JlYmJiODJjMzVlMGU2ZTVlY2JlMTI4MGY0MWFiNTk3ODRk
NDU0Li4yZTZlMzA4ZWQ0MjMzZjVjYmI2YmYxNTBkZjhmOTQ4MjJlYzI4OGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKQEAgLTEwMyw3ICsxMDMsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3Qo
RnJhbWUqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgPSBTdWJzdGl0dXRlRGF0YSgpKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBGcmFtZUxvYWRSZXF1ZXN0KEZyYW1lJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmID0g
U3Vic3RpdHV0ZURhdGEoKSk7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBt
X3Jlc291cmNlUmVxdWVzdC5pc0VtcHR5KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250
cm9sbGVyLmNwcAppbmRleCA0ODE4M2Y5YzQxNTg4OGI2ZWQzODRkMzE0MWFmODc0NmY0Nzg2MmQ5
Li5mZmJlOGY4YmU1OWU3OTMwOTRhMjk0MWYyZTJmMDdlNzg3ZTM4MmFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtMjkwLDcgKzI5MCw3IEBAIGJvb2wgRHJhZ0Nv
bnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9jbGllbnQud2lsbFBlcmZvcm1EcmFnRGVz
dGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCwgZHJhZ0RhdGEpOwotICAg
IG1fcGFnZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoJm1fcGFn
ZS5tYWluRnJhbWUoKSwgeyB1cmxTdHJpbmcgfSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eSkpOworICAgIG1fcGFnZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVl
c3QobV9wYWdlLm1haW5GcmFtZSgpLCB7IHVybFN0cmluZyB9LCBzaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5KSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udHJvbGxlci5tbQppbmRleCAxZjQ1Nzc2MmVmZGQ1NjY3
MWE0MzhhNGZjODVjYzM4ZDFkMzMxMWI1Li5mN2Y0MzZmYjI2N2IwMzFiZDY2MzNjMjlmZTRkZmFk
YjA4MTI4ZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdp
bkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5D
b250cm9sbGVyLm1tCkBAIC00OTgsMTAgKzQ5OCwxMCBAQCAtICh2b2lkKXdlYlBsdWdJbkNvbnRh
aW5lckxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGluRnJhbWU6KE5TU3RyaW5n
CiAgICAgICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBsb2FkIFVSTCAlQCIsIFtyZXF1ZXN0
IFVSTF0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVSZXF1ZXN0KGNvcmUoZnJhbWUpLCByZXF1ZXN0LCBTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgICAgIGZyYW1lUmVxdWVzdC5z
ZXRGcmFtZU5hbWUodGFyZ2V0KTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnNldFNob3VsZENoZWNr
TmV3V2luZG93UG9saWN5KHRydWUpOwotICAgICAgICBjb3JlKGZyYW1lKS0+bG9hZGVyKCkubG9h
ZChmcmFtZVJlcXVlc3QpOworICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVl
c3QgeyAqY29yZShmcmFtZSksIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6
OlNob3VsZE5vdEFsbG93IH07CisgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0RnJhbWVOYW1l
KHRhcmdldCk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tOZXdXaW5k
b3dQb2xpY3kodHJ1ZSk7CisgICAgICAgIGNvcmUoZnJhbWUpLT5sb2FkZXIoKS5sb2FkKGZyYW1l
TG9hZFJlcXVlc3QpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUu
bW0KaW5kZXggNWMwYmQ5YmMzZWZkYzBkY2IwYTc1MjIxODJmMDA0YTQyZmQzZDI0Ni4uYjMxZjE2
ODBiZTU1NzJjZTNjNjg2MGYyMDViMTAyYmM5MzJlYjNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZyYW1lLm1tCkBAIC0yNDcyLDcgKzI0NzIsNyBAQCAtICh2b2lkKWxvYWRSZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiAgICAgaWYgKCFyZXNvdXJjZVJlcXVlc3QudXJsKCku
aXNWYWxpZCgpICYmICFyZXNvdXJjZVJlcXVlc3QudXJsKCkuaXNFbXB0eSgpKQogICAgICAgICBy
ZXNvdXJjZVJlcXVlc3Quc2V0VVJMKFtOU1VSTCBVUkxXaXRoU3RyaW5nOltAImZpbGU6IiBzdHJp
bmdCeUFwcGVuZGluZ1N0cmluZzpbW3JlcXVlc3QgVVJMXSBhYnNvbHV0ZVN0cmluZ11dXSk7CiAK
LSAgICBjb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdChjb3JlRnJhbWUs
IHJlc291cmNlUmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90
QWxsb3cpKTsKKyAgICBjb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdCgq
Y29yZUZyYW1lLCByZXNvdXJjZVJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6
OlNob3VsZE5vdEFsbG93KSk7CiB9CiAKIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0
YVVSTCgpCkBAIC0yNTA0LDcgKzI1MDQsNyBAQCAtICh2b2lkKV9sb2FkRGF0YTooTlNEYXRhICop
ZGF0YSBNSU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlwZSB0ZXh0RW5jb2RpbmdOYW1lOgogICAg
IGlmIChzaG91bGRVc2VRdWlja0xvb2tGb3JNSU1FVHlwZShNSU1FVHlwZSkpIHsKICAgICAgICAg
TlNVUkwgKnF1aWNrTG9va1VSTCA9IHJlc3BvbnNlVVJMID8gcmVzcG9uc2VVUkwgOiBiYXNlVVJM
OwogICAgICAgICBpZiAoYXV0byByZXF1ZXN0ID0gcmVnaXN0ZXJRTFByZXZpZXdDb252ZXJ0ZXJJ
Zk5lZWRlZChxdWlja0xvb2tVUkwsIE1JTUVUeXBlLCBkYXRhKSkgewotICAgICAgICAgICAgX3By
aXZhdGUtPmNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KF9wcml2YXRl
LT5jb3JlRnJhbWUsIHJlcXVlc3QuZ2V0KCksIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6
OlNob3VsZE5vdEFsbG93KSk7CisgICAgICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKl9wcml2YXRlLT5jb3JlRnJhbWUsIHJlcXVlc3Qu
Z2V0KCksIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0yNTE1LDcgKzI1MTUsNyBA
QCAtICh2b2lkKV9sb2FkRGF0YTooTlNEYXRhICopZGF0YSBNSU1FVHlwZTooTlNTdHJpbmcgKilN
SU1FVHlwZSB0ZXh0RW5jb2RpbmdOYW1lOgogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2Uo
cmVzcG9uc2VVUkwsIE1JTUVUeXBlLCBbZGF0YSBsZW5ndGhdLCBlbmNvZGluZ05hbWUpOwogICAg
IFN1YnN0aXR1dGVEYXRhIHN1YnN0aXR1dGVEYXRhKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKGRhdGEpLCBbdW5yZWFjaGFibGVVUkwgYWJzb2x1dGVVUkxdLCByZXNwb25zZSwgU3Vic3Rp
dHV0ZURhdGE6OlNlc3Npb25IaXN0b3J5VmlzaWJpbGl0eTo6SGlkZGVuKTsKIAotICAgIF9wcml2
YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdChfcHJpdmF0ZS0+
Y29yZUZyYW1lLCByZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRO
b3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKKyAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2Fk
ZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKl9wcml2YXRlLT5jb3JlRnJhbWUsIHJlcXVlc3Qs
IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBzdWJzdGl0dXRl
RGF0YSkpOwogfQogCiAtICh2b2lkKWxvYWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihO
U1N0cmluZyAqKU1JTUVUeXBlIHRleHRFbmNvZGluZ05hbWU6KE5TU3RyaW5nICopZW5jb2RpbmdO
YW1lIGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKaW5kZXggMzBiNTAyNmEwODcwZTdjNzg4YTVkMjk2ZGVhOWNiYzllMDZkMTQ4
ZS4uNjZjZmVlMjQzYWI3NzljYzZhYTVmYzk4ZWQ5NDEzNTg3ZjdkNjYwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC00MjIsMTAgKzQyMiwxMCBAQCB2b2lk
IFBsdWdpblZpZXc6OnBlcmZvcm1SZXF1ZXN0KFBsdWdpblJlcXVlc3QqIHJlcXVlc3QpCiAgICAg
ICAgICAgICAvLyBQbHVnaW5WaWV3LCBzbyB3ZSBwcm90ZWN0IGl0LiA8cmRhcjovL3Byb2JsZW0v
Njk5MTI1MT4KICAgICAgICAgICAgIFJlZlB0cjxQbHVnaW5WaWV3PiBwcm90ZWN0KHRoaXMpOwog
Ci0gICAgICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lUmVxdWVzdChtX3BhcmVudEZyYW1l
LmdldCgpLCByZXF1ZXN0LT5mcmFtZUxvYWRSZXF1ZXN0KCkucmVzb3VyY2VSZXF1ZXN0KCksIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKLSAgICAgICAgICAg
IGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFyZ2V0RnJhbWVOYW1lKTsKLSAgICAgICAgICAg
IGZyYW1lUmVxdWVzdC5zZXRTaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSh0cnVlKTsKLSAgICAg
ICAgICAgIG1fcGFyZW50RnJhbWUtPmxvYWRlcigpLmxvYWQoZnJhbWVSZXF1ZXN0KTsKKyAgICAg
ICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICptX3BhcmVudEZyYW1l
LmdldCgpLCByZXF1ZXN0LT5mcmFtZUxvYWRSZXF1ZXN0KCkucmVzb3VyY2VSZXF1ZXN0KCksIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93IH07CisgICAgICAgICAg
ICBmcmFtZUxvYWRSZXF1ZXN0LnNldEZyYW1lTmFtZSh0YXJnZXRGcmFtZU5hbWUpOworICAgICAg
ICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSh0cnVl
KTsKKyAgICAgICAgICAgIG1fcGFyZW50RnJhbWUtPmxvYWRlcigpLmxvYWQoZnJhbWVMb2FkUmVx
dWVzdCk7CiAKICAgICAgICAgICAgIC8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNDgwNzQ2OT4g
VGhpcyBzaG91bGQgYmUgc2VudCB3aGVuIHRoZSBkb2N1bWVudCBoYXMgZmluaXNoZWQgbG9hZGlu
ZwogICAgICAgICAgICAgaWYgKHJlcXVlc3QtPnNlbmROb3RpZmljYXRpb24oKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
V2ViRnJhbWUuY3BwCmluZGV4IDBjMmVhN2Q1NzcyMjQ2MGY0ODA5ODFiODEwNzA0ZjM2Yjc0MTA2
YTQuLjgzNTMwODM3MzAwMTc5MWFjZWE0ZDBmZWNlYTliZGMxYzc1OGRmY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJGcmFtZS5jcHAKQEAgLTU2MSw3ICs1NjEsNyBAQCBIUkVTVUxUIFdlYkZyYW1lOjpsb2FkUmVx
dWVzdChfSW5fb3B0XyBJV2ViVVJMUmVxdWVzdCogcmVxdWVzdCkKICAgICBpZiAoIWNvcmVGcmFt
ZSkKICAgICAgICAgcmV0dXJuIEVfVU5FWFBFQ1RFRDsKIAotICAgIGNvcmVGcmFtZS0+bG9hZGVy
KCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KGNvcmVGcmFtZSwgcmVxdWVzdEltcGwtPnJlc291cmNl
UmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykp
OworICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KCpjb3JlRnJh
bWUsIHJlcXVlc3RJbXBsLT5yZXNvdXJjZVJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkTm90QWxsb3cpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIApAQCAtNTg2
LDcgKzU4Niw3IEBAIHZvaWQgV2ViRnJhbWU6OmxvYWREYXRhKFJlZlB0cjxXZWJDb3JlOjpTaGFy
ZWRCdWZmZXI+JiYgZGF0YSwgQlNUUiBtaW1lVHlwZSwgQlNUCiAKICAgICAvLyBUaGlzIG1ldGhv
ZCBpcyBvbmx5IGNhbGxlZCBmcm9tIElXZWJGcmFtZSBtZXRob2RzLCBzbyBkb24ndCBBU1NFUlQg
dGhhdCB0aGUgRnJhbWUgcG9pbnRlciBpc24ndCBudWxsLgogICAgIGlmIChGcmFtZSogY29yZUZy
YW1lID0gY29yZSh0aGlzKSkKLSAgICAgICAgY29yZUZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1l
TG9hZFJlcXVlc3QoY29yZUZyYW1lLCByZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5OjpTaG91bGROb3RBbGxvdywgc3Vic3RpdHV0ZURhdGEpKTsKKyAgICAgICAgY29yZUZyYW1l
LT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKmNvcmVGcmFtZSwgcmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRh
KSk7CiB9CiAKIEhSRVNVTFQgV2ViRnJhbWU6OmxvYWREYXRhKF9Jbl9vcHRfIElTdHJlYW0qIGRh
dGEsIF9Jbl8gQlNUUiBtaW1lVHlwZSwgX0luXyBCU1RSIHRleHRFbmNvZGluZ05hbWUsIF9Jbl8g
QlNUUiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
Vmlldy5jcHAKaW5kZXggOGZmMGUyODI2ZmYwODZjOWQzNWI4YTE4MjI1MmIyMDg4MDFjNjY0NS4u
NjJkNmM1NWI0YzMyMGI4NDQ0YjhhZTNjNDhlNmE0ZDFlMjdkNWZkNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtMTE5OSwxMCAr
MTE5OSwxMCBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KFVS
TFJlcXVlc3QqIHJlcXVlc3QpCiAgICAgRnJhbWUqIHRhcmdldEZyYW1lID0gZnJhbWUtPmxvYWRl
cigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC0+dGFyZ2V0KCkpOwogICAgIGlmICgh
dGFyZ2V0RnJhbWUpIHsKICAgICAgICAgLy8gV2UgZGlkIG5vdCBmaW5kIGEgdGFyZ2V0IGZyYW1l
LiBBc2sgb3VyIGZyYW1lIHRvIGxvYWQgdGhlIHBhZ2UuIFRoaXMgbWF5IG9yIG1heSBub3QgY3Jl
YXRlIGEgcG9wdXAgd2luZG93LgotICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lUmVxdWVz
dChmcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgICAgIGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUocmVx
dWVzdC0+dGFyZ2V0KCkpOwotICAgICAgICBmcmFtZVJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tOZXdX
aW5kb3dQb2xpY3kodHJ1ZSk7Ci0gICAgICAgIGZyYW1lLT5sb2FkZXIoKS5sb2FkKGZyYW1lUmVx
dWVzdCk7CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpmcmFt
ZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91
bGROb3RBbGxvdyB9OworICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldEZyYW1lTmFtZShyZXF1
ZXN0LT50YXJnZXQoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0U2hvdWxkQ2hlY2tO
ZXdXaW5kb3dQb2xpY3kodHJ1ZSk7CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5sb2FkKGZyYW1l
TG9hZFJlcXVlc3QpOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBkb24ndCBrbm93IHdoZXRoZXIg
dGhlIHdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgaGVyZSBzbyB3ZSBqdXN0IGFzc3Vt
ZSB0aGF0IGl0IHdvcmtlZC4KICAgICAgICAgLy8gSXQncyBiZXR0ZXIgdGhhbiBub3QgdGVsbGlu
ZyB0aGUgcGx1Zy1pbiBhbnl0aGluZy4KQEAgLTEyMTEsNyArMTIxMSw3IEBAIHZvaWQgUGx1Z2lu
Vmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJlcXVlc3QoVVJMUmVxdWVzdCogcmVxdWVzdCkKICAg
ICB9CiAKICAgICAvLyBOb3cgYXNrIHRoZSBmcmFtZSB0byBsb2FkIHRoZSByZXF1ZXN0LgotICAg
IHRhcmdldEZyYW1lLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QodGFyZ2V0RnJhbWUs
IHJlcXVlc3QtPnJlcXVlc3QoKSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxk
Tm90QWxsb3cpKTsKKyAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1
ZXN0KCp0YXJnZXRGcmFtZSwgcmVxdWVzdC0+cmVxdWVzdCgpLCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOwogCiAgICAgYXV0byogdGFyZ2V0V2ViRnJhbWUg
PSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZSgqdGFyZ2V0RnJhbWUpOwogICAgIEFTU0VSVCh0YXJn
ZXRXZWJGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggM2U5Zjg0ZDBjMmI0NDA3OWM2Yzc4ZDQ1YTk4MTdhNmE2NTk0ZTljNy4uZGEy
MmQ4ZWFmYjExNzRmNWUwODE5MzAzOTIwZmJmMTNlMzYxNDgyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTE5MSw3ICsxMTkxLDcgQEAg
dm9pZCBXZWJQYWdlOjpsb2FkVVJMSW5GcmFtZShjb25zdCBTdHJpbmcmIHVybCwgdWludDY0X3Qg
ZnJhbWVJRCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+
Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWQoRnJhbWVMb2FkUmVxdWVzdChmcmFtZS0+Y29yZUZy
YW1lKCksIFJlc291cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdykpOworICAgIGZyYW1lLT5jb3JlRnJhbWUoKS0+
bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1ZXN0KCpmcmFtZS0+Y29yZUZyYW1lKCksIFJlc291
cmNlUmVxdWVzdChVUkwoVVJMKCksIHVybCkpLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
OjpTaG91bGROb3RBbGxvdykpOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpAQCAtMTIxNSw3
ICsxMjE1LDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChjb25zdCBMb2FkUGFyYW1ldGVy
cyYgbG9hZFBhcmFtZXRlcnMpCiAgICAgcGxhdGZvcm1EaWRSZWNlaXZlTG9hZFBhcmFtZXRlcnMo
bG9hZFBhcmFtZXRlcnMpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUgbG9hZCBpbiBXZWJDb3JlLgot
ICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdChtX21haW5GcmFtZS0+Y29yZUZy
YW1lKCksIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3k6OlNob3VsZE5vdEFsbG93KTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVl
c3QgeyAqbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLCBsb2FkUGFyYW1ldGVycy5yZXF1ZXN0LCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyB9OwogICAgIFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgZXh0ZXJuYWxVUkxzUG9saWN5ID0gc3RhdGljX2Nhc3Q8
U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeT4obG9hZFBhcmFtZXRlcnMuc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSk7CiAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5KGV4dGVybmFsVVJMc1BvbGljeSk7CiAKQEAgLTEyMzksNyArMTIzOSw3
IEBAIHZvaWQgV2ViUGFnZTo6bG9hZERhdGFJbXBsKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgUmVm
PFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmCiAgICAgbV9sb2FkZXJDbGllbnQtPndpbGxMb2Fk
RGF0YVJlcXVlc3QoKnRoaXMsIHJlcXVlc3QsIGNvbnN0X2Nhc3Q8U2hhcmVkQnVmZmVyKj4oc3Vi
c3RpdHV0ZURhdGEuY29udGVudCgpKSwgc3Vic3RpdHV0ZURhdGEubWltZVR5cGUoKSwgc3Vic3Rp
dHV0ZURhdGEudGV4dEVuY29kaW5nKCksIHN1YnN0aXR1dGVEYXRhLmZhaWxpbmdVUkwoKSwgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5v
YmplY3QoKSkuZ2V0KCkpOwogCiAgICAgLy8gSW5pdGF0ZSB0aGUgbG9hZCBpbiBXZWJDb3JlLgot
ICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZChGcmFtZUxvYWRSZXF1
ZXN0KG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CisgICAgbV9tYWlu
RnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkKEZyYW1lTG9hZFJlcXVlc3QoKm1fbWFp
bkZyYW1lLT5jb3JlRnJhbWUoKSwgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eTo6U2hvdWxkTm90QWxsb3csIHN1YnN0aXR1dGVEYXRhKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6
bG9hZFN0cmluZ0ltcGwodWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBTdHJpbmcmIGh0bWxT
dHJpbmcsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3Qg
VVJMJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQo=
</data>
<flag name="review"
          id="334324"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
    <flag name="commit-queue"
          id="334329"
          type_id="3"
          status="-"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>