<?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>171365</bug_id>
          
          <creation_ts>2017-04-26 22:17:20 -0700</creation_ts>
          <short_desc>Update NetworkStorageSession to support multiple persistent sessions and explicitly set cookie storages</short_desc>
          <delta_ts>2017-04-28 11:13:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>annulen</cc>
    
    <cc>berto</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1301944</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-26 22:17:20 -0700</bug_when>
    <thetext>Update NetworkStorageSession to support multiple persistent sessions and explicitly set cookie storages

Also a little WK2 NetworkSessionCocoa update based on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301945</commentid>
    <comment_count>1</comment_count>
      <attachid>308337</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-26 22:21:19 -0700</bug_when>
    <thetext>Created attachment 308337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301973</commentid>
    <comment_count>2</comment_count>
      <attachid>308354</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 00:14:23 -0700</bug_when>
    <thetext>Created attachment 308354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301978</commentid>
    <comment_count>3</comment_count>
      <attachid>308357</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 00:30:46 -0700</bug_when>
    <thetext>Created attachment 308357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301985</commentid>
    <comment_count>4</comment_count>
      <attachid>308354</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-27 00:41:19 -0700</bug_when>
    <thetext>Comment on attachment 308354
Patch

Oh boy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302108</commentid>
    <comment_count>5</comment_count>
      <attachid>308395</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 08:57:13 -0700</bug_when>
    <thetext>Created attachment 308395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302110</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 09:01:49 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 308354 [details]
&gt; Patch
&gt; 
&gt; Oh boy

It&apos;s on like Donkey Kong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302154</commentid>
    <comment_count>7</comment_count>
      <attachid>308395</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-27 10:17:24 -0700</bug_when>
    <thetext>Comment on attachment 308395
Patch

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

&gt; Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp:65
&gt; +    auto sharedCookieStorage = adoptCF(_CFHTTPCookieStorageGetDefault(kCFAllocatorDefault));

Over IRC we confirmed that what _CFHTTPCookieStorageGetDefault() returns shouldn&apos;t be adopted.

&gt; Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp:72
&gt; +NetworkStorageSession::NetworkStorageSession(SessionID sessionID, RetainPtr&lt;CFURLStorageSessionRef&gt; platformSession, RetainPtr&lt;CFHTTPCookieStorageRef&gt; platformCookieStorage)

