<?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>88426</bug_id>
          
          <creation_ts>2012-06-06 09:56:42 -0700</creation_ts>
          <short_desc>[GTK] Add API to get the library version to WebKit2 GTK+</short_desc>
          <delta_ts>2012-06-08 09:38:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>642559</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-06-06 09:56:42 -0700</bug_when>
    <thetext>WEBKIT_[MAJOR|MINOR|MICRO]_VERSION macros and webkit_get_[major|minor|micro]_version functions. And WEBKIT_CHECK_VERSION macro too would be useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642565</commentid>
    <comment_count>1</comment_count>
      <attachid>146052</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-06-06 10:02:37 -0700</bug_when>
    <thetext>Created attachment 146052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642567</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 10:05:44 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642608</commentid>
    <comment_count>3</comment_count>
      <attachid>146052</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-06 10:57:11 -0700</bug_when>
    <thetext>Comment on attachment 146052
Patch

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

&gt; Source/WebKit2/GNUmakefile.am:12
&gt; +	$(webkit2gtk_h_api) \
&gt; +	$(webkit2gtk_built_h_api)

I&apos;m fairly certain that you don&apos;t want to list webkit2gtk_built_h_api here, as they are already listed on a previous primary. This may even cause them to be distributed when running make dist. Removing them here would allow you do remove webkit2gtk_built_h_api entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644434</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-06-08 00:47:25 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 146052 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146052&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/GNUmakefile.am:12
&gt; &gt; +	$(webkit2gtk_h_api) \
&gt; &gt; +	$(webkit2gtk_built_h_api)
&gt; 
&gt; I&apos;m fairly certain that you don&apos;t want to list webkit2gtk_built_h_api here, as they are already listed on a previous primary. This may even cause them to be distributed when running make dist. Removing them here would allow you do remove webkit2gtk_built_h_api entirely.

