<?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>204131</bug_id>
          
          <creation_ts>2019-11-12 16:32:24 -0800</creation_ts>
          <short_desc>AXObjectCache::rootObject should generate the isolated tree.</short_desc>
          <delta_ts>2019-11-13 11:01:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589685</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-11-12 16:32:24 -0800</bug_when>
    <thetext>AXObjectCache::rootObject should generate the isolated tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589695</commentid>
    <comment_count>1</comment_count>
      <attachid>383404</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-11-12 16:42:02 -0800</bug_when>
    <thetext>Created attachment 383404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589824</commentid>
    <comment_count>2</comment_count>
      <attachid>383450</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-11-13 05:35:39 -0800</bug_when>
    <thetext>Created attachment 383450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589868</commentid>
    <comment_count>3</comment_count>
      <attachid>383450</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-13 07:49:13 -0800</bug_when>
    <thetext>Comment on attachment 383450
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests, no change in functionality.

can you put a description of the changes here for what&apos;s being accomplished

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt; +    if (!clientSupportsIsolatedTree())

can we separate the isolated tree stuff into a separate function so we can write

if (clientSupportsIsloatedTree()
   return isolateTreeRootObjet()
else
    getOrCreate(m_document.view());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589889</commentid>
    <comment_count>4</comment_count>
      <attachid>383460</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-11-13 08:52:04 -0800</bug_when>
    <thetext>Created attachment 383460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589895</commentid>
    <comment_count>5</comment_count>
      <attachid>383460</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-13 09:27:55 -0800</bug_when>
    <thetext>Comment on attachment 383460
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.h:198
&gt; +    Ref&lt;AXIsolatedTree&gt; generateIsolatedTree(PageIdentifier);

ERROR: Source/WebCore/accessibility/AXObjectCache.h:198:  &apos;generateIsolatedTree&apos; is incorrectly named. It should be named &apos;protector&apos; or &apos;protectedPageIdentifier&apos;.  [readability/naming/protected] [4]
Total errors found: 1 in 8 files
program finished with exit code 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589920</commentid>
    <comment_count>6</comment_count>
      <attachid>383460</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-11-13 10:19:56 -0800</bug_when>
    <thetext>Comment on attachment 383460
Patch

I believe that style checker is wrong. shouldn&apos;t apply to function names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589929</commentid>
    <comment_count>7</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2019-11-13 10:38:52 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #5)
&gt; Comment on attachment 383460 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383460&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.h:198
&gt; &gt; +    Ref&lt;AXIsolatedTree&gt; generateIsolatedTree(PageIdentifier);
&gt; 
&gt; ERROR: Source/WebCore/accessibility/AXObjectCache.h:198: 
&gt; &apos;generateIsolatedTree&apos; is incorrectly named. It should be named &apos;protector&apos;
&gt; or &apos;protectedPageIdentifier&apos;.  [readability/naming/protected] [4]
&gt; Total errors found: 1 in 8 files
&gt; program finished with exit code 1

This is a style checker script bug that is confusing a method declaration with a variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589946</commentid>
    <comment_count>8</comment_count>
      <attachid>383460</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-13 11:00:27 -0800</bug_when>
    <thetext>Comment on attachment 383460
Patch

Clearing flags on attachment: 383460

Committed r252417: &lt;https://trac.webkit.org/changeset/252417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589947</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-13 11:00:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589949</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-13 11:01:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/57160071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383404</attachid>
            <date>2019-11-12 16:42:02 -0800</date>
            <delta_ts>2019-11-13 05:35:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204131-20191112194200.patch</filename>
            <type>text/plain</type>
            <size>13471</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdmNjk2NWRjY2IwYzRh
ZjY4YzAzMDhmYjlkMzdmNzJjYTQ0MTY5Yy4uOTQxMzYwOTE3NzliMDUyZjlkOWVkMjE3MmRmZGM5
YmFiZGEzNjZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTExLTEyICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWE9iamVjdENh
Y2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0ZSB0aGUgaXNvbGF0ZWQgdHJlZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50
U3VwcG9ydHNJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cm9vdE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjcmVhdGVJc29s
YXRlZFRyZWVIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2Vu
ZXJhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm9v
dFdlYkFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y3JlYXRlSXNvbGF0
ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeSk6IFJlbmFtZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOiByZW5h
bWVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorCiAyMDE5LTEx
LTA3ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgQVhJc29sYXRlZFRyZWVOb2RlIHRvIEFYSXNvbGF0ZWRPYmplY3QgZm9yIGNvbnNpc3Rl
bmN5IHdpdGggQVhDb3JlT2JqZWN0IGFuZCBBY2Nlc3NpYmlsaXR5T2JqZWN0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAwMmI0MDk3OTNmZTg0MTljY2Q2NzE4YmE4OWI2ZTNhYTQ3YWJiMDk4Li5kZjdmYjU2ZjMxZDAy
MGI1NzA1ZjI5YjhkYWEwYjYzYmVhNTE2YjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDE5LTExLTEyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAg
ICAgICBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0ZSB0aGUgaXNvbGF0
ZWQgdHJlZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDEzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorICAgICAgICAoLVtXS0Fj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZV0p
OiBCZWNhbWUgYSBtZW1iZXIgb2YgQVhPYmplY3RDYWNoZS4KKyAgICAgICAgKC1bV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgaXNvbGF0ZWRUcmVlUm9vdE9iamVjdF0pOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdE1hYy5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdCBh
Y2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKwogMjAxOS0xMS0wNyAgUGVuZyBMaXUgIDxwZW5nLmxp
dTZAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1fY2xpZW50Q291bnRz
LmNvbnRhaW5zKGNvbnRleHRJZCkgaW4gV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OnJlbW92ZUNsaWVudEZvckNvbnRleHQodWludDY0X3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA0ZmVjNDU3NWMyOTAyOWZkMzQ3
OTZhNTcxNzZlY2U4ZjBiNWE3ZmFiLi5kM2Q4YjJjNGQzYTczOWVjOWU5NzZhY2Y2MmQ4MTgzZWU5
YmE0NWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTEwMSw2ICsxMDEsMTEgQEAKICNpbmNsdWRlICJUZXh0Qm91bmRhcmllcy5oIgog
I2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgUExB
VEZPUk0oTUFDKQorI2luY2x1ZGUgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KKyNlbmRp
ZgorCiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUu
aD4KIApAQCAtMTIzLDcgKzEyOCw3IEBAIGNvbnN0IEFYSUQgSW52YWxpZEFYSUQgPSAwOwogc3Rh
dGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmlj
YXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmls
aXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21zIH07CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmlsaXR5Rm9jdXNNb2RhbE5vZGVOb3RpZmljYXRpb25J
bnRlcnZhbCB7IDUwX21zIH07Ci0gICAgCisKIHN0YXRpYyBib29sIHJlbmRlcmVyTmVlZHNEZWZl
cnJlZFVwZGF0ZShjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIEFTU0VSVCgh
cmVuZGVyZXIuYmVpbmdEZXN0cm95ZWQoKSk7CkBAIC02NDgsMTIgKzY1Myw0OSBAQCBBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShSZW5kZXJPYmplY3QqIHJl
bmRlcmVyKQogICAgIAogICAgIHJldHVybiBuZXdPYmouZ2V0KCk7CiB9Ci0gICAgCi1BY2Nlc3Np
YmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0KCkKKworI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitib29sIEFYT2JqZWN0Q2FjaGU6OmNsaWVudFN1
cHBvcnRzSXNvbGF0ZWRUcmVlKCkKK3sKKyAgICBBWENsaWVudFR5cGUgdHlwZSA9IF9BWEdldENs
aWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVzdGVkKCk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB1
bmtub3duIGNsaWVudCBiZWZvcmUgZW5hYmxpbmcgQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
LgorICAgIHJldHVybiB0eXBlID09IGtBWENsaWVudFR5cGVWb2ljZU92ZXIKKyAgICAgICAgfHwg
dHlwZSA9PSBrQVhDbGllbnRUeXBlVW5rbm93bgorICAgICAgICB8fCB0eXBlID09IGtBWENsaWVu
dFR5cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZDsgLy8gRm9yIExheW91dFRlc3RzLgorfQorI2VuZGlm
CisKK0FYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVjdCgpCiB7CiAgICAgaWYg
KCFnQWNjZXNzaWJpbGl0eUVuYWJsZWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoIWNsaWVudFN1cHBv
cnRzSXNvbGF0ZWRUcmVlKCkpCisgICAgICAgIHJldHVybiBnZXRPckNyZWF0ZShtX2RvY3VtZW50
LnZpZXcoKSk7CisKKyAgICBhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlEKCk7CisgICAg
aWYgKCFwYWdlSUQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byB0cmVlID0g
QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKnBhZ2VJRCk7CisgICAgaWYgKCF0cmVlICYm
IGlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIHRyZWUgPSBnZW5lcmF0ZUlzb2xhdGVkVHJlZSgq
cGFnZUlEKTsKKyAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBjcmVhdGVkIG91ciB0cmVlLCBp
bml0aWFsaXplIHRoZSBzZWNvbmRhcnkgdGhyZWFkLAorICAgICAgICAvLyBzbyBmdXR1cmUgcmVx
dWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgorICAgICAgICBfQVhVSUVsZW1lbnRV
c2VTZWNvbmRhcnlBWFRocmVhZCh0cnVlKTsKKyAgICAgICAgcmV0dXJuIHRyZWUtPnJvb3ROb2Rl
KCkuZ2V0KCk7CisgICAgfQorCisgICAgaWYgKHRyZWUgJiYgIWlzTWFpblRocmVhZCgpKSB7Cisg
ICAgICAgIHRyZWUtPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICAgICAgcmV0dXJuIHRyZWUt
PnJvb3ROb2RlKCkuZ2V0KCk7CisgICAgfQorCisgICAgLy8gU2hvdWxkIG5vdCBnZXQgaGVyZSwg
Y291bGRuJ3QgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgSXNvbGF0ZWRUcmVlLgorICAgIEFTU0VSVChm
YWxzZSk7CisjZW5kaWYKKwogICAgIHJldHVybiBnZXRPckNyZWF0ZShtX2RvY3VtZW50LnZpZXco
KSk7CiB9CiAKQEAgLTI5NDMsNyArMjk4NSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cGVyZm9y
bURlZmVycmVkQ2FjaGVVcGRhdGUoKQogfQogICAgIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCi1SZWY8QVhJc29sYXRlZE9iamVjdD4gQVhPYmplY3RDYWNoZTo6Y3Jl
YXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeShBWENvcmVPYmplY3QmIG9iamVj
dCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUmIHRyZWUsIFZlY3RvcjxSZWY8QVhJc29s
YXRlZE9iamVjdD4+JiBub2RlQ2hhbmdlcykKK1JlZjxBWElzb2xhdGVkT2JqZWN0PiBBWE9iamVj
dENhY2hlOjpjcmVhdGVJc29sYXRlZFRyZWVIaWVyYXJjaHkoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IEFYSUQgcGFyZW50SUQsIEFYSXNvbGF0ZWRUcmVlJiB0cmVlLCBWZWN0b3I8UmVmPEFYSXNvbGF0
ZWRPYmplY3Q+PiYgbm9kZUNoYW5nZXMpCiB7CiAgICAgYXV0byBpc29sYXRlZFRyZWVOb2RlID0g
QVhJc29sYXRlZE9iamVjdDo6Y3JlYXRlKG9iamVjdCk7CiAgICAgbm9kZUNoYW5nZXMuYXBwZW5k
KGlzb2xhdGVkVHJlZU5vZGUuY29weVJlZigpKTsKQEAgLTI5NTMsMjQgKzI5OTUsMjUgQEAgUmVm
PEFYSXNvbGF0ZWRPYmplY3Q+IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJp
bGl0eVRyZWVIaWVyYXJjaHkoQVgKICAgICBhdHRhY2hXcmFwcGVyKCZpc29sYXRlZFRyZWVOb2Rl
LmdldCgpKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4o
KSkgewotICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmls
aXR5VHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPm9iamVjdElEKCksIHRy
ZWUsIG5vZGVDaGFuZ2VzKTsKKyAgICAgICAgYXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xh
dGVkVHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPm9iamVjdElEKCksIHRy
ZWUsIG5vZGVDaGFuZ2VzKTsKICAgICAgICAgaXNvbGF0ZWRUcmVlTm9kZS0+YXBwZW5kQ2hpbGQo
c3RhdGljQ2hpbGQtPm9iamVjdElEKCkpOwogICAgIH0KIAogICAgIHJldHVybiBpc29sYXRlZFRy
ZWVOb2RlOwogfQogICAgIAotUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5l
cmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKQorUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9i
amVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZShQYWdlSWRlbnRpZmllciBwYWdlSUQpCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgYXV0byB0cmVlID0g
QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKHBhZ2VJRCk7CiAgICAg
aWYgKCF0cmVlKQotICAgICAgICB0cmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQ
YWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgICAgICB0cmVlID0gQVhJc29sYXRlZFRy
ZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQocGFnZUlEKTsKICAgICAKICAgICBWZWN0b3I8UmVmPEFY
SXNvbGF0ZWRPYmplY3Q+PiBub2RlQ2hhbmdlczsKLSAgICBhdXRvIHJvb3QgPSBjcmVhdGVJc29s
YXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KCpyb290T2JqZWN0KCksIEludmFsaWRBWElE
LCAqdHJlZSwgbm9kZUNoYW5nZXMpOwotICAgIHRyZWUtPnNldFJvb3Qocm9vdCk7CisgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogYXhSb290ID0gZ2V0T3JDcmVhdGUobV9kb2N1bWVudC52aWV3KCkp
OworICAgIGF1dG8gaXNvbGF0ZWRSb290ID0gY3JlYXRlSXNvbGF0ZWRUcmVlSGllcmFyY2h5KCph
eFJvb3QsIEludmFsaWRBWElELCAqdHJlZSwgbm9kZUNoYW5nZXMpOworICAgIHRyZWUtPnNldFJv
b3QoaXNvbGF0ZWRSb290KTsKICAgICB0cmVlLT5hcHBlbmROb2RlQ2hhbmdlcyhub2RlQ2hhbmdl
cyk7CiAKICAgICByZXR1cm4gbWFrZVJlZigqdHJlZSk7CkBAIC0zMDY0LDcgKzMxMDcsNyBAQCBi
b29sIGlzTm9kZUFyaWFWaXNpYmxlKE5vZGUqIG5vZGUpCiAKIEFjY2Vzc2liaWxpdHlPYmplY3Qq
IEFYT2JqZWN0Q2FjaGU6OnJvb3RXZWJBcmVhKCkKIHsKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiByb290T2JqZWN0ID0gdGhpcy0+cm9vdE9iamVjdCgpOworICAgIEFYQ29yZU9iamVjdCogcm9v
dE9iamVjdCA9IHRoaXMtPnJvb3RPYmplY3QoKTsKICAgICBpZiAoIXJvb3RPYmplY3QgfHwgIXJv
b3RPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcoKSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgcmV0dXJuIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Pigqcm9v
dE9iamVjdCkud2ViQXJlYU9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyOWJiMjUwYjk3YWVjM2ZkNDQzMTk1ZDYxY2RkMGFmZDc1
NjBmYjUyLi5jYjQxYTI0MDhiMjNhNDYzZGU0NTk4YjFmMzQyOTRkOGZiNjc4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTUxLDcgKzE1
MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQVhDb3JlT2JqZWN0KiBm
b2N1c2VkVUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKik7CiAKICAgICAvLyBSZXR1cm5zIHRo
ZSByb290IG9iamVjdCBmb3IgdGhlIGVudGlyZSBkb2N1bWVudC4KLSAgICBXRUJDT1JFX0VYUE9S
VCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290T2JqZWN0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
QVhDb3JlT2JqZWN0KiByb290T2JqZWN0KCk7CiAgICAgLy8gUmV0dXJucyB0aGUgcm9vdCBvYmpl
Y3QgZm9yIGEgc3BlY2lmaWMgZnJhbWUuCiAgICAgV0VCQ09SRV9FWFBPUlQgQWNjZXNzaWJpbGl0
eU9iamVjdCogcm9vdE9iamVjdEZvckZyYW1lKEZyYW1lKik7CiAgICAgCkBAIC0xOTIsMTEgKzE5
MiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcik7CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQot
ICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZEFj
Y2Vzc2liaWxpdHlUcmVlKCk7Ci0KLSAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRlSXNv
bGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeShBWENvcmVPYmplY3QmLCBBWElELCBBWElz
b2xhdGVkVHJlZSYsIFZlY3RvcjxSZWY8QVhJc29sYXRlZE9iamVjdD4+Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKK3ByaXZh
dGU6CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZFRyZWUo
UGFnZUlkZW50aWZpZXIpOworICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRl
SXNvbGF0ZWRUcmVlSGllcmFyY2h5KEFYQ29yZU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0ZWRUcmVl
JiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkT2JqZWN0Pj4mKTsKICNlbmRpZgotICAgIAorCitwdWJs
aWM6CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2
b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5oCmluZGV4IDZiN2VjNWIxNmYyY2E2YTA2MjYxMzhmMWZmMDk3ZDBiNTI5
MTUyODUuLmFlY2Q0YTUwNWM5OTgyMzAwZTM4NDA3MzY3Yzk4NzkwMzMyODA1OWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCkBAIC00NiwxMCArNDYsNiBA
QCBjbGFzcyBXZWJQYWdlOwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyOwog
LSAoaWQpYWNjZXNzaWJpbGl0eUZvY3VzZWRVSUVsZW1lbnQ7CiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQotLSAoQk9PTCljbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJl
ZTsKLSNlbmRpZgotCiBAZW5kCiAKICNlbmRpZiAvLyBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0K
aW5kZXggNTNmY2I4NDJmNDQyMmI2MTEzMWYwNmRkMDYyMDE0YTk5ZjVlMjA5YS4uZDg2ODJhOThi
MWViMjI5YjhjNTkzNWE2ODllNWE3MTM2Nzc4NTAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQpAQCAtMjYsNyArMjYsNiBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oIgogCi0j
aW1wb3J0ICJBcHBsaWNhdGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJXZWJGcmFtZS5oIgog
I2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV0tBcnJheS5oIgpAQCAtMzUsNyArMzQsNiBA
QAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2lt
cG9ydCAiV0tTdHJpbmdDRi5oIgotI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3Vt
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC04NSwzNyArODMsNiBAQAogICAg
IHJldHVybiByZXRyaWV2ZUJsb2NrKCk7CiB9CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQotLSAoQk9PTCljbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZQotewotICAg
IEFYQ2xpZW50VHlwZSB0eXBlID0gX0FYR2V0Q2xpZW50Rm9yQ3VycmVudFJlcXVlc3RVbnRydXN0
ZWQoKTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHVua25vd24gY2xpZW50IGJlZm9yZSBlbmFibGlu
ZyBBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUuCi0gICAgcmV0dXJuIHR5cGUgPT0ga0FYQ2xp
ZW50VHlwZVZvaWNlT3ZlciB8fCB0eXBlID09IGtBWENsaWVudFR5cGVVbmtub3duOwotfQotCi0t
IChpZClpc29sYXRlZFRyZWVSb290T2JqZWN0Ci17Ci0gICAgaWYgKGlzTWFpblRocmVhZCgpKSB7
Ci0gICAgICAgIGlmIChhdXRvIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKLSAgICAg
ICAgICAgIGF1dG8gdHJlZSA9IGNhY2hlLT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRy
ZWUoKTsKLQotICAgICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBjcmVhdGVkIG91ciB0cmVl
LCBpbml0aWFsaXplIHRoZSBzZWNvbmRhcnkgdGhyZWFkLAotICAgICAgICAgICAgLy8gc28gZnV0
dXJlIHJlcXVlc3RzIGNvbWUgaW4gb24gdGhlIG90aGVyIHRocmVhZC4KLSAgICAgICAgICAgIF9B
WFVJRWxlbWVudFVzZVNlY29uZGFyeUFYVGhyZWFkKHRydWUpOwotICAgICAgICAgICAgaWYgKGF1
dG8gcm9vdE5vZGUgPSB0cmVlLT5yb290Tm9kZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBy
b290Tm9kZS0+d3JhcHBlcigpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYXV0
byB0cmVlID0gV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQp
OwotICAgICAgICB0cmVlLT5hcHBseVBlbmRpbmdDaGFuZ2VzKCk7Ci0gICAgICAgIGlmIChhdXRv
IHJvb3ROb2RlID0gdHJlZS0+cm9vdE5vZGUoKSkKLSAgICAgICAgICAgIHJldHVybiByb290Tm9k
ZS0+d3JhcHBlcigpOwotICAgIH0KLQotICAgIHJldHVybiBuaWw7Ci19Ci0jZW5kaWYKLQogLSAo
aWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAtMTI0LDE1ICs5MSw4IEBA
CiAgICAgaWYgKG1faGFzTWFpbkZyYW1lUGx1Z2luKQogICAgICAgICByZXR1cm4gc2VsZi5hY2Nl
c3NpYmlsaXR5UGx1Z2luT2JqZWN0OwogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKLSAgICAvLyBJZiBWb2ljZU92ZXIgaXMgb24sIGVuc3VyZSBzdWJzZXF1ZW50IHJl
cXVlc3RzIGFyZSBub3cgaGFuZGxlZCBvbiB0aGUgc2Vjb25kYXJ5IEFYIHRocmVhZC4KLSAgICBi
b29sIGNsaWVudFN1cHBvcnRzSXNvbGF0ZWRUcmVlID0gW3NlbGYgY2xpZW50U3VwcG9ydHNJc29s
YXRlZFRyZWVdOwotICAgIGlmIChjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSkKLSAgICAgICAg
cmV0dXJuIFtzZWxmIGlzb2xhdGVkVHJlZVJvb3RPYmplY3RdOwotI2VuZGlmCi0KICAgICBpZiAo
YXV0byBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKSB7Ci0gICAgICAgIGlmIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKKyAgICAg
ICAgaWYgKFdlYkNvcmU6OkFYQ29yZU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkp
CiAgICAgICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbQppbmRleCAzNDc3ZDQ4ZjQwYzg5YTI3
NzE2MGEwNzE2ODY1NjdlNWY0NmRjMTQwLi44ZDEyMWJjYjM3MDA2Yjc0M2I3MzY1YmI3ZGVhZjFm
NjMzMjdiZTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5t
bQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJBcHBs
aWNhdGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJQbHVnaW5WaWV3LmgiCiAjaW1wb3J0ICJX
ZWJGcmFtZS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgpAQCAtMjUzLDcgKzI1NCw3IEBAIEFMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAKICAgICAgICAgLy8gSXNvbGF0ZWQgdHJl
ZSBmcmFtZXMgaGF2ZSB0aGUgb2Zmc2V0IGVuY29kZWQgaW50byB0aGVtIHNvIHdlIGRvbid0IG5l
ZWQgdG8gdW5kbyBoZXJlLgogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
Ci0gICAgICAgIGJvb2wgcXVlcnlpbmdJc29sYXRlZFRyZWUgPSBbc2VsZiBjbGllbnRTdXBwb3J0
c0lzb2xhdGVkVHJlZV0gJiYgX0FYVUlFbGVtZW50UmVxdWVzdFNlcnZpY2VkQnlTZWNvbmRhcnlB
WFRocmVhZCgpOworICAgICAgICBib29sIHF1ZXJ5aW5nSXNvbGF0ZWRUcmVlID0gV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKSAmJiBfQVhVSUVsZW1l
bnRSZXF1ZXN0U2VydmljZWRCeVNlY29uZGFyeUFYVGhyZWFkKCk7CiAgICAgICAgIGFwcGx5Q29u
dGVudE9mZnNldCA9ICFxdWVyeWluZ0lzb2xhdGVkVHJlZTsKICNlbmRpZgogICAgICAgICBpZiAo
YXV0byBwbHVnaW5WaWV3ID0gV2ViS2l0OjpXZWJQYWdlOjpwbHVnaW5WaWV3Rm9yRnJhbWUobV9w
YWdlLT5tYWluRnJhbWUoKSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383450</attachid>
            <date>2019-11-13 05:35:39 -0800</date>
            <delta_ts>2019-11-13 08:52:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204131-20191113083538.patch</filename>
            <type>text/plain</type>
            <size>14819</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdmNjk2NWRjY2IwYzRh
ZjY4YzAzMDhmYjlkMzdmNzJjYTQ0MTY5Yy4uOTQxMzYwOTE3NzliMDUyZjlkOWVkMjE3MmRmZGM5
YmFiZGEzNjZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTExLTEyICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWE9iamVjdENh
Y2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0ZSB0aGUgaXNvbGF0ZWQgdHJlZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50
U3VwcG9ydHNJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cm9vdE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjcmVhdGVJc29s
YXRlZFRyZWVIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2Vu
ZXJhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm9v
dFdlYkFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y3JlYXRlSXNvbGF0
ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeSk6IFJlbmFtZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOiByZW5h
bWVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorCiAyMDE5LTEx
LTA3ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgQVhJc29sYXRlZFRyZWVOb2RlIHRvIEFYSXNvbGF0ZWRPYmplY3QgZm9yIGNvbnNpc3Rl
bmN5IHdpdGggQVhDb3JlT2JqZWN0IGFuZCBBY2Nlc3NpYmlsaXR5T2JqZWN0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAwMmI0MDk3OTNmZTg0MTljY2Q2NzE4YmE4OWI2ZTNhYTQ3YWJiMDk4Li5kZjdmYjU2ZjMxZDAy
MGI1NzA1ZjI5YjhkYWEwYjYzYmVhNTE2YjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDE5LTExLTEyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAg
ICAgICBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0ZSB0aGUgaXNvbGF0
ZWQgdHJlZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDEzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorICAgICAgICAoLVtXS0Fj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZV0p
OiBCZWNhbWUgYSBtZW1iZXIgb2YgQVhPYmplY3RDYWNoZS4KKyAgICAgICAgKC1bV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgaXNvbGF0ZWRUcmVlUm9vdE9iamVjdF0pOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdE1hYy5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdCBh
Y2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKwogMjAxOS0xMS0wNyAgUGVuZyBMaXUgIDxwZW5nLmxp
dTZAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1fY2xpZW50Q291bnRz
LmNvbnRhaW5zKGNvbnRleHRJZCkgaW4gV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OnJlbW92ZUNsaWVudEZvckNvbnRleHQodWludDY0X3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA0ZmVjNDU3NWMyOTAyOWZkMzQ3
OTZhNTcxNzZlY2U4ZjBiNWE3ZmFiLi5kM2Q4YjJjNGQzYTczOWVjOWU5NzZhY2Y2MmQ4MTgzZWU5
YmE0NWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTEwMSw2ICsxMDEsMTEgQEAKICNpbmNsdWRlICJUZXh0Qm91bmRhcmllcy5oIgog
I2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgUExB
VEZPUk0oTUFDKQorI2luY2x1ZGUgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KKyNlbmRp
ZgorCiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUu
aD4KIApAQCAtMTIzLDcgKzEyOCw3IEBAIGNvbnN0IEFYSUQgSW52YWxpZEFYSUQgPSAwOwogc3Rh
dGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmlj
YXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmls
aXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21zIH07CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmlsaXR5Rm9jdXNNb2RhbE5vZGVOb3RpZmljYXRpb25J
bnRlcnZhbCB7IDUwX21zIH07Ci0gICAgCisKIHN0YXRpYyBib29sIHJlbmRlcmVyTmVlZHNEZWZl
cnJlZFVwZGF0ZShjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIEFTU0VSVCgh
cmVuZGVyZXIuYmVpbmdEZXN0cm95ZWQoKSk7CkBAIC02NDgsMTIgKzY1Myw0OSBAQCBBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShSZW5kZXJPYmplY3QqIHJl
bmRlcmVyKQogICAgIAogICAgIHJldHVybiBuZXdPYmouZ2V0KCk7CiB9Ci0gICAgCi1BY2Nlc3Np
YmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0KCkKKworI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitib29sIEFYT2JqZWN0Q2FjaGU6OmNsaWVudFN1
cHBvcnRzSXNvbGF0ZWRUcmVlKCkKK3sKKyAgICBBWENsaWVudFR5cGUgdHlwZSA9IF9BWEdldENs
aWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVzdGVkKCk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB1
bmtub3duIGNsaWVudCBiZWZvcmUgZW5hYmxpbmcgQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
LgorICAgIHJldHVybiB0eXBlID09IGtBWENsaWVudFR5cGVWb2ljZU92ZXIKKyAgICAgICAgfHwg
dHlwZSA9PSBrQVhDbGllbnRUeXBlVW5rbm93bgorICAgICAgICB8fCB0eXBlID09IGtBWENsaWVu
dFR5cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZDsgLy8gRm9yIExheW91dFRlc3RzLgorfQorI2VuZGlm
CisKK0FYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVjdCgpCiB7CiAgICAgaWYg
KCFnQWNjZXNzaWJpbGl0eUVuYWJsZWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoIWNsaWVudFN1cHBv
cnRzSXNvbGF0ZWRUcmVlKCkpCisgICAgICAgIHJldHVybiBnZXRPckNyZWF0ZShtX2RvY3VtZW50
LnZpZXcoKSk7CisKKyAgICBhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlEKCk7CisgICAg
aWYgKCFwYWdlSUQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byB0cmVlID0g
QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKnBhZ2VJRCk7CisgICAgaWYgKCF0cmVlICYm
IGlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIHRyZWUgPSBnZW5lcmF0ZUlzb2xhdGVkVHJlZSgq
cGFnZUlEKTsKKyAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBjcmVhdGVkIG91ciB0cmVlLCBp
bml0aWFsaXplIHRoZSBzZWNvbmRhcnkgdGhyZWFkLAorICAgICAgICAvLyBzbyBmdXR1cmUgcmVx
dWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgorICAgICAgICBfQVhVSUVsZW1lbnRV
c2VTZWNvbmRhcnlBWFRocmVhZCh0cnVlKTsKKyAgICAgICAgcmV0dXJuIHRyZWUtPnJvb3ROb2Rl
KCkuZ2V0KCk7CisgICAgfQorCisgICAgaWYgKHRyZWUgJiYgIWlzTWFpblRocmVhZCgpKSB7Cisg
ICAgICAgIHRyZWUtPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICAgICAgcmV0dXJuIHRyZWUt
PnJvb3ROb2RlKCkuZ2V0KCk7CisgICAgfQorCisgICAgLy8gU2hvdWxkIG5vdCBnZXQgaGVyZSwg
Y291bGRuJ3QgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgSXNvbGF0ZWRUcmVlLgorICAgIEFTU0VSVChm
YWxzZSk7CisjZW5kaWYKKwogICAgIHJldHVybiBnZXRPckNyZWF0ZShtX2RvY3VtZW50LnZpZXco
KSk7CiB9CiAKQEAgLTI5NDMsNyArMjk4NSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cGVyZm9y
bURlZmVycmVkQ2FjaGVVcGRhdGUoKQogfQogICAgIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCi1SZWY8QVhJc29sYXRlZE9iamVjdD4gQVhPYmplY3RDYWNoZTo6Y3Jl
YXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeShBWENvcmVPYmplY3QmIG9iamVj
dCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUmIHRyZWUsIFZlY3RvcjxSZWY8QVhJc29s
YXRlZE9iamVjdD4+JiBub2RlQ2hhbmdlcykKK1JlZjxBWElzb2xhdGVkT2JqZWN0PiBBWE9iamVj
dENhY2hlOjpjcmVhdGVJc29sYXRlZFRyZWVIaWVyYXJjaHkoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IEFYSUQgcGFyZW50SUQsIEFYSXNvbGF0ZWRUcmVlJiB0cmVlLCBWZWN0b3I8UmVmPEFYSXNvbGF0
ZWRPYmplY3Q+PiYgbm9kZUNoYW5nZXMpCiB7CiAgICAgYXV0byBpc29sYXRlZFRyZWVOb2RlID0g
QVhJc29sYXRlZE9iamVjdDo6Y3JlYXRlKG9iamVjdCk7CiAgICAgbm9kZUNoYW5nZXMuYXBwZW5k
KGlzb2xhdGVkVHJlZU5vZGUuY29weVJlZigpKTsKQEAgLTI5NTMsMjQgKzI5OTUsMjUgQEAgUmVm
PEFYSXNvbGF0ZWRPYmplY3Q+IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJp
bGl0eVRyZWVIaWVyYXJjaHkoQVgKICAgICBhdHRhY2hXcmFwcGVyKCZpc29sYXRlZFRyZWVOb2Rl
LmdldCgpKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4o
KSkgewotICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmls
aXR5VHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPm9iamVjdElEKCksIHRy
ZWUsIG5vZGVDaGFuZ2VzKTsKKyAgICAgICAgYXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xh
dGVkVHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPm9iamVjdElEKCksIHRy
ZWUsIG5vZGVDaGFuZ2VzKTsKICAgICAgICAgaXNvbGF0ZWRUcmVlTm9kZS0+YXBwZW5kQ2hpbGQo
c3RhdGljQ2hpbGQtPm9iamVjdElEKCkpOwogICAgIH0KIAogICAgIHJldHVybiBpc29sYXRlZFRy
ZWVOb2RlOwogfQogICAgIAotUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5l
cmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKQorUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9i
amVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZShQYWdlSWRlbnRpZmllciBwYWdlSUQpCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgYXV0byB0cmVlID0g
QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKHBhZ2VJRCk7CiAgICAg
aWYgKCF0cmVlKQotICAgICAgICB0cmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQ
YWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgICAgICB0cmVlID0gQVhJc29sYXRlZFRy
ZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQocGFnZUlEKTsKICAgICAKICAgICBWZWN0b3I8UmVmPEFY
SXNvbGF0ZWRPYmplY3Q+PiBub2RlQ2hhbmdlczsKLSAgICBhdXRvIHJvb3QgPSBjcmVhdGVJc29s
YXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KCpyb290T2JqZWN0KCksIEludmFsaWRBWElE
LCAqdHJlZSwgbm9kZUNoYW5nZXMpOwotICAgIHRyZWUtPnNldFJvb3Qocm9vdCk7CisgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogYXhSb290ID0gZ2V0T3JDcmVhdGUobV9kb2N1bWVudC52aWV3KCkp
OworICAgIGF1dG8gaXNvbGF0ZWRSb290ID0gY3JlYXRlSXNvbGF0ZWRUcmVlSGllcmFyY2h5KCph
eFJvb3QsIEludmFsaWRBWElELCAqdHJlZSwgbm9kZUNoYW5nZXMpOworICAgIHRyZWUtPnNldFJv
b3QoaXNvbGF0ZWRSb290KTsKICAgICB0cmVlLT5hcHBlbmROb2RlQ2hhbmdlcyhub2RlQ2hhbmdl
cyk7CiAKICAgICByZXR1cm4gbWFrZVJlZigqdHJlZSk7CkBAIC0zMDY0LDcgKzMxMDcsNyBAQCBi
b29sIGlzTm9kZUFyaWFWaXNpYmxlKE5vZGUqIG5vZGUpCiAKIEFjY2Vzc2liaWxpdHlPYmplY3Qq
IEFYT2JqZWN0Q2FjaGU6OnJvb3RXZWJBcmVhKCkKIHsKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiByb290T2JqZWN0ID0gdGhpcy0+cm9vdE9iamVjdCgpOworICAgIEFYQ29yZU9iamVjdCogcm9v
dE9iamVjdCA9IHRoaXMtPnJvb3RPYmplY3QoKTsKICAgICBpZiAoIXJvb3RPYmplY3QgfHwgIXJv
b3RPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcoKSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgcmV0dXJuIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Pigqcm9v
dE9iamVjdCkud2ViQXJlYU9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyOWJiMjUwYjk3YWVjM2ZkNDQzMTk1ZDYxY2RkMGFmZDc1
NjBmYjUyLi5jYjQxYTI0MDhiMjNhNDYzZGU0NTk4YjFmMzQyOTRkOGZiNjc4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTUxLDcgKzE1
MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQVhDb3JlT2JqZWN0KiBm
b2N1c2VkVUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKik7CiAKICAgICAvLyBSZXR1cm5zIHRo
ZSByb290IG9iamVjdCBmb3IgdGhlIGVudGlyZSBkb2N1bWVudC4KLSAgICBXRUJDT1JFX0VYUE9S
VCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290T2JqZWN0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
QVhDb3JlT2JqZWN0KiByb290T2JqZWN0KCk7CiAgICAgLy8gUmV0dXJucyB0aGUgcm9vdCBvYmpl
Y3QgZm9yIGEgc3BlY2lmaWMgZnJhbWUuCiAgICAgV0VCQ09SRV9FWFBPUlQgQWNjZXNzaWJpbGl0
eU9iamVjdCogcm9vdE9iamVjdEZvckZyYW1lKEZyYW1lKik7CiAgICAgCkBAIC0xOTIsMTEgKzE5
MiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcik7CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQot
ICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZEFj
Y2Vzc2liaWxpdHlUcmVlKCk7Ci0KLSAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRlSXNv
bGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeShBWENvcmVPYmplY3QmLCBBWElELCBBWElz
b2xhdGVkVHJlZSYsIFZlY3RvcjxSZWY8QVhJc29sYXRlZE9iamVjdD4+Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKK3ByaXZh
dGU6CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZFRyZWUo
UGFnZUlkZW50aWZpZXIpOworICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRl
SXNvbGF0ZWRUcmVlSGllcmFyY2h5KEFYQ29yZU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0ZWRUcmVl
JiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkT2JqZWN0Pj4mKTsKICNlbmRpZgotICAgIAorCitwdWJs
aWM6CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2
b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9hdGsvV2ViS2l0V2ViUGFnZUFjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvYXRrL1dlYktpdFdlYlBhZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCAwN2JjMzViMjk1NWZlOGIwMzIzNGE2YTk1NDUxOWEy
NDFlMjFkZWFjLi43ZDRlOGI5YzFlODliMWEzNmQ4YTU2NDAzZDZmMDBhOTlhOGZjMDI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9hdGsvV2ViS2l0V2ViUGFn
ZUFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2F0ay9XZWJLaXRXZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTg1LDcg
Kzg1LDcgQEAgc3RhdGljIEF0a09iamVjdCogYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVy
KEF0a09iamVjdCogYXRrT2JqZWN0KQogICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZVJvb3RPYmplY3QgPSBjYWNo
ZS0+cm9vdE9iamVjdCgpOworICAgIEFYQ29yZU9iamVjdCogY29yZVJvb3RPYmplY3QgPSBjYWNo
ZS0+cm9vdE9iamVjdCgpOwogICAgIGlmICghY29yZVJvb3RPYmplY3QpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5o
CmluZGV4IDZiN2VjNWIxNmYyY2E2YTA2MjYxMzhmMWZmMDk3ZDBiNTI5MTUyODUuLmFlY2Q0YTUw
NWM5OTgyMzAwZTM4NDA3MzY3Yzk4NzkwMzMyODA1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCkBAIC00NiwxMCArNDYsNiBAQCBjbGFzcyBXZWJQYWdl
OwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyOwogLSAoaWQpYWNjZXNzaWJp
bGl0eUZvY3VzZWRVSUVsZW1lbnQ7CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKQotLSAoQk9PTCljbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZTsKLSNlbmRpZgotCiBA
ZW5kCiAKICNlbmRpZiAvLyBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0KaW5kZXggNTNmY2I4NDJm
NDQyMmI2MTEzMWYwNmRkMDYyMDE0YTk5ZjVlMjA5YS4uZDg2ODJhOThiMWViMjI5YjhjNTkzNWE2
ODllNWE3MTM2Nzc4NTAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZS5tbQpAQCAtMjYsNyArMjYsNiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oIgogCi0jaW1wb3J0ICJBcHBsaWNh
dGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJXZWJGcmFtZS5oIgogI2ltcG9ydCAiV2ViUGFn
ZS5oIgogI2ltcG9ydCAiV0tBcnJheS5oIgpAQCAtMzUsNyArMzQsNiBAQAogI2ltcG9ydCAiV0tT
aGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2ltcG9ydCAiV0tTdHJpbmdD
Ri5oIgotI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9BWE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC04NSwzNyArODMsNiBAQAogICAgIHJldHVybiByZXRyaWV2
ZUJsb2NrKCk7CiB9CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQot
LSAoQk9PTCljbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZQotewotICAgIEFYQ2xpZW50VHlwZSB0
eXBlID0gX0FYR2V0Q2xpZW50Rm9yQ3VycmVudFJlcXVlc3RVbnRydXN0ZWQoKTsKLSAgICAvLyBG
SVhNRTogUmVtb3ZlIHVua25vd24gY2xpZW50IGJlZm9yZSBlbmFibGluZyBBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUuCi0gICAgcmV0dXJuIHR5cGUgPT0ga0FYQ2xpZW50VHlwZVZvaWNlT3Zl
ciB8fCB0eXBlID09IGtBWENsaWVudFR5cGVVbmtub3duOwotfQotCi0tIChpZClpc29sYXRlZFRy
ZWVSb290T2JqZWN0Ci17Ci0gICAgaWYgKGlzTWFpblRocmVhZCgpKSB7Ci0gICAgICAgIGlmIChh
dXRvIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKLSAgICAgICAgICAgIGF1dG8gdHJl
ZSA9IGNhY2hlLT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKLQotICAgICAg
ICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBjcmVhdGVkIG91ciB0cmVlLCBpbml0aWFsaXplIHRo
ZSBzZWNvbmRhcnkgdGhyZWFkLAotICAgICAgICAgICAgLy8gc28gZnV0dXJlIHJlcXVlc3RzIGNv
bWUgaW4gb24gdGhlIG90aGVyIHRocmVhZC4KLSAgICAgICAgICAgIF9BWFVJRWxlbWVudFVzZVNl
Y29uZGFyeUFYVGhyZWFkKHRydWUpOwotICAgICAgICAgICAgaWYgKGF1dG8gcm9vdE5vZGUgPSB0
cmVlLT5yb290Tm9kZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBl
cigpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYXV0byB0cmVlID0gV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpOwotICAgICAgICB0cmVl
LT5hcHBseVBlbmRpbmdDaGFuZ2VzKCk7Ci0gICAgICAgIGlmIChhdXRvIHJvb3ROb2RlID0gdHJl
ZS0+cm9vdE5vZGUoKSkKLSAgICAgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBlcigpOwot
ICAgIH0KLQotICAgIHJldHVybiBuaWw7Ci19Ci0jZW5kaWYKLQogLSAoaWQpYWNjZXNzaWJpbGl0
eVJvb3RPYmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAtMTI0LDE1ICs5MSw4IEBACiAgICAgaWYgKG1faGFz
TWFpbkZyYW1lUGx1Z2luKQogICAgICAgICByZXR1cm4gc2VsZi5hY2Nlc3NpYmlsaXR5UGx1Z2lu
T2JqZWN0OwogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLSAgICAv
LyBJZiBWb2ljZU92ZXIgaXMgb24sIGVuc3VyZSBzdWJzZXF1ZW50IHJlcXVlc3RzIGFyZSBub3cg
aGFuZGxlZCBvbiB0aGUgc2Vjb25kYXJ5IEFYIHRocmVhZC4KLSAgICBib29sIGNsaWVudFN1cHBv
cnRzSXNvbGF0ZWRUcmVlID0gW3NlbGYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWVdOwotICAg
IGlmIChjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSkKLSAgICAgICAgcmV0dXJuIFtzZWxmIGlz
b2xhdGVkVHJlZVJvb3RPYmplY3RdOwotI2VuZGlmCi0KICAgICBpZiAoYXV0byBjYWNoZSA9IFtz
ZWxmIGF4T2JqZWN0Q2FjaGVdKSB7Ci0gICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKKyAgICAgICAgaWYgKFdlYkNvcmU6
OkFYQ29yZU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gcm9vdC0+d3JhcHBlcigpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdE1hYy5tbQppbmRleCAzNDc3ZDQ4ZjQwYzg5YTI3NzE2MGEwNzE2ODY1Njdl
NWY0NmRjMTQwLi44ZDEyMWJjYjM3MDA2Yjc0M2I3MzY1YmI3ZGVhZjFmNjMzMjdiZTUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbQpAQCAtMjgsNiArMjgs
NyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJBcHBsaWNhdGlvblNlcnZpY2Vz
U1BJLmgiCiAjaW1wb3J0ICJQbHVnaW5WaWV3LmgiCiAjaW1wb3J0ICJXZWJGcmFtZS5oIgogI2lt
cG9ydCAiV2ViUGFnZS5oIgpAQCAtMjUzLDcgKzI1NCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCiAKICAgICAgICAgLy8gSXNvbGF0ZWQgdHJlZSBmcmFtZXMgaGF2ZSB0
aGUgb2Zmc2V0IGVuY29kZWQgaW50byB0aGVtIHNvIHdlIGRvbid0IG5lZWQgdG8gdW5kbyBoZXJl
LgogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0gICAgICAgIGJvb2wg
cXVlcnlpbmdJc29sYXRlZFRyZWUgPSBbc2VsZiBjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZV0g
JiYgX0FYVUlFbGVtZW50UmVxdWVzdFNlcnZpY2VkQnlTZWNvbmRhcnlBWFRocmVhZCgpOworICAg
ICAgICBib29sIHF1ZXJ5aW5nSXNvbGF0ZWRUcmVlID0gV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKSAmJiBfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCk7CiAgICAgICAgIGFwcGx5Q29udGVudE9mZnNldCA9ICFx
dWVyeWluZ0lzb2xhdGVkVHJlZTsKICNlbmRpZgogICAgICAgICBpZiAoYXV0byBwbHVnaW5WaWV3
ID0gV2ViS2l0OjpXZWJQYWdlOjpwbHVnaW5WaWV3Rm9yRnJhbWUobV9wYWdlLT5tYWluRnJhbWUo
KSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9BY2Nlc3NpYmxlRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQWNjZXNzaWJsZURvY3VtZW50LmNwcApp
bmRleCBjZDljYTI3N2FlOWNkYzA3Yzk5MjAwMDRjNjFmNzE3MDcxZTAwZTkxLi44YTU2MDlkMTMz
ZGM0OWEwYTZkM2I4MmMwYTA2NTQwM2FhMjA1NGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9BY2Nlc3NpYmxlRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0FjY2Vzc2libGVEb2N1bWVudC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIC8vIEFjY2Vzc2libGVEb2N1bWVudAogQWNjZXNzaWJsZURvY3Vt
ZW50OjpBY2Nlc3NpYmxlRG9jdW1lbnQoRG9jdW1lbnQqIGRvYywgSFdORCB3aW5kb3cpCi0gICAg
OiBBY2Nlc3NpYmxlQmFzZShkb2MtPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdE9iamVjdCgpLCB3aW5k
b3cpCisgICAgOiBBY2Nlc3NpYmxlQmFzZShzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0
Kj4oZG9jLT5heE9iamVjdENhY2hlKCktPnJvb3RPYmplY3QoKSksIHdpbmRvdykKIHsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383460</attachid>
            <date>2019-11-13 08:52:04 -0800</date>
            <delta_ts>2019-11-13 11:00:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204131-20191113115203.patch</filename>
            <type>text/plain</type>
            <size>15864</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdmNjk2NWRjY2IwYzRh
ZjY4YzAzMDhmYjlkMzdmNzJjYTQ0MTY5Yy4uZjJmOGNmY2E5ZTY0ZTgxOTYxNzBlZjFiZDI5NjJl
NmUxNzQ3YThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTExLTEyICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWE9iamVjdENh
Y2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0ZSB0aGUgaXNvbGF0ZWQgdHJlZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgQVhPYmplY3RDYWNoZTo6cm9v
dE9iamVjdCBub3cgcmV0dXJucyBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IG9yIGFuCisgICAgICAg
IElzb2xhdGVkT2JqZWN0LiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBjbGllbnQgY29kZSB0
byB1c2UgdGhlCisgICAgICAgIGlzb2xhdGVkIHRyZWUgc2VhbWxlc3NseSwgYXMgbG9uZyBhcyB0
aGUgY2xpZW50IGNhbGwgaGFwcGVucyBvbiBhCisgICAgICAgIHNlY29uZGFyeSB0aHJlYWQuIFRo
aXMgYWxsb3dzIFdLVFIgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgdG8gdXNlIHRoZQorICAgICAg
ICBpc29sYXRlZCB0cmVlIGluIExheW91dFRlc3RzLgorICAgICAgICAKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpjcmVhdGVJc29sYXRlZFRyZWVIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6Z2VuZXJhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6cm9vdFdlYkFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Y3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeSk6IFJlbmFtZWQuCisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0
eVRyZWUpOiByZW5hbWVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
OgorCiAyMDE5LTExLTA3ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW5hbWUgQVhJc29sYXRlZFRyZWVOb2RlIHRvIEFYSXNvbGF0ZWRPYmplY3Qg
Zm9yIGNvbnNpc3RlbmN5IHdpdGggQVhDb3JlT2JqZWN0IGFuZCBBY2Nlc3NpYmlsaXR5T2JqZWN0
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCAwMmI0MDk3OTNmZTg0MTljY2Q2NzE4YmE4OWI2ZTNhYTQ3YWJiMDk4Li5k
ZjdmYjU2ZjMxZDAyMGI1NzA1ZjI5YjhkYWEwYjYzYmVhNTE2YjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDE5LTExLTEyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxl
LmNvbT4KKworICAgICAgICBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0IHNob3VsZCBnZW5lcmF0
ZSB0aGUgaXNvbGF0ZWQgdHJlZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNDEzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0
eVdlYlBhZ2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorICAg
ICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBjbGllbnRTdXBwb3J0c0lz
b2xhdGVkVHJlZV0pOiBCZWNhbWUgYSBtZW1iZXIgb2YgQVhPYmplY3RDYWNoZS4KKyAgICAgICAg
KC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgaXNvbGF0ZWRUcmVlUm9vdE9iamVj
dF0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdCBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKwogMjAxOS0xMS0wNyAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1f
Y2xpZW50Q291bnRzLmNvbnRhaW5zKGNvbnRleHRJZCkgaW4gV2ViS2l0OjpWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OnJlbW92ZUNsaWVudEZvckNvbnRleHQodWludDY0X3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA0ZmVjNDU3
NWMyOTAyOWZkMzQ3OTZhNTcxNzZlY2U4ZjBiNWE3ZmFiLi4zNjdlYWI4NTg0NzdjODVmOGZjYzQw
N2I2YWZhNDE3NjEwNGU3NzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKQEAgLTEwMSw2ICsxMDEsMTEgQEAKICNpbmNsdWRlICJUZXh0Qm91
bmRhcmllcy5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1
ZGUgIlRleHRJdGVyYXRvci5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJiYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNT
UEkuaD4KKyNlbmRpZgorCiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KICNpbmNsdWRlIDx3dGYv
U2V0Rm9yU2NvcGUuaD4KIApAQCAtMTIzLDcgKzEyOCw3IEBAIGNvbnN0IEFYSUQgSW52YWxpZEFY
SUQgPSAwOwogc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVD
aGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25k
cyBhY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIw
X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmlsaXR5Rm9jdXNNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCB7IDUwX21zIH07Ci0gICAgCisKIHN0YXRpYyBib29sIHJlbmRl
cmVyTmVlZHNEZWZlcnJlZFVwZGF0ZShjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewog
ICAgIEFTU0VSVCghcmVuZGVyZXIuYmVpbmdEZXN0cm95ZWQoKSk7CkBAIC02NDgsMTUgKzY1Myw1
OCBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKQogICAgIAogICAgIHJldHVybiBuZXdPYmouZ2V0KCk7CiB9Ci0g
ICAgCi1BY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0KCkKKwor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitib29sIEFYT2JqZWN0Q2Fj
aGU6OmNsaWVudFN1cHBvcnRzSXNvbGF0ZWRUcmVlKCkKK3sKKyAgICBBWENsaWVudFR5cGUgdHlw
ZSA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVzdGVkKCk7CisgICAgLy8gRklY
TUU6IFJlbW92ZSB1bmtub3duIGNsaWVudCBiZWZvcmUgZW5hYmxpbmcgQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFLgorICAgIHJldHVybiB0eXBlID09IGtBWENsaWVudFR5cGVWb2ljZU92ZXIK
KyAgICAgICAgfHwgdHlwZSA9PSBrQVhDbGllbnRUeXBlVW5rbm93bgorICAgICAgICB8fCB0eXBl
ID09IGtBWENsaWVudFR5cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZDsgLy8gRm9yIExheW91dFRlc3Rz
LgorfQorI2VuZGlmCisKK0FYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVjdCgp
CiB7CiAgICAgaWYgKCFnQWNjZXNzaWJpbGl0eUVuYWJsZWQpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAo
Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKSkKKyAgICAgICAgcmV0dXJuIGlzb2xhdGVkVHJl
ZVJvb3RPYmplY3QoKTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIGdldE9yQ3JlYXRlKG1fZG9jdW1l
bnQudmlldygpKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CitBWENvcmVPYmplY3QqIEFYT2JqZWN0Q2FjaGU6Omlzb2xhdGVkVHJlZVJvb3RPYmplY3QoKQor
eworICAgIGF1dG8gcGFnZUlEID0gbV9kb2N1bWVudC5wYWdlSUQoKTsKKyAgICBpZiAoIXBhZ2VJ
RCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVk
VHJlZTo6dHJlZUZvclBhZ2VJRCgqcGFnZUlEKTsKKyAgICBpZiAoIXRyZWUgJiYgaXNNYWluVGhy
ZWFkKCkpIHsKKyAgICAgICAgdHJlZSA9IGdlbmVyYXRlSXNvbGF0ZWRUcmVlKCpwYWdlSUQpOwor
ICAgICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIGNyZWF0ZWQgb3VyIHRyZWUsIGluaXRpYWxpemUg
dGhlIHNlY29uZGFyeSB0aHJlYWQsCisgICAgICAgIC8vIHNvIGZ1dHVyZSByZXF1ZXN0cyBjb21l
IGluIG9uIHRoZSBvdGhlciB0aHJlYWQuCisgICAgICAgIF9BWFVJRWxlbWVudFVzZVNlY29uZGFy
eUFYVGhyZWFkKHRydWUpOworICAgICAgICByZXR1cm4gdHJlZS0+cm9vdE5vZGUoKS5nZXQoKTsK
KyAgICB9CisKKyAgICBpZiAodHJlZSAmJiAhaXNNYWluVGhyZWFkKCkpIHsKKyAgICAgICAgdHJl
ZS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgICAgICByZXR1cm4gdHJlZS0+cm9vdE5vZGUo
KS5nZXQoKTsKKyAgICB9CisKKyAgICAvLyBTaG91bGQgbm90IGdldCBoZXJlLCBjb3VsZG4ndCBj
cmVhdGUgb3IgdXBkYXRlIHRoZSBJc29sYXRlZFRyZWUuCisgICAgQVNTRVJUKGZhbHNlKTsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgorCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9i
amVjdENhY2hlOjpyb290T2JqZWN0Rm9yRnJhbWUoRnJhbWUqIGZyYW1lKQogewogICAgIGlmICgh
Z0FjY2Vzc2liaWxpdHlFbmFibGVkKQpAQCAtMjk0Myw3ICsyOTkxLDcgQEAgdm9pZCBBWE9iamVj
dENhY2hlOjpwZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSgpCiB9CiAgICAgCiAjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLVJlZjxBWElzb2xhdGVkT2JqZWN0PiBBWE9i
amVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KEFYQ29y
ZU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZSYgdHJlZSwgVmVj
dG9yPFJlZjxBWElzb2xhdGVkT2JqZWN0Pj4mIG5vZGVDaGFuZ2VzKQorUmVmPEFYSXNvbGF0ZWRP
YmplY3Q+IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkVHJlZUhpZXJhcmNoeShBWENvcmVP
YmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUmIHRyZWUsIFZlY3Rv
cjxSZWY8QVhJc29sYXRlZE9iamVjdD4+JiBub2RlQ2hhbmdlcykKIHsKICAgICBhdXRvIGlzb2xh
dGVkVHJlZU5vZGUgPSBBWElzb2xhdGVkT2JqZWN0OjpjcmVhdGUob2JqZWN0KTsKICAgICBub2Rl
Q2hhbmdlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZS5jb3B5UmVmKCkpOwpAQCAtMjk1MywyNCAr
MzAwMSwyNSBAQCBSZWY8QVhJc29sYXRlZE9iamVjdD4gQVhPYmplY3RDYWNoZTo6Y3JlYXRlSXNv
bGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZUhpZXJhcmNoeShBWAogICAgIGF0dGFjaFdyYXBwZXIoJmlz
b2xhdGVkVHJlZU5vZGUuZ2V0KCkpOwogCiAgICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IG9i
amVjdC5jaGlsZHJlbigpKSB7Ci0gICAgICAgIGF1dG8gc3RhdGljQ2hpbGQgPSBjcmVhdGVJc29s
YXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KCpjaGlsZCwgaXNvbGF0ZWRUcmVlTm9kZS0+
b2JqZWN0SUQoKSwgdHJlZSwgbm9kZUNoYW5nZXMpOworICAgICAgICBhdXRvIHN0YXRpY0NoaWxk
ID0gY3JlYXRlSXNvbGF0ZWRUcmVlSGllcmFyY2h5KCpjaGlsZCwgaXNvbGF0ZWRUcmVlTm9kZS0+
b2JqZWN0SUQoKSwgdHJlZSwgbm9kZUNoYW5nZXMpOwogICAgICAgICBpc29sYXRlZFRyZWVOb2Rl
LT5hcHBlbmRDaGlsZChzdGF0aWNDaGlsZC0+b2JqZWN0SUQoKSk7CiAgICAgfQogCiAgICAgcmV0
dXJuIGlzb2xhdGVkVHJlZU5vZGU7CiB9CiAgICAgCi1SZWY8QVhJc29sYXRlZFRyZWU+IEFYT2Jq
ZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZSgpCitSZWY8QVhJc29s
YXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlKFBhZ2VJZGVudGlm
aWVyIHBhZ2VJRCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAg
ICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5w
YWdlSUQoKSk7CisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQo
cGFnZUlEKTsKICAgICBpZiAoIXRyZWUpCi0gICAgICAgIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6
Y3JlYXRlVHJlZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5wYWdlSUQoKSk7CisgICAgICAgIHRyZWUg
PSBBWElzb2xhdGVkVHJlZTo6Y3JlYXRlVHJlZUZvclBhZ2VJRChwYWdlSUQpOwogICAgIAogICAg
IFZlY3RvcjxSZWY8QVhJc29sYXRlZE9iamVjdD4+IG5vZGVDaGFuZ2VzOwotICAgIGF1dG8gcm9v
dCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWVIaWVyYXJjaHkoKnJvb3RPYmplY3Qo
KSwgSW52YWxpZEFYSUQsICp0cmVlLCBub2RlQ2hhbmdlcyk7Ci0gICAgdHJlZS0+c2V0Um9vdChy
b290KTsKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheFJvb3QgPSBnZXRPckNyZWF0ZShtX2Rv
Y3VtZW50LnZpZXcoKSk7CisgICAgYXV0byBpc29sYXRlZFJvb3QgPSBjcmVhdGVJc29sYXRlZFRy
ZWVIaWVyYXJjaHkoKmF4Um9vdCwgSW52YWxpZEFYSUQsICp0cmVlLCBub2RlQ2hhbmdlcyk7Cisg
ICAgdHJlZS0+c2V0Um9vdChpc29sYXRlZFJvb3QpOwogICAgIHRyZWUtPmFwcGVuZE5vZGVDaGFu
Z2VzKG5vZGVDaGFuZ2VzKTsKIAogICAgIHJldHVybiBtYWtlUmVmKCp0cmVlKTsKQEAgLTMwNjQs
NyArMzExMyw3IEBAIGJvb2wgaXNOb2RlQXJpYVZpc2libGUoTm9kZSogbm9kZSkKIAogQWNjZXNz
aWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdFdlYkFyZWEoKQogewotICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QqIHJvb3RPYmplY3QgPSB0aGlzLT5yb290T2JqZWN0KCk7CisgICAgQVhD
b3JlT2JqZWN0KiByb290T2JqZWN0ID0gdGhpcy0+cm9vdE9iamVjdCgpOwogICAgIGlmICghcm9v
dE9iamVjdCB8fCAhcm9vdE9iamVjdC0+aXNBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldygpKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gZG93bmNhc3Q8QWNjZXNzaWJpbGl0eVNj
cm9sbFZpZXc+KCpyb290T2JqZWN0KS53ZWJBcmVhT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDI5YmIyNTBiOTdhZWMzZmQ0NDMx
OTVkNjFjZGQwYWZkNzU2MGZiNTIuLjA3ZGRmYTk2NTQ1YjNhOWU0MzkwZjI4OTIzNjI5MTI1NTU2
YTA3YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
CkBAIC0xNTEsNyArMTUxLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBB
WENvcmVPYmplY3QqIGZvY3VzZWRVSUVsZW1lbnRGb3JQYWdlKGNvbnN0IFBhZ2UqKTsKIAogICAg
IC8vIFJldHVybnMgdGhlIHJvb3Qgb2JqZWN0IGZvciB0aGUgZW50aXJlIGRvY3VtZW50LgotICAg
IFdFQkNPUkVfRVhQT1JUIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RPYmplY3QoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBBWENvcmVPYmplY3QqIHJvb3RPYmplY3QoKTsKICAgICAvLyBSZXR1cm5z
IHRoZSByb290IG9iamVjdCBmb3IgYSBzcGVjaWZpYyBmcmFtZS4KICAgICBXRUJDT1JFX0VYUE9S
VCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290T2JqZWN0Rm9yRnJhbWUoRnJhbWUqKTsKICAgICAK
QEAgLTE5MiwxMSArMTkyLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3Jl
ZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKTsKIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpCi0gICAgV0VCQ09SRV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5l
cmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKLQotICAgIFJlZjxBWElzb2xhdGVkT2Jq
ZWN0PiBjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KEFYQ29yZU9iamVj
dCYsIEFYSUQsIEFYSXNvbGF0ZWRUcmVlJiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkT2JqZWN0Pj4m
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBjbGllbnRTdXBwb3J0c0lzb2xhdGVk
VHJlZSgpOworcHJpdmF0ZToKKyAgICBBWENvcmVPYmplY3QqIGlzb2xhdGVkVHJlZVJvb3RPYmpl
Y3QoKTsKKyAgICBSZWY8QVhJc29sYXRlZFRyZWU+IGdlbmVyYXRlSXNvbGF0ZWRUcmVlKFBhZ2VJ
ZGVudGlmaWVyKTsKKyAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRlSXNvbGF0ZWRUcmVl
SGllcmFyY2h5KEFYQ29yZU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0ZWRUcmVlJiwgVmVjdG9yPFJl
ZjxBWElzb2xhdGVkT2JqZWN0Pj4mKTsKICNlbmRpZgotICAgIAorCitwdWJsaWM6CiAjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxl
QWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVB
Y2Nlc3NpYmlsaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9hdGsvV2ViS2l0V2ViUGFnZUFjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvYXRrL1dlYktpdFdlYlBhZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcAppbmRleCAwN2JjMzViMjk1NWZlOGIwMzIzNGE2YTk1NDUxOWEyNDFlMjFkZWFjLi4w
OTFmYjhmMjQxNDgzM2U5ZTkxMTk3MmU4YTk2MTBmMjI0NjBiZWM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9hdGsvV2ViS2l0V2ViUGFnZUFjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2F0ay9X
ZWJLaXRXZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgc3Rh
dGljIHZvaWQgY29yZVJvb3RPYmplY3RXcmFwcGVyRGV0YWNoZWRDYWxsYmFjayhBdGtPYmplY3Qq
IHdyYXBwZXIsIGNvbnN0IGNoYXIKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXRrT2JqZWN0
LCAiY2hpbGRyZW4tY2hhbmdlZDo6cmVtb3ZlIiwgMCwgd3JhcHBlcik7CiB9CiAKLXN0YXRpYyBB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogcm9vdFdlYkFyZWFXcmFwcGVyKEFjY2Vzc2liaWxp
dHlPYmplY3QmIHJvb3RPYmplY3QpCitzdGF0aWMgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIq
IHJvb3RXZWJBcmVhV3JhcHBlcihBWENvcmVPYmplY3QmIHJvb3RPYmplY3QpCiB7CiAgICAgaWYg
KCFyb290T2JqZWN0LmlzQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcoKSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CkBAIC04NSw3ICs4NSw3IEBAIHN0YXRpYyBBdGtPYmplY3QqIGFjY2Vzc2liaWxp
dHlSb290T2JqZWN0V3JhcHBlcihBdGtPYmplY3QqIGF0a09iamVjdCkKICAgICBpZiAoIWNhY2hl
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNv
cmVSb290T2JqZWN0ID0gY2FjaGUtPnJvb3RPYmplY3QoKTsKKyAgICBBWENvcmVPYmplY3QqIGNv
cmVSb290T2JqZWN0ID0gY2FjaGUtPnJvb3RPYmplY3QoKTsKICAgICBpZiAoIWNvcmVSb290T2Jq
ZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdEJhc2UuaAppbmRleCA2YjdlYzViMTZmMmNhNmEwNjI2MTM4ZjFmZjA5N2Qw
YjUyOTE1Mjg1Li5hZWNkNGE1MDVjOTk4MjMwMGUzODQwNzM2N2M5ODc5MDMzMjgwNTliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaApAQCAtNDYsMTAgKzQ2
LDYgQEAgY2xhc3MgV2ViUGFnZTsKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBl
cjsKIC0gKGlkKWFjY2Vzc2liaWxpdHlGb2N1c2VkVUlFbGVtZW50OwogCi0jaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLS0gKEJPT0wpY2xpZW50U3VwcG9ydHNJc29sYXRl
ZFRyZWU7Ci0jZW5kaWYKLQogQGVuZAogCiAjZW5kaWYgLy8gV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdEJhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNl
Lm1tCmluZGV4IDUzZmNiODQyZjQ0MjJiNjExMzFmMDZkZDA2MjAxNGE5OWY1ZTIwOWEuLmQ4Njgy
YTk4YjFlYjIyOWI4YzU5MzVhNjg5ZTVhNzEzNjc3ODUwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0KQEAgLTI2LDcgKzI2LDYgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaCIK
IAotI2ltcG9ydCAiQXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiV2ViRnJhbWUu
aCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldLQXJyYXkuaCIKQEAgLTM1LDcgKzM0
LDYgQEAKICNpbXBvcnQgIldLU2hhcmVkQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tTdHJpbmcuaCIK
ICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKLSNpbXBvcnQgPFdlYkNvcmUvQVhJc29sYXRlZFRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9E
b2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtODUsMzcgKzgzLDYgQEAK
ICAgICByZXR1cm4gcmV0cmlldmVCbG9jaygpOwogfQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkKLS0gKEJPT0wpY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUKLXsK
LSAgICBBWENsaWVudFR5cGUgdHlwZSA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50
cnVzdGVkKCk7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB1bmtub3duIGNsaWVudCBiZWZvcmUgZW5h
YmxpbmcgQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFLgotICAgIHJldHVybiB0eXBlID09IGtB
WENsaWVudFR5cGVWb2ljZU92ZXIgfHwgdHlwZSA9PSBrQVhDbGllbnRUeXBlVW5rbm93bjsKLX0K
LQotLSAoaWQpaXNvbGF0ZWRUcmVlUm9vdE9iamVjdAotewotICAgIGlmIChpc01haW5UaHJlYWQo
KSkgewotICAgICAgICBpZiAoYXV0byBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKSB7Ci0g
ICAgICAgICAgICBhdXRvIHRyZWUgPSBjYWNoZS0+Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxp
dHlUcmVlKCk7Ci0KLSAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgY3JlYXRlZCBvdXIg
dHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKLSAgICAgICAgICAgIC8vIHNv
IGZ1dHVyZSByZXF1ZXN0cyBjb21lIGluIG9uIHRoZSBvdGhlciB0aHJlYWQuCi0gICAgICAgICAg
ICBfQVhVSUVsZW1lbnRVc2VTZWNvbmRhcnlBWFRocmVhZCh0cnVlKTsKLSAgICAgICAgICAgIGlm
IChhdXRvIHJvb3ROb2RlID0gdHJlZS0+cm9vdE5vZGUoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gcm9vdE5vZGUtPndyYXBwZXIoKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAg
IGF1dG8gdHJlZSA9IFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKG1fcGFn
ZUlEKTsKLSAgICAgICAgdHJlZS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOwotICAgICAgICBpZiAo
YXV0byByb290Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCkpCi0gICAgICAgICAgICByZXR1cm4gcm9v
dE5vZGUtPndyYXBwZXIoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gbmlsOwotfQotI2VuZGlmCi0K
IC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgogewogICAgIGlmICghV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKQEAgLTEyNCwxNSArOTEs
OCBAQAogICAgIGlmIChtX2hhc01haW5GcmFtZVBsdWdpbikKICAgICAgICAgcmV0dXJuIHNlbGYu
YWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdDsKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpCi0gICAgLy8gSWYgVm9pY2VPdmVyIGlzIG9uLCBlbnN1cmUgc3Vic2VxdWVu
dCByZXF1ZXN0cyBhcmUgbm93IGhhbmRsZWQgb24gdGhlIHNlY29uZGFyeSBBWCB0aHJlYWQuCi0g
ICAgYm9vbCBjbGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSA9IFtzZWxmIGNsaWVudFN1cHBvcnRz
SXNvbGF0ZWRUcmVlXTsKLSAgICBpZiAoY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUpCi0gICAg
ICAgIHJldHVybiBbc2VsZiBpc29sYXRlZFRyZWVSb290T2JqZWN0XTsKLSNlbmRpZgotCiAgICAg
aWYgKGF1dG8gY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgewotICAgICAgICBpZiAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCisg
ICAgICAgIGlmIChXZWJDb3JlOjpBWENvcmVPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVj
dCgpKQogICAgICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0TWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMubW0KaW5kZXggMzQ3N2Q0OGY0MGM4
OWEyNzcxNjBhMDcxNjg2NTY3ZTVmNDZkYzE0MC4uOGQxMjFiY2IzNzAwNmI3NDNiNzM2NWJiN2Rl
YWYxZjYzMzI3YmU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RN
YWMubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAi
QXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiUGx1Z2luVmlldy5oIgogI2ltcG9y
dCAiV2ViRnJhbWUuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKQEAgLTI1Myw3ICsyNTQsNyBAQCBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogCiAgICAgICAgIC8vIElzb2xhdGVk
IHRyZWUgZnJhbWVzIGhhdmUgdGhlIG9mZnNldCBlbmNvZGVkIGludG8gdGhlbSBzbyB3ZSBkb24n
dCBuZWVkIHRvIHVuZG8gaGVyZS4KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQotICAgICAgICBib29sIHF1ZXJ5aW5nSXNvbGF0ZWRUcmVlID0gW3NlbGYgY2xpZW50U3Vw
cG9ydHNJc29sYXRlZFRyZWVdICYmIF9BWFVJRWxlbWVudFJlcXVlc3RTZXJ2aWNlZEJ5U2Vjb25k
YXJ5QVhUaHJlYWQoKTsKKyAgICAgICAgYm9vbCBxdWVyeWluZ0lzb2xhdGVkVHJlZSA9IFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmNsaWVudFN1cHBvcnRzSXNvbGF0ZWRUcmVlKCkgJiYgX0FYVUlF
bGVtZW50UmVxdWVzdFNlcnZpY2VkQnlTZWNvbmRhcnlBWFRocmVhZCgpOwogICAgICAgICBhcHBs
eUNvbnRlbnRPZmZzZXQgPSAhcXVlcnlpbmdJc29sYXRlZFRyZWU7CiAjZW5kaWYKICAgICAgICAg
aWYgKGF1dG8gcGx1Z2luVmlldyA9IFdlYktpdDo6V2ViUGFnZTo6cGx1Z2luVmlld0ZvckZyYW1l
KG1fcGFnZS0+bWFpbkZyYW1lKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQWNjZXNzaWJsZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0FjY2Vz
c2libGVEb2N1bWVudC5jcHAKaW5kZXggY2Q5Y2EyNzdhZTljZGMwN2M5OTIwMDA0YzYxZjcxNzA3
MWUwMGU5MS4uOGE1NjA5ZDEzM2RjNDlhMGE2ZDNiODJjMGEwNjU0MDNhYTIwNTRhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQWNjZXNzaWJsZURvY3VtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9BY2Nlc3NpYmxlRG9jdW1lbnQuY3BwCkBAIC0zNCw3
ICszNCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAvLyBBY2Nlc3NpYmxlRG9jdW1l
bnQKIEFjY2Vzc2libGVEb2N1bWVudDo6QWNjZXNzaWJsZURvY3VtZW50KERvY3VtZW50KiBkb2Ms
IEhXTkQgd2luZG93KQotICAgIDogQWNjZXNzaWJsZUJhc2UoZG9jLT5heE9iamVjdENhY2hlKCkt
PnJvb3RPYmplY3QoKSwgd2luZG93KQorICAgIDogQWNjZXNzaWJsZUJhc2Uoc3RhdGljX2Nhc3Q8
QWNjZXNzaWJpbGl0eU9iamVjdCo+KGRvYy0+YXhPYmplY3RDYWNoZSgpLT5yb290T2JqZWN0KCkp
LCB3aW5kb3cpCiB7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>