# Configuració: exercicis

> Els estils d'exercici (exerciseStyles) i els paràmetres d'exercicis del llibre (exercises): el número, la lletra de l'enunciat, les etiquetes i les caselles de les opcions, els buits, les respostes de vertader o fals, les parelles per relacionar, els bancs de paraules, els espais per escriure, les graelles, la divisió, les marques de dificultat, les icones, el color de les respostes, on s'imprimeixen les solucions, l'edició del professorat i les edicions en pantalla

- Versió HTML: https://postext.dev/ca/docs/configuration-exercises
- Última actualització: 2026-10-24
- Temps de lectura: 12 min
- Altres idiomes: [en](https://postext.dev/en/docs/configuration-exercises.md), [es](https://postext.dev/es/docs/configuration-exercises.md), [de](https://postext.dev/de/docs/configuration-exercises.md), [fr](https://postext.dev/fr/docs/configuration-exercises.md), [it](https://postext.dev/it/docs/configuration-exercises.md), [pt](https://postext.dev/pt/docs/configuration-exercises.md), [zh](https://postext.dev/zh/docs/configuration-exercises.md), [ja](https://postext.dev/ja/docs/configuration-exercises.md), [ar](https://postext.dev/ar/docs/configuration-exercises.md)

## En poques paraules

Aquesta pàgina recull tots els paràmetres de l'aspecte dels exercicis. Un estil d'exercici decideix com s'imprimeix el número, com s'etiqueten les opcions, quin aspecte té un buit per omplir, quina pauta tenen les línies per escriure i com es dibuixen les graelles i les operacions. Els paràmetres del llibre decideixen on s'imprimeixen les solucions i si el llibre és l'edició de l'alumne o la del professorat. També decideixen com responen els lectors els exercicis en pantalla. La pàgina Exercicis explica com s'escriuen els exercicis.

## Estils d'exercici

La propietat `exerciseStyles` declara els estils amb nom que un exercici tria amb `:::exercise{style="…"}`. Un estil és la forma d'una família d'exercicis; les preguntes i les respostes es queden al Markdown (vegeu [Exercicis](https://postext.dev/ca/docs/exercises.md)). Per defecte s'inclou un estil, `exercise`, de manera que el bloc funciona sense cap configuració; si declares `exerciseStyles`, el substitueixes, i el primer estil declarat és el que pren un exercici sense `style`. Tots els camps són opcionals, i els valors per defecte segueixen la llengua del document allà on les escoles fan les coses de manera diferent: les etiquetes de les opcions, les lletres de vertader o fals, la manera de disposar la divisió i les paraules que s'imprimeixen.

```ts
const config: PostextConfig = {
  exerciseStyles: [
    {
      id: 'activity',
      box: 'activity-frame',
      number: { shape: 'disc', background: { hex: '#2a5ea8', model: 'hex' } },
      instruction: { fontFamily: 'Source Sans 3' },
      options: { marker: 'circle' },
      blank: { look: 'dots', width: 'answer' },
      area: { kind: 'grid', lines: 4 },
      level: { glyph: '★', empty: '☆' },
      icons: { pair: { glyph: '👥' } },
    },
    { id: 'quiz', extends: 'activity', options: { layout: 'row', columns: 4 } },
  ],
};
```

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `id` | `string` | — | Identificador que tria `:::exercise{style="…"}`. Un id desconegut fa servir el primer estil i genera un avís (`exerciseUnknownStyle`). |
| `name` | `string` | `id` | Nom llegible (només per a la interfície de l'editor). |
| `extends` | `string` | — | L'id de l'estil en què es basa aquest. Cada grup (`number`, `options`, `blank`…) es fusiona camp per camp, i `icons`, per id. |
| `box` | `string` | — | Un id de [`calloutStyles`](https://postext.dev/ca/docs/configuration-callouts.md#estils-de-requadre) per al marc de l'exercici: fons, vora, franja, marges interiors, col·locació i partició. Si no s'indica, l'exercici es compon dins del text corregut, sense marc, i es manté sencer en una sola pàgina. |
| `number` | `object` | — | Com s'imprimeix el número. Vegeu [Número](https://postext.dev/ca/docs/configuration-exercises.md#número). |
| `instruction` | `object` | — | La lletra de l'enunciat. Vegeu [Enunciat](https://postext.dev/ca/docs/configuration-exercises.md#enunciat). |
| `options` | `object` | — | Les opcions d'una pregunta d'opció múltiple. Vegeu [Opcions](https://postext.dev/ca/docs/configuration-exercises.md#opcions). |
| `blank` | `object` | — | Com s'imprimeix un `[[…]]`. Vegeu [Buits](https://postext.dev/ca/docs/configuration-exercises.md#buits). |
| `trueFalse` | `object` | — | Les respostes d'una afirmació de vertader o fals. Vegeu [Vertader o fals](https://postext.dev/ca/docs/configuration-exercises.md#vertader-o-fals). |
| `match` | `object` | — | Dues columnes per relacionar. Vegeu [Relacionar](https://postext.dev/ca/docs/configuration-exercises.md#relacionar). |
| `bank` | `object` | — | El banc de paraules. Vegeu [Banc de paraules](https://postext.dev/ca/docs/configuration-exercises.md#banc-de-paraules). |
| `area` | `object` | — | Els espais per escriure. Vegeu [Espai per escriure](https://postext.dev/ca/docs/configuration-exercises.md#espai-per-escriure). |
| `grid` | `object` | — | Les caselles de les sopes de lletres, els mots encreuats i les operacions. Vegeu [Graelles](https://postext.dev/ca/docs/configuration-exercises.md#graelles). |
| `arithmetic` | `object` | — | Les operacions en columna. Vegeu [Operacions](https://postext.dev/ca/docs/configuration-exercises.md#operacions). |
| `level` | `object` | — | Les marques de dificultat. Vegeu [Dificultat](https://postext.dev/ca/docs/configuration-exercises.md#dificultat). |
| `icons` | `Record<string, ExerciseIcon>` | `{}` | Icones d'activitat per id, que un bloc anomena amb `icon`. Vegeu [Icones](https://postext.dev/ca/docs/configuration-exercises.md#icones). |
| `answers` | `object` | — | Com s'imprimeixen les respostes en una edició del professorat, en un element model i a les solucions. Vegeu [Respostes](https://postext.dev/ca/docs/configuration-exercises.md#respostes). |
| `solutions` | `ExerciseSolutionsConfig` | — | Les [`exercises.solutions`](https://postext.dev/ca/docs/configuration-exercises.md#solucions) del llibre per als exercicis d'aquest estil: només canvien els camps que s'hi indiquen. |
| `digital` | `object` | — | Els colors de les edicions en pantalla. Vegeu [Colors a la pantalla](https://postext.dev/ca/docs/configuration-exercises.md#colors-a-la-pantalla). |
| `marginTop` | `Dimension` | `1em` | Espai per sobre d'un exercici sense `box`. |
| `marginBottom` | `Dimension` | `1em` | Espai per sota d'un exercici sense `box`. |
| `itemSpacing` | `Dimension` | `0.25em` | Espai entre dos elements: opcions, preguntes, afirmacions, parelles. |

### Número

`number` defineix el número de l'exercici. Un número sol va en negreta, en el color principal, seguit d'un punt; un número dins d'una forma és una xifra blanca sobre un cercle, un quadrat o un quadrat arrodonit del color principal, sense res al darrere.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `show` | `boolean` | `true` | Imprimeix el número. El compte avança igualment. |
| `label` | `boolean \| string` | `false` | Una paraula davant del número: `true` pren la paraula de la llengua del document (Exercici, Exercise, Ejercicio, Exercice, Übung, 练习, 練習, تمرين…); una cadena és la paraula mateixa (`'Activitat'`). |
| `shape` | `'none' \| 'disc' \| 'square' \| 'rounded'` | `'none'` | La forma on va el número. |
| `color` | `ColorValue` | blanc sobre una forma; si no, el color principal | El color del número. |
| `background` | `ColorValue` | el color principal | El fons de la forma. |
| `fontFamily` | `string` | la del text que l'envolta | La família del número. |
| `fontSize` | `Dimension` | `1em` | La mida del número; un em és el de l'enunciat. |
| `fontWeight` | `number` | `700` | A partir de 600 es compon en negreta. |
| `suffix` | `string` | `'.'`; cap sobre una forma | El que s'imprimeix després d'un número sol i de la seva paraula: `'.'`, `')'`, `'、'`. |
| `template` | `string` | `'{n}'` | El text del número: `{n}` és el compte de l'exercici, i `{h1}` i `{h2}`, els números del capítol i de la secció (`'{h1}.{n}'` imprimeix 3.4). |
| `resetOn` | `'never' \| 'h1' … 'h6'` | `'h1'` | El nivell d'encapçalament que fa tornar a començar el compte; `'never'` compta per tot el llibre. |
| `counter` | `string` | `'exercise'` | El comptador que fa avançar l'estil. Els estils que anomenen el mateix comptador el comparteixen; un estil amb un comptador propi (`'review'`) numera els seus exercicis a part. |
| `format` | `ResourceCounterFormat` | `'decimal'` | Els numerals de `{n}`, com en un comptador de recursos: `'roman-upper'`, `'alpha-lower'`, `'simp-chinese-informal'` (一, 二), `'circled-decimal'` (①, ②), `'arabic-indic'`… |

### Enunciat

`instruction` defineix els paràgrafs inicials de l'exercici. Els camps sense valor prenen el del text.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `bold` | `boolean` | `true` | Compon l'enunciat en negreta. |
| `italic` | `boolean` | `false` | El compon en cursiva. |
| `color` | `ColorValue` | el del text | El color, també el dels trossos en negreta. |
| `fontFamily` | `string` | la del text | La família: als llibres de text és habitual un enunciat de pal sec sobre un text amb gràcies. |
| `fontSize` | `Dimension` | la del text | La mida. |

### Opcions

`options` defineix les opcions d'una pregunta d'opció múltiple (`- [ ] …`).

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `labels` | `ResourceCounterFormat \| 'none'` | segons la llengua | Com es compten les opcions: `'alpha-lower'` (a, b, c), `'alpha-upper'` en xinès (A, B, C), `'katakana'` en japonès (ア, イ, ウ), `'abjad'` en àrab (أ, ب, ج). També `'decimal'`, `'katakana-iroha'`, `'circled-decimal'`… Amb `'none'` no s'imprimeix cap etiqueta. |
| `prefix` | `string` | `''` | Davant de l'etiqueta: `'('` per a (a). |
| `suffix` | `string` | `')'`; `'.'` en xinès, cap en japonès | Després de l'etiqueta. |
| `marker` | `'none' \| 'box' \| 'circle'` | `'none'` | Una casella o un cercle davant de cada opció, per marcar. Amb `'none'` el lector encercla l'etiqueta. |
| `layout` | `'stack' \| 'row'` | `'stack'` | `'stack'`: una opció per línia, amb les línies que continuen alineades sota el seu text. `'row'`: les opcions una al costat de l'altra. El `columns=n` d'un bloc també les posa en files. |
| `columns` | `number` | totes | Opcions per fila amb la disposició `'row'` (fins a 6). |
| `shuffle` | `boolean` | `false` | Imprimeix les opcions barrejades, en el mateix ordre a totes les sortides i a la clau. |
| `indent` | `Dimension` | `1em` | El sagnat de les opcions respecte a la vora del text, per a una pregunta sense enunciat propi. |
| `bracket` | `boolean` | `false` | Un parèntesi `（　）` al final de cada pregunta per escriure-hi la lletra, com als exàmens xinesos i japonesos. Una edició del professorat hi escriu la lletra. |

### Buits

`blank` defineix com s'imprimeix un `[[…]]` al text de l'alumne: un espai de la mida de la resposta amb una línia, punts o una caixa, sense pintar la resposta.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `look` | `'line' \| 'dots' \| 'box' \| 'none'` | `'line'` | Una línia per escriure-hi, una línia de punts, una caixa o un espai buit. |
| `width` | `'answer' \| 'longest' \| Dimension` | `'longest'` | `'longest'`: tots els buits de l'exercici fan l'amplada de la resposta més llarga, perquè cap buit no delati la resposta. `'answer'`: cada buit fa l'amplada de la seva resposta. Una longitud: aquesta amplada per a tots. El `{width=N}` d'un buit té prioritat. |
| `extra` | `Dimension` | `1.5em` | Espai que s'afegeix a l'amplada de la resposta, en em sencers. |
| `minWidth` | `Dimension` | `3em` | L'amplada mínima d'un buit. |
| `color` | `ColorValue` | negre | El color de la línia, dels punts o de la caixa. Si s'indica, també pinta les caselles i els cercles per marcar i els marcs de les paraules del banc, que, si no, van en el color principal. |
| `weight` | `Dimension` | `0.6pt` | El gruix de la línia. |

### Vertader o fals

`trueFalse` defineix les respostes del final d'una afirmació.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `labels` | `[string, string]` | segons la llengua | Les dues respostes: `['V', 'F']` en català, castellà, francès, italià i portuguès; T F en anglès; R F en alemany; √ × en xinès; ○ × en japonès; صح خطأ en àrab. |
| `look` | `'boxes' \| 'bracket'` | `'boxes'` | `'boxes'`: cada lletra amb una casella per marcar, al final de la línia. `'bracket'`: un sol buit per escriure-hi la resposta. |

### Relacionar

`match` defineix un exercici de parelles.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `look` | `'dots' \| 'letters'` | `'dots'` | `'dots'`: dues columnes amb un punt al costat de cada element, per unir-los amb una línia. `'letters'`: la columna de la dreta amb lletres, i un buit al costat de cada element de l'esquerra per escriure-hi la lletra. |
| `gap` | `Dimension` | `4em` | Espai entre les dues columnes. |
| `dotSize` | `Dimension` | `0.35em` | El diàmetre dels punts. |
| `color` | `ColorValue` | el color principal | Els punts i el marc del banc de paraules. |

### Banc de paraules

`bank` defineix la caixa de paraules d'un exercici de buits amb `bank` o `::bank[…]`, i de tots els exercicis de classificar. La caixa va on és escrita la línia `::bank`; sense línia, sota l'enunciat.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `box` | `string` | un marc del color de `match` | Un id de `calloutStyles` per a la caixa del banc. |
| `order` | `'shuffle' \| 'alpha' \| 'written'` | `'shuffle'` | Les paraules barrejades (amb llavor), en ordre alfabètic segons la llengua del document, o tal com s'han escrit. |
| `separator` | `string` | un espai d'em | Entre dues paraules. Cada paraula es compon en un xip amb un marc fi. |

### Espai per escriure

`area` defineix l'espai que hi ha sota una pregunta oberta, sota una frase desordenada i a les columnes d'un exercici de classificar.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `kind` | `'lines' \| 'dots' \| 'grid' \| 'seyes' \| 'tianzige' \| 'box' \| 'none'` | `'lines'` | Línies pautades, una filera de punts, paper quadriculat, la pauta Seyès francesa, quadrats 田字格, un marc buit o espai en blanc. L'`area` d'un bloc té prioritat. |
| `lines` | `number` | `3` | Quantes línies d'alçada. Les `lines` d'un bloc tenen prioritat. |
| `spacing` | `Dimension` | 1,35 vegades l'interlineat del text (1,2 per a les quadrícules) | La distància entre dues línies. |
| `color` | `ColorValue` | un gris clar | El color de la pauta. |
| `weight` | `Dimension` | `0.5pt` | El gruix de la pauta. |

### Graelles

`grid` defineix les caselles de les sopes de lletres, els mots encreuats i les operacions en columna.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `cell` | `Dimension` | `1.6em` | El costat d'una casella. |
| `fontFamily` | `string` | la del text | La família de les lletres i les xifres. |
| `fontSize` | `Dimension` | 0,58 del costat de la casella | La mida de les lletres i les xifres; un em és el del text. |
| `color` | `ColorValue` | el del text | El color de les lletres i les xifres. |
| `rule` | `ColorValue` | un gris mitjà | Les línies de les caselles. |
| `ruleWidth` | `Dimension` | `0.6pt` | El seu gruix. |
| `blocked` | `ColorValue` | — | L'emplenament de les caselles dels mots encreuats que no ocupa cap paraula. Sense, la graella només imprimeix les caselles de les paraules. |
| `uppercase` | `boolean` | `true` | Compon en majúscules les lletres de les sopes de lletres i dels mots encreuats, amb les regles de majúscules de la llengua del document. |

### Operacions

`arithmetic` defineix les operacions en columna.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `division` | `'bracket' \| 'potence' \| 'inline'` | segons la llengua | La divisió. `'potence'`: el divisor a la dreta del dividend, dins d'un angle en forma de L, i el quocient sota el divisor (català, castellà, francès, italià, portuguès). `'bracket'`: el divisor a l'esquerra del dividend, una clau per sobre del dividend i el quocient a dalt (anglès, xinès, japonès, àrab i qualsevol llengua sense una disposició pròpia). `'inline'`: `864 : 4 =` amb el quocient a la mateixa línia i els passos a sota (alemany). |
| `columns` | `number` | `4` | Operacions per fila, menys si la columna és massa estreta. |

### Dificultat

`level` defineix les marques que el `level` d'un bloc imprimeix després del número, en una mida més petita.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `glyph` | `string` | `'●'` | Un nivell assolit: `'★'`, `'■'`. |
| `empty` | `string` | `'○'` | Un nivell no assolit; amb `''` no se n'imprimeix cap. |
| `max` | `number` | `3` | El nivell més alt: `level=2` amb `max: 3` imprimeix ●●○. |
| `color` | `ColorValue` | el color principal | El color de les marques. |

### Icones

`icons` associa un id a una icona d'activitat (oral, escrita, en parella, d'escoltar, amb calculadora), que s'imprimeix després del número quan un bloc l'anomena: `icon="pair"`.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `glyph` | `string` | — | Un caràcter per imprimir: `'✎'`, `'🎧'`, un glif d'una font d'icones. |
| `fontFamily` | `string` | — | La família d'una font d'icones. |
| `color` | `ColorValue` | — | El color de la icona. |
| `resourceId` | `string` | — | Un recurs de mapa de bits o SVG per a la icona. |
| `alt` | `string` | — | El que representa la icona, per als lectors de pantalla i el PDF etiquetat. |
| `size` | `number` | `0.75` | L'alçada de la icona en em de l'enunciat: per defecte, la d'una majúscula. |

Una icona s'imprimeix com un símbol en línia després del número: la imatge de `resourceId` si n'anomena una, i si no el `glyph` en `fontFamily` i en `color` (el del text si no s'indica). Recolza en la línia de base de l'enunciat, fa `size` em d'alçada i el seu `alt` es llegeix al seu lloc.

### Respostes

`answers` defineix les respostes allà on es mostren: una edició del professorat, l'element model d'un exercici amb `example`, els cercles i les caselles plenes, les línies entre parelles, les lletres i les xifres de les graelles.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `color` | `ColorValue` | `#d6246e`, un vermell magenta | El color de les respostes, com les sobreimprimeix un llibre del professorat. |
| `fontFamily` | `string` | la del text | Una lletra per a les respostes: sovint és una lletra manuscrita. |
| `italic` | `boolean` | `false` | Compon en cursiva les respostes dels buits. |

### Colors a la pantalla

`digital` defineix com mostren una resposta comprovada el visor HTML i els llibres EPUB.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `correctColor` | `ColorValue` | un verd (`#1e8e3e`) | Una resposta correcta. |
| `wrongColor` | `ColorValue` | un vermell (`#c5221f`) | Una resposta incorrecta. |

## Paràmetres del llibre

La propietat `exercises` conté els paràmetres de tot el llibre: l'edició, on s'imprimeixen les solucions, la llavor de totes les barreges i les edicions en pantalla. Un llibre que no fixa ni `exercises` ni `exerciseStyles` es compon i dona el mateix hash que abans.

```ts
const config: PostextConfig = {
  exercises: {
    edition: 'student',
    solutions: { placement: 'chapterEnd', layout: 'key' },
    seed: 3,
    digital: { check: 'instant' },
  },
};
```

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `edition` | `'student' \| 'teacher'` | `'student'` | `'teacher'` imprimeix cada resposta al seu lloc en el color d'`answers`: un llibre del professorat a partir del text de l'alumne. |
| `solutions` | `ExerciseSolutionsConfig` | — | On i com s'imprimeixen les solucions. Vegeu [Solucions](https://postext.dev/ca/docs/configuration-exercises.md#solucions). |
| `seed` | `number` | `1` | La llavor de totes les barreges: opcions, columnes de la dreta, elements per ordenar, paraules desordenades, bancs, lletres de farciment de les sopes de lletres. Canvia-la per obtenir una altra versió d'un examen; la impressió, la pantalla i la clau continuen coincidint. |
| `digital` | `object` | — | El visor HTML i els llibres EPUB. Vegeu [Edicions en pantalla](https://postext.dev/ca/docs/configuration-exercises.md#edicions-en-pantalla). |

### Solucions

`exercises.solutions` val per a tot el llibre; el `solutions` d'un estil hi canvia el que calgui per als exercicis d'aquell estil.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `placement` | `'none' \| 'after' \| 'inverted' \| 'chapterEnd' \| 'directive'` | `'none'` | `'none'`: cap solució impresa. `'after'`: després de cada exercici, amb un cos més petit. `'inverted'`: després de cada exercici, capgirada. `'chapterEnd'`: al final del capítol, sota `heading`. `'directive'`: allà on hi ha una línia `:::solutions`. |
| `box` | `string` | un requadre sense marc amb un cos més petit | Un id de `calloutStyles` per al requadre d'una solució i per a la llista de solucions d'un capítol. |
| `heading` | `string` | la paraula de la llengua del document | El títol de les solucions al final d'un capítol: Solucions, Solutions, Soluciones, Corrigés, Lösungen, Soluzioni, Gabarito, 参考答案, 解答, الحلول. Una línia `:::solutions{title="…"}` en fixa un de propi. |
| `layout` | `'key' \| 'full'` | `'full'` | `'key'`: només les respostes (1 b · 2 aigua). `'full'`: la clau i, a continuació, el `:::solution` de l'exercici. |

### Edicions en pantalla

`exercises.digital` defineix com es comporten els exercicis al visor HTML i als llibres EPUB.

| Propietat | Tipus | Per defecte | Descripció |
| --- | --- | --- | --- |
| `interactive` | `boolean` | `true` | Exercicis que el lector pot respondre. Amb `false` es mostren com els impresos. |
| `persist` | `boolean` | `true` | Desa les respostes del lector al navegador, per a cada llibre. |
| `check` | `'button' \| 'instant'` | `'button'` | `'button'`: les respostes es comproven quan el lector ho demana. `'instant'`: cada resposta es comprova en el moment d'escriure-la. |

La pantalla pot tenir uns paràmetres d'exercicis propis: `htmlViewer.overrides` també accepta `exercises` i `exerciseStyles`, que es fusionen amb els del llibre abans que el visor HTML faci la maquetació. Així, la impressió pot mantenir les solucions al final del capítol mentre la pantalla les amaga, o la pantalla pot prescindir dels espais per escriure, que en pantalla no fan cap servei.

```ts
const config: PostextConfig = {
  htmlViewer: {
    overrides: {
      exercises: { solutions: { placement: 'none' } },
      exerciseStyles: [{ id: 'exercise', area: { kind: 'none' }, blank: { minWidth: { value: 6, unit: 'em' } } }],
    },
  },
};
```
