<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>2768</bug_id>
          
          <creation_ts>2006-01-25 14:06:40 +0000</creation_ts>
          <short_desc>[XDM]  constructing list of union types from PSVI</short_desc>
          <delta_ts>2006-06-29 18:56:33 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>Data Model 1.0</component>
          <version>Candidate Recommendation</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanne Tong">joannet</reporter>
          <assigned_to name="Norman Walsh">Norman.Walsh</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>7970</commentid>
    <comment_count>0</comment_count>
    <who name="Joanne Tong">joannet</who>
    <bug_when>2006-01-25 14:06:51 +0000</bug_when>
    <thetext>When recursively applying the typed value determination rules in section 
3.3.1.2 of XDM, a list of union types is not handled properly because the 
current rules assume each item in the list has associated [member type 
definition]*  properties.

For example:

&lt;xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
           targetNamespace=&quot;http://example.org/list&quot;
           xmlns:li=&quot;http://example.org/list&quot;&gt;
  &lt;xs:simpleType name=&quot;unionType&quot;&gt;
    &lt;xs:union memberTypes=&quot;xs:integer xs:float&quot;/&gt;
  &lt;/xs:simpleType&gt;

  &lt;xs:simpleType name=&quot;listType&quot;&gt;
    &lt;xs:list itemType=&quot;li:unionType&quot;/&gt;
  &lt;/xs:simpleType&gt;

  &lt;xs:element name=&quot;e&quot; type=&quot;li:listType&quot;/&gt;
&lt;/xs:schema&gt;

  
As is currently defined, when element e is encountered, the last rule in the 
bulleted list applies to the information item which results from schema 
assessment - the type T is li:listType, whose {variety} is list.  The {item 
type definition} is li:unionType, so it becomes T for the recursive 
application of the rules for each space-separated member of the [schema 
normalized value].  The {variety} of T is now union, and the fourth bullet 
applies, which relies upon either the [member type definition] or [member type 
definition anonymous] property, but neither of those properties exists for 
this information item, so the typed value determination process breaks down.

     In order for the typed value determination to work for list of union, the 
PSVI element information item would have to have [member type definition *] 
properties for each item in the list, which is not the case in &quot;Schema:  
Structures 1.0&quot;, nor in the draft of 1.1.  That could be accomplished through 
a change to XML Schema or by XDM repeating the validation process for the 
union type on each member of the space-separated list of lexical forms in 
[schema normalized value] in order to compute the [member type definition *] 
properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8710</commentid>
    <comment_count>1</comment_count>
    <who name="Norman Walsh">Norman.Walsh</who>
    <bug_when>2006-03-14 16:09:08 +0000</bug_when>
    <thetext>Awaiting proposal from Jonathan Robie.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8796</commentid>
    <comment_count>2</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2006-03-20 18:57:06 +0000</bug_when>
    <thetext>A change proposal prepared by Jonathan Robie and me is at
http://lists.w3.org/Archives/Public/www-archive/2006Mar/att-0021/bugs.2768.2790.html__charset_ISO-8859-1

Its effect is to replace the recursive algorithm for finding 
typed values with a straightforward appeal to the notion of 
lexical mapping used in XML Schema 1.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9006</commentid>
    <comment_count>3</comment_count>
      <attachid>415</attachid>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2006-04-03 17:32:40 +0000</bug_when>
    <thetext>Created attachment 415
Proposals adopted for bugs 2768 and 2790

These proposals were adopted on 3 April by the XML Query and XSLT Working Groups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9007</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2006-04-03 17:35:29 +0000</bug_when>
    <thetext>Hi Joanne,

I have attached the proposal adopted at today&apos;s face to face meetings in response to your bug report - we believe this both fixes the problem and simplifies the description.

Jonathan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10191</commentid>
    <comment_count>5</comment_count>
    <who name="Norman Walsh">Norman.Walsh</who>
    <bug_when>2006-06-21 14:14:12 +0000</bug_when>
    <thetext>These changes do not appear in the June 8 draft. I can&apos;t explain that, as I clearly recall making the edits and wouldn&apos;t have closed the bug if I hadn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10217</commentid>
    <comment_count>6</comment_count>
    <who name="Joanne Tong">joannet</who>
    <bug_when>2006-06-23 12:47:38 +0000</bug_when>
    <thetext>Additional concerns raised from members mailing list:  http://lists.w3.org/Archives/Member/w3c-xsl-query/2006Jun/0017.html

For 2768

1. Part of the new text reads &quot;modified by the rules in [Schema Part 1] 
which make it into a function&quot;. I&apos;m not sure which rules you are talking 
about. Seems to me that all union aspects are handled in part 2. (I may be 
missing something in part 1. But if I&apos;m having a hard time finding the 
relevant rules, I&apos;m sure the users/readers will also have difficulties. 
You may want to have explicit reference to specific sections/constraints.)

2. anySimpleType is handled separated. How about anyAtomicType? In Schema 
1.1, similar to anySimpleType, anyAtomicType can also give multiple values 
for a given lexical input. If Query handles anyAtomicType in the same way, 
then there is a potential problem of which value to choose; if Query 
handles anyAtomicType differently, then there is a potential mismatch 
between Query and schema 1.1.

3. The sentence &quot;the typed value is the result of applying M to the string 
value&quot; surprised me a bit. Not saying it&apos;s wrong, but I didn&apos;t expect that 
values in Query are the same values as in Schema. For example, values of 
hexBinary and those of base64Binary don&apos;t overlap in schema. Is this also 
true for Query values? And for an atomic type, applying M (schema 
lexical-&gt;value mapping) gives you a single value, where Query would need a 
sequence.

4.  For example, type U is declared as a union of xs:integer|xs:decimal 
and the lexical value to be validated is &quot;1&quot;.  According to Schema, this 
value is then validated as an xs:integer and the name from the members 
type definition is xs:integer.  However, the proposal introduces the 
concept that lexical mapping should be applied to determine its 
type-value.  In this example, the integer lexical mapping is still 
applied, but the actual value yields a value from the decimal value space. 
 Thus, the actual type information, xs:integer,  is lost.

The stuff in Schema on the mapping from the lexical space to the value 
space for a datatype doesn&apos;t give us much to latch onto, but here are some 
of the things that I think support my understanding of the value space

According to section 4.2.1 of Schema Part 2,[1] &quot;for any a and b in the 
·value space· if a = b, then a and b cannot be distinguished (i.e., 
equality is identity)&quot; and &quot;if a datatype T&apos; is ·derived· by ·restriction· 
from an atomic datatype T then the ·value space· of T&apos; is a subset of the 
·value space· of T. Values in the ·value space·s of T and T&apos; can be 
compared according to the above rules.&quot;
According to section 2.2,[2] a value space can be defined, among other 
ways, &quot;by restricting the ·value space· of an already defined datatype&quot; or 
&quot;as a combination of values from one or more already defined ·value 
space·(s)&quot;

So I read all that as saying that the values in the value space of a type 
derived by restriction are the same values as the values in the primitive 
type from which it&apos;s derived and that the values in the value space of a 
union type are the same values in the value spaces of the member types. 
So, for a union type like xs:int|xs:decimal, I believe that the two points 
in the lexical space &quot;1&quot; and &quot;1.0&quot; both map to the same value (one) in the 
value space of the union type, and there is no way of distinguishing the 
value to which those two points in the lexical space map to - in 
particular, that there is no type information associated with those 
values.

The stuff in Schema Part 1 about unions only seems to be helpful for 
unions like xs:gYear|xs:int versus xs:int|xs:gYear where the lexical 
string &quot;2006&quot; maps to the gYear value 2006 in the first case and to the 
decimal value 2006 in the second case.

5. &quot;the W3C XML Schema specification defines a function M mapping the 
lexical representation of a value onto the value itself &quot;
Why refer to &quot;function M&quot; when this term is not really defined in Schema 
(and if so, where in Schema?) .  Isn&apos;t it more of a &quot;relation&quot; rather than 
an actual &quot;function&quot;?



