<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-riedl-moq-ad-creative-signaling-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="MSF Ad Creative Signaling">Ad Creative Signaling over the MSF Event Timeline</title>
    <seriesInfo name="Internet-Draft" value="draft-riedl-moq-ad-creative-signaling-01"/>
    <author initials="S." surname="Riedl" fullname="Steven Riedl">
      <organization>Paramount</organization>
      <address>
        <email>steven.riedl@pluto.tv</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <area>Web and Internet Transport</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>media over quic</keyword>
    <keyword>moq</keyword>
    <keyword>msf</keyword>
    <keyword>event timeline</keyword>
    <keyword>advertising</keyword>
    <keyword>ad signaling</keyword>
    <keyword>ssai</keyword>
    <keyword>beacon</keyword>
    <abstract>
      <?line 134?>

<t>This document defines the carriage of ad creative signaling -- creative
identity, tracking events, and measurement verification metadata as
specified by SVTA 2053-1 -- in records on a Media over QUIC (MOQT)
Streaming Format (MSF) Event Timeline track. It complements the carriage
of SCTE-35 splice signaling over the same mechanism: splice events
describe where placement opportunities occur on a media timeline, while
the event class defined here describes the creatives that fill them and
how their playback is to be measured. This binding is the MSF
counterpart of the DASH and HLS carriage bindings defined by SVTA
2053-1, which defines none for MOQT.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://riedlse.github.io/draft-riedl-moq-ad-creative-signaling/draft-riedl-moq-ad-creative-signaling.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-riedl-moq-ad-creative-signaling/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Media Over QUIC Working Group mailing list (<eref target="mailto:moq@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/moq/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/riedlse/draft-riedl-moq-ad-creative-signaling"/>.</t>
    </note>
  </front>
  <middle>
    <?line 147?>


<section anchor="introduction">
      <name>Introduction</name>
      <t>SCTE-35 messages <xref target="SCTE35"/> carried on an MSF Event Timeline track
<xref target="SCTE35-MOQ"/> give Media over QUIC deployments the function SCTE-35 was
built for: signaling placement opportunities -- break windows and splice
conditioning -- on a shared media timeline, using the Event Timeline
mechanism of the MOQT Streaming Format (<xref section="8.1" sectionFormat="of" target="MSF"/>). What
that layer deliberately does not carry is a description of what plays
inside those windows.</t>
      <t>On HLS and DASH, that gap is filled at the manifest: a packager or
stitcher decorates each session's playlist with creative identity and
tracking metadata. On a one-to-many publish/subscribe transport
<xref target="MOQT"/> there is no per-session manifest to decorate -- every
subscriber receives the same cached objects -- so anything a client
needs at render time (which creative is playing, which tracking
resources to request at which quartiles, which verification script to
load) must be delivered in band, on the shared timeline, ahead of the
splice point.</t>
      <t>This need is not incidental. Accurate measurement of server-side ad
insertion increasingly means client-requested tracking -- per-device
accounting at render time rather than server-side firing at publish
time, which measures the wrong clock -- and verification means
initializing a measurement script <xref target="OMSDK"/> before the slot renders.
SVTA 2053-1 <xref target="SVTA2053"/> already standardizes exactly this payload: a
Pod/Slot/TrackingEvent/Verification data model (Section 4 of
<xref target="SVTA2053"/>), explicitly agnostic to client-side, server-side, and
server-guided insertion, with carriage bindings defined per stream
format -- DASH EventStream, HLS EXT-X-DATERANGE, HLS Interstitials --
and none for MOQT.</t>
      <t>This document fills that gap using the structures <xref target="MSF"/> and
<xref target="SCTE35-MOQ"/> already put in place: it defines an Event Timeline event
class whose records carry SVTA 2053-1 Version 2 carriage envelopes,
specifies how those records are timed and correlated with splice
signaling, requires that each record carry the distributor's signature
so that a subscriber can verify it independently of the relay path, and
gives operational guidance for tracking on one-to-many delivery. It changes nothing in the SVTA 2053-1 data model; payload
normativity remains with <xref target="SVTA2053"/>, and this binding could
additionally be published as a carriage section in a future revision of
that specification.</t>
      <t>On status: <xref target="MSF"/> is an adopted work item of the MoQ Working Group,
and its Event Timeline mechanism is the substrate here; this document
and <xref target="SCTE35-MOQ"/> are individual submissions layered on that substrate,
and this one is written to track <xref target="MSF"/> as it evolves under WG change
control -- including following its registry, wherever that registry
ultimately lands. The event class is deployed: a continuously running
server-side ad insertion deployment publishes it, and <xref target="impl-status"/>
reports what was measured.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses the terms Track, Group, Object, Event Timeline, and
the index reference fields <tt>t</tt>, <tt>l</tt>, and <tt>m</tt> as defined in <xref target="MSF"/>, and
the terms Pod, Slot, Tracking Event, Verification, and carriage envelope
as defined in Sections 4 and 5 of <xref target="SVTA2053"/>.</t>
      <t>The index keys are spelled as in the published <xref target="MSF"/>. The MSF
editor's copy has since renamed them <tt>T</tt>, <tt>L</tt> and <tt>M</tt>; this document
will follow whichever spelling MSF settles on, and implementations may
wish to accept both in the meantime.</t>
      <t>Additionally:</t>
      <dl>
        <dt>Distributor:</dt>
        <dd>
          <t>The party operating the publisher that emits the media and signaling
tracks (typically the party performing ad insertion).</t>
        </dd>
        <dt>Placement opportunity:</dt>
        <dd>
          <t>A window on the media timeline, typically signaled by SCTE-35, in
which advertising content plays.</t>
        </dd>
        <dt>Splice signaling track:</dt>
        <dd>
          <t>An Event Timeline track carrying SCTE-35 records per <xref target="SCTE35-MOQ"/>.</t>
        </dd>
        <dt>Capability URL:</dt>
        <dd>
          <t>A URL whose knowledge alone grants the ability to perform a narrow
action, used here as a short-lived, opaque reference to a
distributor-operated tracking endpoint <xref target="CAP-URLS"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="track-properties">
      <name>Track Properties</name>
      <t>An MSF track carrying ad creative signaling:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST</bcp14> declare a packaging value of <tt>"eventtimeline"</tt> and a <tt>mimeType</tt>
of <tt>"application/json"</tt>, as <xref section="8.2" sectionFormat="of" target="MSF"/> requires of every
Event Timeline track;</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> declare an <tt>eventType</tt> value of
<tt>"urn:svta:advertising-wg:ad-creative-signaling"</tt>. This is the data
scheme URI defined in Section 5 of <xref target="SVTA2053"/>, used unversioned: as
in the DASH binding, the payload version is carried inside the
payload itself (<xref target="payload"/>);</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> declare a <tt>depends</tt> attribute naming the media track or tracks
whose timeline its records index. When the track accompanies a splice
signaling track, it <bcp14>SHOULD</bcp14> name the same media track(s) as that
track.</t>
        </li>
      </ul>
      <t>Because <tt>eventType</tt> is uniform for a track, and because implementations
do not mix payload flavors within one Event Timeline track (see Section
4.3 of <xref target="SCTE35-MOQ"/> for the same rule applied to SCTE-35), ad
creative signaling is carried on a <em>sibling</em> Event Timeline track
alongside any splice signaling track, not interleaved within it.</t>
      <t>A splice signaling track is not required. Ad creative signaling describes
what plays inside a placement opportunity; it does not depend on how the
boundaries of that opportunity were signaled. A deployment <bcp14>MAY</bcp14> carry ad
creative signaling with no SCTE-35 records present, leaving break
detection to another mechanism entirely -- in-band timed metadata such as
ID3, an <tt>emsg</tt> box, or the timing carried by the creative records
themselves. Where a splice signaling track <em>is</em> present, the alignment
rules in <xref target="correlation"/> let the two be correlated; where it is absent,
those rules simply do not apply.</t>
    </section>
    <section anchor="record-format">
      <name>Record Format</name>
      <section anchor="record-structure">
        <name>Structure</name>
        <t>Each record is a JSON object <xref target="RFC8259"/> following the Event Timeline
data format of <xref section="8.1" sectionFormat="of" target="MSF"/>. A record <bcp14>MUST</bcp14> contain:</t>
        <ul spacing="normal">
          <li>
            <t>exactly one index reference field -- <tt>t</tt> (wallclock), <tt>l</tt> (MOQT
Location), or <tt>m</tt> (media time) -- selected per <xref target="index-selection"/>
and typed as <xref section="8.1" sectionFormat="of" target="MSF"/> defines it: <tt>t</tt> and <tt>m</tt> are JSON
Numbers of milliseconds (a wallclock index is milliseconds since the
Unix epoch, not a date string), and <tt>l</tt> is an Array of two Numbers,
the MOQT Group ID and Object ID;</t>
          </li>
          <li>
            <t>a <tt>data</tt> field whose value is exactly one Version 2 carriage
envelope as defined in <xref target="payload"/>; and</t>
          </li>
          <li>
            <t>a <tt>sig</tt> member holding the distributor's signature over the record,
as <xref target="signing"/> defines.</t>
          </li>
        </ul>
        <t>Records are carried in the Objects of the track as <xref section="8.3" sectionFormat="of" target="MSF"/>
specifies: the first Object of each Group is the independent array of
every record accumulated and accessible so far. A subscriber that joins
at a Group boundary during a placement opportunity therefore receives
its record, provided the publisher keeps the record accessible until the
opportunity has ended.</t>
      </section>
      <section anchor="index-selection">
        <name>Index Reference Selection</name>
        <t>Records describing creatives spliced into the media timeline <bcp14>SHOULD</bcp14> use
the <tt>m</tt> (media time) index, expressed in the coordinate space of the
<tt>depends</tt> media track and sharing that track's timeline zero point. The
<tt>t</tt> (wallclock) index <bcp14>MAY</bcp14> be used where a placement opportunity is
defined in wallclock terms and no media time is available. The <tt>l</tt>
(MOQT Location) index <bcp14>MAY</bcp14> be used for records bound to a delivery
position rather than a media time.</t>
        <t>When a splice signaling track accompanies this track, records on the two
tracks that describe the same point on the media timeline <bcp14>SHOULD</bcp14> carry
index values of the same kind, chosen by the same precedence, so that a
consumer can correlate them without converting between index types
(<xref target="correlation"/>). The requirement is on the observable result --
comparable indices for co-timed records -- not on adopting any particular
document's selection algorithm. A deployment carrying SCTE-35 records per
<xref target="SCTE35-MOQ"/> satisfies it by applying that specification's index
selection rules (its Section 4.2) to both tracks.</t>
      </section>
      <section anchor="payload">
        <name>Payload: Version 2 Carriage Envelope</name>
        <t>The <tt>data</tt> field carries one SVTA 2053-1 Version 2 carriage envelope
(Section 5.2.2.1 of <xref target="SVTA2053"/>) directly:</t>
        <artwork><![CDATA[
{ "version": 2, "type": "...", "payload": [ ... ],
  "features": { ... } }
]]></artwork>
        <t>The envelope is self-describing -- version and payload type are fields
-- so no additional wrapper member is defined.</t>
        <t>Unlike the DASH and HLS bindings, where bare Version 1 payload objects
are also legal, records in this binding <bcp14>MUST</bcp14> carry Version 2 envelopes
only. On a fan-out transport the envelope's <tt>features</tt> flags are the
only capability-signaling mechanism available, and the envelope <tt>type</tt>
field is what allows a uniform track to carry <tt>pod</tt>, <tt>slot</tt>,
<tt>trackingEvent</tt>, and <tt>verification</tt> payloads interchangeably -- the four
types Section 5.2.2.1 of <xref target="SVTA2053"/> defines.</t>
        <t>The envelope and its payload objects use the member names and units of
<xref target="SVTA2053"/> unchanged. In particular, every timing member inside the
envelope (<tt>start</tt>, <tt>duration</tt>, <tt>offset</tt>, <tt>skipOffset</tt>) is a MediaTime: a
number of seconds (Section 4.2.1 of <xref target="SVTA2053"/>), not milliseconds.
Only the record's index reference is in milliseconds, because <xref target="MSF"/>
defines it so.</t>
        <t>A publisher <bcp14>MUST NOT</bcp14> set to <tt>true</tt> any <tt>features</tt> flag that <xref target="SVTA2053"/>
does not define. Under Section 5.2.2.1 of <xref target="SVTA2053"/>, an interpreter
that meets a flag set to <tt>true</tt> that it does not support raises an
error and ignores the payload, so an undefined flag makes every
conforming interpreter discard the record. The only flag defined today is
<tt>remoteFields</tt>, which <xref target="SVTA2053"/> requires to be <tt>true</tt> when the payload
uses <tt>$remote</tt> (<xref target="capability-urls"/>); a payload that does not use
<tt>$remote</tt> can omit <tt>features</tt> entirely.</t>
        <t>This document places no requirement of its own on receivers. A receiver
applies Section 5.2.2.1 of <xref target="SVTA2053"/> unchanged: a flag set to <tt>true</tt>
that it does not support means it ignores that payload, while a flag set
to <tt>false</tt>, or an absent <tt>features</tt> member, asks nothing of it. The
publisher-side rule is needed because on one-to-many delivery the
publisher never learns that a record was discarded (item 6 of
<xref target="open-issues"/>).</t>
        <t>Two inconsistencies in <xref target="SVTA2053"/> matter to parsers. Its TrackingEvent
