Sintaxis Básica Markdown

Markdown es un lenguaje de marcado ligero (Lightweight Markup Language), siendo RMarkdown1 uno de sus dialectos, una de sus variantes, uno de sus sabores (Markdown Flavours).

Encabezados - Títulos

Título 1

Título 2

Título 3

Título 4

Título 5
Título 6

Título 1

Título 2

Separaciones - Líneas Horizontales





Citas - Añadir citas a nuestro documento Markdown

“La tecnología no es nada. Lo importante es que tengas fe en la gente, que sean básicamente buenas e inteligentes, y si les das herramientas, harán cosas maravillosas con ellas”.

Steve Jobs

Negrita - Cursiva - Tachado - Subrayado

Texto formateado como Negrita

Texto formateado como Cursiva

Texto formateado como Negrita y Cursiva

Texto tachado

Texto subrayado

Listas

Lista Viñetas - Lista Anidada

  • Lista 1
  • Lista 2
  • Lista 3
  • Lista 4
  • Lista 5
    • Lista 5.1
    • Lista 5.2
    • Lista 5.3
  • Lista 6
  • Lista 7
  • Lista 8

Lista Numerada

  1. Lista 1
  2. Lista 2
  3. Lista 3
  4. Lista 4
  5. Lista 5
  6. Lista 6
  7. Lista 7
  8. Lista 8

Lista ordenada alfabéticamente

  1. Lista A
  2. Lista B
  3. Lista C
  4. Lista D
  5. Lista E
  6. Lista F
  7. Lista G

Lista Tareas

  • TAREA A
  • TAREA B
  • TAREA C
  • TAREA D
  • TAREA E
  • TAREA F
  • TAREA G

Casos - Ejemplos

  • Lista 1
  • Lista 2
  • Lista 3
  • Lista 4
  • Lista 5
  • Lista 6
  • Lista 7
  • Lista 8
  • Lista 9

Imágenes - Añadir imágenes a nuestro documento Markdown

Tablas - Añadir tablas a nuestro documento Markdown

TABLA A TABLA B TABLA C
A B C
A B C
A B C
A B C
A B C
A B C
A B C
A B C
A B C

Vídeos - Añadir vídeos a nuestro documento Markdown

Mapas - Añadir Mapas (Google Maps) a nuestro documento Markdown

Código - Añadir código de distintos lenguajes de programación (R - Python - SQL) a nuestro documento Markdown

summary(mtcars)

La función barplot() nos permite crear diagramas de barras (Bar Charts) en el lenguaje de programación R.

    x <- table(mtcars$cyl)

    colores <- c("orange","blue","purple")

    barplot(x,xlab="Cilindros",ylab="Frecuencias",main="Número de Cilindros",col=colores)
y <- table(mtcars$gear)

barplot(y,xlab="Engranajes",ylab="Frecuencias",main="Número de Engranajes",col=rainbow(3))
import matplotlib,pyplot as plt

eje_x=[4,6,8]

eje_y=[11,7,14]

colores=['orange','blue','purple']

py.bar(eje_x,eje_y,color=colores)

py.title('Número de Cilindros')

py.xlabel('Cilindros')

py.ylabel('Frecuencias')

py.show()
SELECT id_usuario,usuario_nombre,usuario_apellido
USE Northwind;

SELECT * FROM Products;

Anular Sintaxis Markdown

# Esto debería ser un título tipo 1

**Esto debería ser texto formateado como Negrita**

*Esto debería ser texto formateado como Cursiva*

Pie de página

Ecuaciones - Fórmulas

Sintaxis y comando LaTex - Añadir ecuaciones y fórmulas a nuestro documento Markdown

Superíndice - Potencia

\[ E=mc^2 \]


\[ a^2 + b^2 = c^2 \]


Subíndice

\[ H_2O \]


\[ NH_3 \]


Fracciones - Casos - Ejemplos

\[ \frac{5}{4} \]