For 2790

1. (omit)

2. (editorial) Given that you already require the [element/attribute declaration] 
property, it feels unnecessarily confusing to refer to [type definition 
anonymous] property later. I would just say &quot;I need [xxx declaration] and 
[type definition] properties from PSVI.&quot; And (for the &quot;otherwise&quot; case) 
use {name} property of the [type definition] to determine which name to 
use, instead of consulting [type definition anonymous].

3. The [element declaration] property may be absent. (For example, an 
element matching a wildcard but having xsi:type.) You may need to take 
care of this special case both in the definition of &quot;declared type&quot; (what 
if [element declaration] is absent) and when &quot;declared type&quot; is used (what 
if it&apos;s absent).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10327</commentid>
    <comment_count>7</comment_count>
    <who name="Norman Walsh">Norman.Walsh</who>
    <bug_when>2006-06-29 18:56:23 +0000</bug_when>
    <thetext>Really actually fixed now. Per the decisions made at the June 2006 f2f.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415</attachid>
            <date>2006-04-03 17:32:40 +0000</date>
            <delta_ts>2006-04-03 17:32:40 +0000</delta_ts>
            <desc>Proposals adopted for bugs 2768 and 2790</desc>
            <filename>bugs.2768.2790.html</filename>
            <type>text/html</type>
            <size>18916</size>
            <attacher name="Jonathan Robie">jonathan.robie</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRt
bD48aGVhZD48dGl0bGU+Q2hhbmdlcyBmb3IgYnVncyAyNzY4IGFuZCAyNzkwPC90aXRsZT4NCg0K
DQoNCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQpkaXYuaW50cm8gew0KCWZvbnQtc3R5bGU6IGl0
YWxpYzsNCgljb2xvcjogbmF2eTsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjREREOw0KCW1hcmdpbjog
MWVtIDJlbTsNCn0NCmRlbCwgLmRlbCB7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGQkJCQjsNCgl0
ZXh0LWJlZm9yZTogIiYjeDIxOTM7IjsNCgl0ZXh0LWFmdGVyOiAiJiN4MjE5MzsiOw0KCXRleHQt
ZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOw0KfQ0KaW5zLCAuYWRkIHsNCgliYWNrZ3JvdW5kLWNv
bG9yOiB5ZWxsb3c7DQoJdGV4dC1iZWZvcmU6ICImI3gyMTkxOyI7DQoJdGV4dC1hZnRlcjogIiYj
eDIxOTE7IjsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KPC9zdHlsZT4NCjxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQpjb2RlICAgICAgICAgICB7IGZvbnQtZmFtaWx5OiBtb25v
c3BhY2U7IH0NCg0KZGl2LmNvbnN0cmFpbnQsDQpkaXYuaXNzdWUsDQpkaXYubm90ZSwNCmRpdi5u
b3RpY2UgICAgIHsgbWFyZ2luLWxlZnQ6IDJlbTsgfQ0KDQpkaXYuaXNzdWUNCnAudGl0bGUgICAg
ICAgIHsgbWFyZ2luLWxlZnQ6IC0yZW07IH0NCg0Kb2wuZW51bWFyICAgICAgeyBsaXN0LXN0eWxl
LXR5cGU6IGRlY2ltYWw7IH0NCm9sLmVudW1sYSAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dl
ci1hbHBoYTsgfQ0Kb2wuZW51bWxyICAgICAgeyBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFu
OyB9DQpvbC5lbnVtdWEgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7IH0NCm9s
LmVudW11ciAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjsgfQ0KDQpsaSBwICAg
ICAgICAgICB7IG1hcmdpbi10b3A6IDAuM2VtOw0KICAgICAgICAgICAgICAgICBtYXJnaW4tYm90
dG9tOiAwLjNlbTsgfQ0KDQpzdXAgc21hbGwgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAg
ICAgICAgICAgICAgICAgY29sb3I6ICM4RjhGOEY7DQogICAgICAgICAgICAgICB9DQogICAgDQpk
aXYuZXhhbXBsZUlubmVyIHByZSB7IG1hcmdpbi1sZWZ0OiAxZW07DQogICAgICAgICAgICAgICAg
ICAgICAgIG1hcmdpbi10b3A6IDBlbTsgbWFyZ2luLWJvdHRvbTogMGVtfQ0KZGl2LmV4YW1wbGVP
dXRlciB7Ym9yZGVyOiA0cHggZG91YmxlIGdyYXk7DQogICAgICAgICAgICAgICAgICBtYXJnaW46
IDBlbTsgcGFkZGluZzogMGVtfQ0KZGl2LmV4YW1wbGVJbm5lciB7IGJhY2tncm91bmQtY29sb3I6
ICNkNWRlZTM7DQogICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogNHB4Ow0KICAg
ICAgICAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdWJsZTsNCiAgICAgICAgICAgICAg
ICAgICBib3JkZXItdG9wLWNvbG9yOiAjZDNkM2QzOw0KICAgICAgICAgICAgICAgICAgIGJvcmRl
ci1ib3R0b20td2lkdGg6IDRweDsNCiAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXN0
eWxlOiBkb3VibGU7DQogICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Qz
ZDNkMzsNCiAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7IG1hcmdpbjogMGVtIH0NCmRp
di5leGFtcGxlV3JhcHBlciB7IG1hcmdpbjogNHB4IH0NCmRpdi5leGFtcGxlSGVhZGVyIHsgZm9u
dC13ZWlnaHQ6IGJvbGQ7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4fQ0KDQpkaXYu
aXNzdWUgeyBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsNCiAgICAgICAgICAgIGJvcmRlci1i
b3R0b20tc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB0
Ow0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBwdDsNCn0NCg0KdGguaXNzdWUtdG9jLWhl
YWQgeyBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsNCiAgICAgICAgICAgICAgICAgICAgYm9y
ZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7DQogICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0
b20td2lkdGg6IDFwdDsNCn0NCg0KICAgICAgDQogICAgICAudGVybWRlZiAgICAgeyBjb2xvcjog
cmdiKDEzMywwLDAzMyk7DQogICAgICAgICAgICAgICAgICAgfQ0KICAgICAgLmFzaWRlICAgICAg
IHsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCBncmVlbjsNCiAgICAgICAgICAgICAgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6ICNFRUZGRUU7DQogICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxl
ZnQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAg
ICAgICAgICAgICAgfQ0KDQogICAgICAubm9kZS1zdW1tYXJ5IHRhYmxlICAgICAgIHsgbWFyZ2lu
LWxlZnQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgLm5v
ZGUtc3VtbWFyeSB0aGVhZCB0ZCAgICB7IGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAubm9kZS1zdW1tYXJ5IHRkICAgICAgICAgIHsg
cGFkZGluZy1sZWZ0OiAxZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFk
ZGluZy1yaWdodDogMWVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRl
ci1ib3R0b206IDFweCBzb2xpZCBncmF5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9DQoNCiAgICAgIC5pbmZvc2V0LW1hcHBpbmcgdGFibGUgICAgeyBtYXJnaW4tbGVmdDogMWVt
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAuaW5mb3NldC1tYXBw
aW5nIHRoZWFkIHRkIHsgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgIC5pbmZvc2V0LW1hcHBpbmcgdGQgICAgICAgeyBwYWRkaW5nLWxl
ZnQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0
OiAxZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgLmlzc3Vl
LWNsb3NlZCAgICAgICAgICAgICB7IGNvbG9yOiBncmVlbjsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KDQogICAgICAuaXNzdWUtcmVzb2x2ZWQgICAgICAgICAgIHsgY29sb3I6
IHJlZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAuaXNzdWUt
b3BlbiAgICAgICAgICAgICAgIHsgY29sb3I6IHJlZDsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KDQpkaXYuc2NoZW1hQ29tcCAgeyBib3JkZXI6IDRweCBkb3VibGUgZ3JheTsN
CiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMGVtIDFlbTsNCiAgICAgICAgICAgICAgICAgIHBh
ZGRpbmc6IDBlbTsNCiAgICAgICAgICAgICAgICB9DQpkaXYuY29tcEhlYWRlciAgeyBtYXJnaW46
IDRweDsNCiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgICAgICAg
ICAgIH0NCnNwYW4uc2NoZW1hQ29tcCB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICAgICAg
ICAgICAgICAgICAgY29sb3I6ICNBNTJBMkE7DQogICAgICAgICAgICAgICAgfQ0KZGl2LmNvbXBC
b2R5ICAgIHsgYm9yZGVyLXRvcC13aWR0aDogNHB4Ow0KICAgICAgICAgICAgICAgICAgYm9yZGVy
LXRvcC1zdHlsZTogZG91YmxlOw0KICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjog
I2QzZDNkMzsNCiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDsNCiAgICAgICAgICAgICAg
ICAgIG1hcmdpbjogMGVtOw0KICAgICAgICAgICAgICAgIH0NCg0KZGl2LmV4YW1wbGVJbm5lciB7
IGJhY2tncm91bmQtY29sb3I6ICNkNWRlZTM7DQogICAgICAgICAgICAgICAgICAgY29sb3I6IGJs
YWNrOw0KICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDsNCiAgICAgICAg
ICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7DQogICAgICAgICAgICAgICAgICAg
Ym9yZGVyLXRvcC1jb2xvcjogI2QzZDNkMzsNCiAgICAgICAgICAgICAgICAgICBib3JkZXItYm90
dG9tLXdpZHRoOiA0cHg7DQogICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTog
ZG91YmxlOw0KICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkM2QzZDM7
DQogICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4Ow0KICAgICAgICAgICAgICAgICAgIG1h
cmdpbjogMGVtOw0KICAgICAgICAgICAgICAgICB9DQoNCmRpdi5pc3N1ZUJvZHkgICAgeyBtYXJn
aW4tbGVmdDogMC4yNWluOw0KICAgICAgICAgICAgICAgICB9DQoNCmNvZGUuZnVuY3Rpb24gICAg
eyBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgICAgICAgfQ0KY29kZS5yZXR1cm4tdHlw
ZSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgICAgICAgICAgfQ0KY29kZS50eXBlICAg
ICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgICAgICAgICAgfQ0KY29kZS5hcyAg
ICAgICAgICB7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgICAgICAgICAgfQ0KY29kZS5h
cmcgICAgICAgICB7DQogICAgICAgICAgICAgICAgIH0NCmNvZGUuc3RyaWtlb3V0ICAgeyB0ZXh0
LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCiAgICAgICAgICAgICAgICAgfQ0KcC50YWJsZS5m
b290bm90ZSB7IGZvbnQtc2l6ZTogOHB0Ow0KICAgICAgICAgICAgICAgICB9DQoNCnNwYW4uZnVu
Y3Rpb24gICAgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOw0KICAgICAgICAgICAgICAgICB9DQoN
CnNwYW4ucHJlZml4ICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgICAgICAgICAgICAg
IH0NCg0KdHIuZG9jdW1lbnQgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6ICNGRkQ0
RUE7IH0NCnRyLmVsZW1lbnQgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTZF
M0QxOyB9DQp0ci5hdHRyaWJ1dGUgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0U3
RTZGRjsgfQ0KdHIudGV4dCAgICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6ICNG
RkZGQzI7IH0NCnRyLnByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24geyBiYWNrZ3JvdW5kLWNvbG9yOiAj
RTVGREZFOyB9DQp0ci5jb21tZW50ICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjog
I0UxRTFFMTsgfQ0KdHIubmFtZXNwYWNlICAgICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6
ICNFN0U2RkY7IH0NCg0KPC9zdHlsZT4NCjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxl
c2hlZXQiIGhyZWY9ImJ1Z3MuMjc2OC4yNzkwX2ZpbGVzL2Jhc2UuY3NzIj48L2hlYWQ+PGJvZHk+
DQoNCjxoMT5Qb3NzaWJsZSBjaGFuZ2VzIGZvciBidWdzIDI3NjggYW5kIDI3OTA8L2gxPg0KPGhy
Pg0KPGgyPkZpeCBmb3IgYnVnIDI3Njg8L2gyPg0KPGRpdiBjbGFzcz0iaW50cm8iPiANCjxwIGNs
YXNzPSJub3RlIj5CdWcgMjc2OCBub3RlcyB0aGF0IHRoZSBjdXJyZW50IGRlc2NyaXB0aW9uIG9m
DQp0eXBlZCB2YWx1ZSBkZXRlcm1pbmF0aW9uIHJlbGllcyBvbiBuYW1lZCBwcm9wZXJ0aWVzIGlu
IHRoZSBQU1ZJLA0KYW5kIHRoYXQgdGhlIG5hbWVkIHByb3BlcnRpZXMgdXNlZCBhcmUgbm90IGFj
dHVhbGx5IGd1YXJhbnRlZWQgdG8NCmJlIGRlZmluZWQgaW4gdGhlIFBTVkkgZm9yIGFsbCByZWN1
cnNpdmUgY2FzZXMuICBUaGF0IGlzLCANCjxlbT50aGUgUFNWSSBkb2VzIG5vdCBkZWZpbmUgdGVy
bXMgZm9yIGFsbCBvZiB0aGUgcHJvcGVydGllcw0Kd2hpY2ggYXJlIGtub3duIGluIHRoZSBjb3Vy
c2Ugb2YgdmFsaWRhdGlvbiBhbmQgd2hpY2ggYXJlIHJlcXVpcmVkDQpmb3IgbWFwcGluZyBhIFBT
VkkgaW50byBhIGRhdGEtbW9kZWwgaW5zdGFuY2UuPC9lbT48L3A+DQo8cCBjbGFzcz0ibm90ZSI+
VG8gYXZvaWQgdGhpcyBwcm9ibGVtLCB0aGUgcHJvcG9zYWwgYmVsb3cgYXBwZWFscw0Kbm90IHRv
IHNwZWNpZmljIG5hbWVkIHByb3BlcnRpZXMgaW4gdGhlIFBTVkkgYnV0IHRvIHRoZSBmdW5kYW1l
bnRhbA0Kbm90aW9uIG9mIHRoZSByZWxhdGlvbiBtYXBwaW5nIGxleGljYWwgcmVwcmVzZW50YXRp
b25zIGludG8gc2ltcGxlIA0KdmFsdWVzLCBhbmQgdG8gdGhlIHJ1bGVzIGdpdmVuIGluIFNjaGVt
YSBQYXJ0IDEgZm9yIG1ha2luZyB0aGF0DQpyZWxhdGlvbiBpbnRvIGEgZnVuY3Rpb24gaW4gY29u
dGV4dC48L3A+DQo8cCBjbGFzcz0ibm90ZSI+VGhlIFhTTCBhbmQgWE1MIFF1ZXJ5IFdvcmtpbmcg
R3JvdXBzIG1heSB3aXNoIHRvDQpmaWxlIGEgY29tbWVudCBhZ2FpbnN0IFhNTCBTY2hlbWEgcG9p
bnRpbmcgdG8gdGhlIGFic2VuY2Ugb2YNClBTVkkgaW5mb3JtYXRpb24gaXRlbXMgZm9yIHRoZSBp
bmRpdmlkdWFsIHZhbHVlcyBpbiBhIGxpc3Qgb2YNCnZhbHVlcywgYW5kIHRoZSBhYnNlbmNlIG9m
IGRlZmluZWQgUFNWSSBwcm9wZXJ0eSBuYW1lcyBmb3INCnRoZSBpbmZvcm1hdGlvbiBuZWVkZWQg
Zm9yIHRoZSBQU1ZJLXRvLVhETSBtYXBwaW5nLjwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icHJv
cG9zYWwiPg0KPGRpdiBjbGFzcz0iZGl2NCI+DQo8aDU+PGEgaWQ9IlR5cGVkVmFsdWVEZXRlcm1p
bmF0aW9uIiBuYW1lPSJUeXBlZFZhbHVlRGV0ZXJtaW5hdGlvbiI+PC9hPjMuMy4xLjIgVHlwZWQg
VmFsdWUgRGV0ZXJtaW5hdGlvbjwvaDU+DQoNCjxwPlRoaXMgc2VjdGlvbiBkZXNjcmliZXMgaG93
IHRoZSB0eXBlZCB2YWx1ZSBvZiBhbiBFbGVtZW50IG9yDQpBdHRyaWJ1dGUgTm9kZSBpcyBjb21w
dXRlZCBmcm9tIGFuIGVsZW1lbnQgb3IgYXR0cmlidXRlIFBTVkkNCmluZm9ybWF0aW9uIGl0ZW0s
IHdoZXJlIHRoZSBpbmZvcm1hdGlvbiBpdGVtIGhhcyBlaXRoZXIgYSBzaW1wbGUgdHlwZQ0Kb3Ig
YSBjb21wbGV4IHR5cGUgd2l0aCBzaW1wbGUgY29udGVudC4gRm9yIG90aGVyIGtpbmRzIG9mIEVs
ZW1lbnQNCk5vZGVzLCBzZWUgPGEgaHJlZj0iI2NvbnN0LXBzdmktZWxlbWVudCI+PGI+Ni4yLjQg
Q29uc3RydWN0aW9uIGZyb20gYQ0KUFNWSTwvYj48L2E+OyBmb3Igb3RoZXIga2luZHMgb2YgQXR0
cmlidXRlIE5vZGVzLCBzZWUgPGEgaHJlZj0iI2NvbnN0LXBzdmktYXR0cmlidXRlIj48Yj42LjMu
NCBDb25zdHJ1Y3Rpb24gZnJvbSBhDQpQU1ZJPC9iPjwvYT4uPC9wPg0KDQo8cD5UaGUgdHlwZWQg
dmFsdWUgb2YgQXR0cmlidXRlIE5vZGVzIGFuZCBzb21lIEVsZW1lbnQgTm9kZXMgaXMgYQ0Kc2Vx
dWVuY2Ugb2YgYXRvbWljIHZhbHVlcy4gVGhlIHR5cGVzIG9mIHRoZSBpdGVtcyBpbiB0aGUgdHlw
ZWQgdmFsdWUNCm9mIGEgbm9kZSBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSB0eXBlIG9mIHRo
ZSBub2RlIGl0c2VsZi4gVGhpcw0Kc2VjdGlvbiBkZXNjcmliZXMgaG93IHRoZSB0eXBlZCB2YWx1
ZSBvZiBhIG5vZGUgaXMgZGVyaXZlZCBmcm9tIHRoZQ0KcHJvcGVydGllcyBvZiBhbiBpbmZvcm1h
dGlvbiBpdGVtIGluIGEgUFNWSS48L3A+DQoNCjxwPlRoZSB0eXBlcyBvZiB0aGUgaXRlbXMgaW4g
dGhlIHR5cGVkIHZhbHVlIG9mIGEgbm9kZSBhcmUgZGV0ZXJtaW5lZA0KPGRlbD4mIzg1OTU7Ynkg
YSByZWN1cnNpdmUgcHJvY2VzcyBjYWxsZWQgdHlwZWQgdmFsdWUgZGV0ZXJtaW5hdGlvbi4gVGhp
cyYjODU5NTs8L2RlbD48aW5zPiYjODU5MzthcyANCmZvbGxvd3MuICBUaGUmIzg1OTM7PC9pbnM+
IHByb2Nlc3MNCmJlZ2lucyB3aXRoIDxjb2RlPlQ8L2NvZGU+LCB0aGUgc2NoZW1hIHR5cGUgb2Yg
dGhlIG5vZGUgaXRzZWxmLCBhcw0KcmVwcmVzZW50ZWQgaW4gdGhlIFBTVkkuIDxkZWw+JiM4NTk1
O1RoZSB0eXBlIDxjb2RlPlQ8L2NvZGU+IGhhcyBhIHZhcmlldHksIHdoaWNoDQppcyBlaXRoZXIg
YXRvbWljLCB1bmlvbiwgb3IgbGlzdC4gVGhlIHR5cGVkIHZhbHVlIGRldGVybWluYXRpb24NCnBy
b2Nlc3MgaXMgZGVmaW5lZCBhcyBmb2xsb3dzOiYjODU5NTs8L2RlbD4NCjxpbnM+JiM4NTkzO0Zv
ciBlYWNoIHByaW1pdGl2ZSBvciBvcmRpbmFyeSBzaW1wbGUgdHlwZSA8Y29kZT5UPC9jb2RlPiwg
dGhlIFczQyBYTUwgU2NoZW1hIA0Kc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgZnVuY3Rpb24gPGNv
ZGU+TTwvY29kZT4gbWFwcGluZyB0aGUgbGV4aWNhbCByZXByZXNlbnRhdGlvbiBvZg0KYSB2YWx1
ZSBvbnRvIHRoZSB2YWx1ZSBpdHNlbGYuJiM4NTkzOzwvaW5zPjwvcD4NCg0KPHAgY2xhc3M9ImFk
ZCI+JiM4NTkzO05vdGU6IEZvciBhdG9taWMgYW5kIGxpc3QgdHlwZXMsIHRoZSBtYXBwaW5nIGlz
IHRoZSAmIzgyMjA7bGV4aWNhbA0KICBtYXBwaW5nJiM4MjIxOyBkZWZpbmVkIGZvciA8Y29kZT5U
PC9jb2RlPiBpbiA8YSBocmVmPSIjeG1sc2NoZW1hLTIiPltTY2hlbWEgDQogIFBhcnQgMl08L2E+
OyBmb3IgdW5pb24gdHlwZXMsIHRoZSBtYXBwaW5nIGlzIHRoZSBsZXhpY2FsIG1hcHBpbmcgZGVm
aW5lZCANCiAgaW4gPGEgaHJlZj0iI3htbHNjaGVtYS0yIj5bU2NoZW1hIFBhcnQgMl08L2E+IG1v
ZGlmaWVkIGJ5IHRoZSBydWxlcyBpbiANCiAgPGEgaHJlZj0iI3htbHNjaGVtYS0xIj5bU2NoZW1h
IFBhcnQgMV08L2E+IHdoaWNoIG1ha2UgaXQgaW50byBhIGZ1bmN0aW9uDQogIGJ5IHNwZWNpZnlp
bmcgd2hpY2ggdmFsdWUgdG8gc2VsZWN0IHdoZW4gbW9yZSB0aGFuIG9uZSBpcyBtYXBwZWQgdG8g
YnkNCiAgdGhlIGxleGljYWwgbWFwcGluZy4mIzg1OTM7DQo8L3A+DQoNCjxwIGNsYXNzPSJhZGQi
PiYjODU5MztUaGUgdHlwZWQgdmFsdWUgaXMgZGV0ZXJtaW5lZCBhcyBmb2xsb3dzOiYjODU5Mzs8
L3A+DQo8dWw+DQo8bGk+DQo8cD5JZiB0aGUgPGI+bmlsbGVkPC9iPiBwcm9wZXJ0eSBvZiB0aGUg
bm9kZSBpbiBxdWVzdGlvbiBpcw0KPGNvZGU+dHJ1ZTwvY29kZT4sIHRoZW4gdGhlIHR5cGVkIHZh
bHVlIGlzIHRoZSBlbXB0eSBzZXF1ZW5jZS48L3A+DQo8L2xpPg0KDQo8bGk+DQo8cD5JZiA8Y29k
ZT5UPC9jb2RlPiBpcyA8Y29kZT54czphbnlTaW1wbGVUeXBlPC9jb2RlPiwgdGhlIHR5cGVkIHZh
bHVlDQppcyB0aGUgPGI+W3NjaGVtYSBub3JtYWxpemVkIHZhbHVlXTwvYj4gYXMgYW4gaW5zdGFu
Y2Ugb2YNCjxjb2RlPnhkdDp1bnR5cGVkQXRvbWljPC9jb2RlPi48L3A+DQo8L2xpPg0KPGxpIGNs
YXNzPSJhZGQiPg0KPHA+JiM4NTkzO090aGVyd2lzZSwgdGhlIHR5cGVkIHZhbHVlIGlzIHRoZSBy
ZXN1bHQgb2YgYXBwbHlpbmcgPGNvZGU+TTwvY29kZT4gdG8gdGhlDQpzdHJpbmcgdmFsdWUuJiM4
NTkzOzwvcD4NCjwvbGk+DQo8bGkgY2xhc3M9ImRlbCI+DQo8cD4mIzg1OTU7SWYgdGhlIHt2YXJp
ZXR5fSBvZiA8Y29kZT5UPC9jb2RlPiBpcyBhdG9taWMsIHRoZSB0eXBlZCB2YWx1ZSBpcyBhbg0K
aW5zdGFuY2Ugb2YgPGNvZGU+VDwvY29kZT4gZGVyaXZlZCBmcm9tIHRoZSA8Yj5bc2NoZW1hIG5v
cm1hbGl6ZWQNCnZhbHVlXTwvYj4gaW4gYSB3YXkgY29uc2lzdGVudCB3aXRoIFhNTCBTY2hlbWEg
dmFsaWRhdGlvbi4mIzg1OTU7PC9wPg0KPC9saT4NCjxsaSBjbGFzcz0iZGVsIj4NCjxwPiYjODU5
NTtJZiB0aGUge3ZhcmlldHl9IG9mIDxjb2RlPlQ8L2NvZGU+IGlzIHVuaW9uLCB0aGVuIHRoZSB0
eXBlIG9mIHRoZQ0KdHlwZWQgdmFsdWUgaXMgdGhlIGRldGVybWluZWQgYnkgdGhlIHR5cGUgZGVm
aW5pdGlvbiB0aGF0IGFjdHVhbGx5DQp2YWxpZGF0ZWQgdGhlIGNvbnRlbnQgb2YgdGhlIG5vZGUs
IGFzIGZvbGxvd3M6PC9wPg0KPHVsPg0KPGxpPg0KPHA+SWYgPGI+W21lbWJlciB0eXBlIGRlZmlu
aXRpb25dPC9iPiBleGlzdHM6IElmIHRoZSB7bmFtZX0gcHJvcGVydHkNCmV4aXN0cywgdGhlIHt0
YXJnZXQgbmFtZXNwYWNlfSBhbmQge25hbWV9IHByb3BlcnRpZXMgb2YgdGhlIDxiPlttZW1iZXIN
CnR5cGUgZGVmaW5pdGlvbl08L2I+OyBvdGhlcndpc2UsIHRoZSBhcHByb3ByaWF0ZSBhbm9ueW1v
dXMgdHlwZQ0KbmFtZS48L3A+DQo8L2xpPg0KPGxpPg0KPHA+SWYgPGI+W21lbWJlciB0eXBlIGRl
ZmluaXRpb24gYW5vbnltb3VzXTwvYj4gZXhpc3RzOiBJZiBpdCBpcw0KZmFsc2UsIHRoZSA8Yj5b
bWVtYmVyIHR5cGUgZGVmaW5pdGlvbiBuYW1lc3BhY2VdPC9iPiBhbmQgPGI+W21lbWJlcg0KdHlw
ZSBkZWZpbml0aW9uIG5hbWVdPC9iPiBwcm9wZXJ0aWVzOyBvdGhlcndpc2UsIHRoZSBhcHByb3By
aWF0ZQ0KYW5vbnltb3VzIHR5cGUgbmFtZS48L3A+DQo8L2xpPg0KPC91bD4NCjxwPlRoZSByZXN1
bHRpbmcgdHlwZSBpcyBzdWJzdGl0dXRlZCBmb3IgPGNvZGU+VDwvY29kZT4sIGFuZCB0aGUgdHlw
ZWQNCnZhbHVlIGRldGVybWluYXRpb24gcHJvY2VzcyBpcyBpbnZva2VkIHJlY3Vyc2l2ZWx5LiYj
ODU5NTs8L3A+DQo8L2xpPg0KPGxpIGNsYXNzPSJkZWwiPg0KPHA+JiM4NTk1O0lmIHRoZSB7dmFy
aWV0eX0gb2YgPGNvZGU+VDwvY29kZT4gaXMgbGlzdCwgdGhlIDxiPltzY2hlbWENCm5vcm1hbGl6
ZWQgdmFsdWVdPC9iPiBvZiB0aGUgbm9kZSBpcyBjb25zaWRlcmVkIHRvIGJlIGENCnNwYWNlLXNl
cGFyYXRlZCBsaXN0IG9mIGxleGljYWwgZm9ybXMsIGVhY2ggb2Ygd2hpY2ggaGFzIGl0cyBvd24N
CnR5cGUuIEZvciBlYWNoIG9mIHRoZXNlIGxleGljYWwgZm9ybXMsIHRoZSB0eXBlIG9mIHRoZSBj
b3JyZXNwb25kaW5nDQppdGVtIGlzIGZvdW5kIGluIHtpdGVtIHR5cGUgZGVmaW5pdGlvbn0uIFRo
aXMgdHlwZSBpcyB0aGVuIHN1YnN0aXR1dGVkDQpmb3IgPGNvZGU+VDwvY29kZT4sIGFuZCB0aGUg
dHlwZWQgdmFsdWUgZGV0ZXJtaW5hdGlvbiBwcm9jZXNzIGlzDQppbnZva2VkIHJlY3Vyc2l2ZWx5
IGZvciBlYWNoIG1lbWJlciBvZiB0aGUgbGlzdC4mIzg1OTU7PC9wPg0KPC9saT4NCjwvdWw+DQo8
cD5UaGUgdHlwZWQgdmFsdWUgZGV0ZXJtaW5hdGlvbiBwcm9jZXNzIGlzIGd1YXJhbnRlZWQgdG8g
cmVzdWx0IGluIGENCnNlcXVlbmNlIG9mIGF0b21pYyB2YWx1ZXMsIGVhY2ggaGF2aW5nIGEgd2Vs
bC1kZWZpbmVkIGF0b21pYw0KdHlwZS4gVGhpcyBzZXF1ZW5jZSBvZiBhdG9taWMgdmFsdWVzLCBp
biB0dXJuLCBkZXRlcm1pbmVzIHRoZQ0KdHlwZWQtdmFsdWUgcHJvcGVydHkgb2YgdGhlIG5vZGUg
aW4gdGhlIGRhdGEgbW9kZWwuPC9wPg0KPC9kaXY+DQoNCjwvZGl2Pg0KDQo8aHI+IA0KDQo8aDI+
UG9zc2libGUgZml4IGZvciBCdWcgMjc5MDwvaDI+DQoNCjxkaXYgY2xhc3M9ImludHJvIj4gDQoN
CjxwPkJ1ZyAyNzkwIG5vdGVzIHRoYXQgdGhlIDxiPlt0eXBlIGRlZmluaXRpb25dPC9iPiBwcm9w
ZXJ0eSBvZiB0aGUNClBTVkkgY29ycmVzcG9uZHMgdG8gdGhlIGRlY2xhcmVkIHR5cGUgb2YgYW4g
ZWxlbWVudCBvbmx5IG1vc3Qgb2YgdGhlDQp0aW1lLiAgSWYgdGhlIDxjb2RlPnhzaTp0eXBlPC9j
b2RlPiBhdHRyaWJ1dGUgaXMgdXNlZCwgdGhlIDxiPlt0eXBlDQpkZWZpbml0aW9uXTwvYj4gcHJv
cGVydHkgd2lsbCBoYXZlIGFzIGl0cyB2YWx1ZSB0aGUgdHlwZSBkZWZpbml0aW9uDQpuYW1lZCBp
biB0aGUgPGNvZGU+eHNpOnR5cGU8L2NvZGU+IGF0dHJpYnV0ZS4gIFRoaXMgY2FuIGxlYWQgdG8N
CnVuZXhwZWN0ZWQgcmVzdWx0cyB3aGVuIG5vZGVzIGluIHRoZSBkYXRhIG1vZGVsIGFyZSB0ZXN0
ZWQgdXNpbmcNCjxjb2RlPmluc3RhbmNlIG9mPC9jb2RlPiwgaW4gcGFydGljdWxhciBmb3IgYW4g
ZWxlbWVudCA8Y29kZT5FPC9jb2RlPg0KZGVjbGFyZWQgd2l0aCBhIHVuaW9uIHR5cGUgPGNvZGU+
VTwvY29kZT4gaGF2aW5nIG1lbWJlcnMNCjxjb2RlPlQxPC9jb2RlPiBhbmQgPGNvZGU+VDI8L2Nv
ZGU+LCBpZiBvbmUgaW5zdGFuY2Ugb2YgPGNvZGU+RTwvY29kZT4NCmhhcyA8Y29kZT54c2k6dHlw
ZT0iVDIiPC9jb2RlPiwgdGhlbiByZXN1bHRzIGNhbiBiZSB1bmV4cGVjdGVkDQpmb3I6PC9wPiA8
cHJlPmZvciAkZSBpbiAvRSANCnJldHVybiAkZSBpbnN0YW5jZSBvZiBlbGVtZW50KEUsVSkNCg0K
Zm9yICRlIGluIC9FIA0KcmV0dXJuICRlIGluc3RhbmNlIG9mIGVsZW1lbnQoRSxUMikNCjwvcHJl
Pg0KDQo8cD5UaGlzIHByb3Bvc2FsIGF0dGVtcHRzIHRvIG1ha2UgdGhlIHJlc3VsdHMgYWdyZWUg
YmV0dGVyIHdpdGgNCmV4cGVjdGF0aW9uIGJ5IHVzaW5nIG5vdCB0aGUgPGI+W3R5cGUgZGVmaW5p
dGlvbl08L2I+IHByb3BlcnR5IG9mIHRoZQ0KZWxlbWVudCBpbnN0YW5jZSB0byBpZGVudGlmeSB0
aGUgdHlwZSBvZiB0aGUgZWxlbWVudCBub2RlLCBidXQgaW5zdGVhZA0KdGhlIDxiPlt0eXBlIGRl
ZmluaXRpb25dPC9iPiBnaXZlbiBvbiB0aGUgPGI+ZWxlbWVudCBkZWNsYXJhdGlvbjwvYj4sDQp3
aGVuIHRoZSBsYXR0ZXIgaXMgYSB1bmlvbiB0eXBlIGFuZCB0aGUgZm9ybWVyIGlzIG9uZSBvZiBp
dHMNCm1lbWJlcnMuPC9wPg0KDQo8cD5UaGUgZGVjbGFyZWQgdHlwZSBpcyA8ZW0+bm90PC9lbT4g
dXNlZCBvdGhlcndpc2UsIHNpbmNlIHdoZW4gdGhlDQp0eXBlIGdpdmVuIGluIDxjb2RlPnhzaTp0
eXBlPC9jb2RlPiBpcyBhY3R1YWxseSBkZXJpdmVkIGZyb20gdGhlDQpkZWNsYXJlZCB0eXBlLCB1
c2luZyB0aGUgZGVjbGFyZWQgdHlwZSB3b3VsZCBsb3NlIHBvdGVudGlhbGx5IHVzZWZ1bA0KaW5m
b3JtYXRpb24uPC9wPg0KDQo8cD5UaGUgWE1MIFF1ZXJ5IGFuZCBYU0wgV29ya2luZyBHcm91cHMg
bWF5IHdpc2ggdG8gZmlsZSBhIGNvbW1lbnQNCmFnYWluc3QgWE1MIFNjaGVtYSBhc2tpbmcgdGhh
dCB0aGUgZGVjbGFyZWQgdHlwZSBvZiBhbiBlbGVtZW50IG9yDQphdHRyaWJ1dGUgYmUgZ2l2ZW4g
YSBjb252ZW5pZW50IG5hbWUgaW4gdGhlIFBTVkkuPC9wPg0KDQo8cD5JbiBwYXNzaW5nLCB0aGUg
cHJvcG9zYWwgYWxzbyBjaGFuZ2VzIHdvcmRzIHdoaWNoIHN1Z2dlc3QNCihmb2xsb3dpbmcgd29y
ZGluZyBpbiBYTUwgU2NoZW1hIDEuMCB3aGljaCBpcyBub3cgZ2VuZXJhbGx5DQphY2tub3dsZWRn
ZWQgdG8gYmUgbWlzbGVhZGluZykgdGhhdCBjZXJ0YWluIHByb3BlcnRpZXMgbWF5IGJlIHByZXNl
bnQNCm9yIGFic2VudCBpbiB0aGUgUFNWSS4gIEluIHByaW5jaXBsZSwgYWxsIHByb3BlcnRpZXMg
YXJlIG5lY2Vzc2FyaWx5DQpwcmVzZW50IGluIHRoZSBQU1ZJOyB0aGV5IG1heSBvciBtYXkgbm90
IGJlIGFjY2Vzc2libGUgdGhyb3VnaCBhDQpwYXJ0aWN1bGFyIEFQSS4gPC9wPg0KDQo8cD5UaGUg
V29ya2luZyBHcm91cHMgc2hvdWxkIHByb2JhYmx5IGZpbGUgYSBidWcgcmVwb3J0IGFnYWluc3Qg
WE1MDQpTY2hlbWEgMS4wIGFuZCAxLjEsIHJlcXVlc3RpbmcgdGhhdCB0aGUgbWlzbGVhZGluZyB3
b3JkaW5nIHNob3VsZCANCmJlIGZpeGVkIGluIDEuMSBhbmQgaW4gYW4gZXJyYXR1bSB0byAxLjAu
PC9wPg0KDQo8L2Rpdj4NCjxkaXYgY2xhc3M9InByb3Bvc2FsIj4gDQo8ZGl2IGNsYXNzPSJkaXY0
Ij4NCjxoNT48YSBpZD0iUFNWSTJOb2RlVHlwZXMiIG5hbWU9IlBTVkkyTm9kZVR5cGVzIj48L2E+
My4zLjEuMSBFbGVtZW50DQphbmQgQXR0cmlidXRlIE5vZGUgVHlwZSBOYW1lczwvaDU+IA0KDQo8
cD5UaGUgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBzY2hlbWEgdHlwZSBvZiBhbiBlbGVtZW50
IG9yDQphdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXRlbSBkZXBlbmRzIG9uIHRoZSBwcm9wZXJ0aWVz
IG9mIHRoZSBQU1ZJLiBJbg0KdGhlIFBTVkksIDxhIGhyZWY9IiN4bWxzY2hlbWEtMSI+W1NjaGVt
YSBQYXJ0IDFdPC9hPiA8ZGVsPiYjODU5NTtvbmx5DQpndWFyYW50ZWVzIHRoZSBleGlzdGVuY2Ug
b2YgZWl0aGVyIHRoZSYjODU5NTs8L2RlbD4gPGlucz4mIzg1OTM7ZGVmaW5lcyBhJiM4NTkzOzwv
aW5zPg0KPGI+W3R5cGUgZGVmaW5pdGlvbl08L2I+IHByb3BlcnR5LCA8ZGVsPiYjODU5NTtvciYj
ODU5NTs8L2RlbD4gPGlucz4mIzg1OTM7YXMgd2VsbCBhcw0KdGhlJiM4NTkzOzwvaW5zPiB0aGUg
PGI+W3R5cGUgZGVmaW5pdGlvbiBuYW1lc3BhY2VdPC9iPiwgPGI+W3R5cGUgZGVmaW5pdGlvbg0K
bmFtZV08L2I+IGFuZCA8Yj5bdHlwZSBkZWZpbml0aW9uIGFub255bW91c108L2I+IHByb3BlcnRp
ZXM8aW5zPiYjODU5MzssDQp3aGljaCBhcmUgZWZmZWN0aXZlbHkgc2hvcnQtY3V0IHRlcm1zIGZv
ciBwcm9wZXJ0aWVzIG9mIHRoZSB0eXBlDQpkZWZpbml0aW9uJiM4NTkzOzwvaW5zPi4gIDxkZWw+
JiM4NTk1O0lmIHRoZSB0eXBlIGRlZmluaXRpb24gcmVmZXJzIHRvIGEgdW5pb24gdHlwZSwNCnRo
ZXJlIGFyZSBmdXJ0aGVyIHByb3BlcnRpZXMgZGVmaW5lZCwgdGhhdCByZWZlciB0byB0aGUgdHlw
ZQ0KZGVmaW5pdGlvbiB3aGljaCBhY3R1YWxseSB2YWxpZGF0ZWQgdGhlIGl0ZW0ncyBub3JtYWxp
emVkIHZhbHVlLiBUaGVzZQ0KcHJvcGVydGllcyBhcmUgbm90IHVzZWQgdG8gZGV0ZXJtaW5lIHRo
ZSBzY2hlbWEgdHlwZSBvZiB0aGUgbm9kZSBidXQNCnRoZXkgbWF5IGJlIHVzZWQgdG8gZGV0ZXJt
aW5lIHRoZSB0eXBlZCB2YWx1ZSBvZiB0aGUgbm9kZSwgYXMNCmRlc2NyaWJlZCBpbiA8YSBocmVm
PSIjVHlwZWRWYWx1ZURldGVybWluYXRpb24iPjxiPjMuMy4xLjIgVHlwZWQgVmFsdWUNCkRldGVy
bWluYXRpb248L2I+PC9hPi4mIzg1OTU7PC9kZWw+IDxpbnM+JiM4NTkzO0Z1cnRoZXIsIHRoZSA8
Yj5bZWxlbWVudA0KZGVjbGFyYXRpb25dPC9iPiBhbmQgPGI+W2F0dHJpYnV0ZSBkZWNsYXJhdGlv
bl08L2I+IHByb3BlcnRpZXMgYXJlDQpkZWZpbmVkIGZvciBlbGVtZW50cyBhbmQgYXR0cmlidXRl
cywgcmVzcGVjdGl2ZWx5LiAgVGhlc2UgZGVjbGFyYXRpb25zDQppbiB0dXJuIHdpbGwgaWRlbnRp
ZnkgdGhlIDxiPlt0eXBlIGRlZmluaXRpb25dPC9iPiBkZWNsYXJlZCBmb3IgdGhlDQplbGVtZW50
IG9yIGF0dHJpYnV0ZS4gIFRvIGRpc3Rpbmd1aXNoIHRoZSA8Yj5bdHlwZSBkZWZpbml0aW9uXTwv
Yj4NCmdpdmVuIGluIHRoZSBQU1ZJIGZvciB0aGUgZWxlbWVudCBvciBhdHRyaWJ1dGUgaW5zdGFu
Y2UgZnJvbSB0aGUNCjxiPlt0eXBlIGRlZmluaXRpb25dPC9iPiBhc3NvY2lhdGVkIHdpdGggdGhl
IGRlY2xhcmF0aW9uLCB0aGUgZm9ybWVyDQppcyByZWZlcnJlZCB0byBiZWxvdyBhcyB0aGUgPGNp
dGU+YWN0dWFsIHR5cGU8L2NpdGU+IGFuZCB0aGUgbGF0dGVyIGFzIHRoZQ0KPGNpdGU+ZGVjbGFy
ZWQgdHlwZTwvY2l0ZT4gb2YgdGhlIGVsZW1lbnQgb3IgYXR0cmlidXRlIGluc3RhbmNlIGluDQpx
dWVzdGlvbi4mIzg1OTM7PC9pbnM+PC9wPg0KDQo8cD5UaGUgdHlwZSBkZXBlbmRzIG9uIHRoZSA8
aW5zPiYjODU5MztkZWNsYXJlZCB0eXBlLCB0aGUNCmFjdHVhbCB0eXBlLCBhbmQgdGhlICYjODU5
Mzs8L2lucz48Yj5bdmFsaWRpdHldPC9iPiBhbmQgPGI+W3ZhbGlkYXRpb24NCmF0dGVtcHRlZF08
L2I+IHByb3BlcnRpZXMgaW4gdGhlIFBTVkkuIElmOjwvcD4NCg0KPHVsPg0KPGxpPg0KPHA+VGhl
IDxiPlt2YWxpZGl0eV08L2I+IGFuZCA8Yj5bdmFsaWRhdGlvbiBhdHRlbXB0ZWRdPC9iPiBwcm9w
ZXJ0aWVzDQpleGlzdCBhbmQgaGF2ZSB0aGUgdmFsdWVzICI8ZW0+dmFsaWQ8L2VtPiIgYW5kICI8
ZW0+ZnVsbDwvZW0+IiwNCnJlc3BlY3RpdmVseSwgdGhlIHNjaGVtYSB0eXBlIG9mIGFuIGVsZW1l
bnQgb3IgYXR0cmlidXRlIGluZm9ybWF0aW9uDQppdGVtIGlzIHJlcHJlc2VudGVkIGJ5IGFuIDxh
IHRpdGxlPSJleHBhbmRlZC1RTmFtZSIgaHJlZj0iI2R0LWV4cGFuZGVkLXFuYW1lIj5leHBhbmRl
ZC1RTmFtZTwvYT4gd2hvc2UgbmFtZXNwYWNlIGFuZCBsb2NhbA0KbmFtZSBjb3JyZXNwb25kIHRv
IHRoZSBmaXJzdCBhcHBsaWNhYmxlIGl0ZW1zIGluIHRoZSBmb2xsb3dpbmcNCmxpc3Q6PC9wPg0K
DQo8dWw+DQo8bGkgY2xhc3M9ImRlbCI+DQo8cD4mIzg1OTU7SWYgdGhlIDxiPlt0eXBlIGRlZmlu
aXRpb25dPC9iPiBwcm9wZXJ0eSBleGlzdHM6PC9wPg0KPHVsPg0KPGxpPg0KPHA+SWYgdGhlIHtu
YW1lfSBwcm9wZXJ0eSBpcyBub3QgYWJzZW50LCB0aGUge3RhcmdldCBuYW1lc3BhY2V9IGFuZA0K
e25hbWV9IHByb3BlcnRpZXMgb2YgdGhlIDxiPlt0eXBlIGRlZmluaXRpb25dPC9iPiBwcm9wZXJ0
eTs8L3A+DQo8L2xpPg0KPGxpPg0KPHA+T3RoZXJ3aXNlLCB0aGUgbmFtZXNwYWNlIGFuZCBsb2Nh
bCBuYW1lIG9mIHRoZSBhcHByb3ByaWF0ZSA8YSB0aXRsZT0iYW5vbnltb3VzIHR5cGUgbmFtZSIg
aHJlZj0iI2R0LWFub255bW91cy10eXBlLW5hbWUiPmFub255bW91cw0KdHlwZSBuYW1lPC9hPi4m
Izg1OTU7PC9wPg0KDQo8L2xpPg0KPC91bD4NCjwvbGk+DQo8bGkgY2xhc3M9ImRlbCI+DQo8cD4m
Izg1OTU7SWYgPGI+W3R5cGUgZGVmaW5pdGlvbiBhbm9ueW1vdXNdPC9iPiBleGlzdHM6PC9wPg0K
PHVsPg0KPGxpPg0KPHA+SWYgaXQgaXMgPGVtPmZhbHNlPC9lbT46IHRoZSA8Yj5bdHlwZSBkZWZp
bml0aW9uIG5hbWVzcGFjZV08L2I+IGFuZA0KdGhlIDxiPlt0eXBlIGRlZmluaXRpb24gbmFtZV08
L2I+IHByb3BlcnRpZXM7PC9wPg0KDQo8L2xpPg0KPGxpPg0KPHA+T3RoZXJ3aXNlLCB0aGUgbmFt
ZXNwYWNlIGFuZCBsb2NhbCBuYW1lIG9mIHRoZSBhcHByb3ByaWF0ZSA8YSB0aXRsZT0iYW5vbnlt
b3VzIHR5cGUgbmFtZSIgaHJlZj0iI2R0LWFub255bW91cy10eXBlLW5hbWUiPmFub255bW91cw0K
dHlwZSBuYW1lPC9hPi4mIzg1OTU7PC9wPg0KPC9saT4NCjwvdWw+DQo8L2xpPg0KDQo8bGkgY2xh
c3M9ImFkZCI+JiM4NTkzO0lmIHRoZSBkZWNsYXJlZCB0eXBlIGlzIGEgdW5pb24gYW5kIA0KdGhl
IGFjdHVhbCB0eXBlIGlzIChub3QgdGhlIHNhbWUgYXMgdGhlIGRlY2xhcmVkIHR5cGUsDQphbmQg
bm90IGEgdHlwZSBkZXJpdmVkIGZyb20gdGhlIGRlY2xhcmVkIHR5cGUsIGJ1dCkgDQpvbmUgb2Yg
dGhlIG1lbWJlciB0eXBlcyBvZiB0aGUgdW5pb24sIG9yIGRlcml2ZWQgZnJvbSBvbmUgb2YgaXRz
DQptZW1iZXIgdHlwZXM6PHVsPg0KPGxpPklmIHRoZSB7bmFtZX0gcHJvcGVydHkgb2YgdGhlIGRl
Y2xhcmVkIHR5cGUgaXMgcHJlc2VudDogDQp0aGUge3RhcmdldCBuYW1lc3BhY2V9IGFuZA0Ke25h
bWV9IHByb3BlcnRpZXMgb2YgdGhlIGRlY2xhcmVkIHR5cGUuPC9saT4NCjxsaT5JZiB0aGUge25h
bWV9IHByb3BlcnR5IG9mIHRoZSBkZWNsYXJlZCB0eXBlIGlzIGFic2VudDoNCnRoZSBuYW1lc3Bh
Y2UgYW5kIGxvY2FsIG5hbWUgb2YgdGhlIDxhIHRpdGxlPSJhbm9ueW1vdXMgdHlwZSBuYW1lIiBo
cmVmPSIjZHQtYW5vbnltb3VzLXR5cGUtbmFtZSI+YW5vbnltb3VzDQp0eXBlIG5hbWU8L2E+IHN1
cHBsaWVkIGZvciB0aGUgZGVjbGFyZWQgdHlwZS4NCjwvbGk+DQo8L3VsPg0KJiM4NTkzOzwvbGk+
DQoNCjxsaSBjbGFzcz0iYWRkIj4mIzg1OTM7T3RoZXJ3aXNlOjx1bD4NCjxsaT5JZiA8Yj5bdHlw
ZSBkZWZpbml0aW9uIGFub255bW91c108L2I+IGlzIDxlbT5mYWxzZTwvZW0+Og0KdGhlIHt0YXJn
ZXQgbmFtZXNwYWNlfSBhbmQNCntuYW1lfSBwcm9wZXJ0aWVzIG9mIHRoZSBhY3R1YWwgdHlwZS48
L2xpPg0KPGxpPklmIDxiPlt0eXBlIGRlZmluaXRpb24gYW5vbnltb3VzXTwvYj4gaXMgPGVtPnRy
dWU8L2VtPjoNCnRoZSBuYW1lc3BhY2UgYW5kIGxvY2FsIG5hbWUgb2YgdGhlIDxhIHRpdGxlPSJh
bm9ueW1vdXMgdHlwZSBuYW1lIiBocmVmPSIjZHQtYW5vbnltb3VzLXR5cGUtbmFtZSI+YW5vbnlt
b3VzDQp0eXBlIG5hbWU8L2E+IHN1cHBsaWVkIGZvciB0aGUgYWN0dWFsIHR5cGUuPC9saT4NCjwv
dWw+JiM4NTkzOzwvbGk+DQoNCjwvdWw+DQo8L2xpPg0KPGxpPg0KPHA+VGhlIDxiPlt2YWxpZGl0
eV08L2I+IHByb3BlcnR5IGV4aXN0cyBhbmQgaXMgIjxlbT5pbnZhbGlkPC9lbT4iLCBvcg0KdGhl
IDxiPlt2YWxpZGF0aW9uIGF0dGVtcHRlZF08L2I+IHByb3BlcnR5IGV4aXN0cyBhbmQgaXMNCiI8
ZW0+cGFydGlhbDwvZW0+IiwgdGhlIHNjaGVtYSB0eXBlIG9mIGFuIGVsZW1lbnQgaXMNCjxjb2Rl
PnhzOmFueVR5cGU8L2NvZGU+IGFuZCB0aGUgdHlwZSBvZiBhbiBhdHRyaWJ1dGUgaXMNCjxjb2Rl
PnhzOmFueVNpbXBsZVR5cGU8L2NvZGU+LjwvcD4NCg0KPC9saT4NCjxsaT4NCjxwPlRoZSA8Yj5b
dmFsaWRpdHldPC9iPiBwcm9wZXJ0eSBleGlzdHMgYW5kIGlzICI8ZW0+bm90S25vd248L2VtPiIs
DQphbmQgdGhlIDxiPlt2YWxpZGF0aW9uIGF0dGVtcHRlZF08L2I+IHByb3BlcnR5IGV4aXN0cyBh
bmQgaXMNCiI8ZW0+bm9uZTwvZW0+IiwgdGhlIHNjaGVtYSB0eXBlIG9mIGFuIGVsZW1lbnQgaXMN
Cjxjb2RlPnhkdDp1bnR5cGVkPC9jb2RlPiBhbmQgdGhlIHR5cGUgb2YgYW4gYXR0cmlidXRlIGlz
DQo8Y29kZT54ZHQ6dW50eXBlZEF0b21pYzwvY29kZT4uPC9wPg0KDQo8L2xpPg0KPGxpPg0KPHA+
VGhlIDxiPlt2YWxpZGl0eV08L2I+IG9yIDxiPlt2YWxpZGF0aW9uIGF0dGVtcHRlZF08L2I+IHBy
b3BlcnRpZXMNCmRvIG5vdCBleGlzdCwgdGhlIHNjaGVtYSB0eXBlIG9mIGFuIGVsZW1lbnQgaXMN
Cjxjb2RlPnhkdDp1bnR5cGVkPC9jb2RlPiBhbmQgdGhlIHR5cGUgb2YgYW4gYXR0cmlidXRlIGlz
DQo8Y29kZT54ZHQ6dW50eXBlZEF0b21pYzwvY29kZT4uPC9wPg0KPC9saT4NCjwvdWw+DQoNCjxw
PlRoZSBwcmVmaXggYXNzb2NpYXRlZCB3aXRoIHRoZSB0eXBlIG5hbWVzIGlzIGltcGxlbWVudGF0
aW9uLWRlcGVuZGVudC48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPCEtLSBLZWVwIHRoaXMgY29tbWVu
dCBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlCkxvY2FsIHZhcmlhYmxlczoKbW9kZTp4bWwKc2dtbC1k
ZWZhdWx0LWR0ZC1maWxlOiIvU0dNTC9QdWJsaWMvRW1hY3MveGh0bWwxMC5jZWQiCnNnbWwtb21p
dHRhZzp0CnNnbWwtc2hvcnR0YWc6dApFbmQ6Ci0tPg0KDQo8L2JvZHk+PC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>