payload table (Table 11) lists <tt>start</tt> and <tt>duration</tt> where its object
model (Section 4.4.5) defines <tt>offset</tt>, and its Remote Fields table
(Table 16) says a <tt>$remote.verifications</tt> URI resolves to an envelope of
type <tt>verifications</tt> where the envelope (Table 15) defines
<tt>verification</tt>. This document follows the object model and the envelope
definition: TrackingEvent timing is <tt>offset</tt>, and the envelope type is
<tt>verification</tt>.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that a publisher emit one <tt>pod</tt> envelope per
placement opportunity. The <tt>slot</tt>, <tt>trackingEvent</tt>, and <tt>verification</tt>
envelopes <bcp14>MAY</bcp14> be used (mirroring the granularity options of the DASH
binding), but deduplication under redelivery is simplest at pod
granularity, and a decomposed record loses the structural link to the
slot it belongs to (see <xref target="open-issues"/>).</t>
      </section>
      <section anchor="invariance">
        <name>Subscriber Invariance</name>
        <t>Records on this track <bcp14>MUST</bcp14> be subscriber-invariant: no field value may
vary between subscribers. Per-session values enter only after delivery,
either by client-side macro substitution (Section 6 of <xref target="VAST"/>) against
broadcast templates, or by request-time indirection through capability
URLs (<xref target="capability-urls"/>). A macro template is conformant precisely
because the template is identical for every subscriber; substitution is
a post-delivery operation.</t>
        <t>The DASH and HLS bindings of <xref target="SVTA2053"/> assume a per-session manifest,
so payload fields carrying session-scoped tracking values are
well-formed in those bindings. That assumption does not hold here:
records on a shared Event Timeline track are delivered identically to
every subscriber and are relay-cacheable, so a session-scoped field
would both leak across sessions and defeat caching.</t>
      </section>
      <section anchor="signing">
        <name>Record Signature</name>
        <t>Every record <bcp14>MUST</bcp14> carry a <tt>sig</tt> member holding a signature by the
distributor over the rest of the record, so that a subscriber can
verify a record's origin and integrity without trusting the relay path
(<xref target="integrity"/>). The signature is a JWS <xref target="RFC7515"/> in the JWS Compact
Serialization with a detached, unencoded payload <xref target="RFC7797"/>: the
protected header carries <tt>"b64": false</tt> and <tt>"crit": ["b64"]</tt>, and the
<tt>sig</tt> value has the form <tt>BASE64URL(protected header) ".."
BASE64URL(signature)</tt>.</t>
        <t>The JWS Payload is the JSON Canonicalization Scheme <xref target="RFC8785"/>
serialization of the record object with its <tt>sig</tt> member removed: the
index reference and the <tt>data</tt> envelope, canonicalized. The canonical
form is the signing input only. The record is transmitted in whatever
serialization the publisher produces, and a relay or library may
re-serialize it -- member order, whitespace, number formatting within
the rules of <xref target="RFC8785"/> -- without invalidating the signature. The
signature is per record rather than per Object because <xref section="8.3" sectionFormat="of" target="MSF"/> re-forms the array of accumulated records at every Group; a
per-record signature survives that and lets each record be verified on
its own.</t>
        <t>The protected header <bcp14>MUST</bcp14> contain <tt>alg</tt> and <tt>kid</tt>. Publishers and
verifiers <bcp14>MUST</bcp14> support <tt>"alg": "EdDSA"</tt> with Ed25519 keys <xref target="RFC8032"/>
          <xref target="RFC8037"/>; other asymmetric JWS algorithms <bcp14>MAY</bcp14> be used where a
distributor and its clients agree. The algorithm <bcp14>MUST</bcp14> be an asymmetric
signature: <tt>"none"</tt> and the MAC algorithms (<tt>HS256</tt>, <tt>HS384</tt>, <tt>HS512</tt>)
<bcp14>MUST NOT</bcp14> be used by publishers and <bcp14>MUST</bcp14> be rejected by verifiers,
because every subscriber holds the verification key, and a key that
verifies a MAC also forges one. Verifiers <bcp14>MUST NOT</bcp14> take keys from
<tt>jku</tt>, <tt>jwk</tt>, <tt>x5u</tt> or <tt>x5c</tt> header parameters; a record that carries
them is verified against the provisioned key set as if they were
absent.</t>
        <t>A distributor publishes its verification keys as a JWK Set
<xref target="RFC7517"/>, each key carrying the <tt>kid</tt> its signatures name. How a
client obtains the key set is out of scope for this document; a
deployment typically provisions it with the playback session, alongside
the client identifier of <xref target="client-identity"/>. Keys are rotated by
publishing the new key before any record is signed with it, and
retiring the old key only after every record signed with it has left
the accessible window (<xref target="record-structure"/>). A distributor <bcp14>SHOULD</bcp14> use
a distinct <tt>kid</tt> per channel, so that a verifier can reject a validly
signed record substituted from another channel.</t>
        <t>A verifier <bcp14>MUST</bcp14> check that the <tt>sig</tt> member is present and well formed,
that <tt>alg</tt> is permitted, that <tt>kid</tt> names a key in the current set, and
that the signature verifies over the canonical payload. A record that
fails any of these checks <bcp14>MUST</bcp14> be treated as absent for the purposes of
<xref target="capability-urls"/>: no tracking, <tt>$remote</tt>, verification or
click-through resource it names is requested. Media playback is
unaffected; the record is advisory. A verifier <bcp14>MAY</bcp14> report the failure
to the distributor over a channel established out of band, which gives
the distributor evidence of tampering on paths it does not operate.</t>
        <t>The signature is subscriber-invariant (<xref target="invariance"/>) and so remains
relay-cacheable. It costs one 64-byte signature and a short protected
header per record, and one Ed25519 verification per record received.
<xref target="VECTORS"/> contains a signed record with the test key that signed it
and a script that signs and verifies records; the example in
<xref target="example"/> omits <tt>sig</tt> for brevity.</t>
      </section>
    </section>
    <section anchor="timing">
      <name>Timing and Correlation</name>
      <section anchor="index-space">
        <name>Shared Index Space</name>
        <t>A creative signaling record's index values are interpreted in the same
coordinate space, with the same timeline zero point, as the <tt>depends</tt>
media track -- and therefore the same space as an accompanying splice
signaling track that names the same media track.</t>
      </section>
      <section anchor="correlation">
        <name>Correlation with Splice Signaling</name>
        <t>The record or records describing a placement opportunity <bcp14>SHOULD</bcp14> carry
the same index value as the SCTE-35 record whose splice point opens
that opportunity (the same <tt>m</tt>, or the same <tt>l</tt> Location when the
splice is immediate). A pod whose start differs from the splice point
<bcp14>MUST</bcp14> carry an index within the window the splice defines.</t>
      </section>
      <section anchor="publication-lead">
        <name>Publication Lead</name>
        <t>The publisher <bcp14>SHOULD</bcp14> publish a placement opportunity's creative
signaling record(s) at least one full Group ahead of the media Group
containing the splice point. Clients render seconds behind delivery,
while render-time tracking and verification fire windows are
sub-second: the tracking table must already be resident on the device
when the first ad frame displays, with no time for a lookup round
trip.</t>
        <t/>
      </section>
      <section anchor="interior-timing">
        <name>Container-Relative Interior Timing</name>
        <t>Within the envelope, timing is container-relative, per Sections 4.4.2
and 4.4.5 of <xref target="SVTA2053"/>: a Slot's <tt>start</tt> is relative to its Pod, and
a Tracking Event's <tt>offset</tt> is relative to its container. Only the
record's index reference is absolute. Consequently, redelivery, looped
schedules, and regional timeline shifts never require payload rewrites
-- which matters where relays cache and re-serve objects.</t>
        <t>When an envelope carries Slot or TrackingEvent objects without their
Pod (a <tt>slot</tt> or <tt>trackingEvent</tt> envelope), the record's index stands in
for the missing container: a Slot's <tt>start</tt> and a Tracking Event's
<tt>offset</tt> are relative to the record's index. A standalone Slot therefore
normally has <tt>start</tt> 0, as the per-slot events of the DASH binding do
(Section 6.1.2 of <xref target="SVTA2053"/>).</t>
      </section>
    </section>
    <section anchor="example">
      <name>Worked Example</name>
      <t>An SCTE-35 record on the splice signaling track (reproduced from
Section 5.1 of <xref target="SCTE35-MOQ"/>) announces a splice at media time
480500 ms:</t>
      <sourcecode type="json"><![CDATA[
{
  "m": 480500,
  "data": {
    "scte35_payload":
      "/DAhAAAAAAAAAP/wFAUAAArXf+/+AAAAAH4AARSyAAAAAA=="
  }
}
]]></sourcecode>
      <t>The companion record on the ad creative signaling track, published at
least one Group earlier (<xref target="publication-lead"/>), carries the same index.
It describes a 45.045-second pod with two slots: explicit quartile
tracking and a verification resource on slot 1 (no <tt>offset</tt> on the
quartile events, so timing is driven by event-type semantics per
Section 4.4.5 of <xref target="SVTA2053"/>), and lazily resolved tracking on slot 2
via <tt>$remote</tt> (<xref target="capability-urls"/>):</t>
      <sourcecode type="json"><![CDATA[
{
  "m": 480500,
  "data": {
    "version": 2,
    "type": "pod",
    "payload": [{
      "duration": 45.045,
      "slots": [
        {
          "type": "linear",
          "start": 0.0,
          "duration": 30.03,
          "identifiers": [{
            "scheme":
      "urn:smpte:ul:060E2B34.01040101.01200900.00000000",
            "value": "ABCD1234567H"
          }],
          "tracking": [
            { "type": "impression", "urls": [
              "https://beacons.example.net/c/7f3a92/imp"
            ] },
            { "type": "firstQuartile", "urls": [
              "https://beacons.example.net/c/7f3a92/q1"
            ] },
            { "type": "midpoint", "urls": [
              "https://beacons.example.net/c/7f3a92/q2"
            ] },
            { "type": "thirdQuartile", "urls": [
              "https://beacons.example.net/c/7f3a92/q3"
            ] },
            { "type": "complete", "urls": [
              "https://beacons.example.net/c/7f3a92/done"
            ] }
          ],
          "verifications": [{
            "vendor": "vendor.example-omid",
            "parameters": "key=value",
            "resource":
              "https://cdn.vendor.example/omid-verify.js"
          }]
        },
        {
          "type": "linear",
          "start": 30.03,
          "duration": 15.015,
          "identifiers": [{
            "scheme": "urn:com:example:ads:id",
            "value":
              "972c79e1-2363-403e-9287-a0fa4323c389"
          }],
          "$remote": {
            "tracking":
              "https://beacons.example.net/c/9d41c7/trk"
          }
        }
      ],
      "tracking": [
        { "type": "podStart", "urls": [
          "https://beacons.example.net/c/p8842/start"
        ] },
        { "type": "podEnd", "urls": [
          "https://beacons.example.net/c/p8842/end"
        ] }
      ]
    }],
    "features": { "remoteFields": true }
  }
}
]]></sourcecode>
      <t>The <tt>remoteFields</tt> flag is set because slot 2 uses <tt>$remote</tt>. This
record is also published as the <tt>worked-example</tt> test vector. The
appendix on test vectors (<xref target="schema"/>) shows a record captured from the
running deployment.</t>
    </section>
    <section anchor="capability-urls">
      <name>Tracking Indirection and Capability URLs</name>
      <t>Two patterns satisfy <xref target="invariance"/>. In the first, the record carries
broadcast tracking templates and the client performs macro substitution
locally at activation; SVTA 2053-1 payloads carry over from the DASH and
HLS bindings unchanged and no distributor infrastructure is required, at
the cost of exposing vendor endpoint inventory in shared bytes,
inflating every record by the full tracking list, and leaving per-device
accounting to the macros alone. The second, described in the remainder
of this section, defers resolution to a distributor-operated endpoint.
Both are conformant; a publisher chooses per deployment.</t>
      <t>Section 5.2.2.2.2 of <xref target="SVTA2053"/> already says interpreters <bcp14>SHOULD</bcp14> defer
<tt>$remote</tt> resolution until the containing object is about to become
active. That deferral maps naturally onto broadcast fan-out, with one
addition: on a shared timeline, the URLs in tracking and <tt>$remote</tt>
fields <bcp14>SHOULD</bcp14> be short-lived capability URLs <xref target="CAP-URLS"/> referencing a
distributor-operated tracking endpoint (a "beacon proxy"), rather than
raw measurement-vendor URLs.</t>
      <t>At activation, the client requests the capability URL (or resolves
<tt>$remote</tt> from it), appending a client identifier (<xref target="client-identity"/>).
The endpoint performs macro substitution per Section 6 of <xref target="VAST"/> (as
Section 5.2.3 of <xref target="SVTA2053"/> provides) and requests the corresponding
vendor resources with the calling device's context. Two properties fall
out for free on one-to-many delivery:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Payload size</strong>: shared-timeline records stay small even for heavy
vendor tracking lists, with late binding after the pod record ships.</t>
        </li>
        <li>
          <t><strong>Privacy and cache-safety</strong>: no per-user macro values and no vendor
endpoint inventory appear in bytes that every subscriber and relay
cache can read.</t>
        </li>
      </ul>
      <section anchor="client-identity">
        <name>Client Identity and Per-Device Accounting</name>
        <t>Because every subscriber receives identical records, per-device
measurement requires the device to identify itself at request time, not
in the payload. A client <bcp14>SHOULD</bcp14> append a pseudonymous, session-scoped
client identifier (issued and signed out of band, for example with the
playback session) as a query parameter when requesting capability URLs.
This mechanism applies to the indirection pattern; under client-side
substitution, per-device accounting rests on the macro values alone.
The tracking endpoint can then deduplicate on (resource, event, client
identifier), count unique reach, and forward at most one request per
device per event to vendor resources with that device's context --
preserving per-device measurement semantics without per-device
payloads. Raw device identifiers <bcp14>MUST NOT</bcp14> appear in requested URLs.</t>
      </section>
      <section anchor="load-shaping">
        <name>Load Shaping</name>
        <t>On a shared fixed timeline, every subscriber reaches the same tracking