\[ \frac{5}{4} + \frac{3}{2} \]

\[ \frac{3}{5} - \frac{2}{8} \]

\[ \frac{6}{7} \times \frac{8}{9} \]

\[ \frac{7}{8} \cdot \frac{5}{6} \]

\[ \frac{9}{5} \div \frac{4}{6} \]

\[ (\frac{1}{2}) \]

\[ \left(\frac{5}{6}\right)^2 \]

Dada la fracción \(\tfrac{1}{2}\) podemos determinar el valor de la variable …

Dada la fracción \(\frac{1}{2}\) podemos determinar el valor de la variable…

Dada la fracción \(\dfrac{1}{2}\) podemos determinar el valor de la variable…

Sumatoria

\[ \sum_{i=1}^4 \quad (3i-1) \]

\[ \sum_{i=3}^6 \quad 2i-1 \]

\[ \sum_{i=2}^7 \quad \frac{i^2}{i+1} \]

Logaritmos

\[ \log_7{49}=2 \]

\[ \log_6{216}=3 \]

\[ \log_3{81}=4 \]

Raíces

\[ \sqrt{2}= 1.414213562 \]

\[ \sqrt{3}=1.732050803 \]

\[ \sqrt{4}= 2 \]

\[ \sqrt[3]{\frac{25}{250}} \]

Matrices