Absolutely right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644435</commentid>
    <comment_count>5</comment_count>
      <attachid>146500</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-06-08 00:50:53 -0700</bug_when>
    <thetext>Created attachment 146500
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644745</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-06-08 09:38:08 -0700</bug_when>
    <thetext>Committed r119837: &lt;http://trac.webkit.org/changeset/119837&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146052</attachid>
            <date>2012-06-06 10:02:37 -0700</date>
            <delta_ts>2012-06-08 00:50:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-version.diff</filename>
            <type>text/plain</type>
            <size>17854</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0YTEyYTIwLi43ZjA4NmJj
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTItMDYtMDYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24gdG8gV2Vi
S2l0MiBHVEsrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04ODQyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogY29uZmlndXJlLmFjOiBHZW5lcmF0ZSBXZWJL
aXRWZXJzaW9uLmggZnJvbSBXZWJLaXRWZXJzaW9uLmguaW4gZmlsZS4KKwogMjAxMi0wNi0wNSAg
RGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhICA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51
az4KIAogICAgICAgICBbR1RLXSBzaG93IHRoZSBmZWF0dXJlIGxpc3QgaW4gYWxwaGFiZXRpY2Fs
IG9yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjg5NDVhYy4uZjMxM2IyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDEyLTA2LTA2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXSBBZGQgQVBJIHRvIGdldCB0aGUgbGlicmFyeSB2ZXJz
aW9uIHRvIFdlYktpdDIgR1RLKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODg0MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VmVyc2lvbi5jcHA6IEFkZGVk
LgorICAgICAgICAod2Via2l0X2dldF9tYWpvcl92ZXJzaW9uKToKKyAgICAgICAgKHdlYmtpdF9n
ZXRfbWlub3JfdmVyc2lvbik6CisgICAgICAgICh3ZWJraXRfZ2V0X21pY3JvX3ZlcnNpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uaC5pbjogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbDogQWRk
IG5ldyBzeW1ib2xzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay1zZWN0aW9ucy50eHQ6IEFkZCBuZXcgc2VjdGlvbgorICAgICAgICBmb3IgV2ViS2l0VmVyc2lv
bi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9HTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0VmVyc2lvbi5jcHA6IEFk
ZGVkLgorICAgICAgICAodGVzdFdlYktpdFZlcnNpb24pOgorICAgICAgICAodGVzdFdlYktpdENo
ZWNrVmVyc2lvbik6CisgICAgICAgIChiZWZvcmVBbGwpOgorICAgICAgICAoYWZ0ZXJBbGwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaDogSW5jbHVkZSBXZWJLaXRWZXJz
aW9uLmguCisKIDIwMTItMDYtMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViUGFnZTo6d2luZG93SXNWaXNpYmxlIGlzIGluY29ycmVjdCBkdXJp
bmcgcmVzdW1lUGFpbnRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA1NDI4ODBlLi45OTBkMjlhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDYtMDYgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
IEFkZCBBUEkgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24gdG8gV2ViS2l0MiBHVEsrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQyNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ3RrL2dlbmVyYXRl
LWd0a2RvYzoKKyAgICAgICAgKGdldF93ZWJraXQyX29wdGlvbnMpOiBBZGQgYnVpbHQgc291cmNl
cyB0byB0aGUgbGlzdCBvZiBmaWxlcywgYnV0CisgICAgICAgIGlnbm9yZSBlbnVtIHR5cGVzIGFu
ZCBtYXJzaGFsbGVycy4KKwogMjAxMi0wNi0wNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+
CiAKICAgICAgICAgQnVpbGRib3QgZml4LgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9H
TlVtYWtlZmlsZS5hbQppbmRleCBjNGY4Mjk3Li5lZmIxNGU1IDEwMDY0NAotLS0gYS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtODcsNiArODcsNyBAQCB3ZWJraXQyX2hf
YXBpIDo9CiB3ZWJraXQyX3NvdXJjZXMgOj0KIHdlYmtpdDJfYnVpbHRfc291cmNlcyA6PQogd2Vi
a2l0Mmd0a19oX2FwaSA6PQord2Via2l0Mmd0a19idWlsdF9oX2FwaSA6PQogd2Via2l0Mmd0a19i
dWlsdF9zb3VyY2VzIDo9CiB3ZWJraXQyX3BsdWdpbl9wcm9jZXNzX3NvdXJjZXMgOj0KIHdlYmtp
dDJfcGx1Z2luX3Byb2Nlc3NfYnVpbHRfc291cmNlcyA6PQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRl
eCBkZjM1Yzg3Li5kZjg5ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNSwxMCArNSwxMSBA
QCBsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtf
QVBJX01JTk9SX1ZFUlNJT05AX2xhX0hFQQogCiBsaWJ3ZWJraXQyZ3RraW5jbHVkZWRpciA9ICQo
bGlid2Via2l0Z3RraW5jbHVkZWRpcikvd2Via2l0Mgogbm9kaXN0X2xpYndlYmtpdDJndGtpbmNs
dWRlX0hFQURFUlMgPSBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi93ZWJraXQyZ3RrL3dlYmtp
dDIvV2ViS2l0RW51bVR5cGVzLmgKKwkkKHdlYmtpdDJndGtfYnVpbHRfaF9hcGkpCiAKIGxpYndl
YmtpdDJndGtpbmNsdWRlX0hFQURFUlMgPSBcCi0JJCh3ZWJraXQyZ3RrX2hfYXBpKQorCSQod2Vi
a2l0Mmd0a19oX2FwaSkgXAorCSQod2Via2l0Mmd0a19idWlsdF9oX2FwaSkKIAogbm9kaXN0X2xp
YndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElf
TUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKIAkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZTM0NWQ5Mi4uNWM1ZDBiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTcsNiArMTE3LDEwIEBAIHdlYmtpdDJn
dGtfaF9hcGkgKz0gXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2luZG93
UHJvcGVydGllcy5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaAog
Cit3ZWJraXQyZ3RrX2J1aWx0X2hfYXBpICs9IFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL3dl
YmtpdDJndGsvd2Via2l0Mi9XZWJLaXRFbnVtVHlwZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi93ZWJraXQyZ3RrL3dlYmtpdDIvV2ViS2l0VmVyc2lvbi5oCisKIHdlYmtpdDJfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggXApAQCAtMjA3LDcgKzIxMSw4IEBAIHdlYmtpdDJndGtf
YnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi93ZWJraXQyZ3RrL3dl
YmtpdDIvV2ViS2l0RW51bVR5cGVzLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi93ZWJr
aXQyZ3RrL3dlYmtpdDIvV2ViS2l0RW51bVR5cGVzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvd2Via2l0Mmd0ay93ZWJraXQyL1dlYktpdE1hcnNoYWwuY3BwIFwKLQlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRNYXJzaGFsLmgKKwlEZXJpdmVkU291
cmNlcy9XZWJLaXQyL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRNYXJzaGFsLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93ZWJraXQyL1dlYktpdFZlcnNpb24uaAogCiB3
ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL2NvbmZpZy5oIFwKQEAgLTY0MSw2
ICs2NDYsNyBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlLmggXAorCVNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0UHJpdmF0ZS5oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VmVyc2lvbi5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVmNjJlMwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwCkBAIC0wLDAg
KzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdFZlcnNpb24uaCIKKworLyoqCisgKiB3ZWJraXRf
Z2V0X21ham9yX3ZlcnNpb246CisgKgorICogUmV0dXJucyB0aGUgbWFqb3IgdmVyc2lvbiBudW1i
ZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5LgorICogKGUuZy4gaW4gV2ViS2l0IHZlcnNpb24gMS44
LjMgdGhpcyBpcyAxLikKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGluIHRoZSBsaWJyYXJ5LCBz
byBpdCByZXByZXNlbnRzIHRoZSBXZWJLaXQgbGlicmFyeQorICogeW91ciBjb2RlIGlzIHJ1bm5p
bmcgYWdhaW5zdC4gQ29udHJhc3Qgd2l0aCB0aGUgI1dFQktJVF9NQUpPUl9WRVJTSU9OCisgKiBt
YWNybywgd2hpY2ggcmVwcmVzZW50cyB0aGUgbWFqb3IgdmVyc2lvbiBvZiB0aGUgV2ViS2l0IGhl
YWRlcnMgeW91CisgKiBoYXZlIGluY2x1ZGVkIHdoZW4gY29tcGlsaW5nIHlvdXIgY29kZS4KKyAq
CisgKiBSZXR1cm5zOiB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJy
YXJ5CisgKi8KK2d1aW50IHdlYmtpdF9nZXRfbWFqb3JfdmVyc2lvbih2b2lkKQoreworICAgIHJl
dHVybiBXRUJLSVRfTUFKT1JfVkVSU0lPTjsKK30KKworLyoqCisgKiB3ZWJraXRfZ2V0X21pbm9y
X3ZlcnNpb246CisgKgorICogUmV0dXJucyB0aGUgbWlub3IgdmVyc2lvbiBudW1iZXIgb2YgdGhl
IFdlYktpdCBsaWJyYXJ5LgorICogKGUuZy4gaW4gV2ViS2l0IHZlcnNpb24gMS44LjMgdGhpcyBp
cyA4LikKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGluIHRoZSBsaWJyYXJ5LCBzbyBpdCByZXBy
ZXNlbnRzIHRoZSBXZWJLaXQgbGlicmFyeQorICogeW91ciBjb2RlIGlzIHJ1bm5pbmcgYWdhaW5z
dC4gQ29udHJhc3Qgd2l0aCB0aGUgI1dFQktJVF9NSU5PUl9WRVJTSU9OCisgKiBtYWNybywgd2hp
Y2ggcmVwcmVzZW50cyB0aGUgbWlub3IgdmVyc2lvbiBvZiB0aGUgV2ViS2l0IGhlYWRlcnMgeW91
CisgKiBoYXZlIGluY2x1ZGVkIHdoZW4gY29tcGlsaW5nIHlvdXIgY29kZS4KKyAqCisgKiBSZXR1
cm5zOiB0aGUgbWlub3IgdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5CisgKi8K
K2d1aW50IHdlYmtpdF9nZXRfbWlub3JfdmVyc2lvbih2b2lkKQoreworICAgIHJldHVybiBXRUJL
SVRfTUlOT1JfVkVSU0lPTjsKK30KKworLyoqCisgKiB3ZWJraXRfZ2V0X21pY3JvX3ZlcnNpb246
CisgKgorICogUmV0dXJucyB0aGUgbWljcm8gdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBs
aWJyYXJ5LgorICogKGUuZy4gaW4gV2ViS2l0IHZlcnNpb24gMS44LjMgdGhpcyBpcyAzLikKKyAq
CisgKiBUaGlzIGZ1bmN0aW9uIGlzIGluIHRoZSBsaWJyYXJ5LCBzbyBpdCByZXByZXNlbnRzIHRo
ZSBXZWJLaXQgbGlicmFyeQorICogeW91ciBjb2RlIGlzIHJ1bm5pbmcgYWdhaW5zdC4gQ29udHJh
c3Qgd2l0aCB0aGUgI1dFQktJVF9NSUNST19WRVJTSU9OCisgKiBtYWNybywgd2hpY2ggcmVwcmVz
ZW50cyB0aGUgbWljcm8gdmVyc2lvbiBvZiB0aGUgV2ViS2l0IGhlYWRlcnMgeW91CisgKiBoYXZl
IGluY2x1ZGVkIHdoZW4gY29tcGlsaW5nIHlvdXIgY29kZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUg
bWljcm8gdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5CisgKi8KK2d1aW50IHdl
YmtpdF9nZXRfbWljcm9fdmVyc2lvbih2b2lkKQoreworICAgIHJldHVybiBXRUJLSVRfTUlDUk9f
VkVSU0lPTjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFZlcnNpb24uaC5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFZlcnNpb24uaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWVm
NTE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VmVyc2lvbi5oLmluCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2lmICFkZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAmJiAh
ZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFUSU9OKQorI2Vycm9yICJPbmx5IDx3ZWJraXQyL3dlYmtp
dDIuaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdlYktp
dFZlcnNpb25faAorI2RlZmluZSBXZWJLaXRWZXJzaW9uX2gKKworI2luY2x1ZGUgPHdlYmtpdDIv
V2ViS2l0RGVmaW5lcy5oPgorCitHX0JFR0lOX0RFQ0xTCisKKy8qKgorICogV0VCS0lUX01BSk9S
X1ZFUlNJT046CisgKgorICogTGlrZSB3ZWJraXRfZ2V0X21ham9yX3ZlcnNpb24oKSwgYnV0IGZy
b20gdGhlIGhlYWRlcnMgdXNlZCBhdAorICogYXBwbGljYXRpb24gY29tcGlsZSB0aW1lLCByYXRo
ZXIgdGhhbiBmcm9tIHRoZSBsaWJyYXJ5IGxpbmtlZAorICogYWdhaW5zdCBhdCBhcHBsaWNhdGlv
biBydW4gdGltZS4KKyAqLworI2RlZmluZSBXRUJLSVRfTUFKT1JfVkVSU0lPTiAoQFdFQktJVF9N
QUpPUl9WRVJTSU9OQCkKKworLyoqCisgKiBXRUJLSVRfTUlOT1JfVkVSU0lPTjoKKyAqCisgKiBM
aWtlIHdlYmtpdF9nZXRfbWlub3JfdmVyc2lvbigpLCBidXQgZnJvbSB0aGUgaGVhZGVycyB1c2Vk
IGF0CisgKiBhcHBsaWNhdGlvbiBjb21waWxlIHRpbWUsIHJhdGhlciB0aGFuIGZyb20gdGhlIGxp
YnJhcnkgbGlua2VkCisgKiBhZ2FpbnN0IGF0IGFwcGxpY2F0aW9uIHJ1biB0aW1lLgorICovCisj
ZGVmaW5lIFdFQktJVF9NSU5PUl9WRVJTSU9OIChAV0VCS0lUX01JTk9SX1ZFUlNJT05AKQorCisv
KioKKyAqIFdFQktJVF9NSUNST19WRVJTSU9OOgorICoKKyAqIExpa2Ugd2Via2l0X2dldF9taWNy
b192ZXJzaW9uKCksIGJ1dCBmcm9tIHRoZSBoZWFkZXJzIHVzZWQgYXQKKyAqIGFwcGxpY2F0aW9u
IGNvbXBpbGUgdGltZSwgcmF0aGVyIHRoYW4gZnJvbSB0aGUgbGlicmFyeSBsaW5rZWQKKyAqIGFn
YWluc3QgYXQgYXBwbGljYXRpb24gcnVuIHRpbWUuCisgKi8KKyNkZWZpbmUgV0VCS0lUX01JQ1JP
X1ZFUlNJT04gKEBXRUJLSVRfTUlDUk9fVkVSU0lPTkApCisKKy8qKgorICogV0VCS0lUX0NIRUNL
X1ZFUlNJT046CisgKiBAbWFqb3I6IG1ham9yIHZlcnNpb24gKGUuZy4gMSBmb3IgdmVyc2lvbiAx
LjIuNSkKKyAqIEBtaW5vcjogbWlub3IgdmVyc2lvbiAoZS5nLiAyIGZvciB2ZXJzaW9uIDEuMi41
KQorICogQG1pY3JvOiBtaWNybyB2ZXJzaW9uIChlLmcuIDUgZm9yIHZlcnNpb24gMS4yLjUpCisg
KgorICogUmV0dXJuczogJVRSVUUgaWYgdGhlIHZlcnNpb24gb2YgdGhlIFdlYktpdCBoZWFkZXIg
ZmlsZXMKKyAqIGlzIHRoZSBzYW1lIGFzIG9yIG5ld2VyIHRoYW4gdGhlIHBhc3NlZC1pbiB2ZXJz
aW9uLgorICovCisjZGVmaW5lIFdFQktJVF9DSEVDS19WRVJTSU9OKG1ham9yLCBtaW5vciwgbWlj
cm8pIFwKKyAgICAoV0VCS0lUX01BSk9SX1ZFUlNJT04gPiAobWFqb3IpIHx8IFwKKyAgICAoV0VC
S0lUX01BSk9SX1ZFUlNJT04gPT0gKG1ham9yKSAmJiBXRUJLSVRfTUlOT1JfVkVSU0lPTiA+ICht
aW5vcikpIHx8IFwKKyAgICAoV0VCS0lUX01BSk9SX1ZFUlNJT04gPT0gKG1ham9yKSAmJiBXRUJL
SVRfTUlOT1JfVkVSU0lPTiA9PSAobWlub3IpICYmIFwKKyAgICAgV0VCS0lUX01JQ1JPX1ZFUlNJ
T04gPj0gKG1pY3JvKSkpCisKK1dFQktJVF9BUEkgZ3VpbnQKK3dlYmtpdF9nZXRfbWFqb3JfdmVy
c2lvbiAodm9pZCk7CisKK1dFQktJVF9BUEkgZ3VpbnQKK3dlYmtpdF9nZXRfbWlub3JfdmVyc2lv
biAodm9pZCk7CisKK1dFQktJVF9BUEkgZ3VpbnQKK3dlYmtpdF9nZXRfbWljcm9fdmVyc2lvbiAo
dm9pZCk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwKaW5kZXgg
YzhjNTJkMS4uNTYwNjBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21sCkBAIC0zNSw2ICszNSw3IEBA
CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvb2tpZU1hbmFnZXIueG1sIi8+CiAg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFBsdWdpbi54bWwiLz4KICAgICA8eGk6aW5j
bHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViSW5zcGVjdG9yLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRWZXJzaW9uLnhtbCIvPgogICA8L2NoYXB0ZXI+CiAKICAgPGluZGV4
IGlkPSJpbmRleC1hbGwiPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggYWIyYzA3OS4u
ODdjZjlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CkBAIC03MDQsMyArNzA0LDE2IEBA
IFdFQktJVF9XRUJfSU5TUEVDVE9SX0dFVF9DTEFTUwogd2Via2l0X3dlYl9pbnNwZWN0b3JfZ2V0
X3R5cGUKIFdlYktpdFdlYkluc3BlY3RvclByaXZhdGUKIDwvU0VDVElPTj4KKworPFNFQ1RJT04+
Cis8RklMRT5XZWJLaXRWZXJzaW9uPC9GSUxFPgord2Via2l0X2dldF9tYWpvcl92ZXJzaW9uCit3
ZWJraXRfZ2V0X21pbm9yX3ZlcnNpb24KK3dlYmtpdF9nZXRfbWljcm9fdmVyc2lvbgorCis8U1VC
U0VDVElPTj4KK1dFQktJVF9NQUpPUl9WRVJTSU9OCitXRUJLSVRfTUlOT1JfVkVSU0lPTgorV0VC
S0lUX01JQ1JPX1ZFUlNJT04KK1dFQktJVF9DSEVDS19WRVJTSU9OCis8L1NFQ1RJT04+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9HTlVtYWtlZmls
ZS5hbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0dOVW1ha2VmaWxl
LmFtCmluZGV4IDhmYTBjZDguLjdhZGFlOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0dOVW1ha2VmaWxlLmFtCkBAIC04LDYgKzgsNyBAQCBU
RVNUX1BST0dTICs9IFwKIAlQcm9ncmFtcy9XZWJLaXQyQVBJVGVzdHMvVGVzdExvYWRlckNsaWVu
dCBcCiAJUHJvZ3JhbXMvV2ViS2l0MkFQSVRlc3RzL1Rlc3RQcmludGluZyBcCiAJUHJvZ3JhbXMv
V2ViS2l0MkFQSVRlc3RzL1Rlc3RSZXNvdXJjZXMgXAorCVByb2dyYW1zL1dlYktpdDJBUElUZXN0
cy9UZXN0V2ViS2l0VmVyc2lvbiBcCiAJUHJvZ3JhbXMvV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJL
aXRGaW5kQ29udHJvbGxlciBcCiAJUHJvZ3JhbXMvV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJLaXRQ
b2xpY3lDbGllbnQgXAogCVByb2dyYW1zL1dlYktpdDJBUElUZXN0cy9UZXN0V2ViS2l0U2V0dGlu
Z3MgXApAQCAtMTYwLDQgKzE2MSwxMCBAQCBQcm9ncmFtc19XZWJLaXQyQVBJVGVzdHNfVGVzdElu
c3BlY3Rvcl9DUFBGTEFHUyA9IFwKIFByb2dyYW1zX1dlYktpdDJBUElUZXN0c19UZXN0SW5zcGVj
dG9yX0xEQUREID0gJCh3ZWJraXQyX3Rlc3RzX2xkYWRkKQogUHJvZ3JhbXNfV2ViS2l0MkFQSVRl
c3RzX1Rlc3RJbnNwZWN0b3JfTERGTEFHUyA9ICQod2Via2l0Ml90ZXN0c19sZGZsYWdzKQogCitQ
cm9ncmFtc19XZWJLaXQyQVBJVGVzdHNfVGVzdFdlYktpdFZlcnNpb25fU09VUkNFUyA9IFwKKyAg
ICAgICAgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFZl
cnNpb24uY3BwCitQcm9ncmFtc19XZWJLaXQyQVBJVGVzdHNfVGVzdFdlYktpdFZlcnNpb25fQ1BQ
RkxBR1MgPSAkKHdlYmtpdDJfdGVzdHNfY3BwZmxhZ3MpCitQcm9ncmFtc19XZWJLaXQyQVBJVGVz
dHNfVGVzdFdlYktpdFZlcnNpb25fTERBREQgPSAkKHdlYmtpdDJfdGVzdHNfbGRhZGQpCitQcm9n
cmFtc19XZWJLaXQyQVBJVGVzdHNfVGVzdFdlYktpdFZlcnNpb25fTERGTEFHUyA9ICQod2Via2l0
Ml90ZXN0c19sZGZsYWdzKQorCiBlbmRpZiAjIEVOQUJMRV9XRUJLSVQyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0VmVyc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0VmVy
c2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc0N2ZmOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rl
c3RXZWJLaXRWZXJzaW9uLmNwcApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIElnYWxpYSBTLkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIsMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJUZXN0
TWFpbi5oIgorI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL3dlYmtpdDIu
aD4KKworCitzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0VmVyc2lvbihUZXN0KiwgZ2NvbnN0cG9pbnRl
cikKK3sKKyAgICBnX2Fzc2VydF9jbXB1aW50KHdlYmtpdF9nZXRfbWFqb3JfdmVyc2lvbigpLCA9
PSwgV0VCS0lUX01BSk9SX1ZFUlNJT04pOworICAgIGdfYXNzZXJ0X2NtcHVpbnQod2Via2l0X2dl
dF9taW5vcl92ZXJzaW9uKCksID09LCBXRUJLSVRfTUlOT1JfVkVSU0lPTik7CisgICAgZ19hc3Nl
cnRfY21wdWludCh3ZWJraXRfZ2V0X21pY3JvX3ZlcnNpb24oKSwgPT0sIFdFQktJVF9NSUNST19W
RVJTSU9OKTsKK30KKworc3RhdGljIHZvaWQgdGVzdFdlYktpdENoZWNrVmVyc2lvbihUZXN0Kiwg
Z2NvbnN0cG9pbnRlcikKK3sKKyAgICBnX2Fzc2VydChXRUJLSVRfQ0hFQ0tfVkVSU0lPTihXRUJL
SVRfTUFKT1JfVkVSU0lPTiwgV0VCS0lUX01JTk9SX1ZFUlNJT04sIFdFQktJVF9NSUNST19WRVJT
SU9OKSk7CisgICAgZ19hc3NlcnQoIVdFQktJVF9DSEVDS19WRVJTSU9OKFdFQktJVF9NQUpPUl9W
RVJTSU9OICsgMSwgV0VCS0lUX01JTk9SX1ZFUlNJT04sIFdFQktJVF9NSUNST19WRVJTSU9OKSk7
CisgICAgZ19hc3NlcnQoIVdFQktJVF9DSEVDS19WRVJTSU9OKFdFQktJVF9NQUpPUl9WRVJTSU9O
LCBXRUJLSVRfTUlOT1JfVkVSU0lPTiArIDEsIFdFQktJVF9NSUNST19WRVJTSU9OKSk7CisgICAg
Z19hc3NlcnQoIVdFQktJVF9DSEVDS19WRVJTSU9OKFdFQktJVF9NQUpPUl9WRVJTSU9OLCBXRUJL
SVRfTUlOT1JfVkVSU0lPTiwgV0VCS0lUX01JQ1JPX1ZFUlNJT04gKyAxKSk7Cit9CisKK3ZvaWQg
YmVmb3JlQWxsKCkKK3sKKyAgICBUZXN0OjphZGQoIldlYktpdFZlcnNpb24iLCAidmVyc2lvbiIs
IHRlc3RXZWJLaXRWZXJzaW9uKTsKKyAgICBUZXN0OjphZGQoIldlYktpdFZlcnNpb24iLCAiY2hl
Y2stdmVyc2lvbiIsIHRlc3RXZWJLaXRDaGVja1ZlcnNpb24pOworfQorCit2b2lkIGFmdGVyQWxs
KCkKK3sKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dl
YmtpdDIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaAppbmRl
eCA2MTNiODI2Li41NGIyZWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay93ZWJraXQyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
d2Via2l0Mi5oCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRTZXR0
aW5ncy5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0VVJJUmVxdWVzdC5oPgogI2luY2x1ZGUg
PHdlYmtpdDIvV2ViS2l0VVJJUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFZl
cnNpb24uaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFdlYkNvbnRleHQuaD4KICNpbmNsdWRl
IDx3ZWJraXQyL1dlYktpdFdlYkluc3BlY3Rvci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0
V2ViUmVzb3VyY2UuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgYi9U
b29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCmluZGV4IGY1OTcwNTEuLjg4ZTYyZTcgMTAwNzU1Ci0t
LSBhL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MKKysrIGIvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0
a2RvYwpAQCAtODgsNyArODgsNyBAQCBkZWYgZ2V0X3dlYmtpdDJfb3B0aW9ucygpOgogICAgICAg
ICAnbW9kdWxlX25hbWUnIDogJ3dlYmtpdDJndGsnLAogICAgICAgICAnZG9jX2RpcicgOiBzcmNf
cGF0aCgnZG9jcycpLAogICAgICAgICAnb3V0cHV0X2RpcicgOiBjb21tb24uYnVpbGRfcGF0aCgn
RG9jdW1lbnRhdGlvbicsICd3ZWJraXQyZ3RrJyksCi0gICAgICAgICdzb3VyY2VfZGlycycgOiBb
c3JjX3BhdGgoKV0sCisgICAgICAgICdzb3VyY2VfZGlycycgOiBbc3JjX3BhdGgoKSwgZGVyaXZl
ZF9zb3VyY2VzX3BhdGgoJ3dlYmtpdDJndGsnLCAnd2Via2l0MicpXSwKICAgICAgICAgJ2NmbGFn
cycgOiAnIC1JJyArIGRlcml2ZWRfc291cmNlc19wYXRoKCd3ZWJraXQyZ3RrJywgJ2luY2x1ZGUn
KSArIFwKICAgICAgICAgICAgICAgICAgICAnIC1JJyArIGRlcml2ZWRfc291cmNlc19wYXRoKCd3
ZWJraXQyZ3RrJykgKyBcCiAgICAgICAgICAgICAgICAgICAgJyAtSScgKyBkZXJpdmVkX3NvdXJj
ZXNfcGF0aCgnaW5jbHVkZScpICsgXApAQCAtOTksNiArOTksOCBAQCBkZWYgZ2V0X3dlYmtpdDJf
b3B0aW9ucygpOgogICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2IuZ2xvYihzcmNfcGF0aCgn
KkNsaWVudConKSkgKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYi5nbG9iKHNyY19w
YXRoKCdXZWJLaXRXZWJWaWV3QmFzZUFjY2Vzc2libGUuKicpKSArIFwKICAgICAgICAgICAgICAg
ICAgICAgICAgICBnbG9iLmdsb2Ioc3JjX3BhdGgoJ1dlYktpdEdlb2xvY2F0aW9uUHJvdmlkZXIu
KicpKSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iLmdsb2IoZGVyaXZlZF9zb3Vy
Y2VzX3BhdGgoJ3dlYmtpdDJndGsnLCAnd2Via2l0MicsICdXZWJLaXRNYXJzaGFsLionKSkgKyBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYi5nbG9iKGRlcml2ZWRfc291cmNlc19wYXRo
KCd3ZWJraXQyZ3RrJywgJ3dlYmtpdDInLCAnV2ViS2l0RW51bVR5cGVzLionKSkgKyBcCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2xvYi5nbG9iKHNyY19wYXRoKCd0ZXN0cy8qLmgnKSkKICAg
ICB9KQogICAgIHJldHVybiBvcHRpb25zCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25m
aWd1cmUuYWMKaW5kZXggNzJlMTliZi4uMDIxN2FlNiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFj
CisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTQzMyw2ICsxNDMzLDEwIEBAIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6U291
cmNlL0phdmFTCiAKIGlmIHRlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAieWVzIjsgdGhlbgogICAg
IEFDX0NPTkZJR19GSUxFUyhbCisgICAgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi93ZWJraXQyZ3Rr
L3dlYmtpdDIvV2ViS2l0VmVyc2lvbi5oOlNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFZlcnNpb24uaC5pbgorICAgIF0pCisKKyAgICBBQ19DT05GSUdfRklMRVMoWwogICAg
IFNvdXJjZS9XZWJLaXQyL3dlYmtpdDJndGstJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOlNv
dXJjZS9XZWJLaXQyL3dlYmtpdDJndGsucGMuaW4KICAgICBdCiAgICAgLFtXRUJLSVRHVEtfQVBJ
X1ZFUlNJT049JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lU
R1RLX1BDX05BTUVdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146500</attachid>
            <date>2012-06-08 00:50:53 -0700</date>
            <delta_ts>2012-06-08 08:23:18 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-lib-version2.diff</filename>
            <type>text/plain</type>
            <size>17000</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNGY3MzAyLi4yYzEyNzQw
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTItMDYtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24gdG8gV2Vi
S2l0MiBHVEsrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04ODQyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogY29uZmlndXJlLmFjOiBHZW5lcmF0ZSBXZWJLaXRWZXJzaW9uLmggZnJvbSBXZWJLaXRWZXJz
aW9uLmguaW4KKyAgICAgICAgZmlsZS4KKwogMjAxMi0wNi0wNyAgS2VudGFybyBIYXJhICA8aGFy
YWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVkdWNlIE5vZGUgb2JqZWN0IHNpemUgZnJv
bSA3MiBieXRlIHRvIDY0IGJ5dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlYjZkM2YzLi41Y2RhZGQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTItMDYtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gZ2V0IHRo
ZSBsaWJyYXJ5IHZlcnNpb24gdG8gV2ViS2l0MiBHVEsrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRWZXJz
aW9uLmNwcDogQWRkZWQuCisgICAgICAgICh3ZWJraXRfZ2V0X21ham9yX3ZlcnNpb24pOgorICAg
ICAgICAod2Via2l0X2dldF9taW5vcl92ZXJzaW9uKToKKyAgICAgICAgKHdlYmtpdF9nZXRfbWlj
cm9fdmVyc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VmVyc2lvbi5o
LmluOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGst
ZG9jcy5zZ21sOiBBZGQgbmV3IHN5bWJvbHMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
ZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dDogQWRkIG5ldyBzZWN0aW9uCisgICAgICAgIGZv
ciBXZWJLaXRWZXJzaW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRW
ZXJzaW9uLmNwcDogQWRkZWQuCisgICAgICAgICh0ZXN0V2ViS2l0VmVyc2lvbik6CisgICAgICAg
ICh0ZXN0V2ViS2l0Q2hlY2tWZXJzaW9uKToKKyAgICAgICAgKGJlZm9yZUFsbCk6CisgICAgICAg
IChhZnRlckFsbCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oOiBJbmNs
dWRlIFdlYktpdFZlcnNpb24uaC4KKwogMjAxMi0wNi0wNyAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVkdWNlIE5vZGUgb2JqZWN0IHNpemUgZnJvbSA3
MiBieXRlIHRvIDY0IGJ5dGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCBkOGFhOWQzLi43MGRkNGYwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDYtMDggIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
IEFkZCBBUEkgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24gdG8gV2ViS2l0MiBHVEsrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQyNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ3RrL2dlbmVyYXRl
LWd0a2RvYzoKKyAgICAgICAgKGdldF93ZWJraXQyX29wdGlvbnMpOiBBZGQgYnVpbHQgc291cmNl
cyB0byB0aGUgbGlzdCBvZiBmaWxlcywgYnV0CisgICAgICAgIGlnbm9yZSBlbnVtIHR5cGVzIGFu
ZCBtYXJzaGFsbGVycy4KKwogMjAxMi0wNi0wNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgY2hlY2std2Via2l0LXN0eWxlIG5lZWRzIHRvIGJlIHRhdWdo
dCBhYm91dCA8cHVibGljL0Zvby5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCBkZjM1Yzg3Li4w
MTZkNjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNSw3ICs1LDggQEAgbGlid2Via2l0Mmd0
a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQF9sYV9IRUEKIAogbGlid2Via2l0Mmd0a2luY2x1ZGVkaXIgPSAkKGxpYndlYmtpdGd0a2lu
Y2x1ZGVkaXIpL3dlYmtpdDIKIG5vZGlzdF9saWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTID0g
XAotCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93ZWJraXQyL1dlYktpdEVudW1U
eXBlcy5oCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi93ZWJraXQyZ3RrL3dlYmtpdDIvV2ViS2l0
RW51bVR5cGVzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93ZWJraXQy
L1dlYktpdFZlcnNpb24uaAogCiBsaWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTID0gXAogCSQo
d2Via2l0Mmd0a19oX2FwaSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRjY2Nm
YjcuLjg1MWQ2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjA4LDcgKzIw
OCw4IEBAIHdlYmtpdDJndGtfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi93ZWJraXQyZ3RrL3dlYmtpdDIvV2ViS2l0RW51bVR5cGVzLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi93ZWJraXQyZ3RrL3dlYmtpdDIvV2ViS2l0RW51bVR5cGVzLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93ZWJraXQyL1dlYktpdE1hcnNoYWwuY3Bw
IFwKLQlEZXJpdmVkU291cmNlcy9XZWJLaXQyL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRNYXJz
aGFsLmgKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRN
YXJzaGFsLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93ZWJraXQyL1dl
YktpdFZlcnNpb24uaAogCiB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL2Nv
bmZpZy5oIFwKQEAgLTY0Nyw2ICs2NDgsNyBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJl
cXVlc3RQcml2YXRlLmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFZlcnNpb24uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJDb250ZXh0LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YkNvbnRleHQuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJDb250ZXh0UHJpdmF0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VmVyc2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNGVmNjJlMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YktpdFZlcnNpb24uaCIKKworLyoqCisgKiB3ZWJraXRfZ2V0X21ham9yX3ZlcnNpb246CisgKgor
ICogUmV0dXJucyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5
LgorICogKGUuZy4gaW4gV2ViS2l0IHZlcnNpb24gMS44LjMgdGhpcyBpcyAxLikKKyAqCisgKiBU
aGlzIGZ1bmN0aW9uIGlzIGluIHRoZSBsaWJyYXJ5LCBzbyBpdCByZXByZXNlbnRzIHRoZSBXZWJL
aXQgbGlicmFyeQorICogeW91ciBjb2RlIGlzIHJ1bm5pbmcgYWdhaW5zdC4gQ29udHJhc3Qgd2l0
aCB0aGUgI1dFQktJVF9NQUpPUl9WRVJTSU9OCisgKiBtYWNybywgd2hpY2ggcmVwcmVzZW50cyB0
aGUgbWFqb3IgdmVyc2lvbiBvZiB0aGUgV2ViS2l0IGhlYWRlcnMgeW91CisgKiBoYXZlIGluY2x1
ZGVkIHdoZW4gY29tcGlsaW5nIHlvdXIgY29kZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgbWFqb3Ig
dmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5CisgKi8KK2d1aW50IHdlYmtpdF9n
ZXRfbWFqb3JfdmVyc2lvbih2b2lkKQoreworICAgIHJldHVybiBXRUJLSVRfTUFKT1JfVkVSU0lP
TjsKK30KKworLyoqCisgKiB3ZWJraXRfZ2V0X21pbm9yX3ZlcnNpb246CisgKgorICogUmV0dXJu
cyB0aGUgbWlub3IgdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5LgorICogKGUu
Zy4gaW4gV2ViS2l0IHZlcnNpb24gMS44LjMgdGhpcyBpcyA4LikKKyAqCisgKiBUaGlzIGZ1bmN0
aW9uIGlzIGluIHRoZSBsaWJyYXJ5LCBzbyBpdCByZXByZXNlbnRzIHRoZSBXZWJLaXQgbGlicmFy
eQorICogeW91ciBjb2RlIGlzIHJ1bm5pbmcgYWdhaW5zdC4gQ29udHJhc3Qgd2l0aCB0aGUgI1dF
QktJVF9NSU5PUl9WRVJTSU9OCisgKiBtYWNybywgd2hpY2ggcmVwcmVzZW50cyB0aGUgbWlub3Ig
dmVyc2lvbiBvZiB0aGUgV2ViS2l0IGhlYWRlcnMgeW91CisgKiBoYXZlIGluY2x1ZGVkIHdoZW4g
Y29tcGlsaW5nIHlvdXIgY29kZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgbWlub3IgdmVyc2lvbiBu
dW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5CisgKi8KK2d1aW50IHdlYmtpdF9nZXRfbWlub3Jf
dmVyc2lvbih2b2lkKQoreworICAgIHJldHVybiBXRUJLSVRfTUlOT1JfVkVSU0lPTjsKK30KKwor
LyoqCisgKiB3ZWJraXRfZ2V0X21pY3JvX3ZlcnNpb246CisgKgorICogUmV0dXJucyB0aGUgbWlj
cm8gdmVyc2lvbiBudW1iZXIgb2YgdGhlIFdlYktpdCBsaWJyYXJ5LgorICogKGUuZy4gaW4gV2Vi
S2l0IHZlcnNpb24gMS44LjMgdGhpcyBpcyAzLikKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGlu
IHRoZSBsaWJyYXJ5LCBzbyBpdCByZXByZXNlbnRzIHRoZSBXZWJLaXQgbGlicmFyeQorICogeW91
ciBjb2RlIGlzIHJ1bm5pbmcgYWdhaW5zdC4gQ29udHJhc3Qgd2l0aCB0aGUgI1dFQktJVF9NSUNS
T19WRVJTSU9OCisgKiBtYWNybywgd2hpY2ggcmVwcmVzZW50cyB0aGUgbWljcm8gdmVyc2lvbiBv
ZiB0aGUgV2ViS2l0IGhlYWRlcnMgeW91CisgKiBoYXZlIGluY2x1ZGVkIHdoZW4gY29tcGlsaW5n
IHlvdXIgY29kZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgbWljcm8gdmVyc2lvbiBudW1iZXIgb2Yg
dGhlIFdlYktpdCBsaWJyYXJ5CisgKi8KK2d1aW50IHdlYmtpdF9nZXRfbWljcm9fdmVyc2lvbih2
b2lkKQoreworICAgIHJldHVybiBXRUJLSVRfTUlDUk9fVkVSU0lPTjsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uaC5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uaC5pbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWVmNTE3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VmVyc2lvbi5oLmluCkBAIC0w
LDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmICFk
ZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAmJiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFU
SU9OKQorI2Vycm9yICJPbmx5IDx3ZWJraXQyL3dlYmtpdDIuaD4gY2FuIGJlIGluY2x1ZGVkIGRp
cmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdlYktpdFZlcnNpb25faAorI2RlZmluZSBXZWJL
aXRWZXJzaW9uX2gKKworI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5oPgorCitHX0JF
R0lOX0RFQ0xTCisKKy8qKgorICogV0VCS0lUX01BSk9SX1ZFUlNJT046CisgKgorICogTGlrZSB3
ZWJraXRfZ2V0X21ham9yX3ZlcnNpb24oKSwgYnV0IGZyb20gdGhlIGhlYWRlcnMgdXNlZCBhdAor
ICogYXBwbGljYXRpb24gY29tcGlsZSB0aW1lLCByYXRoZXIgdGhhbiBmcm9tIHRoZSBsaWJyYXJ5
IGxpbmtlZAorICogYWdhaW5zdCBhdCBhcHBsaWNhdGlvbiBydW4gdGltZS4KKyAqLworI2RlZmlu
ZSBXRUJLSVRfTUFKT1JfVkVSU0lPTiAoQFdFQktJVF9NQUpPUl9WRVJTSU9OQCkKKworLyoqCisg
KiBXRUJLSVRfTUlOT1JfVkVSU0lPTjoKKyAqCisgKiBMaWtlIHdlYmtpdF9nZXRfbWlub3JfdmVy
c2lvbigpLCBidXQgZnJvbSB0aGUgaGVhZGVycyB1c2VkIGF0CisgKiBhcHBsaWNhdGlvbiBjb21w
aWxlIHRpbWUsIHJhdGhlciB0aGFuIGZyb20gdGhlIGxpYnJhcnkgbGlua2VkCisgKiBhZ2FpbnN0
IGF0IGFwcGxpY2F0aW9uIHJ1biB0aW1lLgorICovCisjZGVmaW5lIFdFQktJVF9NSU5PUl9WRVJT
SU9OIChAV0VCS0lUX01JTk9SX1ZFUlNJT05AKQorCisvKioKKyAqIFdFQktJVF9NSUNST19WRVJT
SU9OOgorICoKKyAqIExpa2Ugd2Via2l0X2dldF9taWNyb192ZXJzaW9uKCksIGJ1dCBmcm9tIHRo
ZSBoZWFkZXJzIHVzZWQgYXQKKyAqIGFwcGxpY2F0aW9uIGNvbXBpbGUgdGltZSwgcmF0aGVyIHRo
YW4gZnJvbSB0aGUgbGlicmFyeSBsaW5rZWQKKyAqIGFnYWluc3QgYXQgYXBwbGljYXRpb24gcnVu
IHRpbWUuCisgKi8KKyNkZWZpbmUgV0VCS0lUX01JQ1JPX1ZFUlNJT04gKEBXRUJLSVRfTUlDUk9f
VkVSU0lPTkApCisKKy8qKgorICogV0VCS0lUX0NIRUNLX1ZFUlNJT046CisgKiBAbWFqb3I6IG1h
am9yIHZlcnNpb24gKGUuZy4gMSBmb3IgdmVyc2lvbiAxLjIuNSkKKyAqIEBtaW5vcjogbWlub3Ig
dmVyc2lvbiAoZS5nLiAyIGZvciB2ZXJzaW9uIDEuMi41KQorICogQG1pY3JvOiBtaWNybyB2ZXJz
aW9uIChlLmcuIDUgZm9yIHZlcnNpb24gMS4yLjUpCisgKgorICogUmV0dXJuczogJVRSVUUgaWYg
dGhlIHZlcnNpb24gb2YgdGhlIFdlYktpdCBoZWFkZXIgZmlsZXMKKyAqIGlzIHRoZSBzYW1lIGFz
IG9yIG5ld2VyIHRoYW4gdGhlIHBhc3NlZC1pbiB2ZXJzaW9uLgorICovCisjZGVmaW5lIFdFQktJ
VF9DSEVDS19WRVJTSU9OKG1ham9yLCBtaW5vciwgbWljcm8pIFwKKyAgICAoV0VCS0lUX01BSk9S
X1ZFUlNJT04gPiAobWFqb3IpIHx8IFwKKyAgICAoV0VCS0lUX01BSk9SX1ZFUlNJT04gPT0gKG1h
am9yKSAmJiBXRUJLSVRfTUlOT1JfVkVSU0lPTiA+IChtaW5vcikpIHx8IFwKKyAgICAoV0VCS0lU
X01BSk9SX1ZFUlNJT04gPT0gKG1ham9yKSAmJiBXRUJLSVRfTUlOT1JfVkVSU0lPTiA9PSAobWlu
b3IpICYmIFwKKyAgICAgV0VCS0lUX01JQ1JPX1ZFUlNJT04gPj0gKG1pY3JvKSkpCisKK1dFQktJ
VF9BUEkgZ3VpbnQKK3dlYmtpdF9nZXRfbWFqb3JfdmVyc2lvbiAodm9pZCk7CisKK1dFQktJVF9B
UEkgZ3VpbnQKK3dlYmtpdF9nZXRfbWlub3JfdmVyc2lvbiAodm9pZCk7CisKK1dFQktJVF9BUEkg
Z3VpbnQKK3dlYmtpdF9nZXRfbWljcm9fdmVyc2lvbiAodm9pZCk7CisKK0dfRU5EX0RFQ0xTCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLWRvY3Muc2dtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwKaW5kZXggM2RmYjI0Zi4uYzJlZWJmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRv
Y3Muc2dtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstZG9jcy5zZ21sCkBAIC0zNiw2ICszNiw3IEBACiAgICAgPHhpOmluY2x1ZGUgaHJlZj0i
eG1sL1dlYktpdFBsdWdpbi54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0
V2ViSW5zcGVjdG9yLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRWZXJz
aW9uLnhtbCIvPgogICA8L2NoYXB0ZXI+CiAKICAgPGluZGV4IGlkPSJpbmRleC1hbGwiPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Vi
a2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggZmExZjRmYy4uY2U2OTM3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25z
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJn
dGstc2VjdGlvbnMudHh0CkBAIC03MzAsMyArNzMwLDE2IEBAIFdFQktJVF9VUklfU0NIRU1FX1JF
UVVFU1RfR0VUX0NMQVNTCiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZQogd2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9nZXRfdHlwZQogPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxF
PldlYktpdFZlcnNpb248L0ZJTEU+Cit3ZWJraXRfZ2V0X21ham9yX3ZlcnNpb24KK3dlYmtpdF9n
ZXRfbWlub3JfdmVyc2lvbgord2Via2l0X2dldF9taWNyb192ZXJzaW9uCisKKzxTVUJTRUNUSU9O
PgorV0VCS0lUX01BSk9SX1ZFUlNJT04KK1dFQktJVF9NSU5PUl9WRVJTSU9OCitXRUJLSVRfTUlD
Uk9fVkVSU0lPTgorV0VCS0lUX0NIRUNLX1ZFUlNJT04KKzwvU0VDVElPTj4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0dOVW1ha2VmaWxlLmFtIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvR05VbWFrZWZpbGUuYW0KaW5k
ZXggOGZhMGNkOC4uN2FkYWU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvdGVzdHMvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvdGVzdHMvR05VbWFrZWZpbGUuYW0KQEAgLTgsNiArOCw3IEBAIFRFU1RfUFJP
R1MgKz0gXAogCVByb2dyYW1zL1dlYktpdDJBUElUZXN0cy9UZXN0TG9hZGVyQ2xpZW50IFwKIAlQ
cm9ncmFtcy9XZWJLaXQyQVBJVGVzdHMvVGVzdFByaW50aW5nIFwKIAlQcm9ncmFtcy9XZWJLaXQy
QVBJVGVzdHMvVGVzdFJlc291cmNlcyBcCisJUHJvZ3JhbXMvV2ViS2l0MkFQSVRlc3RzL1Rlc3RX
ZWJLaXRWZXJzaW9uIFwKIAlQcm9ncmFtcy9XZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktpdEZpbmRD
b250cm9sbGVyIFwKIAlQcm9ncmFtcy9XZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktpdFBvbGljeUNs
aWVudCBcCiAJUHJvZ3JhbXMvV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncyBcCkBA
IC0xNjAsNCArMTYxLDEwIEBAIFByb2dyYW1zX1dlYktpdDJBUElUZXN0c19UZXN0SW5zcGVjdG9y
X0NQUEZMQUdTID0gXAogUHJvZ3JhbXNfV2ViS2l0MkFQSVRlc3RzX1Rlc3RJbnNwZWN0b3JfTERB
REQgPSAkKHdlYmtpdDJfdGVzdHNfbGRhZGQpCiBQcm9ncmFtc19XZWJLaXQyQVBJVGVzdHNfVGVz
dEluc3BlY3Rvcl9MREZMQUdTID0gJCh3ZWJraXQyX3Rlc3RzX2xkZmxhZ3MpCiAKK1Byb2dyYW1z
X1dlYktpdDJBUElUZXN0c19UZXN0V2ViS2l0VmVyc2lvbl9TT1VSQ0VTID0gXAorICAgICAgICBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0VmVyc2lvbi5j
cHAKK1Byb2dyYW1zX1dlYktpdDJBUElUZXN0c19UZXN0V2ViS2l0VmVyc2lvbl9DUFBGTEFHUyA9
ICQod2Via2l0Ml90ZXN0c19jcHBmbGFncykKK1Byb2dyYW1zX1dlYktpdDJBUElUZXN0c19UZXN0
V2ViS2l0VmVyc2lvbl9MREFERCA9ICQod2Via2l0Ml90ZXN0c19sZGFkZCkKK1Byb2dyYW1zX1dl
YktpdDJBUElUZXN0c19UZXN0V2ViS2l0VmVyc2lvbl9MREZMQUdTID0gJCh3ZWJraXQyX3Rlc3Rz
X2xkZmxhZ3MpCisKIGVuZGlmICMgRU5BQkxFX1dFQktJVDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRWZXJzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRWZXJzaW9uLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzQ3ZmY5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktp
dFZlcnNpb24uY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiwxIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlRlc3RNYWluLmgi
CisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgorCisK
K3N0YXRpYyB2b2lkIHRlc3RXZWJLaXRWZXJzaW9uKFRlc3QqLCBnY29uc3Rwb2ludGVyKQorewor
ICAgIGdfYXNzZXJ0X2NtcHVpbnQod2Via2l0X2dldF9tYWpvcl92ZXJzaW9uKCksID09LCBXRUJL
SVRfTUFKT1JfVkVSU0lPTik7CisgICAgZ19hc3NlcnRfY21wdWludCh3ZWJraXRfZ2V0X21pbm9y
X3ZlcnNpb24oKSwgPT0sIFdFQktJVF9NSU5PUl9WRVJTSU9OKTsKKyAgICBnX2Fzc2VydF9jbXB1
aW50KHdlYmtpdF9nZXRfbWljcm9fdmVyc2lvbigpLCA9PSwgV0VCS0lUX01JQ1JPX1ZFUlNJT04p
OworfQorCitzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0Q2hlY2tWZXJzaW9uKFRlc3QqLCBnY29uc3Rw
b2ludGVyKQoreworICAgIGdfYXNzZXJ0KFdFQktJVF9DSEVDS19WRVJTSU9OKFdFQktJVF9NQUpP
Ul9WRVJTSU9OLCBXRUJLSVRfTUlOT1JfVkVSU0lPTiwgV0VCS0lUX01JQ1JPX1ZFUlNJT04pKTsK
KyAgICBnX2Fzc2VydCghV0VCS0lUX0NIRUNLX1ZFUlNJT04oV0VCS0lUX01BSk9SX1ZFUlNJT04g
KyAxLCBXRUJLSVRfTUlOT1JfVkVSU0lPTiwgV0VCS0lUX01JQ1JPX1ZFUlNJT04pKTsKKyAgICBn
X2Fzc2VydCghV0VCS0lUX0NIRUNLX1ZFUlNJT04oV0VCS0lUX01BSk9SX1ZFUlNJT04sIFdFQktJ
VF9NSU5PUl9WRVJTSU9OICsgMSwgV0VCS0lUX01JQ1JPX1ZFUlNJT04pKTsKKyAgICBnX2Fzc2Vy
dCghV0VCS0lUX0NIRUNLX1ZFUlNJT04oV0VCS0lUX01BSk9SX1ZFUlNJT04sIFdFQktJVF9NSU5P
Ul9WRVJTSU9OLCBXRUJLSVRfTUlDUk9fVkVSU0lPTiArIDEpKTsKK30KKwordm9pZCBiZWZvcmVB
bGwoKQoreworICAgIFRlc3Q6OmFkZCgiV2ViS2l0VmVyc2lvbiIsICJ2ZXJzaW9uIiwgdGVzdFdl
YktpdFZlcnNpb24pOworICAgIFRlc3Q6OmFkZCgiV2ViS2l0VmVyc2lvbiIsICJjaGVjay12ZXJz
aW9uIiwgdGVzdFdlYktpdENoZWNrVmVyc2lvbik7Cit9CisKK3ZvaWQgYWZ0ZXJBbGwoKQorewor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oCmluZGV4IDJkYWU2
ZGQuLmJmMzdmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L3dlYmtpdDIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQy
LmgKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFVSSVJlcXVlc3Qu
aD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdFVSSVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d2Vi
a2l0Mi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Lmg+CisjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRW
ZXJzaW9uLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRXZWJDb250ZXh0Lmg+CiAjaW5jbHVk
ZSA8d2Via2l0Mi9XZWJLaXRXZWJJbnNwZWN0b3IuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktp
dFdlYlJlc291cmNlLmg+CmRpZmYgLS1naXQgYS9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jIGIv
VG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYwppbmRleCBmNTk3MDUxLi44OGU2MmU3IDEwMDc1NQot
LS0gYS9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCisrKyBiL1Rvb2xzL2d0ay9nZW5lcmF0ZS1n
dGtkb2MKQEAgLTg4LDcgKzg4LDcgQEAgZGVmIGdldF93ZWJraXQyX29wdGlvbnMoKToKICAgICAg
ICAgJ21vZHVsZV9uYW1lJyA6ICd3ZWJraXQyZ3RrJywKICAgICAgICAgJ2RvY19kaXInIDogc3Jj
X3BhdGgoJ2RvY3MnKSwKICAgICAgICAgJ291dHB1dF9kaXInIDogY29tbW9uLmJ1aWxkX3BhdGgo
J0RvY3VtZW50YXRpb24nLCAnd2Via2l0Mmd0aycpLAotICAgICAgICAnc291cmNlX2RpcnMnIDog
W3NyY19wYXRoKCldLAorICAgICAgICAnc291cmNlX2RpcnMnIDogW3NyY19wYXRoKCksIGRlcml2
ZWRfc291cmNlc19wYXRoKCd3ZWJraXQyZ3RrJywgJ3dlYmtpdDInKV0sCiAgICAgICAgICdjZmxh
Z3MnIDogJyAtSScgKyBkZXJpdmVkX3NvdXJjZXNfcGF0aCgnd2Via2l0Mmd0aycsICdpbmNsdWRl
JykgKyBcCiAgICAgICAgICAgICAgICAgICAgJyAtSScgKyBkZXJpdmVkX3NvdXJjZXNfcGF0aCgn
d2Via2l0Mmd0aycpICsgXAogICAgICAgICAgICAgICAgICAgICcgLUknICsgZGVyaXZlZF9zb3Vy
Y2VzX3BhdGgoJ2luY2x1ZGUnKSArIFwKQEAgLTk5LDYgKzk5LDggQEAgZGVmIGdldF93ZWJraXQy
X29wdGlvbnMoKToKICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iLmdsb2Ioc3JjX3BhdGgo
JypDbGllbnQqJykpICsgXAogICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2IuZ2xvYihzcmNf
cGF0aCgnV2ViS2l0V2ViVmlld0Jhc2VBY2Nlc3NpYmxlLionKSkgKyBcCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2xvYi5nbG9iKHNyY19wYXRoKCdXZWJLaXRHZW9sb2NhdGlvblByb3ZpZGVy
LionKSkgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYi5nbG9iKGRlcml2ZWRfc291
cmNlc19wYXRoKCd3ZWJraXQyZ3RrJywgJ3dlYmtpdDInLCAnV2ViS2l0TWFyc2hhbC4qJykpICsg
XAorICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2IuZ2xvYihkZXJpdmVkX3NvdXJjZXNfcGF0
aCgnd2Via2l0Mmd0aycsICd3ZWJraXQyJywgJ1dlYktpdEVudW1UeXBlcy4qJykpICsgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgIGdsb2IuZ2xvYihzcmNfcGF0aCgndGVzdHMvKi5oJykpCiAg
ICAgfSkKICAgICByZXR1cm4gb3B0aW9ucwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29u
ZmlndXJlLmFjCmluZGV4IGM4MzA2MDkuLjU4NjZmOGEgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5h
YworKysgYi9jb25maWd1cmUuYWMKQEAgLTE0MzgsNiArMTQzOCwxMCBAQCBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGstJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOlNv
dXJjZS9KYXZhUwogCiBpZiB0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyI7IHRoZW4KICAg
ICBBQ19DT05GSUdfRklMRVMoWworICAgIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0
ay93ZWJraXQyL1dlYktpdFZlcnNpb24uaDpTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRWZXJzaW9uLmguaW4KKyAgICBdKQorCisgICAgQUNfQ09ORklHX0ZJTEVTKFsKICAg
ICBTb3VyY2UvV2ViS2l0Mi93ZWJraXQyZ3RrLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpT
b3VyY2UvV2ViS2l0Mi93ZWJraXQyZ3RrLnBjLmluCiAgICAgXQogICAgICxbV0VCS0lUR1RLX0FQ
SV9WRVJTSU9OPSRXRUJLSVRHVEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJ
VEdUS19QQ19OQU1FXQo=
</data>
<flag name="review"
          id="153809"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>