<?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>232782</bug_id>
          
          <creation_ts>2021-11-06 02:17:35 -0700</creation_ts>
          <short_desc>[GTK][a11y] Add implementation of image interface when building with ATSPI</short_desc>
          <delta_ts>2021-11-19 23:53:07 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>232755</dependson>
          <blocked>230253</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>aperez</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1812365</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-06 02:17:35 -0700</bug_when>
    <thetext>Implement image</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812366</commentid>
    <comment_count>1</comment_count>
      <attachid>443479</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-06 02:20:27 -0700</bug_when>
    <thetext>Created attachment 443479
Patch

This won&apos;t apply because it depends on other bugs not fixed yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816822</commentid>
    <comment_count>2</comment_count>
      <attachid>444810</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-19 05:49:19 -0800</bug_when>
    <thetext>Created attachment 444810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816847</commentid>
    <comment_count>3</comment_count>
      <attachid>444815</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-19 06:51:57 -0800</bug_when>
    <thetext>Created attachment 444815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817088</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-19 23:53:07 -0800</bug_when>
    <thetext>Committed r286093 (244480@main): &lt;https://commits.webkit.org/244480@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443479</attachid>
            <date>2021-11-06 02:20:27 -0700</date>
            <delta_ts>2021-11-19 05:49:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atspi-image.diff</filename>
            <type>text/plain</type>
            <size>13322</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5YjQ5YTJjMWRhNDIuLjEwM2QyM2JhOGNkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24gb2Yg