instant at the same wallclock moment; naive activation-time behavior
synchronizes both the <tt>$remote</tt> resolution fetches and the tracking
requests of the entire audience. This applies with particular force
under client-side substitution, where no distributor endpoint sits in
the path to absorb the burst. Clients <bcp14>SHOULD</bcp14> resolve <tt>$remote</tt>
fields within a randomized window ahead of activation (the publication
lead of <xref target="publication-lead"/> provides the margin), and <bcp14>SHOULD</bcp14> apply
bounded random jitter to tracking requests whose measurement semantics
tolerate it, carrying the original event time as data where the
measurement moment must be preserved. Verification-critical requests
with sub-second fire windows are the exception and are expected to be
provisioned for.</t>
      </section>
    </section>
    <section anchor="insertion-plans">
      <name>Per-Session Insertion Plans</name>
      <t>Everything above is deliberately identical bytes for every subscriber
-- that is what makes it relay-cacheable. Server-guided insertion,
per-session capability URLs, and entitlement-scoped fields are
per-session by definition and cannot ride the shared timeline. The
authors believe the standardization target for that layer is a separate
per-session insertion plan mechanism: a unicast-scoped metadata track
(or equivalent side channel) carrying distributor session metadata --
the session's pod assignment for each shared-timeline placement
opportunity, its capability URLs, and policy fields -- which composes
with the shared events defined here (the shared timeline announces
placement geometry and the broadcast/default pod; the insertion plan
overlays the per-session decision).</t>
      <t>Between those two extremes there is a third scope worth naming,
because the choice is not binary. Records can be published per
<strong>cohort</strong>: one track per distinct ad decision, shared by every device
that resolves to it. Per-device plans are by definition uncacheable --
one subscriber per track -- which forfeits the fan-out that motivates
one-to-many delivery in the first place and reduces to per-session
manifest stitching with extra steps. Cohort scope keeps relay fan-out
within each cohort and bounds the number of distinct tracks by the
number of decisions rather than the number of viewers. Server-guided
insertion can therefore be served at whichever of the three scopes the
deployment's decisioning actually requires.</t>
      <t>The event class defined here is unchanged across all three: shared,
per-cohort, and per-session differ in the scope of the track carrying
the records, not in the records themselves. That is deliberate --
scope is a deployment decision, and this binding should not have to be
redefined to follow it.</t>
      <t>That per-session mechanism is out of scope for this document and
deserves its own. It is named here only as a design constraint: the
event class defined in this document is intended to be overridden or
parameterized by such a layer without being redefined by it.</t>
    </section>
    <section anchor="future-carriage">
      <name>Track Split and Future Carriage</name>
      <t>This section is informative; nothing in it changes the requirements
above.</t>
      <t>Ad signaling is expected to grow by function rather than by record
size. Interactivity, click-through handling, and third-party
verification are each better carried on their own sibling Event
Timeline track, with its own <tt>eventType</tt>, the same <tt>depends</tt> media
track and the same index space, than as further members of the records
defined here. A client then subscribes only to the functions it
implements, which settles much of the feature-negotiation question for
whole functions (item 6 of <xref target="open-issues"/>), and each function's
records keep their own size, cadence and failure behavior. The cost is
the missing placement identifier (item 8 of <xref target="open-issues"/>): once
records describing one placement opportunity are spread across tracks,
a shared index identifies the opportunity but not the slot within it.</t>
      <t>Separately, <xref target="MOQT"/> today defines properties at Track and Object scope
only. A proposal before the MoQ Working Group <xref target="MOQT-SUBGROUP-PROPS"/>
would carry properties in the subgroup header, where they travel with
every stream that carries the subgroup, including FETCH responses,
instead of riding a first Object that a mid-Group joiner, a filter or a
FETCH range can miss. If it is adopted, break-level state -- an
opportunity identifier, the remaining break duration, the Group at
which content resumes -- could be carried in the subgroup headers of the
media track itself. That would complement the records defined here
rather than replace them: subgroup properties describe the break at the
delivery position as it is delivered, while the Event Timeline describes
the creatives ahead of the splice.</t>
      <t>The data model itself is also growing. SVTA is preparing a 3rd edition,
<xref target="SVTA2053-2"/>, for non-linear (concurrent) ad and editorial
presentations such as overlays, squeezebacks and L-shapes. It is
specified as an additive extension of the Version 2 carriage envelope
(a Viewport data type, a PresentationType enumeration and layout
control) and defines carriage for DASH and HLS. This document carries
the Version 2 envelope without interpreting the payload objects
(<xref target="schema"/>), so payloads using those extensions would ride unchanged on
an ad creative signaling track. Carriage over the MSF Event Timeline, as
defined here, is a candidate for a later SVTA2053 edition.</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>This section lists issues to be resolved through working group
discussion; it is to be removed before publication.</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Granularity</strong>: one <tt>pod</tt> envelope per placement opportunity (the
<bcp14>RECOMMENDED</bcp14> default), or <tt>slot</tt>, <tt>trackingEvent</tt> and <tt>verification</tt>
envelopes per creative? Redelivery deduplication is simpler at pod
granularity. The deployment described in <xref target="impl-status"/> publishes
<tt>pod</tt> envelopes only and has not needed anything finer.</t>
        </li>
        <li>
          <t><strong>Update semantics for live</strong>: pods change close to air. Is a later
record at the same index a full supersede (last-writer-wins), or is
a patch rule needed? <xref target="SVTA2053"/> has no cancel/supersede concept;
SCTE-35 inherits cancellation from its payload semantics.
Implementation experience favors the simple rule. When a splice
fails, the deployed publisher publishes a complete new record with
the same <tt>m</tt>, dropping the failed slot and moving the later ones to
where they really air, and its player replaces only the events it has
not yet fired. No patch rule has been needed so far.</t>
        </li>
        <li>
          <t><strong>Deduplication and late joiners</strong>: the DASH/HLS bindings give each
event a manifest-unique id for dedup on re-encounter; MSF records
carry no id. Is (eventType, index, payload) a sufficient dedup key
under relay redelivery and FETCH catch-up -- and which past records
<bcp14>MUST</bcp14> a mid-break joiner fetch? Experience so far: with one <tt>pod</tt>
record per opportunity, <tt>m</tt> alone has served as the record key (a
changed payload at a known <tt>m</tt> is a supersede), and the player fires
each event at most once per (<tt>m</tt>, slot, event type). For late joiners
the deployed publisher keeps each record in every independent Object
until 60 s after its pod ends, and re-sends the retained array as a
new Group about every 3 s when nothing has changed, so a subscriber
that starts at the next Group rather than the latest one holds the
timeline within seconds. Whether that re-send deserves a <bcp14>SHOULD</bcp14> is
open.</t>
        </li>
        <li>
          <t><strong>Switching sets</strong>: when ladder rungs are separate tracks, does one
creative signaling track <tt>depends</tt> on all of them? Splice
conditioning can land at slightly different media times per rung;
container-relative interior offsets survive that, but a single <tt>m</tt>
may not. Sender-side track switching under discussion in the MOQ
Working Group sharpens this: if relays select the delivered rung per
subscriber and switch at Group boundaries, (a) these records must
remain valid for every rung of a switching set, (b) splice
conditioning must keep switching sets coherent at placement
boundaries, and (c) the delivered rendition is known only at the
client, so rendition-level measurement is necessarily
client-observed.  </t>
          <t>
That mechanism now has a concrete shape to test against. The
<tt>SWITCH_FROM</tt> proposal distinguishes an <em>aligned</em> switch, where Group
IDs from the two tracks are compared, from an <em>unaligned</em> switch,
where they are not. The distinction decides this issue directly: a
single <tt>m</tt> on one signaling track can only address a switching set if
switches are aligned, since an unaligned switch leaves no common
Group-ID frame in which one index means the same instant on every
rung. Under unaligned switching the interior offsets survive but <tt>m</tt>
does not, which would push the binding toward either a per-rung
signaling track or an index defined against something other than the
media track's Group IDs. The proposal was not resolved at the
2026-09-08 interim; at the 2026-10-14 interim the working group took
the direction of reducing it to the group-aligned mode, with other
modes left to extensions, and a consensus call is pending as of this
revision. At least one implementation (MOQtail) reports partial
draft-18 support, so experience should be available before this
document has to choose.</t>
        </li>
        <li>
          <t><strong>Common-format scope</strong>: is the Event Timeline binding the whole
story, or is a container-level mapping (the envelope in CMAF <tt>emsg</tt>)
also wanted so one payload survives packager transit across
HLS/DASH/MOQT boundaries?</t>
        </li>
        <li>
          <t><strong>Feature negotiation on one-to-many</strong>: <xref target="SVTA2053"/> interpreters
<bcp14>SHOULD</bcp14> error on unsupported flagged features -- sensible unicast
behavior, but a broadcast publisher cannot negotiate per subscriber.
Should the catalog advertise which features a track uses so clients
subscribe eyes-open? The <tt>features</tt> member this rests on is
confirmed: the Version 2 base carriage envelope defines it as an
object of boolean flags, with <tt>features.remoteFields</tt> as the only
flag so far, and requires that an interpreter encountering a flag it
does not support <bcp14>SHOULD</bcp14> raise an error and ignore the payload. This
revision settles the easy half by forbidding flags that <xref target="SVTA2053"/>
does not define (<xref target="payload"/>); the hard half -- a defined flag that
some subscribers do not support -- remains. That rule is written for
unicast, where the publisher learns of the failure; on one-to-many
the publisher never hears, so the burden has to move to subscribe
time. Note also that if the per-function tracks of a split
(<xref target="future-carriage"/>) are published as separate broadcasts rather
than sibling tracks, a subscriber selects the functions it supports
by subscribing to them, which answers much of this for the split case
but not for flagged features within a single track.</t>
        </li>
        <li>
          <t><strong>Record integrity</strong>: resolved in this revision in favor of
per-record signing (<xref target="signing"/>: a detached JWS over the canonical
record, EdDSA with Ed25519 mandatory to implement; <xref target="integrity"/>
gives the reasoning). Two questions remain. Key distribution: the
key set is provisioned out of band today; a key, or a key set
location, pinned in the catalog or in a track property would let a
client that found the track by name verify it without a separate
channel, and is a possible <xref target="MSF"/> follow-up. And the <tt>sig</tt> member is
a binding-level addition to the record structure of <xref section="8.1" sectionFormat="of" target="MSF"/>; a record signature defined by <xref target="MSF"/> itself would serve every
Event Timeline event class, and the authors intend to raise it
there. A COSE encoding was considered and set aside because the
records are JSON.</t>
        </li>
        <li>
          <t><strong>No stable placement identifier</strong>: <xref target="SVTA2053"/> gives neither the Pod
nor the Slot object an identifier. A Pod carries <tt>start</tt>, <tt>duration</tt>,
<tt>slots</tt> and <tt>tracking</tt>; a Slot carries <tt>type</tt>, <tt>start</tt>, <tt>duration</tt>,
<tt>media</tt>, <tt>identifiers</tt>, <tt>tracking</tt>, <tt>verifications</tt>, <tt>skipOffset</tt> and
<tt>clickThrough</tt>. <tt>MediaReference</tt> does have an <tt>id</tt>, but the
specification states that uniqueness of that value "is desired, but
not required", so it cannot be relied on as a key. The Slot
<tt>identifiers</tt> array identifies the <strong>creative</strong>, not the
<strong>placement</strong>: the same creative may legitimately appear twice in one
pod, and each appearance is measured separately.  </t>
          <t>
While an envelope carries a whole pod, correlation is structural and
the absence costs nothing. It only bites once records are decomposed
-- which <xref target="SVTA2053"/> itself already does in two places, the <tt>$remote</tt>
fields that resolve <tt>slots</tt>, <tt>tracking</tt> and <tt>verifications</tt>
separately, and the HLS Interstitial ASSET-LIST mapping, whose own
note observes that it "separates the Slot objects from the Pod
objects without explicit reference". This document decomposes further
still if the event class is split by function across sibling tracks
(<xref target="future-carriage"/>), because then a tracking or verification record
and the creative record it belongs to arrive on different tracks: a
shared index identifies the placement opportunity, not which slot
within it.  </t>
          <t>
Three ways out. Derive a composite key from what already exists --
creative <tt>identifiers</tt> plus the slot's ordinal position within the
pod, anchored by the shared index -- which needs no change to
<xref target="SVTA2053"/> but is positional and therefore fragile under pod
rewriting. Or request stable <tt>id</tt> fields on Pod and Slot from the
SVTA Advertising Working Group, which is the clean fix and the one
their ASSET-LIST note already argues for. Or define identifiers in
this document, which is the wrong layer: payload normativity belongs
with <xref target="SVTA2053"/> and this binding should not fork the data model.
The first is what an implementation can do today; the second is what
the ecosystem should have.  </t>
          <t>
The deployed player (<xref target="impl-status"/>) takes the first way, with an
occurrence count in place of the raw ordinal: a slot's key is its
<tt>identifiers</tt> plus the number of earlier slots in the same pod that
carry the same identifiers. That keeps a superseding record that
drops a slot from shifting the other slots' firing history. It would
still mis-key two appearances of one creative if a rewrite reordered
them.</t>
        </li>
      </ol>
    </section>
    <section anchor="impl-status">
      <name>Implementation Status</name>
      <t>(This section follows <xref target="RFC7942"/> and is to be removed before
publication as an RFC.)</t>
      <t>The author operates a continuously running server-side ad insertion