\[ \begin{matrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{matrix} \]

\[ \begin{pmatrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{pmatrix} \]

\[ \begin{bmatrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{bmatrix} \]

\[ \begin{Bmatrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{Bmatrix} \]

\[ \begin{vmatrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{vmatrix} \]

\[ \begin{Vmatrix} 4 & 7 & 9 \\ 6 & 9 & 10 \\ 4 & 8 & 3 \end{Vmatrix} \]

Ecuaciones

Dada la función

\[ f(x)=y \]

podemos determinar el valor de la variable…

\[ \text{Fórmula Ecuación 2º Grado}\quad x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]

Símbolos

\[ (900) \]

\[ [900] \]

\[ |900| \]

\[ 900 > 877 \]

\[ 455< 500 \]

\[ 900 >= 865 \]

\[ 344 <= 899 \]


  1. RMarkdown es un paquete del lenguaje de programación R, que nos permite crear documentos científicos y técnicos en distintos formatos tales como HTML, PDF, Microsoft Word entre otros.↩︎

LS0tDQp0aXRsZTogIkxlbmd1YWplIGRlIE1hcmNhZG8gTGlnZXJvIC0gTWFya2Rvd24iDQpzdWJ0aXRsZTogIkV0aXF1ZXRhcyBNYXJrZG93biINCmF1dGhvcjogIkUgRWRpc29uIEFjaGFsbWEgTWVuZG96YSINCmVtYWlsOiAiYWNoYWxtZWQuMThAZ21haWwuY29tIg0KcGhvbmU6ICI1MSA5MzQxNzkzMDEgKFBlcsO6KSINCmRhdGU6ICIyMDIyLzAzLzI2Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCi0tLQ0KDQo8IS0tIEHDsWFkaXIgY29tZW50YXJpb3MgYSBudWVzdHJvIGRvY3VtZW50byBNYXJrZG93biAtIEhUTUwgVGFncyAtLT4NCg0KIyBTaW50YXhpcyBCw6FzaWNhIE1hcmtkb3duDQoNCioqTWFya2Rvd24qKiBlcyB1biBsZW5ndWFqZSBkZSBtYXJjYWRvIGxpZ2VybyAoKioqTGlnaHR3ZWlnaHQgTWFya3VwIExhbmd1YWdlKioqKSwgc2llbmRvICoqUk1hcmtkb3duKipbXjFdIHVubyBkZSBzdXMgZGlhbGVjdG9zLCB1bmEgZGUgc3VzIHZhcmlhbnRlcywgdW5vIGRlIHN1cyBzYWJvcmVzICgqKk1hcmtkb3duIEZsYXZvdXJzKiopLg0KDQpbXjFdOiAqKlJNYXJrZG93biBlcyB1biBwYXF1ZXRlIGRlbCBsZW5ndWFqZSBkZSBwcm9ncmFtYWNpw7NuIFIsIHF1ZSBub3MgcGVybWl0ZSBjcmVhciBkb2N1bWVudG9zIGNpZW50w61maWNvcyB5IHTDqWNuaWNvcyBlbiBkaXN0aW50b3MgZm9ybWF0b3MgdGFsZXMgY29tbyBIVE1MLCBQREYsIE1pY3Jvc29mdCBXb3JkIGVudHJlIG90cm9zLioqDQoNCiMjIEVuY2FiZXphZG9zIC0gVMOtdHVsb3MNCg0KIyBUw610dWxvIDENCg0KIyMgVMOtdHVsbyAyDQoNCiMjIyBUw610dWxvIDMNCg0KIyMjIyBUw610dWxvIDQNCg0KIyMjIyMgVMOtdHVsbyA1DQoNCiMjIyMjIyBUw610dWxvIDYNCg0KIyBUw610dWxvIDENCg0KIyMgVMOtdHVsbyAyDQoNCiMjIFNlcGFyYWNpb25lcyAtIEzDrW5lYXMgSG9yaXpvbnRhbGVzDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyBDaXRhcyAtIEHDsWFkaXIgY2l0YXMgYSBudWVzdHJvIGRvY3VtZW50byBNYXJrZG93bg0KDQo+ICJMYSB0ZWNub2xvZ8OtYSBubyBlcyBuYWRhLiBMbyBpbXBvcnRhbnRlIGVzIHF1ZSB0ZW5nYXMgZmUgZW4gbGEgZ2VudGUsIHF1ZSBzZWFuIGLDoXNpY2FtZW50ZSBidWVuYXMgZSBpbnRlbGlnZW50ZXMsIHkgc2kgbGVzIGRhcyBoZXJyYW1pZW50YXMsIGhhcsOhbiBjb3NhcyBtYXJhdmlsbG9zYXMgY29uIGVsbGFzIi4NCj4NCj4gKipTdGV2ZSBKb2JzKioNCg0KIyMgTmVncml0YSAtIEN1cnNpdmEgLSBUYWNoYWRvIC0gU3VicmF5YWRvDQoNCioqVGV4dG8gZm9ybWF0ZWFkbyBjb21vIE5lZ3JpdGEqKg0KDQoqVGV4dG8gZm9ybWF0ZWFkbyBjb21vIEN1cnNpdmEqDQoNCioqKlRleHRvIGZvcm1hdGVhZG8gY29tbyBOZWdyaXRhIHkgQ3Vyc2l2YSoqKg0KDQp+flRleHRvIHRhY2hhZG9+fg0KDQo8VT5UZXh0byBzdWJyYXlhZG88L3U+IDwhLS0gSFRNTCBUYWdzIC0tPg0KDQojIyBMaXN0YXMNCg0KIyMjIExpc3RhIFZpw7FldGFzIC0gTGlzdGEgQW5pZGFkYQ0KDQotICAgTGlzdGEgMQ0KLSAgIExpc3RhIDINCi0gICBMaXN0YSAzDQotICAgTGlzdGEgNA0KLSAgIExpc3RhIDUNCiAgICAtICAgTGlzdGEgNS4xDQogICAgLSAgIExpc3RhIDUuMg0KICAgIC0gICBMaXN0YSA1LjMNCi0gICBMaXN0YSA2DQotICAgTGlzdGEgNw0KLSAgIExpc3RhIDgNCg0KIyMjIExpc3RhIE51bWVyYWRhDQoNCjEuICBMaXN0YSAxDQoyLiAgTGlzdGEgMg0KMy4gIExpc3RhIDMNCjQuICBMaXN0YSA0DQo1LiAgTGlzdGEgNQ0KNi4gIExpc3RhIDYNCjcuICBMaXN0YSA3DQo4LiAgTGlzdGEgOA0KDQojIyMgTGlzdGEgb3JkZW5hZGEgYWxmYWLDqXRpY2FtZW50ZQ0KDQphLiAgTGlzdGEgQQ0KYi4gIExpc3RhIEINCmMuICBMaXN0YSBDDQpkLiAgTGlzdGEgRA0KZS4gIExpc3RhIEUNCmYuICBMaXN0YSBGDQpnLiAgTGlzdGEgRw0KDQojIyMgTGlzdGEgVGFyZWFzDQoNCi0gICBbIF0gVEFSRUEgQQ0KLSAgIFsgXSBUQVJFQSBCDQotICAgWyBdIFRBUkVBIEMNCi0gICBbIF0gVEFSRUEgRA0KLSAgIFsgXSBUQVJFQSBFDQotICAgWyBdIFRBUkVBIEYNCi0gICBbIF0gVEFSRUEgRw0KDQojIyMgQ2Fzb3MgLSBFamVtcGxvcw0KDQotICAgTGlzdGEgMQ0KLSAgIExpc3RhIDINCi0gICBMaXN0YSAzDQotICAgTGlzdGEgNA0KLSAgIExpc3RhIDUNCi0gICBMaXN0YSA2DQotICAgTGlzdGEgNw0KLSAgIExpc3RhIDgNCi0gICBMaXN0YSA5DQoNCiMjIEVubGFjZXMgLSBBw7FhZGlyIGxpbmtzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPGh0dHBzOi8vd3d3LmRhdGFzY2llbmNlLnBlPg0KDQpbRFNSUF0oaHR0cHM6Ly93d3cuZGF0YXNjaWVuY2UucGUpDQoNCltEYXRhIFNjaWVuY2UgUmVzZWFyY2ggUGVydV0oaHR0cHM6Ly93d3cuZGF0YXNjaWVuY2UucGUgIkluZ3Jlc2EgYWwgRFNSUCIpDQoNCiMjIEltw6FnZW5lcyAtIEHDsWFkaXIgaW3DoWdlbmVzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPGNlbnRlcj4NCg0KIVtdKGxvZ29fci5wbmcpDQoNCiFbXShodHRwczovL2QzM3d1YnJma2kwbDY4LmNsb3VkZnJvbnQubmV0L2FlZTkxMTg3YTljNjgxMWE4MDJkZGM1MjRjMzI3MTMwMjg5M2ExNDkvYTcwMDMvaW1hZ2VzL2JhbmR0aHJlZTIucG5nKXt3aWR0aD0iMzAwIn0NCg0KPC9jZW50ZXI+DQoNCiMjIFRhYmxhcyAtIEHDsWFkaXIgdGFibGFzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KfCBUQUJMQSBBIHwgVEFCTEEgQiB8IFRBQkxBIEMgfA0KfDotLS0tLS0tOnw6LS0tLS0tLTp8Oi0tLS0tLS06fA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KDQojIyBWw61kZW9zIC0gQcOxYWRpciB2w61kZW9zIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPCEtLSBFdGlxdWV0YXMgSFRNTCBwYXJhIGHDsWFkaXIgdsOtZGVvcyBhIG51ZXN0cm8gZG9jdW1lbnRvIE1hcmtkb3duIC0tPg0KDQo8Y2VudGVyPg0KDQo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0VreFJqMDJpYUxrIiBmcmFtZWJvcmRlcj0iMCIgZGF0YS1leHRlcm5hbD0iMSIgYWxsb3dmdWxsc2NyZWVuPg0KDQo8L2lmcmFtZT4NCg0KPC9jZW50ZXI+DQoNCjxjZW50ZXI+DQoNCjx2aWRlbyB3aWR0aD01MDAgaGVpZ2h0PTQwMCBjb250cm9scz4NCg0KPHNvdXJjZSBzcmM9InZpZGVvXzAwMS5tcDQiIHR5cGU9InZpZGVvL21wNCI+DQoNCjwvdmlkZW8+DQoNCjwvY2VudGVyPg0KDQojIyBNYXBhcyAtIEHDsWFkaXIgTWFwYXMgKEdvb2dsZSBNYXBzKSBhIG51ZXN0cm8gZG9jdW1lbnRvIE1hcmtkb3duDQoNCjwhLS0gRXRpcXVldGFzIEhUTUwgcGFyYSBhw7FhZGlyIE1hcGFzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24gLS0+DQoNCjxjZW50ZXI+DQoNCjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ/cGI9ITFtMTghMW0xMiExbTMhMWQzOTAxLjk2Mzk5MTU5NTA0NCEyZC03Ny4wMzI3MzQ0ODU2MTgwMSEzZC0xMi4wNDU5OTg1NDUxNjQ5MzUhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDkxMDVjOGI1ZDVhYTdlYjElM0EweDE2MDYxZTBiNDgxZTIyYWEhMnNQbGF6YSUyMGRlJTIwQXJtYXMlMjBkZSUyMExpbWEhNWUwITNtMiExc2VzITJzcGUhNHYxNjQ3NzA0NjUyMzAyITVtMiExc2VzITJzcGUiIHdpZHRoPSI2MDAiIGhlaWdodD0iNDUwIiBzdHlsZT0iYm9yZGVyOjA7IiBhbGxvd2Z1bGxzY3JlZW4gbG9hZGluZz0ibGF6eSIgZGF0YS1leHRlcm5hbD0iMSI+DQoNCjwvaWZyYW1lPg0KDQo8L2NlbnRlcj4NCg0KIyMgQ8OzZGlnbyAtIEHDsWFkaXIgY8OzZGlnbyBkZSBkaXN0aW50b3MgbGVuZ3VhamVzIGRlIHByb2dyYW1hY2nDs24gKFIgLSBQeXRob24gLSBTUUwpIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KICAgIHN1bW1hcnkobXRjYXJzKQ0KDQpMYSBmdW5jacOzbiBgYmFycGxvdCgpYCBub3MgcGVybWl0ZSBjcmVhciBkaWFncmFtYXMgZGUgYmFycmFzICgqKkJhciBDaGFydHMqKikgZW4gZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBSLg0KDQp+fn4NCiAgICB4IDwtIHRhYmxlKG10Y2FycyRjeWwpDQoNCiAgICBjb2xvcmVzIDwtIGMoIm9yYW5nZSIsImJsdWUiLCJwdXJwbGUiKQ0KDQogICAgYmFycGxvdCh4LHhsYWI9IkNpbGluZHJvcyIseWxhYj0iRnJlY3VlbmNpYXMiLG1haW49Ik7Dum1lcm8gZGUgQ2lsaW5kcm9zIixjb2w9Y29sb3JlcykNCn5+fg0KDQpgYGAgcg0KeSA8LSB0YWJsZShtdGNhcnMkZ2VhcikNCg0KYmFycGxvdCh5LHhsYWI9IkVuZ3JhbmFqZXMiLHlsYWI9IkZyZWN1ZW5jaWFzIixtYWluPSJOw7ptZXJvIGRlIEVuZ3JhbmFqZXMiLGNvbD1yYWluYm93KDMpKQ0KYGBgDQoNCmBgYCBweXRob24NCmltcG9ydCBtYXRwbG90bGliLHB5cGxvdCBhcyBwbHQNCg0KZWplX3g9WzQsNiw4XQ0KDQplamVfeT1bMTEsNywxNF0NCg0KY29sb3Jlcz1bJ29yYW5nZScsJ2JsdWUnLCdwdXJwbGUnXQ0KDQpweS5iYXIoZWplX3gsZWplX3ksY29sb3I9Y29sb3JlcykNCg0KcHkudGl0bGUoJ07Dum1lcm8gZGUgQ2lsaW5kcm9zJykNCg0KcHkueGxhYmVsKCdDaWxpbmRyb3MnKQ0KDQpweS55bGFiZWwoJ0ZyZWN1ZW5jaWFzJykNCg0KcHkuc2hvdygpDQpgYGANCg0KICAgIFNFTEVDVCBpZF91c3VhcmlvLHVzdWFyaW9fbm9tYnJlLHVzdWFyaW9fYXBlbGxpZG8NCg0KYGBgIHNxbA0KVVNFIE5vcnRod2luZDsNCg0KU0VMRUNUICogRlJPTSBQcm9kdWN0czsNCmBgYA0KDQojIyBBbnVsYXIgU2ludGF4aXMgTWFya2Rvd24NCg0KXCMgRXN0byBkZWJlcsOtYSBzZXIgdW4gdMOtdHVsbyB0aXBvIDENCg0KXCpcKkVzdG8gZGViZXLDrWEgc2VyIHRleHRvIGZvcm1hdGVhZG8gY29tbyBOZWdyaXRhXCpcKg0KDQpcKkVzdG8gZGViZXLDrWEgc2VyIHRleHRvIGZvcm1hdGVhZG8gY29tbyBDdXJzaXZhXCoNCg0KIyMgUGllIGRlIHDDoWdpbmENCg0KIyMgRWN1YWNpb25lcyAtIEbDs3JtdWxhcw0KDQojIyBTaW50YXhpcyB5IGNvbWFuZG8gTGFUZXggLSBBw7FhZGlyIGVjdWFjaW9uZXMgeSBmw7NybXVsYXMgYSBudWVzdHJvIGRvY3VtZW50byBNYXJrZG93bg0KDQojIyMgU3VwZXLDrW5kaWNlIC0gUG90ZW5jaWENCg0KJCQNCkU9bWNeMg0KJCQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiQkDQphXjIgKyBiXjIgPSBjXjINCiQkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyMgU3Viw61uZGljZQ0KDQokJA0KSF8yTw0KJCQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiQkDQpOSF8zDQokJA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyMjIEZyYWNjaW9uZXMgLSBDYXNvcyAtIEVqZW1wbG9zDQoNCiQkDQpcZnJhY3s1fXs0fQ0KJCQNCg0KJCQNClxmcmFjezV9ezR9ICsgXGZyYWN7M317Mn0NCiQkDQoNCiQkDQpcZnJhY3szfXs1fSAtIFxmcmFjezJ9ezh9DQokJA0KDQokJA0KXGZyYWN7Nn17N30gXHRpbWVzIFxmcmFjezh9ezl9DQokJA0KDQokJA0KXGZyYWN7N317OH0gXGNkb3QgXGZyYWN7NX17Nn0NCiQkDQoNCiQkDQpcZnJhY3s5fXs1fSBcZGl2IFxmcmFjezR9ezZ9DQokJA0KDQokJA0KKFxmcmFjezF9ezJ9KQ0KJCQNCg0KJCQNClxsZWZ0KFxmcmFjezV9ezZ9XHJpZ2h0KV4yDQokJA0KDQpEYWRhIGxhIGZyYWNjacOzbiAkXHRmcmFjezF9ezJ9JCBwb2RlbW9zIGRldGVybWluYXIgZWwgdmFsb3IgZGUgbGEgdmFyaWFibGUgLi4uDQoNCkRhZGEgbGEgZnJhY2Npw7NuICRcZnJhY3sxfXsyfSQgcG9kZW1vcyBkZXRlcm1pbmFyIGVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlLi4uDQoNCkRhZGEgbGEgZnJhY2Npw7NuICRcZGZyYWN7MX17Mn0kIHBvZGVtb3MgZGV0ZXJtaW5hciBlbCB2YWxvciBkZSBsYSB2YXJpYWJsZS4uLg0KDQojIyMgU3VtYXRvcmlhDQoNCiQkDQpcc3VtX3tpPTF9XjQgXHF1YWQgKDNpLTEpDQokJA0KDQokJA0KXHN1bV97aT0zfV42IFxxdWFkIDJpLTENCiQkDQoNCiQkDQpcc3VtX3tpPTJ9XjcgXHF1YWQgXGZyYWN7aV4yfXtpKzF9DQokJA0KDQojIyMgTG9nYXJpdG1vcw0KDQokJA0KXGxvZ183ezQ5fT0yDQokJA0KDQokJA0KXGxvZ182ezIxNn09Mw0KJCQNCg0KJCQNClxsb2dfM3s4MX09NA0KJCQNCg0KIyMjIFJhw61jZXMNCg0KJCQNClxzcXJ0ezJ9PSAxLjQxNDIxMzU2Mg0KJCQNCg0KJCQNClxzcXJ0ezN9PTEuNzMyMDUwODAzDQokJA0KDQokJA0KXHNxcnR7NH09IDINCiQkDQoNCiQkDQpcc3FydFszXXtcZnJhY3syNX17MjUwfX0NCiQkDQoNCiMjIyBNYXRyaWNlcw0KDQokJA0KXGJlZ2lue21hdHJpeH0NCjQgJiA3ICYgOSBcXA0KNiAmIDkgJiAxMCBcXA0KNCAmIDggJiAzDQpcZW5ke21hdHJpeH0NCiQkDQoNCiQkDQpcYmVnaW57cG1hdHJpeH0NCjQgJiA3ICYgOSBcXA0KNiAmIDkgJiAxMCBcXA0KNCAmIDggJiAzDQpcZW5ke3BtYXRyaXh9DQokJA0KDQokJA0KXGJlZ2lue2JtYXRyaXh9DQo0ICYgNyAmIDkgXFwNCjYgJiA5ICYgMTAgXFwNCjQgJiA4ICYgMw0KXGVuZHtibWF0cml4fQ0KJCQNCg0KJCQNClxiZWdpbntCbWF0cml4fQ0KNCAmIDcgJiA5IFxcDQo2ICYgOSAmIDEwIFxcDQo0ICYgOCAmIDMNClxlbmR7Qm1hdHJpeH0NCiQkDQoNCiQkDQpcYmVnaW57dm1hdHJpeH0NCjQgJiA3ICYgOSBcXA0KNiAmIDkgJiAxMCBcXA0KNCAmIDggJiAzDQpcZW5ke3ZtYXRyaXh9DQokJA0KDQokJA0KXGJlZ2lue1ZtYXRyaXh9DQo0ICYgNyAmIDkgXFwNCjYgJiA5ICYgMTAgXFwNCjQgJiA4ICYgMw0KXGVuZHtWbWF0cml4fQ0KJCQNCg0KIyMjIEVjdWFjaW9uZXMNCg0KRGFkYSBsYSBmdW5jacOzbg0KDQokJA0KZih4KT15DQokJA0KDQpwb2RlbW9zIGRldGVybWluYXIgZWwgdmFsb3IgZGUgbGEgdmFyaWFibGUuLi4NCg0KJCQNClx0ZXh0e0bDs3JtdWxhIEVjdWFjacOzbiAywrogR3JhZG99XHF1YWQgeD1cZnJhY3stYiBccG0gXHNxcnR7Yl4yIC0gNGFjfX17MmF9DQokJA0KDQojIyMgU8OtbWJvbG9zDQoNCiQkDQooOTAwKQ0KJCQNCg0KJCQNCls5MDBdDQokJA0KDQokJA0KfDkwMHwNCiQkDQoNCiQkDQo5MDAgPiA4NzcNCiQkDQoNCiQkDQo0NTU8IDUwMA0KJCQNCg0KJCQNCjkwMCA+PSA4NjUNCiQkDQoNCiQkDQozNDQgPD0gODk5DQokJA0K