aW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmludGVyZmFjZXNGb3JP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpwYXRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6YnVpbGRJbnRl
cmZhY2VzIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEltYWdlQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaTo6aW1hZ2VEZXNjcmlwdGlvbiBjb25zdCk6CisKIDIwMjEtMTEt
MDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW2ExMXldIEFkZCBpbXBsZW1lbnRhdGlvbiBvZiBkb2N1bWVudCBpbnRlcmZhY2Ugd2hl
biBidWlsZGluZyB3aXRoIEFUU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
R1RLLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CmluZGV4IDBiNDkwODgzNzhh
Mi4uNzdhNzEyNTY1MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dApAQCAtNDYsNiArNDYsNyBAQCBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RDb21wb25lbnRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdERvY3VtZW50QXRzcGkuY3Bw
CiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RIeXBlcmxpbmtBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEh5cGVydGV4dEF0c3Bp
LmNwcAorYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFRleHRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFZhbHVlQXRzcGkuY3BwCiBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlSb290QXRzcGkuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5jcHAKaW5kZXggN2FlYTBkYzMzOTBjLi4xMTVhYzYyMGU3N2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKQEAgLTk0LDYgKzk0LDkgQEAgT3B0aW9uU2V0PEFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6SW50ZXJmYWNlPiBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGk6OmludGVyZmEKICAgICBpZiAoY29yZU9iamVjdC5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmls
aXR5Um9sZTo6V2ViQXJlYSkKICAgICAgICAgaW50ZXJmYWNlcy5hZGQoSW50ZXJmYWNlOjpEb2N1
bWVudCk7CiAKKyAgICBpZiAoY29yZU9iamVjdC5pc0ltYWdlKCkpCisgICAgICAgIGludGVyZmFj
ZXMuYWRkKEludGVyZmFjZTo6SW1hZ2UpOworCiAgICAgcmV0dXJuIGludGVyZmFjZXM7CiB9CiAK
QEAgLTQ5MCw2ICs0OTMsOCBAQCBjb25zdCBTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNw
aTo6cGF0aCgpCiAgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8R0RC
dXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9hY3Rpb25faW50ZXJmYWNlKSwgJnNfYWN0aW9uRnVu
Y3Rpb25zIH0pOwogICAgICAgICBpZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6
RG9jdW1lbnQpKQogICAgICAgICAgICAgaW50ZXJmYWNlcy5hcHBlbmQoeyBjb25zdF9jYXN0PEdE
QnVzSW50ZXJmYWNlSW5mbyo+KCZ3ZWJraXRfZG9jdW1lbnRfaW50ZXJmYWNlKSwgJnNfZG9jdW1l
bnRGdW5jdGlvbnMgfSk7CisgICAgICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJm
YWNlOjpJbWFnZSkpCisgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8
R0RCdXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9pbWFnZV9pbnRlcmZhY2UpLCAmc19pbWFnZUZ1
bmN0aW9ucyB9KTsKICAgICAgICAgbV9wYXRoID0gYXRzcGlSb290LT5hdHNwaSgpLnJlZ2lzdGVy
T2JqZWN0KCp0aGlzLCBXVEZNb3ZlKGludGVyZmFjZXMpKTsKICAgICB9CiAKQEAgLTExMzIsNiAr
MTEzNyw4IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpidWlsZEludGVyZmFjZXMo
R1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdAogICAgICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfYWN0aW9uX2ludGVyZmFjZS5uYW1lKTsKICAgICBp
ZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6RG9jdW1lbnQpKQogICAgICAgICBn
X3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfZG9jdW1lbnRfaW50ZXJm
YWNlLm5hbWUpOworICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJmYWNlOjpJbWFn
ZSkpCisgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChidWlsZGVyLCAicyIsIHdlYmtpdF9p
bWFnZV9pbnRlcmZhY2UubmFtZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3Bp
OjpzZXJpYWxpemUoR1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmgKaW5kZXggNDhkNzQwMWJhMDI1Li43NzY1MDM2MzMyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0
c3BpLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKICAgICB+
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OwogCi0gICAgZW51bSBjbGFzcyBJ
bnRlcmZhY2UgOiB1aW50OF90IHsKKyAgICBlbnVtIGNsYXNzIEludGVyZmFjZSA6IHVpbnQxNl90
IHsKICAgICAgICAgQWNjZXNzaWJsZSA9IDEgPDwgMCwKICAgICAgICAgQ29tcG9uZW50ID0gMSA8
PCAxLAogICAgICAgICBUZXh0ID0gMSA8PCAyLApAQCAtNTAsNyArNTAsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIEh5cGVybGluayA9IDEgPDwgNCwKICAgICAgICAgSHlwZXJ0ZXh0ID0gMSA8PCA1LAog
ICAgICAgICBBY3Rpb24gPSAxIDw8IDYsCi0gICAgICAgIERvY3VtZW50ID0gMSA8PCA3CisgICAg
ICAgIERvY3VtZW50ID0gMSA8PCA3LAorICAgICAgICBJbWFnZSA9IDEgPDwgOAogICAgIH07CiAg
ICAgY29uc3QgT3B0aW9uU2V0PEludGVyZmFjZT4mIGludGVyZmFjZXMoKSBjb25zdCB7IHJldHVy
biBtX2ludGVyZmFjZXM7IH0KIApAQCAtMTc1LDYgKzE3Niw4IEBAIHByaXZhdGU6CiAgICAgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZG9jdW1lbnRBdHRyaWJ1dGVzKCkgY29uc3Q7CiAgICAgU3Ry
aW5nIGRvY3VtZW50TG9jYWxlKCkgY29uc3Q7CiAKKyAgICBTdHJpbmcgaW1hZ2VEZXNjcmlwdGlv
bigpIGNvbnN0OworCiAgICAgc3RhdGljIE9wdGlvblNldDxJbnRlcmZhY2U+IGludGVyZmFjZXNG
b3JPYmplY3QoQVhDb3JlT2JqZWN0Jik7CiAKICAgICBzdGF0aWMgR0RCdXNJbnRlcmZhY2VWVGFi
bGUgc19hY2Nlc3NpYmxlRnVuY3Rpb25zOwpAQCAtMTg1LDYgKzE4OCw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIEdEQnVzSW50ZXJmYWNlVlRhYmxlIHNfaHlwZXJ0ZXh0RnVuY3Rpb25zOwogICAg
IHN0YXRpYyBHREJ1c0ludGVyZmFjZVZUYWJsZSBzX2FjdGlvbkZ1bmN0aW9uczsKICAgICBzdGF0
aWMgR0RCdXNJbnRlcmZhY2VWVGFibGUgc19kb2N1bWVudEZ1bmN0aW9uczsKKyAgICBzdGF0aWMg
R0RCdXNJbnRlcmZhY2VWVGFibGUgc19pbWFnZUZ1bmN0aW9uczsKIAogICAgIEFYQ29yZU9iamVj
dCogbV9heE9iamVjdCB7IG51bGxwdHIgfTsKICAgICBBWENvcmVPYmplY3QqIG1fY29yZU9iamVj
dCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEltYWdlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lNzNhODBjOTg2ZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RJbWFnZUF0c3BpLmNwcApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUF0c3BpRW51bXMuaCIKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0dEQnVzSW50ZXJmYWNlVlRhYmxlIEFjY2Vzc2liaWxpdHlP
YmplY3RBdHNwaTo6c19pbWFnZUZ1bmN0aW9ucyA9IHsKKyAgICAvLyBtZXRob2RfY2FsbAorICAg
IFtdKEdEQnVzQ29ubmVjdGlvbiosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2NoYXIqLCBjb25zdCBn
Y2hhciosIGNvbnN0IGdjaGFyKiBtZXRob2ROYW1lLCBHVmFyaWFudCogcGFyYW1ldGVycywgR0RC
dXNNZXRob2RJbnZvY2F0aW9uKiBpbnZvY2F0aW9uLCBncG9pbnRlciB1c2VyRGF0YSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgICAgICBhdXRvIGF0c3Bp
T2JqZWN0ID0gUmVmIHsgKnN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KHVz
ZXJEYXRhKSB9OworICAgICAgICBhdHNwaU9iamVjdC0+dXBkYXRlQmFja2luZ1N0b3JlKCk7CisK
KyAgICAgICAgaWYgKCFnX3N0cmNtcDAobWV0aG9kTmFtZSwgIkdldEltYWdlRXh0ZW50cyIpKSB7
CisgICAgICAgICAgICB1aW50MzJfdCBjb29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFy
aWFudF9nZXQocGFyYW1ldGVycywgIih1KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAg
ICBhdXRvIHJlY3QgPSBhdHNwaU9iamVjdC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOwor
ICAgICAgICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0
aW9uLCBnX3ZhcmlhbnRfbmV3KCIoKGlpaWkpKSIsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53
aWR0aCgpLCByZWN0LmhlaWdodCgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VQb3NpdGlvbiIpKSB7CisgICAgICAgICAgICB1aW50MzJfdCBj
b29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFyaWFudF9nZXQocGFyYW1ldGVycywgIih1
KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAgICBhdXRvIHJlY3QgPSBhdHNwaU9iamVj
dC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOworICAgICAgICAgICAgZ19kYnVzX21ldGhv
ZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3KCIoaWkp
IiwgcmVjdC54KCksIHJlY3QueSgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VTaXplIikpIHsKKyAgICAgICAgICAgIGF1dG8gcmVjdCA9IGF0
c3BpT2JqZWN0LT5lbGVtZW50UmVjdChBdHNwaTo6Q29vcmRpbmF0ZVR5cGU6OlBhcmVudENvb3Jk
aW5hdGVzKTsKKyAgICAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fdmFs
dWUoaW52b2NhdGlvbiwgZ192YXJpYW50X25ldygiKGlpKSIsIHJlY3Qud2lkdGgoKSwgcmVjdC5o
ZWlnaHQoKSkpOworICAgICAgICB9CisgICAgfSwKKyAgICAvLyBnZXRfcHJvcGVydHkKKyAgICBb
XShHREJ1c0Nvbm5lY3Rpb24qLCBjb25zdCBnY2hhciosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2No
YXIqLCBjb25zdCBnY2hhciogcHJvcGVydHlOYW1lLCBHRXJyb3IqKiBlcnJvciwgZ3BvaW50ZXIg
dXNlckRhdGEpIC0+IEdWYXJpYW50KiB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5U
aHJlYWQoKSk7CisgICAgICAgIGF1dG8gYXRzcGlPYmplY3QgPSBSZWYgeyAqc3RhdGljX2Nhc3Q8
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4odXNlckRhdGEpIH07CisgICAgICAgIGF0c3BpT2Jq
ZWN0LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKKworICAgICAgICBpZiAoIWdfc3RyY21wMChwcm9w
ZXJ0eU5hbWUsICJJbWFnZURlc2NyaXB0aW9uIikpCisgICAgICAgICAgICByZXR1cm4gZ192YXJp
YW50X25ld19zdHJpbmcoYXRzcGlPYmplY3QtPmltYWdlRGVzY3JpcHRpb24oKS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAocHJvcGVydHlOYW1lLCAiSW1hZ2VMb2NhbGUi
KSkKKyAgICAgICAgICAgIHJldHVybiBnX3ZhcmlhbnRfbmV3X3N0cmluZyhhdHNwaU9iamVjdC0+
bG9jYWxlKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgZ19zZXRfZXJyb3IoZXJyb3IsIEdf
SU9fRVJST1IsIEdfSU9fRVJST1JfTk9UX1NVUFBPUlRFRCwgIlVua25vd24gcHJvcGVydHkgJyVz
JyIsIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0sCisgICAg
Ly8gc2V0X3Byb3BlcnR5LAorICAgIG51bGxwdHIsCisgICAgLy8gcGFkZGluZworICAgIG51bGxw
dHIKK307CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmltYWdlRGVzY3JpcHRp
b24oKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAg
aWYgKCFtX2F4T2JqZWN0KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CisgICAgbV9heE9iamVjdC0+YWNjZXNzaWJpbGl0eVRl
eHQodGV4dE9yZGVyKTsKKworICAgIGJvb2wgdmlzaWJsZVRleHRBdmFpbGFibGUgPSBmYWxzZTsK
KyAgICBmb3IgKGNvbnN0IEFjY2Vzc2liaWxpdHlUZXh0JiB0ZXh0IDogdGV4dE9yZGVyKSB7Cisg
ICAgICAgIGlmICh0ZXh0LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OkFs
dGVybmF0aXZlKQorICAgICAgICAgICAgcmV0dXJuIHRleHQudGV4dDsKKworICAgICAgICBzd2l0
Y2ggKHRleHQudGV4dFNvdXJjZSkgeworICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291
cmNlOjpWaXNpYmxlOgorICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpDaGls
ZHJlbjoKKyAgICAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZTo6TGFiZWxCeUVsZW1l
bnQ6CisgICAgICAgICAgICB2aXNpYmxlVGV4dEF2YWlsYWJsZSA9IHRydWU7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0ZXh0
LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OlRpdGxlVGFnICYmICF2aXNp
YmxlVGV4dEF2YWlsYWJsZSkKKyAgICAgICAgICAgIHJldHVybiB0ZXh0LnRleHQ7CisgICAgfQor
CisgICAgcmV0dXJuIHsgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlN2E0ZjdhMGY2OGYuLmNmOTQ5NmQ3
ZTIzNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24g
b2YgaW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHVuaXQgdGVzdHMgZm9yIHRo
ZSBpbWFnZSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dEd0ay9UZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHA6CisgICAgICAgICh0ZXN0SW1hZ2VCYXNp
Yyk6CisgICAgICAgIChiZWZvcmVBbGwpOgorCiAyMDIxLTExLTA1ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1w
bGVtZW50YXRpb24gb2YgZG9jdW1lbnQgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdFdl
YktpdEFjY2Vzc2liaWxpdHkuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
dGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCmluZGV4IGU4YWJhNTY5MWRmMy4uZWE2Mjlm
YWFiMmExIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9U
ZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHdGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCkBAIC0xOTU1LDYgKzE5NTUs
NTAgQEAgc3RhdGljIHZvaWQgdGVzdERvY3VtZW50QmFzaWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiAjZW5kaWYKIH0KIAorc3RhdGljIHZvaWQgdGVzdEltYWdlQmFz
aWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgdGVzdC0+
c2hvd0luV2luZG93KDgwMCwgNjAwKTsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGJhc2VEaXIoZ19z
dHJkdXBfcHJpbnRmKCJmaWxlOi8vJXMvIiwgVGVzdDo6Z2V0UmVzb3VyY2VzRGlyKCkuZGF0YSgp
KSk7CisgICAgdGVzdC0+bG9hZEh0bWwoCisgICAgICAgICI8aHRtbD4iCisgICAgICAgICIgIDxi
b2R5PiIKKyAgICAgICAgIiAgICA8aW1nIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDox
OyB0b3A6MScgc3JjPSdibGFuay5pY28nIHdpZHRoPTUgaGVpZ2h0PTUgYWx0PSdUaGlzIGlzIGEg
YmxhbmsgaWNvbicgbGFuZz0nZW4nPjwvaW1nPiIKKyAgICAgICAgIiAgPC9ib2R5PiIKKyAgICAg
ICAgIjwvaHRtbD4iLAorICAgICAgICBiYXNlRGlyLmdldCgpKTsKKyAgICB0ZXN0LT53YWl0VW50
aWxMb2FkRmluaXNoZWQoKTsKKworICAgIGF1dG8gdGVzdEFwcCA9IHRlc3QtPmZpbmRUZXN0QXBw
bGljYXRpb24oKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUodGVzdEFw
cC5nZXQoKSkpOworCisgICAgYXV0byBkb2N1bWVudFdlYiA9IHRlc3QtPmZpbmREb2N1bWVudFdl
Yih0ZXN0QXBwLmdldCgpKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUo
ZG9jdW1lbnRXZWIuZ2V0KCkpKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRzcGlfYWNjZXNzaWJs
ZV9nZXRfY2hpbGRfY291bnQoZG9jdW1lbnRXZWIuZ2V0KCksIG51bGxwdHIpLCA9PSwgMSk7CisK
KyAgICBhdXRvIGltZyA9IGFkb3B0R1JlZihhdHNwaV9hY2Nlc3NpYmxlX2dldF9jaGlsZF9hdF9p
bmRleChkb2N1bWVudFdlYi5nZXQoKSwgMCwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X3RydWUo
QVRTUElfSVNfSU1BR0UoaW1nLmdldCgpKSk7CisgICAgR1VuaXF1ZVB0cjxBdHNwaVJlY3Q+IHJl
Y3QoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX2V4dGVudHMoQVRTUElfSU1BR0UoaW1nLmdldCgpKSwg
QVRTUElfQ09PUkRfVFlQRV9XSU5ET1csIG51bGxwdHIpKTsKKyAgICBnX2Fzc2VydF9ub25udWxs
KHJlY3QuZ2V0KCkpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eCwgPT0sIDEpOworICAg
IGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eSwgPT0sIDEpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQo
cmVjdC0+d2lkdGgsID09LCA1KTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHJlY3QtPmhlaWdodCwg
PT0sIDUpOworICAgIEdVbmlxdWVQdHI8QXRzcGlQb2ludD4gcG9pbnQoYXRzcGlfaW1hZ2VfZ2V0
X2ltYWdlX3Bvc2l0aW9uKEFUU1BJX0lNQUdFKGltZy5nZXQoKSksIEFUU1BJX0NPT1JEX1RZUEVf
V0lORE9XLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfbm9ubnVsbChwb2ludC5nZXQoKSk7Cisg
ICAgZ19hc3NlcnRfY21wdWludChyZWN0LT54LCA9PSwgcG9pbnQtPngpOworICAgIGdfYXNzZXJ0
X2NtcHVpbnQocmVjdC0+eSwgPT0sIHBvaW50LT55KTsKKyAgICBHVW5pcXVlUHRyPEF0c3BpUG9p
bnQ+IHNpemUoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX3NpemUoQVRTUElfSU1BR0UoaW1nLmdldCgp
KSwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X25vbm51bGwoc2l6ZS5nZXQoKSk7CisgICAgZ19h
c3NlcnRfY21wdWludChzaXplLT54LCA9PSwgcmVjdC0+d2lkdGgpOworICAgIGdfYXNzZXJ0X2Nt
cHVpbnQoc2l6ZS0+eSwgPT0sIHJlY3QtPmhlaWdodCk7CisKKyAgICBHVW5pcXVlUHRyPGNoYXI+
IGRlc2NyaXB0aW9uKGF0c3BpX2ltYWdlX2dldF9pbWFnZV9kZXNjcmlwdGlvbihBVFNQSV9JTUFH
RShpbWcuZ2V0KCkpLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfY21wc3RyKGRlc2NyaXB0aW9u
LmdldCgpLCA9PSwgIlRoaXMgaXMgYSBibGFuayBpY29uIik7CisKKyAgICBHVW5pcXVlUHRyPGNo
YXI+IGxvY2FsZShhdHNwaV9pbWFnZV9nZXRfaW1hZ2VfbG9jYWxlKEFUU1BJX0lNQUdFKGltZy5n
ZXQoKSksIG51bGxwdHIpKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIobG9jYWxlLmdldCgpLCA9PSwg
ImVuIik7Cit9CisKIHZvaWQgYmVmb3JlQWxsKCkKIHsKICAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6
YWRkKCJXZWJLaXRBY2Nlc3NpYmlsaXR5IiwgImFjY2Vzc2libGUvYmFzaWMtaGllcmFyY2h5Iiwg
dGVzdEFjY2Vzc2libGVCYXNpY0hpZXJhcmNoeSk7CkBAIC0xOTgwLDYgKzIwMjQsNyBAQCB2b2lk
IGJlZm9yZUFsbCgpCiAgICAgQWNjZXNzaWJpbGl0eVRlc3Q6OmFkZCgiV2ViS2l0QWNjZXNzaWJp
bGl0eSIsICJoeXBlcnRleHQvYmFzaWMiLCB0ZXN0SHlwZXJ0ZXh0QmFzaWMpOwogICAgIEFjY2Vz
c2liaWxpdHlUZXN0OjphZGQoIldlYktpdEFjY2Vzc2liaWxpdHkiLCAiYWN0aW9uL2Jhc2ljIiwg
dGVzdEFjdGlvbkJhc2ljKTsKICAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6YWRkKCJXZWJLaXRBY2Nl
c3NpYmlsaXR5IiwgImRvY3VtZW50L2Jhc2ljIiwgdGVzdERvY3VtZW50QmFzaWMpOworICAgIEFj
Y2Vzc2liaWxpdHlUZXN0OjphZGQoIldlYktpdEFjY2Vzc2liaWxpdHkiLCAiaW1hZ2UvYmFzaWMi
LCB0ZXN0SW1hZ2VCYXNpYyk7CiB9CiAKIHZvaWQgYWZ0ZXJBbGwoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444810</attachid>
            <date>2021-11-19 05:49:19 -0800</date>
            <delta_ts>2021-11-19 06:51:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atspi-image.diff</filename>
            <type>text/plain</type>
            <size>13344</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MDQ4ZTNlYTkwZmUuLmM3YmQ1NjExYmE0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24gb2Yg