deployment over MoQ: fixed-timeline linear channels, publisher to relay
to browser, with ad creatives spliced server-side into one shared
broadcast, so every subscriber receives the same media objects -- the
condition that motivates this document (<xref target="introduction"/>). The relay
is the open-source moq-relay, version 0.17.9 as of this revision; the
publisher and player are not publicly available. Since 2026-10-22 the
deployment publishes the event class this document defines. This
section reports what it does, what was measured, and what is not yet
implemented. Contact: the author.</t>
      <t>Publisher, live on both of the deployment's ad-inserted channels since
2026-10-22:</t>
      <ul spacing="normal">
        <li>
          <t>Each channel's broadcast carries a sibling Event Timeline track named
<tt>ad-creative</tt>, beside the deployment's earlier proprietary control
track, which is still published in parallel.</t>
        </li>
        <li>
          <t>Each placement opportunity is one record,
<tt>{"m": ..., "data": {"version": 2, "type": "pod", "payload": [...]}}</tt>,
where <tt>m</tt> is the media time, in milliseconds on the timeline of the
media track, of the pod's first video frame. Envelopes carry no
<tt>features</tt> member. Slot identifiers use a proprietary identifier
scheme; tracking URLs are capability URLs (<xref target="capability-urls"/>).</t>
        </li>
        <li>
          <t>Objects follow <xref section="8.3" sectionFormat="of" target="MSF"/>: each change starts a new Group
whose single Object is the independent array of every retained
record, with no incremental Objects. The first Group ID is taken from
the wallclock in milliseconds, per the restart rule of
<xref section="6.1" sectionFormat="of" target="MSF"/>, and that first Object is the empty array.</t>
        </li>
        <li>
          <t>A read-only validator subscribes to the track and checks every
Object: a JSON array of records, each with exactly one index field
and a Version 2 envelope whose payload has the <xref target="SVTA2053"/> shape
(member names and types, MediaTime values in seconds, identifiers,
non-empty <tt>urls</tt>, defined event types, no undefined feature flag). It
runs against the deployment's channels.</t>
        </li>
      </ul>
      <t>Added on 2026-10-25:</t>
      <ul spacing="normal">
        <li>
          <t>Measured slots: each Slot's <tt>start</tt> and <tt>duration</tt> are measured from
the creatives actually spliced, rather than taken from the durations
the ad decision declares.</t>
        </li>
        <li>
          <t>Supersede: when a splice fails, the publisher publishes a new record
with the same <tt>m</tt>, which drops the failed slot (item 2 of
<xref target="open-issues"/>).</t>
        </li>
        <li>
          <t>Heartbeat: when nothing has changed for about 3 s, the retained array
is re-sent as a new Group, so a late joiner that starts at the next
Group receives the records within seconds (item 3 of
<xref target="open-issues"/>).</t>
        </li>
        <li>
          <t>Device beacons: when device beacons are enabled, the browser player
fires tracking requests from the records on its synchronization clock
-- the media time it is presenting, the <tt>sync.now()</tt> clock of the
open-source <tt>&lt;moq-watch&gt;</tt> player element -- rather than from the
wallclock less an assumed latency. A late joiner fires <tt>podStart</tt> on
joining, nothing for the slot already in progress, and full chains for
the slots after it. The player falls back to the earlier control-track
model when that clock is unavailable or no record arrives within 5 s.</t>
        </li>
      </ul>
      <t>Measured:</t>
      <ul spacing="normal">
        <li>
          <t>On a test rig (15 pods, one creative the importer refuses), every one
of the 31 slot boundaries the records claimed matched the splice gaps
in the exported media to the millisecond, and the refused creative
produced superseding records. The durations the ad decision declared
would have been 36 to 350 ms early.</t>
        </li>
        <li>
          <t>Replaying the rig's captured records against a simulated playhead,
the player's fires came 0.3 to 5.0 ms after the media time, none early
(142 fires at a 4 s playback delay).</t>
        </li>
        <li>
          <t>In an observe-only browser session against the running deployment on
2026-10-24 (requests logged, not sent), one 4-ad pod produced 33
events in order: <tt>podStart</tt>; then <tt>impression</tt>, <tt>start</tt>, the three
quartiles and <tt>complete</tt> for each ad; then <tt>podEnd</tt>. For its 25
time-based events, device times trailed the publisher's server-side
tracking by 3.58 to 4.07 s, which is the configured 4 s playback
delay, with at most 8 ms of spread within each ad.</t>
        </li>
      </ul>
      <t>Unchanged from the previous revision:</t>
      <ul spacing="normal">
        <li>
          <t>Placement opportunities on the live channel detected from
<strong>inbound</strong> in-band SCTE-35, parsed to a break window and duration.
The deployment consumes SCTE-35; it does not publish a splice
signaling track.</t>
        </li>
        <li>
          <t>Tracking indirection as described in <xref target="capability-urls"/>: a proxy
holds vendor beacon URLs and returns compact per-event capability
URLs, which devices request with their own client identifier, with
per-<tt>{uuid, event, client}</tt> deduplication so a shared broadcast
yields per-device counts. The deployment converged on it for a
concrete reason: a single impression in this inventory carries
roughly 5 to 15 vendor tracking URLs, so firing them from the client
directly means 5 to 15 device requests per impression, multiplied by
every subscriber to a shared broadcast. A capability URL is one device
request that the proxy fans out server-side, which makes the
device-side cost independent of how many vendors a creative carries
(<xref target="amplification"/>).</t>
        </li>
        <li>
          <t>An MSF catalog, published automatically by the MoQ implementation in
use and verified against an interop profile by a tool in the same
codebase.</t>
        </li>
      </ul>
      <t>NOT yet implemented:</t>
      <ul spacing="normal">
        <li>
          <t>Record signatures (<xref target="signing"/>). Records are published without a
<tt>sig</tt> member as of this revision, and the validator does not check
one. The signing and verification code is the published script
(<xref target="VECTORS"/>), not yet the publisher.</t>
        </li>
        <li>
          <t>Catalog listing. The <tt>ad-creative</tt> track is not yet listed in the MSF
catalog, because the MoQ library in use does not yet emit
<tt>eventtimeline</tt> entries; that needs an upstream change. Consumers find
the track by name.</t>
        </li>
        <li>
          <t>The publication lead of <xref target="publication-lead"/>. Records are published
when the break opens, immediately before the pod's first media
Object, not a full Group ahead. Devices still hold the record before
the splice renders because they present several seconds behind
delivery, but the <bcp14>SHOULD</bcp14> is not met.</t>
        </li>
        <li>
          <t>Device requests on the running deployment. The tracking endpoint the
deployment publishes is reachable only from the service network, so
there the device beacons have been observed but not sent, and the
publisher's own server-side requests continue in parallel. A
publicly reachable endpoint that satisfies <xref target="validation"/> is the
remaining step.</t>
        </li>
        <li>
          <t><tt>slot</tt>, <tt>trackingEvent</tt> and <tt>verification</tt> envelopes, <tt>$remote</tt>, and
the Slot members <tt>media</tt>, <tt>verifications</tt>, <tt>skipOffset</tt> and
<tt>clickThrough</tt>.</t>
        </li>
        <li>
          <t>A splice signaling track, and so the correlation rules of
<xref target="correlation"/>.</t>
        </li>
        <li>
          <t>The IANA registration in <xref target="iana"/>, which this document requests.</t>
        </li>
      </ul>
      <t>No independent implementation of this document is known to the author.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="integrity">
        <name>Integrity of Tracking Records</name>
        <t>Tracking URLs move money. A relay path is not end-to-end confidential
or authentic by default: each hop has its own transport security, but a
relay, a cache, or any party able to rewrite Objects between publisher
and subscriber can alter a record, and a tampered creative signaling
record turns a large synchronized audience into a request cannon aimed
at an arbitrary URL -- amplifying the denial-of-service concerns already
noted for splice records (Section 6.3 of <xref target="SCTE35-MOQ"/>) with an
attacker-chosen target. The same party can suppress measurement by
deleting tracking entries, or misattribute it by substituting a record
meant for another placement.</t>
        <t>This is why <xref target="signing"/> requires every record to carry a public key
signature that the subscriber verifies: transport authentication
protects a hop, the signature protects the record. The signature
covers the whole record -- index reference and envelope -- so deletion,
insertion and reordering of tracking entries are detectable, not only
changes to URLs. It is asymmetric so that holding the verification key,
as every subscriber does, confers no ability to forge; a shared secret
would make every subscriber a potential publisher. Deployments <bcp14>MUST</bcp14>
additionally authenticate the publication path for this track: an
unauthenticated publisher cannot forge a record that verifies, but it
can replace or suppress the track, which no signature prevents.
Receivers <bcp14>SHOULD</bcp14> restrict tracking requests to URL authorities the
distributor has designated; capability URLs at a distributor endpoint
make this restriction natural.</t>
        <t>Verification has limits. A hostile client can skip the check, so the
signature is detection and deterrence on the network path, not
prevention at the device; enforcement against forged requests belongs
at the distributor's tracking endpoint. A signature over content proves
origin, not freshness. Replay is bounded by the index reference -- a
record is acted on at the media time it names, and the accessible
window of <xref target="record-structure"/> is short -- and substitution is bounded
by per-channel keys (<xref target="signing"/>); a deployment that needs tighter
binding can place further context in the protected header by agreement
with its clients. In return, verifying clients give the distributor
something a publisher cannot otherwise observe on one-to-many
delivery: evidence of tampering on paths it does not operate.</t>
      </section>
      <section anchor="amplification">
        <name>Amplification and Load</name>
        <t>Even absent an attacker, activation-synchronized behavior across a
broadcast audience is a self-inflicted denial of service; the
mitigations in <xref target="load-shaping"/> are accordingly stated as client
SHOULDs. Capability URLs bound the blast radius of both cases: devices
address the distributor's endpoint, which applies its own policy before
any vendor is contacted.</t>
      </section>
      <section anchor="validation">
        <name>Payload Validation</name>
        <t>Receivers <bcp14>MUST</bcp14> treat record payloads as untrusted input: enforce size
and nesting limits on the JSON envelope, and accept only <tt>https</tt> URLs
in tracking, <tt>$remote</tt>, and verification fields. Verification resources
are executable code; clients <bcp14>MUST</bcp14> apply their platform's script-loading
policy and <bcp14>SHOULD</bcp14> load them only for slots that will actually render.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>By construction, the shared timeline carries no per-user data: records
are identical for every subscriber, per-device identity is appended by
the client at request time (<xref target="client-identity"/>), and identifiers are
pseudonymous and session-scoped. Indirection through capability URLs
additionally keeps vendor endpoint inventories and macro-expanded
values out of relay caches. Distributor tracking endpoints handle real
device context (addresses, user agents) and <bcp14>MUST</bcp14> apply applicable
consent and data-protection policy before forwarding it to vendors.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests registration of the following entry in the "MSF
Event Timeline Types" registry established by <xref section="14.2" sectionFormat="of" target="MSF"/>.
<xref target="SCTE35-MOQ"/> registers entries in that same registry; this document
follows the same pattern.</t>
      <table>
        <name>Addition to the MSF Event Timeline Types registry</name>
        <thead>
          <tr>
            <th align="left">Event Type</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">urn:svta:advertising-wg:ad-creative-signaling</td>
            <td align="left">SVTA 2053-1 ad creative signaling, Version 2 carriage envelope</td>
            <td align="left">This document; <xref target="SVTA2053"/></td>
          </tr>
        </tbody>
      </table>
      <t>Editor's note (to be resolved before publication): the URN is defined and
