<?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>13359</bug_id>
          
          <creation_ts>2011-07-25 22:29:56 +0000</creation_ts>
          <short_desc>&lt;track&gt; A way is needed to identify the type of data in a track element</short_desc>
          <delta_ts>2012-11-28 15:04:38 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>LC1 HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>a11y, a11ytf, media</keywords>
          <priority>P2</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bob Lund">b.lund</reporter>
          <assigned_to name="Silvia Pfeiffer">silviapfeiffer1</assigned_to>
          <cc>anamkhan1929</cc>
    
    <cc>b.lund</cc>
    
    <cc>bdobbs</cc>
    
    <cc>c.stevens</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>ian</cc>
    
    <cc>jfoliot</cc>
    
    <cc>laura.lee.carlson</cc>
    
    <cc>lwatson</cc>
    
    <cc>mark_vickers</cc>
    
    <cc>mike</cc>
    
    <cc>philipj</cc>
    
    <cc>public-html-a11y</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>robin</cc>
    
    <cc>roc</cc>
    
    <cc>silviapfeiffer1</cc>
    
    <cc>zcorpan</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>51460</commentid>
    <comment_count>0</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-07-25 22:29:56 +0000</bug_when>
    <thetext>Problem Statement

HTML5 provides access to timed text tracks and its constituent data via the TextTrack and TextTrackCue interfaces for the purpose of allowing (1) script control over showing or hiding the associated track content via TextTrack.mode, and (2) script access to the constituent track data (as cues) via TextTrack.getCueAsSource(). In order for application authored script to (1) make decisions about showing/hiding track content and (2) interpret the raw source content, it is necessary to provide the script with additional information about the form of the track content. In the case where TextTrack.kind == metadata it is also necessary to provide the script with information about the purpose of the track. At present, the only information provided is via TextTrack.kind and TextTrack.label; however, this information is insufficient to determine the form of the track content since it does not identify the media type or the purpose of the track for metatdata tracks. For example, if TextTrack.kind == &apos;metadata&apos;, then the track content may contain ETV EISS data [1], Ad insertion data (SCTE-35) [2], generic XML data, etc.  Similarly, if TextTrack.kind == &apos;captions&apos;, then the track content may contain WebVTT data [3], Timed Text (TTML) data [4], CEA-708 data [5], etc.


Proposed Solution

In order to resolve the above problem, it is proposed that a @type attribute be added to the track element and an associated IDL attribute be added to the TextTrack interface. When specified by the content author, this media type attribute would serve as a hint to application script as to the media type employed for the track content.

[1] http://www.cablelabs.com/specifications/OC-SP-ETV-AM1.0-I06-110128.pdf
[2] http://www.scte.org/standards/Standards_Available.aspx
[3] http://www.whatwg.org/specs/web-apps/current-work/webvtt.html
[4] http://www.w3.org/TR/ttaf1-dfxp/
[5] http://www.ce.org/Standards/listings.asp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53108</commentid>
    <comment_count>1</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2011-08-04 05:06:48 +0000</bug_when>
    <thetext>mass-moved component to LC1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55484</commentid>
    <comment_count>2</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-08-19 16:30:13 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Did Not Understand Request
Change Description: no spec change
Rationale: I don&apos;t understand. What is the concrete use case where a script would be doing anything with a kind=metadata track and not know what the metadata is but yet would still be able to do something useful with it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55486</commentid>
    <comment_count>3</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-08-19 17:24:29 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are
&gt; satisfied with this response, please change the state of this bug to CLOSED. If
&gt; you have additional information and would like the editor to reconsider, please
&gt; reopen this bug. If you would like to escalate the issue to the full HTML
&gt; Working Group, please add the TrackerRequest keyword to this bug, and suggest
&gt; title and text for the tracker issue; or you may create a tracker issue
&gt; yourself, if you are able to do so. For more details, see this document:
&gt;    http://dev.w3.org/html5/decision-policy/decision-policy.html
&gt; 
&gt; Status: Did Not Understand Request
&gt; Change Description: no spec change
&gt; Rationale: I don&apos;t understand. What is the concrete use case where a script
&gt; would be doing anything with a kind=metadata track and not know what the
&gt; metadata is but yet would still be able to do something useful with it?

My understanding (Bob may wish to correct) is as follows:

Page origin O exposes video/audio from a 3rd party P, which contains/refers to a metadata track sourced by P or sourced by a 4th party M.

Page origin O provides JS for interpreting metadata tracks with media types M1, M2, or M3.

If Page author O is provided with content type information for the metadata track contained in response headers (or by other means if fetched via non-HTTP), then O&apos;s JS can select appropriate handling of metadata content exposed to JS via TextTrackCue.getCueAsSource().

This information could be exposed to JS via a new TextTrack.type IDL attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55515</commentid>
    <comment_count>4</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-08-19 22:18:04 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are
&gt; &gt; satisfied with this response, please change the state of this bug to CLOSED. If
&gt; &gt; you have additional information and would like the editor to reconsider, please
&gt; &gt; reopen this bug. If you would like to escalate the issue to the full HTML
&gt; &gt; Working Group, please add the TrackerRequest keyword to this bug, and suggest
&gt; &gt; title and text for the tracker issue; or you may create a tracker issue
&gt; &gt; yourself, if you are able to do so. For more details, see this document:
&gt; &gt;    http://dev.w3.org/html5/decision-policy/decision-policy.html
&gt; &gt; 
&gt; &gt; Status: Did Not Understand Request
&gt; &gt; Change Description: no spec change
&gt; &gt; Rationale: I don&apos;t understand. What is the concrete use case where a script
&gt; &gt; would be doing anything with a kind=metadata track and not know what the
&gt; &gt; metadata is but yet would still be able to do something useful with it?
&gt; 
&gt; My understanding (Bob may wish to correct) is as follows:
&gt; 
&gt; Page origin O exposes video/audio from a 3rd party P, which contains/refers to
&gt; a metadata track sourced by P or sourced by a 4th party M.
&gt; 
&gt; Page origin O provides JS for interpreting metadata tracks with media types M1,
&gt; M2, or M3.
&gt; 
&gt; If Page author O is provided with content type information for the metadata
&gt; track contained in response headers (or by other means if fetched via
&gt; non-HTTP), then O&apos;s JS can select appropriate handling of metadata content
&gt; exposed to JS via TextTrackCue.getCueAsSource().
&gt; 
&gt; This information could be exposed to JS via a new TextTrack.type IDL attribute.

To expand, 3rd party P adds three in-band tracks: IB1 - parental control content advisories, IB2 - SCTE-35 segment descriptors for targeted advertising and IB3 -EISS for interactive television. (In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are
&gt; &gt; satisfied with this response, please change the state of this bug to CLOSED. If
&gt; &gt; you have additional information and would like the editor to reconsider, please
&gt; &gt; reopen this bug. If you would like to escalate the issue to the full HTML
&gt; &gt; Working Group, please add the TrackerRequest keyword to this bug, and suggest
&gt; &gt; title and text for the tracker issue; or you may create a tracker issue
&gt; &gt; yourself, if you are able to do so. For more details, see this document:
&gt; &gt;    http://dev.w3.org/html5/decision-policy/decision-policy.html
&gt; &gt; 
&gt; &gt; Status: Did Not Understand Request
&gt; &gt; Change Description: no spec change
&gt; &gt; Rationale: I don&apos;t understand. What is the concrete use case where a script
&gt; &gt; would be doing anything with a kind=metadata track and not know what the
&gt; &gt; metadata is but yet would still be able to do something useful with it?
&gt; 
&gt; My understanding (Bob may wish to correct) is as follows:
&gt; 
&gt; Page origin O exposes video/audio from a 3rd party P, which contains/refers to
&gt; a metadata track sourced by P or sourced by a 4th party M.
&gt; 
&gt; Page origin O provides JS for interpreting metadata tracks with media types M1,
&gt; M2, or M3.
&gt; 
&gt; If Page author O is provided with content type information for the metadata
&gt; track contained in response headers (or by other means if fetched via
&gt; non-HTTP), then O&apos;s JS can select appropriate handling of metadata content
&gt; exposed to JS via TextTrackCue.getCueAsSource().
&gt; 
&gt; This information could be exposed to JS via a new TextTrack.type IDL attribute.

To expand, consider 3rd party P adding three in-band signaling tracks: IB1 - content advisories for parental control, IB2 - SCTE35 segment descriptors for targeted advertising and IB3 - EISS for interactive television. The user agent executing Page O recognizes these in-band tracks and sources them as three different track elements with kind = metadata as described in [1]. Since the user agent knows how to recognize these in-band tracks it can inform JS of the metadata type by a new TextTrack.type IDL attribute. Without this new attribute, JS will have to contain logic to infer the metadata type, redoing what the UA has already done.

[1] http://dev.w3.org/html5/spec/Overview.html#sourcing-in-band-text-tracks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55520</commentid>
    <comment_count>5</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-08-20 03:08:37 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; different track elements with kind = metadata as described in [1]. Since the
&gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; what the UA has already done.

How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox) recognize IB1, IB2, and IB3? They are not specified in HTML so there is no requirement for them to be able to decode them and I haven&apos;t seen any moves that spans across these and other UAs to make IB1-3 a standard-supported format in them. If there is, then it would make a lot more sense to have actual kind=IB1-3 values as part of the spec IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55523</commentid>
    <comment_count>6</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-08-20 06:42:32 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; what the UA has already done.
&gt; 
&gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; in them. If there is, then it would make a lot more sense to have actual
&gt; kind=IB1-3 values as part of the spec IMHO.

There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG video, or even JavaScript or CSS for that matter. So what&apos;s the point of your question?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55524</commentid>
    <comment_count>7</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-08-20 07:12:03 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; &gt; what the UA has already done.
&gt; &gt; 
&gt; &gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; &gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; &gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; &gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; &gt; in them. If there is, then it would make a lot more sense to have actual
&gt; &gt; kind=IB1-3 values as part of the spec IMHO.
&gt; 
&gt; There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG
&gt; video, or even JavaScript or CSS for that matter. So what&apos;s the point of your
&gt; question?

There is also no field in HTML that provides a hint on which image file format is being used. Why would there need to be one that hints on which metadata format is being used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55525</commentid>
    <comment_count>8</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-08-20 07:28:05 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; &gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; &gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; &gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; &gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; &gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; &gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; &gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; &gt; &gt; what the UA has already done.
&gt; &gt; &gt; 
&gt; &gt; &gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; &gt; &gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; &gt; &gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; &gt; &gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; &gt; &gt; in them. If there is, then it would make a lot more sense to have actual
&gt; &gt; &gt; kind=IB1-3 values as part of the spec IMHO.
&gt; &gt; 
&gt; &gt; There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG
&gt; &gt; video, or even JavaScript or CSS for that matter. So what&apos;s the point of your
&gt; &gt; question?
&gt; 
&gt; There is also no field in HTML that provides a hint on which image file format
&gt; is being used. Why would there need to be one that hints on which metadata
&gt; format is being used?

Because we are not talking about the UA interpreting the metadata here, we are talking about client JS interpreting the metadata (track). The utility of TextTrackCue.getCueAsSource() is put in question unless some information is provided on type. The alternative is that the JS client code must perform content sniffing on the result of getCueAsSource().

Also, I believe the request here is not for a markup supplied hint of type, but a UA determined actual type (presuming the UA has an embedded sniffer or access to other content type metadata in the transport or content) in order to supply actual type information via an IDL attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55530</commentid>
    <comment_count>9</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-08-20 13:07:50 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; &gt; &gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; &gt; &gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; &gt; &gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; &gt; &gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; &gt; &gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; &gt; &gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; &gt; &gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; &gt; &gt; &gt; what the UA has already done.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; &gt; &gt; &gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; &gt; &gt; &gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; &gt; &gt; &gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; &gt; &gt; &gt; in them. If there is, then it would make a lot more sense to have actual
&gt; &gt; &gt; &gt; kind=IB1-3 values as part of the spec IMHO.
&gt; &gt; &gt; 
&gt; &gt; &gt; There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG
&gt; &gt; &gt; video, or even JavaScript or CSS for that matter. So what&apos;s the point of your
&gt; &gt; &gt; question?
&gt; &gt; 
&gt; &gt; There is also no field in HTML that provides a hint on which image file format
&gt; &gt; is being used. Why would there need to be one that hints on which metadata
&gt; &gt; format is being used?
&gt; 
&gt; Because we are not talking about the UA interpreting the metadata here, we are
&gt; talking about client JS interpreting the metadata (track). The utility of
&gt; TextTrackCue.getCueAsSource() is put in question unless some information is
&gt; provided on type. The alternative is that the JS client code must perform
&gt; content sniffing on the result of getCueAsSource().


Why not just use a data-type attribute that provides this information? JS-interpreted data is what the data-* attributes are made for.


 
&gt; Also, I believe the request here is not for a markup supplied hint of type, but
&gt; a UA determined actual type (presuming the UA has an embedded sniffer or access
&gt; to other content type metadata in the transport or content) in order to supply
&gt; actual type information via an IDL attribute.


&quot;it is proposed that a @type attribute be added to the track element and an associated IDL attribute be added to the TextTrack interface&quot; - that&apos;s a request for a content attribute IIUC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55531</commentid>
    <comment_count>10</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-08-20 13:19:10 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; &gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; &gt; &gt; &gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; &gt; &gt; &gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; &gt; &gt; &gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; &gt; &gt; &gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; &gt; &gt; &gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; &gt; &gt; &gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; &gt; &gt; &gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; &gt; &gt; &gt; &gt; what the UA has already done.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; &gt; &gt; &gt; &gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; &gt; &gt; &gt; &gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; &gt; &gt; &gt; &gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; &gt; &gt; &gt; &gt; in them. If there is, then it would make a lot more sense to have actual
&gt; &gt; &gt; &gt; &gt; kind=IB1-3 values as part of the spec IMHO.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG
&gt; &gt; &gt; &gt; video, or even JavaScript or CSS for that matter. So what&apos;s the point of your
&gt; &gt; &gt; &gt; question?
&gt; &gt; &gt; 
&gt; &gt; &gt; There is also no field in HTML that provides a hint on which image file format
&gt; &gt; &gt; is being used. Why would there need to be one that hints on which metadata
&gt; &gt; &gt; format is being used?
&gt; &gt; 
&gt; &gt; Because we are not talking about the UA interpreting the metadata here, we are
&gt; &gt; talking about client JS interpreting the metadata (track). The utility of
&gt; &gt; TextTrackCue.getCueAsSource() is put in question unless some information is
&gt; &gt; provided on type. The alternative is that the JS client code must perform
&gt; &gt; content sniffing on the result of getCueAsSource().
&gt; 
&gt; 
&gt; Why not just use a data-type attribute that provides this information?
&gt; JS-interpreted data is what the data-* attributes are made for.
&gt; 

The use case I offered is for the case of in-band tracks recognized by the user agent. To quote the current HTML5 spec draft &quot;These attributes are not intended for use by software that is independent of the site that uses the attributes.&quot; This is exactly the use case offered - Page comes from O and content with in-band tracks comes from P.
&gt; 
&gt; 
&gt; &gt; Also, I believe the request here is not for a markup supplied hint of type, but
&gt; &gt; a UA determined actual type (presuming the UA has an embedded sniffer or access
&gt; &gt; to other content type metadata in the transport or content) in order to supply
&gt; &gt; actual type information via an IDL attribute.
&gt; 
&gt; 
&gt; &quot;it is proposed that a @type attribute be added to the track element and an
&gt; associated IDL attribute be added to the TextTrack interface&quot; - that&apos;s a
&gt; request for a content attribute IIUC.

What is requested is a TextTrack.type idl attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55534</commentid>
    <comment_count>11</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-08-20 16:28:01 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; &gt; &gt; To expand, consider 3rd party P adding three in-band signaling tracks: IB1 -
&gt; &gt; &gt; &gt; &gt; &gt; content advisories for parental control, IB2 - SCTE35 segment descriptors for
&gt; &gt; &gt; &gt; &gt; &gt; targeted advertising and IB3 - EISS for interactive television. The user agent
&gt; &gt; &gt; &gt; &gt; &gt; executing Page O recognizes these in-band tracks and sources them as three
&gt; &gt; &gt; &gt; &gt; &gt; different track elements with kind = metadata as described in [1]. Since the
&gt; &gt; &gt; &gt; &gt; &gt; user agent knows how to recognize these in-band tracks it can inform JS of the
&gt; &gt; &gt; &gt; &gt; &gt; metadata type by a new TextTrack.type IDL attribute. Without this new
&gt; &gt; &gt; &gt; &gt; &gt; attribute, JS will have to contain logic to infer the metadata type, redoing
&gt; &gt; &gt; &gt; &gt; &gt; what the UA has already done.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; &gt; &gt; &gt; &gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; &gt; &gt; &gt; &gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; &gt; &gt; &gt; &gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; &gt; &gt; &gt; &gt; in them. If there is, then it would make a lot more sense to have actual
&gt; &gt; &gt; &gt; &gt; kind=IB1-3 values as part of the spec IMHO.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; There is no requirement that an HTML5 UA decode PNG files, JPEG files, MPEG
&gt; &gt; &gt; &gt; video, or even JavaScript or CSS for that matter. So what&apos;s the point of your
&gt; &gt; &gt; &gt; question?
&gt; &gt; &gt; 
&gt; &gt; &gt; There is also no field in HTML that provides a hint on which image file format
&gt; &gt; &gt; is being used. Why would there need to be one that hints on which metadata
&gt; &gt; &gt; format is being used?
&gt; &gt; 
&gt; &gt; Because we are not talking about the UA interpreting the metadata here, we are
&gt; &gt; talking about client JS interpreting the metadata (track). The utility of
&gt; &gt; TextTrackCue.getCueAsSource() is put in question unless some information is
&gt; &gt; provided on type. The alternative is that the JS client code must perform
&gt; &gt; content sniffing on the result of getCueAsSource().
&gt; 
&gt; 
&gt; Why not just use a data-type attribute that provides this information?
&gt; JS-interpreted data is what the data-* attributes are made for.
&gt; 

In the use case mentioned previously, the page originator does not know a priori the type of the track metadata, so it cannot effectively provide a hint.
 
&gt; 
&gt; &gt; Also, I believe the request here is not for a markup supplied hint of type, but
&gt; &gt; a UA determined actual type (presuming the UA has an embedded sniffer or access
&gt; &gt; to other content type metadata in the transport or content) in order to supply
&gt; &gt; actual type information via an IDL attribute.
&gt; 
&gt; 
&gt; &quot;it is proposed that a @type attribute be added to the track element and an
&gt; associated IDL attribute be added to the TextTrack interface&quot; - that&apos;s a
&gt; request for a content attribute IIUC.

You&apos;re correct. One reads this as a request for a content authored hint of type, with the hint reflected into IDL. Perhaps Bob needs to adjust the request to reflect that it is for an IDL attribute that exposes a UA determined *actual* type, or if the UA cannot determine actual type, then a type indication based on envelope or other context information accompanying or referred to by the track content itself.

For example, if the track content is obtained via HTTP, then the UA could either sniff the content to verify actual type or it could pass along a Content-Type header value to the client JS via TextTrack.type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55660</commentid>
    <comment_count>12</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-08-23 05:23:24 +0000</bug_when>
    <thetext>Please note that there is no reason to quote the entirety of a comment when replying. Either quote nothing or quote just what you are responding to.


Is there a _concrete_ example here? I really don&apos;t understand the use case being presented. Re comment 3, for example, why would O be exposing content from P?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55663</commentid>
    <comment_count>13</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-08-23 05:52:03 +0000</bug_when>
    <thetext>(In reply to comment #12)
&gt; Please note that there is no reason to quote the entirety of a comment when
&gt; replying. Either quote nothing or quote just what you are responding to.
&gt; 
&gt; 
&gt; Is there a _concrete_ example here? I really don&apos;t understand the use case
&gt; being presented. Re comment 3, for example, why would O be exposing content
&gt; from P?

CableTVCorp (O) creates an electronic program guide with a page depicted as a grid of videos V1...V4 provided by 3rd party content providers P1...P4. V1...V4, in turn, contain or refer to timed track metadata content (e.g., video descriptions, etc), which UA (upon decoding V1...V4) expose to O&apos;s JS client code via TextTrackCue.getCueAsSource(). O does not (generally cannot) a priori know the timed track metadata content type, however, the UA does (or can) know it, since it decoded V1...V4 and was responsible for exposing the cue data to JS in the first place.

Knowing the actual content type of metadata M1...M4 (associated with V1...V4), O&apos;s JS client code can decode cue data and use it for various purposes, e.g., to annotate chapters and scenes being depicted in grid on V1...V4, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55810</commentid>
    <comment_count>14</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-08-25 19:55:04 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; 
&gt; How would a general-purpose UA (such as Opera, Chrome, Safari or Firefox)
&gt; recognize IB1, IB2, and IB3? They are not specified in HTML so there is no
&gt; requirement for them to be able to decode them and I haven&apos;t seen any moves
&gt; that spans across these and other UAs to make IB1-3 a standard-supported format
&gt; in them.

The types for IB1, IB2 and IB3 could be defined by specifications external to HTML5. The following language is in http://dev.w3.org/html5/spec/Overview.html#sourcing-in-band-text-tracks

&quot;A media-resource-specific text track is a text track that corresponds to data found in the media resource. Rules for processing and rendering such data are defined by the relevant specifications, e.g. the specification of the video format if the media resource is a video&quot;

I have made a proposal in the Web and TV IG Media Pipeline task force that these specs be created for an identified set of metadata and transport formats http://www.w3.org/2011/webtv/wiki/MPTF/MPTF_Discussions/TV_services_transport_mapping

The idea of a mapping specification was also raised in http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-June/031916.html. This is a long email. The relevant text from Ian was

&quot;There can be a standard way. The idea is that all the types of metadata 
tracks that browsers will support should be specified so that all browsers 
can map them the same way. I&apos;m happy to work with anyone interested in 
writing such a mapping spec, just let me know.&quot;

This mapping is necessary but not sufficient to address the problem. There needs to be a way for the type of the data that results from the mapping to be conveyed to script - hence bug 13359.

&gt; If there is, then it would make a lot more sense to have actual
&gt; kind=IB1-3 values as part of the spec IMHO.

This is a possible approach but the current use of &quot;kind&quot; seems to be categorical. What would be most useful to script is an indication of the syntax and semantics of the metadata - i.e. its type. Also, is can be expected that for a given category, e.g. advertising insertion point, there will be different types depending on the transport format. For example, SCTE-35 in MPEG-2 TS and some, yet to be defined format, in a SMPTE TT track in DASH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55812</commentid>
    <comment_count>15</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-08-25 20:50:57 +0000</bug_when>
    <thetext>(In reply to comment #12)
&gt; Please note that there is no reason to quote the entirety of a comment when
&gt; replying. Either quote nothing or quote just what you are responding to.
&gt; 
&gt; 
&gt; Is there a _concrete_ example here? I really don&apos;t understand the use case
&gt; being presented. Re comment 3, for example, why would O be exposing content
&gt; from P?

Content advisories will be added by the content producer. A aervice provider will ingest that content and insert ad insertion messages for doing targeted advertising in some markets, but not in others. The service provider will provide a page O representing the program guide to access this channel across those markets. So page O needs to deal with: a) a metadata text track containing the content advisories from the content producer and b)another metadata text track, which may or may not be present, containing ad insertion messages. There&apos;s a need to identify the type of parental control message used and to distinguish between the two different metadata text tracks in script.

Even if there was agreement across content producers and service providers about message types one is left with the question of how does script distinguish between the tracks in the case there is multiple metadata text tracks source from in-band tracks in the media resource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57293</commentid>
    <comment_count>16</comment_count>
    <who name="">contributor</who>
    <bug_when>2011-09-23 23:38:55 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r6586.