aW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmludGVyZmFjZXNGb3JP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpwYXRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6YnVpbGRJbnRl
cmZhY2VzIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEltYWdlQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaTo6aW1hZ2VEZXNjcmlwdGlvbiBjb25zdCk6CisKIDIwMjEtMTEt
MDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW2ExMXldIEFkZCBpbXBsZW1lbnRhdGlvbiBvZiBkb2N1bWVudCBpbnRlcmZhY2Ugd2hl
biBidWlsZGluZyB3aXRoIEFUU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
R1RLLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CmluZGV4IDBiNDkwODgzNzhh
Mi4uNzdhNzEyNTY1MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dApAQCAtNDYsNiArNDYsNyBAQCBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RDb21wb25lbnRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdERvY3VtZW50QXRzcGkuY3Bw
CiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RIeXBlcmxpbmtBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEh5cGVydGV4dEF0c3Bp
LmNwcAorYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFRleHRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFZhbHVlQXRzcGkuY3BwCiBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlSb290QXRzcGkuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5jcHAKaW5kZXggODk4NmE1OTJjNWY2Li5iM2RlN2E4YTMzMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKQEAgLTk0LDYgKzk0LDkgQEAgT3B0aW9uU2V0PEFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6SW50ZXJmYWNlPiBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGk6OmludGVyZmEKICAgICBpZiAoY29yZU9iamVjdC5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmls
aXR5Um9sZTo6V2ViQXJlYSkKICAgICAgICAgaW50ZXJmYWNlcy5hZGQoSW50ZXJmYWNlOjpEb2N1
bWVudCk7CiAKKyAgICBpZiAoY29yZU9iamVjdC5pc0ltYWdlKCkpCisgICAgICAgIGludGVyZmFj
ZXMuYWRkKEludGVyZmFjZTo6SW1hZ2UpOworCiAgICAgcmV0dXJuIGludGVyZmFjZXM7CiB9CiAK
QEAgLTQ5MCw2ICs0OTMsOCBAQCBjb25zdCBTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNw
aTo6cGF0aCgpCiAgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8R0RC
dXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9hY3Rpb25faW50ZXJmYWNlKSwgJnNfYWN0aW9uRnVu
Y3Rpb25zIH0pOwogICAgICAgICBpZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6
RG9jdW1lbnQpKQogICAgICAgICAgICAgaW50ZXJmYWNlcy5hcHBlbmQoeyBjb25zdF9jYXN0PEdE
QnVzSW50ZXJmYWNlSW5mbyo+KCZ3ZWJraXRfZG9jdW1lbnRfaW50ZXJmYWNlKSwgJnNfZG9jdW1l
bnRGdW5jdGlvbnMgfSk7CisgICAgICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJm
YWNlOjpJbWFnZSkpCisgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8
R0RCdXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9pbWFnZV9pbnRlcmZhY2UpLCAmc19pbWFnZUZ1
bmN0aW9ucyB9KTsKICAgICAgICAgbV9wYXRoID0gYXRzcGlSb290LT5hdHNwaSgpLnJlZ2lzdGVy
T2JqZWN0KCp0aGlzLCBXVEZNb3ZlKGludGVyZmFjZXMpKTsKICAgICB9CiAKQEAgLTExMzIsNiAr
MTEzNyw4IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpidWlsZEludGVyZmFjZXMo
R1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdAogICAgICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfYWN0aW9uX2ludGVyZmFjZS5uYW1lKTsKICAgICBp
ZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6RG9jdW1lbnQpKQogICAgICAgICBn
X3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfZG9jdW1lbnRfaW50ZXJm
YWNlLm5hbWUpOworICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJmYWNlOjpJbWFn
ZSkpCisgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChidWlsZGVyLCAicyIsIHdlYmtpdF9p
bWFnZV9pbnRlcmZhY2UubmFtZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3Bp
OjpzZXJpYWxpemUoR1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmgKaW5kZXggNDhkNzQwMWJhMDI1Li43NzY1MDM2MzMyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0
c3BpLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKICAgICB+
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OwogCi0gICAgZW51bSBjbGFzcyBJ
bnRlcmZhY2UgOiB1aW50OF90IHsKKyAgICBlbnVtIGNsYXNzIEludGVyZmFjZSA6IHVpbnQxNl90
IHsKICAgICAgICAgQWNjZXNzaWJsZSA9IDEgPDwgMCwKICAgICAgICAgQ29tcG9uZW50ID0gMSA8
PCAxLAogICAgICAgICBUZXh0ID0gMSA8PCAyLApAQCAtNTAsNyArNTAsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIEh5cGVybGluayA9IDEgPDwgNCwKICAgICAgICAgSHlwZXJ0ZXh0ID0gMSA8PCA1LAog
ICAgICAgICBBY3Rpb24gPSAxIDw8IDYsCi0gICAgICAgIERvY3VtZW50ID0gMSA8PCA3CisgICAg
ICAgIERvY3VtZW50ID0gMSA8PCA3LAorICAgICAgICBJbWFnZSA9IDEgPDwgOAogICAgIH07CiAg
ICAgY29uc3QgT3B0aW9uU2V0PEludGVyZmFjZT4mIGludGVyZmFjZXMoKSBjb25zdCB7IHJldHVy
biBtX2ludGVyZmFjZXM7IH0KIApAQCAtMTc1LDYgKzE3Niw4IEBAIHByaXZhdGU6CiAgICAgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZG9jdW1lbnRBdHRyaWJ1dGVzKCkgY29uc3Q7CiAgICAgU3Ry
aW5nIGRvY3VtZW50TG9jYWxlKCkgY29uc3Q7CiAKKyAgICBTdHJpbmcgaW1hZ2VEZXNjcmlwdGlv
bigpIGNvbnN0OworCiAgICAgc3RhdGljIE9wdGlvblNldDxJbnRlcmZhY2U+IGludGVyZmFjZXNG
b3JPYmplY3QoQVhDb3JlT2JqZWN0Jik7CiAKICAgICBzdGF0aWMgR0RCdXNJbnRlcmZhY2VWVGFi
bGUgc19hY2Nlc3NpYmxlRnVuY3Rpb25zOwpAQCAtMTg1LDYgKzE4OCw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIEdEQnVzSW50ZXJmYWNlVlRhYmxlIHNfaHlwZXJ0ZXh0RnVuY3Rpb25zOwogICAg
IHN0YXRpYyBHREJ1c0ludGVyZmFjZVZUYWJsZSBzX2FjdGlvbkZ1bmN0aW9uczsKICAgICBzdGF0
aWMgR0RCdXNJbnRlcmZhY2VWVGFibGUgc19kb2N1bWVudEZ1bmN0aW9uczsKKyAgICBzdGF0aWMg
R0RCdXNJbnRlcmZhY2VWVGFibGUgc19pbWFnZUZ1bmN0aW9uczsKIAogICAgIEFYQ29yZU9iamVj
dCogbV9heE9iamVjdCB7IG51bGxwdHIgfTsKICAgICBBWENvcmVPYmplY3QqIG1fY29yZU9iamVj
dCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEltYWdlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lNzNhODBjOTg2ZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RJbWFnZUF0c3BpLmNwcApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUF0c3BpRW51bXMuaCIKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0dEQnVzSW50ZXJmYWNlVlRhYmxlIEFjY2Vzc2liaWxpdHlP
YmplY3RBdHNwaTo6c19pbWFnZUZ1bmN0aW9ucyA9IHsKKyAgICAvLyBtZXRob2RfY2FsbAorICAg
IFtdKEdEQnVzQ29ubmVjdGlvbiosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2NoYXIqLCBjb25zdCBn
Y2hhciosIGNvbnN0IGdjaGFyKiBtZXRob2ROYW1lLCBHVmFyaWFudCogcGFyYW1ldGVycywgR0RC
dXNNZXRob2RJbnZvY2F0aW9uKiBpbnZvY2F0aW9uLCBncG9pbnRlciB1c2VyRGF0YSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgICAgICBhdXRvIGF0c3Bp
T2JqZWN0ID0gUmVmIHsgKnN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KHVz
ZXJEYXRhKSB9OworICAgICAgICBhdHNwaU9iamVjdC0+dXBkYXRlQmFja2luZ1N0b3JlKCk7CisK
KyAgICAgICAgaWYgKCFnX3N0cmNtcDAobWV0aG9kTmFtZSwgIkdldEltYWdlRXh0ZW50cyIpKSB7
CisgICAgICAgICAgICB1aW50MzJfdCBjb29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFy
aWFudF9nZXQocGFyYW1ldGVycywgIih1KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAg
ICBhdXRvIHJlY3QgPSBhdHNwaU9iamVjdC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOwor
ICAgICAgICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0
aW9uLCBnX3ZhcmlhbnRfbmV3KCIoKGlpaWkpKSIsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53
aWR0aCgpLCByZWN0LmhlaWdodCgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VQb3NpdGlvbiIpKSB7CisgICAgICAgICAgICB1aW50MzJfdCBj
b29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFyaWFudF9nZXQocGFyYW1ldGVycywgIih1
KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAgICBhdXRvIHJlY3QgPSBhdHNwaU9iamVj
dC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOworICAgICAgICAgICAgZ19kYnVzX21ldGhv
ZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3KCIoaWkp
IiwgcmVjdC54KCksIHJlY3QueSgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VTaXplIikpIHsKKyAgICAgICAgICAgIGF1dG8gcmVjdCA9IGF0
c3BpT2JqZWN0LT5lbGVtZW50UmVjdChBdHNwaTo6Q29vcmRpbmF0ZVR5cGU6OlBhcmVudENvb3Jk
aW5hdGVzKTsKKyAgICAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fdmFs
dWUoaW52b2NhdGlvbiwgZ192YXJpYW50X25ldygiKGlpKSIsIHJlY3Qud2lkdGgoKSwgcmVjdC5o
ZWlnaHQoKSkpOworICAgICAgICB9CisgICAgfSwKKyAgICAvLyBnZXRfcHJvcGVydHkKKyAgICBb
XShHREJ1c0Nvbm5lY3Rpb24qLCBjb25zdCBnY2hhciosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2No
YXIqLCBjb25zdCBnY2hhciogcHJvcGVydHlOYW1lLCBHRXJyb3IqKiBlcnJvciwgZ3BvaW50ZXIg
dXNlckRhdGEpIC0+IEdWYXJpYW50KiB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5U
aHJlYWQoKSk7CisgICAgICAgIGF1dG8gYXRzcGlPYmplY3QgPSBSZWYgeyAqc3RhdGljX2Nhc3Q8
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4odXNlckRhdGEpIH07CisgICAgICAgIGF0c3BpT2Jq
ZWN0LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKKworICAgICAgICBpZiAoIWdfc3RyY21wMChwcm9w
ZXJ0eU5hbWUsICJJbWFnZURlc2NyaXB0aW9uIikpCisgICAgICAgICAgICByZXR1cm4gZ192YXJp
YW50X25ld19zdHJpbmcoYXRzcGlPYmplY3QtPmltYWdlRGVzY3JpcHRpb24oKS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAocHJvcGVydHlOYW1lLCAiSW1hZ2VMb2NhbGUi
KSkKKyAgICAgICAgICAgIHJldHVybiBnX3ZhcmlhbnRfbmV3X3N0cmluZyhhdHNwaU9iamVjdC0+
bG9jYWxlKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgZ19zZXRfZXJyb3IoZXJyb3IsIEdf
SU9fRVJST1IsIEdfSU9fRVJST1JfTk9UX1NVUFBPUlRFRCwgIlVua25vd24gcHJvcGVydHkgJyVz
JyIsIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0sCisgICAg
Ly8gc2V0X3Byb3BlcnR5LAorICAgIG51bGxwdHIsCisgICAgLy8gcGFkZGluZworICAgIG51bGxw
dHIKK307CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmltYWdlRGVzY3JpcHRp
b24oKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAg
aWYgKCFtX2F4T2JqZWN0KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CisgICAgbV9heE9iamVjdC0+YWNjZXNzaWJpbGl0eVRl
eHQodGV4dE9yZGVyKTsKKworICAgIGJvb2wgdmlzaWJsZVRleHRBdmFpbGFibGUgPSBmYWxzZTsK
KyAgICBmb3IgKGNvbnN0IEFjY2Vzc2liaWxpdHlUZXh0JiB0ZXh0IDogdGV4dE9yZGVyKSB7Cisg
ICAgICAgIGlmICh0ZXh0LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OkFs
dGVybmF0aXZlKQorICAgICAgICAgICAgcmV0dXJuIHRleHQudGV4dDsKKworICAgICAgICBzd2l0
Y2ggKHRleHQudGV4dFNvdXJjZSkgeworICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291
cmNlOjpWaXNpYmxlOgorICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpDaGls
ZHJlbjoKKyAgICAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZTo6TGFiZWxCeUVsZW1l
bnQ6CisgICAgICAgICAgICB2aXNpYmxlVGV4dEF2YWlsYWJsZSA9IHRydWU7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0ZXh0
LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OlRpdGxlVGFnICYmICF2aXNp
YmxlVGV4dEF2YWlsYWJsZSkKKyAgICAgICAgICAgIHJldHVybiB0ZXh0LnRleHQ7CisgICAgfQor
CisgICAgcmV0dXJuIHsgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZDdjODZmOTY4MGIuLjg2MWVkYWZh
YjRhMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24g
b2YgaW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHVuaXQgdGVzdHMgZm9yIHRo
ZSBpbWFnZSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dEd0ay9UZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHA6CisgICAgICAgICh0ZXN0SW1hZ2VCYXNp
Yyk6CisgICAgICAgIChiZWZvcmVBbGwpOgorCiAyMDIxLTExLTA1ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1w
bGVtZW50YXRpb24gb2YgZG9jdW1lbnQgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdFdl
YktpdEFjY2Vzc2liaWxpdHkuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
dGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCmluZGV4IDg4ZWRiZmNhZTI3Ni4uZjI1MDZm
MGJjNjQ4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9U
ZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHdGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCkBAIC0xOTk3LDYgKzE5OTcs
NTEgQEAgc3RhdGljIHZvaWQgdGVzdERvY3VtZW50QmFzaWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiAjZW5kaWYKIH0KIAorc3RhdGljIHZvaWQgdGVzdEltYWdlQmFz
aWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgdGVzdC0+
c2hvd0luV2luZG93KDgwMCwgNjAwKTsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGJhc2VEaXIoZ19z
dHJkdXBfcHJpbnRmKCJmaWxlOi8vJXMvIiwgVGVzdDo6Z2V0UmVzb3VyY2VzRGlyKCkuZGF0YSgp
KSk7CisgICAgdGVzdC0+bG9hZEh0bWwoCisgICAgICAgICI8aHRtbD4iCisgICAgICAgICIgIDxi
b2R5PiIKKyAgICAgICAgIiAgICA8aW1nIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDox
OyB0b3A6MScgc3JjPSdibGFuay5pY28nIHdpZHRoPTUgaGVpZ2h0PTUgYWx0PSdUaGlzIGlzIGEg
YmxhbmsgaWNvbicgbGFuZz0nZW4nPjwvaW1nPiIKKyAgICAgICAgIiAgPC9ib2R5PiIKKyAgICAg
ICAgIjwvaHRtbD4iLAorICAgICAgICBiYXNlRGlyLmdldCgpKTsKKyAgICB0ZXN0LT53YWl0VW50
aWxMb2FkRmluaXNoZWQoKTsKKworICAgIGF1dG8gdGVzdEFwcCA9IHRlc3QtPmZpbmRUZXN0QXBw
bGljYXRpb24oKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUodGVzdEFw
cC5nZXQoKSkpOworCisgICAgYXV0byBkb2N1bWVudFdlYiA9IHRlc3QtPmZpbmREb2N1bWVudFdl
Yih0ZXN0QXBwLmdldCgpKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUo
ZG9jdW1lbnRXZWIuZ2V0KCkpKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRzcGlfYWNjZXNzaWJs
ZV9nZXRfY2hpbGRfY291bnQoZG9jdW1lbnRXZWIuZ2V0KCksIG51bGxwdHIpLCA9PSwgMSk7CisK
KyAgICBhdXRvIGltZyA9IGFkb3B0R1JlZihhdHNwaV9hY2Nlc3NpYmxlX2dldF9jaGlsZF9hdF9p
bmRleChkb2N1bWVudFdlYi5nZXQoKSwgMCwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X3RydWUo
QVRTUElfSVNfSU1BR0UoaW1nLmdldCgpKSk7CisgICAgR1VuaXF1ZVB0cjxBdHNwaVJlY3Q+IHJl
Y3QoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX2V4dGVudHMoQVRTUElfSU1BR0UoaW1nLmdldCgpKSwg
QVRTUElfQ09PUkRfVFlQRV9XSU5ET1csIG51bGxwdHIpKTsKKyAgICBnX2Fzc2VydF9ub25udWxs
KHJlY3QuZ2V0KCkpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eCwgPT0sIDEpOworICAg
IGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eSwgPT0sIDEpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQo
cmVjdC0+d2lkdGgsID09LCA1KTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHJlY3QtPmhlaWdodCwg
PT0sIDUpOworICAgIEdVbmlxdWVQdHI8QXRzcGlQb2ludD4gcG9pbnQoYXRzcGlfaW1hZ2VfZ2V0
X2ltYWdlX3Bvc2l0aW9uKEFUU1BJX0lNQUdFKGltZy5nZXQoKSksIEFUU1BJX0NPT1JEX1RZUEVf
V0lORE9XLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfbm9ubnVsbChwb2ludC5nZXQoKSk7Cisg
ICAgZ19hc3NlcnRfY21wdWludChyZWN0LT54LCA9PSwgcG9pbnQtPngpOworICAgIGdfYXNzZXJ0
X2NtcHVpbnQocmVjdC0+eSwgPT0sIHBvaW50LT55KTsKKyAgICBHVW5pcXVlUHRyPEF0c3BpUG9p
bnQ+IHNpemUoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX3NpemUoQVRTUElfSU1BR0UoaW1nLmdldCgp
KSwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X25vbm51bGwoc2l6ZS5nZXQoKSk7CisgICAgZ19h
c3NlcnRfY21wdWludChzaXplLT54LCA9PSwgcmVjdC0+d2lkdGgpOworICAgIGdfYXNzZXJ0X2Nt
cHVpbnQoc2l6ZS0+eSwgPT0sIHJlY3QtPmhlaWdodCk7CisKKyAgICBHVW5pcXVlUHRyPGNoYXI+
IGRlc2NyaXB0aW9uKGF0c3BpX2ltYWdlX2dldF9pbWFnZV9kZXNjcmlwdGlvbihBVFNQSV9JTUFH
RShpbWcuZ2V0KCkpLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfY21wc3RyKGRlc2NyaXB0aW9u
LmdldCgpLCA9PSwgIlRoaXMgaXMgYSBibGFuayBpY29uIik7CisjaWYgVVNFKEFUU1BJKQorICAg
IEdVbmlxdWVQdHI8Y2hhcj4gbG9jYWxlKGF0c3BpX2ltYWdlX2dldF9pbWFnZV9sb2NhbGUoQVRT
UElfSU1BR0UoaW1nLmdldCgpKSwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X2NtcHN0cihsb2Nh
bGUuZ2V0KCksID09LCAiZW4iKTsKKyNlbmRpZgorfQorCiB2b2lkIGJlZm9yZUFsbCgpCiB7CiAg
ICAgQWNjZXNzaWJpbGl0eVRlc3Q6OmFkZCgiV2ViS2l0QWNjZXNzaWJpbGl0eSIsICJhY2Nlc3Np
YmxlL2Jhc2ljLWhpZXJhcmNoeSIsIHRlc3RBY2Nlc3NpYmxlQmFzaWNIaWVyYXJjaHkpOwpAQCAt
MjAyMiw2ICsyMDY3LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIEFjY2Vzc2liaWxpdHlUZXN0
OjphZGQoIldlYktpdEFjY2Vzc2liaWxpdHkiLCAiaHlwZXJ0ZXh0L2Jhc2ljIiwgdGVzdEh5cGVy
dGV4dEJhc2ljKTsKICAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6YWRkKCJXZWJLaXRBY2Nlc3NpYmls
aXR5IiwgImFjdGlvbi9iYXNpYyIsIHRlc3RBY3Rpb25CYXNpYyk7CiAgICAgQWNjZXNzaWJpbGl0
eVRlc3Q6OmFkZCgiV2ViS2l0QWNjZXNzaWJpbGl0eSIsICJkb2N1bWVudC9iYXNpYyIsIHRlc3RE
b2N1bWVudEJhc2ljKTsKKyAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6YWRkKCJXZWJLaXRBY2Nlc3Np
YmlsaXR5IiwgImltYWdlL2Jhc2ljIiwgdGVzdEltYWdlQmFzaWMpOwogfQogCiB2b2lkIGFmdGVy
QWxsKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444815</attachid>
            <date>2021-11-19 06:51:57 -0800</date>
            <delta_ts>2021-11-19 07:21:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atspi-image.diff</filename>
            <type>text/plain</type>
            <size>13344</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MDQ4ZTNlYTkwZmUuLmM3YmQ1NjExYmE0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24gb2Yg