These RetainPtrs could probably be rvalue references.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302164</commentid>
    <comment_count>8</comment_count>
      <attachid>308407</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 10:41:18 -0700</bug_when>
    <thetext>Created attachment 308407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302165</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-27 10:41:49 -0700</bug_when>
    <thetext>Will CQ+ after I finish running API tests locally (damn you EWS!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302200</commentid>
    <comment_count>10</comment_count>
      <attachid>308407</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-27 11:40:08 -0700</bug_when>
    <thetext>Comment on attachment 308407
Patch

Clearing flags on attachment: 308407

Committed r215883: &lt;http://trac.webkit.org/changeset/215883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302201</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-27 11:40:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302203</commentid>
    <comment_count>12</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-04-27 11:46:42 -0700</bug_when>
    <thetext>Should SessionID::isEphemeral() be changed now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302206</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-27 11:53:44 -0700</bug_when>
    <thetext>(In reply to Konstantin Tokarev from comment #12)
&gt; Should SessionID::isEphemeral() be changed now?
That&apos;ll be done in https://bugs.webkit.org/show_bug.cgi?id=171367</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302638</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-28 10:16:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/r215928</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302679</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-28 11:13:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/31891415&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308337</attachid>
            <date>2017-04-26 22:21:19 -0700</date>
            <delta_ts>2017-04-27 00:14:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171365-20170426222118.patch</filename>
            <type>text/plain</type>
            <size>15714</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4NjMzN2U4MDRjOWQ1
NTI0MDRkYTk4MmYzN2QyNjY4NzdiM2Q1OS4uZWIzNjk3MTNiN2UyNmJmOGQ3OGFhNDNhMjgxODg3
M2FjNmQ2NTVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTI2ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVyc2lzdGVudCBzZXNzaW9ucyBhbmQg
ZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIHRlc3RhYmxlIGJlaGF2aW9y
IGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZXN0cm95U2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaDoKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uU3R1Yi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246
OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29y
a1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKToKKworICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24pOgorICAgICAg
ICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzd2l0Y2hUb05ld1Rlc3RpbmdTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0
b3JhZ2VTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29y
a1N0b3JhZ2VTZXNzaW9uOjpjb29raWVTdG9yYWdlKToKKworICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlU2Vzc2lvbik6CisKKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6CisKIDIwMTctMDQtMjYgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZp
eCBhIFBMVCByZWdyZXNzaW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVkYTdlODk2MmZlNmI5ZGY4OTUwYzFl
MmNhM2UzYjg3ZTM5ZmNiOWIuLjExMzBkZWY0NDE2ZGEyMDJmYmNlYjM0MmVmZjhlZDk1OTE0NzBi
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0yNiAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbiB0byBzdXBwb3J0IG11bHRpcGxlIHBlcnNpc3RlbnQgc2Vzc2lvbnMgYW5kIGV4cGxpY2l0
bHkgc2V0IGNvb2tpZSBzdG9yYWdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcxMzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lv
bkNvY29hKToKKwogMjAxNy0wNC0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNob3VsZCBub3Qgc3lu
Y2hyb25vdXNseSBsb2FkIHByb3ZpZGVkIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcAppbmRleCA5ODVi
NGNkZDBhOWNmMzcyMmVhNDAxNDJmOTJmNTEzOTI0M2VmYWJjLi41NWJlOWNjZjQyYTZmYzExZDE1
NjdiYzA3YzRmOTE0NGFjZjYzYmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uY3BwCkBAIC00Niw2ICs0Niw3
IEBAIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiogTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzdG9yYWdl
U2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklECiAKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpkZXN0cm95U2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklEKQogeworICAgIEFTU0VSVChzZXNz
aW9uSUQgIT0gU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpOwogICAgIGdsb2JhbFNlc3Np
b25NYXAoKS5yZW1vdmUoc2Vzc2lvbklEKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKaW5kZXggM2IwYzQy
M2NmYjE0OWUwNjMxNzQ0YjJiNTY3MzQxOGQ4Yzk2OGM1NC4uN2M5NTI0MGI0OTNiZDc4NWZiZDk0
NWZjZjA3NzJiZDI3OTc1MGYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCkBAIC01OSw2ICs1OSw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBk
ZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgTmV0d29y
a1N0b3JhZ2VTZXNzaW9uKiBzdG9yYWdlU2Vzc2lvbihTZXNzaW9uSUQpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyB2b2lkIGVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oU2Vzc2lvbklE
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXJCYXNlID0gU3RyaW5nKCkpOworICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyB2b2lkIGVuc3VyZVNlc3Npb24oU2Vzc2lvbklELCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXJCYXNlID0gU3RyaW5nKCkpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2
b2lkIGRlc3Ryb3lTZXNzaW9uKFNlc3Npb25JRCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgZm9yRWFjaChzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3QgV2ViQ29yZTo6TmV0d29ya1N0
b3JhZ2VTZXNzaW9uJik+KTsKIApAQCAtNzIsNyArNzMsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQotICAgIE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbihTZXNzaW9uSUQsIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVm
Pik7CisgICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJM
U3RvcmFnZVNlc3Npb25SZWY+LCBSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3RvcmFnZVJlZj4pOwog
CiAgICAgLy8gTWF5IGJlIG51bGwsIGluIHdoaWNoIGNhc2UgYSBGb3VuZGF0aW9uIGRlZmF1bHQg
c2hvdWxkIGJlIHVzZWQuCiAgICAgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBwbGF0Zm9ybVNlc3Np
b24oKSB7IHJldHVybiBtX3BsYXRmb3JtU2Vzc2lvbi5nZXQoKTsgfQpAQCAtMTE0LDYgKzExNSw3
IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNFKENGVVJMQ09OTkVDVElP
TikKICAgICBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gbV9wbGF0Zm9ybVNlc3Np
b247CisgICAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IG1fcGxhdGZvcm1Db29r
aWVTdG9yYWdlOwogI2VsaWYgVVNFKFNPVVApCiAgICAgc3RhdGljIHZvaWQgY29va2llc0RpZENo
YW5nZShOZXR3b3JrU3RvcmFnZVNlc3Npb24qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAK
aW5kZXggZmQ5ODQzMmU2NmYzMDQ2MDNiMjU5Y2M0ZjlkYjBkYjZkZjgwZGVkMS4uNGUxZTMzZTZi
ZGMyYWY1ZWIxZTA3ODlmOGNlZTBiOWMwMGZiNzc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvblN0dWIu
Y3BwCkBAIC00OSw3ICs0OSwxMiBAQCBOZXR3b3JraW5nQ29udGV4dCogTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjpjb250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogfQog
Ci12b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bihTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmKQordm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oU2Vzc2lvbklELCBjb25zdCBT
dHJpbmcmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6ZW5zdXJlU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCiB7
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZO
ZXQuY3BwCmluZGV4IDlhOGFiOWFiN2JkNzI1NGY0YTAxZWIzNDQ1MGJlMDdkMGViMjBiZjAuLmFi
MmNhYWYyNmY2NDFiZjUyMTI5OWM3YWFkNzRkYTdhNWM2MzVlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uQ0ZOZXQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDE1ICszOCw0MSBAQAogI2luY2x1ZGUgPFdlYktpdFN5c3Rl
bUludGVyZmFjZS9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNlbmRpZgogCi0vLyBGSVhNRTog
VGhpcyBmaWxlIGlzIG1vc3RseSBDb2NvYSBjb2RlLCBub3QgQ0ZOZXR3b3JrIGNvZGUuIFRoaXMg
Y29kZSBzaG91bGQgYmUgbW92ZWQuCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJv
b2wgY29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQ7CiAKLU5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIFJldGFpblB0
cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBwbGF0Zm9ybVNlc3Npb24pCitzdGF0aWMgUmV0YWlu
UHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVu
dGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpCit7CisgICAgYXV0byBzdG9yYWdlU2Vzc2lv
biA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgaWRlbnRpZmllciwgbnVsbHB0cikpOworCisgICAgaWYgKCFzdG9yYWdlU2Vzc2lvbikKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZVUkxT
dG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lv
bi5nZXQoKSkpOworICAgIGlmICghY2FjaGUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7CisKKyAgICBhdXRv
IHNoYXJlZENhY2hlID0gYWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hlKCkpOwor
ICAgIENGVVJMQ2FjaGVTZXRNZW1vcnlDYXBhY2l0eShjYWNoZS5nZXQoKSwgQ0ZVUkxDYWNoZU1l
bW9yeUNhcGFjaXR5KHNoYXJlZENhY2hlLmdldCgpKSk7CisKKyAgICBhdXRvIGNvb2tpZVN0b3Jh
Z2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKKyAgICBpZiAoIWNvb2tpZVN0
b3JhZ2UpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byBzaGFyZWRDb29raWVT
dG9yYWdlID0gYWRvcHRDRihfQ0ZIVFRQQ29va2llU3RvcmFnZUdldERlZmF1bHQoa0NGQWxsb2Nh
dG9yRGVmYXVsdCkpOworICAgIGF1dG8gc2hhcmVkUG9saWN5ID0gQ0ZIVFRQQ29va2llU3RvcmFn
ZUdldENvb2tpZUFjY2VwdFBvbGljeShzaGFyZWRDb29raWVTdG9yYWdlLmdldCgpKTsKKyAgICBD
RkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0UG9saWN5KGNvb2tpZVN0b3JhZ2UuZ2V0
KCksIHNoYXJlZFBvbGljeSk7CisKKyAgICByZXR1cm4gc3RvcmFnZVNlc3Npb247Cit9CisKK05l
dHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNz
aW9uSUQsIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBwbGF0Zm9ybVNlc3Npb24s
IFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBwbGF0Zm9ybUNvb2tpZVN0b3JhZ2Up
CiAgICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCi0gICAgLCBtX3BsYXRmb3JtU2Vzc2lvbihw
bGF0Zm9ybVNlc3Npb24pCisgICAgLCBtX3BsYXRmb3JtU2Vzc2lvbihXVEZNb3ZlKHBsYXRmb3Jt
U2Vzc2lvbikpCisgICAgLCBtX3BsYXRmb3JtQ29va2llU3RvcmFnZShwbGF0Zm9ybUNvb2tpZVN0
b3JhZ2UgPyBXVEZNb3ZlKHBsYXRmb3JtQ29va2llU3RvcmFnZSkgOiBjb29raWVTdG9yYWdlKCkp
CiB7CiB9CiAKQEAgLTYxLDM3ICs4Nyw2MSBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
c3dpdGNoVG9OZXdUZXN0aW5nU2Vzc2lvbigpCiB7CiAgICAgLy8gU2Vzc2lvbiBuYW1lIHNob3Vs
ZCBiZSBzaG9ydCBlbm91Z2ggZm9yIHNoYXJlZCBtZW1vcnkgcmVnaW9uIG5hbWUgdG8gYmUgdW5k
ZXIgdGhlIGxpbWl0LCBvdGVocndpc2Ugc2FuZGJveCBydWxlcyB3b24ndCB3b3JrIChzZWUgPHJk
YXI6Ly9wcm9ibGVtLzEzNjQyODUyPikuCiAgICAgU3RyaW5nIHNlc3Npb25OYW1lID0gU3RyaW5n
Ojpmb3JtYXQoIldlYktpdCBUZXN0LSV1Iiwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGdldEN1cnJl
bnRQcm9jZXNzSUQoKSkpOworCisgICAgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IHNlc3Npb247CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgZGVmYXVsdE5ldHdvcmtTdG9yYWdl
U2Vzc2lvbigpID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KFNlc3Np
b25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VT
ZXNzaW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpKSk7CisgICAgc2Vzc2lv
biA9IGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oc2Vzc2lvbk5hbWUuY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKSkpOwogI2Vsc2UKLSAgICBkZWZhdWx0TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lv
bklEOjpkZWZhdWx0U2Vzc2lvbklEKCksIGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNl
c3Npb24oc2Vzc2lvbk5hbWUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgZGVmYXVsdE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbigpLT5wbGF0Zm9ybVNlc3Npb24oKSkpKTsKKyAgICBzZXNzaW9uID0gYWRv
cHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVDRlN0
cmluZygpLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3JtU2Vz
c2lvbigpKSk7CiAjZW5kaWYKKworICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVm
PiBjb29raWVTdG9yYWdlOworICAgIGlmIChzZXNzaW9uKQorICAgICAgICBjb29raWVTdG9yYWdl
ID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIHNlc3Npb24uZ2V0KCkpKTsKKworICAgIGRlZmF1bHROZXR3b3JrU3RvcmFn
ZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNz
aW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgV1RGTW92ZShzZXNzaW9uKSwgV1RGTW92ZShjb29r
aWVTdG9yYWdlKSk7CiB9CiAKIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKQogewogICAgIGlmICghZGVmYXVsdE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbigpKQotICAgICAgICBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9u
KCkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklEOjpk
ZWZhdWx0U2Vzc2lvbklEKCksIG51bGxwdHIpOworICAgICAgICBkZWZhdWx0TmV0d29ya1N0b3Jh
Z2VTZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vz
c2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgIHJldHVy
biAqZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpOwogfQogCiB2b2lkIE5ldHdvcmtTdG9y
YWdlU2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lv
bklELCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXJCYXNlKQogewotICAgIGlmIChnbG9iYWxTZXNz
aW9uTWFwKCkuY29udGFpbnMoc2Vzc2lvbklEKSkKKyAgICBBU1NFUlQoc2Vzc2lvbklELmlzRXBo
ZW1lcmFsKCkpOworICAgIGVuc3VyZVNlc3Npb24oc2Vzc2lvbklELCBpZGVudGlmaWVyQmFzZSk7
Cit9CisKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKFNlc3Npb25J
RCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2UpCit7CisgICAgYXV0byBh
ZGRSZXN1bHQgPSBnbG9iYWxTZXNzaW9uTWFwKCkuYWRkKHNlc3Npb25JRCwgbnVsbHB0cik7Cisg
ICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgcmV0dXJuOworCiAgICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBjZklkZW50aWZpZXIgPSBTdHJpbmcoaWRlbnRpZmllckJhc2Ug
KyAiLlByaXZhdGVCcm93c2luZyIpLmNyZWF0ZUNGU3RyaW5nKCk7CiAKKyAgICBSZXRhaW5QdHI8
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gc3RvcmFnZVNlc3Npb247CisgICAgaWYgKHNlc3Npb25J
RC5pc0VwaGVtZXJhbCgpKSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYXV0byBzZXNzaW9u
ID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KHNlc3Npb25JRCwgYWRv
cHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihjZklkZW50aWZpZXIuZ2V0KCkpKSk7
CisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gYWRvcHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdl
U2Vzc2lvbihjZklkZW50aWZpZXIuZ2V0KCkpKTsKICNlbHNlCi0gICAgYXV0byBzZXNzaW9uID0g
c3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KHNlc3Npb25JRCwgYWRvcHRD
Rih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihjZklkZW50aWZpZXIuZ2V0KCksIGRlZmF1
bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCkpKSk7CisgICAgICAg
IHN0b3JhZ2VTZXNzaW9uID0gYWRvcHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihj
ZklkZW50aWZpZXIuZ2V0KCksIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZv
cm1TZXNzaW9uKCkpKTsKICNlbmRpZgorICAgIH0gZWxzZQorICAgICAgICBzdG9yYWdlU2Vzc2lv
biA9IGNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKGNmSWRlbnRpZmllci5nZXQo
KSk7CiAKLSAgICBnbG9iYWxTZXNzaW9uTWFwKCkuYWRkKHNlc3Npb25JRCwgV1RGTW92ZShzZXNz
aW9uKSk7CisgICAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNvb2tpZVN0b3Jh
Z2UgPSBzdG9yYWdlU2Vzc2lvbiA/IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q29v
a2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpIDog
bnVsbHB0cjsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gc3RkOjptYWtlX3VuaXF1
ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KHNlc3Npb25JRCwgV1RGTW92ZShzdG9yYWdlU2Vzc2lv
biksIFdURk1vdmUoY29va2llU3RvcmFnZSkpOwogfQogCiBSZXRhaW5QdHI8Q0ZIVFRQQ29va2ll
U3RvcmFnZVJlZj4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVTdG9yYWdlKCkgY29uc3QK
IHsKKyAgICBpZiAobV9wbGF0Zm9ybUNvb2tpZVN0b3JhZ2UpCisgICAgICAgIHJldHVybiBtX3Bs
YXRmb3JtQ29va2llU3RvcmFnZTsKKwogICAgIGlmIChtX3BsYXRmb3JtU2Vzc2lvbikKICAgICAg
ICAgcmV0dXJuIGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q29va2llU3RvcmFnZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBtX3BsYXRmb3JtU2Vzc2lvbi5nZXQoKSkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKaW5kZXggN2IzZmY4N2UwMTdhZjNlNmE3ZjAxMmFh
ZmU3MTZiMzg1YzhjYTEwZC4uODgwMTg0YWNmZDZlMGVhZjc5M2ZiOThjZjkyMmI5YTc0ZWNlZDFh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcApAQCAtODYsNiArODYsMTEg
QEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Np
b24oU2Vzc2lvbklEIHNlc3Npb25JRCwgY28KICAgICBnbG9iYWxTZXNzaW9uTWFwKCkuYWRkKHNl
c3Npb25JRCwgc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KHNlc3Npb25J
RCwgc3RkOjptYWtlX3VuaXF1ZTxTb3VwTmV0d29ya1Nlc3Npb24+KCkpKTsKIH0KIAordm9pZCBO
ZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24oU2Vzc2lvbklELCBjb25zdCBTdHJp
bmcmKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKK30KKwogdm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKQogewogICAgIGRlZmF1bHRTZXNz
aW9uKCkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklE
OjpkZWZhdWx0U2Vzc2lvbklEKCksIHN0ZDo6bWFrZV91bmlxdWU8U291cE5ldHdvcmtTZXNzaW9u
PigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtTUEkuaApp
bmRleCA1MWNhYTVmNzZkZTE5MjliOTdiYjk3MGU3YTM1NzUzODVlY2UyMjM0Li4yNmY1Yjk5NWU4
NTA0NmViNWQ1OWU0MzMyMDg3ZGVhNTEyNTY1MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCkBAIC0xODAsNiArMTgwLDcgQEAgZXh0ZXJuIGNv
bnN0IENGU3RyaW5nUmVmIF9rQ0ZVUkxDb25uZWN0aW9uUHJvcGVydHlTaG91bGRTbmlmZjsKIENG
SFRUUENvb2tpZVN0b3JhZ2VSZWYgX0NGSFRUUENvb2tpZVN0b3JhZ2VHZXREZWZhdWx0KENGQWxs
b2NhdG9yUmVmKTsKIHZvaWQgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZShDRkhUVFBDb29r
aWVTdG9yYWdlUmVmLCBDRkhUVFBDb29raWVSZWYpOwogdm9pZCBDRkhUVFBDb29raWVTdG9yYWdl
U2V0Q29va2llQWNjZXB0UG9saWN5KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYsIENGSFRUUENvb2tp
ZVN0b3JhZ2VBY2NlcHRQb2xpY3kpOworQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSBD
RkhUVFBDb29raWVTdG9yYWdlR2V0Q29va2llQWNjZXB0UG9saWN5KENGSFRUUENvb2tpZVN0b3Jh
Z2VSZWYpOwogdm9pZCBfQ0ZOZXR3b3JrU2V0T3ZlcnJpZGVTeXN0ZW1Qcm94eVNldHRpbmdzKENG
RGljdGlvbmFyeVJlZik7CiBDRlVSTENyZWRlbnRpYWxTdG9yYWdlUmVmIENGVVJMQ3JlZGVudGlh
bFN0b3JhZ2VDcmVhdGUoQ0ZBbGxvY2F0b3JSZWYpOwogQ0ZVUkxDcmVkZW50aWFsUmVmIENGVVJM
Q3JlZGVudGlhbFN0b3JhZ2VDb3B5RGVmYXVsdENyZWRlbnRpYWxGb3JQcm90ZWN0aW9uU3BhY2Uo
Q0ZVUkxDcmVkZW50aWFsU3RvcmFnZVJlZiwgQ0ZVUkxQcm90ZWN0aW9uU3BhY2VSZWYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Np
b25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0KaW5kZXggNjRmMzllYzQ2OTVkZGYwOTczZjZhNjllOWZhNDc2Yjc5NDRh
MDU5OC4uZmU4ZTQyN2UyMTlkOWRiN2E3YmMxYjdiODk4ZmNjYjM2MWJhMDIzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tCkBAIC01OTAsMTUgKzU5MCwxMCBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpO
ZXR3b3JrU2Vzc2lvbkNvY29hKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIExlZ2FjeUN1
cwogICAgIHNldENvbGxlY3RzVGltaW5nRGF0YSgpOwogI2VuZGlmCiAKLSAgICBpZiAoc2Vzc2lv
bklEID09IFdlYkNvcmU6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKSB7Ci0gICAgICAg
IGlmIChDRkhUVFBDb29raWVTdG9yYWdlUmVmIHN0b3JhZ2UgPSBXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpLmNvb2tpZVN0b3JhZ2UoKS5nZXQo
KSkKLSAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uSFRUUENvb2tpZVN0b3JhZ2UgPSBbW1tOU0hU
VFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOnN0b3Jh
Z2VdIGF1dG9yZWxlYXNlXTsKLSAgICB9IGVsc2UgewotICAgICAgICBhdXRvKiBzdG9yYWdlU2Vz
c2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3RvcmFnZVNlc3Npb24oc2Vz
c2lvbklEKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RvcmFnZVNlc3Npb24pOwotICAgICAg
ICBpZiAoQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24tPmNv
b2tpZVN0b3JhZ2UoKS5nZXQoKSkKLSAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uSFRUUENvb2tp
ZVN0b3JhZ2UgPSBbW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhDRkhUVFBD
b29raWVTdG9yYWdlOnN0b3JhZ2VdIGF1dG9yZWxlYXNlXTsKLSAgICB9CisgICAgYXV0byogc3Rv
cmFnZVNlc3Npb24gPSBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNz
aW9uKHNlc3Npb25JRCk7CisgICAgUkVMRUFTRV9BU1NFUlQoc3RvcmFnZVNlc3Npb24pOworICAg
IGlmIChDRkhUVFBDb29raWVTdG9yYWdlUmVmIHN0b3JhZ2UgPSBzdG9yYWdlU2Vzc2lvbi0+Y29v
a2llU3RvcmFnZSgpLmdldCgpKQorICAgICAgICBjb25maWd1cmF0aW9uLkhUVFBDb29raWVTdG9y
YWdlID0gW1tbTlNIVFRQQ29va2llU3RvcmFnZSBhbGxvY10gX2luaXRXaXRoQ0ZIVFRQQ29va2ll
U3RvcmFnZTpzdG9yYWdlXSBhdXRvcmVsZWFzZV07CiAKICAgICBtX3Nlc3Npb25XaXRoQ3JlZGVu
dGlhbFN0b3JhZ2VEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUg
YWxsb2NdIGluaXRXaXRoTmV0d29ya1Nlc3Npb246KnRoaXMgd2l0aENyZWRlbnRpYWxzOnRydWVd
KTsKICAgICBtX3Nlc3Npb25XaXRoQ3JlZGVudGlhbFN0b3JhZ2UgPSBbTlNVUkxTZXNzaW9uIHNl
c3Npb25XaXRoQ29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uIGRlbGVnYXRlOnN0YXRpY19jYXN0
PGlkPihtX3Nlc3Npb25XaXRoQ3JlZGVudGlhbFN0b3JhZ2VEZWxlZ2F0ZS5nZXQoKSkgZGVsZWdh
dGVRdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBtYWluUXVldWVdXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308354</attachid>
            <date>2017-04-27 00:14:23 -0700</date>
            <delta_ts>2017-04-27 00:30:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171365-20170427001422.patch</filename>
            <type>text/plain</type>
            <size>16685</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4NjMzN2U4MDRjOWQ1
NTI0MDRkYTk4MmYzN2QyNjY4NzdiM2Q1OS4uMmI4MGZmZGVkOTAxZWZlOThhZGI2ZDg0YTYzZWY5
YmRmM2MwZTE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTI3ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVyc2lzdGVudCBzZXNzaW9ucyBhbmQg
ZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIHRlc3RhYmxlIGJlaGF2aW9y
IGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZXN0cm95U2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaDoKKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25TdHViLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24pOgorICAgICAgICAKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNo
VG9OZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNl
c3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29va2llU3RvcmFnZSk6CisgICAgICAg
IAorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25T
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJl
U2Vzc2lvbik6CisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtT
UEkuaDoKKwogMjAxNy0wNC0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IGEgUExUIHJlZ3Jlc3Npb24uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWRhN2U4OTYyZmU2YjlkZjg5NTBjMWUyY2EzZTNiODdlMzlmY2I5Yi4uNGRjMDE5
ODRjM2RmY2Y2OWZiMzQzNjFiY2U0ZTZiMWYwYjIzMWZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE3LTA0LTI3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBVcGRhdGUgTmV0d29ya1N0b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUg
cGVyc2lzdGVudCBzZXNzaW9ucyBhbmQgZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorCiAyMDE3LTA0LTI2ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkl0ZW1Q
cm92aWRlclBhc3RlYm9hcmQgc2hvdWxkIG5vdCBzeW5jaHJvbm91c2x5IGxvYWQgcHJvdmlkZWQg
ZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uY3BwCmluZGV4IDk4NWI0Y2RkMGE5Y2YzNzIyZWE0MDE0MmY5MmY1
MTM5MjQzZWZhYmMuLjU1YmU5Y2NmNDJhNmZjMTFkMTU2N2JjMDdjNGY5MTQ0YWNmNjNiZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9u
SUQKIAogdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlc3Ryb3lTZXNzaW9uKFNlc3Npb25J
RCBzZXNzaW9uSUQpCiB7CisgICAgQVNTRVJUKHNlc3Npb25JRCAhPSBTZXNzaW9uSUQ6OmRlZmF1
bHRTZXNzaW9uSUQoKSk7CiAgICAgZ2xvYmFsU2Vzc2lvbk1hcCgpLnJlbW92ZShzZXNzaW9uSUQp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaAppbmRleCAzYjBjNDIzY2ZiMTQ5ZTA2MzE3NDRiMmI1NjczNDE4
ZDhjOTY4YzU0Li43Yzk1MjQwYjQ5M2JkNzg1ZmJkOTQ1ZmNmMDc3MmJkMjc5NzUwZjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIGRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHN0b3JhZ2VT
ZXNzaW9uKFNlc3Npb25JRCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ckJhc2UgPSBTdHJpbmcoKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
U2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2UgPSBTdHJpbmco
KSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGVzdHJveVNlc3Npb24oU2Vzc2lv
bklEKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBmb3JFYWNoKHN0ZDo6ZnVuY3Rp
b248dm9pZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mKT4pOwogCkBAIC03
Miw3ICs3Myw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRlVSTENPTk5FQ1RJT04pCi0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCwg
UmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+KTsKKyAgICBOZXR3b3JrU3RvcmFnZVNl
c3Npb24oU2Vzc2lvbklELCBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4sIFJldGFp
blB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPik7CiAKICAgICAvLyBNYXkgYmUgbnVsbCwgaW4g
d2hpY2ggY2FzZSBhIEZvdW5kYXRpb24gZGVmYXVsdCBzaG91bGQgYmUgdXNlZC4KICAgICBDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIHBsYXRmb3JtU2Vzc2lvbigpIHsgcmV0dXJuIG1fcGxhdGZvcm1T
ZXNzaW9uLmdldCgpOyB9CkBAIC0xMTQsNiArMTE1LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFJldGFpblB0cjxDRlVSTFN0
b3JhZ2VTZXNzaW9uUmVmPiBtX3BsYXRmb3JtU2Vzc2lvbjsKKyAgICBSZXRhaW5QdHI8Q0ZIVFRQ
Q29va2llU3RvcmFnZVJlZj4gbV9wbGF0Zm9ybUNvb2tpZVN0b3JhZ2U7CiAjZWxpZiBVU0UoU09V
UCkKICAgICBzdGF0aWMgdm9pZCBjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtTdG9yYWdlU2Vzc2lv
biopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcAppbmRleCBmZDk4NDMyZTY2ZjMwNDYwM2Iy
NTljYzRmOWRiMGRiNmRmODBkZWQxLi40ZTFlMzNlNmJkYzJhZjVlYjFlMDc4OWY4Y2VlMGI5YzAw
ZmI3Nzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAKQEAgLTQ5LDcgKzQ5LDEyIEBAIE5l
dHdvcmtpbmdDb250ZXh0KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNvbnRleHQoKSBjb25zdAog
ICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiB9CiAKLXZvaWQgTmV0d29ya1N0b3JhZ2VTZXNz
aW9uOjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYpCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJy
b3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNz
aW9uKFNlc3Npb25JRCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggOWE4YWI5YWI3YmQ3
MjU0ZjRhMDFlYjM0NDUwYmUwN2QwZWIyMGJmMC4uYWIyY2FhZjI2ZjY0MWJmNTIxMjk5YzdhYWQ3
NGRhN2E1YzYzNWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsMTUg
KzM4LDQxIEBACiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUlu
dGVyZmFjZS5oPgogI2VuZGlmCiAKLS8vIEZJWE1FOiBUaGlzIGZpbGUgaXMgbW9zdGx5IENvY29h
IGNvZGUsIG5vdCBDRk5ldHdvcmsgY29kZS4gVGhpcyBjb2RlIHNob3VsZCBiZSBtb3ZlZC4KLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBjb29raWVTdG9yYWdlUGFydGl0aW9u
aW5nRW5hYmxlZDsKIAotTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IHBsYXRmb3JtU2Vzc2lvbikKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJl
Zj4gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIoQ0ZTdHJpbmdSZWYgaWRlbnRp
ZmllcikKK3sKKyAgICBhdXRvIHN0b3JhZ2VTZXNzaW9uID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBpZGVudGlmaWVyLCBudWxscHRyKSk7
CisKKyAgICBpZiAoIXN0b3JhZ2VTZXNzaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CisgICAgaWYgKCFjYWNo
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBDRlVSTENhY2hlU2V0RGlza0NhcGFj
aXR5KGNhY2hlLmdldCgpLCAwKTsKKworICAgIGF1dG8gc2hhcmVkQ2FjaGUgPSBhZG9wdENGKENG
VVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7CisgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNh
cGFjaXR5KGNhY2hlLmdldCgpLCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUu
Z2V0KCkpKTsKKworICAgIGF1dG8gY29va2llU3RvcmFnZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFn
ZVNlc3Npb25Db3B5Q29va2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vz
c2lvbi5nZXQoKSkpOworICAgIGlmICghY29va2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBhdXRvIHNoYXJlZENvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRkhUVFBD
b29raWVTdG9yYWdlR2V0RGVmYXVsdChrQ0ZBbGxvY2F0b3JEZWZhdWx0KSk7CisgICAgYXV0byBz
aGFyZWRQb2xpY3kgPSBDRkhUVFBDb29raWVTdG9yYWdlR2V0Q29va2llQWNjZXB0UG9saWN5KHNo
YXJlZENvb2tpZVN0b3JhZ2UuZ2V0KCkpOworICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRDb29r
aWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgc2hhcmVkUG9saWN5KTsKKworICAg
IHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKK30KKworTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3
b3JrU3RvcmFnZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3Rv
cmFnZVNlc3Npb25SZWY+IHBsYXRmb3JtU2Vzc2lvbiwgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0
b3JhZ2VSZWY+IHBsYXRmb3JtQ29va2llU3RvcmFnZSkKICAgICA6IG1fc2Vzc2lvbklEKHNlc3Np
b25JRCkKLSAgICAsIG1fcGxhdGZvcm1TZXNzaW9uKHBsYXRmb3JtU2Vzc2lvbikKKyAgICAsIG1f
cGxhdGZvcm1TZXNzaW9uKFdURk1vdmUocGxhdGZvcm1TZXNzaW9uKSkKKyAgICAsIG1fcGxhdGZv
cm1Db29raWVTdG9yYWdlKHBsYXRmb3JtQ29va2llU3RvcmFnZSA/IFdURk1vdmUocGxhdGZvcm1D
b29raWVTdG9yYWdlKSA6IGNvb2tpZVN0b3JhZ2UoKSkKIHsKIH0KIApAQCAtNjEsMzcgKzg3LDYx
IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzd2l0Y2hUb05ld1Rlc3RpbmdTZXNzaW9u
KCkKIHsKICAgICAvLyBTZXNzaW9uIG5hbWUgc2hvdWxkIGJlIHNob3J0IGVub3VnaCBmb3Igc2hh
cmVkIG1lbW9yeSByZWdpb24gbmFtZSB0byBiZSB1bmRlciB0aGUgbGltaXQsIG90ZWhyd2lzZSBz
YW5kYm94IHJ1bGVzIHdvbid0IHdvcmsgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM2NDI4NTI+KS4K
ICAgICBTdHJpbmcgc2Vzc2lvbk5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiV2ViS2l0IFRlc3QtJXUi
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZ2V0Q3VycmVudFByb2Nlc3NJRCgpKSk7CisKKyAgICBS
ZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gc2Vzc2lvbjsKICNpZiBQTEFURk9STShD
T0NPQSkKLSAgICBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5p
cXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCks
IGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oc2Vzc2lvbk5hbWUuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSkpKTsKKyAgICBzZXNzaW9uID0gYWRvcHRDRih3a0NyZWF0ZVByaXZh
dGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKSk7CiAj
ZWxzZQotICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlx
dWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwg
YWRvcHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3Jt
U2Vzc2lvbigpKSkpOworICAgIHNlc3Npb24gPSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGRlZmF1bHROZXR3
b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCkpKTsKICNlbmRpZgorCisgICAg
UmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNvb2tpZVN0b3JhZ2U7CisgICAgaWYg
KHNlc3Npb24pCisgICAgICAgIGNvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VT
ZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2Vzc2lvbi5nZXQo
KSkpOworCisgICAgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3Vu
aXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgp
LCBXVEZNb3ZlKHNlc3Npb24pLCBXVEZNb3ZlKGNvb2tpZVN0b3JhZ2UpKTsKIH0KIAogTmV0d29y
a1N0b3JhZ2VTZXNzaW9uJiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vz
c2lvbigpCiB7CiAgICAgaWYgKCFkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkpCi0gICAg
ICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0
d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgbnVsbHB0
cik7CisgICAgICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91
bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQo
KSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgcmV0dXJuICpkZWZhdWx0TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVQcml2YXRl
QnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllckJhc2UpCiB7Ci0gICAgaWYgKGdsb2JhbFNlc3Npb25NYXAoKS5jb250YWlucyhzZXNzaW9u
SUQpKQorICAgIEFTU0VSVChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSk7CisgICAgZW5zdXJlU2Vz
c2lvbihzZXNzaW9uSUQsIGlkZW50aWZpZXJCYXNlKTsKK30KKwordm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmVuc3VyZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyQmFzZSkKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0Vu
dHJ5KQogICAgICAgICByZXR1cm47CisKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmSWRl
bnRpZmllciA9IFN0cmluZyhpZGVudGlmaWVyQmFzZSArICIuUHJpdmF0ZUJyb3dzaW5nIikuY3Jl
YXRlQ0ZTdHJpbmcoKTsKIAorICAgIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBz
dG9yYWdlU2Vzc2lvbjsKKyAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkpIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24g
PSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQo
KSkpOwogI2Vsc2UKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VT
ZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigp
LT5wbGF0Zm9ybVNlc3Npb24oKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24gPSBhZG9wdENG
KHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVs
dE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpLT5wbGF0Zm9ybVNlc3Npb24oKSkpOwogI2VuZGlmCisg
ICAgfSBlbHNlCisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lv
bkZvcklkZW50aWZpZXIoY2ZJZGVudGlmaWVyLmdldCgpKTsKIAotICAgIGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBXVEZNb3ZlKHNlc3Npb24pKTsKKyAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZSA9IHN0b3JhZ2VTZXNzaW9uID8gYWRv
cHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSkgOiBudWxscHRyOworICAgIGFkZFJlc3VsdC5p
dGVyYXRvci0+dmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4o
c2Vzc2lvbklELCBXVEZNb3ZlKHN0b3JhZ2VTZXNzaW9uKSwgV1RGTW92ZShjb29raWVTdG9yYWdl
KSk7CiB9CiAKIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmNvb2tpZVN0b3JhZ2UoKSBjb25zdAogeworICAgIGlmIChtX3BsYXRmb3JtQ29v
a2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG1fcGxhdGZvcm1Db29raWVTdG9yYWdlOworCiAg
ICAgaWYgKG1fcGxhdGZvcm1TZXNzaW9uKQogICAgICAgICByZXR1cm4gYWRvcHRDRihfQ0ZVUkxT
dG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG1fcGxh
dGZvcm1TZXNzaW9uLmdldCgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNw
cAppbmRleCA3YjNmZjg3ZTAxN2FmM2U2YTdmMDEyYWFmZTcxNmIzODVjOGNhMTBkLi44ODAxODRh
Y2ZkNmUwZWFmNzkzZmI5OGNmOTIyYjlhNzRlY2VkMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdl
U2Vzc2lvblNvdXAuY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklELCBj
bwogICAgIGdsb2JhbFNlc3Npb25NYXAoKS5hZGQoc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVl
PE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVlPFNvdXBO
ZXR3b3JrU2Vzc2lvbj4oKSkpOwogfQogCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5z
dXJlU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudAorfQorCiB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNoVG9OZXdUZXN0
aW5nU2Vzc2lvbigpCiB7CiAgICAgZGVmYXVsdFNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8
TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgc3Rk
OjptYWtlX3VuaXF1ZTxTb3VwTmV0d29ya1Nlc3Npb24+KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDUxY2FhNWY3NmRlMTkyOWI5N2Ji
OTcwZTdhMzU3NTM4NWVjZTIyMzQuLjYxNzQyYmM1NmQ0ZDg5NjcyM2UxYTE3YTQ4Y2Q2YzQzMGQ5
NDEzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0xNTQsMTAgKzE1NCwxMyBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3Bv
bnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiBXVEZfRVhURVJOX0Nf
QkVHSU4KIAogI2lmICFQTEFURk9STShXSU4pCitDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIF9DRlVS
TFN0b3JhZ2VTZXNzaW9uQ3JlYXRlKENGQWxsb2NhdG9yUmVmLCBDRlN0cmluZ1JlZiwgQ0ZEaWN0
aW9uYXJ5UmVmKTsKKwogdm9pZCBDRlVSTFJlcXVlc3RTZXRTaG91bGRTdGFydFN5bmNocm9ub3Vz
bHkoQ0ZVUkxSZXF1ZXN0UmVmLCBCb29sZWFuKTsKIAogQ0ZVUkxDYWNoZVJlZiBDRlVSTENhY2hl
Q29weVNoYXJlZFVSTENhY2hlKCk7CiB2b2lkIENGVVJMQ2FjaGVTZXRNZW1vcnlDYXBhY2l0eShD
RlVSTENhY2hlUmVmLCBDRkluZGV4IG1lbW9yeUNhcGFjaXR5KTsKK0NGSW5kZXggQ0ZVUkxDYWNo
ZU1lbW9yeUNhcGFjaXR5KENGVVJMQ2FjaGVSZWYpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogQm9v
bGVhbiBfQ0ZOZXR3b3JrSXNLbm93bkhTVFNIb3N0V2l0aFNlc3Npb24oQ0ZVUkxSZWYsIENGVVJM
U3RvcmFnZVNlc3Npb25SZWYpOwogdm9pZCBfQ0ZOZXR3b3JrUmVzZXRIU1RTSG9zdHNXaXRoU2Vz
c2lvbihDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKQEAgLTE4MCw2ICsxODMsNyBAQCBleHRlcm4g
Y29uc3QgQ0ZTdHJpbmdSZWYgX2tDRlVSTENvbm5lY3Rpb25Qcm9wZXJ0eVNob3VsZFNuaWZmOwog
Q0ZIVFRQQ29va2llU3RvcmFnZVJlZiBfQ0ZIVFRQQ29va2llU3RvcmFnZUdldERlZmF1bHQoQ0ZB
bGxvY2F0b3JSZWYpOwogdm9pZCBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llKENGSFRUUENv
b2tpZVN0b3JhZ2VSZWYsIENGSFRUUENvb2tpZVJlZik7CiB2b2lkIENGSFRUUENvb2tpZVN0b3Jh
Z2VTZXRDb29raWVBY2NlcHRQb2xpY3koQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiwgQ0ZIVFRQQ29v
a2llU3RvcmFnZUFjY2VwdFBvbGljeSk7CitDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5
IENGSFRUUENvb2tpZVN0b3JhZ2VHZXRDb29raWVBY2NlcHRQb2xpY3koQ0ZIVFRQQ29va2llU3Rv
cmFnZVJlZik7CiB2b2lkIF9DRk5ldHdvcmtTZXRPdmVycmlkZVN5c3RlbVByb3h5U2V0dGluZ3Mo
Q0ZEaWN0aW9uYXJ5UmVmKTsKIENGVVJMQ3JlZGVudGlhbFN0b3JhZ2VSZWYgQ0ZVUkxDcmVkZW50
aWFsU3RvcmFnZUNyZWF0ZShDRkFsbG9jYXRvclJlZik7CiBDRlVSTENyZWRlbnRpYWxSZWYgQ0ZV
UkxDcmVkZW50aWFsU3RvcmFnZUNvcHlEZWZhdWx0Q3JlZGVudGlhbEZvclByb3RlY3Rpb25TcGFj
ZShDRlVSTENyZWRlbnRpYWxTdG9yYWdlUmVmLCBDRlVSTFByb3RlY3Rpb25TcGFjZVJlZik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Nlc3Npb25Db2NvYS5tbQppbmRleCA2NGYzOWVjNDY5NWRkZjA5NzNmNmE2OWU5ZmE0NzZiNzk0
NGEwNTk4Li5mZThlNDI3ZTIxOWQ5ZGI3YTdiYzFiN2I4OThmY2NiMzYxYmEwMjNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0KQEAgLTU5MCwxNSArNTkwLDEwIEBAIE5ldHdvcmtTZXNzaW9uQ29jb2E6
Ok5ldHdvcmtTZXNzaW9uQ29jb2EoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgTGVnYWN5
Q3VzCiAgICAgc2V0Q29sbGVjdHNUaW1pbmdEYXRhKCk7CiAjZW5kaWYKIAotICAgIGlmIChzZXNz
aW9uSUQgPT0gV2ViQ29yZTo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpIHsKLSAgICAg
ICAgaWYgKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgc3RvcmFnZSA9IFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCkuY29va2llU3RvcmFnZSgpLmdl
dCgpKQotICAgICAgICAgICAgY29uZmlndXJhdGlvbi5IVFRQQ29va2llU3RvcmFnZSA9IFtbW05T
SFRUUENvb2tpZVN0b3JhZ2UgYWxsb2NdIF9pbml0V2l0aENGSFRUUENvb2tpZVN0b3JhZ2U6c3Rv
cmFnZV0gYXV0b3JlbGVhc2VdOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGF1dG8qIHN0b3JhZ2VT
ZXNzaW9uID0gV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzdG9yYWdlU2Vzc2lvbihz
ZXNzaW9uSUQpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVChzdG9yYWdlU2Vzc2lvbik7Ci0gICAg
ICAgIGlmIChDRkhUVFBDb29raWVTdG9yYWdlUmVmIHN0b3JhZ2UgPSBzdG9yYWdlU2Vzc2lvbi0+
Y29va2llU3RvcmFnZSgpLmdldCgpKQotICAgICAgICAgICAgY29uZmlndXJhdGlvbi5IVFRQQ29v
a2llU3RvcmFnZSA9IFtbW05TSFRUUENvb2tpZVN0b3JhZ2UgYWxsb2NdIF9pbml0V2l0aENGSFRU
UENvb2tpZVN0b3JhZ2U6c3RvcmFnZV0gYXV0b3JlbGVhc2VdOwotICAgIH0KKyAgICBhdXRvKiBz
dG9yYWdlU2Vzc2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3RvcmFnZVNl
c3Npb24oc2Vzc2lvbklEKTsKKyAgICBSRUxFQVNFX0FTU0VSVChzdG9yYWdlU2Vzc2lvbik7Cisg
ICAgaWYgKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgc3RvcmFnZSA9IHN0b3JhZ2VTZXNzaW9uLT5j
b29raWVTdG9yYWdlKCkuZ2V0KCkpCisgICAgICAgIGNvbmZpZ3VyYXRpb24uSFRUUENvb2tpZVN0
b3JhZ2UgPSBbW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhDRkhUVFBDb29r
aWVTdG9yYWdlOnN0b3JhZ2VdIGF1dG9yZWxlYXNlXTsKIAogICAgIG1fc2Vzc2lvbldpdGhDcmVk
ZW50aWFsU3RvcmFnZURlbGVnYXRlID0gYWRvcHROUyhbW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0
ZSBhbGxvY10gaW5pdFdpdGhOZXR3b3JrU2Vzc2lvbjoqdGhpcyB3aXRoQ3JlZGVudGlhbHM6dHJ1
ZV0pOwogICAgIG1fc2Vzc2lvbldpdGhDcmVkZW50aWFsU3RvcmFnZSA9IFtOU1VSTFNlc3Npb24g
c2Vzc2lvbldpdGhDb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24gZGVsZWdhdGU6c3RhdGljX2Nh
c3Q8aWQ+KG1fc2Vzc2lvbldpdGhDcmVkZW50aWFsU3RvcmFnZURlbGVnYXRlLmdldCgpKSBkZWxl
Z2F0ZVF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIG1haW5RdWV1ZV1dOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308357</attachid>
            <date>2017-04-27 00:30:46 -0700</date>
            <delta_ts>2017-04-27 08:57:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171365-20170427003045.patch</filename>
            <type>text/plain</type>
            <size>16771</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4NjMzN2U4MDRjOWQ1
NTI0MDRkYTk4MmYzN2QyNjY4NzdiM2Q1OS4uMmI4MGZmZGVkOTAxZWZlOThhZGI2ZDg0YTYzZWY5
YmRmM2MwZTE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTI3ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVyc2lzdGVudCBzZXNzaW9ucyBhbmQg
ZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIHRlc3RhYmxlIGJlaGF2aW9y
IGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZXN0cm95U2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaDoKKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25TdHViLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24pOgorICAgICAgICAKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNo
VG9OZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNl
c3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29va2llU3RvcmFnZSk6CisgICAgICAg
IAorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25T
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJl
U2Vzc2lvbik6CisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtT
UEkuaDoKKwogMjAxNy0wNC0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IGEgUExUIHJlZ3Jlc3Npb24uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWRhN2U4OTYyZmU2YjlkZjg5NTBjMWUyY2EzZTNiODdlMzlmY2I5Yi4uNGRjMDE5
ODRjM2RmY2Y2OWZiMzQzNjFiY2U0ZTZiMWYwYjIzMWZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE3LTA0LTI3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBVcGRhdGUgTmV0d29ya1N0b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUg
cGVyc2lzdGVudCBzZXNzaW9ucyBhbmQgZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorCiAyMDE3LTA0LTI2ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkl0ZW1Q
cm92aWRlclBhc3RlYm9hcmQgc2hvdWxkIG5vdCBzeW5jaHJvbm91c2x5IGxvYWQgcHJvdmlkZWQg
ZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uY3BwCmluZGV4IDk4NWI0Y2RkMGE5Y2YzNzIyZWE0MDE0MmY5MmY1
MTM5MjQzZWZhYmMuLjU1YmU5Y2NmNDJhNmZjMTFkMTU2N2JjMDdjNGY5MTQ0YWNmNjNiZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9u
SUQKIAogdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlc3Ryb3lTZXNzaW9uKFNlc3Npb25J
RCBzZXNzaW9uSUQpCiB7CisgICAgQVNTRVJUKHNlc3Npb25JRCAhPSBTZXNzaW9uSUQ6OmRlZmF1
bHRTZXNzaW9uSUQoKSk7CiAgICAgZ2xvYmFsU2Vzc2lvbk1hcCgpLnJlbW92ZShzZXNzaW9uSUQp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaAppbmRleCAzYjBjNDIzY2ZiMTQ5ZTA2MzE3NDRiMmI1NjczNDE4
ZDhjOTY4YzU0Li43Yzk1MjQwYjQ5M2JkNzg1ZmJkOTQ1ZmNmMDc3MmJkMjc5NzUwZjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIGRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHN0b3JhZ2VT
ZXNzaW9uKFNlc3Npb25JRCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ckJhc2UgPSBTdHJpbmcoKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
U2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2UgPSBTdHJpbmco
KSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGVzdHJveVNlc3Npb24oU2Vzc2lv
bklEKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBmb3JFYWNoKHN0ZDo6ZnVuY3Rp
b248dm9pZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mKT4pOwogCkBAIC03
Miw3ICs3Myw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRlVSTENPTk5FQ1RJT04pCi0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCwg
UmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+KTsKKyAgICBOZXR3b3JrU3RvcmFnZVNl
c3Npb24oU2Vzc2lvbklELCBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4sIFJldGFp
blB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPik7CiAKICAgICAvLyBNYXkgYmUgbnVsbCwgaW4g
d2hpY2ggY2FzZSBhIEZvdW5kYXRpb24gZGVmYXVsdCBzaG91bGQgYmUgdXNlZC4KICAgICBDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIHBsYXRmb3JtU2Vzc2lvbigpIHsgcmV0dXJuIG1fcGxhdGZvcm1T
ZXNzaW9uLmdldCgpOyB9CkBAIC0xMTQsNiArMTE1LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFJldGFpblB0cjxDRlVSTFN0
b3JhZ2VTZXNzaW9uUmVmPiBtX3BsYXRmb3JtU2Vzc2lvbjsKKyAgICBSZXRhaW5QdHI8Q0ZIVFRQ
Q29va2llU3RvcmFnZVJlZj4gbV9wbGF0Zm9ybUNvb2tpZVN0b3JhZ2U7CiAjZWxpZiBVU0UoU09V
UCkKICAgICBzdGF0aWMgdm9pZCBjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtTdG9yYWdlU2Vzc2lv
biopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcAppbmRleCBmZDk4NDMyZTY2ZjMwNDYwM2Iy
NTljYzRmOWRiMGRiNmRmODBkZWQxLi40ZTFlMzNlNmJkYzJhZjVlYjFlMDc4OWY4Y2VlMGI5YzAw
ZmI3Nzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAKQEAgLTQ5LDcgKzQ5LDEyIEBAIE5l
dHdvcmtpbmdDb250ZXh0KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNvbnRleHQoKSBjb25zdAog
ICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiB9CiAKLXZvaWQgTmV0d29ya1N0b3JhZ2VTZXNz
aW9uOjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYpCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJy
b3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNz
aW9uKFNlc3Npb25JRCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggOWE4YWI5YWI3YmQ3
MjU0ZjRhMDFlYjM0NDUwYmUwN2QwZWIyMGJmMC4uYWIyY2FhZjI2ZjY0MWJmNTIxMjk5YzdhYWQ3
NGRhN2E1YzYzNWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsMTUg
KzM4LDQxIEBACiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUlu
dGVyZmFjZS5oPgogI2VuZGlmCiAKLS8vIEZJWE1FOiBUaGlzIGZpbGUgaXMgbW9zdGx5IENvY29h
IGNvZGUsIG5vdCBDRk5ldHdvcmsgY29kZS4gVGhpcyBjb2RlIHNob3VsZCBiZSBtb3ZlZC4KLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBjb29raWVTdG9yYWdlUGFydGl0aW9u
aW5nRW5hYmxlZDsKIAotTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IHBsYXRmb3JtU2Vzc2lvbikKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJl
Zj4gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIoQ0ZTdHJpbmdSZWYgaWRlbnRp
ZmllcikKK3sKKyAgICBhdXRvIHN0b3JhZ2VTZXNzaW9uID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBpZGVudGlmaWVyLCBudWxscHRyKSk7
CisKKyAgICBpZiAoIXN0b3JhZ2VTZXNzaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CisgICAgaWYgKCFjYWNo
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBDRlVSTENhY2hlU2V0RGlza0NhcGFj
aXR5KGNhY2hlLmdldCgpLCAwKTsKKworICAgIGF1dG8gc2hhcmVkQ2FjaGUgPSBhZG9wdENGKENG
VVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7CisgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNh
cGFjaXR5KGNhY2hlLmdldCgpLCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUu
Z2V0KCkpKTsKKworICAgIGF1dG8gY29va2llU3RvcmFnZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFn
ZVNlc3Npb25Db3B5Q29va2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vz
c2lvbi5nZXQoKSkpOworICAgIGlmICghY29va2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBhdXRvIHNoYXJlZENvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRkhUVFBD
b29raWVTdG9yYWdlR2V0RGVmYXVsdChrQ0ZBbGxvY2F0b3JEZWZhdWx0KSk7CisgICAgYXV0byBz
aGFyZWRQb2xpY3kgPSBDRkhUVFBDb29raWVTdG9yYWdlR2V0Q29va2llQWNjZXB0UG9saWN5KHNo
YXJlZENvb2tpZVN0b3JhZ2UuZ2V0KCkpOworICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRDb29r
aWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgc2hhcmVkUG9saWN5KTsKKworICAg
IHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKK30KKworTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3
b3JrU3RvcmFnZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3Rv
cmFnZVNlc3Npb25SZWY+IHBsYXRmb3JtU2Vzc2lvbiwgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0
b3JhZ2VSZWY+IHBsYXRmb3JtQ29va2llU3RvcmFnZSkKICAgICA6IG1fc2Vzc2lvbklEKHNlc3Np
b25JRCkKLSAgICAsIG1fcGxhdGZvcm1TZXNzaW9uKHBsYXRmb3JtU2Vzc2lvbikKKyAgICAsIG1f
cGxhdGZvcm1TZXNzaW9uKFdURk1vdmUocGxhdGZvcm1TZXNzaW9uKSkKKyAgICAsIG1fcGxhdGZv
cm1Db29raWVTdG9yYWdlKHBsYXRmb3JtQ29va2llU3RvcmFnZSA/IFdURk1vdmUocGxhdGZvcm1D
b29raWVTdG9yYWdlKSA6IGNvb2tpZVN0b3JhZ2UoKSkKIHsKIH0KIApAQCAtNjEsMzcgKzg3LDYx
IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzd2l0Y2hUb05ld1Rlc3RpbmdTZXNzaW9u
KCkKIHsKICAgICAvLyBTZXNzaW9uIG5hbWUgc2hvdWxkIGJlIHNob3J0IGVub3VnaCBmb3Igc2hh
cmVkIG1lbW9yeSByZWdpb24gbmFtZSB0byBiZSB1bmRlciB0aGUgbGltaXQsIG90ZWhyd2lzZSBz
YW5kYm94IHJ1bGVzIHdvbid0IHdvcmsgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM2NDI4NTI+KS4K
ICAgICBTdHJpbmcgc2Vzc2lvbk5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiV2ViS2l0IFRlc3QtJXUi
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZ2V0Q3VycmVudFByb2Nlc3NJRCgpKSk7CisKKyAgICBS
ZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gc2Vzc2lvbjsKICNpZiBQTEFURk9STShD
T0NPQSkKLSAgICBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5p
cXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCks
IGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oc2Vzc2lvbk5hbWUuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSkpKTsKKyAgICBzZXNzaW9uID0gYWRvcHRDRih3a0NyZWF0ZVByaXZh
dGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKSk7CiAj
ZWxzZQotICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlx
dWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwg
YWRvcHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3Jt
U2Vzc2lvbigpKSkpOworICAgIHNlc3Npb24gPSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGRlZmF1bHROZXR3
b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCkpKTsKICNlbmRpZgorCisgICAg
UmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNvb2tpZVN0b3JhZ2U7CisgICAgaWYg
KHNlc3Npb24pCisgICAgICAgIGNvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VT
ZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2Vzc2lvbi5nZXQo
KSkpOworCisgICAgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3Vu
aXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgp
LCBXVEZNb3ZlKHNlc3Npb24pLCBXVEZNb3ZlKGNvb2tpZVN0b3JhZ2UpKTsKIH0KIAogTmV0d29y
a1N0b3JhZ2VTZXNzaW9uJiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vz
c2lvbigpCiB7CiAgICAgaWYgKCFkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkpCi0gICAg
ICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0
d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgbnVsbHB0
cik7CisgICAgICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91
bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQo
KSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgcmV0dXJuICpkZWZhdWx0TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVQcml2YXRl
QnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllckJhc2UpCiB7Ci0gICAgaWYgKGdsb2JhbFNlc3Npb25NYXAoKS5jb250YWlucyhzZXNzaW9u
SUQpKQorICAgIEFTU0VSVChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSk7CisgICAgZW5zdXJlU2Vz
c2lvbihzZXNzaW9uSUQsIGlkZW50aWZpZXJCYXNlKTsKK30KKwordm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmVuc3VyZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyQmFzZSkKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0Vu
dHJ5KQogICAgICAgICByZXR1cm47CisKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmSWRl
bnRpZmllciA9IFN0cmluZyhpZGVudGlmaWVyQmFzZSArICIuUHJpdmF0ZUJyb3dzaW5nIikuY3Jl
YXRlQ0ZTdHJpbmcoKTsKIAorICAgIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBz
dG9yYWdlU2Vzc2lvbjsKKyAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkpIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24g
PSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQo
KSkpOwogI2Vsc2UKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VT
ZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigp
LT5wbGF0Zm9ybVNlc3Npb24oKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24gPSBhZG9wdENG
KHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVs
dE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpLT5wbGF0Zm9ybVNlc3Npb24oKSkpOwogI2VuZGlmCisg
ICAgfSBlbHNlCisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lv
bkZvcklkZW50aWZpZXIoY2ZJZGVudGlmaWVyLmdldCgpKTsKIAotICAgIGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBXVEZNb3ZlKHNlc3Npb24pKTsKKyAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZSA9IHN0b3JhZ2VTZXNzaW9uID8gYWRv
cHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSkgOiBudWxscHRyOworICAgIGFkZFJlc3VsdC5p
dGVyYXRvci0+dmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4o
c2Vzc2lvbklELCBXVEZNb3ZlKHN0b3JhZ2VTZXNzaW9uKSwgV1RGTW92ZShjb29raWVTdG9yYWdl
KSk7CiB9CiAKIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmNvb2tpZVN0b3JhZ2UoKSBjb25zdAogeworICAgIGlmIChtX3BsYXRmb3JtQ29v
a2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG1fcGxhdGZvcm1Db29raWVTdG9yYWdlOworCiAg
ICAgaWYgKG1fcGxhdGZvcm1TZXNzaW9uKQogICAgICAgICByZXR1cm4gYWRvcHRDRihfQ0ZVUkxT
dG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG1fcGxh
dGZvcm1TZXNzaW9uLmdldCgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNw
cAppbmRleCA3YjNmZjg3ZTAxN2FmM2U2YTdmMDEyYWFmZTcxNmIzODVjOGNhMTBkLi44ODAxODRh
Y2ZkNmUwZWFmNzkzZmI5OGNmOTIyYjlhNzRlY2VkMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdl
U2Vzc2lvblNvdXAuY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklELCBj
bwogICAgIGdsb2JhbFNlc3Npb25NYXAoKS5hZGQoc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVl
PE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVlPFNvdXBO
ZXR3b3JrU2Vzc2lvbj4oKSkpOwogfQogCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5z
dXJlU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudAorfQorCiB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNoVG9OZXdUZXN0
aW5nU2Vzc2lvbigpCiB7CiAgICAgZGVmYXVsdFNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8
TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgc3Rk
OjptYWtlX3VuaXF1ZTxTb3VwTmV0d29ya1Nlc3Npb24+KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDUxY2FhNWY3NmRlMTkyOWI5N2Ji
OTcwZTdhMzU3NTM4NWVjZTIyMzQuLmQzNzMwNThiMWFiMGI2MTgyNDkyY2Q3OGM5N2I3MTBlMjNj
YjlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0xNTQsMTAgKzE1NCwxNCBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3Bv
bnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiBXVEZfRVhURVJOX0Nf
QkVHSU4KIAogI2lmICFQTEFURk9STShXSU4pCitDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIF9DRlVS
TFN0b3JhZ2VTZXNzaW9uQ3JlYXRlKENGQWxsb2NhdG9yUmVmLCBDRlN0cmluZ1JlZiwgQ0ZEaWN0
aW9uYXJ5UmVmKTsKK0NGVVJMQ2FjaGVSZWYgX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUo
Q0ZBbGxvY2F0b3JSZWYsIENGVVJMU3RvcmFnZVNlc3Npb25SZWYpOworCiB2b2lkIENGVVJMUmVx
dWVzdFNldFNob3VsZFN0YXJ0U3luY2hyb25vdXNseShDRlVSTFJlcXVlc3RSZWYsIEJvb2xlYW4p
OwogCiBDRlVSTENhY2hlUmVmIENGVVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKTsKIHZvaWQg
Q0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KENGVVJMQ2FjaGVSZWYsIENGSW5kZXggbWVtb3J5
Q2FwYWNpdHkpOworQ0ZJbmRleCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoQ0ZVUkxDYWNoZVJl
Zik7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb29sZWFuIF9DRk5ldHdvcmtJc0tub3duSFNUU0hv
c3RXaXRoU2Vzc2lvbihDRlVSTFJlZiwgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZik7CiB2b2lkIF9D
Rk5ldHdvcmtSZXNldEhTVFNIb3N0c1dpdGhTZXNzaW9uKENGVVJMU3RvcmFnZVNlc3Npb25SZWYp
OwpAQCAtMTgwLDYgKzE4NCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBfa0NGVVJMQ29u
bmVjdGlvblByb3BlcnR5U2hvdWxkU25pZmY7CiBDRkhUVFBDb29raWVTdG9yYWdlUmVmIF9DRkhU
VFBDb29raWVTdG9yYWdlR2V0RGVmYXVsdChDRkFsbG9jYXRvclJlZik7CiB2b2lkIENGSFRUUENv
b2tpZVN0b3JhZ2VTZXRDb29raWUoQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiwgQ0ZIVFRQQ29va2ll
UmVmKTsKIHZvaWQgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShDRkhU
VFBDb29raWVTdG9yYWdlUmVmLCBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KTsKK0NG
SFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kgQ0ZIVFRQQ29va2llU3RvcmFnZUdldENvb2tp
ZUFjY2VwdFBvbGljeShDRkhUVFBDb29raWVTdG9yYWdlUmVmKTsKIHZvaWQgX0NGTmV0d29ya1Nl
dE92ZXJyaWRlU3lzdGVtUHJveHlTZXR0aW5ncyhDRkRpY3Rpb25hcnlSZWYpOwogQ0ZVUkxDcmVk
ZW50aWFsU3RvcmFnZVJlZiBDRlVSTENyZWRlbnRpYWxTdG9yYWdlQ3JlYXRlKENGQWxsb2NhdG9y
UmVmKTsKIENGVVJMQ3JlZGVudGlhbFJlZiBDRlVSTENyZWRlbnRpYWxTdG9yYWdlQ29weURlZmF1
bHRDcmVkZW50aWFsRm9yUHJvdGVjdGlvblNwYWNlKENGVVJMQ3JlZGVudGlhbFN0b3JhZ2VSZWYs
IENGVVJMUHJvdGVjdGlvblNwYWNlUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCmluZGV4IDY0ZjM5
ZWM0Njk1ZGRmMDk3M2Y2YTY5ZTlmYTQ3NmI3OTQ0YTA1OTguLmZlOGU0MjdlMjE5ZDlkYjdhN2Jj
MWI3Yjg5OGZjY2IzNjFiYTAyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpAQCAtNTkwLDE1ICs1
OTAsMTAgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYShXZWJDb3Jl
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBMZWdhY3lDdXMKICAgICBzZXRDb2xsZWN0c1RpbWluZ0Rh
dGEoKTsKICNlbmRpZgogCi0gICAgaWYgKHNlc3Npb25JRCA9PSBXZWJDb3JlOjpTZXNzaW9uSUQ6
OmRlZmF1bHRTZXNzaW9uSUQoKSkgewotICAgICAgICBpZiAoQ0ZIVFRQQ29va2llU3RvcmFnZVJl
ZiBzdG9yYWdlID0gV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFn
ZVNlc3Npb24oKS5jb29raWVTdG9yYWdlKCkuZ2V0KCkpCi0gICAgICAgICAgICBjb25maWd1cmF0
aW9uLkhUVFBDb29raWVTdG9yYWdlID0gW1tbTlNIVFRQQ29va2llU3RvcmFnZSBhbGxvY10gX2lu
aXRXaXRoQ0ZIVFRQQ29va2llU3RvcmFnZTpzdG9yYWdlXSBhdXRvcmVsZWFzZV07Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgYXV0byogc3RvcmFnZVNlc3Npb24gPSBXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCk7Ci0gICAgICAgIFJFTEVBU0Vf
QVNTRVJUKHN0b3JhZ2VTZXNzaW9uKTsKLSAgICAgICAgaWYgKENGSFRUUENvb2tpZVN0b3JhZ2VS
ZWYgc3RvcmFnZSA9IHN0b3JhZ2VTZXNzaW9uLT5jb29raWVTdG9yYWdlKCkuZ2V0KCkpCi0gICAg
ICAgICAgICBjb25maWd1cmF0aW9uLkhUVFBDb29raWVTdG9yYWdlID0gW1tbTlNIVFRQQ29va2ll
U3RvcmFnZSBhbGxvY10gX2luaXRXaXRoQ0ZIVFRQQ29va2llU3RvcmFnZTpzdG9yYWdlXSBhdXRv
cmVsZWFzZV07Ci0gICAgfQorICAgIGF1dG8qIHN0b3JhZ2VTZXNzaW9uID0gV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpzdG9yYWdlU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIFJFTEVB
U0VfQVNTRVJUKHN0b3JhZ2VTZXNzaW9uKTsKKyAgICBpZiAoQ0ZIVFRQQ29va2llU3RvcmFnZVJl
ZiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24tPmNvb2tpZVN0b3JhZ2UoKS5nZXQoKSkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi5IVFRQQ29va2llU3RvcmFnZSA9IFtbW05TSFRUUENvb2tpZVN0b3Jh
Z2UgYWxsb2NdIF9pbml0V2l0aENGSFRUUENvb2tpZVN0b3JhZ2U6c3RvcmFnZV0gYXV0b3JlbGVh
c2VdOwogCiAgICAgbV9zZXNzaW9uV2l0aENyZWRlbnRpYWxTdG9yYWdlRGVsZWdhdGUgPSBhZG9w
dE5TKFtbV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIGFsbG9jXSBpbml0V2l0aE5ldHdvcmtTZXNz
aW9uOip0aGlzIHdpdGhDcmVkZW50aWFsczp0cnVlXSk7CiAgICAgbV9zZXNzaW9uV2l0aENyZWRl
bnRpYWxTdG9yYWdlID0gW05TVVJMU2Vzc2lvbiBzZXNzaW9uV2l0aENvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbiBkZWxlZ2F0ZTpzdGF0aWNfY2FzdDxpZD4obV9zZXNzaW9uV2l0aENyZWRlbnRp
YWxTdG9yYWdlRGVsZWdhdGUuZ2V0KCkpIGRlbGVnYXRlUXVldWU6W05TT3BlcmF0aW9uUXVldWUg
bWFpblF1ZXVlXV07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308395</attachid>
            <date>2017-04-27 08:57:13 -0700</date>
            <delta_ts>2017-04-27 10:41:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171365-20170427085712.patch</filename>
            <type>text/plain</type>
            <size>16830</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4NjMzN2U4MDRjOWQ1
NTI0MDRkYTk4MmYzN2QyNjY4NzdiM2Q1OS4uMmI4MGZmZGVkOTAxZWZlOThhZGI2ZDg0YTYzZWY5
YmRmM2MwZTE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTI3ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVyc2lzdGVudCBzZXNzaW9ucyBhbmQg
ZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIHRlc3RhYmxlIGJlaGF2aW9y
IGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZXN0cm95U2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaDoKKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25TdHViLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24pOgorICAgICAgICAKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNo
VG9OZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNl
c3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29va2llU3RvcmFnZSk6CisgICAgICAg
IAorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25T
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJl
U2Vzc2lvbik6CisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtT
UEkuaDoKKwogMjAxNy0wNC0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IGEgUExUIHJlZ3Jlc3Npb24uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWRhN2U4OTYyZmU2YjlkZjg5NTBjMWUyY2EzZTNiODdlMzlmY2I5Yi4uNGRjMDE5
ODRjM2RmY2Y2OWZiMzQzNjFiY2U0ZTZiMWYwYjIzMWZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE3LTA0LTI3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBVcGRhdGUgTmV0d29ya1N0b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUg
cGVyc2lzdGVudCBzZXNzaW9ucyBhbmQgZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorCiAyMDE3LTA0LTI2ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkl0ZW1Q
cm92aWRlclBhc3RlYm9hcmQgc2hvdWxkIG5vdCBzeW5jaHJvbm91c2x5IGxvYWQgcHJvdmlkZWQg
ZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uY3BwCmluZGV4IDk4NWI0Y2RkMGE5Y2YzNzIyZWE0MDE0MmY5MmY1
MTM5MjQzZWZhYmMuLjU1YmU5Y2NmNDJhNmZjMTFkMTU2N2JjMDdjNGY5MTQ0YWNmNjNiZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9u
SUQKIAogdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlc3Ryb3lTZXNzaW9uKFNlc3Npb25J
RCBzZXNzaW9uSUQpCiB7CisgICAgQVNTRVJUKHNlc3Npb25JRCAhPSBTZXNzaW9uSUQ6OmRlZmF1
bHRTZXNzaW9uSUQoKSk7CiAgICAgZ2xvYmFsU2Vzc2lvbk1hcCgpLnJlbW92ZShzZXNzaW9uSUQp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaAppbmRleCAzYjBjNDIzY2ZiMTQ5ZTA2MzE3NDRiMmI1NjczNDE4
ZDhjOTY4YzU0Li43Yzk1MjQwYjQ5M2JkNzg1ZmJkOTQ1ZmNmMDc3MmJkMjc5NzUwZjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIGRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHN0b3JhZ2VT
ZXNzaW9uKFNlc3Npb25JRCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ckJhc2UgPSBTdHJpbmcoKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJl
U2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2UgPSBTdHJpbmco
KSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGVzdHJveVNlc3Npb24oU2Vzc2lv
bklEKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBmb3JFYWNoKHN0ZDo6ZnVuY3Rp
b248dm9pZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mKT4pOwogCkBAIC03
Miw3ICs3Myw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRlVSTENPTk5FQ1RJT04pCi0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCwg
UmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+KTsKKyAgICBOZXR3b3JrU3RvcmFnZVNl
c3Npb24oU2Vzc2lvbklELCBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4sIFJldGFp
blB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPik7CiAKICAgICAvLyBNYXkgYmUgbnVsbCwgaW4g
d2hpY2ggY2FzZSBhIEZvdW5kYXRpb24gZGVmYXVsdCBzaG91bGQgYmUgdXNlZC4KICAgICBDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIHBsYXRmb3JtU2Vzc2lvbigpIHsgcmV0dXJuIG1fcGxhdGZvcm1T
ZXNzaW9uLmdldCgpOyB9CkBAIC0xMTQsNiArMTE1LDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFJldGFpblB0cjxDRlVSTFN0
b3JhZ2VTZXNzaW9uUmVmPiBtX3BsYXRmb3JtU2Vzc2lvbjsKKyAgICBSZXRhaW5QdHI8Q0ZIVFRQ
Q29va2llU3RvcmFnZVJlZj4gbV9wbGF0Zm9ybUNvb2tpZVN0b3JhZ2U7CiAjZWxpZiBVU0UoU09V
UCkKICAgICBzdGF0aWMgdm9pZCBjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtTdG9yYWdlU2Vzc2lv
biopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcAppbmRleCBmZDk4NDMyZTY2ZjMwNDYwM2Iy
NTljYzRmOWRiMGRiNmRmODBkZWQxLi40ZTFlMzNlNmJkYzJhZjVlYjFlMDc4OWY4Y2VlMGI5YzAw
ZmI3Nzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAKQEAgLTQ5LDcgKzQ5LDEyIEBAIE5l
dHdvcmtpbmdDb250ZXh0KiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNvbnRleHQoKSBjb25zdAog
ICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiB9CiAKLXZvaWQgTmV0d29ya1N0b3JhZ2VTZXNz
aW9uOjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYpCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlUHJpdmF0ZUJy
b3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNz
aW9uKFNlc3Npb25JRCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggOWE4YWI5YWI3YmQ3
MjU0ZjRhMDFlYjM0NDUwYmUwN2QwZWIyMGJmMC4uYWIyY2FhZjI2ZjY0MWJmNTIxMjk5YzdhYWQ3
NGRhN2E1YzYzNWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsMTUg
KzM4LDQxIEBACiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUlu
dGVyZmFjZS5oPgogI2VuZGlmCiAKLS8vIEZJWE1FOiBUaGlzIGZpbGUgaXMgbW9zdGx5IENvY29h
IGNvZGUsIG5vdCBDRk5ldHdvcmsgY29kZS4gVGhpcyBjb2RlIHNob3VsZCBiZSBtb3ZlZC4KLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBjb29raWVTdG9yYWdlUGFydGl0aW9u
aW5nRW5hYmxlZDsKIAotTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IHBsYXRmb3JtU2Vzc2lvbikKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJl
Zj4gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIoQ0ZTdHJpbmdSZWYgaWRlbnRp
ZmllcikKK3sKKyAgICBhdXRvIHN0b3JhZ2VTZXNzaW9uID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBpZGVudGlmaWVyLCBudWxscHRyKSk7
CisKKyAgICBpZiAoIXN0b3JhZ2VTZXNzaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CisgICAgaWYgKCFjYWNo
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBDRlVSTENhY2hlU2V0RGlza0NhcGFj
aXR5KGNhY2hlLmdldCgpLCAwKTsKKworICAgIGF1dG8gc2hhcmVkQ2FjaGUgPSBhZG9wdENGKENG
VVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7CisgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNh
cGFjaXR5KGNhY2hlLmdldCgpLCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUu
Z2V0KCkpKTsKKworICAgIGF1dG8gY29va2llU3RvcmFnZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFn
ZVNlc3Npb25Db3B5Q29va2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vz
c2lvbi5nZXQoKSkpOworICAgIGlmICghY29va2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBhdXRvIHNoYXJlZENvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRkhUVFBD
b29raWVTdG9yYWdlR2V0RGVmYXVsdChrQ0ZBbGxvY2F0b3JEZWZhdWx0KSk7CisgICAgYXV0byBz
aGFyZWRQb2xpY3kgPSBDRkhUVFBDb29raWVTdG9yYWdlR2V0Q29va2llQWNjZXB0UG9saWN5KHNo
YXJlZENvb2tpZVN0b3JhZ2UuZ2V0KCkpOworICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRDb29r
aWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgc2hhcmVkUG9saWN5KTsKKworICAg
IHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKK30KKworTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3
b3JrU3RvcmFnZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgUmV0YWluUHRyPENGVVJMU3Rv
cmFnZVNlc3Npb25SZWY+IHBsYXRmb3JtU2Vzc2lvbiwgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0
b3JhZ2VSZWY+IHBsYXRmb3JtQ29va2llU3RvcmFnZSkKICAgICA6IG1fc2Vzc2lvbklEKHNlc3Np
b25JRCkKLSAgICAsIG1fcGxhdGZvcm1TZXNzaW9uKHBsYXRmb3JtU2Vzc2lvbikKKyAgICAsIG1f
cGxhdGZvcm1TZXNzaW9uKFdURk1vdmUocGxhdGZvcm1TZXNzaW9uKSkKKyAgICAsIG1fcGxhdGZv
cm1Db29raWVTdG9yYWdlKHBsYXRmb3JtQ29va2llU3RvcmFnZSA/IFdURk1vdmUocGxhdGZvcm1D
b29raWVTdG9yYWdlKSA6IGNvb2tpZVN0b3JhZ2UoKSkKIHsKIH0KIApAQCAtNjEsMzcgKzg3LDYx
IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzd2l0Y2hUb05ld1Rlc3RpbmdTZXNzaW9u
KCkKIHsKICAgICAvLyBTZXNzaW9uIG5hbWUgc2hvdWxkIGJlIHNob3J0IGVub3VnaCBmb3Igc2hh
cmVkIG1lbW9yeSByZWdpb24gbmFtZSB0byBiZSB1bmRlciB0aGUgbGltaXQsIG90ZWhyd2lzZSBz
YW5kYm94IHJ1bGVzIHdvbid0IHdvcmsgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM2NDI4NTI+KS4K
ICAgICBTdHJpbmcgc2Vzc2lvbk5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiV2ViS2l0IFRlc3QtJXUi
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZ2V0Q3VycmVudFByb2Nlc3NJRCgpKSk7CisKKyAgICBS
ZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gc2Vzc2lvbjsKICNpZiBQTEFURk9STShD
T0NPQSkKLSAgICBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5p
cXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCks
IGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oc2Vzc2lvbk5hbWUuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSkpKTsKKyAgICBzZXNzaW9uID0gYWRvcHRDRih3a0NyZWF0ZVByaXZh
dGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKSk7CiAj
ZWxzZQotICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlx
dWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwg
YWRvcHRDRih3a0NyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3Jt
U2Vzc2lvbigpKSkpOworICAgIHNlc3Npb24gPSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGRlZmF1bHROZXR3
b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCkpKTsKICNlbmRpZgorCisgICAg
UmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNvb2tpZVN0b3JhZ2U7CisgICAgaWYg
KHNlc3Npb24pCisgICAgICAgIGNvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VT
ZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2Vzc2lvbi5nZXQo
KSkpOworCisgICAgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3Vu
aXF1ZTxOZXR3b3JrU3RvcmFnZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgp
LCBXVEZNb3ZlKHNlc3Npb24pLCBXVEZNb3ZlKGNvb2tpZVN0b3JhZ2UpKTsKIH0KIAogTmV0d29y
a1N0b3JhZ2VTZXNzaW9uJiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vz
c2lvbigpCiB7CiAgICAgaWYgKCFkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkpCi0gICAg
ICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0
d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgbnVsbHB0
cik7CisgICAgICAgIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91
bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQo
KSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgcmV0dXJuICpkZWZhdWx0TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVQcml2YXRl
QnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllckJhc2UpCiB7Ci0gICAgaWYgKGdsb2JhbFNlc3Npb25NYXAoKS5jb250YWlucyhzZXNzaW9u
SUQpKQorICAgIEFTU0VSVChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSk7CisgICAgZW5zdXJlU2Vz
c2lvbihzZXNzaW9uSUQsIGlkZW50aWZpZXJCYXNlKTsKK30KKwordm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmVuc3VyZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyQmFzZSkKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0Vu
dHJ5KQogICAgICAgICByZXR1cm47CisKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmSWRl
bnRpZmllciA9IFN0cmluZyhpZGVudGlmaWVyQmFzZSArICIuUHJpdmF0ZUJyb3dzaW5nIikuY3Jl
YXRlQ0ZTdHJpbmcoKTsKIAorICAgIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBz
dG9yYWdlU2Vzc2lvbjsKKyAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkpIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24g
PSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQo
KSkpOwogI2Vsc2UKLSAgICBhdXRvIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VT
ZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigp
LT5wbGF0Zm9ybVNlc3Npb24oKSkpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24gPSBhZG9wdENG
KHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQoKSwgZGVmYXVs
dE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpLT5wbGF0Zm9ybVNlc3Npb24oKSkpOwogI2VuZGlmCisg
ICAgfSBlbHNlCisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lv
bkZvcklkZW50aWZpZXIoY2ZJZGVudGlmaWVyLmdldCgpKTsKIAotICAgIGdsb2JhbFNlc3Npb25N
YXAoKS5hZGQoc2Vzc2lvbklELCBXVEZNb3ZlKHNlc3Npb24pKTsKKyAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZSA9IHN0b3JhZ2VTZXNzaW9uID8gYWRv
cHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSkgOiBudWxscHRyOworICAgIGFkZFJlc3VsdC5p
dGVyYXRvci0+dmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4o
c2Vzc2lvbklELCBXVEZNb3ZlKHN0b3JhZ2VTZXNzaW9uKSwgV1RGTW92ZShjb29raWVTdG9yYWdl
KSk7CiB9CiAKIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmNvb2tpZVN0b3JhZ2UoKSBjb25zdAogeworICAgIGlmIChtX3BsYXRmb3JtQ29v
a2llU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuIG1fcGxhdGZvcm1Db29raWVTdG9yYWdlOworCiAg
ICAgaWYgKG1fcGxhdGZvcm1TZXNzaW9uKQogICAgICAgICByZXR1cm4gYWRvcHRDRihfQ0ZVUkxT
dG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9yYWdlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG1fcGxh
dGZvcm1TZXNzaW9uLmdldCgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNw
cAppbmRleCA3YjNmZjg3ZTAxN2FmM2U2YTdmMDEyYWFmZTcxNmIzODVjOGNhMTBkLi44ODAxODRh
Y2ZkNmUwZWFmNzkzZmI5OGNmOTIyYjlhNzRlY2VkMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdl
U2Vzc2lvblNvdXAuY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklELCBj
bwogICAgIGdsb2JhbFNlc3Npb25NYXAoKS5hZGQoc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVl
PE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4oc2Vzc2lvbklELCBzdGQ6Om1ha2VfdW5pcXVlPFNvdXBO
ZXR3b3JrU2Vzc2lvbj4oKSkpOwogfQogCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5z
dXJlU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudAorfQorCiB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNoVG9OZXdUZXN0
aW5nU2Vzc2lvbigpCiB7CiAgICAgZGVmYXVsdFNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8
TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgc3Rk
OjptYWtlX3VuaXF1ZTxTb3VwTmV0d29ya1Nlc3Npb24+KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDUxY2FhNWY3NmRlMTkyOWI5N2Ji
OTcwZTdhMzU3NTM4NWVjZTIyMzQuLjAyNDM4ZmEyYTViMDNlN2M5Nzc0ZTFjODAzNWYxMWRiYjBl
NmZlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0xNTQsMTAgKzE1NCwxNiBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3Bv
bnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiBXVEZfRVhURVJOX0Nf
QkVHSU4KIAogI2lmICFQTEFURk9STShXSU4pCitDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIF9DRlVS
TFN0b3JhZ2VTZXNzaW9uQ3JlYXRlKENGQWxsb2NhdG9yUmVmLCBDRlN0cmluZ1JlZiwgQ0ZEaWN0
aW9uYXJ5UmVmKTsKK0NGVVJMQ2FjaGVSZWYgX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUo
Q0ZBbGxvY2F0b3JSZWYsIENGVVJMU3RvcmFnZVNlc3Npb25SZWYpOworCiB2b2lkIENGVVJMUmVx
dWVzdFNldFNob3VsZFN0YXJ0U3luY2hyb25vdXNseShDRlVSTFJlcXVlc3RSZWYsIEJvb2xlYW4p
OwogCiBDRlVSTENhY2hlUmVmIENGVVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKTsKIHZvaWQg
Q0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KENGVVJMQ2FjaGVSZWYsIENGSW5kZXggbWVtb3J5
Q2FwYWNpdHkpOworQ0ZJbmRleCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoQ0ZVUkxDYWNoZVJl
Zik7Cit2b2lkIENGVVJMQ2FjaGVTZXREaXNrQ2FwYWNpdHkoQ0ZVUkxDYWNoZVJlZiwgQ0ZJbmRl
eCk7CisKICNpZiBQTEFURk9STShDT0NPQSkKIEJvb2xlYW4gX0NGTmV0d29ya0lzS25vd25IU1RT
SG9zdFdpdGhTZXNzaW9uKENGVVJMUmVmLCBDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKIHZvaWQg
X0NGTmV0d29ya1Jlc2V0SFNUU0hvc3RzV2l0aFNlc3Npb24oQ0ZVUkxTdG9yYWdlU2Vzc2lvblJl
Zik7CkBAIC0xODAsNiArMTg2LDcgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIF9rQ0ZVUkxD
b25uZWN0aW9uUHJvcGVydHlTaG91bGRTbmlmZjsKIENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgX0NG
SFRUUENvb2tpZVN0b3JhZ2VHZXREZWZhdWx0KENGQWxsb2NhdG9yUmVmKTsKIHZvaWQgQ0ZIVFRQ
Q29va2llU3RvcmFnZVNldENvb2tpZShDRkhUVFBDb29raWVTdG9yYWdlUmVmLCBDRkhUVFBDb29r
aWVSZWYpOwogdm9pZCBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0UG9saWN5KENG
SFRUUENvb2tpZVN0b3JhZ2VSZWYsIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kpOwor
Q0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSBDRkhUVFBDb29raWVTdG9yYWdlR2V0Q29v
a2llQWNjZXB0UG9saWN5KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpOwogdm9pZCBfQ0ZOZXR3b3Jr
U2V0T3ZlcnJpZGVTeXN0ZW1Qcm94eVNldHRpbmdzKENGRGljdGlvbmFyeVJlZik7CiBDRlVSTENy
ZWRlbnRpYWxTdG9yYWdlUmVmIENGVVJMQ3JlZGVudGlhbFN0b3JhZ2VDcmVhdGUoQ0ZBbGxvY2F0
b3JSZWYpOwogQ0ZVUkxDcmVkZW50aWFsUmVmIENGVVJMQ3JlZGVudGlhbFN0b3JhZ2VDb3B5RGVm
YXVsdENyZWRlbnRpYWxGb3JQcm90ZWN0aW9uU3BhY2UoQ0ZVUkxDcmVkZW50aWFsU3RvcmFnZVJl
ZiwgQ0ZVUkxQcm90ZWN0aW9uU3BhY2VSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KaW5kZXggNjRm
MzllYzQ2OTVkZGYwOTczZjZhNjllOWZhNDc2Yjc5NDRhMDU5OC4uZmU4ZTQyN2UyMTlkOWRiN2E3
YmMxYjdiODk4ZmNjYjM2MWJhMDIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01OTAsMTUg
KzU5MCwxMCBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29hKFdlYkNv
cmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIExlZ2FjeUN1cwogICAgIHNldENvbGxlY3RzVGltaW5n
RGF0YSgpOwogI2VuZGlmCiAKLSAgICBpZiAoc2Vzc2lvbklEID09IFdlYkNvcmU6OlNlc3Npb25J
RDo6ZGVmYXVsdFNlc3Npb25JRCgpKSB7Ci0gICAgICAgIGlmIChDRkhUVFBDb29raWVTdG9yYWdl
UmVmIHN0b3JhZ2UgPSBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9y
YWdlU2Vzc2lvbigpLmNvb2tpZVN0b3JhZ2UoKS5nZXQoKSkKLSAgICAgICAgICAgIGNvbmZpZ3Vy
YXRpb24uSFRUUENvb2tpZVN0b3JhZ2UgPSBbW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBf
aW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOnN0b3JhZ2VdIGF1dG9yZWxlYXNlXTsKLSAgICB9
IGVsc2UgewotICAgICAgICBhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6c3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKTsKLSAgICAgICAgUkVMRUFT
RV9BU1NFUlQoc3RvcmFnZVNlc3Npb24pOwotICAgICAgICBpZiAoQ0ZIVFRQQ29va2llU3RvcmFn
ZVJlZiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24tPmNvb2tpZVN0b3JhZ2UoKS5nZXQoKSkKLSAg
ICAgICAgICAgIGNvbmZpZ3VyYXRpb24uSFRUUENvb2tpZVN0b3JhZ2UgPSBbW1tOU0hUVFBDb29r
aWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOnN0b3JhZ2VdIGF1
dG9yZWxlYXNlXTsKLSAgICB9CisgICAgYXV0byogc3RvcmFnZVNlc3Npb24gPSBXZWJDb3JlOjpO
ZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgUkVM
RUFTRV9BU1NFUlQoc3RvcmFnZVNlc3Npb24pOworICAgIGlmIChDRkhUVFBDb29raWVTdG9yYWdl
UmVmIHN0b3JhZ2UgPSBzdG9yYWdlU2Vzc2lvbi0+Y29va2llU3RvcmFnZSgpLmdldCgpKQorICAg
ICAgICBjb25maWd1cmF0aW9uLkhUVFBDb29raWVTdG9yYWdlID0gW1tbTlNIVFRQQ29va2llU3Rv
cmFnZSBhbGxvY10gX2luaXRXaXRoQ0ZIVFRQQ29va2llU3RvcmFnZTpzdG9yYWdlXSBhdXRvcmVs
ZWFzZV07CiAKICAgICBtX3Nlc3Npb25XaXRoQ3JlZGVudGlhbFN0b3JhZ2VEZWxlZ2F0ZSA9IGFk
b3B0TlMoW1tXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoTmV0d29ya1Nl
c3Npb246KnRoaXMgd2l0aENyZWRlbnRpYWxzOnRydWVdKTsKICAgICBtX3Nlc3Npb25XaXRoQ3Jl
ZGVudGlhbFN0b3JhZ2UgPSBbTlNVUkxTZXNzaW9uIHNlc3Npb25XaXRoQ29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uIGRlbGVnYXRlOnN0YXRpY19jYXN0PGlkPihtX3Nlc3Npb25XaXRoQ3JlZGVu
dGlhbFN0b3JhZ2VEZWxlZ2F0ZS5nZXQoKSkgZGVsZWdhdGVRdWV1ZTpbTlNPcGVyYXRpb25RdWV1
ZSBtYWluUXVldWVdXTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308407</attachid>
            <date>2017-04-27 10:41:18 -0700</date>
            <delta_ts>2017-04-27 11:40:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171365-20170427104117.patch</filename>
            <type>text/plain</type>
            <size>16817</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4NjMzN2U4MDRjOWQ1
NTI0MDRkYTk4MmYzN2QyNjY4NzdiM2Q1OS4uODE1NWY2MWIwYTBhMGFiNWU1ODE0MDc3YjA2MTky
OTc5NTZmYjQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTI3ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVyc2lzdGVudCBzZXNzaW9ucyBhbmQg
ZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
eSBFc3Rlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIHRlc3RhYmxlIGJlaGF2aW9yIGNo
YW5nZSB5ZXQpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNl
c3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZXN0
cm95U2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNl
c3Npb24uaDoKKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3Rv
cmFnZVNlc3Npb25TdHViLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVNlc3Npb24pOgorICAgICAgICAKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c3dpdGNoVG9O
ZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29va2llU3RvcmFnZSk6CisgICAgICAgIAor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3Vw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlU2Vz
c2lvbik6CisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtTUEku
aDoKKwogMjAxNy0wNC0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IGEgUExUIHJlZ3Jlc3Npb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggZWRhN2U4OTYyZmU2YjlkZjg5NTBjMWUyY2EzZTNiODdlMzlmY2I5Yi4uYmRjYzM1ZDRi
NzdlNTdjZjMyNWNhYWZlOTk2ZTU4YmI4NDk3Mzc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE3LTA0LTI3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgTmV0d29ya1N0b3JhZ2VTZXNzaW9uIHRvIHN1cHBvcnQgbXVsdGlwbGUgcGVy
c2lzdGVudCBzZXNzaW9ucyBhbmQgZXhwbGljaXRseSBzZXQgY29va2llIHN0b3JhZ2VzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMzY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rlcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtT
ZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorCiAyMDE3LTA0LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkl0ZW1Qcm92aWRl
clBhc3RlYm9hcmQgc2hvdWxkIG5vdCBzeW5jaHJvbm91c2x5IGxvYWQgcHJvdmlkZWQgZGF0YQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3Rv
cmFnZVNlc3Npb24uY3BwCmluZGV4IDk4NWI0Y2RkMGE5Y2YzNzIyZWE0MDE0MmY5MmY1MTM5MjQz
ZWZhYmMuLjU1YmU5Y2NmNDJhNmZjMTFkMTU2N2JjMDdjNGY5MTQ0YWNmNjNiZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdl
U2Vzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQKIAog
dm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlc3Ryb3lTZXNzaW9uKFNlc3Npb25JRCBzZXNz
aW9uSUQpCiB7CisgICAgQVNTRVJUKHNlc3Npb25JRCAhPSBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNz
aW9uSUQoKSk7CiAgICAgZ2xvYmFsU2Vzc2lvbk1hcCgpLnJlbW92ZShzZXNzaW9uSUQpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3Rv
cmFnZVNlc3Npb24uaAppbmRleCAzYjBjNDIzY2ZiMTQ5ZTA2MzE3NDRiMmI1NjczNDE4ZDhjOTY4
YzU0Li5hZjRiYjM5YTNhMTY1ZDUxNzExN2YxNmMxMzY5MjMzMWY2OGIyZDJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIGRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHN0b3JhZ2VTZXNzaW9u
KFNlc3Npb25JRCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJlUHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2Ug
PSBTdHJpbmcoKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5zdXJlU2Vzc2lv
bihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllckJhc2UgPSBTdHJpbmcoKSk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGVzdHJveVNlc3Npb24oU2Vzc2lvbklEKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBmb3JFYWNoKHN0ZDo6ZnVuY3Rpb248dm9p
ZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mKT4pOwogCkBAIC03Miw3ICs3
Myw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRlVS
TENPTk5FQ1RJT04pCi0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFNlc3Npb25JRCwgUmV0YWlu
UHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+KTsKKyAgICBOZXR3b3JrU3RvcmFnZVNlc3Npb24o
U2Vzc2lvbklELCBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4mJiwgUmV0YWluUHRy
PENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+JiYpOwogCiAgICAgLy8gTWF5IGJlIG51bGwsIGluIHdo
aWNoIGNhc2UgYSBGb3VuZGF0aW9uIGRlZmF1bHQgc2hvdWxkIGJlIHVzZWQuCiAgICAgQ0ZVUkxT
dG9yYWdlU2Vzc2lvblJlZiBwbGF0Zm9ybVNlc3Npb24oKSB7IHJldHVybiBtX3BsYXRmb3JtU2Vz
c2lvbi5nZXQoKTsgfQpAQCAtMTE0LDYgKzExNSw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9S
TShDT0NPQSkgfHwgVVNFKENGVVJMQ09OTkVDVElPTikKICAgICBSZXRhaW5QdHI8Q0ZVUkxTdG9y
YWdlU2Vzc2lvblJlZj4gbV9wbGF0Zm9ybVNlc3Npb247CisgICAgUmV0YWluUHRyPENGSFRUUENv
b2tpZVN0b3JhZ2VSZWY+IG1fcGxhdGZvcm1Db29raWVTdG9yYWdlOwogI2VsaWYgVVNFKFNPVVAp
CiAgICAgc3RhdGljIHZvaWQgY29va2llc0RpZENoYW5nZShOZXR3b3JrU3RvcmFnZVNlc3Npb24q
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25TdHViLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
TmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAKaW5kZXggZmQ5ODQzMmU2NmYzMDQ2MDNiMjU5
Y2M0ZjlkYjBkYjZkZjgwZGVkMS4uNGUxZTMzZTZiZGMyYWY1ZWIxZTA3ODlmOGNlZTBiOWMwMGZi
Nzc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25TdHViLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwCkBAIC00OSw3ICs0OSwxMiBAQCBOZXR3
b3JraW5nQ29udGV4dCogTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb250ZXh0KCkgY29uc3QKICAg
ICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogfQogCi12b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25z
dCBTdHJpbmcmKQordm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93
c2luZ1Nlc3Npb24oU2Vzc2lvbklELCBjb25zdCBTdHJpbmcmKQoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworfQorCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5zdXJlU2Vzc2lv
bihTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbkNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwCmluZGV4IDlhOGFiOWFiN2JkNzI1
NGY0YTAxZWIzNDQ1MGJlMDdkMGViMjBiZjAuLjkwYTFiZTA1NTNjZGFjNjBkODNlNGQ3NGVhYjVh
NmI4YTAzMjIyMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDE1ICsz
OCw0MSBAQAogI2luY2x1ZGUgPFdlYktpdFN5c3RlbUludGVyZmFjZS9XZWJLaXRTeXN0ZW1JbnRl
cmZhY2UuaD4KICNlbmRpZgogCi0vLyBGSVhNRTogVGhpcyBmaWxlIGlzIG1vc3RseSBDb2NvYSBj
b2RlLCBub3QgQ0ZOZXR3b3JrIGNvZGUuIFRoaXMgY29kZSBzaG91bGQgYmUgbW92ZWQuCi0KIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgY29va2llU3RvcmFnZVBhcnRpdGlvbmlu
Z0VuYWJsZWQ7CiAKLU5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
KFNlc3Npb25JRCBzZXNzaW9uSUQsIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBw
bGF0Zm9ybVNlc3Npb24pCitzdGF0aWMgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IGNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZp
ZXIpCit7CisgICAgYXV0byBzdG9yYWdlU2Vzc2lvbiA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNl
c3Npb25DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgaWRlbnRpZmllciwgbnVsbHB0cikpOwor
CisgICAgaWYgKCFzdG9yYWdlU2Vzc2lvbikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpOworICAgIGlmICghY2FjaGUp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0
eShjYWNoZS5nZXQoKSwgMCk7CisKKyAgICBhdXRvIHNoYXJlZENhY2hlID0gYWRvcHRDRihDRlVS
TENhY2hlQ29weVNoYXJlZFVSTENhY2hlKCkpOworICAgIENGVVJMQ2FjaGVTZXRNZW1vcnlDYXBh
Y2l0eShjYWNoZS5nZXQoKSwgQ0ZVUkxDYWNoZU1lbW9yeUNhcGFjaXR5KHNoYXJlZENhY2hlLmdl
dCgpKSk7CisKKyAgICBhdXRvIGNvb2tpZVN0b3JhZ2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VT
ZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Np
b24uZ2V0KCkpKTsKKyAgICBpZiAoIWNvb2tpZVN0b3JhZ2UpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworCisgICAgYXV0byBzaGFyZWRDb29raWVTdG9yYWdlID0gX0NGSFRUUENvb2tpZVN0b3Jh
Z2VHZXREZWZhdWx0KGtDRkFsbG9jYXRvckRlZmF1bHQpOworICAgIGF1dG8gc2hhcmVkUG9saWN5
ID0gQ0ZIVFRQQ29va2llU3RvcmFnZUdldENvb2tpZUFjY2VwdFBvbGljeShzaGFyZWRDb29raWVT
dG9yYWdlKTsKKyAgICBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0UG9saWN5KGNv
b2tpZVN0b3JhZ2UuZ2V0KCksIHNoYXJlZFBvbGljeSk7CisKKyAgICByZXR1cm4gc3RvcmFnZVNl
c3Npb247Cit9CisKK05ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
KFNlc3Npb25JRCBzZXNzaW9uSUQsIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiYm
IHBsYXRmb3JtU2Vzc2lvbiwgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+JiYgcGxh
dGZvcm1Db29raWVTdG9yYWdlKQogICAgIDogbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQotICAgICwg
bV9wbGF0Zm9ybVNlc3Npb24ocGxhdGZvcm1TZXNzaW9uKQorICAgICwgbV9wbGF0Zm9ybVNlc3Np
b24oV1RGTW92ZShwbGF0Zm9ybVNlc3Npb24pKQorICAgICwgbV9wbGF0Zm9ybUNvb2tpZVN0b3Jh
Z2UocGxhdGZvcm1Db29raWVTdG9yYWdlID8gV1RGTW92ZShwbGF0Zm9ybUNvb2tpZVN0b3JhZ2Up
IDogY29va2llU3RvcmFnZSgpKQogewogfQogCkBAIC02MSwzNyArODcsNjEgQEAgdm9pZCBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKQogewogICAgIC8v
IFNlc3Npb24gbmFtZSBzaG91bGQgYmUgc2hvcnQgZW5vdWdoIGZvciBzaGFyZWQgbWVtb3J5IHJl
Z2lvbiBuYW1lIHRvIGJlIHVuZGVyIHRoZSBsaW1pdCwgb3RlaHJ3aXNlIHNhbmRib3ggcnVsZXMg
d29uJ3Qgd29yayAoc2VlIDxyZGFyOi8vcHJvYmxlbS8xMzY0Mjg1Mj4pLgogICAgIFN0cmluZyBz
ZXNzaW9uTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJXZWJLaXQgVGVzdC0ldSIsIHN0YXRpY19jYXN0
PHVpbnQzMl90PihnZXRDdXJyZW50UHJvY2Vzc0lEKCkpKTsKKworICAgIFJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBzZXNzaW9uOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGRl
ZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0
b3JhZ2VTZXNzaW9uPihTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSwgYWRvcHRDRih3a0Ny
ZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihzZXNzaW9uTmFtZS5jcmVhdGVDRlN0cmluZygpLmdl
dCgpKSkpOworICAgIHNlc3Npb24gPSBhZG9wdENGKHdrQ3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNz
aW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpKTsKICNlbHNlCi0gICAgZGVm
YXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3Rv
cmFnZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLCBhZG9wdENGKHdrQ3Jl
YXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKHNlc3Npb25OYW1lLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIGRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCkpKSk7
CisgICAgc2Vzc2lvbiA9IGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oc2Vz
c2lvbk5hbWUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbigpLT5wbGF0Zm9ybVNlc3Npb24oKSkpOwogI2VuZGlmCisKKyAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZTsKKyAgICBpZiAoc2Vzc2lvbikKKyAg
ICAgICAgY29va2llU3RvcmFnZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q29v
a2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzZXNzaW9uLmdldCgpKSk7CisKKyAgICBk
ZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbj4oU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCksIFdURk1vdmUoc2Vz
c2lvbiksIFdURk1vdmUoY29va2llU3RvcmFnZSkpOwogfQogCiBOZXR3b3JrU3RvcmFnZVNlc3Np
b24mIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCkKIHsKICAg
ICBpZiAoIWRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKSkKLSAgICAgICAgZGVmYXVsdE5l
dHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFnZVNl
c3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLCBudWxscHRyKTsKKyAgICAgICAg
ZGVmYXVsdE5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3Jr
U3RvcmFnZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLCBudWxscHRyLCBu
dWxscHRyKTsKICAgICByZXR1cm4gKmRlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb24oKTsKIH0K
IAogdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Np
b24oU2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyQmFzZSkKIHsK
LSAgICBpZiAoZ2xvYmFsU2Vzc2lvbk1hcCgpLmNvbnRhaW5zKHNlc3Npb25JRCkpCisgICAgQVNT
RVJUKHNlc3Npb25JRC5pc0VwaGVtZXJhbCgpKTsKKyAgICBlbnN1cmVTZXNzaW9uKHNlc3Npb25J
RCwgaWRlbnRpZmllckJhc2UpOworfQorCit2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZW5z
dXJlU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXJC
YXNlKQoreworICAgIGF1dG8gYWRkUmVzdWx0ID0gZ2xvYmFsU2Vzc2lvbk1hcCgpLmFkZChzZXNz
aW9uSUQsIG51bGxwdHIpOworICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAg
IHJldHVybjsKKwogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gY2ZJZGVudGlmaWVyID0gU3Ry
aW5nKGlkZW50aWZpZXJCYXNlICsgIi5Qcml2YXRlQnJvd3NpbmciKS5jcmVhdGVDRlN0cmluZygp
OwogCisgICAgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IHN0b3JhZ2VTZXNzaW9u
OworICAgIGlmIChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSkgewogI2lmIFBMQVRGT1JNKENPQ09B
KQotICAgIGF1dG8gc2Vzc2lvbiA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNz
aW9uPihzZXNzaW9uSUQsIGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oY2ZJ
ZGVudGlmaWVyLmdldCgpKSkpOworICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IGFkb3B0Q0Yod2tD
cmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oY2ZJZGVudGlmaWVyLmdldCgpKSk7CiAjZWxzZQot
ICAgIGF1dG8gc2Vzc2lvbiA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9u
PihzZXNzaW9uSUQsIGFkb3B0Q0Yod2tDcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oY2ZJZGVu
dGlmaWVyLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3JtU2Vz
c2lvbigpKSkpOworICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IGFkb3B0Q0Yod2tDcmVhdGVQcml2
YXRlU3RvcmFnZVNlc3Npb24oY2ZJZGVudGlmaWVyLmdldCgpLCBkZWZhdWx0TmV0d29ya1N0b3Jh
Z2VTZXNzaW9uKCktPnBsYXRmb3JtU2Vzc2lvbigpKSk7CiAjZW5kaWYKKyAgICB9IGVsc2UKKyAg
ICAgICAgc3RvcmFnZVNlc3Npb24gPSBjcmVhdGVDRlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmll
cihjZklkZW50aWZpZXIuZ2V0KCkpOwogCi0gICAgZ2xvYmFsU2Vzc2lvbk1hcCgpLmFkZChzZXNz
aW9uSUQsIFdURk1vdmUoc2Vzc2lvbikpOworICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9y
YWdlUmVmPiBjb29raWVTdG9yYWdlID0gc3RvcmFnZVNlc3Npb24gPyBhZG9wdENGKF9DRlVSTFN0
b3JhZ2VTZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFn
ZVNlc3Npb24uZ2V0KCkpKSA6IG51bGxwdHI7CisgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1
ZSA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPihzZXNzaW9uSUQsIFdU
Rk1vdmUoc3RvcmFnZVNlc3Npb24pLCBXVEZNb3ZlKGNvb2tpZVN0b3JhZ2UpKTsKIH0KIAogUmV0
YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29v
a2llU3RvcmFnZSgpIGNvbnN0CiB7CisgICAgaWYgKG1fcGxhdGZvcm1Db29raWVTdG9yYWdlKQor
ICAgICAgICByZXR1cm4gbV9wbGF0Zm9ybUNvb2tpZVN0b3JhZ2U7CisKICAgICBpZiAobV9wbGF0
Zm9ybVNlc3Npb24pCiAgICAgICAgIHJldHVybiBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9u
Q29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbV9wbGF0Zm9ybVNlc3Npb24u
Z2V0KCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwCmluZGV4IDdiM2Zm
ODdlMDE3YWYzZTZhN2YwMTJhYWZlNzE2YjM4NWM4Y2ExMGQuLjg4MDE4NGFjZmQ2ZTBlYWY3OTNm
Yjk4Y2Y5MjJiOWE3NGVjZWQxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5j
cHAKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVQ
cml2YXRlQnJvd3NpbmdTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQsIGNvCiAgICAgZ2xvYmFs
U2Vzc2lvbk1hcCgpLmFkZChzZXNzaW9uSUQsIHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya1N0b3Jh
Z2VTZXNzaW9uPihzZXNzaW9uSUQsIHN0ZDo6bWFrZV91bmlxdWU8U291cE5ldHdvcmtTZXNzaW9u
PigpKSk7CiB9CiAKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjplbnN1cmVTZXNzaW9uKFNl
c3Npb25JRCwgY29uc3QgU3RyaW5nJikKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50Cit9CisK
IHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzd2l0Y2hUb05ld1Rlc3RpbmdTZXNzaW9uKCkK
IHsKICAgICBkZWZhdWx0U2Vzc2lvbigpID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrU3RvcmFn
ZVNlc3Npb24+KFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLCBzdGQ6Om1ha2VfdW5pcXVl
PFNvdXBOZXR3b3JrU2Vzc2lvbj4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggNTFjYWE1Zjc2ZGUxOTI5Yjk3YmI5NzBlN2EzNTc1Mzg1
ZWNlMjIzNC4uMDI0MzhmYTJhNWIwM2U3Yzk3NzRlMWM4MDM1ZjExZGJiMGU2ZmUwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtTUEkuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE1NCwx
MCArMTU0LDE2IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJMUmVzcG9uc2VDYWxsQmFja0Js
b2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIFdURl9FWFRFUk5fQ19CRUdJTgogCiAjaWYg
IVBMQVRGT1JNKFdJTikKK0NGVVJMU3RvcmFnZVNlc3Npb25SZWYgX0NGVVJMU3RvcmFnZVNlc3Np
b25DcmVhdGUoQ0ZBbGxvY2F0b3JSZWYsIENGU3RyaW5nUmVmLCBDRkRpY3Rpb25hcnlSZWYpOwor
Q0ZVUkxDYWNoZVJlZiBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShDRkFsbG9jYXRvclJl
ZiwgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZik7CisKIHZvaWQgQ0ZVUkxSZXF1ZXN0U2V0U2hvdWxk
U3RhcnRTeW5jaHJvbm91c2x5KENGVVJMUmVxdWVzdFJlZiwgQm9vbGVhbik7CiAKIENGVVJMQ2Fj
aGVSZWYgQ0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpOwogdm9pZCBDRlVSTENhY2hlU2V0
TWVtb3J5Q2FwYWNpdHkoQ0ZVUkxDYWNoZVJlZiwgQ0ZJbmRleCBtZW1vcnlDYXBhY2l0eSk7CitD
RkluZGV4IENGVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eShDRlVSTENhY2hlUmVmKTsKK3ZvaWQgQ0ZV
UkxDYWNoZVNldERpc2tDYXBhY2l0eShDRlVSTENhY2hlUmVmLCBDRkluZGV4KTsKKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogQm9vbGVhbiBfQ0ZOZXR3b3JrSXNLbm93bkhTVFNIb3N0V2l0aFNlc3Np
b24oQ0ZVUkxSZWYsIENGVVJMU3RvcmFnZVNlc3Npb25SZWYpOwogdm9pZCBfQ0ZOZXR3b3JrUmVz
ZXRIU1RTSG9zdHNXaXRoU2Vzc2lvbihDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKQEAgLTE4MCw2
ICsxODYsNyBAQCBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYgX2tDRlVSTENvbm5lY3Rpb25Qcm9w
ZXJ0eVNob3VsZFNuaWZmOwogQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiBfQ0ZIVFRQQ29va2llU3Rv
cmFnZUdldERlZmF1bHQoQ0ZBbGxvY2F0b3JSZWYpOwogdm9pZCBDRkhUVFBDb29raWVTdG9yYWdl
U2V0Q29va2llKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYsIENGSFRUUENvb2tpZVJlZik7CiB2b2lk
IENGSFRUUENvb2tpZVN0b3JhZ2VTZXRDb29raWVBY2NlcHRQb2xpY3koQ0ZIVFRQQ29va2llU3Rv
cmFnZVJlZiwgQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSk7CitDRkhUVFBDb29raWVT
dG9yYWdlQWNjZXB0UG9saWN5IENGSFRUUENvb2tpZVN0b3JhZ2VHZXRDb29raWVBY2NlcHRQb2xp
Y3koQ0ZIVFRQQ29va2llU3RvcmFnZVJlZik7CiB2b2lkIF9DRk5ldHdvcmtTZXRPdmVycmlkZVN5
c3RlbVByb3h5U2V0dGluZ3MoQ0ZEaWN0aW9uYXJ5UmVmKTsKIENGVVJMQ3JlZGVudGlhbFN0b3Jh
Z2VSZWYgQ0ZVUkxDcmVkZW50aWFsU3RvcmFnZUNyZWF0ZShDRkFsbG9jYXRvclJlZik7CiBDRlVS
TENyZWRlbnRpYWxSZWYgQ0ZVUkxDcmVkZW50aWFsU3RvcmFnZUNvcHlEZWZhdWx0Q3JlZGVudGlh
bEZvclByb3RlY3Rpb25TcGFjZShDRlVSTENyZWRlbnRpYWxTdG9yYWdlUmVmLCBDRlVSTFByb3Rl
Y3Rpb25TcGFjZVJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCA2NGYzOWVjNDY5NWRkZjA5
NzNmNmE2OWU5ZmE0NzZiNzk0NGEwNTk4Li5mZThlNDI3ZTIxOWQ5ZGI3YTdiYzFiN2I4OThmY2Ni
MzYxYmEwMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAgLTU5MCwxNSArNTkwLDEwIEBAIE5l
dHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EoV2ViQ29yZTo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgTGVnYWN5Q3VzCiAgICAgc2V0Q29sbGVjdHNUaW1pbmdEYXRhKCk7CiAjZW5k
aWYKIAotICAgIGlmIChzZXNzaW9uSUQgPT0gV2ViQ29yZTo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vz
c2lvbklEKCkpIHsKLSAgICAgICAgaWYgKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgc3RvcmFnZSA9
IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCku
Y29va2llU3RvcmFnZSgpLmdldCgpKQotICAgICAgICAgICAgY29uZmlndXJhdGlvbi5IVFRQQ29v
a2llU3RvcmFnZSA9IFtbW05TSFRUUENvb2tpZVN0b3JhZ2UgYWxsb2NdIF9pbml0V2l0aENGSFRU
UENvb2tpZVN0b3JhZ2U6c3RvcmFnZV0gYXV0b3JlbGVhc2VdOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGF1dG8qIHN0b3JhZ2VTZXNzaW9uID0gV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpzdG9yYWdlU2Vzc2lvbihzZXNzaW9uSUQpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVChzdG9y
YWdlU2Vzc2lvbik7Ci0gICAgICAgIGlmIChDRkhUVFBDb29raWVTdG9yYWdlUmVmIHN0b3JhZ2Ug
PSBzdG9yYWdlU2Vzc2lvbi0+Y29va2llU3RvcmFnZSgpLmdldCgpKQotICAgICAgICAgICAgY29u
ZmlndXJhdGlvbi5IVFRQQ29va2llU3RvcmFnZSA9IFtbW05TSFRUUENvb2tpZVN0b3JhZ2UgYWxs
b2NdIF9pbml0V2l0aENGSFRUUENvb2tpZVN0b3JhZ2U6c3RvcmFnZV0gYXV0b3JlbGVhc2VdOwot
ICAgIH0KKyAgICBhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6c3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKTsKKyAgICBSRUxFQVNFX0FTU0VSVChz
dG9yYWdlU2Vzc2lvbik7CisgICAgaWYgKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgc3RvcmFnZSA9
IHN0b3JhZ2VTZXNzaW9uLT5jb29raWVTdG9yYWdlKCkuZ2V0KCkpCisgICAgICAgIGNvbmZpZ3Vy
YXRpb24uSFRUUENvb2tpZVN0b3JhZ2UgPSBbW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBf
aW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOnN0b3JhZ2VdIGF1dG9yZWxlYXNlXTsKIAogICAg
IG1fc2Vzc2lvbldpdGhDcmVkZW50aWFsU3RvcmFnZURlbGVnYXRlID0gYWRvcHROUyhbW1dLTmV0
d29ya1Nlc3Npb25EZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhOZXR3b3JrU2Vzc2lvbjoqdGhpcyB3
aXRoQ3JlZGVudGlhbHM6dHJ1ZV0pOwogICAgIG1fc2Vzc2lvbldpdGhDcmVkZW50aWFsU3RvcmFn
ZSA9IFtOU1VSTFNlc3Npb24gc2Vzc2lvbldpdGhDb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24g
ZGVsZWdhdGU6c3RhdGljX2Nhc3Q8aWQ+KG1fc2Vzc2lvbldpdGhDcmVkZW50aWFsU3RvcmFnZURl
bGVnYXRlLmdldCgpKSBkZWxlZ2F0ZVF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIG1haW5RdWV1ZV1d
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>