Check-in comment: Avoid firing &apos;click&apos; twice per click on a &lt;command&gt;, oops.
http://html5.org/tools/web-apps-tracker?from=6585&amp;to=6586</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57296</commentid>
    <comment_count>17</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2011-09-23 23:52:58 +0000</bug_when>
    <thetext>(In reply to comment #16)
&gt; Checked in as WHATWG revision r6586.
&gt; Check-in comment: Avoid firing &apos;click&apos; twice per click on a &lt;command&gt;, oops.
&gt; http://html5.org/tools/web-apps-tracker?from=6585&amp;to=6586

i think you logged this comment against the wrong bug, as it has nothing to do with it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57379</commentid>
    <comment_count>18</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-09-26 22:26:02 +0000</bug_when>
    <thetext>(In reply to comment #13)
&gt; CableTVCorp (O) creates an electronic program guide with a page depicted as a
&gt; grid of videos V1...V4 provided by 3rd party content providers P1...P4.
&gt;
&gt; V1...V4, in turn, contain or refer to timed track metadata content (e.g., video
&gt; descriptions, etc), which UA (upon decoding V1...V4) expose to O&apos;s JS client
&gt; code via TextTrackCue.getCueAsSource().
&gt;
&gt; O does not (generally cannot) a priori
&gt; know the timed track metadata content type

Yes it can. P1...P4 would just tell O what they are. I don&apos;t understand the problem here. This is a well-established pattern on the Web. An aggregator site gets information from third parties and those parties tell the aggregator exactly what they are providing, so that the aggregator can make use of it. Sometimes the aggregator explicitly specifies the format (e.g. Google Maps&apos; transit directions feature has a specified format that transit companies can use), sometimes it&apos;s the other way around (e.g. Yahoo! Finance pulls information in from a number of different sources each of which might use its own format). Either way, though, the aggregator knows what the format of the data is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57388</commentid>
    <comment_count>19</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-09-26 23:13:56 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #13)
&gt; &gt; CableTVCorp (O) creates an electronic program guide with a page depicted as a
&gt; &gt; grid of videos V1...V4 provided by 3rd party content providers P1...P4.
&gt; &gt;
&gt; &gt; V1...V4, in turn, contain or refer to timed track metadata content (e.g., video
&gt; &gt; descriptions, etc), which UA (upon decoding V1...V4) expose to O&apos;s JS client
&gt; &gt; code via TextTrackCue.getCueAsSource().
&gt; &gt;
&gt; &gt; O does not (generally cannot) a priori
&gt; &gt; know the timed track metadata content type
&gt; 
&gt; Yes it can. P1...P4 would just tell O what they are. I don&apos;t understand the
&gt; problem here. This is a well-established pattern on the Web. An aggregator site
&gt; gets information from third parties and those parties tell the aggregator
&gt; exactly what they are providing, so that the aggregator can make use of it.
&gt; Sometimes the aggregator explicitly specifies the format (e.g. Google Maps&apos;
&gt; transit directions feature has a specified format that transit companies can
&gt; use), sometimes it&apos;s the other way around (e.g. Yahoo! Finance pulls
&gt; information in from a number of different sources each of which might use its
&gt; own format). Either way, though, the aggregator knows what the format of the
&gt; data is.

This could work if markup is used to reference out-of-band &lt;track&gt; where kind = metadata. This may also work if there is only one metadata track per program P. However, if the user agent is sourcing in-band metadata tracks, which is the case when cable content is re-purposed to the web, and a program P carries multiple metadata tracks, e.g. content advisories + SCTE-35 ad insertion messages, then even if aggregator O knows the type in the metadata tracks there is no way for script on O&apos;s page to know which exposed in-band track is which. Also, in the case of linear content where the referenced media resource is an unending stream with changing metadata tracks then there is also the same problem since the page from O might not be updated when there is a track change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59584</commentid>
    <comment_count>20</comment_count>
      <attachid>1040</attachid>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-11-03 21:20:40 +0000</bug_when>
    <thetext>Created attachment 1040
Mapping in-band MPEG-2 TS tracks to HTML5

This page proposes a mechanism for how tracks in an in-band MPEG-2 TS should be exposed in HTML5 so script can identify the tracks. It is also proposed that this approach could be applicable to other container formats such as WebM and Ogg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59589</commentid>
    <comment_count>21</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-11-03 21:36:35 +0000</bug_when>
    <thetext>So the use case here is that there are in-band streams, e.g. TV, that have application-specific metadata, e.g. ad targeting keywords, game data, and the like, which are to be handled by specific modules on the client side as they arrive, basically &quot;dispatching&quot; each track to a separate blob of code that does not know ahead of time whether it will be needed or not.

We can&apos;t use &quot;label&quot; because some formats already provide a human-readable string even for metadata tracks (for debugging?).

Is there any particular reason there needs to be multiple metadata tracks for this, instead of the media stream having a single metadata stream that uses a convention of putting the &quot;dispatch&quot; type code in the first line of the cue, or something along those lines? (That would also avoid the problem of having to keep track of when these new tracks come along and enabling them.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59591</commentid>
    <comment_count>22</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-11-03 21:55:37 +0000</bug_when>
    <thetext>(In reply to comment #21)
&gt; So the use case here is that there are in-band streams, e.g. TV, that have
&gt; application-specific metadata, e.g. ad targeting keywords, game data, and the
&gt; like, which are to be handled by specific modules on the client side as they
&gt; arrive, basically &quot;dispatching&quot; each track to a separate blob of code that does
&gt; not know ahead of time whether it will be needed or not.
&gt; 
&gt; We can&apos;t use &quot;label&quot; because some formats already provide a human-readable
&gt; string even for metadata tracks (for debugging?).
&gt; 
&gt; Is there any particular reason there needs to be multiple metadata tracks for
&gt; this, instead of the media stream having a single metadata stream that uses a
&gt; convention of putting the &quot;dispatch&quot; type code in the first line of the cue, or
&gt; something along those lines? (That would also avoid the problem of having to
&gt; keep track of when these new tracks come along and enabling them.)

In the case of out-of-band tracks, multiple metadata text tracks would likely be used. So, having this model for in-band tracks seems to make sense. Another consideration is that an application might not be interested in all metadata tracks. Having the in-band tracks mapped to separate metadata text tracks allows this. Last, if the UA can determine the dispatch code then that&apos;s almost the same as identifying the type of metadata.

Some containers newer than MPEG-2 TS provide a MIME type for each track. This would be a natural fit with identifying the metadata track with a type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59799</commentid>
    <comment_count>23</comment_count>
    <who name="Clarke Stevens">c.stevens</who>
    <bug_when>2011-11-09 22:52:40 +0000</bug_when>
    <thetext>At the F2F meetings in Santa Clara, the HTML WG appeared to support this bug as well as bug 14492 which requests a change event when tracks are removed. The combination of bugs 13359 and 14492 should address the needs of the Media Pipeline task force (MPTF).

The MPTF also supports the idea of a common reference in mapping track information to specific protocols. CableLabs has produced such a mapping reference for MPEG2 (http://www.w3.org/Bugs/Public/attachment.cgi?id=1040). Other mappings should be created for Ogg, WebM, etc.

At the HTML WG meeting in Santa Clara, no consensus was reached on who should maintain these mapping references.

The resolution suggested by the Media Pipeline task force (MPTF) is the same
one suggested in the original bug report. Here is a link to the MPTF
requirement:

http://www.w3.org/2011/webtv/wiki/MPTF/MPTF_Requirements#R3._Handling_of_In-band_Tracks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60454</commentid>
    <comment_count>24</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-11-24 23:05:41 +0000</bug_when>
    <thetext>&gt; In the case of out-of-band tracks, multiple metadata text tracks would likely
&gt; be used.

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60538</commentid>
    <comment_count>25</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-11-28 17:23:39 +0000</bug_when>
    <thetext>(In reply to comment #24)
&gt; &gt; In the case of out-of-band tracks, multiple metadata text tracks would likely
&gt; &gt; be used.
&gt; 
&gt; Why?

Authoring of the metadata text tracks will be done independently for each application,.e.g. the &lt;track&gt; with content insertion triggers may be sourced by the business entity that sells insertion opportunities, the &lt;track&gt; with interactive content triggers may be sourced by the content provider that wants to add interactivity to the content.

Since these will come in as independent files it seems most efficient to be able to deliver them that way, as opposed to requiring a processing step to merge them into a single &lt;track&gt;.

This would be consistent with other text tracks, e.g. captions and subtitles, that are separate in &lt;track&gt;.

Bob</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60978</commentid>
    <comment_count>26</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-12-05 22:11:09 +0000</bug_when>
    <thetext>Fair enough.

Ok, I can add an attribute to TextTrack whose value is a string that the track is associated with in the in-band data stream where the track was found.

Can you give me a pointer to what field this information would be stored in for H.264, WebM, or Ogg streams, so that I can include an example to point implementors in the right direction?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61123</commentid>
    <comment_count>27</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-12-07 20:33:33 +0000</bug_when>
    <thetext>(In reply to comment #26)
&gt; Fair enough.
&gt; 
&gt; Ok, I can add an attribute to TextTrack whose value is a string that the track
&gt; is associated with in the in-band data stream where the track was found.
&gt; 
&gt; Can you give me a pointer to what field this information would be stored in for
&gt; H.264, WebM, or Ogg streams, so that I can include an example to point
&gt; implementors in the right direction?

Once a UA determines that the track is a metadata text track, here are the fields, by media container, that I think should be concatenated in some fashion to go in this string (perhaps this should apply to all video, audio and text tracks where the UA cannot determine the kind):

Ogg[1] - Ogg skeleton header fields: content_type, role, name

MPEG-2 TS[2] - Program map table entry fields: stream_type, any descriptors

DASH[3] - MPD Role element, e.g.  &lt;Role schemeIdUri=</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61266</commentid>
    <comment_count>28</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-12-08 21:38:37 +0000</bug_when>
    <thetext>
(In reply to comment #27)

&gt; 
&gt; Once a UA determines that the track is a metadata text track, here are the
&gt; fields, by media container, that I think should be concatenated in some fashion
&gt; to go in this string (perhaps this should apply to all video, audio and text
&gt; tracks where the UA cannot determine the kind):
&gt; 
&gt; Ogg[1] - Ogg skeleton header fields: content_type, role, name
&gt; 
&gt; MPEG-2 TS[2] - Program map table entry fields: stream_type, any descriptors
&gt; 
&gt; DASH[3] - MPD Role element, e.g.  &lt;Role schemeIdUri=</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61443</commentid>
    <comment_count>29</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-12-12 07:25:39 +0000</bug_when>
    <thetext>(In reply to comment #27)
&gt;
&gt; Ogg[1] - Ogg skeleton header fields: content_type, role, name

content_type == MIME type in Ogg; is that really what you&apos;re after?
role is already mapped to the @role attribute; what more do you expect from it?
name is already mapped to the @kind attribute; what more do you expect from it?


&gt; MPEG-2 TS[2] - Program map table entry fields: stream_type, any descriptors
&gt; 
&gt; DASH[3] - MPD Role element, e.g.  &lt;Role schemeIdUri=

Looks lie your post got cut off.

You&apos;ve missed WebM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61447</commentid>
    <comment_count>30</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-12-12 16:07:18 +0000</bug_when>
    <thetext>
(In reply to comment #29)
&gt; (In reply to comment #27)
&gt; &gt;
&gt; &gt; Ogg[1] - Ogg skeleton header fields: content_type, role, name
&gt; 
&gt; content_type == MIME type in Ogg; is that really what you&apos;re after?

If the script needs MIME type to identify the format of a metadata track, then yes.

&gt; role is already mapped to the @role attribute; what more do you expect from it?

I don&apos;t see a role attribute in either the HTMLTrackElement of TextTrack interface.

&gt; name is already mapped to the @kind attribute; what more do you expect from it?

Definition of @kind enumerates a set of kinds. There is only a single metadata kind. The definition of name in http://wiki.xiph.org/SkeletonHeaders#Name states it is a free text string. Inclusion of name could be used to discriminate the specific type of metadata.

&gt; 
&gt; 
&gt; &gt; MPEG-2 TS[2] - Program map table entry fields: stream_type, any descriptors
&gt; &gt; 
&gt; &gt; DASH[3] - MPD Role element, e.g.  &lt;Role schemeIdUri=
&gt; 
&gt; Looks lie your post got cut off.
&gt; 
&gt; You&apos;ve missed WebM.

Thanks - WebM, MPEG-4 and DASH got cut off. Here is the complete list again.

Ogg - Ogg skeleton header fields: content_type, role, name [1]

MPEG-2 TS - Program map table entry fields: stream_type field in the PMT, any descriptors [2]

DASH - MPD Role element, e.g.  &lt;Role schemeIdUri=”urn:mpeg:DASH:role:2011” value=”subtitle”/&gt; [3]. NOTE: DASH has defined a scheme with a set of values. It is expected that other organizations will define additional schemes as needed.

WebM - TrackType and CodecID [4].

ISOBMFF (MPEG-4) - Contents of the handler reference box (hdlr) in each track : attributes handler_type and name [5]. NOTE: MPEG only defines three types of track handlers: video, audio and hint. Other organizations can extend the MPEG handler reference box to define new types of tracks.

[1] http://wiki.xiph.org/SkeletonHeaders
[2] ITU H.222.0 (5/2006) Table 2-33
[3] http://developer.longtailvideo.com/trac/export/1601/branches/adaptive/doc/specs/dash.pdf
[4] http://matroska.org/technical/specs/index.html
[5] ISO/IEC 14496-12


Bob</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61485</commentid>
    <comment_count>31</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-12-13 11:43:03 +0000</bug_when>
    <thetext>&gt; &gt; role is already mapped to the @role attribute; what more do you expect from it?
&gt; 
&gt; I don&apos;t see a role attribute in either the HTMLTrackElement of TextTrack
&gt; interface.

Ah yes: I meant @kind , sorry.


&gt; &gt; name is already mapped to the @kind attribute; what more do you expect from it?
&gt; 
&gt; Definition of @kind enumerates a set of kinds. There is only a single metadata
&gt; kind. The definition of name in http://wiki.xiph.org/SkeletonHeaders#Name
&gt; states it is a free text string. Inclusion of name could be used to
&gt; discriminate the specific type of metadata.

And here I meant @title - I really don&apos;t know how I got so confused! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61505</commentid>
    <comment_count>32</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-12-13 21:36:30 +0000</bug_when>
    <thetext>&gt; &gt; &gt; name is already mapped to the @kind attribute; what more do you expect from it?
&gt; &gt; 
&gt; &gt; Definition of @kind enumerates a set of kinds. There is only a single metadata
&gt; &gt; kind. The definition of name in http://wiki.xiph.org/SkeletonHeaders#Name
&gt; &gt; states it is a free text string. Inclusion of name could be used to
&gt; &gt; discriminate the specific type of metadata.
&gt; 
&gt; And here I meant @title - I really don&apos;t know how I got so confused! :-)

OK, Christmas is tiring: I meant @label.

However, @title is actually an attribute that we haven&apos;t determined what it&apos;s used for in &lt;track&gt; and it can take any advisory information for the element. So, if all we need is a means to map descriptive information from in-band tracks to an IDL attribute, it may be of use?

So, for your use case, @kind would be fixed and set to the string &quot;metadata&quot;, @label to whatever is in Ogg&apos;s &quot;name&quot; field, and @title could contain a concatenation of Ogg&apos;s &quot;content-type&quot; field and whatever remains of Ogg&apos;s &quot;role&quot; field that is not &quot;metadata&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61507</commentid>
    <comment_count>33</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-12-13 23:34:20 +0000</bug_when>
    <thetext>(In reply to comment #32)
&gt; &gt; &gt; &gt; name is already mapped to the @kind attribute; what more do you expect from it?
&gt; &gt; &gt; 
&gt; &gt; &gt; Definition of @kind enumerates a set of kinds. There is only a single metadata
&gt; &gt; &gt; kind. The definition of name in http://wiki.xiph.org/SkeletonHeaders#Name
&gt; &gt; &gt; states it is a free text string. Inclusion of name could be used to
&gt; &gt; &gt; discriminate the specific type of metadata.
&gt; &gt; 
&gt; &gt; And here I meant @title - I really don&apos;t know how I got so confused! :-)
&gt; 
&gt; OK, Christmas is tiring: I meant @label.
&gt; 
&gt; However, @title is actually an attribute that we haven&apos;t determined what it&apos;s
&gt; used for in &lt;track&gt; and it can take any advisory information for the element.
&gt; So, if all we need is a means to map descriptive information from in-band
&gt; tracks to an IDL attribute, it may be of use?
&gt; 
&gt; So, for your use case, @kind would be fixed and set to the string &quot;metadata&quot;,
&gt; @label to whatever is in Ogg&apos;s &quot;name&quot; field, and @title could contain a
&gt; concatenation of Ogg&apos;s &quot;content-type&quot; field and whatever remains of Ogg&apos;s
&gt; &quot;role&quot; field that is not &quot;metadata&quot;.

There isn&apos;t a @title in either the HTMLTrackElement or TextTrack interface; the new string proposed in Comment 26 would suffice. Then, as you suggest: @kind=&apos;metadata&apos;, @label=Ogg name. I still think it would be valuable to put the Ogg title into the new string so @new_string=Ogg content_type + role + title, The reason I think Ogg title is important is that it provides a way to further differentiate the type of metadata content beyond the more generic role.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61530</commentid>
    <comment_count>34</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2011-12-14 07:22:55 +0000</bug_when>
    <thetext>&gt; There isn&apos;t a @title in either the HTMLTrackElement or TextTrack interface;

Every HTML element has a title attribute - it&apos;s a global attribute, see http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-title-attribute .

&gt; the
&gt; new string proposed in Comment 26 would suffice. Then, as you suggest:
&gt; @kind=&apos;metadata&apos;, @label=Ogg name. I still think it would be valuable to put
&gt; the Ogg title into the new string so @new_string=Ogg content_type + role +
&gt; title, The reason I think Ogg title is important is that it provides a way to
&gt; further differentiate the type of metadata content beyond the more generic
&gt; role.

Ogg&apos;s &quot;title&quot; field is a free form string, human readable. So it probably better matches what @label should have. Ogg&apos;s &quot;name&quot; field is machine readable. So it&apos;s likely more useful in your new field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61546</commentid>
    <comment_count>35</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2011-12-14 15:34:27 +0000</bug_when>
    <thetext>(In reply to comment #34)
&gt; &gt; There isn&apos;t a @title in either the HTMLTrackElement or TextTrack interface;
&gt; 
&gt; Every HTML element has a title attribute - it&apos;s a global attribute, see
&gt; http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-title-attribute
&gt; .
&gt; 
&gt; &gt; the
&gt; &gt; new string proposed in Comment 26 would suffice. Then, as you suggest:
&gt; &gt; @kind=&apos;metadata&apos;, @label=Ogg name. I still think it would be valuable to put
&gt; &gt; the Ogg title into the new string so @new_string=Ogg content_type + role +
&gt; &gt; title, The reason I think Ogg title is important is that it provides a way to
&gt; &gt; further differentiate the type of metadata content beyond the more generic
&gt; &gt; role.
&gt; 
&gt; Ogg&apos;s &quot;title&quot; field is a free form string, human readable. So it probably
&gt; better matches what @label should have. Ogg&apos;s &quot;name&quot; field is machine readable.
&gt; So it&apos;s likely more useful in your new field.

It wasn&apos;t entirely clear to me which of the title or name field to use; I think we should go with your advice. So @new_string = Ogg content_type + role + name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63163</commentid>
    <comment_count>36</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-01-26 22:10:59 +0000</bug_when>
    <thetext>So I went to add this, but the description in comment 30 is too vague to get interoperability here.

Could you describe the exact normative steps to generate a string from in-band text tracks for each of the formats we should be supporting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63210</commentid>
    <comment_count>37</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-01-27 20:58:36 +0000</bug_when>
    <thetext>(In reply to comment #36)
&gt; So I went to add this, but the description in comment 30 is too vague to get
&gt; interoperability here.
&gt; 
&gt; Could you describe the exact normative steps to generate a string from in-band
&gt; text tracks for each of the formats we should be supporting?

Below is some example normative text. Let me know if this needs to be reworked in any way.

We&apos;ve also developed a more general mechanism for exposing all track metadata in media resource with in-band tracks (see http://html5.cablelabs.com/tracks/media-container-mapping.html). This is defined for Ogg, WebM, MPEG-2 TS and MPEG-4 File Format media types. Basically, the metadata is exposed via a text track to script .

This would be an alternative to the normative text below. This alternative is more general and also applies to video and audio tracks so in that sense I think it is a better solution. However, it may be too much to consider at this point.

Requested normative text
=====================================
The attribute (let&apos;s call it text_track_type) MUST be set to a string depending on the MIME type of the media resource:

video/ogg - The string contains the values of the Ogg Skeleton message headers content-type, role and name for this text track: &apos;{&quot;content_type&quot;:string containing content-type message header, &quot;role&quot;:string containing the role message header, &quot;name&quot;:string containing the name message header}&apos;[1].

video/mp2t - The string contains the PMT elementary stream type and descriptors for this text track: &apos;{&quot;stream_type&quot;:string representation of the PMT stream_type field, &quot;es_descriptors&quot;:[es_descriptor, ...]}&apos;. Each es_descriptor is {&quot;tag&quot;:string representation of the PMT descriptor tag, &quot;desc_contents&quot;:Base64 encoded representation of the PMT elementary stream descriptor}[2]

video/webm - The string contains the TrackEntry and CodedID for this text track: &apos;{&quot;tracktype&quot;:string representation of the TrackType element contained in the TrackEntry element, &quot;codecid&quot;:string representation of the CodecID element contained in the TrackEntry element}&apos;[4].

video/mp4 - The string contains the track hdlr box and trak box contents for this track: &apos;{&quot;trak-mdia-hdlr-hdlr_type&quot;:string representation of the hdlr box hdlr_type field, &quot;trak-mdia-hdlr-name&quot;:hdlr box name field, &quot;trak&quot;:Base64 representation of the trak box (and all child boxes)}&apos; [4]



[1] http://wiki.xiph.org/SkeletonHeaders
[2] ITU H.222.0 (5/2006) Table 2-33
[3] http://matroska.org/technical/specs/index.html
[4] ISO/IEC 14496-12</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63509</commentid>
    <comment_count>38</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-02-01 03:40:10 +0000</bug_when>
    <thetext>That seems really complicated. Can browser vendors confirm whether this is the kind of thing they&apos;d be willing to implement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63511</commentid>
    <comment_count>39</comment_count>
    <who name="Robert O&apos;Callahan (Mozilla)">roc</who>
    <bug_when>2012-02-01 04:12:19 +0000</bug_when>
    <thetext>It does seem unnecessarily complicated. For the usage described (enabling a script to find its metadata track), all that&apos;s needed is to expose a single string from the track to the script. For WebM the contents of the track&apos;s CodecID element would be appropriate and sufficient. For Ogg, the contents of the &apos;name&apos; field should be enough. Similar simplifications for the other formats should be possible.

Comment #37 seems to be trying to create a feature that exposes a subset of the container-specific per-track metadata to script, which is overkill for the use-cases described in comment #0. IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63533</commentid>
    <comment_count>40</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-02-01 15:59:49 +0000</bug_when>
    <thetext>
(In reply to comment #39)
&gt; It does seem unnecessarily complicated.

All for possible simplification.

&gt; For the usage described (enabling a
&gt; script to find its metadata track), all that&apos;s needed is to expose a single
&gt; string from the track to the script. For WebM the contents of the track&apos;s
&gt; CodecID element would be appropriate and sufficient. 

If CodecID provides the same information as TrackType, e.g. distinguishes between subtitle and control, then I agree. Otherwise it seems TrackType provides essential information in determining a text track type.

&gt;For Ogg, the contents of
&gt; the &apos;name&apos; field should be enough. Similar simplifications for the other
&gt; formats should be possible.

According to [1], &quot;Role describe what semantic type of content is contained in a track&quot; and &quot;This field (Name) provides the opportunity to associate a free text string with the track&quot;. If only one of these fields can be provided I think Role would be more appropriate as it&apos;s values are defined. However, Role still doesn&apos;t fully identify the type of data in, for example, text/metadata, so it seems Name could be useful.

&gt; 
&gt; Comment #37 seems to be trying to create a feature that exposes a subset of the
&gt; container-specific per-track metadata to script, which is overkill for the
&gt; use-cases described in comment #0. IMHO.

[1] http://wiki.xiph.org/SkeletonHeaders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63547</commentid>
    <comment_count>41</comment_count>
    <who name="Robert O&apos;Callahan (Mozilla)">roc</who>
    <bug_when>2012-02-01 19:30:10 +0000</bug_when>
    <thetext>(In reply to comment #40)
&gt; If CodecID provides the same information as TrackType, e.g. distinguishes
&gt; between subtitle and control, then I agree. Otherwise it seems TrackType
&gt; provides essential information in determining a text track type.

I can&apos;t imagine a situation where two tracks would have the same CodecID but different TrackTypes. More importantly, for the use-case described, authors can ensure that the CodecID is only used with one particular TrackType.

The same reasoning applies to Ogg &apos;name&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63556</commentid>
    <comment_count>42</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-02-01 23:53:25 +0000</bug_when>
    <thetext>FWIW: I also don&apos;t think we need yet another mechanism to represent Ogg&apos;s role values in &lt;track&gt; - that&apos;s what @kind was created for. As for what is in Ogg&apos;s name - this was what &lt;track&gt;&apos;s @label attribute was created for. Ogg has no means to specify what type of metadata is in a track other than giving it in the &quot;name&quot; field. So, from Ogg&apos;s POV there is nothing that we need extra.

Why can&apos;t MPEG also just throw all its extra information about codecs and metadata types etc into the @label attribute?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63557</commentid>
    <comment_count>43</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-02-02 00:16:05 +0000</bug_when>
    <thetext>(In reply to comment #42)
&gt; FWIW: I also don&apos;t think we need yet another mechanism to represent Ogg&apos;s role
&gt; values in &lt;track&gt; - that&apos;s what @kind was created for. 

Ogg defines 10 text track, 3 video track and 7 audio track Role values. The current HTML5 spec enumerates 5 text track kinds and 6 audio/video kinds. So all of Ogg&apos;s roles can&apos;t be mapped to @kind. If the definition of @kind was expanded so it could take on the value of Role in Ogg (and designated fields in other media formats) then that would work.

&gt; As for what is in Ogg&apos;s
&gt; name - this was what &lt;track&gt;&apos;s @label attribute was created for. Ogg has no
&gt; means to specify what type of metadata is in a track other than giving it in
&gt; the &quot;name&quot; field. So, from Ogg&apos;s POV there is nothing that we need extra.
&gt; 
&gt; Why can&apos;t MPEG also just throw all its extra information about codecs and
&gt; metadata types etc into the @label attribute?

This is possible, although the current language spec says the label is human readable, which wouldn&apos;t be the case for MPEG metadata.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67035</commentid>
    <comment_count>44</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-04-25 18:39:57 +0000</bug_when>
    <thetext>Exposing some author-provided machine label for metadata tracks seems reasonable, and not too much of a burden on implementors, _if_ we provide it by just exposing a single field from each format. You don&apos;t need more than one field, it just has to be something that the author can control on the production side and then read predictably on the consumption side. It has to be a field that the author can use to provide arbitrary data.

For ogg, it seems &quot;name&quot; is the closest match. It&apos;s not intended to be user-readable, as far as I can tell, and it&apos;s freeform.

For WebM/Matroska, I can&apos;t see an appropriate field, but maybe CodecID is sufficient for most use cases.

I don&apos;t know the other formats well enough to comment on those.


Note that currently we don&apos;t actually define even how &quot;label&quot; is mapped. The idea is that there will be format-specific specifications to define the mapping. The only difference here is that it&apos;s not at all as clear what the mapping should be for this field so I don&apos;t trust that user agents would implement it interoperably with similar vague hand-waving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67230</commentid>
    <comment_count>45</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-05-01 23:24:47 +0000</bug_when>
    <thetext>(In reply to comment #44)
&gt; Exposing some author-provided machine label for metadata tracks seems
&gt; reasonable, and not too much of a burden on implementors, _if_ we provide it by
&gt; just exposing a single field from each format. You don&apos;t need more than one
&gt; field, it just has to be something that the author can control on the
&gt; production side and then read predictably on the consumption side. It has to be
&gt; a field that the author can use to provide arbitrary data.
&gt; 
&gt; For ogg, it seems &quot;name&quot; is the closest match. It&apos;s not intended to be
&gt; user-readable, as far as I can tell, and it&apos;s freeform.

I think that would do.

&gt; 
&gt; For WebM/Matroska, I can&apos;t see an appropriate field, but maybe CodecID is
&gt; sufficient for most use cases.

I think the CodecID looks right.

&gt; 
&gt; I don&apos;t know the other formats well enough to comment on those.

The type of metadata can be determined as follows in MPPEG-4 ISO Base Media File Format and MPEG-2 Single Program Transport Stream.

MPEG-4 File Format:

A timed metadata track is identified by this box in the file: moov:trak:mdia:hdlr ==  &apos;meta&apos; ([1] section 8.4.3.1). Such a metadata track may include text or XML formatted data.

A timed metadata track contains text if moov:trak:mdia:minf:stbl:stsd contains MetaDataSampleEntry(&apos;mett&apos;). The type of text data is identified by a MIME type. In this case let TYPE = &apos;mp4-mett&apos; and VALUE = TextMetaDataSampleEntry.mime_format ([1] section 8.5.2.2).

A timed metadata track contains XML if moov:trak:mdia:minf:stbl:stsd contains MetaDataSampleEntry(&apos;metx&apos;). The format of the XML document is identified by its namespace. In this case let TYPE = &apos;mp4-metx&apos; and VALUE = XMLMetaDataSampleEntry.namespace.

Set the HTML5 metadata TextTrack label attribute to &quot;{TYPE : VALUE}&quot;. NOTE: this is a suggested syntax for type/value. If something else is more appropriate than that would be fine as long as the representation allows script to distinguish whether the label attribute contains a text MIME type of an XML name space.

MPEG-2 Single Program Transport Stream

A private data elementary stream in an MPEG-2 SPTS that should be exposed as an HTML5 TextTrack of kind=&apos;metadata&apos; is identified by the MPEG-2 TS elementary stream type &apos;stream_type&apos; in the program map table (PMT) of the MPEG-2 media resource ([2] section 2.4.4.8). A &apos;stream_type&apos; of 0x05, 0x06, 0x08, 0x09, 0x0E, 0x15-0x1A, 0x7F, 0x82-0x86, 0x88-0xFF indicates such a private data elementary stream.

Further information about the type of private data in that elementary stream is identified by one or more descriptors associated with this stream type in the PMT. These descriptors occupy a ES_info_length number of bytes immediately following the ES_info_length field in the PMT ([2] 2.4.4.9). Let TYPE = &apos;mp2t-ST&apos; where ST is a string representation of the &apos;stream_type&apos; field. Let VALUE = a string consisting of the Base64 encoded descriptor bytes.

Set the HTML5 metadata TextTrack label attribute to &quot;{TYPE : VALUE}&quot;.

[1] ISO/IEC 14496-12 Third Edition 2008-10-15 &quot;ISO base media file format&quot;
[2] ITU-T H.222.0 05/2006 &quot;Information technology – Generic coding of moving pictures and associated audio information: Systems&quot;

&gt; 
&gt; 
&gt; Note that currently we don&apos;t actually define even how &quot;label&quot; is mapped. The
&gt; idea is that there will be format-specific specifications to define the
&gt; mapping. 

Populating the label in the manner we&apos;re talking about for TextTrack would be useful for video and audio as well. HTML5 has enumerated &quot;kind&quot; for certain types of video, audio and text tracks but this mechanism doesn&apos;t allow the content creator to create a track of a kind that&apos;s not in the enumeration and have it be identifiable by script. Filling in the label as discussed would address this limitation.


&gt; The only difference here is that it&apos;s not at all as clear what the
&gt; mapping should be for this field so I don&apos;t trust that user agents would
&gt; implement it interoperably with similar vague hand-waving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67482</commentid>
    <comment_count>46</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-05-08 17:04:13 +0000</bug_when>
    <thetext>roc, how does comment 45 sound for MPEG-4 and MPEG-2 stream? Is it simple enough?

I&apos;m not sure I really follow how XML works in the context of a metadata stream. Is there a separate XML document per cue? Or is it one big document? If it&apos;s one big document then it seems that it&apos;ll need much more of a spec to define the mapping anyway, and we can leave this issue to that spec, and just handle the text case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67499</commentid>
    <comment_count>47</comment_count>
    <who name="Robert O&apos;Callahan (Mozilla)">roc</who>
    <bug_when>2012-05-08 20:37:07 +0000</bug_when>
    <thetext>(In reply to comment #46)
&gt; roc, how does comment 45 sound for MPEG-4 and MPEG-2 stream? Is it simple
&gt; enough?

Sounds OK.

But why not simply encode the type and value as &quot;TYPE VALUE&quot;? Less chance of things going wrong with author regexes if VALUE happens to contain &quot;}&quot;. Need to require that TYPE does not contain a space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68433</commentid>
    <comment_count>48</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-05-31 16:14:32 +0000</bug_when>
    <thetext>(In reply to comment #47)
&gt; (In reply to comment #46)
&gt; &gt; roc, how does comment 45 sound for MPEG-4 and MPEG-2 stream? Is it simple
&gt; &gt; enough?
&gt; 
&gt; Sounds OK.
&gt; 
&gt; But why not simply encode the type and value as &quot;TYPE VALUE&quot;? Less chance of
&gt; things going wrong with author regexes if VALUE happens to contain &quot;}&quot;. Need to
&gt; require that TYPE does not contain a space.

Sounds OK.

Does the editor have an idea for where the solution will be documented? One proposal is a separate W3C spec that is referenced by the HTML5 spec.

On a related issue, the solution to this bug will allow script to recognize the type of data in text tracks in a standard way, even if the UA does not recognize those tracks. Script access to these tracks is only possible if the UA exposes all text tracks in a media resource. As far as I can tell, the HTML5 spec has only one requirement for how the UA exposes media resource text tracks [1]. This could be read to imply that a UA must expose all text tracks. However, this could also be read to apply to only the text tracks that the UA makes available. It might be good to add an explicit requirement that all text tracks in the media resource be exposed . BTW, HTML5 has a similar track list ordering requirement for video and audio tracks [2]. An explicit requirement for the UA to expose all video and audio tracks in a media resource would be useful.

[1] http://dev.w3.org/html5/spec/single-page.html#list-of-text-tracks
[2] http://dev.w3.org/html5/spec/single-page.html#audiotracklist</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69469</commentid>
    <comment_count>49</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-06-28 03:50:03 +0000</bug_when>
    <thetext>(In reply to comment #45)
&gt; 
&gt; A timed metadata track contains text if moov:trak:mdia:minf:stbl:stsd contains
&gt; MetaDataSampleEntry(&apos;mett&apos;). The type of text data is identified by a MIME
&gt; type. In this case let TYPE = &apos;mp4-mett&apos; and VALUE =
&gt; TextMetaDataSampleEntry.mime_format ([1] section 8.5.2.2).
&gt; 
&gt; A timed metadata track contains XML if moov:trak:mdia:minf:stbl:stsd contains
&gt; MetaDataSampleEntry(&apos;metx&apos;). The format of the XML document is identified by
&gt; its namespace. In this case let TYPE = &apos;mp4-metx&apos; and VALUE =
&gt; XMLMetaDataSampleEntry.namespace.

I can&apos;t reconcile this with the MPEG4 spec, mostly because the MPEG4 spec seems to be impenetrable.

First, there&apos;s no such thing as a &quot;moov:trak:mdia:minf:stbl:stsd box&quot;, it seems that the formal way to refer to this would be &quot;the first stsd box in the first stbl box in the first minf box in the first mdia box in the first trak box in the first moov box, if such a box exists&quot;. Is that right? Second, I can&apos;t work out how to even formally phrase the stuff about &quot;mett&quot; and &quot;mime_format&quot; and so forth. I can&apos;t find the definition of SDL, and the SDL in the above-cited MPEG spec is the only place that mentions &quot;mett&quot;. The MPEG files don&apos;t seem to actually contain anything called &quot;TextMetaDataSampleEntry&quot;, that seems to just be a concept used in the spec&apos;s syntax definitions (?). Really not sure how to write this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69470</commentid>
    <comment_count>50</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-06-28 04:40:08 +0000</bug_when>
    <thetext>I think I&apos;ve worked out how to phrase it, though it&apos;ll need review. Still working on the MPEG2 stuff before I can check this in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69471</commentid>
    <comment_count>51</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-06-28 05:02:14 +0000</bug_when>
    <thetext>I can&apos;t find the MPEG2 standard anywhere so I&apos;m not able to spec that part.

I&apos;ve specced the requirements for Ogg, WebM, and MPEG-4. I haven&apos;t specced requirements for DASH, since no proposal for DASH was made.

The patch will be given below.

(In reply to comment #48)
&gt; 
&gt; On a related issue, the solution to this bug will allow script to recognize the
&gt; type of data in text tracks in a standard way, even if the UA does not
&gt; recognize those tracks.

The UA can only expose tracks in formats it understands how to expose. Tracks in formats it doesn&apos;t understand how to expose obviously can&apos;t be exposed, since it doesn&apos;t understand how to expose them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69472</commentid>
    <comment_count>52</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-06-28 05:10:35 +0000</bug_when>
    <thetext>(leaving open since the fix is only applied to the WHATWG copy currently)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69473</commentid>
    <comment_count>53</comment_count>
    <who name="">contributor</who>
    <bug_when>2012-06-28 05:11:23 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r7150.
Check-in comment: Define textTrack.inBandMetadataTrackDispatchType
http://html5.org/tools/web-apps-tracker?from=7149&amp;to=7150</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69474</commentid>
    <comment_count>54</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-06-28 05:34:59 +0000</bug_when>
    <thetext>Mike helped me find the MPEG-2 spec, so I added support for that too. Please do review the text, I have no idea what I&apos;m doing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69475</commentid>
    <comment_count>55</comment_count>
    <who name="">contributor</who>
    <bug_when>2012-06-28 05:36:07 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r7151.
Check-in comment: Define textTrack.inBandMetadataTrackDispatchType for MPEG-2 also.
http://html5.org/tools/web-apps-tracker?from=7150&amp;to=7151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69541</commentid>
    <comment_count>56</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-06-29 15:49:25 +0000</bug_when>
    <thetext>(In reply to comment #54)
&gt; Mike helped me find the MPEG-2 spec, so I added support for that too. Please do
&gt; review the text, I have no idea what I&apos;m doing here.

The text for MPEG-2 TS looks good but there is one thing missing that had been suggested.

As it stands in the proposed text, when the in-band metadata track dispatch type is set, there is nothing to indicate if the text track was from an MPEG-2 TS, Ogg, WebM MEPG-4 media resource and script won&apos;t know how to interpret the attribute. One way to fix this would be have inBandMetadatTrackDispatchType start with &quot;mp2t-&quot;, &quot;ogg-&quot;, &quot;webm-&quot; or &quot;mp4-&quot;. For example,

If the media resource is an Ogg file
The text track in-band metadata track dispatch type must be set to _the concatenation of &quot;ogg-&quot; and_ the value of the Name header field. [OGGSKELETONHEADERS]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69592</commentid>
    <comment_count>57</comment_count>
      <attachid>1152</attachid>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-07-03 15:37:37 +0000</bug_when>
    <thetext>Created attachment 1152
Attachment for comment 57</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69593</commentid>
    <comment_count>58</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-07-03 15:40:46 +0000</bug_when>
    <thetext>(In reply to comment #49)
&gt; (In reply to comment #45)
&gt; &gt; 
&gt; &gt; A timed metadata track contains text if moov:trak:mdia:minf:stbl:stsd contains
&gt; &gt; MetaDataSampleEntry(&apos;mett&apos;). The type of text data is identified by a MIME
&gt; &gt; type. In this case let TYPE = &apos;mp4-mett&apos; and VALUE =
&gt; &gt; TextMetaDataSampleEntry.mime_format ([1] section 8.5.2.2).
&gt; &gt; 
&gt; &gt; A timed metadata track contains XML if moov:trak:mdia:minf:stbl:stsd contains
&gt; &gt; MetaDataSampleEntry(&apos;metx&apos;). The format of the XML document is identified by
&gt; &gt; its namespace. In this case let TYPE = &apos;mp4-metx&apos; and VALUE =
&gt; &gt; XMLMetaDataSampleEntry.namespace.
&gt; 
&gt; I can&apos;t reconcile this with the MPEG4 spec, mostly because the MPEG4 spec seems
&gt; to be impenetrable.
&gt; 
&gt; First, there&apos;s no such thing as a &quot;moov:trak:mdia:minf:stbl:stsd box&quot;, it seems
&gt; that the formal way to refer to this would be &quot;the first stsd box in the first
&gt; stbl box in the first minf box in the first mdia box in the first trak box in
&gt; the first moov box, if such a box exists&quot;. Is that right? Second, I can&apos;t work
&gt; out how to even formally phrase the stuff about &quot;mett&quot; and &quot;mime_format&quot; and so
&gt; forth. I can&apos;t find the definition of SDL, and the SDL in the above-cited MPEG
&gt; spec is the only place that mentions &quot;mett&quot;. The MPEG files don&apos;t seem to
&gt; actually contain anything called &quot;TextMetaDataSampleEntry&quot;, that seems to just
&gt; be a concept used in the spec&apos;s syntax definitions (?). Really not sure how to
&gt; write this.

Here is proposed text, based on what is already in http://www.whatwg.org/specs/web-apps/current-work/#text-track-in-band-metadata-track-dispatch-type. The attachment shows the change with the same formatting as the existing text.



If the media resource is an MPEG-4 file

Let sample entry be the contents of the stsd box, which is contained in the  stbl box, which is  contained in the minf box, which is contained in the mdia box, which is contained in the trak box. Let type be the type field of the stsd box. If type is neither &quot;mett&quot; nor &quot;metx&quot; then the text track in-band metadata track dispatch type must be set to the empty string. Otherwise, if the type is &quot;mett&quot; then sample entry is a TextMetaDataSample and the text track in-band metadata track dispatch type must be set to the concatenation of the string &quot;mett&quot;, a U+0020 SPACE character, and the value of the mime_format field of TextMetaDataSampleEntry. Otherwise, if the type is &quot;metx&quot; then sample entry is an XMLMetaDataSampleEntry and the text track in-band metadata track dispatch type must be set to the concatenation of the string &quot;metx&quot;, a U+0020 SPACE character, and the value of the namespace field of XMLMetaDataSampleEntry.[MPEG4]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69897</commentid>
    <comment_count>59</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-07-12 17:26:37 +0000</bug_when>
    <thetext>Wouldn&apos;t the page know what the format was? After all, it was the one that gave the URL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70063</commentid>
    <comment_count>60</comment_count>
    <who name="">contributor</who>
    <bug_when>2012-07-18 04:33:54 +0000</bug_when>
    <thetext>This bug was cloned to create bug 1 as part of operation convergence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72855</commentid>
    <comment_count>61</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-08-27 20:21:46 +0000</bug_when>
    <thetext>(In reply to comment #59)
&gt; Wouldn&apos;t the page know what the format was? After all, it was the one that gave
&gt; the URL.

I assume this is a reply t o comment #56.

In the case where the URL is specified in the video element, the page author would need to use different versions of the JS dispatch function depending on the media type of the content pointed to by the URL. Will the author always be able to make this association? What about in a dynamically created page where the only piece of information about the content is the URL?

Also, wouldn&apos;t this be a source of errors? The metadata available to the page author might be wrong, saying that a piece of content is Ogg when in fact it is WebM. A UA that supports both will play the content but the wrong dispatch function will be used.

Having the UA set the type as proposed would address the above use cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73442</commentid>
    <comment_count>62</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-09-07 19:32:05 +0000</bug_when>
    <thetext>(In reply to comment #60)
&gt; This bug was cloned to create bug 1 as part of operation convergence.

I think that didn&apos;t work and this is still a bug shared between WHATWG and HTMLWG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73443</commentid>
    <comment_count>63</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-09-07 19:33:12 +0000</bug_when>
    <thetext>(In reply to comment #55)
&gt; Checked in as WHATWG revision r7151.
&gt; Check-in comment: Define textTrack.inBandMetadataTrackDispatchType for MPEG-2
&gt; also.
&gt; http://html5.org/tools/web-apps-tracker?from=7150&amp;to=7151

Applied to HTMLWG spec at https://github.com/w3c/html/commit/4886ebc76b0335ceb8e47d2fa8c10868fc6b0be0 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73444</commentid>
    <comment_count>64</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-09-07 19:41:31 +0000</bug_when>
    <thetext>(In reply to comment #61)
&gt; (In reply to comment #59)
&gt; &gt; Wouldn&apos;t the page know what the format was? After all, it was the one that gave
&gt; &gt; the URL.
&gt; 
&gt; I assume this is a reply t o comment #56.
&gt; 
&gt; In the case where the URL is specified in the video element, the page author
&gt; would need to use different versions of the JS dispatch function depending on
&gt; the media type of the content pointed to by the URL. Will the author always be
&gt; able to make this association?

Since it&apos;s the author providing the URL, he should know the media type of the content behind the URL. Can you explain a situation where that wouldn&apos;t be the case?

&gt; What about in a dynamically created page where
&gt; the only piece of information about the content is the URL?

Even then the page author is the one writing the JS, so they would know.
 
&gt; Also, wouldn&apos;t this be a source of errors? The metadata available to the page
&gt; author might be wrong, saying that a piece of content is Ogg when in fact it is
&gt; WebM. A UA that supports both will play the content but the wrong dispatch
&gt; function will be used.

If the author doesn&apos;t know the media type/can&apos;t find out through probing, why would the browser get it right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73456</commentid>
    <comment_count>65</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-09-07 23:13:03 +0000</bug_when>
    <thetext>(In reply to comment #64)
&gt; (In reply to comment #61)
&gt; &gt; (In reply to comment #59)
&gt; &gt; &gt; Wouldn&apos;t the page know what the format was? After all, it was the one that gave
&gt; &gt; &gt; the URL.
&gt; &gt; 
&gt; &gt; I assume this is a reply t o comment #56.
&gt; &gt; 
&gt; &gt; In the case where the URL is specified in the video element, the page author
&gt; &gt; would need to use different versions of the JS dispatch function depending on
&gt; &gt; the media type of the content pointed to by the URL. Will the author always be
&gt; &gt; able to make this association?
&gt; 
&gt; Since it&apos;s the author providing the URL, he should know the media type of the
&gt; content behind the URL. Can you explain a situation where that wouldn&apos;t be the
&gt; case?
&gt; 
&gt; &gt; What about in a dynamically created page where
&gt; &gt; the only piece of information about the content is the URL?
&gt; 
&gt; Even then the page author is the one writing the JS, so they would know.

If all the page generator (human author or otherwise) has is the URL to the content then how will it know the type of content?

&gt; 
&gt; &gt; Also, wouldn&apos;t this be a source of errors? The metadata available to the page
&gt; &gt; author might be wrong, saying that a piece of content is Ogg when in fact it is
&gt; &gt; WebM. A UA that supports both will play the content but the wrong dispatch
&gt; &gt; function will be used.
&gt; 
&gt; If the author doesn&apos;t know the media type/can&apos;t find out through probing, why
&gt; would the browser get it right?

The browser has access to the content-type when it tries to play the content, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73473</commentid>
    <comment_count>66</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-09-08 09:49:12 +0000</bug_when>
    <thetext>(In reply to comment #65)
&gt; If all the page generator (human author or otherwise) has is the URL to the
&gt; content then how will it know the type of content?

That&apos;s what mime types are for.


&gt; &gt; If the author doesn&apos;t know the media type/can&apos;t find out through probing, why
&gt; &gt; would the browser get it right?
&gt; 
&gt; The browser has access to the content-type when it tries to play the content,
&gt; right?

The JS developer has that access, too, via the getResponseHeader() function, see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader-method .

Is that sufficient or do you have a use case beyond this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73486</commentid>
    <comment_count>67</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-09-09 01:30:42 +0000</bug_when>
    <thetext>(In reply to comment #66)
&gt; (In reply to comment #65)
&gt; &gt; If all the page generator (human author or otherwise) has is the URL to the
&gt; &gt; content then how will it know the type of content?
&gt; 
&gt; That&apos;s what mime types are for.

Mime type metadata is merely a hint. Only the decoder of the data (in this case the UA) can determine the actual type.

&gt; 
&gt; &gt; &gt; If the author doesn&apos;t know the media type/can&apos;t find out through probing, why
&gt; &gt; &gt; would the browser get it right?
&gt; &gt; 
&gt; &gt; The browser has access to the content-type when it tries to play the content,
&gt; &gt; right?
&gt; 
&gt; The JS developer has that access, too, via the getResponseHeader() function,
&gt; see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader-method .

That doesn&apos;t work when track data is embedded in a container format that doesn&apos;t expose metadata about its component content. It also doesn&apos;t work when you aren&apos;t using XHR, and it doesn&apos;t work if you are using XHR and the response doesn&apos;t match the actual type.

&gt; Is that sufficient or do you have a use case beyond this?

Track data embedded in the user private data of a MPEG-2 TS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73549</commentid>
    <comment_count>68</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-09-10 14:43:15 +0000</bug_when>
    <thetext>(In reply to comment #66)
&gt; (In reply to comment #65)
&gt; &gt; If all the page generator (human author or otherwise) has is the URL to the
&gt; &gt; content then how will it know the type of content?
&gt; 
&gt; That&apos;s what mime types are for.

If the page in question sets the src attribute of the video element with the content URL, there is no need for the mime type.
 
&gt; 
&gt; 
&gt; &gt; &gt; If the author doesn&apos;t know the media type/can&apos;t find out through probing, why
&gt; &gt; &gt; would the browser get it right?
&gt; &gt; 
&gt; &gt; The browser has access to the content-type when it tries to play the content,
&gt; &gt; right?
&gt; 
&gt; The JS developer has that access, too, via the getResponseHeader() function,
&gt; see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader-method .

I don&apos;t understand the relevance of XHR to this? All the page and UA have is a URL to a content item. 

&gt; 
&gt; Is that sufficient or do you have a use case beyond this?

No, the suggestions aren&apos;t sufficient for the above-stated reasons.

If there is a way JS can determine the type of a content item given only the URL then I think that would suffice. Otherwise, I think it would be better for the UA to tag the dispatch string as suggested based on the mime type it will have when playing the content. This always works and makes no assumptions about what content metadata is available at page creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78919</commentid>
    <comment_count>69</comment_count>
    <who name="Robin Berjon">robin</who>
    <bug_when>2012-11-27 16:18:34 +0000</bug_when>
    <thetext>I&apos;m having a hard time figuring out if I can close this bug because we&apos;ve taken the change, or if the further discussion requires leaving it open. I get a sense that the further discussion might actually justify a bug of its own.

Silvia: since you&apos;ve been actively involved here, can you please make that call? This is the last LC1 bug. If it stays open it should probably be moved to .next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78921</commentid>
    <comment_count>70</comment_count>
    <who name="Bob Lund">b.lund</who>
    <bug_when>2012-11-27 16:43:01 +0000</bug_when>
    <thetext>Spec text for resolving this bug has already been created here [1]. This text looks good, with one change: s/of the first trak box/of a trak box/. I requested this change in response to an email for Ian.

With this change to the text in [1] the bug appears to be addressed.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#sourcing-in-band-text-tracks

(In reply to comment #69)
&gt; I&apos;m having a hard time figuring out if I can close this bug because we&apos;ve
&gt; taken the change, or if the further discussion requires leaving it open. I
&gt; get a sense that the further discussion might actually justify a bug of its
&gt; own.
&gt; 
&gt; Silvia: since you&apos;ve been actively involved here, can you please make that
&gt; call? This is the last LC1 bug. If it stays open it should probably be moved
&gt; to .next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78995</commentid>
    <comment_count>71</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2012-11-28 15:04:38 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If
you are satisfied with this response, please change the state of
this bug to CLOSED. If you have additional information and would
like the Editor to reconsider, please reopen this bug. If you would
like to escalate the issue to the full HTML Working Group, please
add the TrackerRequest keyword to this bug, and suggest title and
text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this
document:   http://dev.w3.org/html5/decision-policy/decision-policy-v2.html

Status: Accepted

Change Description:
Previous changes are already in the W3C spec:
http://dev.w3.org/html5/spec/single-page.html#sourcing-in-band-text-tracks
http://dev.w3.org/html5/spec/single-page.html#text-track-in-band-metadata-track-dispatch-type

Final patch is staged at:
https://github.com/w3c/html/commit/c1cee3b0ffdf29a46992caaf13db5552a4ced5b1

Rationale: Accepted the MPEG-4 parsing knowledge of the reporter</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1040</attachid>
            <date>2011-11-03 21:20:40 +0000</date>
            <delta_ts>2011-11-03 21:20:40 +0000</delta_ts>
            <desc>Mapping in-band MPEG-2 TS tracks to HTML5</desc>
            <filename>MappingMPEG2-TStoHTML5-v2.html</filename>
            <type>text/html</type>
            <size>32061</size>
            <attacher name="Bob Lund">b.lund</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjwhRE9DVFlQRSBodG1sIFBV
QkxJQyAnLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4nICdodHRwOi8vd3d3
LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkJz4NCjxodG1sIGRp
cj0ibHRyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCiAg
ICA8dGl0bGU+TWFwcGluZyBmcm9tIE1QRUctMiBUcmFuc3BvcnQgdG8gSFRNTDU8L3RpdGxlPg0K
ICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sO2No
YXJzZXQ9dXRmLTgiIC8+DQogICAgDQo8IS0tICANCiAgICAgID09PSBOT1RBIEJFTkUgPT09DQog
ICAgICBGb3IgdGhlIHRocmVlIHNjcmlwdHMgYmVsb3csIGlmIHlvdXIgc3BlYyByZXNpZGVzIG9u
IGRldi53MyB5b3UgY2FuIGNoZWNrIHRoZW0NCiAgICAgIG91dCBpbiB0aGUgc2FtZSB0cmVlIGFu
ZCB1c2UgcmVsYXRpdmUgbGlua3Mgc28gdGhhdCB0aGV5J2xsIHdvcmsgb2ZmbGluZSwNCiAgICAg
IC0tPg0KDQogICAgDQogICAgDQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQovKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN
CiAqIFJlU3BlYyBDU1MNCiAqIFJvYmluIEJlcmpvbiAocm9iaW4gYXQgYmVyam9uIGRvdCBjb20p
DQogKiB2MC4wNSAtIDIwMDktMDctMzENCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKiAtLS0gSU5MSU5FUyAt
LS0gKi8NCmVtLnJmYzIxMTkgeyANCiAgICB0ZXh0LXRyYW5zZm9ybTogICAgIGxvd2VyY2FzZTsN
CiAgICBmb250LXZhcmlhbnQ6ICAgICAgIHNtYWxsLWNhcHM7DQogICAgZm9udC1zdHlsZTogICAg
ICAgICBub3JtYWw7DQogICAgY29sb3I6ICAgICAgICAgICAgICAjOTAwOw0KfQ0KDQpoMSBhY3Jv
bnltLCBoMiBhY3JvbnltLCBoMyBhY3JvbnltLCBoNCBhY3JvbnltLCBoNSBhY3JvbnltLCBoNiBh
Y3JvbnltLCBhIGFjcm9ueW0sDQpoMSBhYmJyLCBoMiBhYmJyLCBoMyBhYmJyLCBoNCBhYmJyLCBo
NSBhYmJyLCBoNiBhYmJyLCBhIGFiYnIgew0KICAgIGJvcmRlcjogbm9uZTsNCn0NCg0KZGZuIHsN
CiAgICBmb250LXdlaWdodDogICAgYm9sZDsNCn0NCg0KYS5pbnRlcm5hbERGTiB7DQogICAgY29s
b3I6ICBpbmhlcml0Ow0KICAgIGJvcmRlci1ib3R0b206ICAxcHggc29saWQgIzk5YzsNCiAgICB0
ZXh0LWRlY29yYXRpb246ICAgIG5vbmU7DQp9DQoNCmEuZXh0ZXJuYWxERk4gew0KICAgIGNvbG9y
OiAgaW5oZXJpdDsNCiAgICBib3JkZXItYm90dG9tOiAgMXB4IGRvdHRlZCAjY2NjOw0KICAgIHRl
eHQtZGVjb3JhdGlvbjogICAgbm9uZTsNCn0NCg0KYS5iaWJyZWYgew0KICAgIHRleHQtZGVjb3Jh
dGlvbjogICAgbm9uZTsNCn0NCg0KY29kZSB7DQogICAgY29sb3I6ICAjZmY0NTAwOw0KfQ0KDQoN
Ci8qIC0tLSBXRUIgSURMIC0tLSAqLw0KcHJlLmlkbCB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNv
bGlkICM5MGI4ZGU7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5MGI4ZGU7DQogICAg
cGFkZGluZzogICAgMWVtOw0KICAgIGxpbmUtaGVpZ2h0OiAgICAxMjAlOw0KfQ0KDQpwcmUuaWRs
OjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICAgICZxdW90O1dlYklETCZxdW90OzsNCiAgICBkaXNw
bGF5OiAgICBibG9jazsNCiAgICB3aWR0aDogICAgICAxNTBweDsNCiAgICBiYWNrZ3JvdW5kOiAj
OTBiOGRlOw0KICAgIGNvbG9yOiAgI2ZmZjsNCiAgICBmb250LWZhbWlseTogICAgaW5pdGlhbDsN
CiAgICBwYWRkaW5nOiAgICAzcHg7DQogICAgZm9udC13ZWlnaHQ6ICAgIGJvbGQ7DQogICAgbWFy
Z2luOiAtMWVtIDAgMWVtIC0xZW07DQp9DQoNCi5pZGxUeXBlIHsNCiAgICBjb2xvcjogICNmZjQ1
MDA7DQogICAgZm9udC13ZWlnaHQ6ICAgIGJvbGQ7DQogICAgdGV4dC1kZWNvcmF0aW9uOiAgICBu
b25lOw0KfQ0KDQovKi5pZGxNb2R1bGUqLw0KLyouaWRsTW9kdWxlSUQqLw0KLyouaWRsSW50ZXJm
YWNlKi8NCi5pZGxJbnRlcmZhY2VJRCwgLmlkbERpY3Rpb25hcnlJRCB7DQogICAgZm9udC13ZWln
aHQ6ICAgIGJvbGQ7DQogICAgY29sb3I6ICAjMDA1YTljOw0KfQ0KDQouaWRsU3VwZXJjbGFzcyB7
DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGNvbG9yOiAgIzAwNWE5YzsNCn0NCg0KLyou
aWRsQXR0cmlidXRlKi8NCi5pZGxBdHRyVHlwZSwgLmlkbEZpZWxkVHlwZSwgLmlkbE1lbWJlclR5
cGUgew0KICAgIGNvbG9yOiAgIzAwNWE5YzsNCn0NCi5pZGxBdHRyTmFtZSwgLmlkbEZpZWxkTmFt
ZSwgLmlkbE1lbWJlck5hbWUgew0KICAgIGNvbG9yOiAgI2ZmNDUwMDsNCn0NCi5pZGxBdHRyTmFt
ZSBhLCAuaWRsRmllbGROYW1lIGEsIC5pZGxNZW1iZXJOYW1lIGEgew0KICAgIGNvbG9yOiAgI2Zm
NDUwMDsNCiAgICBib3JkZXItYm90dG9tOiAgMXB4IGRvdHRlZCAjZmY0NTAwOw0KICAgIHRleHQt
ZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLyouaWRsTWV0aG9kKi8NCi5pZGxNZXRoVHlwZSB7DQog
ICAgY29sb3I6ICAjMDA1YTljOw0KfQ0KLmlkbE1ldGhOYW1lIHsNCiAgICBjb2xvcjogICNmZjQ1
MDA7DQp9DQouaWRsTWV0aE5hbWUgYSB7DQogICAgY29sb3I6ICAjZmY0NTAwOw0KICAgIGJvcmRl
ci1ib3R0b206ICAxcHggZG90dGVkICNmZjQ1MDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25l
Ow0KfQ0KDQovKi5pZGxQYXJhbSovDQouaWRsUGFyYW1UeXBlIHsNCiAgICBjb2xvcjogICMwMDVh
OWM7DQp9DQouaWRsUGFyYW1OYW1lIHsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCi5l
eHRBdHRyIHsNCiAgICBjb2xvcjogICM2NjY7DQp9DQoNCi8qLmlkbENvbnN0Ki8NCi5pZGxDb25z
dFR5cGUgew0KICAgIGNvbG9yOiAgIzAwNWE5YzsNCn0NCi5pZGxDb25zdE5hbWUgew0KICAgIGNv
bG9yOiAgI2ZmNDUwMDsNCn0NCi5pZGxDb25zdE5hbWUgYSB7DQogICAgY29sb3I6ICAjZmY0NTAw
Ow0KICAgIGJvcmRlci1ib3R0b206ICAxcHggZG90dGVkICNmZjQ1MDA7DQogICAgdGV4dC1kZWNv
cmF0aW9uOiBub25lOw0KfQ0KDQovKi5pZGxFeGNlcHRpb24qLw0KLmlkbEV4Y2VwdGlvbklEIHsN
CiAgICBmb250LXdlaWdodDogICAgYm9sZDsNCiAgICBjb2xvcjogICNjMDA7DQp9DQoNCi5pZGxU
eXBlZGVmSUQsIC5pZGxUeXBlZGVmVHlwZSB7DQogICAgY29sb3I6ICAjMDA1YTljOw0KfQ0KDQou
aWRsUmFpc2VzLCAuaWRsUmFpc2VzIGEuaWRsVHlwZSwgLmlkbFJhaXNlcyBhLmlkbFR5cGUgY29k
ZSwgLmV4Y05hbWUgYSwgLmV4Y05hbWUgYSBjb2RlIHsNCiAgICBjb2xvcjogICNjMDA7DQogICAg
Zm9udC13ZWlnaHQ6ICAgIG5vcm1hbDsNCn0NCg0KLmV4Y05hbWUgYSB7DQogICAgZm9udC1mYW1p
bHk6ICAgIG1vbm9zcGFjZTsNCn0NCg0KLmlkbFJhaXNlcyBhLmlkbFR5cGUsIC5leGNOYW1lIGEu
aWRsVHlwZSB7DQogICAgYm9yZGVyLWJvdHRvbTogIDFweCBkb3R0ZWQgI2MwMDsNCn0NCg0KLmV4
Y0dldFNldFRydWUsIC5leGNHZXRTZXRGYWxzZSwgLnBybU51bGxUcnVlLCAucHJtTnVsbEZhbHNl
LCAucHJtT3B0VHJ1ZSwgLnBybU9wdEZhbHNlIHsNCiAgICB3aWR0aDogIDQ1cHg7DQogICAgdGV4
dC1hbGlnbjogY2VudGVyOw0KfQ0KLmV4Y0dldFNldFRydWUsIC5wcm1OdWxsVHJ1ZSwgLnBybU9w
dFRydWUgeyBjb2xvcjogICMwYzA7IH0NCi5leGNHZXRTZXRGYWxzZSwgLnBybU51bGxGYWxzZSwg
LnBybU9wdEZhbHNlIHsgY29sb3I6ICAjYzAwOyB9DQoNCi5pZGxJbXBsZW1lbnRzIGEgew0KICAg
IGZvbnQtd2VpZ2h0OiAgICBib2xkOw0KfQ0KDQpkbC5hdHRyaWJ1dGVzLCBkbC5tZXRob2RzLCBk
bC5jb25zdGFudHMsIGRsLmZpZWxkcywgZGwuZGljdGlvbmFyeS1tZW1iZXJzIHsNCiAgICBtYXJn
aW4tbGVmdDogICAgMmVtOw0KfQ0KDQouYXR0cmlidXRlcyBkdCwgLm1ldGhvZHMgZHQsIC5jb25z
dGFudHMgZHQsIC5maWVsZHMgZHQsIC5kaWN0aW9uYXJ5LW1lbWJlcnMgZHQgew0KICAgIGZvbnQt
d2VpZ2h0OiAgICBub3JtYWw7DQp9DQoNCi5hdHRyaWJ1dGVzIGR0IGNvZGUsIC5tZXRob2RzIGR0
IGNvZGUsIC5jb25zdGFudHMgZHQgY29kZSwgLmZpZWxkcyBkdCBjb2RlLCAuZGljdGlvbmFyeS1t
ZW1iZXJzIGR0IGNvZGUgew0KICAgIGZvbnQtd2VpZ2h0OiAgICBib2xkOw0KICAgIGNvbG9yOiAg
IzAwMDsNCiAgICBmb250LWZhbWlseTogICAgbW9ub3NwYWNlOw0KfQ0KDQouYXR0cmlidXRlcyBk
dCBjb2RlLCAuZmllbGRzIGR0IGNvZGUsIC5kaWN0aW9uYXJ5LW1lbWJlcnMgZHQgY29kZSB7DQog
ICAgYmFja2dyb3VuZDogICNmZmZmZDI7DQp9DQoNCi5hdHRyaWJ1dGVzIGR0IC5pZGxBdHRyVHlw
ZSBjb2RlLCAuZmllbGRzIGR0IC5pZGxGaWVsZFR5cGUgY29kZSwgLmRpY3Rpb25hcnktbWVtYmVy
cyBkdCAuaWRsTWVtYmVyVHlwZSBjb2RlIHsNCiAgICBjb2xvcjogICMwMDVhOWM7DQogICAgYmFj
a2dyb3VuZDogIHRyYW5zcGFyZW50Ow0KICAgIGZvbnQtZmFtaWx5OiAgICBpbmhlcml0Ow0KICAg
IGZvbnQtd2VpZ2h0OiAgICBub3JtYWw7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KfQ0KDQou
bWV0aG9kcyBkdCBjb2RlIHsNCiAgICBiYWNrZ3JvdW5kOiAgI2Q5ZTZmODsNCn0NCg0KLmNvbnN0
YW50cyBkdCBjb2RlIHsNCiAgICBiYWNrZ3JvdW5kOiAgI2RkZmZkMjsNCn0NCg0KLmF0dHJpYnV0
ZXMgZGQsIC5tZXRob2RzIGRkLCAuY29uc3RhbnRzIGRkLCAuZmllbGRzIGRkLCAuZGljdGlvbmFy
eS1tZW1iZXJzIGRkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAgMWVtOw0KfQ0KDQp0YWJsZS5wYXJh
bWV0ZXJzLCB0YWJsZS5leGNlcHRpb25zIHsNCiAgICBib3JkZXItc3BhY2luZzogMDsNCiAgICBi
b3JkZXItY29sbGFwc2U6ICAgIGNvbGxhcHNlOw0KICAgIG1hcmdpbjogMC41ZW0gMDsNCiAgICB3
aWR0aDogIDEwMCU7DQp9DQp0YWJsZS5wYXJhbWV0ZXJzIHsgYm9yZGVyLWJvdHRvbTogIDFweCBz
b2xpZCAjOTBiOGRlOyB9DQp0YWJsZS5leGNlcHRpb25zIHsgYm9yZGVyLWJvdHRvbTogIDFweCBz
b2xpZCAjZGViODkwOyB9DQoNCi5wYXJhbWV0ZXJzIHRoLCAuZXhjZXB0aW9ucyB0aCB7DQogICAg
Y29sb3I6ICAjZmZmOw0KICAgIHBhZGRpbmc6ICAgIDNweCA1cHg7DQogICAgdGV4dC1hbGlnbjog
bGVmdDsNCiAgICBmb250LWZhbWlseTogICAgaW5pdGlhbDsNCiAgICBmb250LXdlaWdodDogICAg
bm9ybWFsOw0KICAgIHRleHQtc2hhZG93OiAgICAjNjY2IDFweCAxcHggMDsNCn0NCi5wYXJhbWV0
ZXJzIHRoIHsgYmFja2dyb3VuZDogIzkwYjhkZTsgfQ0KLmV4Y2VwdGlvbnMgdGggeyBiYWNrZ3Jv
dW5kOiAjZGViODkwOyB9DQoNCi5wYXJhbWV0ZXJzIHRkLCAuZXhjZXB0aW9ucyB0ZCB7DQogICAg
cGFkZGluZzogICAgM3B4IDEwcHg7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQog
ICAgdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCg0KLnBhcmFtZXRlcnMgdHI6Zmlyc3QtY2hpbGQg
dGQsIC5leGNlcHRpb25zIHRyOmZpcnN0LWNoaWxkIHRkIHsNCiAgICBib3JkZXItdG9wOiBub25l
Ow0KfQ0KDQoucGFyYW1ldGVycyB0ZC5wcm1OYW1lLCAuZXhjZXB0aW9ucyB0ZC5leGNOYW1lLCAu
ZXhjZXB0aW9ucyB0ZC5leGNDb2RlTmFtZSB7DQogICAgd2lkdGg6ICAxMDBweDsNCn0NCg0KLnBh
cmFtZXRlcnMgdGQucHJtVHlwZSB7DQogICAgd2lkdGg6ICAxMjBweDsNCn0NCg0KdGFibGUuZXhj
ZXB0aW9ucyB0YWJsZSB7DQogICAgYm9yZGVyLXNwYWNpbmc6IDA7DQogICAgYm9yZGVyLWNvbGxh
cHNlOiAgICBjb2xsYXBzZTsNCiAgICB3aWR0aDogIDEwMCU7DQp9DQoNCi8qIC0tLSBUT0MgLS0t
ICovDQoudG9jIGEgew0KICAgIHRleHQtZGVjb3JhdGlvbjogICAgbm9uZTsNCn0NCg0KYSAuc2Vj
bm8gew0KICAgIGNvbG9yOiAgIzAwMDsNCn0NCg0KLyogLS0tIFRBQkxFIC0tLSAqLw0KdGFibGUu
c2ltcGxlIHsNCiAgICBib3JkZXItc3BhY2luZzogMDsNCiAgICBib3JkZXItY29sbGFwc2U6ICAg
IGNvbGxhcHNlOw0KICAgIGJvcmRlci1ib3R0b206ICAzcHggc29saWQgIzAwNWE5YzsNCn0NCg0K
LnNpbXBsZSB0aCB7DQogICAgYmFja2dyb3VuZDogIzAwNWE5YzsNCiAgICBjb2xvcjogICNmZmY7
DQogICAgcGFkZGluZzogICAgM3B4IDVweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQou
c2ltcGxlIHRoW3Njb3BlPSZxdW90O3JvdyZxdW90O10gew0KICAgIGJhY2tncm91bmQ6IGluaGVy
aXQ7DQogICAgY29sb3I6ICBpbmhlcml0Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRk
Ow0KfQ0KDQouc2ltcGxlIHRkIHsNCiAgICBwYWRkaW5nOiAgICAzcHggMTBweDsNCiAgICBib3Jk
ZXItdG9wOiAxcHggc29saWQgI2RkZDsNCn0NCg0KLnNpbXBsZSB0cjpudGgtY2hpbGQoZXZlbikg
ew0KICAgIGJhY2tncm91bmQ6ICNmMGY2ZmY7DQp9DQoNCi8qIC0tLSBETCAtLS0gKi8NCi5zZWN0
aW9uIGRkICZndDsgcDpmaXJzdC1jaGlsZCB7DQogICAgbWFyZ2luLXRvcDogMDsNCn0NCg0KLnNl
Y3Rpb24gZGQgJmd0OyBwOmxhc3QtY2hpbGQgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQp9DQoN
Ci5zZWN0aW9uIGRkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAgMWVtOw0KfQ0KDQouc2VjdGlvbiBk
bC5hdHRycyBkZCwgLnNlY3Rpb24gZGwuZWxkZWYgZGQgew0KICAgIG1hcmdpbi1ib3R0b206ICAw
Ow0KfQ0KDQovKiAtLS0gRVhBTVBMRVMgLS0tICovDQpwcmUuZXhhbXBsZSB7DQogICAgYm9yZGVy
LXRvcDogMXB4IHNvbGlkICNmZjQ1MDA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNm
ZjQ1MDA7DQogICAgcGFkZGluZzogICAgMWVtOw0KICAgIG1hcmdpbi10b3A6IDFlbTsNCn0NCg0K
cHJlLmV4YW1wbGU6OmJlZm9yZSB7DQogICAgY29udGVudDogICAgJnF1b3Q7RXhhbXBsZSZxdW90
OzsNCiAgICBkaXNwbGF5OiAgICBibG9jazsNCiAgICB3aWR0aDogICAgICAxNTBweDsNCiAgICBi
YWNrZ3JvdW5kOiAjZmY0NTAwOw0KICAgIGNvbG9yOiAgI2ZmZjsNCiAgICBmb250LWZhbWlseTog
ICAgaW5pdGlhbDsNCiAgICBwYWRkaW5nOiAgICAzcHg7DQogICAgZm9udC13ZWlnaHQ6ICAgIGJv
bGQ7DQogICAgbWFyZ2luOiAtMWVtIDAgMWVtIC0xZW07DQp9DQoNCi8qIC0tLSBFRElUT1JJQUwg
Tk9URVMgLS0tICovDQouaXNzdWUgew0KICAgIHBhZGRpbmc6ICAgIDFlbTsNCiAgICBtYXJnaW46
IDFlbSAwZW0gMGVtOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7DQogICAgYmFja2dyb3Vu
ZDogI2ZmYzsNCn0NCg0KLmlzc3VlOjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICAgICZxdW90O0lz
c3VlJnF1b3Q7Ow0KICAgIGRpc3BsYXk6ICAgIGJsb2NrOw0KICAgIHdpZHRoOiAgMTUwcHg7DQog
ICAgbWFyZ2luOiAtMS41ZW0gMCAwLjVlbSAwOw0KICAgIGZvbnQtd2VpZ2h0OiAgICBib2xkOw0K
ICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7DQogICAgYmFja2dyb3VuZDogI2ZmZjsNCiAgICBw
YWRkaW5nOiAgICAzcHggMWVtOw0KfQ0KDQoubm90ZSB7DQogICAgbWFyZ2luOiAxZW0gMGVtIDBl
bTsNCiAgICBwYWRkaW5nOiAgICAxZW07DQogICAgYm9yZGVyOiAycHggc29saWQgI2NmZjZkOTsN
CiAgICBiYWNrZ3JvdW5kOiAjZTJmZmYwOw0KfQ0KDQoubm90ZTo6YmVmb3JlIHsNCiAgICBjb250
ZW50OiAgICAmcXVvdDtOb3RlJnF1b3Q7Ow0KICAgIGRpc3BsYXk6ICAgIGJsb2NrOw0KICAgIHdp
ZHRoOiAgMTUwcHg7DQogICAgbWFyZ2luOiAtMS41ZW0gMCAwLjVlbSAwOw0KICAgIGZvbnQtd2Vp
Z2h0OiAgICBib2xkOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZmY2ZDk7DQogICAgYmFja2dy
b3VuZDogI2ZmZjsNCiAgICBwYWRkaW5nOiAgICAzcHggMWVtOw0KfQ0KDQovKiAtLS0gQmVzdCBQ
cmFjdGljZXMgLS0tICovDQpkaXYucHJhY3RpY2Ugew0KICAgIGJvcmRlcjogc29saWQgI2JlYmVi
ZSAxcHg7DQogICAgbWFyZ2luOiAyZW0gMWVtIDFlbSAyZW07DQp9DQoNCnNwYW4ucHJhY3RpY2Vs
YWIgew0KICAgIG1hcmdpbjogMS41ZW0gMC41ZW0gMWVtIDFlbTsNCiAgICBmb250LXdlaWdodDog
Ym9sZDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCnNwYW4ucHJhY3RpY2VsYWIgICB7
IGJhY2tncm91bmQ6ICNkZmZmZmY7IH0NCg0Kc3Bhbi5wcmFjdGljZWxhYiB7DQogICAgcG9zaXRp
b246IHJlbGF0aXZlOw0KICAgIHBhZGRpbmc6IDAgMC41ZW07DQogICAgdG9wOiAtMS41ZW07DQp9
DQoNCnAucHJhY3RpY2VkZXNjIHsNCiAgICBtYXJnaW46IDEuNWVtIDAuNWVtIDFlbSAxZW07DQp9
DQoNCkBtZWRpYSBzY3JlZW4gew0KICAgIHAucHJhY3RpY2VkZXNjIHsNCiAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOw0KICAgICAgICB0b3A6IC0yZW07DQogICAgICAgIHBhZGRpbmc6IDA7DQog
ICAgICAgIG1hcmdpbjogMS41ZW0gMC41ZW0gLTFlbSAxZW07DQogICAgfQ0KfQ0KDQovKiAtLS0g
U1lOVEFYIEhJR0hMSUdIVElORyAtLS0gKi8NCnByZS5zaF9zb3VyY2VDb2RlIHsNCiAgYmFja2dy
b3VuZC1jb2xvcjogd2hpdGU7DQogIGNvbG9yOiBibGFjazsNCiAgZm9udC1zdHlsZTogbm9ybWFs
Ow0KICBmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KDQpwcmUuc2hfc291cmNlQ29kZSAuc2hfa2V5
d29yZCB7IGNvbG9yOiAjMDA1YTljOyBmb250LXdlaWdodDogYm9sZDsgfSAgICAgICAgICAgLyog
bGFuZ3VhZ2Uga2V5d29yZHMgKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF90eXBlIHsgY29sb3I6
ICM2NjY7IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYmFzaWMgdHlwZXMgKi8NCnBy
ZS5zaF9zb3VyY2VDb2RlIC5zaF91c2VydHlwZSB7IGNvbG9yOiB0ZWFsOyB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiB1c2VyIGRlZmluZWQgdHlwZXMgKi8NCnByZS5zaF9zb3VyY2VD
b2RlIC5zaF9zdHJpbmcgeyBjb2xvcjogcmVkOyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9ICAg
ICAgICAvKiBzdHJpbmdzIGFuZCBjaGFycyAqLw0KcHJlLnNoX3NvdXJjZUNvZGUgLnNoX3JlZ2V4
cCB7IGNvbG9yOiBvcmFuZ2U7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0gICAgIC8qIHJlZ3Vs
YXIgZXhwcmVzc2lvbnMgKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9zcGVjaWFsY2hhciB7IGNv
bG9yOiAJI2ZmYzBjYjsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfSAgLyogZS5nLiwgXG4sIFx0
LCBcXCAqLw0KcHJlLnNoX3NvdXJjZUNvZGUgLnNoX2NvbW1lbnQgeyBjb2xvcjogI0E1MkEyQTsg
Zm9udC1zdHlsZTogaXRhbGljOyB9ICAgICAgICAgLyogY29tbWVudHMgKi8NCnByZS5zaF9zb3Vy
Y2VDb2RlIC5zaF9udW1iZXIgeyBjb2xvcjogcHVycGxlOyB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvKiBsaXRlcmFsIG51bWJlcnMgKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9wcmVw
cm9jIHsgY29sb3I6ICMwMDAwOEI7IGZvbnQtd2VpZ2h0OiBib2xkOyB9ICAgICAgIC8qIGUuZy4s
ICNpbmNsdWRlLCBpbXBvcnQgKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9zeW1ib2wgeyBjb2xv
cjogYmx1ZTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlLmcuLCAqLCArICovDQpw
cmUuc2hfc291cmNlQ29kZSAuc2hfZnVuY3Rpb24geyBjb2xvcjogYmxhY2s7IGZvbnQtd2VpZ2h0
OiBib2xkOyB9ICAgICAgICAgLyogZnVuY3Rpb24gY2FsbHMgYW5kIGRlY2xhcmF0aW9ucyAqLw0K
cHJlLnNoX3NvdXJjZUNvZGUgLnNoX2NicmFja2V0IHsgY29sb3I6IHJlZDsgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIGJsb2NrIGJyYWNrZXRzIChlLmcuLCB7LCB9KSAqLw0KcHJl
LnNoX3NvdXJjZUNvZGUgLnNoX3RvZG8geyBmb250LXdlaWdodDogYm9sZDsgYmFja2dyb3VuZC1j
b2xvcjogIzAwRkZGRjsgfSAgIC8qIFRPRE8gYW5kIEZJWE1FICovDQoNCi8qIFByZWRlZmluZWQg
dmFyaWFibGVzIGFuZCBmdW5jdGlvbnMgKGZvciBpbnN0YW5jZSBnbHNsKSAqLw0KcHJlLnNoX3Nv
dXJjZUNvZGUgLnNoX3ByZWRlZl92YXIgeyBjb2xvcjogIzAwMDA4QjsgfQ0KcHJlLnNoX3NvdXJj
ZUNvZGUgLnNoX3ByZWRlZl9mdW5jIHsgY29sb3I6ICMwMDAwOEI7IGZvbnQtd2VpZ2h0OiBib2xk
OyB9DQoNCi8qIGZvciBPT1AgKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9jbGFzc25hbWUgeyBj
b2xvcjogdGVhbDsgfQ0KDQovKiBsaW5lIG51bWJlcnMgKG5vdCB5ZXQgaW1wbGVtZW50ZWQpICov
DQpwcmUuc2hfc291cmNlQ29kZSAuc2hfbGluZW51bSB7IGRpc3BsYXk6IG5vbmU7IH0NCg0KLyog
SW50ZXJuZXQgcmVsYXRlZCAqLw0KcHJlLnNoX3NvdXJjZUNvZGUgLnNoX3VybCB7IGNvbG9yOiBi
bHVlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsg
fQ0KDQovKiBmb3IgQ2hhbmdlTG9nIGFuZCBMb2cgZmlsZXMgKi8NCnByZS5zaF9zb3VyY2VDb2Rl
IC5zaF9kYXRlIHsgY29sb3I6IGJsdWU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQpwcmUuc2hfc291
cmNlQ29kZSAuc2hfdGltZSwgcHJlLnNoX3NvdXJjZUNvZGUgLnNoX2ZpbGUgeyBjb2xvcjogIzAw
MDA4QjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9pcCwgcHJl
LnNoX3NvdXJjZUNvZGUgLnNoX25hbWUgeyBjb2xvcjogIzAwNjQwMDsgfQ0KDQovKiBmb3IgUHJv
bG9nLCBQZXJsLi4uICovDQpwcmUuc2hfc291cmNlQ29kZSAuc2hfdmFyaWFibGUgeyBjb2xvcjog
IzAwNjQwMDsgfQ0KDQovKiBmb3IgTGFUZVggKi8NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9pdGFs
aWNzIHsgY29sb3I6ICMwMDY0MDA7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQ0KcHJlLnNoX3NvdXJj
ZUNvZGUgLnNoX2JvbGQgeyBjb2xvcjogIzAwNjQwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCnBy
ZS5zaF9zb3VyY2VDb2RlIC5zaF91bmRlcmxpbmUgeyBjb2xvcjogIzAwNjQwMDsgdGV4dC1kZWNv
cmF0aW9uOiB1bmRlcmxpbmU7IH0NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9maXhlZCB7IGNvbG9y
OiBncmVlbjsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQ0KcHJlLnNoX3NvdXJjZUNvZGUgLnNo
X2FyZ3VtZW50IHsgY29sb3I6ICMwMDY0MDA7IH0NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9vcHRp
b25hbGFyZ3VtZW50IHsgY29sb3I6IHB1cnBsZTsgfQ0KcHJlLnNoX3NvdXJjZUNvZGUgLnNoX21h
dGggeyBjb2xvcjogb3JhbmdlOyB9DQpwcmUuc2hfc291cmNlQ29kZSAuc2hfYmlidGV4IHsgY29s
b3I6IGJsdWU7IH0NCg0KLyogZm9yIGRpZmZzICovDQpwcmUuc2hfc291cmNlQ29kZSAuc2hfb2xk
ZmlsZSB7IGNvbG9yOiBvcmFuZ2U7IH0NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9uZXdmaWxlIHsg
Y29sb3I6ICMwMDY0MDA7IH0NCnByZS5zaF9zb3VyY2VDb2RlIC5zaF9kaWZmbGluZXMgeyBjb2xv
cjogYmx1ZTsgfQ0KDQovKiBmb3IgY3NzICovDQpwcmUuc2hfc291cmNlQ29kZSAuc2hfc2VsZWN0
b3IgeyBjb2xvcjogcHVycGxlOyB9DQpwcmUuc2hfc291cmNlQ29kZSAuc2hfcHJvcGVydHkgeyBj
b2xvcjogYmx1ZTsgfQ0KcHJlLnNoX3NvdXJjZUNvZGUgLnNoX3ZhbHVlIHsgY29sb3I6ICMwMDY0
MDA7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQ0KDQovKiBvdGhlciAqLw0KcHJlLnNoX3NvdXJjZUNv
ZGUgLnNoX3NlY3Rpb24geyBjb2xvcjogYmxhY2s7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQpwcmUu
c2hfc291cmNlQ29kZSAuc2hfcGFyZW4geyBjb2xvcjogcmVkOyB9DQpwcmUuc2hfc291cmNlQ29k
ZSAuc2hfYXR0cmlidXRlIHsgY29sb3I6ICMwMDY0MDA7IH0NCg0KPC9zdHlsZT48bGluayBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9TdHlsZVNoZWV0cy9UUi93M2MtdW5vZmZpY2lhbCIgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgY2hhcnNldD0idXRmLTgiIC8+PC9oZWFkPg0KICA8
Ym9keSBzdHlsZT0iZGlzcGxheTogaW5oZXJpdDsgIj48ZGl2IGNsYXNzPSJoZWFkIj48cD48L3A+
PGgxIGNsYXNzPSJ0aXRsZSIgaWQ9InRpdGxlIj5NYXBwaW5nIGZyb20gTVBFRy0yIFRyYW5zcG9y
dCB0byBIVE1MNTwvaDE+PGgyIGlkPSJ1bm9mZmljaWFsLWRyYWZ0LTMxLW9jdG9iZXItMjAxMSI+
VW5vZmZpY2lhbCBEcmFmdCAzMSBPY3RvYmVyIDIwMTE8L2gyPjxkbD48ZHQ+RWRpdG9yOjwvZHQ+
PGRkPjxzcGFuPkJvYiBMdW5kPC9zcGFuPjwvZGQ+DQo8L2RsPjxwIGNsYXNzPSJjb3B5cmlnaHQi
PlRoaXMgZG9jdW1lbnQgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSBjbGFzcz0ic3ViZm9vdCIgaHJl
Zj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyIgcmVsPSJsaWNl
bnNlIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIDMuMCBMaWNlbnNlPC9hPi48L3A+PGhy
IC8+PC9kaXY+DQogICAgPGRpdiBpZD0iYWJzdHJhY3QiIGNsYXNzPSJpbnRyb2R1Y3Rvcnkgc2Vj
dGlvbiI+PGgyPkFic3RyYWN0PC9oMj4NCgkJCTxwPiANCiAgICAgIFRoaXMgc3BlY2lmaWNhdGlv
biBkZWZpbmVzIGEgc3RhbmRhcmQgbWVjaGFuaXNtIGEgdXNlciBhZ2VudCBzaG91bGQgdXNlIHRv
IGV4cG9zZSB0aGUgdHJhY2tzIGluIGFuIE1QRUctMiBUUyBtZWRpYSBjb250YWluZXIgc28gdGhh
dCB0aGUgdHJhY2tzIGNhbiBiZSBpZGVudGlmZWQgaW4gYSBjb21tb24gd2F5LjwvcD4NCiAgICA8
L2Rpdj48ZGl2IGlkPSJzb3RkIiBjbGFzcz0iaW50cm9kdWN0b3J5IHNlY3Rpb24iPjxoMj5TdGF0
dXMgb2YgVGhpcyBEb2N1bWVudDwvaDI+PHA+VGhpcyBkb2N1bWVudCBpcyBtZXJlbHkgYSBwdWJs
aWMgd29ya2luZyBkcmFmdCBvZiBhIHBvdGVudGlhbCBzcGVjaWZpY2F0aW9uLiBJdCBoYXMgbm8g
b2ZmaWNpYWwgc3RhbmRpbmcgb2YgYW55IGtpbmQgYW5kIGRvZXMgbm90IHJlcHJlc2VudCB0aGUg
c3VwcG9ydCBvciBjb25zZW5zdXMgb2YgYW55IHN0YW5kYXJkcyBvcmdhbmlzYXRpb24uPC9wPjwv
ZGl2PjxkaXYgaWQ9InRvYyIgY2xhc3M9InNlY3Rpb24iPjxoMiBjbGFzcz0iaW50cm9kdWN0b3J5
Ij5UYWJsZSBvZiBDb250ZW50czwvaDI+PHVsIGNsYXNzPSJ0b2MiPjxsaSBjbGFzcz0idG9jbGlu
ZSI+PGEgaHJlZj0iI2ludHJvZHVjdGlvbi1hbmQtcHVycG9zZSIgY2xhc3M9InRvY3hyZWYiPjxz
cGFuIGNsYXNzPSJzZWNubyI+MS4gPC9zcGFuPkludHJvZHVjdGlvbiBhbmQgUHVycG9zZTwvYT48
L2xpPjxsaSBjbGFzcz0idG9jbGluZSI+PGEgaHJlZj0iI3ZpZGVvLS1hdWRpby1hbmQtdGV4dC10
cmFjay1jcmVhdGlvbiIgY2xhc3M9InRvY3hyZWYiPjxzcGFuIGNsYXNzPSJzZWNubyI+Mi4gPC9z
cGFuPiBWaWRlbywgQXVkaW8gYW5kIFRleHQgVHJhY2sgQ3JlYXRpb24gPC9hPjx1bCBjbGFzcz0i
dG9jIj48bGkgY2xhc3M9InRvY2xpbmUiPjxhIGhyZWY9IiN0cmFjay1kZXNjcmlwdGlvbi10ZXh0
dHJhY2siIGNsYXNzPSJ0b2N4cmVmIj48c3BhbiBjbGFzcz0ic2Vjbm8iPjIuMSA8L3NwYW4+IFRy
YWNrIERlc2NyaXB0aW9uIFRleHRUcmFjayA8L2E+PC9saT48bGkgY2xhc3M9InRvY2xpbmUiPjxh
IGhyZWY9IiN2aWRlb3RyYWNrIiBjbGFzcz0idG9jeHJlZiI+PHNwYW4gY2xhc3M9InNlY25vIj4y
LjIgPC9zcGFuPiBWaWRlb1RyYWNrIDwvYT48L2xpPjxsaSBjbGFzcz0idG9jbGluZSI+PGEgaHJl
Zj0iI2F1ZGlvdHJhY2siIGNsYXNzPSJ0b2N4cmVmIj48c3BhbiBjbGFzcz0ic2Vjbm8iPjIuMyA8
L3NwYW4+IEF1ZGlvVHJhY2sgPC9hPjwvbGk+PGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIj
b3RoZXItdGV4dHRyYWNrcyIgY2xhc3M9InRvY3hyZWYiPjxzcGFuIGNsYXNzPSJzZWNubyI+Mi40
IDwvc3Bhbj4gT3RoZXIgVGV4dFRyYWNrcyA8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJ0
b2NsaW5lIj48YSBocmVmPSIjY2xvc2VkLWNhcHRpb25pbmciIGNsYXNzPSJ0b2N4cmVmIj48c3Bh
biBjbGFzcz0ic2Vjbm8iPjMuIDwvc3Bhbj4gQ2xvc2VkIENhcHRpb25pbmcgPC9hPjwvbGk+PGxp
IGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjcmVmZXJlbmNlcyIgY2xhc3M9InRvY3hyZWYiPjxz
cGFuIGNsYXNzPSJzZWNubyI+QS4gPC9zcGFuPlJlZmVyZW5jZXM8L2E+PHVsIGNsYXNzPSJ0b2Mi
PjxsaSBjbGFzcz0idG9jbGluZSI+PGEgaHJlZj0iI25vcm1hdGl2ZS1yZWZlcmVuY2VzIiBjbGFz
cz0idG9jeHJlZiI+PHNwYW4gY2xhc3M9InNlY25vIj5BLjEgPC9zcGFuPk5vcm1hdGl2ZSByZWZl
cmVuY2VzPC9hPjwvbGk+PGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjaW5mb3JtYXRpdmUt
cmVmZXJlbmNlcyIgY2xhc3M9InRvY3hyZWYiPjxzcGFuIGNsYXNzPSJzZWNubyI+QS4yIDwvc3Bh
bj5JbmZvcm1hdGl2ZSByZWZlcmVuY2VzPC9hPjwvbGk+PC91bD48L2xpPjwvdWw+PC9kaXY+DQog
ICAgPGRpdiBpZD0iaW50cm9kdWN0aW9uLWFuZC1wdXJwb3NlIiBjbGFzcz0ic2VjdGlvbiI+DQog
ICAgICANCjwhLS0gT2RkUGFnZSAtLT4NCjxoMj48c3BhbiBjbGFzcz0ic2Vjbm8iPjEuIDwvc3Bh
bj5JbnRyb2R1Y3Rpb24gYW5kIFB1cnBvc2U8L2gyPg0KICAgICAgPHA+DQoJICA8YWJiciB0aXRs
ZT0iaHlwZXJ0ZXh0IG1hcmt1cCBsYW5ndWFnZSI+SFRNTDwvYWJicj41IDxhYmJyIHRpdGxlPSJh
c2VyIGFnZW50Ij5VQTwvYWJicj5zIDxhIGhyZWY9IiNIVE1MNSI+PGk+W0hUTUw1XTwvaT48L2E+
IG1heSBwbGF5YmFjayBNUEVHLTIgVFMgbWVkaWEgcmVzb3VyY2VzIHRoYXQgY29udGFpbiBhIG11
bHRpcGxleCBvZiB2aWRlbywgYXVkaW8sIHRleHQgYW5kIHByaXZhdGUgZGF0YSBlbGVtZW50YXJ5
IHN0cmVhbXMuIFRlbGV2aXNpb24gcHJvZ3JhbSBwcm92aWRlcnMgYW5kIGRpc3RyaWJ1dG9ycyB1
c2UgdGhlc2Ugc3RyZWFtcyB0byBkZWxpdmVyIHNlcnZpY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUg
cHJpbWFyeSB2aWRlbyBhbmQgYXVkaW8gaW4gdGhlIG11bHRpcGxleGVkIHN0cmVhbS4gVGhlc2Ug
c2VydmljZXMgYXJlIGNvbGxlY3RpdmVseSB0ZXJtZWQgJnF1b3Q7VFYgU2VydmljZXMmcXVvdDsu
IEEgY29uc2lzdGVudCBIVE1MIHByZXNlbnRhdGlvbiBvZiB0aGVzZSBUViBzZXJ2aWNlcyB0cmFj
a3MgYnkgVUFzIGlzIGVzc2VudGlhbCBpbiBvcmRlciBmb3Igc2NyaXB0IHRvIHVuZGVyc3RhbmQg
dGhlIHNwZWNpZmljIHR5cGUgb2Ygc2VydmljZSBhbmQgaW50ZXJwcmV0IHRoZSB0cmFjayBkYXRh
LCBpbmRlcGVuZGVudCBvZiB0aGUgbWVkaWEgcmVzb3VyY2UgcHJvdmlkZXIuDQoNCiBUaGlzIHNw
ZWNpZmljYXRpb24gZGVmaW5lcyByZXF1aXJlbWVudHMgZm9yIGhvdyB0aGVzZSBNUEVHLTIgVFMg
ZWxlbWVudGFyeSBzdHJlYW1zIHNob3VsZCBiZSB0cmFuc2xhdGVkIGJ5IHRoZSBIVE1MNSB1c2Vy
IGFnZW50IGludG8gdGhlIGVxdWl2YWxlbnQgSFRNTDUgdmlkZW8sIGF1ZGlvIGFuZCB0ZXh0IHRy
YWNrIGVsZW1lbnRzLiA8L3A+DQoJICA8cD4NCk5vdGUgdGhhdCB0aGUgV2ViIHBhZ2UgcHJvdmlk
aW5nIHRoZSB1c2VyIGludGVyZmFjZSAoZS5nLiBwcm9ncmFtIGd1aWRlKSBpcyBvZnRlbiBub3Qg
cHJvdmlkZWQgYnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIHByb2dyYW0gY29udGVudC4gRm9yIGV4
YW1wbGUsIHRoZSBndWlkZSBtYXkgYmUgcHJvdmlkZWQgYnkgdGhlIHRlbGV2aXNpb24gbWFudWZh
Y3R1cmVyIG9yIHRoZSBjYWJsZSBvciBzYXRlbGxpdGUgVFYgcHJvdmlkZXIsIHdoaWxlIHRoZSBt
dWx0aXBsZXhlZCBzdHJlYW1zIGFyZSBwcm92aWRlZCBieSBodW5kcmVkcyBvZiBpbmRlcGVuZGVu
dCB0ZWxldmlzaW9uIHByb2dyYW0gcHJvdmlkZXJzLiBUaGVyZWZvcmUsIHRoZSBXZWIgcGFnZSBo
YXMgbm8gYSBwcmlvcmkga25vd2xlZGdlIG9mIHdoaWNoIHN0cmVhbXMgYXJlIGluIHRoZSBwcm9n
cmFtcyBhdCBhbnkgZ2l2ZW4gdGltZS4NCgkgIDwvcD4NCgkgIDxwPg0KCSAgVGhpcyBzcGVjaWZp
Y2F0aW9uIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYW4gSFRNTDUgdXNlciBhZ2VudCB0
byByZWNvZ25pemUgYW5kIG1ha2UgdGhlIE1QRUctMiBUUyBwcm9ncmFtIHN0cmVhbXMgYXZhaWxh
YmxlIHRvIFdlYiBjb250ZW50IGluIGEgY29uc2lzdGVudCB3YXkgdGhhdCBpcyBpbmRlcGVuZGVu
dCBvZiB0aGUgcHJvZ3JhbSBwcm92aWRlci4gRXhhbXBsZSBUViBTZXJ2aWNlcyBhcmU6DQoJICA8
L3A+DQoJCTxwPg0KCSAgPC9wPjx0YWJsZT4NCgkJCTx0Ym9keT48dHI+DQoJCQkJPHRkPiA8Yj5D
bG9zZWQgQ2FwdGlvbmluZzwvYj4gPC90ZD4NCgkJCQk8dGQ+IFRleHR1YWwgcmVwcmVzZW50YXRp
b24gb2YgdGhlIG1lZGlhIHJlc291cmNlIGF1ZGlvIGRpYWxvZ3VlIGludGVuZGVkIGZvciB0aGUg
aGVhcmluZyBpbXBhaXJlZC4gPC90ZD4NCgkJCTwvdHI+DQoJCQk8dHI+DQoJCQkJPHRkPiA8Yj5T
dWJ0aXRsZXM8L2I+IDwvdGQ+DQoJCQkJPHRkPiBBbHRlcm5hdGUgbGFuZ3VhZ2UgdGV4dHVhbCBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgbWVkaWEgcmVzb3VyY2UgYXVkaW8gZGlhbG9ndWUuIDwvdGQ+
DQoJCQk8L3RyPg0KCQkJPHRyPg0KCQkJCTx0ZD4gPGI+Q29udGVudCBBZHZpc29yaWVzPC9iPiA8
L3RkPg0KCQkJCTx0ZD4gQ29udGVudCByYXRpbmcgaW5mb3JtYXRpb24gdXNlZCBieSBwYXJlbnRh
bCBjb250cm9sIGFwcGxpY2F0aW9ucy4gPC90ZD4NCgkJCTwvdHI+DQoJCQk8dHI+DQoJCQkJPHRk
PiA8Yj5TeW5jaHJvbml6ZWQgQ29udGVudDwvYj4JPC90ZD4NCgkJCQk8dGQ+IFNpZ25hbGluZyBt
ZXNzYWdlcyB0byBjb250cm9sIHRoZSBleGVjdXRpb24gb2YgYSBjbGllbnQgYXBwbGljYXRpb24g
aW4gYSBtYW5uZXIgc3luY2hyb25pemVkIHdpdGggdGhlIG1lZGlhIHJlc291cmNlIHBsYXliYWNr
LiA8L3RkPg0KCQkJPC90cj4NCgkJCTx0cj4NCgkJCQk8dGQ+IDxiPkNsaWVudCBhZCBpbnNlcnRp
b248L2I+IDwvdGQ+DQoJCQkJPHRkPiBTaWduYWxpbmcgbWVzc2FnZXMgdGhhdCBjb252ZXkgYWR2
ZXJ0aXNlbWVudCBpbnNlcnRpb24gb3Bwb3J0dW5pdGllcyB0byBhIGNsaWVudCBhcHBsaWNhdGlv
bi4gPC90ZD4NCgkJCTwvdHI+DQoJCQk8dHI+DQoJCQkJPHRkPiA8Yj5BdWRpbyB0cmFuc2xhdGlv
bnM8L2I+IDwvdGQ+DQoJCQkJPHRkPiBBbHRlcm5hdGUgbGFuZ3VhZ2UgcmVwcmVzZW50YXRpb24g
b2YgdGhlIHByaW1hcnkgYXVkaW8gdHJhY2suIDwvdGQ+DQoJCQk8L3RyPg0KCQkJPHRyPg0KCQkJ
CTx0ZD4gPGI+QXVkaW8gZGVzY3JpcHRpb25zPC9iPiA8L3RkPg0KCQkJCTx0ZD4gQXVkaW8gZGVz
Y3JpcHRpb25zIG9mIHRoZSB2aWRlbyBpbnRlbmRlZCBmb3IgdGhlIHZpc3VhbGx5IGltcGFpcmVk
LiA8L3RkPg0KCQkJPC90cj4NCgkJPC90Ym9keT48L3RhYmxlPg0KCQk8cD48L3A+DQoJCTxwPg0K
VGhlIHJlcXVpcmVtZW50cyBpbiB0aGlzIHNwZWNpZmljYXRpb24gb25seSBhcHBseSB0byBzaW5n
bGUgcHJvZ3JhbSBNUEVHLTIgdHJhbnNwb3J0IHN0cmVhbXM7IG11bHRpLXByb2dyYW0gTVBFRy0y
IHRyYW5zcG9ydCBzdHJlYW1zIGFyZSBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgc3BlY2lmaWNhdGlv
bi4NCkRpZmZlcmVudCBzcGVjaWZpY2F0aW9ucyBtYXkgZGVmaW5lIGVxdWl2YWxlbnQgcmVxdWly
ZW1lbnRzIGZvciBvdGhlciBtZWRpYSB0cmFuc3BvcnQgYW5kIGNvbnRhaW5lciBmb3JtYXRzLCBN
UEVHLTQgYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCBhbmQgTVBFRyBEQVNIIGZvciBleGFtcGxlLg0K
VGhlIGZvbGxvd2luZyBzZWN0aW9ucyBkZWZpbmUgcmVxdWlyZW1lbnRzIGZvciBob3cgdGhlIHVz
ZXIgYWdlbnQgbXVzdCByZWNvZ25pemUgTVBFRy0yIFRTIHZpZGVvLCBhdWRpbyBhbmQgb3RoZXIg
ZGF0YSB0cmFja3MgYW5kIGhvdyB0aGUgSFRNTDUgZWxlbWVudHMgcmVwcmVzZW50aW5nIHRob3Nl
IHRyYWNrcyBtdXN0IGJlIGNyZWF0ZWQuDQoJCTwvcD4NCgkJPC9kaXY+DQoJCTxkaXYgaWQ9InZp
ZGVvLS1hdWRpby1hbmQtdGV4dC10cmFjay1jcmVhdGlvbiIgY2xhc3M9InNlY3Rpb24iPg0KCQkN
CjwhLS0gT2RkUGFnZSAtLT4NCjxoMj48c3BhbiBjbGFzcz0ic2Vjbm8iPjIuIDwvc3Bhbj4gVmlk
ZW8sIEF1ZGlvIGFuZCBUZXh0IFRyYWNrIENyZWF0aW9uIDwvaDI+DQoJCTxwPiBIVE1MNSBWaWRl
b1RyYWNrLCBBdWRpb1RyYWNrIGFuZCBUZXh0VHJhY2sgIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0
bGU9Im11c3QiPm11c3Q8L2VtPiBiZSBjcmVhdGVkIGFzIGRlZmluZWQgaW4gPGEgaHJlZj0iI0hU
TUw1Ij48aT5bSFRNTDVdPC9pPjwvYT4uIDwvcD4NCgkJPHA+IEhUTUw1IFZpZGVvVHJhY2ssIEF1
ZGlvVHJhY2sgIGFuZCBUZXh0VHJhY2sgZWxlbWVudHMgaGF2ZSBhZGRpdGlvbmFsIGF0dHJpYnV0
ZXMsIGJleW9uZCB0aG9zZSByZWZlcmVuY2VkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiwgdGhhdCA8
ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJzaG91bGQiPnNob3VsZDwvZW0+IGJlIHNldCBieSB0
aGUgdXNlciBhZ2VudCBjb25zaXN0ZW50IHdpdGggdXNlciBwcmVmZXJlbmNlcy4gPC9wPg0KCQk8
cD4gQSB1c2VyIGFnZW50IG1heSBiZSBwcmVzZW50ZWQgd2l0aCBwcmV2aW91c2x5IHByb2Nlc3Nl
ZCBpbi1iYW5kIFRleHRUcmFja3MsIGZvciBleGFtcGxlLCB3aGVuIHRoZSB2aWV3ZXIgc2Vla3Mg
YmFjayBpbiB0aGUgbWVkaWEgcmVzb3VyY2UsIGFzIGNvbnRyb2xsZWQgYnkgdGhlIHNlZWthYmxl
IHRpbWUgcmFuZ2VzIGF0dHJpYnV0ZSBvZiB0aGUgSFRNTE1lZGlhRWxlbWVudC4gVGV4dFRyYWNr
Q3VlcyBhcmUgbm90IHJlbW92ZWQgZnJvbSB0aGUgVGV4dFRyYWNrIHNvIHRoZSB1c2VyIGFnZW50
IDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3Qgbm90Ij5tdXN0IG5vdDwvZW0+IGNyZWF0
ZSBkdXBsaWNhdGUgVGV4dFRyYWNrQ3VlcyBpbiB0aGlzIGNhc2UuIEhvdyB0aGUgdXNlciBhZ2Vu
dCBhY2NvbXBsaXNoZXMgdGhpcyBpcyBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4gPC9wPg0KCQk8
ZGl2IGlkPSJ0cmFjay1kZXNjcmlwdGlvbi10ZXh0dHJhY2siIGNsYXNzPSJzZWN0aW9uIj4NCgkJ
PGgzPjxzcGFuIGNsYXNzPSJzZWNubyI+Mi4xIDwvc3Bhbj4gVHJhY2sgRGVzY3JpcHRpb24gVGV4
dFRyYWNrIDwvaDM+DQoJCTxwPiBSZWNvZ25pdGlvbiBvZiBzcGVjaWZpYyB0eXBlcyBvZiB2aWRl
bywgYXVkaW8gYW5kIHRleHQgdHJhY2tzIHdpbGwsIGluIGdlbmVyYWwsIGJlIGRlcGVuZGVudCBv
biBnZW9ncmFwaGljYWwgcmVnaW9uIG9yIHNlcnZpY2Ugb3IgY29udGVudCBwcm92aWRlci4gSW4g
b3JkZXIgdGhhdCBVQSBpbXBsZW1lbnRhdGlvbnMgYXJlIGluZGVwZW5kZW50IG9mIHJlZ2lvbiBh
bmQgcHJvdmlkZXIsIGl0IGlzIGRlc2lyYWJsZSB0aGF0IHRoZSBVQSByZWNvZ25pemUgdHJhY2tz
IGluIGEgZ2VuZXJpYyBtYW5uZXIgYW5kIHJlbHkgb24gYSBzY3JpcHQgdG8gaW1wbGVtZW50IHJl
Z2lvbiwgcHJvdmlkZXIgYW5kIGFwcGxpY2F0aW9uIHNwZWNpZmljIHJlY29nbml0aW9uIG9mIHRy
YWNrcy4gVGhpcyByZXF1aXJlcyBzY3JpcHQgYWNjZXNzIHRvIHRoZSBNUEVHIHByb2dyYW0gZGVz
Y3JpcHRpb24gaW4gdGhlIHByb2dyYW0gbWFwIHRhYmxlIChQTVQpIGFzIGRlZmluZWQgaW4gPGEg
aHJlZj0iI0guMjIyLjAiPjxpPltILjIyMi4wXTwvaT48L2E+IHNvIHRoYXQgdGhlIHRyYWNrcyBj
YW4gYmUgdXNlZCBjb3JyZWN0bHkuIDwvcD4NCgkJPHA+IFRoZSBVQSA8ZW0gY2xhc3M9InJmYzIx
MTkiIHRpdGxlPSJtdXN0Ij5tdXN0PC9lbT4gY3JlYXRlIGEgVGV4dFRyYWNrIGluIHRoZSBtZWRp
YSByZXNvdXJjZSBUZXh0VHJhY2tMaXN0IHRvIG1ha2UgdGhlIFBNVCBhdmFpbGFibGUgdG8gYSBz
Y3JpcHQgYW5kIHNldCB0aGUgVGV4dFRyYWNrIGF0dHJpYnV0ZXMgICB1c2luZyB0aGUgZm9sbG93
aW5nIHJ1bGVzOiA8L3A+DQoJCTxvbD4NCgkJCTxsaT4ga2luZCA9ICZxdW90O21ldGFkYXRhJnF1
b3Q7LiA8L2xpPg0KCQkJPGxpPiBsYWJlbCA9ICZxdW90O3ZpZGVvL21wMnQgdHJhY2stZGVzY3Jp
cHRpb24mcXVvdDssIGkuZS4gdGhlIHN0cmluZyBjb25jYXRlbmF0aW9uIG9mIHRoZSBNUEVHLTIg
VFMgTUlNRSB0eXBlIDxhIGhyZWY9IiNSRkMzNTU1Ij48aT5bUkZDMzU1NV08L2k+PC9hPiBhbmQg
JnF1b3Q7dHJhY2stZGVzY3JpcHRpb24mcXVvdDsuPC9saT4NCgkJCTxsaT4gbGFuZ3VhZ2UgPSAm
cXVvdDsmcXVvdDsoZW1wdHkgc3RyaW5nKS4gPC9saT4NCgkJCTxsaT4gbW9kZT0mcXVvdDtISURE
RU4mcXVvdDs8L2xpPg0KCQk8L29sPg0KCQk8cD4gRm9yIGVhY2ggUE1UIHJlY2VpdmVkIGluIHRo
ZSBwcm9ncmFtIHN0cmVhbSwgdGhlIFVBIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3Qi
Pm11c3Q8L2VtPiBjcmVhdGUgYSBUZXh0VHJhY2tDdWUgb25seSBpbiB0aGUgY2FzZSB3aGVyZSB0
aGUgUE1UIGRpZmZlcnMgZnJvbSB0aGUgUE1UIHJlcHJlc2VudGVkIGJ5IHRoZSBwcmV2aW91c2x5
IGNyZWF0ZWQgVGV4dFRyYWNrQ3VlLiBUaGlzIGlzIGluIHJlY29nbml0aW9uIG9mIHRoZSBmYWN0
IHRoYXQgdGhlIFBNVCBpcyByZWNlaXZlZCBhdCBhIG1pbmltdW0gcmF0ZSBvZiBldmVyeSAxNDAg
bXNlYyBidXQgY2hhbmdlcyBhdCBhIG11Y2ggbG93ZXIgcmF0ZS4gPC9wPg0KCQk8cD4gRm9yIGVh
Y2ggbmV3IFBNVCwgYSBVQSA8ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJtdXN0Ij5tdXN0PC9l
bT4gY3JlYXRlIGEgbmV3IFRleHRUcmFja0N1ZSAgaW4gdGhlIFRleHRUcmFjayBhcyBkZXNjcmli
ZWQgaW4gPGEgaHJlZj0iI0hUTUw1Ij48aT5bSFRNTDVdPC9pPjwvYT4gc2VjdGlvbiAmcXVvdDtU
ZXh0IHRyYWNrIG1vZGVsJnF1b3Q7IHdpdGggYXR0cmlidXRlcyBzZXQgYXMgZm9sbG93czogPC9w
Pg0KCQk8b2w+DQoJCQk8bGk+IHN0YXJ0VGltZSBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgdGltZSBp
biB0aGUgbWVkaWEgcmVzb3VyY2UgdGltZWxpbmUuIDwvbGk+DQoJCQk8bGk+IGVuZFRpbWUgPSBJ
bmZpbml0eS4gPC9saT4NCgkJCTxsaT4gVGV4dCBvZiB0aGUgY3VlIGlzIHNldCB0byB0aGUgUE1U
IGVuY29kZWQgaW4gQmFzZTY0IDxhIGhyZWY9IiNCQVNFNjQiPjxpPltCQVNFNjRdPC9pPjwvYT4u
IDwvbGk+DQoJCQk8bGk+IHBhdXNlT25FeGl0PWZhbHNlLiA8L2xpPg0KCQk8L29sPg0KCQk8cD4g
T3RoZXIgbWVkaWEgY29udGFpbmVyIGZvcm1hdHMsIE9nZyBhbmQgV2ViTSBmb3IgZXhhbXBsZSwg
Y2FuIGNvbnRhaW4gbXVsdGlwbGUgdHJhY2tzIGFsb25nIHdpdGggbWV0YWRhdGEgZGVzY3JpYmlu
ZyB0aG9zZSB0cmFja3MuIFRoZSB0cmFjay1kZXNjcmlwdGlvbiB0ZXh0IHRyYWNrIHdvdWxkIGJl
IHVzZWZ1bCBmb3IgbWFraW5nIHRoYXQgbWV0YWRhdGEgYXZhaWxhYmxlIHRvIHNjcmlwdC4NCgkJ
PC9wPjwvZGl2Pg0KCQk8ZGl2IGlkPSJ2aWRlb3RyYWNrIiBjbGFzcz0ic2VjdGlvbiI+DQoJCTxo
Mz48c3BhbiBjbGFzcz0ic2Vjbm8iPjIuMiA8L3NwYW4+IFZpZGVvVHJhY2sgPC9oMz4NCgkJPHA+
IEZvciBhbGwgTVBFRy0yIHZpZGVvIHN0cmVhbSB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIFVBLCB0
aGUgVUEgPGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVzdCI+bXVzdDwvZW0+IGNyZWF0ZSBh
IG5ldyBWaWRlb1RyYWNrIGluIHRoZSBWaWRlb1RyYWNrTGlzdCBvZiB0aGUgbWVkaWEgcmVzb3Vy
Y2UuIDwvcD4NCgkJPHA+IFRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uIDxhIGhyZWY9IiNIVE1MNSI+
PGk+W0hUTUw1XTwvaT48L2E+IHJlcXVpcmVzIHRoYXQgdGhlIFZpZGVvVHJhY2tMaXN0IG11c3Qg
dXNlIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRoZSBtZWRpYSByZXNvdXJjZS4gVmlkZW9UcmFja3Mg
PGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVzdCI+bXVzdDwvZW0+IGFwcGVhciBpbiB0aGUg
VmlkZW9UcmFja0xpc3QgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhleSBhcHBlYXIgaW4gdGhlIFBN
VCBhcyBkZWZpbmVkIGluIDxhIGhyZWY9IiNILjIyMi4wIj48aT5bSC4yMjIuMF08L2k+PC9hPi4g
PC9wPg0KCQk8cD4gVGhlIFVBIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8
L2VtPiBzZXQgdGhlIFZpZGVvVHJhY2sgbGFiZWwgYXR0cmlidXRlIHRvIGEgdGV4dCBzdHJpbmcg
cmVwcmVzZW50aW5nIHRoZSBwYWNrZXQgSUQgKFBJRCkgb2YgdGhlIGVxdWl2YWxlbnQgTVBFRy0y
IHByb2dyYW0gc3RyZWFtLiBOT1RFOiBVc2Ugb2YgdGhlIGxhYmVsIHRvIGlkZW50aWZ5IHRoZSBt
ZWRpYSByZXNvdXJjZSB0cmFjayBpZGVudGlmaWVyIHdvcmtzIGluIE1QRUctMiBUUyBhcyB0aGVy
ZSBpcyBubyBzcGVjaWZpZWQgd2F5IGZvciB0aGUgbGFiZWwgdG8gYmUgc2V0IGJ5IHRoZSBtZWRp
YSByZXNvdXJjZS4gT3RoZXIgY29udGFpbmVyIGZvcm1hdHMgZG8gcHJvdmlkZSBhIHZhbHVlIHRv
IGJlIHVzZWQgZm9yIHRoZSBsYWJlbC4gSXQgd291bGQgcHJlZmVyYWJsZSBmb3IgYSBuZXcgSURM
IGF0dHJpYnV0ZSB0byBiZSBkZWZpbmVkIGZvciB0aGUgZXhwcmVzcyBwdXJwb3NlIG9mIHNwZWNp
ZnlpbmcgdGhlIG1lZGlhIHJlc291cmNlIHRyYWNrIGlkZW50aWZpZXIuPC9wPg0KCQk8cD4gVGhl
IFVBIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2VtPiBzZXQgVmlkZW9U
cmFja0xpc3RbMF0uVmlkZW9UcmFjay5raW5kID0gJnF1b3Q7bWFpbiZxdW90Oy4gPC9wPg0KCQk8
cD4gRm9yIGFsbCBvdGhlciBWaWRlb1RyYWNrTGlzdCBlbnRyaWVzLCB0aGUgVUEgPGVtIGNsYXNz
PSJyZmMyMTE5IiB0aXRsZT0ic2hvdWxkIj5zaG91bGQ8L2VtPiBzZXQgdGhlIFZpZGVvVHJhY2sg
a2luZCBhdHRyaWJ1dGUgaWYgaXQgY2FuIGRldGVybWluZSB0aGUgY29ycmVjdCB2YWx1ZS4gPC9w
Pg0KCQk8cD4gVGhlIFVBIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2Vt
PiBzZXQgVmlkZW9UcmFjay5sYW5ndWFnZSB0byB0aGUgdmFsdWUgb2YgdGhlIElTT182MzlfbGFu
Z3VhZ2VfY29kZSBmaWVsZCA8YSBocmVmPSIjSVNPNjM5LjIiPjxpPltJU082MzkuMl08L2k+PC9h
PiBpbiB0aGUgSVNPIDYzOSBkZXNjcmlwdG9yLCBpZiBwcmVzZW50LCBhc3NvY2lhdGVkIHdpdGgg
dGhlIHZpZGVvIHN0cmVhbSB0eXBlIGluIHRoZSBQTVQuDQpJZiB0aGUgVUEgY2Fubm90IGRldGVy
bWluZSB0aGUgVmlkZW9UcmFjayBraW5kIGFuZCBsYW5ndWFnZSBhdHRyaWJ1dGVzIGl0IDxlbSBj
bGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2VtPiBzZXQgdGhlbSB0byB0aGUgZW1w
dHkgc3RyaW5nLiA8L3A+DQoJCTwvZGl2Pg0KCQk8ZGl2IGlkPSJhdWRpb3RyYWNrIiBjbGFzcz0i
c2VjdGlvbiI+DQoJCTxoMz48c3BhbiBjbGFzcz0ic2Vjbm8iPjIuMyA8L3NwYW4+IEF1ZGlvVHJh
Y2sgPC9oMz4NCgkJPHA+IEZvciBhbGwgTVBFRy0yIGF1ZGlvIHN0cmVhbSB0eXBlcyBzdXBwb3J0
ZWQgYnkgdGhlIHVzZXIgYWdlbnQsIHRoZSB1c2UgYWdlbnQgPGVtIGNsYXNzPSJyZmMyMTE5IiB0
aXRsZT0ibXVzdCI+bXVzdDwvZW0+IGNyZWF0ZSBhIG5ldyBBdWRpb1RyYWNrIGluIHRoZSBBdWRp
b1RyYWNrTGlzdCBvZiB0aGUgbWVkaWEgcmVzb3VyY2UuIDwvcD4NCgkJPHA+IFRoZSBIVE1MNSBz
cGVjaWZpY2F0aW9uIDxhIGhyZWY9IiNIVE1MNSI+PGk+W0hUTUw1XTwvaT48L2E+IHJlcXVpcmVz
IHRoYXQgdGhlIEF1ZGlvVHJhY2tMaXN0IG11c3QgdXNlIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRo
ZSBtZWRpYSByZXNvdXJjZS4gQXVkaW9UcmFja3MgPGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0i
bXVzdCI+bXVzdDwvZW0+IGFwcGVhciBpbiB0aGUgQXVkaW9UcmFja0xpc3QgaW4gdGhlIHNhbWUg
b3JkZXIgYXMgdGhleSBhcHBlYXIgaW4gdGhlIFBNVCBhcyBkZWZpbmVkIGluIDxhIGhyZWY9IiNI
LjIyMi4wIj48aT5bSC4yMjIuMF08L2k+PC9hPi4gPC9wPg0KCQk8cD4gRm9yIGVhY2ggQXVkaW9U
cmFjayBjcmVhdGVkIHRoZSBVQSA8ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJtdXN0Ij5tdXN0
PC9lbT4gc2V0IHRoZSBsYWJlbCBhdHRyaWJ1dGUgdG8gYSB0ZXh0IHN0cmluZyByZXByZXNlbnRp
bmcgdGhlIFBJRCBvZiB0aGUgZXF1aXZhbGVudCBNUEVHLTIgcHJvZ3JhbSBzdHJlYW0uIDwvcD4N
CgkJPHA+IFRoZSBVQSA8ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJtdXN0Ij5tdXN0PC9lbT4g
c2V0IEF1ZGlvVHJhY2tMaXN0WzBdLkF1ZGlvVHJhY2sua2luZCA9ICZxdW90O21haW4mcXVvdDsu
IDwvcD4NCgkJPHA+IEZvciBhbGwgb3RoZXIgQXVkaW9UcmFja0xpc3QgZW50cmllcywgdGhlIFVB
IDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9InNob3VsZCI+c2hvdWxkPC9lbT4gc2V0IHRoZSBB
dWRpb1RyYWNrIGtpbmQgYXR0cmlidXRlIGlmIGl0IGNhbiBkZXRlcm1pbmUgdGhlIGNvcnJlY3Qg
dmFsdWUuICA8L3A+DQoJCTxwPiBUaGUgVUEgPGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVz
dCI+bXVzdDwvZW0+IHNldCBBdWRpb1RyYWNrLmxhbmd1YWdlIHRvIHRoZSB2YWx1ZSBvZiB0aGUg
SVNPXzYzOV9sYW5ndWFnZV9jb2RlIGZpZWxkIGluIHRoZSBJU08gNjM5IGRlc2NyaXB0b3IsIGlm
IHByZXNlbnQsIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXVkaW8gc3RyZWFtIHR5cGUgaW4gdGhlIFBN
VC4NCklmIHRoZSBVQSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBBdWRpb1RyYWNrIGtpbmQgYW5kIGxh
bmd1YWdlIGF0dHJpYnV0ZXMgaXQgPGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVzdCI+bXVz
dDwvZW0+IHNldCB0aGVtIHRvIHRoZSBlbXB0eSBzdHJpbmcuIDwvcD4NCgkJPC9kaXY+DQoJCTxk
aXYgaWQ9Im90aGVyLXRleHR0cmFja3MiIGNsYXNzPSJzZWN0aW9uIj4NCgkJPGgzPjxzcGFuIGNs
YXNzPSJzZWNubyI+Mi40IDwvc3Bhbj4gT3RoZXIgVGV4dFRyYWNrcyA8L2gzPg0KCQk8cD4gRm9y
IGFsbCBNUEVHLTIgc3RyZWFtIHR5cGVzIHRoYXQgYXJlIG5vdCBhdWRpbyBvciB2aWRlbyBzdHJl
YW0gdHlwZXMsIHRoZSBVQSA8ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJtdXN0Ij5tdXN0PC9l
bT4gY3JlYXRlIGEgbmV3IFRleHRUcmFjayBpbiB0aGUgVGV4dFRyYWNrTGlzdCBvZiB0aGUgbWVk
aWEgcmVzb3VyY2UuIDwvcD4NCgkJPHA+IFRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uIDxhIGhyZWY9
IiNIVE1MNSI+PGk+W0hUTUw1XTwvaT48L2E+IHJlcXVpcmVzIHRoYXQgdGhlIFRleHRUcmFja0xp
c3QgbXVzdCB1c2UgdGhlIG9yZGVyIGRlZmluZWQgYnkgdGhlIG1lZGlhIHJlc291cmNlLiBUZXh0
VHJhY2tzIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2VtPiBhcHBlYXIg
aW4gdGhlIFRleHRUcmFja0xpc3QgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhleSBhcHBlYXIgaW4g
dGhlIFBNVCBhcyBkZWZpbmVkIGluIDxhIGhyZWY9IiNILjIyMi4wIj48aT5bSC4yMjIuMF08L2k+
PC9hPi4gPC9wPg0KCQk8cD4gVGhlIFVBIDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9InNob3Vs
ZCI+c2hvdWxkPC9lbT4gc2V0IHRoZSBUZXh0VHJhY2sga2luZCBhdHRyaWJ1dGUgdG8gb25lIG9m
IHRoZSBjYXRlZ29yaWVzIGRlZmluZWQgaW4gPGEgaHJlZj0iI0hUTUw1Ij48aT5bSFRNTDVdPC9p
PjwvYT4uIDwvcD4NCgkJPHA+IElmIHRoZSBVQSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBUZXh0VHJh
Y2sga2luZCBhdHRyaWJ1dGUgIGl0IDxlbSBjbGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11
c3Q8L2VtPiBzZXQgaXQgdG8gJnF1b3Q7bWV0YWRhdGEgJnF1b3Q7PC9wPg0KCQk8cD4gSWYgdGhl
IFVBIHNldHMgdGhlIFRleHRUcmFjay5raW5kIGF0dHJpYnV0ZSB0byBvbmUgb2YgdGhlIGNhdGVn
b3JpZXMgZGVmaW5lZCBpbiA8YSBocmVmPSIjSFRNTDUiPjxpPltIVE1MNV08L2k+PC9hPiwgaXQg
PGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ic2hvdWxkIj5zaG91bGQ8L2VtPiBzZXQgdGhlIFRl
eHRUcmFjayBsYW5ndWFnZSBhdHRyaWJ1dGUgaWYgaXQgY2FuIGRldGVybWluZSB0aGUgYXBwcm9w
cmlhdGUgdmFsdWUuDQpJZiB0aGUgVUEgY2Fubm90IGRldGVybWluZSB0aGUgVGV4dFRyYWNrIGxh
bmd1YWdlIGF0dHJpYnV0ZSAgaXQgPGVtIGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVzdCI+bXVz
dDwvZW0+IHNldCBpdCB0byB0aGUgZW1wdHkgc3RyaW5nLiA8L3A+DQoJCTxwPiBUaGUgVUEgPGVt
IGNsYXNzPSJyZmMyMTE5IiB0aXRsZT0ibXVzdCI+bXVzdDwvZW0+OiA8L3A+DQoJCTxvbD4NCgkJ
CTxsaT4gc2V0IHRoZSBsYWJlbCBhdHRyaWJ1dGUgdG8gYSB0ZXh0IHN0cmluZyByZXByZXNlbnRp
bmcgdGhlIFBJRCBvZiB0aGUgZXF1aXZhbGVudCBNUEVHLTIgcHJvZ3JhbSBzdHJlYW0uIDwvbGk+
DQoJCQk8bGk+IHNldCBtb2RlPSZxdW90O2Rpc2FibGVkJnF1b3Q7PC9saT4NCgkJPC9vbD4NCgkJ
PHA+IFRoZSBNUEVHLTIgVFMgcGFja2V0cyB3aXRoIHRoZSBQSUQgY29ycmVzcG9uZGluZyB0byB0
aGUgVGV4dFRyYWNrIGNvbnRhaW4gZWl0aGVyIFBFUyBwYWNrZXRzIG9yIHByaXZhdGUgZGF0YSBw
YWNrZXRzIGFzIGRlZmluZWQgaW4gPGEgaHJlZj0iI0guMjIyLjAiPjxpPltILjIyMi4wXTwvaT48
L2E+LiBGb3IgZWFjaCBQRVMgb3IgcHJpdmF0ZSBkYXRhIHBhY2tldCBpbiB0aGUgcHJvZ3JhbSBz
dHJlYW0gcmVwcmVzZW50ZWQgYnkgdGhlIFRleHRUcmFjaywgdGhlIFVBIDxlbSBjbGFzcz0icmZj
MjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2VtPiBjcmVhdGUgYSBUZXh0VHJhY2tDdWUgaW4gdGhl
IFRleHRUcmFjayBhcyBkZXNjcmliZWQgaW4gPGEgaHJlZj0iI0hUTUw1Ij48aT5bSFRNTDVdPC9p
PjwvYT4gc2VjdGlvbiAmcXVvdDtUZXh0IHRyYWNrIG1vZGVsJnF1b3Q7IHdpdGggYXR0cmlidXRl
cyBzZXQgYXMgZm9sbG93czogPC9wPg0KCQk8b2w+DQoJCQk8bGk+IHN0YXJ0VGltZSBpcyBzZXQg
dG8gdGhlIGN1cnJlbnQgdGltZSBpbiB0aGUgbWVkaWEgcmVzb3VyY2UgdGltZWxpbmUuIDwvbGk+
DQoJCQk8bGk+IGVuZFRpbWUgaXMgc2V0IHRvIHRoZSBJbmZpbml0eS4gPC9saT4NCgkJCTxsaT4g
dGhlIHRleHQgb2YgdGhlIGN1ZSBpcyBzZXQgdG8gdGhlIFBFUyBvciBwcml2YXRlIGRhdGEgcGFj
a2V0IGVuY29kZWQgaW4gQmFzZTY0IDxhIGhyZWY9IiNCQVNFNjQiPjxpPltCQVNFNjRdPC9pPjwv
YT4uIDwvbGk+DQoJCQk8bGk+IHBhdXNlT25FeGl0IGlzIHNldCB0byBmYWxzZSAuIDwvbGk+DQoJ
CTwvb2w+DQoJCTxwPiBJdCBpcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBhYm92ZSBtZXRh
dGRhdGEgVGV4dFRyYWNrIGFuZCB0ZXh0VHJhY2tDdWUgY3JlYXRpb24gcmVxdWlyZW1lbnRzLCB3
aGlsZSBtaW5pbWl6aW5nIHJlZ2lvbi9wcm92aWRlci9hcHBsaWNhdGlvbiBrbm93bGVkZ2UgaW4g
dGhlIFVBLCBtYWtlIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIG1ldGFkYXRhIFRleHRUcmFjayBhbmQg
VGV4dFRyYWNrQ3VlcyBvcGFxdWUgdG8gdGhlIFVBLiBTbywgZm9yIGV4YW1wbGUsIGlmIHRoZSBV
QSBkb2VzIG5vdCByZWNvZ25pemUgc3VidGl0bGUgdHJhY2tzIGJ1dCBjcmVhdGVzIGEgZ2VuZXJp
YyBtZXRhZGF0YSB0ZXh0IHRyYWNrIGFzIGRlZmluZWQgYWJvdmUgdGhlIHVzZXIgYWdlbnQgYmVo
YXZpb3IgZGVmaW5lZCBpbiA8YSBocmVmPSIjSFRNTDUiPjxpPltIVE1MNV08L2k+PC9hPiBmb3Ig
c3VidGl0bGUgdHJhY2tzIHdpbGwgbm90IG9jY3VyIHNpbmNlIHRoZSBVQSBpcyBub3QgYXdhcmUg
dGhpcyBpcyBhIHN1YnRpdGxlIHRyYWNrLiBJdCBpcyB1cCB0byBhIHNjcmlwdCB0byBpZGVudGlm
eSB0aGUgc3VidGl0bGUgdHJhY2sgYW5kIHByb2Nlc3MgdGhlIHN1YnRpdGxlIG1lc3NhZ2VzIGlu
IHRoZSBUZXh0VHJhY2tDdWVzIGluIGEgbWFubmVyIGFwcHJvcHJpYXRlIGZvciB0aGUgc3VidGl0
bGUgZm9ybWF0LiBPbmUgd2F5IHRoaXMgY291bGQgYmUgZG9uZSBpcyBmb3IgYSBzY3JpcHQgdG8g
cmVjZWl2ZSB0aGUgVGV4dFRyYWNrQ3VlcywgZXh0cmFjdCB0aGUgc3VidGl0bGUgbWVzc2FnZXMg
YW5kIGNyZWF0ZSBhIG5ldyBzdWJ0aXRsZSBUZXh0VHJhY2sgYW5kIHRleHRUcmFrQ3VlcywgaW4g
d2hpY2ggY2FzZSB0aGUgVUEgZGVmaW5lZCBiZWhhdmlvciBpbiA8YSBocmVmPSIjSFRNTDUiPjxp
PltIVE1MNV08L2k+PC9hPiB3b3VsZCBvY2N1ci4gPC9wPg0KCQk8L2Rpdj4NCgkJPC9kaXY+DQoJ
CTxkaXYgaWQ9ImNsb3NlZC1jYXB0aW9uaW5nIiBjbGFzcz0ic2VjdGlvbiI+DQoJCQ0KPCEtLSBP
ZGRQYWdlIC0tPg0KPGgyPjxzcGFuIGNsYXNzPSJzZWNubyI+My4gPC9zcGFuPiBDbG9zZWQgQ2Fw
dGlvbmluZyA8L2gyPg0KCQk8cD4gQ2xvc2VkIGNhcHRpb25pbmcgaXMgZGVsaXZlcmVkIGFzIHBh
cnQgb2YgdGhlIE1QRUctMiBUUyB2aWRlbyBzdHJlYW0gYW5kIDxlbSBjbGFzcz0icmZjMjExOSIg
dGl0bGU9Im11c3QiPm11c3Q8L2VtPiBiZSByZWNvZ25pemVkIGFuZCBtYWRlIGF2YWlsYWJsZSBi
eSB0aGUgVUEuIDwvcD4NCgkJPHA+IEEgdXNlciBhZ2VudCAoVUEpIHRoYXQgcmVjb2duaXplcyBj
bG9zZWQgY2FwdGlvbmluZyA8ZW0gY2xhc3M9InJmYzIxMTkiIHRpdGxlPSJtdXN0Ij5tdXN0PC9l
bT46IDwvcD4NCgkJPG9sPg0KCQkJPGxpPiBDcmVhdGUgYSBuZXcgVGV4dFRyYWNrIGFzIGRlZmlu
ZWQgaW4gPGEgaHJlZj0iI0hUTUw1Ij48aT5bSFRNTDVdPC9pPjwvYT4gc2VjdGlvbiAmcXVvdDtT
b3VyY2luZyBpbi1iYW5kIHRleHQgdHJhY2tzJnF1b3Q7IHdpdGggdGhlIHRyYWNrIGVsZW1lbnQg
YXR0cmlidXRlcyBzZXQgYXMgZm9sbG93czoNCgkJCQk8b2wgdHlwZT0iYSI+DQoJCQkJCTxsaT4g
a2luZD0gJnF1b3Q7Y2FwdGlvbiZxdW90Oy4gPC9saT4NCgkJCQkJPGxpPiBsYW5ndWFnZSBpcyBz
ZXQgdG8gYSBCQ1AtNDcgPGEgaHJlZj0iI0JDUDQ3Ij48aT5bQkNQNDddPC9pPjwvYT4gY29uZm9y
bWFudCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY2FwdGlvbiBkYXRhIGxhbmd1YWdlLiA8L2xpPg0K
CQkJCQk8bGk+IGxhYmVsIHNldCAgdG8gYSB0ZXh0IHN0cmluZyByZXByZXNlbnRpbmcgdGhlIFBJ
RCBvZiB0aGUgTVBFRy0yIHZpZGVvIHByb2dyYW0gc3RyZWFtIGNvbnRhaW5pbmcgdGhlIGNhcHRp
b24gZGF0YS4gPC9saT4NCgkJCQk8L29sPg0KCQkJPC9saT4NCgkJCTxsaT4gVGhlIFVBIDxlbSBj
bGFzcz0icmZjMjExOSIgdGl0bGU9Im11c3QiPm11c3Q8L2VtPiBjcmVhdGUgYSBuZXcgVGV4dFRy
YWNrQ3VlICBpbiB0aGUgVGV4VHJhY2sgYXMgZGVzY3JpYmVkIGluIDxhIGhyZWY9IiNIVE1MNSI+
PGk+W0hUTUw1XTwvaT48L2E+IGZvciBlYWNoIGNhcHRpb24gd2l0aCBhdHRyaWJ1dGVzIHNldCBh
cyBmb2xsb3dzOg0KCQkJCTxvbCB0eXBlPSJhIj4NCgkJCQkJPGxpPiBzdGFydFRpbWUgaXMgc2V0
IHRvIHRoZSBwcmVzZW50YXRpb24gdGltZSBzZXQgaW4gdGhlIGNhcHRpb24gZGF0YSBjb252ZXJ0
ZWQgaW50byB0aGUgZXF1aXZhbGVudCB0aW1lIGluIHNlY29uZHMgcmVsYXRpdmUgdG8gdGhlIG1l
ZGlhIHJlc291cmNlIHRpbWVsaW5lLiA8L2xpPg0KCQkJCQk8bGk+IGVuZFRpbWUgaXMgc2V0IHRv
IHRoZSBlbmQgb2YgdGhlIHByZXNlbnRhdGlvbiBpZiBzcGVjaWZpZWQgaW4gdGhlIGNhcHRpb24g
ZGF0YS4gSWYgdGhlIGVuZCBvZiB0aGUgcHJlc2VudGF0aW9uIGlzIG5vdCBzcGVjaWZpZWQgZW5k
VGltZSBpcyBzZXQgdG8gSW5maW5pdHkuIDwvbGk+DQoJCQkJCTxsaT4gdGhlIHRleHQgb2YgdGhl
IGN1ZSBpcyBzZXQgdG8gdGhlIGNhcHRpb24gZGF0YS4gSXQgaXMgVUEgaW1wbGVtZW50YXRpb24g
c3BlY2lmaWMgaG93IHRoZSB0eXBlIG9mIHRoZSBjYXB0aW9uIGRhdGEgY3VlIGlzIGRldGVybWlu
ZWQgYnkgdGhlIFVBIHdoZW4gdGhlIGN1ZSB0ZXh0IGlzIHJlbmRlcmVkIG9yIHdoZW4gZ2V0Q3Vl
VGV4dEFzSFRNTCgpIGlzIGNhbGxlZC4gPC9saT4NCgkJCQkJPGxpPiBwYXVzZU9uRXhpdCBpcyBz
ZXQgdG8gZmFsc2UgPC9saT4NCgkJCQk8b2w+DQoJCQkNCgkJPG9sPg0KICAgIDwvb2w+PC9vbD48
L29sPjwvbGk+PC9vbD48L2Rpdj4NCiAgICANCiAgICA8ZGl2IGNsYXNzPSJhcHBlbmRpeCBzZWN0
aW9uIj4NCgkJPGRpdiBjbGFzcz0ic2VjdGlvbiI+DQogICAgICA8aDMgaWQ9ImFja25vd2xlZGdl
bWVudHMiPkFja25vd2xlZGdlbWVudHM8L2gzPg0KICAgICAgPHA+DQogICAgICAgIFRoYW5rcyBh
cmUgZXhwcmVzc2VkIGJ5IHRoZSBlZGl0b3IgdG8gdGhlIGZvbGxvd2luZyBpbmRpdmlkdWFscyBm
b3IgdGhlaXIgaW5wdXQgdG8gYW5kIGZlZWRiYWNrIG9uIHRoaXMgc3BlY2lmaWNhdGlvbiB0byBk
YXRlIChpbiBhbHBoYWJldGljYWwgb3JkZXIpLiA8L3A+DQoJCQk8cD4gTXVrdGEgS2FyLCBHaXVz
ZXBwZSBQYXNjYWxlLCBFZCBTaHJ1bSwgR2VvcmdlIFNhcm9zaSwgQ2xhcmtlIFN0ZXZlbnMsIE1h
cmsgVmlja2VycyBhbmQgRXJpYyBXaW5rZWxtYW4uIDwvcD4NCgkJPC9kaXY+DQogICAgPC9kaXY+
DQogIA0KPGRpdiBpZD0icmVmZXJlbmNlcyIgY2xhc3M9ImFwcGVuZGl4IHNlY3Rpb24iPg0KPCEt
LSBPZGRQYWdlIC0tPg0KPGgyPjxzcGFuIGNsYXNzPSJzZWNubyI+QS4gPC9zcGFuPlJlZmVyZW5j
ZXM8L2gyPjxkaXYgaWQ9Im5vcm1hdGl2ZS1yZWZlcmVuY2VzIiBjbGFzcz0ic2VjdGlvbiI+PGgz
PjxzcGFuIGNsYXNzPSJzZWNubyI+QS4xIDwvc3Bhbj5Ob3JtYXRpdmUgcmVmZXJlbmNlczwvaDM+
PHA+DQoJCQk8ZGw+DQoJCQkJPGR0PiA8YSBuYW1lPSJCQVNFNjQiPltCQVNFNjRdPC9hPiA8L2R0
Pg0KCQkJCTxkZD4gPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjNDY0OC50eHQi
PiZxdW90OyBUaGUgQmFzZTE2LCBCYXNlMzIsIGFuZCBCYXNlNjQgRGF0YSBFbmNvZGluZ3MgJnF1
b3Q7PC9hPiA8L2RkPg0KCQkJCTxkdD4gPGEgbmFtZT0iQkNQNDciPltCQ1A0N108L2E+IDwvZHQ+
DQoJCQkJPGRkPiA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9iY3AvYmNwNDcudHh0
Ij4mcXVvdDsgVGFncyBmb3IgSWRlbnRpZnlpbmcgTGFuZ3VhZ2VzICZxdW90OzwvYT4gPC9kZD4N
CgkJCQk8ZHQ+IDxhIG5hbWU9IkguMjIyLjAiPltILjIyMi4wXTwvYT4gPC9kdD4NCgkJCQk8ZGQ+
IDxhIGhyZWY9Imh0dHA6Ly93d3cuaXR1LmludC9yZWMvVC1SRUMtaC4yMjIuMC9lbiI+JnF1b3Q7
IEluZnJhc3RydWN0dXJlIG9mIGF1ZGlvdmlzdWFsIHNlcnZpY2VzIC0gVHJhbnNtaXNzaW9uIG11
bHRpcGxleGluZyBhbmQgc3luY2hyb25pemF0aW9uICZxdW90OzwvYT4gPC9kZD4NCgkJCQk8ZHQ+
IDxhIG5hbWU9IkhUTUw1Ij5bSFRNTDVdPC9hPiA8L2R0Pg0KCQkJCTxkZD4gPGEgaHJlZj0iaHR0
cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sIj4mcXVvdDsgQSB2b2NhYnVs
YXJ5IGFuZCBhc3NvY2lhdGVkIEFQSXMgZm9yIEhUTUwgYW5kIFhIVE1MJnF1b3Q7PC9hPiA8L2Rk
Pg0KCQkJCTxkdD4gPGEgbmFtZT0iSVNPNjM5LjIiPltJU082MzkuMl08L2E+IDwvZHQ+DQoJCQkJ
PGRkPiA8YSBocmVmPSJodHRwOi8vd3d3LmxvYy5nb3Yvc3RhbmRhcmRzL2lzbzYzOS0yL2lzbzYz
OWphYy5odG1sIj4mcXVvdDsgSVNPIDYzOS4yLCBDb2RlIGZvciB0aGUgUmVwcmVzZW50YXRpb24g
b2YgTmFtZXMgb2YgTGFuZ3VhZ2VzIC0gUGFydCAyOiBhbHBoYS0zIGNvZGUgJnF1b3Q7PC9hPiA8
L2RkPg0KCQkJCTxkdD4gPGEgbmFtZT0iUkZDMzU1NSI+W1JGQzM1NTVdPC9hPiA8L2R0Pg0KCQkJ
CTxkZD4gPGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzU1NS8iPiZxdW90
OyBNSU1FIFR5cGUgUmVnaXN0cmF0aW9uIG9mIFJUUCBQYXlsb2FkIEZvcm1hdHMmcXVvdDs8L2E+
IDwvZGQ+DQoJCQk8L2RsPg0KPC9wPjwvZGl2PjxkaXYgaWQ9ImluZm9ybWF0aXZlLXJlZmVyZW5j
ZXMiIGNsYXNzPSJzZWN0aW9uIj48aDM+PHNwYW4gY2xhc3M9InNlY25vIj5BLjIgPC9zcGFuPklu
Zm9ybWF0aXZlIHJlZmVyZW5jZXM8L2gzPjxwPk5vIGluZm9ybWF0aXZlIHJlZmVyZW5jZXMuPC9w
PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1152</attachid>
            <date>2012-07-03 15:37:37 +0000</date>
            <delta_ts>2012-07-03 15:37:37 +0000</delta_ts>
            <desc>Attachment for comment 57</desc>
            <filename>Bug13359Comment49Attachment.pdf</filename>
            <type>application/pdf</type>
            <size>54589</size>
            <attacher name="Bob Lund">b.lund</attacher>
            
              <data encoding="base64">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
T7vIUimED5BttjbGrEuejKY6I/fyJR7+7n+3W+REcM48p9QiEUWGZlFITaxzU6CjWv9PekWWU/Wg
87JekaXB1A4Yncry7YhPIEuV5R+0WeSZD7L59W6RPKB9cUY4dovCRbK+XbSYIUzd59GMz7SLMt8u
co2YJ7aLnMyJ1dKUeXK7KCT25HaRa4a98Zxd1i6yxPehD9jDMtX9GBPRDVjOukUrM82xWxSuvB2J
grw3nR4NzaKQbCI7WvSK7o93tw9vjzcEhCGtSyZEHCKm7OSBILfQkzs6luG8S09ED0HBsaPoXGvo
jOnumuSlZqT+WukObrqhzDmhQTDzlI5ZnH+GJiKdUGjfSN6X75JHKylHQ5ZHja4W+pPz2cx3KaqT
6jXytIgdl92l3yKATep00yJflLyaJwmX2zuveckXv37hu0FfPOefLKnzg+UjCcw3IwA2N8mTDa3l
1KiX7bBJL5TKv/nTBPTovKPd9Y+AuGKBVJt/J4VSlJyTvFsGff4fAfnyP0Xwv0wKZW5kc3RyZWFt
CmVuZG9iago1IDAgb2JqCjM5NTkKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVu
dCAzIDAgUiAvUmVzb3VyY2VzIDYgMCBSIC9Db250ZW50cyA0IDAgUiAvTWVkaWFCb3ggWzAgMCA2
MTIgNzkyXQo+PgplbmRvYmoKNiAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29s
b3JTcGFjZSA8PCAvQ3MxIDcgMCBSID4+IC9Gb250IDw8IC9UVDMuMCAxMSAwIFIKL1RUNS4wIDEz
IDAgUiAvVFQ0LjAgMTIgMCBSIC9UVDIuMSAxMCAwIFIgL1RUNi4xIDE1IDAgUiAvVFQxLjAgOCAw
IFIgPj4gPj4KZW5kb2JqCjE2IDAgb2JqCjw8IC9MZW5ndGggMTcgMCBSIC9OIDMgL0FsdGVybmF0
ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AZ2Wd1RT2RaHz703
vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNFFAuDgmLXCfIQUMbBUURF
5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIEwnRYAYA0oVgU7uvBXBITy8T3AhgQAQ5YAcDh
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
MEO6ymnV7lUTokDRkUwoc1lmu5iO/kz1SIwkmyWDWQuzarLeZ0dln8pRzBHm9OSa5G7LHcnzyft+
NWY1d3Vnvnb+hvzBNe5rDq2F1q5c27lOd13BuuH1vuuPbSBtSNnwy0bLjWUb326K3tRRoFGwvmBo
s+/mxkK5QlHhvS3OWw5sxWwVbO3dZrOtatuXIl7R9WLL4oriTyXckuvfWX1X+d3M9oTtvaX2pft3
4HYId9zd6brzWJliWV7Z0K7gXa3lzPKi8re7V+y+VmFbcWAPaY9kj7QyqLK9Sq9qR9Wn6qTqgRqP
mua96nu37Z3ax9vXv99tf9MBjQPFBz4eFBy8f8j3UGutQW3FYdzhrMPP66Lqur9nf19/RO1I8ZHP
R4VHpcfCj3XVO9TXN6g3lDbCjZLGseNxx2/94PVDexOr6VAzo7n4BDghOfHix/gf754MPNl5in2q
6Sf9n/a20FqKWqHW3NaJtqQ2aXtMe9/pgNOdHc4dLT+b/3z0jPaZmrPKZ0vPkc4VnJs5n3d+8kLG
hfGLiReHOld0Prq05NKdrrCu3suBl69e8blyqdu9+/xVl6tnrjldO32dfb3thv2N1h67npZf7H5p
6bXvbb3pcLP9luOtjr4Ffef6Xfsv3va6feWO/50bA4sG+u4uvnv/Xtw96X3e/dEHqQ9eP8x6OP1o
/WPs46InCk8qnqo/rf3V+Ndmqb307KDXYM+ziGePhrhDL/+V+a9PwwXPqc8rRrRG6ketR8+M+Yzd
erH0xfDLjJfT44W/Kf6295XRq59+d/u9Z2LJxPBr0euZP0reqL45+tb2bedk6OTTd2nvpqeK3qu+
P/aB/aH7Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJlYW0KZW5kb2JqCjE3IDAg
b2JqCjI2MTIKZW5kb2JqCjcgMCBvYmoKWyAvSUNDQmFzZWQgMTYgMCBSIF0KZW5kb2JqCjMgMCBv
YmoKPDwgL1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRz
IFsgMiAwIFIgXSA+PgplbmRvYmoKMTggMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDMg
MCBSID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUg
L0Jhc2VGb250IC9DSUNQTFYrQ2FtYnJpYSAvRm9udERlc2NyaXB0b3IKMTkgMCBSIC9Ub1VuaWNv
ZGUgMjAgMCBSIC9GaXJzdENoYXIgMzMgL0xhc3RDaGFyIDMzIC9XaWR0aHMgWyAyMjAgXSA+Pgpl
bmRvYmoKMjAgMCBvYmoKPDwgL0xlbmd0aCAyMSAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4K
c3RyZWFtCngBXZDPasQgEMbvPsUct4dFk1shCGXLQg79Q9M+gNFJVmhUJuaQt+9owxZ68AO/md/4
OfLSP/fBZ5DvFO2AGSYfHOEaN7III84+iKYF520+btWzi0lCMjzsa8alD1OErhMA8oORNdMOpycX
R3wo3hs5JB9mOH1dhuoMW0rfuGDIoITW4HDicS8mvZoFQVb03Duu+7yfmfrr+NwTAidiovmNZKPD
NRmLZMKMolNKd9erFhjcv9IBjJO9GRJd22huVo/A4lhaxWJUJY+eMqP89Z7NbkQcqy6kJi5JfMD7
zlJM5eV6fgDV7nFlCmVuZHN0cmVhbQplbmRvYmoKMjEgMCBvYmoKMjMzCmVuZG9iagoxOSAwIG9i
ago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnROYW1lIC9DSUNQTFYrQ2FtYnJpYSAvRmxh
Z3MgNCAvRm9udEJCb3ggWy0xNDc1IC0yNDYzIDI4NjcgMzExN10KL0l0YWxpY0FuZ2xlIDAgL0Fz
Y2VudCA5NTAgL0Rlc2NlbnQgLTIyMiAvQ2FwSGVpZ2h0IDY2NyAvU3RlbVYgMCAvWEhlaWdodAo0
NjcgL0F2Z1dpZHRoIDYxNSAvTWF4V2lkdGggMjkxOSAvRm9udEZpbGUyIDIyIDAgUiA+PgplbmRv
YmoKMjIgMCBvYmoKPDwgL0xlbmd0aCAyMyAwIFIgL0xlbmd0aDEgMTA0MDQgL0ZpbHRlciAvRmxh
dGVEZWNvZGUgPj4Kc3RyZWFtCngB7Vp7fFTVtV77nJm8ZpJMAnkOjzMeJjxOIE8ggwOZPCXERxKC
ziRaJuREAgoiBOsLiZUITgAfrVXAStqr9d6298dJsDVYH9EqRS/x2Vq1rQbB1h9CiVSr8Qq5395z
TnhU771/3Nu/ejjfWmuvtfZrrb33mXNCx9r1beSgTpIpv3VVyxoS19QOsOzWGzqUaDn1RqK4h69e
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
bIGSPyUrPuy/q6K6dcGE5Cn+XCUnLTb1HvbVqRi55asS9uf0dO+M2VOz8op8am3D+CmFk74zadbE
ourpOQvmV8/05E6dNiFm9Q9/ePqIbed/Xm37/MufYYIiHqmIAL9iCP9xr6Kmou7iy7WKllXL1q5o
+S8ZCS3qCmVuZHN0cmVhbQplbmRvYmoKMjMgMCBvYmoKNTc0NAplbmRvYmoKMTAgMCBvYmoKPDwg
L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvVVlHS1VUK0NhbGlicmkg
L0ZvbnREZXNjcmlwdG9yCjI0IDAgUiAvVG9Vbmljb2RlIDI1IDAgUiAvRmlyc3RDaGFyIDMzIC9M
YXN0Q2hhciAzMyAvV2lkdGhzIFsgMjI2IF0gPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9MZW5ndGgg
MjYgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AV2Qz2rEIBDG7z7FHLeHRZNb
IQhly0IO/UPTPoDRSVZoVCbmkLfvaMMWevADv5nf+Dny0j/3wWeQ7xTtgBkmHxzhGjeyCCPOPoim
BedtPm7Vs4tJQjI87GvGpQ9ThK4TAPKDkTXTDqcnF0d8KN4bOSQfZjh9XYbqDFtK37hgyKCE1uBw
4nEvJr2aBUFW9Nw7rvu8n5n66/jcEwInYqL5jWSjwzUZi2TCjKJTSnfXqxYY3L/SAYyTvRkSXdto
blaPwOJYWsViVCWPnjKj/PWezW5EHKsupCYuSXzA+85STOXlen4A1e5xZQplbmRzdHJlYW0KZW5k
b2JqCjI2IDAgb2JqCjIzMwplbmRvYmoKMjQgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9y
IC9Gb250TmFtZSAvVVlHS1VUK0NhbGlicmkgL0ZsYWdzIDQgL0ZvbnRCQm94IFstNTAzIC0zMDcg
MTI0MCA5NjRdCi9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgOTUyIC9EZXNjZW50IC0yNjkgL0NhcEhl
aWdodCA2MzIgL1N0ZW1WIDAgL1hIZWlnaHQKNDY0IC9BdmdXaWR0aCA1MjEgL01heFdpZHRoIDEz
MjggL0ZvbnRGaWxlMiAyNyAwIFIgPj4KZW5kb2JqCjI3IDAgb2JqCjw8IC9MZW5ndGggMjggMCBS
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
a24ahAXx7e/Bpmgnr7c2dg/AY1sUE44o/pyt7J6A3UFXjnYs+N6Ig9eGPqUtk98hpslL8daoHbT+
UP7oVsxxOV68+dN8EypyKk/GWgFxWklb4yBV/bUzD8a+G+MKO7r2yMu0dwC+JSXK2g8H7YkprPvx
xBae1gsLSnFCUmLAhVWzXm5tDTD/+wm0XwHms6mtYnfiZ40QPtr/xnIYD4nAl3YLxr+ngpGxZysC
v5/egoov/oXZYDyCf40Z8f+7jBKTxRRR/Jgw42OTKDFaeuihyMzMgCT/J/CRiEHY8aFKgJCkDEeo
j8G8r3fvNHnfcL8txrCcDinpwTT/Lfi4MK3z485DyZ0fnwgflXxCSv7o2MfHLD8dChuVnHLszWND
BkthsWE6ESEGf/8IP7nfIMPwi+JHpKQMHWcYPixe7hdi0GvDRowcZ0wZ2tdgxEiqjDNobcl45M8i
49ROP8MqOW16im/f3qERZj9fQ5/o8KSxcZaC4rixg2L8jf5+Rt8A/wEj0/vlznf2e98/LCYyKiY8
ICA8JioyJsy/8wPfkFM/+4aczvCZf/pqo9+YmWn9jdcFBRh8/Pw6+kb3unhMbM700B4WH1MPS1hU
gH94WPCAzJmdl0b20dboExlJa3VO1rYXuxrevdN+2v9E5PJMyHUVJmR459eU1df8D5PteBQKZW5k
c3RyZWFtCmVuZG9iagoyOCAwIG9iago1OTM0CmVuZG9iago4IDAgb2JqCjw8IC9UeXBlIC9Gb250
IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL1ZHQVlTSitIZWx2ZXRpY2EtQm9sZCAvRm9u
dERlc2NyaXB0b3IKMjkgMCBSIC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZyAvRmlyc3RDaGFy
IDMyIC9MYXN0Q2hhciAxMTcgL1dpZHRocyBbIDI3OAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAz
MzMgMCAwIDAgMCAwIDAgNTU2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgNjY3IDAg
Nzc4IDAgMjc4IDAgMCAwIDgzMyAwIDAgNjY3IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
IDAgNTU2IDAKNTU2IDYxMSA1NTYgMzMzIDAgNjExIDI3OCAwIDAgMjc4IDg4OSA2MTEgNjExIDAg
MCAzODkgNTU2IDMzMyA2MTEgXSA+PgplbmRvYmoKMjkgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNj
cmlwdG9yIC9Gb250TmFtZSAvVkdBWVNKK0hlbHZldGljYS1Cb2xkIC9GbGFncyAzMiAvRm9udEJC
b3gKWy0xMDE4IC00ODEgMTQzNiAxMTU5XSAvSXRhbGljQW5nbGUgMCAvQXNjZW50IDc3MCAvRGVz
Y2VudCAtMjMwIC9DYXBIZWlnaHQKNzIwIC9TdGVtViAxNDkgL1hIZWlnaHQgNTMyIC9TdGVtSCAx
MjQgL0F2Z1dpZHRoIDQ3OSAvTWF4V2lkdGggMTUwMCAvRm9udEZpbGUyCjMwIDAgUiA+PgplbmRv
YmoKMzAgMCBvYmoKPDwgL0xlbmd0aCAzMSAwIFIgL0xlbmd0aDEgMTAzMDggL0ZpbHRlciAvRmxh
dGVEZWNvZGUgPj4Kc3RyZWFtCngBxVoLeFNVtl77PHKSNEmTtHm2aZImbUqbvp+hpQ2lL2gDpS3Y
YqstpUzhUimIaOXCVB4CxRF11CJ6h3HEGQZHJ20ZDHL1MgyOOsJ8OsL4Qh1HUBA7zjhVVEhy1z4p
lfZz/Pi+6zc3p+us/Tp7r/OvtddeZ++uWX1LFyihH1ioX9TRuxTEX3I7ADnT2dPRG8nH/gr5sc61
a2yRPO8GYLct7f1BTyQvPQAQNfiDFX3jz+v2Aqi93V0dSyL1cBl5QTcWRPIkD7mzu2fNbZF8bB3y
9hUrO8frdXTcnJ6O28bHh9OYt93U0dMVaZ9chDyld+XNayL5pDPIm3pXd423J80o32tAsNQIt4MM
VoAUGFDjhRIK56IGgcNaWo9032Bj8Mboks9BIxW7+5kro58mXvptycWLpy+7ojbIqrCdTGxPK/AZ
ybTQNAAFwfq3ozZM1NBa+jMGoDUtAA1INUilSHlIqWlDUu8z5B6IbRvzyoiVgyjrG6a/PUcyUAcf
inc/yfAqlCDr3FRi7dy0qWbaTBmphUKOgJVUglPkFcPOJ6wBUjrsdCCbEWHMcKEFc+CVFTqtwcLF
1suFASnxxlm/dP7YehHpC2eZ9XNntvVVbPdKYbX1xEysH7a+nBpgkP3BGeCIN9r6ovMO628Kp1kP
FBZbh11YNmwdmonsoHVv4R3WxzaLJT9LFdmjzgDZPWz9KWUHrXuw/wc3iRUPRB7cGGG9m8WBVo6I
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
dhHz0FDidUqLausf5mSxPS+TrNArLwePzLITcooXfNlLmT2on/Xhc9wCnH8m9El13gy53qxP1Rfp
FwpdgsQsyEGiVynlPMZeZqXcZTZGmeNJgdEUF//NskBtW+vxBU+Kxk2jrjI6AQnGm+KKnE8XBYxb
BBq6UNGSyKN61+r7CvDoN3SBs+lnrW/6rCmTfMKVB1e2ZTau9S5j5l96bjefE1Pifqr9MHOvBeUU
f2F60v1tPyMWsriSGiAFT1ndeNqai6f2VXg+XgOz8fS+Dtfpejwrb8DT94VwHZ6Z0x9B/xrZe5HQ
9X1h9cyWxjlpNV0r1natWdbZkV6+csUS2urKrxsT9P+18JsP7keiUd8BpGNINLw9gzSGD3BIsUhO
pDykCqQmpCVIa5A2I92PtBfpANIxpJPh8R/2ARNpArYp+fQp+bwp+cop+eop+dlT8r4p+fop+Y4p
+c4peXynSfKK+rlKfvH/6a7KUwyvfr9lU/IrpuTF/8+76vmbptSvnJJfPSV/85Q84j9p/Fto/n8B
3Uy/5wplbmRzdHJlYW0KZW5kb2JqCjMxIDAgb2JqCjY0MjYKZW5kb2JqCjExIDAgb2JqCjw8IC9U
eXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL1pCUUxYUitIZWx2ZXRpY2Eg
L0ZvbnREZXNjcmlwdG9yCjMyIDAgUiAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgL0ZpcnN0
Q2hhciAzMiAvTGFzdENoYXIgMTIxIC9XaWR0aHMgWyAyNzgKMCAzNTUgMCAwIDAgMCAwIDAgMCAw
IDU4NCAyNzggMzMzIDI3OCAwIDU1NiAwIDU1NiAwIDU1NiAwIDAgMCAwIDAgMCAwIDAgMAowIDAg
MCA2NjcgMCA3MjIgMCA2NjcgMCA3NzggMCAyNzggMCAwIDU1NiA4MzMgMCA3NzggNjY3IDAgMCA2
NjcgMCA3MjIgMCAwCjAgMCAwIDI3OCAwIDI3OCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDI3
OCA1NTYgNTU2IDIyMiAwIDUwMCAyMjIgODMzIDU1Ngo1NTYgNTU2IDAgMzMzIDUwMCAyNzggNTU2
IDUwMCA3MjIgNTAwIDUwMCBdID4+CmVuZG9iagozMiAwIG9iago8PCAvVHlwZSAvRm9udERlc2Ny
aXB0b3IgL0ZvbnROYW1lIC9aQlFMWFIrSGVsdmV0aWNhIC9GbGFncyAzMiAvRm9udEJCb3ggWy05
NTEgLTQ4MSAxNDQ1IDExMjJdCi9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgNzcwIC9EZXNjZW50IC0y
MzAgL0NhcEhlaWdodCA3MTcgL1N0ZW1WIDk4IC9YSGVpZ2h0CjUyMyAvU3RlbUggODUgL0F2Z1dp
ZHRoIC00NDEgL01heFdpZHRoIDE1MDAgL0ZvbnRGaWxlMiAzMyAwIFIgPj4KZW5kb2JqCjMzIDAg
b2JqCjw8IC9MZW5ndGggMzQgMCBSIC9MZW5ndGgxIDE1NTYwIC9GaWx0ZXIgL0ZsYXRlRGVjb2Rl
ID4+CnN0cmVhbQp4Ab17e3xUxfX4zNzn3n1kd7Pv7DOb3c37nZCQQNaQEF6JPEQSJBge4Y0CQjAU
aFQQiRQV5CGgFbU8xSwhQgDhSymIWKvgAxUftRWtbU1tvz+0FpK73zN3Q4T82n78o5/uzZmZM3Pv
3Jlzzpw558zN4kVLGpEWtSAGjZ44ZcEMpPyK0xFidkybP2VBDI+fB/kb05oWe2M4lwzt82YsmDk/
hotPIiS5Zs5r7n3etBUh/19nNU6ZHmtH3ZAXzoKKGI7zIU+aNX/x/THc2AF557x7p/W2m4oAnzx/
yv2970cfA+69Z8r8xtj9xSLkSQvuvW9xDC96BPKWBYsae+/HtTC+txCG2ky0AanQXCQggvRw1SMk
fCW5EAuttB1+cx/tmnp3XOm3yEC7Reju6seU/PwvS//+fWN3SP2E+A+oUN24n+Z8ipyCkAZDe5f6
ib4W5TlIMjvRuLRONBygDKAAIC3tNhtqwbvQ4wDPAjBoNn4UNQOsBXgKgO0r7QXsKH60nRXDx3Az
cuARYTXrucNk99gkteftTsx3POP50Pb5cWwH7v0O29u1SHWbhJ/FP0fTkQf/AgXwMjQMJeNth1Lm
eRqgaS9aANACwCgpxnvb3bmekzgdBVgMzwSRm8WHPX/IyfB8kdNJcLvndKiTheyXbsDCcZ5Trmc8
/+Oa6TkJsD/WtC8F7jjs2eua59no7sTb2j0bXJ0Ynnkili1xwaOHPfNTNnum5yjtozZ3kv3tnmJo
vzOs9hQW+TwFriuerFCniAHPcI3ypOb8xpMED8JtXug0EDZ4nK6NnoHQ5HZVhgYCHMf78HaUire3
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
XP41kLSDGdV9lKm6fpEZ1P0rIGivHP4OimpUQL8m6T2nYeCshqefkWTRr0V42LKNxcfg25sbJbG3
RE9zErAVrEtqYLr/+N0/PpK34OYv5e9k+QpuZrPkNbiZ67ne8xHeIN9D6Ecz0J9ZHq74Y/T7mtfD
97SaH7HttjHUhi4yDjPWGmcKS5mlwjr4f7kt3FbzFssW6x60x6Ifhkaaq6znzWwF9ypH1nC70C68
m9tj5ZKSOZvZagEb36xRx7lEHTVOLAnARCqHVrOtTfOYBWyUd2OrBsS9+ortFubFTBVga649ywbW
NQh/MQZ2hY1mCPha5hutVhuHMV1QNjhApuygmQg5UD4neyEEbupxHs8QOJCniriAOt+FAwbjAcAN
hvGdCz40tXxHy45gijsrVZ+bpecG6+TFb2APZrNmyk/IX78kz+jgxRe0vM8mPpnE1oD4P0hppfyi
jagxVuqXZgLOQJxJp3zXZIBTLzNowSSwvOn/n6Qrpwi54BoWoiI0GIVRBapEQxH9T5Ph8M9V9P9J
atDtyn+8jIX/YhmP7kQTUC2qg++v7qJf7MCPrj6slHj65dTE8jGjasemDWuc19S4ePa0KcodSjMk
pwCol0TDAV8DdMPjGgCIC+B0gFKAUQCTAOYBLAdYB7AD4EWAVwDeAPgY4GuAbiCABsAJkA5QCjAK
YBLAPIDlAOsAdgC8CPAKwBsAHwN8DdANxNEAOAHSAUoBRgFMApgHsBxgXbT3B+NFfWWMvP3wxH54
Wj8c+r/leeVrsJv6o5y6uf/sfnhuPxy++bjl/tv64UP64ZX98Kp+OBj6t/QHdLgFr+6H394PH90P
H9cPH98Pv6sfDv9hesv7qOTcTI+p/fBp/fDp/XBlPdxE3xn92mf2w2f1w2f3w+f2w0E+bhnf/H44
9ZZvHv+9/fAF/fBF/fD7+uGL++FL+uFN/fCl/fD7++HNFP8/wPr0FQplbmRzdHJlYW0KZW5kb2Jq
CjM0IDAgb2JqCjEwNDYwCmVuZG9iagoxMiAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAv
VHJ1ZVR5cGUgL0Jhc2VGb250IC9XR05TS0wrSGVsdmV0aWNhLU9ibGlxdWUgL0ZvbnREZXNjcmlw
dG9yCjM1IDAgUiAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgL0ZpcnN0Q2hhciAzMiAvTGFz
dENoYXIgMTIxIC9XaWR0aHMgWyAyNzgKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgMCAwIDAgNTU2IDAgMCAw
CjAgMCAwIDIyMiA4MzMgNTU2IDAgNTU2IDAgMzMzIDUwMCAyNzggMCAwIDAgMCA1MDAgXSA+Pgpl
bmRvYmoKMzUgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvV0dOU0tM
K0hlbHZldGljYS1PYmxpcXVlIC9GbGFncyA5NiAvRm9udEJCb3gKWy05MzMgLTQ4MSAxNTcxIDEx
MzhdIC9JdGFsaWNBbmdsZSAtNiAvQXNjZW50IDc3MCAvRGVzY2VudCAtMjMwIC9DYXBIZWlnaHQK
NzE3IC9TdGVtViA5OCAvWEhlaWdodCA1MjMgL1N0ZW1IIDg1IC9BdmdXaWR0aCAtNDQxIC9NYXhX
aWR0aCAxNTAwIC9Gb250RmlsZTIKMzYgMCBSID4+CmVuZG9iagozNiAwIG9iago8PCAvTGVuZ3Ro
IDM3IDAgUiAvTGVuZ3RoMSA2OTY4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AcVZ
a3RUVZbe595bDyCQF0kqj0pV5abyDiGJJIFEUoSqkBAegSCkIkhVkgpJJBgxpEWFjjS0UmBs5Cm4
VHwwShq5JGmsJCOiS0dd2oraPodutUW7Z5YuZnp0xlFTNd+5VUknrNbFD5dTZ+179j77PPb+9r7n
3nuqa/MWD02nHhKptsHd2ULqL8GO6qumDndnUI66hPq1pu4uc1DWZBCJG1s6N3QEZf0BoqnGDRu3
hsZHv0akjWj1uJuDevoedVErGoIyuwZ1amtH161BOWoQ9eyNNzWF9NEK5IQO962h9ekiZPMmd4cn
2D/BgDqn86ZbuoJyPNeXdW72hPqzetj3BjG0htEhmqL2EigCZR2R7q9TjWoL1+PnXf7R8vXhZV9T
pF6V1y+9V61fea7sf77xfp8edt+URBIwS6g/r7WZ/kxMzqCfE3afntiAOmTsEuajumwfVYPKQXNA
2dkLDNTDTtBvQA+DRGpje2graDfofpA0zj0JaYjt6Zf0tmG2lRLYYts0ybRqZrzJMHWa6S0f0w4+
aPrA8OkIi0f0PmHx/dNpyoKp7GH2EDWTiT1OVnYbVVEGOzqQudHkgupJ6gT1gET1ytiT/ckFpnMs
h6wSw5g0SpbYWdNf8nNNn+X7BNZvej7dJ6F6LhmSLdx03vig6VnjBtM5UF9QdTITPc6anjRuNO1P
9rGj/ab7jD6GMfuC1RYjhp41dWQeMjXnq/olh3xCX79pLvSrbdNMRSUW0xzjJVNeuk/PIOcal5iy
8n9vSsVAdDNjUqst0pRk3G+aB1Wy0ZE+DzTCTrJjlMWO9VsXm4bBwt2B6sySQz52+0BVRr7Vx26z
FVVlHMqsSrdmLjFZMyvT08Gvflm3U3e9boGuQJety9Cl6Sy6RN1MfZQ+Qj9DH6afqtfrdT722/5y
k3aE9VE5YOkb0Gv1Gh97Co3SCDulNp56Wi/pBT3pZ/oCHyN5Gc30sb7BCM6BOatVOa2PnUJe8KZT
NpPEOUlVRAicxwVXEpheoMWksHt8WtoV211uKI+aHzm30v5DF5eqGbtm//DPwIzKoZq6euWk0akU
cCZgdI51N4wxP1h3bYHKU5GdXbNy60B3Z3uLwyM7XLLDA3Ipe7pbDUpPo9l8pr2TK8yKmOZqbGrl
tdujdMoeu9Iu281nutVxV6hbuLpbtp+hFseq+jMtNo+9v9vW7ZDddudAY8XmdZPW2j2+1uaKf7BW
BZ9sM1+rUR13xVrruLqRr7WOr7WOr9Voa1TX4s472uoqbulCdpodbTVmJaNOqV7RUK+Y3U67j51A
o30Lac5ThOYZytD0UIKURyaiwAegD3ntvy7wueYlivB3BP5TLEVQhzgJ/vIyOk/30DE6TVp6AnwG
3UBH6BXWjnt7LQ3SuyyZZlEP7nsfLaHXWCDwJrXQY+jfRc/TQTqD3SuDOigG2l5mDdwG2Qa+kXYG
HqFUKqFf0zM0F7P20peBJwMD0K6k6+gk9WH8q0wWzkjRgacCl0hPKzDnTmjeDCwJnKYoyqEKqkXr
TjrHrOKHgVYyUCmse4AeouP0HH3BdrDBQGugO3Ah8AlS1UBJVIeyjQ2yT8TT0q8DDwT+PeAHEhmU
hVVdtJ8exfynUc4zYg52I+ti+9lBwSbsEAalXZo4/yhwyKRFKFV0E90NBIboBfob/S+7LBjECLFL
fDEwJ/BfNI1q4CX3xEPdKHeh9MKnEaZls9lCVsu2sQPsIHtbyBKuE+qFXwi3Cp+Ly8S14lbxbekW
qV+zV3NEO83/dWAk8FLgHYojI11Pm2k7vHueLtBX9C0TMVcSs7JSVsFuQOlhx4QhdpwNCbXsPLsg
nGQfsU/ZZfadoBHChBghW+gS9gt9wvPC62KbeFC8X/xI/FqarxE0xzWfaa26f/U3+nf7Xw+UBj4J
fIMtVk8WRKaCltF6csPbTrqGfgkvTqGcRtReoBfpFbV8ypLoS/oGKBCLYgmsgC1FWcaWsxbWxh5k
wyjnVFv+W0AghClCpBAnJAl1QqPQIfQI7wg9YqKYJS4WG8TTKC+L74rfid9JGilaipEWSdW0V+qQ
jqKckJ6Q+qU3NHM18zXLNKs1PZrdmr1ik+ZNzbva7dpebb/2svY/sC0u0d2k24vovIKcfW7skabW
EkuF9QW0iZqYnTXSIUTjOHOTF9nVzO4GXp2UEVgnbhcXCbORDefodmTrUdpGu8W1dDzwvniS3kOm
bMRsPfRPUgUZNYcRnR00G1kUKrbMrMyM9DRrqpxiMWPLT0pMiDfExcbMjI6KjJgeNm3qFL1Oq5FE
gVGOQ650mZU0lyKlyVVVuVyW3WhwT2hw4VY2K5WT+yhmPs4N1aSeNvRsuaKnLdjTNt6TRZjLqCw3
x+yQzcrv7bLZxxpW1IO/xy47zcqXKr9U5X+j8tPBWywYYHYYWu1mhbnMDqWyu9XrcNlzc9iQDXBM
zc3hG4eNpvGJFVro3oYNlhbyHg4lQbY7lHgZPHSi1eFuVmpX1DvsiRaLE21oWlmPNXJz2hTYSXvC
muXmPT4bNbo4515br4hupyK4+FyR2UqcbFfibvvM8HdxjHPsnaBUBGul2+OtVGyuPQCXiy4uufdC
qqkzY1phl7NeYbtCRnAb22EpNzf4TLC62s3KFLlCbvW2uwAurazvT7AlqJuvQrX1/fG2eFXIzRky
bC+1wPuh3AW5C3hdajFsD9Z/+VWw/a3zvDZsf+Fj1DUrxwFgHAG5GnYq5iZ1ERnGlvCLp4S8TSXA
CT8ng5ttsGehIiBnRKuisVa7lZ66MTNa7UHjXO32/inxCepDqMKJ/i5vxDxECv0jZLP3azytXfKX
X0xucYdatNaIr4kreaDHc0Vh7jG+mz8srfC61SC38vh2qzGFLBscExogc2i4zcpMPMBr6y2K2YkG
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
ybL7Cln1ZUJ/fpY0cbz6n9QE/aYr9Op/RBP0m6/Q33KFzH2YOP9WLv8frPtCQgplbmRzdHJlYW0K
ZW5kb2JqCjM3IDAgb2JqCjQwNDAKZW5kb2JqCjEzIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0
eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0NDSllWUytDb3VyaWVyIC9Gb250RGVzY3JpcHRvcgoz
OCAwIFIgL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nIC9GaXJzdENoYXIgMzIgL0xhc3RDaGFy
IDEyMSAvV2lkdGhzIFsgNjAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA2MDAKNjAwIDAgMCAwIDAgMCAwIDYwMCA2
MDAgMCAwIDAgMCAwIDYwMCA2MDAgMCAwIDAgNjAwIDAgMCAwIDAgMCAwIDYwMCAwIDYwMAo2MDAg
NjAwIDYwMCA2MDAgNjAwIDAgMCA2MDAgMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAwIDYwMCA2
MDAgNjAwIDAgMCAwCjYwMCA2MDAgXSA+PgplbmRvYmoKMzggMCBvYmoKPDwgL1R5cGUgL0ZvbnRE
ZXNjcmlwdG9yIC9Gb250TmFtZSAvQ0NKWVZTK0NvdXJpZXIgL0ZsYWdzIDMyIC9Gb250QkJveCBb
LTY1NSAtNDA5IDc2NCAxMDg5XQovSXRhbGljQW5nbGUgMCAvQXNjZW50IDc1NCAvRGVzY2VudCAt
MjQ2IC9DYXBIZWlnaHQgNTk1IC9TdGVtViA3NiAvWEhlaWdodAo0NjIgL1N0ZW1IIDY3IC9NYXhX
aWR0aCA4MjMgL0ZvbnRGaWxlMiAzOSAwIFIgPj4KZW5kb2JqCjM5IDAgb2JqCjw8IC9MZW5ndGgg
NDAgMCBSIC9MZW5ndGgxIDEzMTgwIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AdV7
eWBURbrvV31Od/Z0d9KdTkjv3adPd6dDL9nIBmlIAAkiAgYQIltAXJBFEJHnQ54yDGJEBkRgcBmN
jOCoEQElboMElyeM+kC9vNErvsm4zGRyuV5GHAyd+6vqDkrem//eP7c7X52q76uqc+rbq05n5YpV
CymH7iGJJl8/b9kiEp/oeCJN+YIl85Yl2/pf4npiwR0rncl21g+gP7Ro2Y1Lku1cTm+/8dY1qfGG
h4icdYsXzmtL0qkf18rFQCTbrBxX7+IlK+9MtvWFuC67demCFN0wDe2aJfPuTN2fPkPbedu8JQuT
/aN+3l629PaVyXbkBK6zl61YmOrPZhBlPkoMWCvbShl0F2lJQwZqICNR2jeZv8F6maCjz7e2vyXm
6Ov+zozpYrqn7vnHOV5578WCzy4e639VZ09/GU2d6M8JGKNLT6CzbsfFYxff0tkvUziVf6zxAc09
LE75JLEGykY5khIo60VZQyNRr6ZXUY4QmCpRr6RWYCpoB8pygS8T+Bi1ARMRmFJRhpgXVy0LilaA
bgHdTxUoVVH3iXsqgsp7SswjZnUyB7kxzilwvC4xu+hrY1aaCopN9ON1iRXTRJTDRL1IjChkFly1
opRYAR0VLZOg5Yv759E4jDEyA11EP6Og8LrE9KKeLcosUWayDLKhFy8llk7/QZlopUNOEkuj/4WZ
tLg2oqUT/bWilFP9ZNGSRKkRHGU0HH2Jr4AGgM+F1PmV97kELeDjc9HidQk6id70o6BfpH/Q3aBf
FC1el+gHykN5gb6n7aBcEJQL9HuSgfk7zQOOUySU9wD3dzqP+bSCItHf4wPQNRk4sSZBk0RdonNk
xqh/E/P10d8oC6P6RIvXJeqlr8gCXK/A/ZX+Inr8VbR4XaJvyY7yG9qL8muqRvkV/ZnSMYaPlERd
oh56gfMTV86BP4ny/3ANoy9F/SzoEn0h6v8qyj+K8n+TCfgz9C+CI2cEjtcl+lRQPhGYj+kgxTH7
x6J1WpSnkjKjU0ICXH4SfSQoH4ryAxoGzB/ELCdF/YTAv0//k8ua3hctXpfoPXoX/bS48qfndYne
obcFjpcSHeeaTt3cQugYvSUox0jhrQEupbdS6+cUSWiqRG/Q6/QAZn1DzPqGkObr9BrNBI5TJJRc
mq9hVh9wnCKh5LLkGIm6UuvuohhaRwRfXhGzvSzKw2JdhyD/JH8OCeyhgQ8xA8dI9BIdEM/wkqC8
JJ7hAL0onoFTJND5M7xIneIZOEVCiz9DZ2pNnCKJusSayA+tb+QlPS9k+pyY+XeifFaU+6EdEj0j
6r8V5V5RdtBT3E5FKdGT3E7pN9SM8gl6nPsDXDl/eV2ix8SYR2mP0AxeSrSbdgGrFaVEO0WPhwVl
OzxmDSjbxXzbuJehXwn6VnpI6DQvJdrCbZcepHYKoPeDwip5XQIvuOw3i/J+UW6iX6K3ljaJO/C6
RBsF5RdCszcInbiP7gVOK0qJ/oegr8ezSOArPB6to/9OY0FfR/vR4nWJ1ojxd4p5V4sRd9Aq8fx3
iBavS7Rc1G8T5RK6lfSYZQmVgcLrEu7On/hmSkD+Et1Ei+HLtLhyS+N1iW6kKpSL6Hphm4u4d6OF
4q5tNE30bhNSWEDzwTEtLRAz8roEnzMXsVqLaylavC7RDXhubie8lGhWat5ZYhS/hwTt4c80IzX7
DMHZ6eQQ/nC6oLWI+1+X6nGdwPFnkSB1PnYKVQp5TRGta8UMk0V9ktD2q8X4iaJsphEYMUFQr+Jx
i8aL+jjhE8YKn9UkMGOEFxudmns03Ym+cTF3A+TKPVeDGD8q1RolZuAUiepFWSfmqRVljSirRTkC
PC7E+BGCk1WpO3CcJOoSlYu5ykTvmCijooyIEWEKoedwgRHxFm3OhxJRBkWfAKUB40/puF+sXRW2
4uO94jvgiXgc8uKuXD5eoaseMYNblC5RikgspCGBH7LoaxdaYQMXJbKmcFbRuxj89mO2YtHidYmK
UncoEjh+NwlRgD9vgShFdEYmkiciBC8lZEEGcForSgmam4tIr8WV2z+vS9CtpPXmiDmyIX9uUbyU
wPsMzK0VpYT5OC4t1T9N8ICPldAjuR6t8AC8LuHLezOhNyQiLGOFG9pZyX/hD/3XenabSFHhq7vg
Ld6lk6jtpUxNsWY8rYUeH0R7D/2Ojmsy2Q76mI1ir9A2tokdZW1sk+h9EhOYpDC0J5sdldM1vRjx
PHCb4ItPsj/JZ+iP0N12+qO0m9ZIo0BZQ8+z66XRyPOWyybR7kCfj4nkaqmWdrBM9ho7w/7INtNe
9g7D3aUZ9B3m2yTtkQ7jKTfJRfSdVCZpcKcduMczYg7MC/xOScOeZJ+zPjpMFraIPc+y6RnNTtxz
NbsIH76DNrFS2kpb2Sj4zPnyE8Cthz/k33O4y05qZ+9j3e2Ao9JE9H8eqz3JivEcJ+kgW05tUjpb
j3wxwS5KuZKFz4VYuBHfbbRTcy8by7ZqbMikOAfaUZL8vfxk8ouGA3zrwz3bySX38a82l1ZpivEk
6ANsu86ka2HvaErZK+wdcLpNY9G0syXIaYiKWBsfJWWi31bNJGkdtUsfaYqQkbRjDevZWvlJTYdm
EVrZWMkWtlNzPUbt0NTCZ6/VmeRM8E98gW3nK9WM157U1mttWPMOaQ/bIu2hN5iOinBdS49JO3Qb
wLPVbD+4dzfnPy0H19rkJ/CkS/FdDliLuWYgxp1DRFsqpSMCneRPi6e2gFOZnFOYYzk45aK12uXI
tW7XfES3i3IbuLUGcfcLPA0+6wbwTDsRoSMNaTqtDEFSyGno1ChXtXU2XDvD+e5MV2loSNNpSHN2
0uTOnDXOVwYGJs+Qi7UzO7XWTklJ75QVz5f/jPhlaah58gznK2xMU2Nq2qa5jUBOnYE74I+jcbum
xlI8mXySFgH4dT5gNKAakA3YApgNaJFPDvThuhHQCJgLmAHg414D7AUsBnShXyJVvx5XPtcSwAEA
7z8FUI1bJvejBEnqwDMiJ/Qem5n/Lx8NfO7PPzJ8808fHbx38pPcAA9SMlDJhM/PRjTIRXTgHwPA
CL+dD29uRhQgxJpCxKDkZxgiE/+48X2QedkvNBHNd9IKebx8g/wX7R6dVfeHtMVp59NvzRiZsSPz
gayGrAezx2e/nXMid67+ToMdIzW0KLFDXqTtwBOnkaUhQyYdS9dqZAqf+OxElAynT5w+Eck3uoyK
y+haJFP/7VJx/58TO9Jyf/huhS7A766h+QP98irobDYi98yGmgxL9hG71B00U7e9J6c4vVguSS+R
a9Nr5Wfd+9RX01+VM/X2QrNckOciXY63rDiv3JlD+oJYqaG/NxbriZ3vzas25lmqo60U7u2Nne41
JOqORxQ7K4tVVpT7PG5dmrGEuX0V5ZW1zOhJVqQYGU26tFyGNlvtHGX//s9fXQpHzY+VKkpJXZ6h
rlRRSx77/B/Mf921zZ/uM81pl6TP/tZ3RiP92Of1qnZpg9OveBJvJv5tQ0/LpHEytGE095hYVz09
0DDZPzxc4vI6zIaMsurKmjTy9jm+LumjMDsXZuFeW8aRor8aeqJp3ZV/ofo8q9mQmcbkdHm4M6rG
rFEzqeycytSIXV9trsiR08MjDf3dWGp/XXfrckNfDH98xca86uoohfv6YgkOrct7Ej3AGas5Jc8o
6JGy1IovL525YgU2ZtIBX88gJ/Cl7J9iusJepeTqhobmUsVXKtW4PXY14LjUy3Q2r6fY6vUWJy5q
TI6Az+F1eb1+m7TBEVA8AbW33B+6ekvihYrKYOmEruZgpMmTaHry6lCgut/rA69gU/JS8MpPkxuC
6Vk6ypcU8xFrj6Tmd2cpDp/bWpCfI5sMoLh9FNXVFBl8elPA8FlvN+Rt6Oar/BkDYm8nOEew7uoI
Sy0H4vW4/u+1Y6lmk66EGV3SF/ag1+tz928Ke70lE+++ewKXOTsW9vpKJz6jMbFtzSEgEi971J+W
5vUGHP3cyzLoL8lHsYY47W5Yqo3rkSia42FS4hW2CqWclcfLGxptjawx3tiwkF6wvaA8SW/a3lQO
wDAVr90WZ2mueldl1pF6uafcVyzldJeavHaKM61NKWyw2nLT67JrrXrjqJxgg0/JramrrM2pH+nT
R0dVOEYbzvf0xnrO9/QYvjJ81cevEDxMgMJ1fZZYoq4v9nae0VIdaWX5I1ktS605P7l4jytlDFlM
6L+aBVPhXLlMyB/kW6zAoln8aW50eIfTFagyWC3xkNed+LomGBtXYn5bHwoFQ7nv5Y2pjQRrE994
PKF4gc1QFXQ7O4ZHc1ivZoXX6XH5bP0rbH6P4vTDbGZfOhrEVJpR/R1Oxe8UjH3Q5nN5nF7O0y0D
p+Qy+TiNoWMNDwVqxtVuKvpF7bbaXUXbDXuij0UeDz/tfnbM3uojYw7VdhUddBuDfnepQrpMqbaw
qEaOO0q/Lc/6Nq9b+iZe3q1843gpfqixYNTE2OzYQkObva2irfqW/FssK+0rK1ZWr7WszV9l2GDY
nH9f3X32+ypMt0TXRjdHJT1ZawqLat1RXZU/YNZZ0wLmsSOrxqZZGw2fdfee7k3qXjXXvurqVjgd
Q09/T68BppeUgVBDqCKYrwj2hpmwMEuBZdAlhdnwJK7AMpKz3sE4892qTx0Of6Qzm4CxJ3E+Nlrr
VYMBKQduaVh2lueRm9b/ZsGc7R+8cen1qruu1ljdIbec6/dW2HJzXf/tmjWPLF/5xPOdFz8a/6Cn
1BOt+iYv4m8pKRg78a4518zNNdme2LrrQ5vDVjAs+lGmR50QNMcq75w3cYbBZPntg8+87xZ6PRt6
vRx6HaWlDaOsxRTNNOYUm/MydKSzFkoR65GcnlJ7t08tDQedPpsnN88oFZtzMjMkHRVHzeM942ww
2PE2fXBcOGY43dMLe+0535c016TP4izifgtuK/Z2DHqKdiQtNy1f8KsiUlkBrS2Dm7LkmwoqhKdS
JZcxpceDWqoxus5pHKUejyZT4/VJC31elqXx+fx2TWbiy91q0Od1X/rA7VXDrt2JL6Xc5oDidRjY
BMXlUhKH85zM6wk0M7l/rcvrURSop7SBxydGLVj/amHX3zVM17muio91zYy3uDYZN+p3GR/R7zfu
1R8xvqx/JZ7rj0ddBtntNObgtKlI19MQC0vu7mp/JDNSOapgVEgmvcHodLkj0VhDPLteKQjZlMxK
RaofbTjd3X2629D9CbTJUo3AlTJbC+dGBGlPPERRnBu5AEbstY3wC41kAETwjEZcnfjGKIZag6Dz
3ryPHl+3GMd76wEkxkRQc3OaNs3Qi79eUSTr6cnGzChrzReaOegxNMXscuRMeoiMlGIOuhAmXeE6
qtjREsXj7lfUWCg/80+9meZIZdDb7/YEwomjbHYI9po4X+4NNQQGqL+0KeIrT3zv9geHsylynsYF
KWCwL/Emi6sul6p4fO7E5ESJ5Ha6VO492LzE43bV71RdbjdjHxAb6EvY5C8S25CPGBt0DFtajQzW
8kykO8LMrgr5ix/1iW133MHzjo0DX8sbpYPw2xV0b8P0u7Sbtb/W7jY/nPastiOtQ3nWv998KPNV
R5cxZ5itqCInmkHZwaKAdPZsASvoz7hocP5gO+u7YDgV/DFaYqzJ68qToiXDK2KQ/XBHEamByTq/
J7+SO4nz8M0QK9dynpP09Pf3GPoSrX08PomgDAOAax40dp6nWJKqL2KXJZm1JH0wZ68xyWMuClVq
rLqxbPeBpS3rzqRPObro4Zf/47OaO0betnLS7x023+e/6zwYHRfx+x+1enWsK8+4eEbjjA3jP5gw
ae+Gx57XG9Juv21aWKmd8tILiVo7oprbCb40IlO+F7uOLOjJmfh18L05OFvKwS6zAGePOdjPFOBc
lJ85RJCxKeCfHnV+smGFbp1FpqkgFQ4BdxaUC2ifQmuAPDi/t+J0gZ8wMJx+aQGMnoYuP40M9RCu
h3BNx2lpAH1tGCNBp604P/Pi9ILPz8/V/MhnIQlScb0OPaeizxT0uJaihv6enp7+bkPfIFe5S+Yc
7+vrSfQZ8E0SBLeVwWQQ3lXiXpfMJgKLVZENDMkOecDU7GnvfOn+zS+++NyIZ25+j2Un/vb2TXti
+QUvq77hjeb8xphf3Wkv3nzgwc0HX3rggYOa9WMnJP793eOJvgnNk4sLeWCTyen3ek1mrHoudK8U
uheitQ2zN1i36Hd5Htf/OndXXkfoVX2X52AoMz0rjZFklK/JmpO1NKvNutK6LuvxrBeyOqyd9ky7
5aI3y3hWDl7wniptzGssmJY3rWCfb5+/y9flT881UdSVNs3kV1t4Tny+u1ewAXGpu7fbkOhuFb6X
a9wVqd7lYAP9q8JXKJnscVNFOaEubfP5Aw6fr1i1RjbN3HPs1W1j1lTmO+OKQ018/MyZxBfM+S8T
d0lzZZcj0tylKI7otVNf+dXDrytKdlGF6rjmaVbw4YfMwpN+Dc3A+ndDx7zQoU/jLdAxPSSph45p
cc6bDj3TQ8+0OPVIh67pUVohf34SNhyaJ8GwCZpwFrsOI3StENizwF9A+xRaA9CeH9GjkcIAFWel
YYCKmbMAGZg1C5CBWfleqARPYSeXuEMeZuazm9GvBHdTgZ8OynXQcz/2Vy1cy3rPg5M9ydA1aNMw
6t4hGgaXWC8SKk2SgZbBvQbXppQJe5ip4PK2RNpmNtYdvOn1AWZ4/8aO2orpZQH1pL24NBryOfs7
D2y6/8CLm9ufN9unNE9lOe9+wPKvGsfWOQJcpX7c5fJi43L0/s6X2zcfPCx4vAg8vh4nMlZY0+vx
STjH1tIdgL0CCmgf1rcPsjiMNj8f5dbqQmkG947QPbBfBtiCuc6K+Ygx0C6g1ylwrBEjpwH2Yk+5
D3a7D9LZhxGH0O5CuwvtLrQzscvksiPMmodaBnjtR1mIcwmbsOYW8g5qKSwTfyKH6u1v7W4VLIWe
8kTJm3R6YouWVElYLBJ3xSX8JjOlv/TrVcxksyN8tH18Eyyeub89xQrCi/WXFmo26/et3XCYPfnQ
o3f7rLaIJVrO0s58zvIG6PAI372rtz6AB8TTvoZYX6t1INfZEi+D9PmJcDH8nQu1s6iFsfojeGo9
cIwKmAa4AWgeQd90wBlQT4P+WLBuHbABjJCh4/yUV8WXnxuHcI0A8tEnl2IIELF+BH/ut3gSCRC5
EAIE0naYKziC8KAk4+1gnL2sS0kTFvki39ra+G6Ot1xGaXegJKBeWsHL/R2B0qD/sT98teyW4d68
TdHl89n8QEnIl9i7xevx4uPxahb4UGs89FSswuEvnHNbNcKBeulRzhcuZZIna+fCblS6Kx5E6YEs
+bveDKbFe3siD5NxTpwNPvDThmHwyhbwrBiYfPDEAG5wn+7EbDeg3gAMA3A/bgG2mPzgQ3d/d+tp
OKvBmIiVc170xmByvWik9nLJxeYPLlT46jJXiiM8TTRrMtWGkX4l3qAeQeqgeML9P/j9wSCLHguU
+P1MKXbIr906IjyjJeDrz3FhCwcGuDXrFY/HU5DP9WAx1rsT/qmOvo+PhX2EqAkwFrFoNPzCNNSn
4Lob9N1UCz/ix4r9WAc/0c8BNgTPUoK1aoFl4JpMOQznsORH6QSnTNCaWsyWBX6Vg8pHDMOIUmB1
0D5uLV68E4li7krhpVTYUzbV83Qi1nMa+sIVBXkijjx6uesBe5Aq8jKvmueLBRTC28YQnxPXWnzr
qIRjAHWCgqMzXIvwHYa0Dzlfb5qWX2dGkPcxbJcvp3qXlY07LiW5VxHcT+MnJnp25XaxirFO17Aj
qj98dSTQEguobxbbmcvlCAWZ3uefl58VmB/byta2lCgBNfHvIb+qJj5l6xJn/JFkkOQerSD/Utl3
uW6L3e5212VqNNqK0LpEmxMJod1VrGYjd2XwLiTz09Fimhl3gJNAwfYGLmthUu/SQUkDieukjC8/
FeNaPBl6xwAcY+Xpd2u/YCkYeFnpoHCppIuv1jhE4TSe/fOiAZVNwPJqYHvhSzgLgZKZ5fbkErhT
TqoW7sEGEnjer+GPr2HD4jfjTesIehjPtE28ayJEQBNWohO6dg08ZS6euh7vxsrgc3mEk/C+pwbS
IyqD/jSgfgE+OMitED1/RE7lwZgm6Cfki3g1GlBHCwGrADoahTUz0Jrxjm8M9CwCvSuBlnmIW189
PBp/25QL3ujwTonQawHK2ejrxDvMYuDnoT4H1Cq0ZmP8dMzIrYDjeDY22XAakRHnEAZ+/GDo6xG6
yLNeqCQuyfMnvkMO1/HtDd/u8YOrwSQY+gxXLw7oBsMj18B6Zhw8tUtGgMH93k8HWNgYin1zsvz5
4ArpTNnICdPz6gNuz7oSR2NtaXOxUhd0RxLfq0q40ZQ3tszv3+UyawI31I6dVRC8bdz61YaRQa9n
jd+nKW1fcM+yxFwbkjb/aBvbO6l5ekX5pTP8xMuj+G2a9U6/x2NRQsH6kaPqnnktmUJH8HOppP9Y
h/yulj6IT4BHyIUfSIeES5BH8DdqPHu5CItGSKV0yNMIaYYgC/5rEx5LyiBX7i+94L4VcaUIY8uE
1HIwD/91TC12LfyXMSMQRXLgofkZcTITno3e09GfS6gENBW0qWjPQt8pkDrhLXOdob+uBzlLHSQl
zggRYwa9x6D3HTw96uNiSoYmbMurBp2Bhp8RCrZfwXBxqHqlEDVJD/1dfmNZMByeW2y/asvVjzwX
joXCdZ83eIM1npsXLtrjqQt6xx6uDATCje2cs4qrIL+xMf7a3kSty6u67EFs955Ytfb+RYm5djVo
5wLAqq9HjnO7dADaaaGmhnI6q9edNV/QnypsTGvMatY2s2lp07JmaWex/cb9+U9bns7pMnblH7Ic
yjFI/uy2DH9eSyHPPXpFysHdKOJs6pAY+wLGdwSpXEOzaPfxt3ftOt6t+W3is2+/SXzGvN98w5Tb
jz3yyPHjj+x8i13/SeIcM3zyCdMn+C/SNDQ6sVy+V3oMki6nf41PR27rBajIbW3IM7wAFbmtDdbj
R56gwKqsWIUBusI1IA24s8CGoScO7PRxdg89SWMSdldpwFyA/JuR9zbDB8zCdRauTyNP2Qu9OYTr
YVzT4TdimNOIOdPh6fTgE/eF3OeFcFc3ajHcl/AkbvgLE+g8C7+WKrCXikE9klkJt2Boh0jMerHF
EmmZOHMWtg2r/eeWmdQRpGrYSfjUK7jbds7nU8KJcf5AWVN+flNZwI8NVOPTc95juQP0zs0H6ljl
5gMv3X9/5wsDhDN2p9fjd8q53OhM5nljxybOnTyeaB6reWHzL1/s3HR/J7e7JfCxS2F3JXRvPIyV
+bF6q7A6+H3OQ3CU7xs4/zg/B3m9HRzrABwE8LfqnGecYyZwUJ/iWZJPJnAqC7gQz1e6wSHh2lJv
GxCKxf4z6fMiyhUR46eXDewn0xGHWfyVhEZmE3mmcmmF6g+UPN84L6L6e4qtc/6weuZtVS7LkpJJ
z93UPhhPNOsdAY/HbNq/euX4aqW6fumdWPuBgW9lC9bewGbFH8bvsmLIV4zwATHsWox4h1eLd3fD
AMUAK36pk483hnl0H/zKL9DnUdC3iXhUjKuVfg36LtC3g74D9B3wJLugY8+h31Po9xTmeQr99gm9
ywH3ItgzDccvCmqh1cMAxQAronQQGXMpOBsF790AFygh5MG10LsR4GUMdzEKT1YodDML8hmB944K
3l76YUcKa0D/sxhRCKmNBO0ULYNsoMegxJEfleMOOdB4nmdnYd50zIl3UGJeM6S5EL+JcuF3PS56
U8jXBdsJA0vwt3GeUZ3GVoOnnUKMht5WvFnp7u1t5QcGg46PxzC8TWitGnp4m8qSYAHYyKFMvkr5
2dktjnmTGasqznQOuJRAoSEn2LHg5ntuvLvqxCcfvX71E3LWSLvb5fTYQw5TxZ3X3nD7Hcc+/P3p
g9UP3OyJGT3K+AMh3wi3sTLeMnZc3YMb7/tViRqLraoIl3nyoiVTG0ZVytqN7RufNBdZLDx3ZNhf
98nz5S5w5Il4DbWBOysB9wG2AzoAWngeCzhlB+TCB4Xhb0IYyzOAi6A4gDsCjE/sAGE6LB3YU5Ci
D3GGxyYdevN9owfSC6PG9zd64BkgajjditQUFpLK5nEE19PfWofkNbmjGQwy8B2D+xWxE046kuR7
OBxIIPgnM7BaVFMvcqTV0dJgMHHLdTfOStitarR2/qNNqx5XTcb9QV/5dcsVNeSW2tzI5RMHOhbf
7Le5ohbV2zzBM7fNwSaB+faTFSWB2Mz3OZ+mwF/gdws0ht2BnKwSK6rE6lbhuho6tBGwCZnURqzr
PuAeFlAGnR8NfS5DPo6TVXgXQj8XMrIxsDQXfgvmwhv3Mdhvu/FmfgxmGAPLGQO++lHyngZoJz+F
dYPLOKkEcwNUCG8Ux5y5wHD/XwOO6sHZKHBO9BwNbDpyryzwfwns6RZYwhK0rSjNaMm4NqA9GTAX
IAGyqBGZbSveCxm+Ov9VasOQfB/008HycCy+CQfHTbhJ8qi4Ca6SJ5JGcuMaxRcf1JJHyZzGR4wG
8Efjh85NOGBuwsamCWP4uEFaGd9RXD5c5rXkToOjZkaplbUqQyJHRirjHjxxZpaqn6XgfE+SkQo2
l3cnKttsi42IViR67f7KWhNrTLyVW1NaNv5kZbSqPP3Tk+YRlZFKJjvUWJU18SW7IdMXjDSfqIhF
giP62xW31+23K242kVU4RGLn9p465fKoHtWB97kfJ/YroLu9Lt/3XF+qEdPboS9heiMeA8OcyMGd
tBCwSEiV7wEjYACPK0cgwTCkbU/JGLEoFcEjYKUBvcLo5cAIFyQbQqxR8IvDECSZBQ/Ja8jhID/s
9gxJ4cGE6notybe9ybcCJiEqzng+nx5XLggSM3OsA2DE18AFISSBfZ7g/BC+5yPT5p4tGbE4lwft
Tphnmqa45Kpy7NfKwoqqnnkysXV0FBtpywhfbIyCHaBJbSr3VV8IqKERA4TY5HXiNJmN0nzAo7UD
R/SXzmj4kb3D4/E5NXhA+HXxwVk9DuP/Hx9+lizBo/ixlgissgp+fTS43YSoNg67k6uwS5lE10Df
r4UVT0X20oJYNws7E/5h8P1M1HRcFmPGTJjZMrVkzNJVK25auCJF4WT+Pw3csrcDOgAHAd2A04Ae
wHlMJQNMAC+gHNAImAZoA6wE3AfYDugAHAR0A04DegDnsVAZYAJ4B1IfzEuX6wzyv7LdOKTN5fnz
/nx39vP21UPaU4e0pw1p4/8trhg/Z0h73pD2/CHtBUPabUPaPK7+/PkWDWnfNKR9y5D2rUPayOmu
mO+2Ie2lQ9rLhrRXDGnfPqS9ckib68TPn38Nb/8noBXp+AplbmRzdHJlYW0KZW5kb2JqCjQwIDAg
b2JqCjg0NzQKZW5kb2JqCjQxIDAgb2JqCihNaWNyb3NvZnQgV29yZCAtIERvY3VtZW50MSkKZW5k
b2JqCjQyIDAgb2JqCihNYWMgT1MgWCAxMC43LjQgUXVhcnR6IFBERkNvbnRleHQpCmVuZG9iago0
MyAwIG9iagooU3BvdGxpZ2h0KQplbmRvYmoKNDQgMCBvYmoKKFdvcmQpCmVuZG9iago0NSAwIG9i
agooRDoyMDEyMDcwMzE1MzMwM1owMCcwMCcpCmVuZG9iago0NiAwIG9iagooKQplbmRvYmoKNDcg
MCBvYmoKWyBdCmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSA0MSAwIFIgL0F1dGhvciA0MyAwIFIg
L1Byb2R1Y2VyIDQyIDAgUiAvQ3JlYXRvciA0NCAwIFIgL0NyZWF0aW9uRGF0ZQo0NSAwIFIgL01v
ZERhdGUgNDUgMCBSIC9LZXl3b3JkcyA0NiAwIFIgL0FBUEw6S2V5d29yZHMgNDcgMCBSID4+CmVu
ZG9iagp4cmVmCjAgNDgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDUzMzEyIDAwMDAwIG4gCjAw
MDAwMDQwNzUgMDAwMDAgbiAKMDAwMDAwNzEyMCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4g
CjAwMDAwMDQwNTUgMDAwMDAgbiAKMDAwMDAwNDE3OSAwMDAwMCBuIAowMDAwMDA3MDg0IDAwMDAw
IG4gCjAwMDAwMjA2MTIgMDAwMDAgbiAKMDAwMDAwMDAwMCAwMDAwMCBuIAowMDAwMDEzODM5IDAw
MDAwIG4gCjAwMDAwMjc4MDIgMDAwMDAgbiAKMDAwMDAzOTA2OCAwMDAwMCBuIAowMDAwMDQzODYx
IDAwMDAwIG4gCjAwMDAwMDAwMDAgMDAwMDAgbiAKMDAwMDAwNzI1MyAwMDAwMCBuIAowMDAwMDA0
MzQ4IDAwMDAwIG4gCjAwMDAwMDcwNjMgMDAwMDAgbiAKMDAwMDAwNzIwMyAwMDAwMCBuIAowMDAw
MDA3NzQ1IDAwMDAwIG4gCjAwMDAwMDc0MTYgMDAwMDAgbiAKMDAwMDAwNzcyNSAwMDAwMCBuIAow
MDAwMDA3OTgzIDAwMDAwIG4gCjAwMDAwMTM4MTggMDAwMDAgbiAKMDAwMDAxNDMzMSAwMDAwMCBu
IAowMDAwMDE0MDAyIDAwMDAwIG4gCjAwMDAwMTQzMTEgMDAwMDAgbiAKMDAwMDAxNDU2NiAwMDAw
MCBuIAowMDAwMDIwNTkxIDAwMDAwIG4gCjAwMDAwMjEwMDYgMDAwMDAgbiAKMDAwMDAyMTI2NCAw
MDAwMCBuIAowMDAwMDI3NzgxIDAwMDAwIG4gCjAwMDAwMjgyNDQgMDAwMDAgbiAKMDAwMDAyODQ5
NSAwMDAwMCBuIAowMDAwMDM5MDQ2IDAwMDAwIG4gCjAwMDAwMzk0NTAgMDAwMDAgbiAKMDAwMDAz
OTcxMCAwMDAwMCBuIAowMDAwMDQzODQwIDAwMDAwIG4gCjAwMDAwNDQyNjUgMDAwMDAgbiAKMDAw
MDA0NDQ5NyAwMDAwMCBuIAowMDAwMDUzMDYyIDAwMDAwIG4gCjAwMDAwNTMwODMgMDAwMDAgbiAK
MDAwMDA1MzEyOCAwMDAwMCBuIAowMDAwMDUzMTgwIDAwMDAwIG4gCjAwMDAwNTMyMDggMDAwMDAg
biAKMDAwMDA1MzIzMSAwMDAwMCBuIAowMDAwMDUzMjczIDAwMDAwIG4gCjAwMDAwNTMyOTIgMDAw
MDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSA0OCAvUm9vdCAxOCAwIFIgL0luZm8gMSAwIFIgL0lEIFsg
PGM4YjlkY2FjYjRlNzgwZDQzYmQzOThlMWZjNjBjMjBjPgo8YzhiOWRjYWNiNGU3ODBkNDNiZDM5
OGUxZmM2MGMyMGM+IF0gPj4Kc3RhcnR4cmVmCjUzNDcxCiUlRU9GCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>