aW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmludGVyZmFjZXNGb3JP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpwYXRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6YnVpbGRJbnRl
cmZhY2VzIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEltYWdlQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaTo6aW1hZ2VEZXNjcmlwdGlvbiBjb25zdCk6CisKIDIwMjEtMTEt
MDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW2ExMXldIEFkZCBpbXBsZW1lbnRhdGlvbiBvZiBkb2N1bWVudCBpbnRlcmZhY2Ugd2hl
biBidWlsZGluZyB3aXRoIEFUU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
R1RLLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CmluZGV4IDBiNDkwODgzNzhh
Mi4uNzdhNzEyNTY1MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzR1RLLnR4dApAQCAtNDYsNiArNDYsNyBAQCBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RDb21wb25lbnRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdERvY3VtZW50QXRzcGkuY3Bw
CiBhY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RIeXBlcmxpbmtBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEh5cGVydGV4dEF0c3Bp
LmNwcAorYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5j
cHAKIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFRleHRBdHNwaS5jcHAK
IGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFZhbHVlQXRzcGkuY3BwCiBh
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlSb290QXRzcGkuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5jcHAKaW5kZXggODk4NmE1OTJjNWY2Li5iM2RlN2E4YTMzMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKQEAgLTk0LDYgKzk0LDkgQEAgT3B0aW9uU2V0PEFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6SW50ZXJmYWNlPiBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGk6OmludGVyZmEKICAgICBpZiAoY29yZU9iamVjdC5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmls
aXR5Um9sZTo6V2ViQXJlYSkKICAgICAgICAgaW50ZXJmYWNlcy5hZGQoSW50ZXJmYWNlOjpEb2N1
bWVudCk7CiAKKyAgICBpZiAoY29yZU9iamVjdC5pc0ltYWdlKCkpCisgICAgICAgIGludGVyZmFj
ZXMuYWRkKEludGVyZmFjZTo6SW1hZ2UpOworCiAgICAgcmV0dXJuIGludGVyZmFjZXM7CiB9CiAK
QEAgLTQ5MCw2ICs0OTMsOCBAQCBjb25zdCBTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNw
aTo6cGF0aCgpCiAgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8R0RC
dXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9hY3Rpb25faW50ZXJmYWNlKSwgJnNfYWN0aW9uRnVu
Y3Rpb25zIH0pOwogICAgICAgICBpZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6
RG9jdW1lbnQpKQogICAgICAgICAgICAgaW50ZXJmYWNlcy5hcHBlbmQoeyBjb25zdF9jYXN0PEdE
QnVzSW50ZXJmYWNlSW5mbyo+KCZ3ZWJraXRfZG9jdW1lbnRfaW50ZXJmYWNlKSwgJnNfZG9jdW1l
bnRGdW5jdGlvbnMgfSk7CisgICAgICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJm
YWNlOjpJbWFnZSkpCisgICAgICAgICAgICBpbnRlcmZhY2VzLmFwcGVuZCh7IGNvbnN0X2Nhc3Q8
R0RCdXNJbnRlcmZhY2VJbmZvKj4oJndlYmtpdF9pbWFnZV9pbnRlcmZhY2UpLCAmc19pbWFnZUZ1
bmN0aW9ucyB9KTsKICAgICAgICAgbV9wYXRoID0gYXRzcGlSb290LT5hdHNwaSgpLnJlZ2lzdGVy
T2JqZWN0KCp0aGlzLCBXVEZNb3ZlKGludGVyZmFjZXMpKTsKICAgICB9CiAKQEAgLTExMzIsNiAr
MTEzNyw4IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpidWlsZEludGVyZmFjZXMo
R1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdAogICAgICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfYWN0aW9uX2ludGVyZmFjZS5uYW1lKTsKICAgICBp
ZiAobV9pbnRlcmZhY2VzLmNvbnRhaW5zKEludGVyZmFjZTo6RG9jdW1lbnQpKQogICAgICAgICBn
X3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwgInMiLCB3ZWJraXRfZG9jdW1lbnRfaW50ZXJm
YWNlLm5hbWUpOworICAgIGlmIChtX2ludGVyZmFjZXMuY29udGFpbnMoSW50ZXJmYWNlOjpJbWFn
ZSkpCisgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChidWlsZGVyLCAicyIsIHdlYmtpdF9p
bWFnZV9pbnRlcmZhY2UubmFtZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3Bp
OjpzZXJpYWxpemUoR1ZhcmlhbnRCdWlsZGVyKiBidWlsZGVyKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmgKaW5kZXggNDhkNzQwMWJhMDI1Li43NzY1MDM2MzMyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0
c3BpLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKICAgICB+
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OwogCi0gICAgZW51bSBjbGFzcyBJ
bnRlcmZhY2UgOiB1aW50OF90IHsKKyAgICBlbnVtIGNsYXNzIEludGVyZmFjZSA6IHVpbnQxNl90
IHsKICAgICAgICAgQWNjZXNzaWJsZSA9IDEgPDwgMCwKICAgICAgICAgQ29tcG9uZW50ID0gMSA8
PCAxLAogICAgICAgICBUZXh0ID0gMSA8PCAyLApAQCAtNTAsNyArNTAsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIEh5cGVybGluayA9IDEgPDwgNCwKICAgICAgICAgSHlwZXJ0ZXh0ID0gMSA8PCA1LAog
ICAgICAgICBBY3Rpb24gPSAxIDw8IDYsCi0gICAgICAgIERvY3VtZW50ID0gMSA8PCA3CisgICAg
ICAgIERvY3VtZW50ID0gMSA8PCA3LAorICAgICAgICBJbWFnZSA9IDEgPDwgOAogICAgIH07CiAg
ICAgY29uc3QgT3B0aW9uU2V0PEludGVyZmFjZT4mIGludGVyZmFjZXMoKSBjb25zdCB7IHJldHVy
biBtX2ludGVyZmFjZXM7IH0KIApAQCAtMTc1LDYgKzE3Niw4IEBAIHByaXZhdGU6CiAgICAgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZG9jdW1lbnRBdHRyaWJ1dGVzKCkgY29uc3Q7CiAgICAgU3Ry
aW5nIGRvY3VtZW50TG9jYWxlKCkgY29uc3Q7CiAKKyAgICBTdHJpbmcgaW1hZ2VEZXNjcmlwdGlv
bigpIGNvbnN0OworCiAgICAgc3RhdGljIE9wdGlvblNldDxJbnRlcmZhY2U+IGludGVyZmFjZXNG
b3JPYmplY3QoQVhDb3JlT2JqZWN0Jik7CiAKICAgICBzdGF0aWMgR0RCdXNJbnRlcmZhY2VWVGFi
bGUgc19hY2Nlc3NpYmxlRnVuY3Rpb25zOwpAQCAtMTg1LDYgKzE4OCw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIEdEQnVzSW50ZXJmYWNlVlRhYmxlIHNfaHlwZXJ0ZXh0RnVuY3Rpb25zOwogICAg
IHN0YXRpYyBHREJ1c0ludGVyZmFjZVZUYWJsZSBzX2FjdGlvbkZ1bmN0aW9uczsKICAgICBzdGF0
aWMgR0RCdXNJbnRlcmZhY2VWVGFibGUgc19kb2N1bWVudEZ1bmN0aW9uczsKKyAgICBzdGF0aWMg
R0RCdXNJbnRlcmZhY2VWVGFibGUgc19pbWFnZUZ1bmN0aW9uczsKIAogICAgIEFYQ29yZU9iamVj
dCogbV9heE9iamVjdCB7IG51bGxwdHIgfTsKICAgICBBWENvcmVPYmplY3QqIG1fY29yZU9iamVj
dCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEltYWdlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW1hZ2VBdHNwaS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lNzNhODBjOTg2ZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RJbWFnZUF0c3BpLmNwcApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUF0c3BpRW51bXMuaCIKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0dEQnVzSW50ZXJmYWNlVlRhYmxlIEFjY2Vzc2liaWxpdHlP
YmplY3RBdHNwaTo6c19pbWFnZUZ1bmN0aW9ucyA9IHsKKyAgICAvLyBtZXRob2RfY2FsbAorICAg
IFtdKEdEQnVzQ29ubmVjdGlvbiosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2NoYXIqLCBjb25zdCBn
Y2hhciosIGNvbnN0IGdjaGFyKiBtZXRob2ROYW1lLCBHVmFyaWFudCogcGFyYW1ldGVycywgR0RC
dXNNZXRob2RJbnZvY2F0aW9uKiBpbnZvY2F0aW9uLCBncG9pbnRlciB1c2VyRGF0YSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgICAgICBhdXRvIGF0c3Bp
T2JqZWN0ID0gUmVmIHsgKnN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KHVz
ZXJEYXRhKSB9OworICAgICAgICBhdHNwaU9iamVjdC0+dXBkYXRlQmFja2luZ1N0b3JlKCk7CisK
KyAgICAgICAgaWYgKCFnX3N0cmNtcDAobWV0aG9kTmFtZSwgIkdldEltYWdlRXh0ZW50cyIpKSB7
CisgICAgICAgICAgICB1aW50MzJfdCBjb29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFy
aWFudF9nZXQocGFyYW1ldGVycywgIih1KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAg
ICBhdXRvIHJlY3QgPSBhdHNwaU9iamVjdC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOwor
ICAgICAgICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0
aW9uLCBnX3ZhcmlhbnRfbmV3KCIoKGlpaWkpKSIsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53
aWR0aCgpLCByZWN0LmhlaWdodCgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VQb3NpdGlvbiIpKSB7CisgICAgICAgICAgICB1aW50MzJfdCBj
b29yZGluYXRlVHlwZTsKKyAgICAgICAgICAgIGdfdmFyaWFudF9nZXQocGFyYW1ldGVycywgIih1
KSIsICZjb29yZGluYXRlVHlwZSk7CisgICAgICAgICAgICBhdXRvIHJlY3QgPSBhdHNwaU9iamVj
dC0+ZWxlbWVudFJlY3QoY29vcmRpbmF0ZVR5cGUpOworICAgICAgICAgICAgZ19kYnVzX21ldGhv
ZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3KCIoaWkp
IiwgcmVjdC54KCksIHJlY3QueSgpKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCht
ZXRob2ROYW1lLCAiR2V0SW1hZ2VTaXplIikpIHsKKyAgICAgICAgICAgIGF1dG8gcmVjdCA9IGF0
c3BpT2JqZWN0LT5lbGVtZW50UmVjdChBdHNwaTo6Q29vcmRpbmF0ZVR5cGU6OlBhcmVudENvb3Jk
aW5hdGVzKTsKKyAgICAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fdmFs
dWUoaW52b2NhdGlvbiwgZ192YXJpYW50X25ldygiKGlpKSIsIHJlY3Qud2lkdGgoKSwgcmVjdC5o
ZWlnaHQoKSkpOworICAgICAgICB9CisgICAgfSwKKyAgICAvLyBnZXRfcHJvcGVydHkKKyAgICBb
XShHREJ1c0Nvbm5lY3Rpb24qLCBjb25zdCBnY2hhciosIGNvbnN0IGdjaGFyKiwgY29uc3QgZ2No
YXIqLCBjb25zdCBnY2hhciogcHJvcGVydHlOYW1lLCBHRXJyb3IqKiBlcnJvciwgZ3BvaW50ZXIg
dXNlckRhdGEpIC0+IEdWYXJpYW50KiB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5U
aHJlYWQoKSk7CisgICAgICAgIGF1dG8gYXRzcGlPYmplY3QgPSBSZWYgeyAqc3RhdGljX2Nhc3Q8
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4odXNlckRhdGEpIH07CisgICAgICAgIGF0c3BpT2Jq
ZWN0LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKKworICAgICAgICBpZiAoIWdfc3RyY21wMChwcm9w
ZXJ0eU5hbWUsICJJbWFnZURlc2NyaXB0aW9uIikpCisgICAgICAgICAgICByZXR1cm4gZ192YXJp
YW50X25ld19zdHJpbmcoYXRzcGlPYmplY3QtPmltYWdlRGVzY3JpcHRpb24oKS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAocHJvcGVydHlOYW1lLCAiSW1hZ2VMb2NhbGUi
KSkKKyAgICAgICAgICAgIHJldHVybiBnX3ZhcmlhbnRfbmV3X3N0cmluZyhhdHNwaU9iamVjdC0+
bG9jYWxlKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgZ19zZXRfZXJyb3IoZXJyb3IsIEdf
SU9fRVJST1IsIEdfSU9fRVJST1JfTk9UX1NVUFBPUlRFRCwgIlVua25vd24gcHJvcGVydHkgJyVz
JyIsIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0sCisgICAg
Ly8gc2V0X3Byb3BlcnR5LAorICAgIG51bGxwdHIsCisgICAgLy8gcGFkZGluZworICAgIG51bGxw
dHIKK307CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmltYWdlRGVzY3JpcHRp
b24oKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAg
aWYgKCFtX2F4T2JqZWN0KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CisgICAgbV9heE9iamVjdC0+YWNjZXNzaWJpbGl0eVRl
eHQodGV4dE9yZGVyKTsKKworICAgIGJvb2wgdmlzaWJsZVRleHRBdmFpbGFibGUgPSBmYWxzZTsK
KyAgICBmb3IgKGNvbnN0IEFjY2Vzc2liaWxpdHlUZXh0JiB0ZXh0IDogdGV4dE9yZGVyKSB7Cisg
ICAgICAgIGlmICh0ZXh0LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OkFs
dGVybmF0aXZlKQorICAgICAgICAgICAgcmV0dXJuIHRleHQudGV4dDsKKworICAgICAgICBzd2l0
Y2ggKHRleHQudGV4dFNvdXJjZSkgeworICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291
cmNlOjpWaXNpYmxlOgorICAgICAgICBjYXNlIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpDaGls
ZHJlbjoKKyAgICAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZTo6TGFiZWxCeUVsZW1l
bnQ6CisgICAgICAgICAgICB2aXNpYmxlVGV4dEF2YWlsYWJsZSA9IHRydWU7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0ZXh0
LnRleHRTb3VyY2UgPT0gQWNjZXNzaWJpbGl0eVRleHRTb3VyY2U6OlRpdGxlVGFnICYmICF2aXNp
YmxlVGV4dEF2YWlsYWJsZSkKKyAgICAgICAgICAgIHJldHVybiB0ZXh0LnRleHQ7CisgICAgfQor
CisgICAgcmV0dXJuIHsgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZDdjODZmOTY4MGIuLjg2MWVkYWZh
YjRhMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTExLTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1wbGVtZW50YXRpb24g
b2YgaW1hZ2UgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNzgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHVuaXQgdGVzdHMgZm9yIHRo
ZSBpbWFnZSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dEd0ay9UZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHA6CisgICAgICAgICh0ZXN0SW1hZ2VCYXNp
Yyk6CisgICAgICAgIChiZWZvcmVBbGwpOgorCiAyMDIxLTExLTA1ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVthMTF5XSBBZGQgaW1w
bGVtZW50YXRpb24gb2YgZG9jdW1lbnQgaW50ZXJmYWNlIHdoZW4gYnVpbGRpbmcgd2l0aCBBVFNQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdFdl
YktpdEFjY2Vzc2liaWxpdHkuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
dGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCmluZGV4IDg4ZWRiZmNhZTI3Ni4uZjI1MDZm
MGJjNjQ4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9U
ZXN0V2ViS2l0QWNjZXNzaWJpbGl0eS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHdGsvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkuY3BwCkBAIC0xOTk3LDYgKzE5OTcs
NTEgQEAgc3RhdGljIHZvaWQgdGVzdERvY3VtZW50QmFzaWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiAjZW5kaWYKIH0KIAorc3RhdGljIHZvaWQgdGVzdEltYWdlQmFz
aWMoQWNjZXNzaWJpbGl0eVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgdGVzdC0+
c2hvd0luV2luZG93KDgwMCwgNjAwKTsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGJhc2VEaXIoZ19z
dHJkdXBfcHJpbnRmKCJmaWxlOi8vJXMvIiwgVGVzdDo6Z2V0UmVzb3VyY2VzRGlyKCkuZGF0YSgp
KSk7CisgICAgdGVzdC0+bG9hZEh0bWwoCisgICAgICAgICI8aHRtbD4iCisgICAgICAgICIgIDxi
b2R5PiIKKyAgICAgICAgIiAgICA8aW1nIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDox
OyB0b3A6MScgc3JjPSdibGFuay5pY28nIHdpZHRoPTUgaGVpZ2h0PTUgYWx0PSdUaGlzIGlzIGEg
YmxhbmsgaWNvbicgbGFuZz0nZW4nPjwvaW1nPiIKKyAgICAgICAgIiAgPC9ib2R5PiIKKyAgICAg
ICAgIjwvaHRtbD4iLAorICAgICAgICBiYXNlRGlyLmdldCgpKTsKKyAgICB0ZXN0LT53YWl0VW50
aWxMb2FkRmluaXNoZWQoKTsKKworICAgIGF1dG8gdGVzdEFwcCA9IHRlc3QtPmZpbmRUZXN0QXBw
bGljYXRpb24oKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUodGVzdEFw
cC5nZXQoKSkpOworCisgICAgYXV0byBkb2N1bWVudFdlYiA9IHRlc3QtPmZpbmREb2N1bWVudFdl
Yih0ZXN0QXBwLmdldCgpKTsKKyAgICBnX2Fzc2VydF90cnVlKEFUU1BJX0lTX0FDQ0VTU0lCTEUo
ZG9jdW1lbnRXZWIuZ2V0KCkpKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRzcGlfYWNjZXNzaWJs
ZV9nZXRfY2hpbGRfY291bnQoZG9jdW1lbnRXZWIuZ2V0KCksIG51bGxwdHIpLCA9PSwgMSk7CisK
KyAgICBhdXRvIGltZyA9IGFkb3B0R1JlZihhdHNwaV9hY2Nlc3NpYmxlX2dldF9jaGlsZF9hdF9p
bmRleChkb2N1bWVudFdlYi5nZXQoKSwgMCwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X3RydWUo
QVRTUElfSVNfSU1BR0UoaW1nLmdldCgpKSk7CisgICAgR1VuaXF1ZVB0cjxBdHNwaVJlY3Q+IHJl
Y3QoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX2V4dGVudHMoQVRTUElfSU1BR0UoaW1nLmdldCgpKSwg
QVRTUElfQ09PUkRfVFlQRV9XSU5ET1csIG51bGxwdHIpKTsKKyAgICBnX2Fzc2VydF9ub25udWxs
KHJlY3QuZ2V0KCkpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eCwgPT0sIDEpOworICAg
IGdfYXNzZXJ0X2NtcHVpbnQocmVjdC0+eSwgPT0sIDEpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQo
cmVjdC0+d2lkdGgsID09LCA1KTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHJlY3QtPmhlaWdodCwg
PT0sIDUpOworICAgIEdVbmlxdWVQdHI8QXRzcGlQb2ludD4gcG9pbnQoYXRzcGlfaW1hZ2VfZ2V0
X2ltYWdlX3Bvc2l0aW9uKEFUU1BJX0lNQUdFKGltZy5nZXQoKSksIEFUU1BJX0NPT1JEX1RZUEVf
V0lORE9XLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfbm9ubnVsbChwb2ludC5nZXQoKSk7Cisg
ICAgZ19hc3NlcnRfY21wdWludChyZWN0LT54LCA9PSwgcG9pbnQtPngpOworICAgIGdfYXNzZXJ0
X2NtcHVpbnQocmVjdC0+eSwgPT0sIHBvaW50LT55KTsKKyAgICBHVW5pcXVlUHRyPEF0c3BpUG9p
bnQ+IHNpemUoYXRzcGlfaW1hZ2VfZ2V0X2ltYWdlX3NpemUoQVRTUElfSU1BR0UoaW1nLmdldCgp
KSwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X25vbm51bGwoc2l6ZS5nZXQoKSk7CisgICAgZ19h
c3NlcnRfY21wdWludChzaXplLT54LCA9PSwgcmVjdC0+d2lkdGgpOworICAgIGdfYXNzZXJ0X2Nt
cHVpbnQoc2l6ZS0+eSwgPT0sIHJlY3QtPmhlaWdodCk7CisKKyAgICBHVW5pcXVlUHRyPGNoYXI+
IGRlc2NyaXB0aW9uKGF0c3BpX2ltYWdlX2dldF9pbWFnZV9kZXNjcmlwdGlvbihBVFNQSV9JTUFH
RShpbWcuZ2V0KCkpLCBudWxscHRyKSk7CisgICAgZ19hc3NlcnRfY21wc3RyKGRlc2NyaXB0aW9u
LmdldCgpLCA9PSwgIlRoaXMgaXMgYSBibGFuayBpY29uIik7CisjaWYgVVNFKEFUU1BJKQorICAg
IEdVbmlxdWVQdHI8Y2hhcj4gbG9jYWxlKGF0c3BpX2ltYWdlX2dldF9pbWFnZV9sb2NhbGUoQVRT
UElfSU1BR0UoaW1nLmdldCgpKSwgbnVsbHB0cikpOworICAgIGdfYXNzZXJ0X2NtcHN0cihsb2Nh
bGUuZ2V0KCksID09LCAiZW4iKTsKKyNlbmRpZgorfQorCiB2b2lkIGJlZm9yZUFsbCgpCiB7CiAg
ICAgQWNjZXNzaWJpbGl0eVRlc3Q6OmFkZCgiV2ViS2l0QWNjZXNzaWJpbGl0eSIsICJhY2Nlc3Np
YmxlL2Jhc2ljLWhpZXJhcmNoeSIsIHRlc3RBY2Nlc3NpYmxlQmFzaWNIaWVyYXJjaHkpOwpAQCAt
MjAyMiw2ICsyMDY3LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIEFjY2Vzc2liaWxpdHlUZXN0
OjphZGQoIldlYktpdEFjY2Vzc2liaWxpdHkiLCAiaHlwZXJ0ZXh0L2Jhc2ljIiwgdGVzdEh5cGVy
dGV4dEJhc2ljKTsKICAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6YWRkKCJXZWJLaXRBY2Nlc3NpYmls
aXR5IiwgImFjdGlvbi9iYXNpYyIsIHRlc3RBY3Rpb25CYXNpYyk7CiAgICAgQWNjZXNzaWJpbGl0
eVRlc3Q6OmFkZCgiV2ViS2l0QWNjZXNzaWJpbGl0eSIsICJkb2N1bWVudC9iYXNpYyIsIHRlc3RE
b2N1bWVudEJhc2ljKTsKKyAgICBBY2Nlc3NpYmlsaXR5VGVzdDo6YWRkKCJXZWJLaXRBY2Nlc3Np
YmlsaXR5IiwgImltYWdlL2Jhc2ljIiwgdGVzdEltYWdlQmFzaWMpOwogfQogCiB2b2lkIGFmdGVy
QWxsKCkK
</data>
<flag name="review"
          id="469927"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>