owned by the SVTA Advertising Working Group; this registration is made in
coordination with that group.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="MSF">
          <front>
            <title>MOQT Streaming Format</title>
            <author fullname="Will Law" initials="W." surname="Law">
              <organization>Akamai</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <date day="2" month="June" year="2026"/>
            <abstract>
              <t>   This document specifies the MOQT Streaming Format, designed to
   operate on Media Over QUIC Transport.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-msf-01"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="RFC7797">
          <front>
            <title>JSON Web Signature (JWS) Unencoded Payload Option</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2016"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents the payload of a JWS as a base64url-encoded value and uses this value in the JWS Signature computation. While this enables arbitrary payloads to be integrity protected, some have described use cases in which the base64url encoding is unnecessary and/or an impediment to adoption, especially when the payload is large and/or detached. This specification defines a means of accommodating these use cases by defining an option to change the JWS Signing Input computation to not base64url- encode the payload. This option is intended to broaden the set of use cases for which the use of JWS is a good fit.</t>
              <t>This specification updates RFC 7519 by stating that JSON Web Tokens (JWTs) MUST NOT use the unencoded payload option defined by this specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7797"/>
          <seriesInfo name="DOI" value="10.17487/RFC7797"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="SVTA2053" target="https://www.svta.org/product/svta2053-1/">
          <front>
            <title>Ad Creative Signaling in DASH and HLS</title>
            <author>
              <organization>Streaming Video Technology Alliance (SVTA), Advertising Working Group</organization>
            </author>
            <date year="2025" month="May" day="19"/>
          </front>
          <seriesInfo name="SVTA" value="2053-1, Revision 1.0"/>
          <annotation>This document uses the Version 2 data carriage scheme and object model (Sections 4 and 5.2).</annotation>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="SCTE35-MOQ">
          <front>
            <title>SCTE35 transmission over MSF Event Timeline</title>
            <author fullname="Will Law" initials="W." surname="Law">
              <organization>Akamai</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   Defines the transmission of SCTE 35 data over MSF Event Timeline
   tracks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wilaw-moq-scte35-event-timeline-00"/>
        </reference>
        <reference anchor="MOQT">
          <front>
            <title>Media over QUIC Transport</title>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta</organization>
            </author>
            <date day="1" month="October" year="2026"/>
            <abstract>
              <t>   This document defines Media over QUIC Transport (MOQT), a publish/
   subscribe protocol that runs over QUIC and WebTransport.  MOQT
   leverages the features of these transports, such as streams,
   datagrams, priorities, and partial reliability.  MOQT operates both
   point-to-point and through intermediate relays, enabling scalable
   low-latency delivery.  Despite its name, MOQT is media agnostic and
   can be used for a wide range of use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-22"/>
        </reference>
        <reference anchor="VECTORS" target="https://github.com/riedlse/draft-riedl-moq-ad-creative-signaling">
          <front>
            <title>draft-riedl-moq-ad-creative-signaling source repository: schema/ and vectors/</title>
            <author initials="S." surname="Riedl" fullname="Steven Riedl">
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="SVTA2053-2" target="https://www.svta.org/project/non-linear-concurrent-ad-and-media-experiences-svta2053-2-ad-creative-signaling-in-dash-and-hls-3rd-edition-with-reference-implementations/">
          <front>
            <title>Non-Linear (Concurrent) Ad and Media Experiences: SVTA2053-2 Ad Creative Signaling in DASH and HLS, 3rd Edition, with Reference Implementations</title>
            <author>
              <organization>Streaming Video Technology Alliance (SVTA)</organization>
            </author>
            <date/>
          </front>
          <annotation>Work in progress; publication planned by January 2027.</annotation>
        </reference>
        <reference anchor="MOQT-SUBGROUP-PROPS" target="https://github.com/moq-wg/moq-transport/pull/2023">
          <front>
            <title>Add Subgroup Properties</title>
            <author initials="M." surname="Hošna" fullname="Michal Hošna" asciiInitials="M." asciiSurname="Hosna" asciiFullname="Michal Hosna">
              <organization/>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="moq-transport" value="Pull Request 2023"/>
        </reference>
        <reference anchor="SCTE35">
          <front>
            <title>Digital Program Insertion Cueing Message</title>
            <author>
              <organization>Society of Cable Telecommunications Engineers</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ANSI/SCTE" value="35 2022"/>
        </reference>
        <reference anchor="VAST" target="https://iabtechlab.com/standards/vast/">
          <front>
            <title>Digital Video Ad Serving Template (VAST), Version 4.2</title>
            <author>
              <organization>IAB Technology Laboratory</organization>
            </author>
            <date year="2019" month="June"/>
          </front>
        </reference>
        <reference anchor="OMSDK" target="https://iabtechlab.com/standards/open-measurement-sdk/">
          <front>
            <title>Open Measurement SDK</title>
            <author>
              <organization>IAB Technology Laboratory</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="CAP-URLS" target="https://www.w3.org/TR/capability-urls/">
          <front>
            <title>Good Practices for Capability URLs</title>
            <author initials="J." surname="Tennison" fullname="Jeni Tennison">
              <organization/>
            </author>
            <date year="2014" month="February"/>
          </front>
          <seriesInfo name="W3C" value="First Public Working Draft"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
      </references>
    </references>
    <?line 1144?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document deliberately reuses the carriage pattern established by
Will Law and Suhas Nandakumar in <xref target="SCTE35-MOQ"/>, and is designed to
compose with it. Will Law also suggested splitting ad signaling by
function across Event Timeline tracks (<xref target="future-carriage"/>). The payload
data model is the work of the SVTA Advertising Working Group
<xref target="SVTA2053"/>.</t>
      <t>Thanks to Will Law, Suhas Nandakumar, Gwendal Simon and Giovanni Marzot
for early review and discussion of this document.</t>
    </section>
    <section numbered="false" anchor="schema">
      <name>JSON Schema and Test Vectors</name>
      <t>A JSON Schema for the record shape and a set of test vectors are published
in the <tt>schema/</tt> and <tt>vectors/</tt> directories of this document's source
repository <xref target="VECTORS"/>.</t>
      <t>The schema encodes the record requirements of <xref target="record-structure"/> and
<xref target="payload"/>: exactly one index reference field, typed as <xref section="8.1" sectionFormat="of" target="MSF"/> requires, and a <tt>data</tt> member holding one Version 2 envelope that
satisfies the envelope rules of Section 5.2.2.1 of <xref target="SVTA2053"/> --
<tt>version</tt> 2, one of the four envelope types, a non-empty <tt>payload</tt>
array, and no <tt>features</tt> flag set that <xref target="SVTA2053"/> does not define. It
does not validate the payload objects themselves; those are governed by
<xref target="SVTA2053"/>, not by this document. It checks the shape of the <tt>sig</tt>
member of <xref target="signing"/> when one is present but does not require it, so
that it continues to validate the unsigned records the deployment
publishes today (<xref target="impl-status"/>); verifying a signature is in any case
not a schema check.</t>
      <t>The vectors come in two sets, and both matter: ten files holding twelve
records that <bcp14>MUST</bcp14> validate, and eleven records that <bcp14>MUST NOT</bcp14>. A validator
that accepts everything passes the first set alone. The valid set covers
each envelope type and each index type, back-to-back placement
opportunities, the worked example of <xref target="example"/>, one Object captured
from the running deployment, and <tt>signed-pod</tt>, a record carrying the
<tt>sig</tt> member of <xref target="signing"/>; the Ed25519 test key that signed it is
published beside it under <tt>vectors/keys/</tt>, with a script under
<tt>scripts/</tt> that signs and verifies records. Each rejecting case is otherwise valid, so
it fails for the reason its name claims; together they pin the
constraints most likely to be implemented loosely:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Vector</th>
            <th align="left">Rejected because</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>two-index-fields</tt></td>
            <td align="left">carries both <tt>m</tt> and <tt>t</tt>; exactly one is allowed</td>
          </tr>
          <tr>
            <td align="left">
              <tt>no-index-field</tt></td>
            <td align="left">carries none</td>
          </tr>
          <tr>
            <td align="left">
              <tt>string-wallclock-index</tt></td>
            <td align="left">
              <tt>t</tt> is a date string; <xref target="MSF"/> requires a Number</td>
          </tr>
          <tr>
            <td align="left">
              <tt>missing-data</tt></td>
            <td align="left">index only, no envelope</td>
          </tr>
          <tr>
            <td align="left">
              <tt>v1-bare-payload</tt></td>
            <td align="left">a bare Version 1 payload object, which the DASH and HLS bindings accept and this one does not (<xref target="payload"/>)</td>
          </tr>
          <tr>
            <td align="left">
              <tt>unwrapped-pod</tt></td>
            <td align="left">a Version 2 Pod object with no envelope around it</td>
          </tr>
          <tr>
            <td align="left">
              <tt>wrong-envelope-version</tt></td>
            <td align="left">
              <tt>"version": 1</tt> in an otherwise Version 2 envelope</td>
          </tr>
          <tr>
            <td align="left">
              <tt>unknown-envelope-type</tt></td>
            <td align="left">a <tt>type</tt> outside <tt>pod</tt>, <tt>slot</tt>, <tt>trackingEvent</tt> and <tt>verification</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>empty-payload</tt></td>
            <td align="left">an empty <tt>payload</tt>; the envelope requires at least one object</td>
          </tr>
          <tr>
            <td align="left">
              <tt>undefined-feature-flag</tt></td>
            <td align="left">sets a <tt>features</tt> flag that <xref target="SVTA2053"/> does not define, so a conforming interpreter discards the record</td>
          </tr>
          <tr>
            <td align="left">
              <tt>malformed-signature</tt></td>
            <td align="left">a <tt>sig</tt> member that is not a detached compact JWS (<xref target="signing"/>)</td>
          </tr>
        </tbody>
      </table>
      <t>The following record is the first of the two in the <tt>captured-object</tt>
vector: one Event Timeline Object, captured read-only from the running
deployment (<xref target="impl-status"/>) on 2026-10-26 and then anonymized. The
creative identifiers, the identifier scheme, and every tracking URL
(scheme, host and path) were replaced with placeholders; everything else
is as published -- the index, the MediaTime values, the slot structure,
and the event types and their order. The slot durations are measured
from the spliced media rather than declared, which is why they are not
round numbers:</t>
      <sourcecode type="json"><![CDATA[
{
  "m": 82005596,
  "data": {
    "version": 2,
    "type": "pod",
    "payload": [{
      "duration": 60.117,
      "slots": [
        {
          "type": "linear",
          "start": 0.0,
          "duration": 30.058,
          "identifiers": [{ "scheme": "urn:com:example:ads:id",
                            "value": "example-30s-a" }],
          "tracking": [
            { "type": "impression", "urls": [
              "https://beacons.example.com/c/d916217e/imp" ] },
            { "type": "start", "urls": [
              "https://beacons.example.com/c/d916217e/start" ] },
            { "type": "firstQuartile", "urls": [
              "https://beacons.example.com/c/d916217e/q1" ] },
            { "type": "midpoint", "urls": [
              "https://beacons.example.com/c/d916217e/q2" ] },
            { "type": "thirdQuartile", "urls": [
              "https://beacons.example.com/c/d916217e/q3" ] },
            { "type": "complete", "urls": [
              "https://beacons.example.com/c/d916217e/done" ] }
          ]
        },
        {
          "type": "linear",
          "start": 30.058,
          "duration": 30.059,
          "identifiers": [{ "scheme": "urn:com:example:ads:id",
                            "value": "example-30s-b" }],
          "tracking": [
            { "type": "impression", "urls": [
              "https://beacons.example.com/c/2ea7e414/imp" ] },
            { "type": "start", "urls": [
              "https://beacons.example.com/c/2ea7e414/start" ] },
            { "type": "firstQuartile", "urls": [
              "https://beacons.example.com/c/2ea7e414/q1" ] },
            { "type": "midpoint", "urls": [
              "https://beacons.example.com/c/2ea7e414/q2" ] },
            { "type": "thirdQuartile", "urls": [
              "https://beacons.example.com/c/2ea7e414/q3" ] },
            { "type": "complete", "urls": [
              "https://beacons.example.com/c/2ea7e414/done" ] }
          ]
        }
      ],
      "tracking": [
        { "type": "podStart", "urls": [
          "https://beacons.example.com/c/bf847920/start" ] },
        { "type": "podEnd", "urls": [
          "https://beacons.example.com/c/bf847920/end" ] }
      ]
    }]
  }
}
]]></sourcecode>
      <t>The <tt>urls</tt> values are capability URLs (<xref target="capability-urls"/>). No event
carries an <tt>offset</tt>, so each event's timing follows from its type
(Section 4.4.5 of <xref target="SVTA2053"/>). The second record of the captured
Object, about 100 s later on the same timeline, is a four-slot pod of
15 s creatives.</t>
      <t>Apart from <tt>captured-object</tt>, the vectors are conformance examples
authored against this specification. Every vector other than the two
signature vectors was checked two ways:
against the schema, with a JSON Schema draft 2020-12 validator; and
against the record and payload checks of the implementation in
<xref target="impl-status"/>, the same checks its read-only validator applies to live
tracks, which beyond the record rules verify the <xref target="SVTA2053"/> shape of
each payload (member names and types, MediaTime values in seconds,
required identifiers, non-empty <tt>urls</tt>, and defined event types). Both
accept every valid vector and reject every invalid one, each for the
reason its name gives. The two signature vectors were checked against
the schema, and <tt>signed-pod</tt> was verified with the published script,
which also rejects it once any byte of the record changes and accepts
it re-serialized with its members reordered.</t>
    </section>
    <section numbered="false" anchor="changes">
      <name>Changes since draft-riedl-moq-ad-creative-signaling-00</name>
      <t>(To be removed before publication.)</t>
      <ul spacing="normal">
        <li>
          <t>SVTA 2053-1 conformance. The appendix example and the test vectors
now use the member names and units of <xref target="SVTA2053"/> (<tt>start</tt>,
<tt>duration</tt>, <tt>offset</tt>, <tt>tracking</tt>, <tt>type</tt>; MediaTime in seconds) in
place of invented ones (<tt>id</tt>, <tt>startTime</tt>, <tt>trackingEvents</tt>, <tt>event</tt>;
milliseconds), and no longer give Pod or Slot an <tt>id</tt>, which
<xref target="SVTA2053"/> does not define (item 8 of <xref target="open-issues"/>).</t>
        </li>
        <li>
          <t><xref target="payload"/>: adds the <tt>verification</tt> envelope type, which
<xref target="SVTA2053"/> defines; states that interior timing is in seconds; forbids
setting <tt>features</tt> flags that <xref target="SVTA2053"/> does not define (the -00
example set two, which a conforming interpreter would discard), while
leaving receiver behavior to <xref target="SVTA2053"/>; and notes two
inconsistencies in <xref target="SVTA2053"/> that affect parsers.</t>
        </li>
        <li>
          <t><xref target="record-structure"/>: index values are typed as <xref target="MSF"/> requires (<tt>t</tt>
and <tt>m</tt> Numbers, <tt>l</tt> a two-Number Array; a -00 vector wrote <tt>t</tt> as a
date string); records map to Objects per <xref section="8.3" sectionFormat="of" target="MSF"/>.
<xref target="track-properties"/> adds the <tt>mimeType</tt> that <xref target="MSF"/> requires.
<xref target="interior-timing"/> says what interior timing is relative to when an
envelope carries Slot or TrackingEvent objects without their Pod.</t>
        </li>
        <li>
          <t>The <xref target="SVTA2053"/> reference now cites the published SVTA 2053-1,
Revision 1.0, by its document title and product page, with the
Version 2 model named in an annotation; section references
corrected.</t>
        </li>
        <li>
          <t>New informative <xref target="future-carriage"/>: splitting ad signaling by
function across Event Timeline tracks, break-level state in MOQT
subgroup properties <xref target="MOQT-SUBGROUP-PROPS"/>, and the additive
non-linear extensions of the 3rd edition <xref target="SVTA2053-2"/>.</t>
        </li>
        <li>
          <t><xref target="impl-status"/> rewritten: the event class is now deployed (publisher
since 2026-10-22, device-side firing since 2026-10-25), with measured
results and an explicit list of what is not yet implemented;
<xref target="introduction"/> says so. <xref target="open-issues"/> records the implementation
experience for items 1, 2, 3, 6 and 8, and the status of item 4 after
the 2026-10-14 interim. Item 8, the missing placement identifier,
stays open.</t>
        </li>
        <li>
          <t><xref target="schema"/>: the vectors are replaced, the schema checks index types
and the envelope rules, and an anonymized record captured from the
deployment replaces the invented example.</t>
        </li>
        <li>
          <t>The MSF index-key spelling change in the MSF editor's copy is noted
in <xref target="conventions"/>.</t>
        </li>
        <li>
          <t>Acknowledgments name the early reviewers.</t>
        </li>
        <li>
          <t>New <xref target="signing"/>: every record carries a <tt>sig</tt> member, a detached JWS
(<xref target="RFC7515"/>, <xref target="RFC7797"/>) over the <xref target="RFC8785"/> canonical record,
with <tt>EdDSA</tt> over Ed25519 (<xref target="RFC8032"/>, <xref target="RFC8037"/>) mandatory to
implement and verification keys as a JWK Set <xref target="RFC7517"/>.
<xref target="integrity"/> says why transport authentication alone is not enough
and what a verifier checks; item 7 of <xref target="open-issues"/> is resolved
accordingly, with key distribution left open; <xref target="impl-status"/> records
that the deployment does not sign yet. The schema admits <tt>sig</tt>, and
the vectors gain a signed record, its test key, a malformed-signature
case, and a signing script.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8W963IbV5Ym+j+fIg99IkxqkOBdF7Cra2hJtlVtSypRtnui
w1FIAEkyLSATzkwQRtGqZ5nzKidi3mvWty77kgBlV1f1TE30WASQO/dl7XX9
1lpZliVd2c2LUbp3OUufN0XelXdFelXeVPm8rG7S+q5o0u62SL+9+jJ9eVdU
Xfq+XBT0XbGX5JNJU9zRs/hy5/N7yayeVvmCXjBr8usua8piNs8W9c9ZPsum
+vustd9nR8fJZ+l7eh8NXLZlXaXVajGhOczpd21aVjKZ/ENxXc6LdP/quy/+
8u7l9weDdH1bTm/TdjVpaUWrDj/u0uu6ofH2snlOH3R79KOiSiercj7D4jAU
PbAoW34TRhyl4wUNHnw8HiZTevqmbjYjev91nfjvus2Snnj18v2XybSu2qJq
V+0o7ZpVkSS0L6dJuWz477Y7OTp6dnSS5LRk2rAfikmaV7P0VdUVTVXQpjZ5
1S7rpttL1nXz4aapV0tsbDEr8/QNDuHP3716vpd8KDb0/WyUpFm64C/5hH5e
lVP+qP6Z/9Ne4z8Fn1en54VP8hn9uqONrW7kz9RtPf5u27zEfydFTutJkraj
Sf4ln9cVLXNTtEm7yJvuLz+vatrOUVrVybIcpf/R1dNB2tLkm+K6pX9tFvjH
j7QHRbUqaK7pg+tJU9nDvR9o1TiTr/BLfL7Iyzl9Tiv672XRXQ/r5gYf5830
lj6+7bplOzo8xK/wEVHH0H52iA8OJ029botDev4Qz92U3e1qQk8yBdIXv4se
8aTQTvBOHWEoQw7L+veN9ft+NbztFvO9JMlX3W3d4JxpCikRHu331TB9h6f5
k+vVfC4366rDQQdf0R7kVflXGrmuRunbvMkX9arq+LtC9rXlZ4Y8mf++nK+6
etjdJUlVNwueEA6NbjURd/aCN5ZnzHSVvvvy+dOT82cj+eeT8+Nz/88n9s8n
z+yfT49OT/w/3adPnvJjV9+/vzw5Oj8d8ew+S78vmvKaZpXShWzvuhwHmp4c
nTzOjo+y06Nh+rapZ6tply7zG9CNPZ8dj3azIPCMF5dXX+v4uHVff3OVvjP+
cjw82hvQo+5ipBEpDtLlajIv21uaEk3jPDs6z46fDdKzY55Be0FsptWxl00x
K6ZFS1chLVu3NKxJX3Wc7tMgp9kRLefZwZB/8nlLD9Y/FbqmdJrP5/7h7Bhs
Sl/QFnQtZyldIhxtur9nI5/QImyUA55SOsu7nPjBrJhjLuvbvGN+N6lnG30F
/nQD6BumedOUmEVR3RXzegkWS2PiJ+fDE5oxeDPmZnwZ++l4dVPOCux3S4dY
tGCWxBaC+bOsIdrLN/J2Eg6rBfEo2oJ6XcngSz3f7959g4m389VNRk9MwO2J
o5fxkzqNg+B0m2I5z+kU+Hc81aauu3TV0gnS3LIjIqLnZVcQhc03wenyT3Vr
2yEP+GnZqIRlJLXHj7h7y//LcBdxQ+npBZ75nnaoTt8X09uqntc3m/RyPi/z
aop9pvcffIISeUg6VZqQJ0T+0G+3vRdj0byFgAYxscvK8uamIKZmPG29Xg/t
uh3qERziAxniUNZWETvZe39LZ+D2n7a1R0lCeY6Q2ultsSh4k+oJU7kQpdFV
m57xl0xexPiwjIAJfZa+ev3lm3ffXr5/9f3LQUpPlnTetAt0dvvC+QbCH46e
ZsfHRKGXnq166Qa6KatZsSzo/6Np19c8NrHgb948p7HfvPa/HaU0/XmJn03z
il7ZYdZ5SspO/iG9buoFcdFJMZsR0bx6cTqg6dMH7c2ADluJnS6STaGhO9vM
2s9B4ZDF9AJSVkh0kPhMr56/f5mdnpOKkE8/gH+0eCtdVbqgQ+hbzYYGuC6a
AiTS4S6VLY/PwsT0Ib7UtEJwB6bfnPZ3j5WdPG2X83IaboW8LJ9O68WS5ASf
H64VPt474NHrhhf1Cx6lS5fTkyDWLMPrmgLvotl/+93Ve/qAptsUpIHQ7Okf
OatWZQeNIJULW9H1c5JlyC94Sy/rSuJD6WrZ0p0Y8Xivrq7evfxyIEwjoDKw
SNzTKYs0G/KGqIDlBE2Vzra8K2erfB7sDmk7dLUgVCFoaKtPz7Nv3/xZhJpI
4zWpD2uWbe20K+h71pkyrzOl9MD7nhjsTFmjr79/+fz9m3dXo4hf/C5JT6tc
NVMQyLJuy471S74s+SFfiDuiurppD3fzlW2FAP97QCEQrnGdk9ay8/arJkME
cfh3qUeB/M5OTIK/ZyaftzgZx4JDCTegpamQ94L9AgTguErZBox5U3QxO35d
V9k3dDp5k+4/r6vpqqH70R1A/mPjRMl8+csSbJHuDTbKzfLTSoLx8kF62szS
l3KZ9Lq+c/fw1WI5LzBPJsf2n8L4f9c59bk0tvSwot2Y825kU7cZOC9aS8Y2
Qlb4vcgcUz95wAQrq2yWt7f8+O28zWgnMhWLGTYicwwpK+ONCKUERBd2lWZ5
Q4yB9KTwBpOErio62skm/VNerXJic0QKT4Z7euEysuu+evfmu7fZ23dv3vZu
1+WMhPVqwjYF1MEl5GXxwDHIjfiWbEPiNV/X/+v/q3J3W/J2WpZfOj3a/ajV
3zhhCxr9rYuDS7K+OYz4w+GSBj+ExveAnN6Lfr5Hi3tLTxCp/bwimwOvPt1z
vCvehRclvZym+xYbnC/IlGyxD7S5z1cFKO5b2nW6bZ+iznpKPG1DwjB9zgrW
+2JO0mqxWFV6UG36sroh2iLZHu/IyQMLunx99eoQ06UZklzDLzGB7y+v3u+e
vtwLupRXRXOHab8viKjoNek+HiKFyBSLs+HJJ9by6vKL8HZ9k09q0hKIqUbz
Pn5GqvfOkyzzCYn523kup8mWb05y+/AubzsQ9ptvr178W7yGN6RN0Dbn7arh
W5DSL/7BKT589x+cINF/RffczSJrZx8w4eeXbzNSonuX56u6npn0JXlNuhad
/TKflPOSKIF+/8A9YnnzJ1LRi6oq27rqiZw/FVUZf+e2/Cw7OnmQm61PmZe9
f3c4dbPIVs1ceck2gf1w+nyUflk2dDveMkNxSvILSCy1Pp+dkThKMtJX8kkL
xaZLklhvnRXXRNeiujpdlS5CPkt3aI80kH2alFAgaZoD0ZjwNSsN7YClR3AS
KueU5y2KLmfVOG+TdllMRQISB2QBqbZehp02nZF1GxVntflM0n0wyIPEi5Yv
WbWiz6++POj56GSKw/QVqbK1Met40Qkt2tTQLVXRuf9aOmVaATFIOuHFyH4p
C09mRTttSC+Hf420Q7a/eAPqJfgasRMw6LSeknSSRYnvytQs9t7NiwRvEqfV
dJ63rR7SLOVR7SU6fT2OVhTQ65LYJn2+wBkkt/Uaf5QNprKZQN2Fglunk8LO
ZwZrkz6cQHMU+0DdnMkUzpKiWeYN7AT+ONQNPLnos36eepiJ2V3ikzRSI0Fd
8IXDAQ6FPBflbEYLT+5HIzBeWvrH5Av4J9UROU73IXvr5nNo90siOvVlHkBH
3/JVpvuYrdjExSzpOTcvvKXec6TS6OZJHSZf12TUpc1qrvwhUsVHZBXAZ0ms
+66e5pPVHMKbTWlazl5pUiiBiHc0vzcgpbikm1hOVh2GdDenmi3rkg78UJ2O
UBh+2ewNkr1pxJb2hulrsicqfXe7aTs6bBrK/AXgQ3oFSZOkhzucst5WumoN
fXlbtx3/Lg3nAKaHZeW4IG2oe6d5UyQ5ndtmUf6VzpcoSH8GHkxztr/gwmWq
v63nM3rVkA700B1o8hkcvTJPbP79Z2XwJ31v928hIrtN7+9F5H/8KNTm7Jxt
N7ysI7EnYODQUzfgX33OQebvvN54FnC9qmRC9v41sSZ4x9lxPgr4wEM3mo5c
rOI1XYV6LZsnvCFxxqgyUL737S1t6Wzr+q9a88fHi0scy7GbiLuTbvM+Wr66
qZ4Oj/Fb2qiPHw+G6Q/EHRJmEcQJaCMiB8KsLsSUxCazBZ0rm1nyWDQOO87A
RdqEaBv+LZKLdD10wXSN31TMFbBysImBMKSbfInxwJdovep8W9BSrtmZnJMl
NP1AZ038sEkQsiDLD7ObQiegWdFluCXxx5cX5i/NgMyhTkwRJ6FMFjHXcwRt
t26YvsGeE9vJujqjlzt31yHiJMKyvTF7f4/NJeIJbXxSrjOdhps+7oHNFCdb
wE+RuCEbyK9CebOKjiktpzAPENMN2fg0IeItNGHztySkaZLYY4dCNYPoITpI
94WN+kXLdogjhb+ylSdkabBRzcy+US2ahpOf/UyGRkfcrrXnIvksx04PJvM6
nx2kixU9OymYYu7ATsE0J7TRA7NslZg9Gee3BekPQqmJikhmb0NVP7A+c1+U
1ZSPL58P00tIRuxmqD3QOMRM73AAoLt8ljjuiodpO3BriIzpIdLUZQszXTXm
ZfRAu41jnBHzp3sJxw8JON73eKNpBrcs7/MqevN12eivlXwS/Nw2Uacsh71u
avrldF6TyIX2xbw0UoJoqrQOYgzEWf4qhx8uWk/h/p71bSLGSUG8qJD9ntc2
Ybp4odpE118tfHoin8MLtUlNRSbW3YJTTzvaKxZmS7pMdMZ0DZO39ezwisY9
fK+7xQzo8Ptw0oEr3XnDz+BCDF9Llor5y+g1+U1Fsoa0U6JDPRhs5SDcVxZW
iX5wsypnTGJ6wup0eFjXoBOlFYIPJuIwxX6znsIrEBY5YNb08t/fZ/+evbh8
//Ld5euvXsqHHHoE46GDwIVMRHLGKkqsM4OZtZ69eaZN8yBZxkRATAScl5fW
k0l2LssVOy5ZpozgIjQFiciuJ9tYGUxEGVwz3zXVWDh2SAPeAb0VxGgHTuNu
U1EOw7Fy0Be9UtxH9FlTzNm3yEeg4swJw4H3dvJWMKeWoXRWHKDw2g6xb34Y
G5SwaxMO3jTgl3Az8zXZsMfU+6nnG5N7mBJtHd1QIZsb5q/wfeTq8AUFsUPp
OlRuIMUC/q/MbCMmAV30G5GAt+oEcw473VRP+hd2a1yQEHKnQTyRmA/vVHgd
RBPrQhWb2M58luQzc1HT4oi9ej9fDvHr4wZ60UqIsOsVNs+rr3T3eBf1VOWe
iiymW98hCm+EWDJd5bN6ySfKbilWHVWfqP/cC/jxRUAErUeLXhVRW4GxBsy1
IS8vYj2ZR+lfAEhV56gO9PZWlBPR8mRhNrZMh4fG3UQorym7rqg4GsCefHfl
GPJQ3NVzkMaK+foPX+kpQx0jnXMuFuZ0vuIjua7n83otDns4729AtZuB2HFi
+7GMkM+T1ZyuiahOpN3PWonYhRYbdoC1zGLGYZQagmZFBgU90qwq6IJJLNQ8
ywv0U0cVLUcSZC/hbczkeD9+TOA2bzqNbJLi6g076NvP6wqz4r1lzQwsRkJ7
pH5P/bcfweSK9EOxAW0QM9hDVAP2Ckc3Xr/hf797SQr0u5cv8O+rry+/+cb9
I9FfXH395rtvXvh/+Sefv/n225evX8jD9GkafZTsfXv5P/ZkiXtv3iISdfnN
nlzFkPcyj2IDlm2gZVN0fGWc7c3qyRfP3/7///P4jDbr/3n35fOT4+NnRBfy
x9PjJ2f0B4JC8ja22eRPouZNki+X8KjjvpEtTQYU/HOwqIh93SJ4BZqgzX30
H9iZH0fpv0ymy+Ozf9UPsODoQ9uz6EPes+1Pth6WTdzx0Y7XuN2MPu/tdDzf
y/8R/W37Hnz4L3/kS58dP/3jvyZ9QeiCnnQSizZl1WFgeIE3rOMOeuxDuDae
AXv/JYjqkVCaE92Nu/EgHc/HcjjjxRgbb8KeDkVvuR9H3k36yyCFAjNITYOR
Nw/SUIeRUbcEYxK/ox+SBZMMmfpQLousgK6MiE5iwmLkOHyW5+k6a2EUcK5E
3oz0FsRVVhwFg2E+Ex/O+D324puxbMW34z5vXcPbI7xLlFDmVTwP9nyTkdwW
XQdr3pbeC1WQLbOhYdpbXCrSiAvSOSckBm0F0FOhEtCKLwOBNUqSF16wj5KR
QBbIrNiYLFaVyLZAWWixKNXoFtOX7eQgjMacvE33u80SUdG5KBEyMI0LDY91
5YBdHtDc3u6wyzeY1qUaqGaq9A1u/x6ZhTqvxA8woJfQnES9DyBjzM6ZO8Me
ptdf7Qwt8/u3VDmRVawg4ZfmcjAdDOpsLC5p/NgzLesCLkRUwQ9VvaaJEzkz
Qi29IUtWN9me6mrbPRJGFb27XgNDNpUrwZAQtnVZ9SAu13QZ9COYeMuc7Kg4
+I6oUKDXZXLioaXl3Fn39+Z+54V8JpcziFaRFOKnsqX7iETRpXh4enu10ydN
pPhIIvBkis9xD82ngEfu8vmK/dnjPRbPdvJ7cqdyYjD0yfvNshjTovh3xP8t
Pnf4U1tXe2Pm/aFn5cR5VrwOTJ+I/Z/uPPGL7WlW6ZjnxG93M6Xnx3urphoh
QDkKqC5b34x2g/PG6sM1TBDpqjSKAk6+e/dqB2vb5mlKBiviiGw/sOKCaJdy
AjapVIUd6K1kPTjVBxh4oU465yJCDMd+Rze/mF/DR6WfkLG4Y1vSsaj9LR1R
JzRWwKtpHEWvMJOGafgtX1NcBjtgVeTkUjGjhg+skLVsIz8MHoJ9i2/xAMqk
ylyw5jAM4Cay3x6ARsDijIkRtX9RTHO4kMNjLqGRlnwTYZ/k9hJQ40R/3+PR
yaxmR8mi/MXt5fU8v4NjFvZGyabNbj6z3xaFnXlyNjzVUw+1cXFt65rg7U75
BoibV9kTGfVk8OyGE4WO2fRRW07wxaPd3lkwqBtReMkI243IGahXiOT6vMjv
1PykRZZwH10+hONRb5LexxnwT7siWC56kniPppFrvtO/u7lg29xcpEKcWK1G
V5JJvYJ/pRQmwGIueDpdg7GadKFpheo9KWBqK+/e3j4+ykkJQUgNUuwQfsje
50QgWriL4NIwZ0maeHsNqn5TSISirLIJW1Rs77uYXLuCqGsTw3ONAegak0rw
i6G6FLvljn2yieJQNkWoZgu672SC8cXjm/3A0T0q20d+SSy35vQTVnEk/MJ6
nzkkECv4SCsXX3K3ZmvAeysuNPommKt8wqMm6ung0VpcMHi9+UBB7RuWTe/E
eaG+9PvPZCmZuJUQvvgMHnfx8PivndOHfvEy8IGwF/1PV29eG97v/l4Rw3zp
zODc4eznk1BnltzXHT59UJK+ifkndJK8rFgcmpOPLeVdajYogBTtdH9Nug97
KQ9Y6ZagKrGwb2qRgAcDia/RN151OmC/NTASnTrgyCjFazL5kA8I+gXoi7je
rC8//Sqcz6vsRjwjp/TTFmPzaJjXHMbjy7UghbcU9C8piXnqpq/LpD2PfiI6
tYih7yrin2QsT2+Fw+QcmofPjo7hQM2N+VgdJZdNk4vTiehLZzAAb7fYC1s5
6asX/JzYOvQXyzOIMDrCse61CCaR72UbHc62r45e4SDHfcPHic0LNn7kTXSZ
xnR/GYSMqJvR1AOONx/KFuLBmvh08At61h8JXYl3gWPQi3Z++o1GMNR9pBI1
PuZTd8ze7TiSiBsDF3TXoDnh3siOqhITglRzPYukUCAoUz2J79ViJQ5K1uWm
gJyXwO+0dXqdN7ghgXORGfNPpJW2Cfsd5XXKvIkbrMS5v1sGSCyIPfAW1Em8
hjFA9PWOHdexzfOhKJZtsNvhJBF74Fh9Er4HliCWze4bxEtB1h5yd2UXjIOn
8ZXz56VCjtm0wwcI88UBMn62bwuZjkMKCJvVW3eeX8fOfeDYPCVMa3pnWfFd
IsW7sLiPV+NCjY0Nvtu8ETJFPBAfE4W6efy1aGqNFsGqTHp8Sm86JCexfdZZ
1ypedp9cCd+Qu0WeY4jfQOPkfqF8/++QTkOHJPY6cYWEGaNniztmAT3K5DNT
FQth52lOGN3K2QFBeClEgNCJ//CfgCoPQpiMSsRE7WjeYYdKcVqe2GY7TWIj
A9ZKElklsy531XkEsvKI6qfgbJWpADI0rscMtKrwZdw1zgpbLdTD70S1ODmg
49QrAHMqtnWgzRTduigq3WSIkDbZ7ykAmoOh+p6hZXVN9QTOVcbyEbGu5ggK
Jbx5DX8IM8ZgX9M6EyXItpGEG+RDrd5y5goIGSNoOgXOIwnw2O76kc5yUze0
lkVPx/uUqd8PDbW0uJajM6S90LaybuKuSuTl/1zNmsTPQLSbffAlF54bnhyw
vxQ+HSEKYSxvLfTnRdBz84q9NAF0/5mJHHF4RWJNBIK4439n/CkJk2jo/x33
jdADElu0PR17mP72t78l9+mempd7o/RkkO6BGIAPHQ6H8CPr/OiT/0jpo/RH
yLO964JlXUsf3/PHH9OPPByvwsnXko/vOgvYJZ29mbPgDGZu4a0sBcVJmUjc
nviGj+Kk6wae48ZkcemEN234d9W8/FBsQ6gsmqmRhnSCd7g0Kfd6hQskbB/P
6c3z4iafDwL7No4wiULIdoU/DRcETODxVkzEdV5luHwO/cBztJ8SjY1tL8ew
OW80SAihBbd5AFb0zMobHI6PWhQs2Pxxx04XoSXLzMqhFUNvNhtZGB+Cx7ya
8bKewSWKCPh4QKIhDFabyzgMtI9tD1uxKCUIRFOyJA5iAasmYRaT/gZxBopR
REYWJ+udFqSCMlgmCAFc4ceQS20/bk6fyuTIRnxVBdxmIH4ls7uMvLyHxaeo
jduOHsMGzVYSD8W/6+vrtuBP2w/l8o38dSD2CUOjYHgAA6CpbIy3UBU74CM7
butA/RJe4x4mbyp12gpxGpsKLBBOQYqeGjjXh/rJE28W0EVjs98rVRZlgW8b
pDFGovGYeXSPWoVthlNOAjsebxiSWYD44G8c/UByayzg1EjUdVEUHTaRXxVP
hr8P3QbtilUSEv5ly2SQFE1TS94g3ZzagCNKRAPBBXH0UnQXfglwjq36GWnn
zB0ezAx6P92VWXAEIij5vvIgNmJXz3JWj8YkP+uu+JJ529jwLBFx+lA/W9u6
yrU51CwkzgGh8f8r443h6uvBmeHyYwet8lXWT2yPoHr6h6Eq1Avaw+BQzYOx
BcnQVMeqjhQCOkW+aWt4yExxb1o1nfmPRJxdv3353fUc7Tzx5METF1QSvBHu
mOF4snNmxG8wZIIhGf4+Hmj+mfgwwn0QJgC/9AcPW+DVis7sLotEl9mrp7Cr
wvsZH8BEMFPx163ioNK8yJuqNcyGWjMINyu90bD7jCd4LIyN0fhl25LiCF2N
zmsN2CoUQTJMiQ+U5tYJ9niRdyBhRCvypuWTetW1LqDHXD5xtCO5sO/5P8fH
BylwgUR9wgNFFDg26HxCrbLnpI9jGp4Nzw+cO8IzTePu75gsU7kk8vLEXv74
gDQ3RAEd7Q9DIUQHBi88QHkMSWDnnJcfAHFAvxj3npEpR0LTXuhnmsTiTiMB
HqpUi0QVpThIO+3LY+G4paTKRxtugqfs70o0M15BuTWdJHnFenkQgTYa8hSG
oCCrkSze/ZhQkHfadGqWiRaQ/g4twMnINjLZ9hclmLC5TBA4g8QtOYop8dEA
+J6oekVib7KCAJmtXKRIYSZIfNdLVKqfUZGXtLIkGH+g4SfARxdkGTrzI53X
FlQ3xyLplqRXfZC01yJh9B/Mg4Kd6fiYvfw77hwclt4B8qq6o3czNArOA/sj
8BvUVWBXipydFIEPJbOnOs5TFd1NHFuII9/Bj2K2m3+KbvHbAD2r1mQBmSVS
Kb/uFJGMnRskRckGMtk/AWSQ3jBtal/YhBP/7fY+FnaNTCkYEfkNwFhdMmmI
UUxzIHU1m6plnjrZGCg2E5O/ErODPee3Tb26uQ1U2wTA+N2yDJJE5mUv0PRj
9t5CLtGwJPDnm8SYrkAW/I8FuowMYBijour5vbuIF0wXjC5OTfN2dOagb6qW
7rQvtqRZ3sIexy3cgWseAJ3nIk3C8JwVqz/O2mm9DEO+eqzIFFgX8zl7zc1J
BP+nTQV3F/cfExB0uZOYcF9yHHqURJk/ii/eGeDKmwiZbJsJHbRO+rspl65R
FGHGYGwxT6Bt9ZfGK0/WQOuJ/TwHwh+n3bb2W1HoiXeSaGZwN2dZ4+JpMOHK
OV7vPzMXa5K8DB2ZgbX2gD83D/y34mxJwiySwKXbulQd80w+BLRMFGiZe0Wd
OOFNKYYvNMobZoTmnuHqPcYpPQoTfhn3Y+eV8dOVKMgPVxL9QJEUYBFFa8TH
z+GUIXF8RbMBElq4Kce9wB07xssPiL2SylBDyzC6lPGePHvy8eNINJam7iQi
AfQ5L1IcFOO9yeOzPc0pVMVgjzYCeab/wd/96CVaIgcgTO021wQRmKLjLy6v
Xj4+I2aw33/VAfwRe4n/gVv/wVivJdb61gLhMirHhp4jrQYUa0u/krC9BIue
PD2H8zzam+h8TajzhpWs/gT0A13kDhorFtY3w0yEq1PHJOQAxGFTKtR4cB8x
xtoBP4We6TgBZRavwns/NREkVbsATlOcr0SIuJO9FcU+c0lkshymXGmtRumr
SQMJA1HTFJmNwZE+pJDJmunN0IxJrSZuD3/0wEq0SESts7hqWbGfW5xmzB/d
jmM4o3uIvHk584gmd7aiakekvizMBxx5efGxBju8oRvESZIATsKMU9E7FoMK
Qx0OrN2psOA4BhlVCVi5vtxPql01dz49EDs6h9EagrVJxN/5akOJWkxKt1u3
Kgw2puN8fqM36kM5I+3zrR0jM8ZEx6W/+DEzicZ79By8eC9nL64u98ZCvi9n
J+fnx88EUCencXR6QvRv/36CyJcEtfN2s1gUxAGnfLOc77XdFRiImKXp86Ja
0DRvmkL9/G4Up/rA+HJv8kc9ohUgRUBRRBwTvHwezmJ//PXVyfljaKdfX50+
PZN/nB+fjA8S57+waU58+R3ZN/f+pvhJNp9+4vZy4HSJLfkGgSG0E2Wb0I7a
bQLAl2EqOhw7gXjuCJrVzY14dIdWgMqODvPtkGXJp4PiL8n4pw8rrOun9Qf8
55fz1ZiDxb+cT8dGLXC4L+CXaC+82cikqNyZcQK4Oo4EVXkTroCwmqCReOYw
uQGvZBYo0IpErGP2EYXnHCKn263taAXq9qcf/o0M/y4x4fQErh6+G3ib03mY
TYLAeSxHBi379Ibp1/UaMQ4plVNPOs4E6BRNjSkjMLGSRCaoFtvZpLi+QcjA
oxLdBrAHga8J74ul86oaMkgdsoaZms7FJ30Kg1N12rLlACL4N0Ov0j3PhdLM
9reVV8WaV6IZSHAVeA6PzbAMEYWoE3PuSmdUQafD04GmH4Vx4wFY5M6L646X
EURLFcZJ2sYW7ELU8PDsg1Bmzl+UFbFeOUHwYnhyqmIeKkd2u9jtJNcOn4L1
k/Kuk7Qpu+KKMymDZFAbHZdp0Q0oDPO2gB/bqo9FUrpsfcUjuqPQnlPRngfi
VRIuK+JFhKkmV8qK1LHMu2wxWal+AuIzoLS+2UsGxwCc+uikvClZAcaEecZ1
Xs5bJgBRQogF8cJax7CQbdVpDot4rQxetlw1SzZt2T20ZUqxQWnGxMD7EAfx
1a0b3LPph8zMNMt0BO3IRpRt6nL/hpr7G6S/J6sqv75mrnoRKlJQVGd012ok
BYXHR/JEcixEFaQtQP6SxtC31PDciCAtuFqbwL/19kvWpLhXOXEp6Y9RAEVQ
aRA9X6BcjSQvQdduI/+iom5VTkdqyC6LPWVF3Rn9sJIRiq8tdSnp2URaLAEu
NbhmHp9lk00XvkfkCYOFvZaQGN93ipAlWRROvkcHGmpM4pKdDYk+tJwU8r5F
1WjVCPK30DFDlAFwcs1+VErmUe7SWe07S2xX4ld1SkhB09gB+76/1z9oCvXC
a9YgZ1R7hReK8cziHMOYz314Gqhm/kJRY2LACpjjikESDr6Bv4B43gVW7IVQ
vIkdJb/onUf4PemDMQZ+mzg8vwNlMUjVynGAjSQEbGj2qse/uLEE7ZFLXplC
E8RF0MsUtCgejkDu6C4MrZjN4Sby1BVb70tUIW3J4wCE+s0Y8giMIKb7EDAk
Qjq4GQVbbRsTB+4VzxWmNeMuVm2yBf3cd6OOF2MHoJQP5mOHJnFxFMuVhlto
wVvTFSzclrV7LbzbxDKIhTWih8mYwWyS0KFgIArF0OK3KkqDx3xgE8iAoD7V
N8jjvv8sKFmVzQsHB/A2m26lfvDQjiPbxarH9ImcEdQdXCyt+IJR11UxWmE6
uVKMVIJU3uAsszDTPH2uCr5mdltIc1LQPswCb6MEYORX4g50Pq2ttO3rsil8
jQeksa4mmYw88jg4ng876jl33vJ9WZ9vS6m7KEehqegujia4OHjdoDZDMjBA
2RdK5PkJcHxe1x9ocxpAjRISIMthVD4lfY1wBX76w1ccpFmxpjgKCgByjihL
k0RKBBbercghIzytm2r3SnyzF94rp0fPbjIyTCoiJU0hCvIhAQKOK4FwaiIO
jzb9HV9m4nyci13SS5WrcoEQ/iRz7PQHT8jeZeFDFFM3aqOjDljG+JSu4dnw
hGUDh3z6nlFE95BG9rmPJLFCoTPsajYBONsMelXeyzb73AdJdj3nZgf4hcTJ
k0/FyUmHquekZw6xWy20GuRCD4I4wwB0sESNGzjKVnPzmyBXlWEpjuOTQn/d
tRrO0yip86Y1BdJpC0a2aDkDjsW1akOzctBK+QodP+P8VUM7OPBaENgyBxz2
E8wvDisZTMI5GFGoCHUIAOyV2A6bk3F0x41+MNiFMuBaB/gjMb2TU4s1Z4u3
fscJi6bQP8nEnaS5jO0ot1/MWFOus8ApWLxiJzIlUxzmHKwbe+mRE7zsg8cT
UkYqKrZkkJ5Z7cFTj4fHkoIUgTFYHUEKN1zlqsjcf2ZaDOdU9QSZle/YjTbc
J61XXHFi5SQ+Qm7R8QC6BnWyIlY0DZJpUsZIGLowOXt6dH50lC5awXalSK5K
7oHXWuyNUvmW4VtcKWmU3nOpsz0pSPoXh/SykoGHLy5vL+1/bw/XX15+R/9o
/v36vx3+N/7s67PLy3dXG/nBH/6Aem4fkwAHpmDKuurtx+7SZ4q1DNL0u8RL
KxFURd7MYTMgxakvMoGWsQsRKxtDxEh9Va88PTsfHp2dq1wR2c9K3Lrm0h9c
pEkr0loplySSWXkstZyNhOouoLPjdJ9kiSNvWXdiY7kybm0dMNZZU94J1lNL
wyLg2xaIcpVTATNGsfQdYCH2PuZ/LZEDL7HwIH5kcztJ7sr8tzAkfx8FhQhC
+cRQhLS3e/pRgCS8NxIz+AAG5zMZ2Dd8Dvitq/937/4VjC/1SPcG4Xd8/enL
o+FR9HnwslP67jT6MijfFc7QhuSYgb8anD64WHbFaDUfHT0+ennyxenZ8Oj4
6Iz+75j+wV0Y6CX6v2iC2DBov5j/5RfPXxyfnJ6dP37y9V7wm48/RrOzQ4w2
hDfFb0W5YNw4FjjADOft1q9T31tAiqC1w6Cw2OH08Mn1af7s5JCG2ose/DH9
OHjovaxS/VlJ+x9+9c/Hv//Ni1KSYP/xl578/peSctTM/nnLPf39b5bCit0/
/tIZPOv91wZ/x7QXgWZ23A1iVrO6wQTlX/bOjKz6WZ/wvbsaD3woNn+Qq9D7
mTFUd+O2FjidVcP4fYd4XyZB1+FPbXyb3B/B9v7dDGWbawQs5Zj41/H5f4Kn
CDehwx3pQkb5rB1tb53yjP6GPHtyMn3yrDjOTk4fn2ZnR6dF9uzk6ZMsP7rO
z05PTqenT599grOoGHC83G+IYzl/H409m50dT58cds2H6K1J/19uGruZ230k
Q674BHbT/W/MZ/n06dnJoRyheyq6ZvGrXlazf+RFRJLRa2y1Sbj3MX5+L0SH
7klbH34wUqZiDKmgGRlf70OeIt7TGCMqgLUkcMIiEBUVQ2Lf1JoV20zXNBan
n5SnlDgswPekKv/C2oz/koE7Uk4eSioquLQ+EmXlMZ0jJdHiPEEChy9bgM9f
BVAhdvrFRYPhneppKwJ9XLI5RfanpHhs0tgby5hv5wEITRsXKAvATM7JYKgm
F4bUwI8We2h3gKaSeS2hJYQ9aB13zCEuohQOh5kXJxI7tp2ryQBGSQQwcvBY
y6gKvdpldd3kLmBjHnqkaQ/SXEI98DRzJuAvyJMCnoi5p68kUXKporrhGIf6
HuCRbgdolTGX+HwUWdK0JHYkuS0DSFQ1UU2d3l0S0HLkGO4jhTUU2sJa+SCN
6g3JccGPPiM9mO03Jn4tsAF8UNOK0rty+dm7a2jYgofJF3CicOqlw5NdRLjJ
6W3NEZUlo+cCeo2xzCfbxqKvDSjp7w4+3po/h6ccoLGDubvExTTwvykOhX0W
bM0DJ05SA5vK7S4E9sXDAtG4yJcInzK8kZNh8YCjcE1LUb8X7b0rlzaKIGFB
IZfbQi4gTiO0hdwSEkWy6QIBbPSFTtJp/x4HhUucT4bHTH5n6ZP9PN2LavmS
BRSAQpImX4cVHzMleLwdAcTwdg7Cu63BLateHU473WcPuMCMg8Pju1t2MMGE
Swa1RsMg8f6OEPHBULNddFmfYC2hoy2GZNJmtBFVnm5RpGbQtgfqXgoXCX9/
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
h8kFb4G3hu7bSDWaUT5rR+Useuv2//b46PG4PpadHrVZvpd+/DF6sdFotFhe
sF+mR4MijxJg361f00jsvh4dHirKaajvHdLUD6eHs2fHj0+OnxSHNNhe+mP6
cfDQ22QD//EXyTiffBUzoz8r1v2f8Mqfjz/9vkUpvtV/xqtOPv0qbl/1z1za
6affZykC/4RXzYjj88uC5390/w6m8HffyR0Xr38tn/3fuJaT/2vX8qTInxRn
x2f/5dfSvej/3LV0r/yvv5b+Vf9nrqV/33/5tXSv+o1rqf9yZLybhO8j4Xz1
CZr6jWlNrp+ePXl2crSTnuK3vKxm/+A7ChohWLms+iP+8zH5CGVFdF5Ja3ad
5H934j3aebAWlrgqDVU6lsLYYynv4Xo7AK9SLiR9UgJDrqUKlpw4TODZ8Gx4
3ncrqrNcy+yoZq7KuHONmHYt2bvHR2jgYJ1NfBjK92ZnCxhOyYw1RaSk1dfJ
8Tk95tKjkY0NlKHMdkvZHyjqzHug1ZrhUm96Kq02Zw7SKNh+jarlDVNuZq1j
9Sp5w+AIgEj2Pi6JCL8bwhnrmmtkjZIwX0+cc84DE3rXuX41rIij7PjEu8su
2C8d5fxpCmnlW32on1MPYDuBpGevBO0h9cmSo5vbNQYMJ9HVnIOWWO1W0cAn
xaauIqC+uKW12iY+364CgDNlMrTJ/6dqAiRWjzA2pbZLA/h+YlF5ACLgL+hM
E/VhiJ0lHkY9cQFLsr1tzUnk+xq0Kn0kxaeV9H1aXKdSMwPWIWbPEQpsNaMU
PdskpI++45BJyyX/uDT8fubLQLv6cbhMJs8Ao1pAohvuuh638nRNUz2MpE1K
bT2CFnOMGHJ4KsPYu7JMHGN6rmNIjwCpxI7WgfMMieI7o8EZsYP7z/TlD4Sf
9t//VkuxA2QthVHl4LrLAQggo/zFOXXNXA1jVVxUYp1a4s4WQcJJ3G6FVvYt
5RVpBL4AaMBxo3qf7Em6CKjak/OBZHm5UmGCxWAoH3KwpK6nvA1PbnmeOLeB
qXuMJiphbZIDF7UBcpFWxVg39rY1kjbhCocy7STpJ31En2pkimyHKICWz9Rd
9EA2h/rnd79XiildRFVLXbMHFV1lyBMutFI4ThPFxPGDng9sR+3w7QViwkSd
yFBUkuH41rp24LGHXGQCSlZH2YE2mqRx0CBDPVgMDPMAPOKr4WQu9Kx4weua
0+65xm6L+ggK9YhmL8GU62uwKc71bVo5hu0A50g9xIFaEYQve67m/XGHQp/M
hxZj9Tsj+2Y+RtbDus7UFX2JyCBwnbjQyjrXQOSwU1t7LwVu7YMLFyNa5GhH
4bIwkC+6u1DQkImDKT7zfUARsnUEtqBrwa2P7YTj9cgIRj6ZkA8kEqpYrh8g
LdeAiCYpVVNwSbdKwUqB0sblyYiPsV+ZVLxhdO8sJyg6Rh9YBh+allb81DP4
gMmB37yzEuPHw6OBdNgOQByMghENQWqtEW3cWPMOScfyvnABOUgvcfGYM8SV
7+pF6suY6QxbTiVtmkIgkY/S18U6bMqd7sBWjD6B2Ei3yqruxGzs6oVLs0UL
iyTd2Sb2gWbCAQBaW50madhvNejuabUzfLfW4NTQrFWuWtzUUZKLaIxR4BV1
tWRxvK7O5L5POEpVdvoybIMoMVkzsns/Oj/QM3V+VOTZtat5p/K88hVxkbaK
FfVKzIVBtAu7JUGBPrkibT3ss/somh2rnMw6fcdFLudQLNr0eAAEwukgFRf5
U38Usnss+iBezqSihib3bfe1QXAfUkgU2U813sZdocFRq5Z7peG8rMXraMtY
MPf5IFDWnYrsIspt4uvzxoCMge26d/z7eK+GGIKCOEFIwbVuFBe8in8zI5Vl
AMUmUUYuor8s5nyJtICaT0jW/sCod1IvN3rYTBxScKGuNAWiFRLuI8dYieXV
BWAjlSy47VHPgiiXylcHDIM/g15jA0nQRhXO8+Nz3Ej548mzJxxLsa4H/OnT
J0/pJ74DQlC7T7qecBuEsTxlYXIZ/enR6Ykbnf7g0cMWCdgQ15x6CxHN6Qtc
TupPP/xbelV0qc35iYmkoKuCiZLNgxlh2snRJUICqKuUJHVtTcFvlOQu5DI8
2aFriXgSZCLG8OB6ZQgfek0bpEcTxrjYwbGsmaVLdQs72Lo+L3Tm4Bhq+iui
bMbIdD7tMCHXbhVsG8WsuLswEC+DQhkG3A10K4TISfWtwdtdIQCxc4bJ/wYm
N7TcyQIBAA==

-->

</rfc>
