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.↩︎

LS0tDQp0aXRsZTogIkxlbmd1YWplIGRlIE1hcmNhZG8gTGlnZXJvIC0gTWFya2Rvd24iDQpzdWJ0aXRsZTogIkV0aXF1ZXRhcyBNYXJrZG93biINCmF1dGhvcjogIlJlbnpvIEPDoWNlcmVzIFJvc3NpIg0KZW1haWw6ICJhcmVuem9jYWNlcmVzcm9zc2lAZ21haWwuY29tIg0KcGhvbmU6ICI1MSA5MTczMzc2ODQgKFBlcsO6KSINCmRhdGU6ICIyMDIyLzAzLzE5Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCi0tLQ0KDQo8IS0tIEHDsWFkaXIgY29tZW50YXJpb3MgYSBudWVzdHJvIGRvY3VtZW50byBNYXJrZG93biAtIEhUTUwgVGFncyAtLT4NCg0KIyBTaW50YXhpcyBCw6FzaWNhIE1hcmtkb3duDQoNCioqTWFya2Rvd24qKiBlcyB1biBsZW5ndWFqZSBkZSBtYXJjYWRvIGxpZ2VybyAoKioqTGlnaHR3ZWlnaHQgTWFya3VwIExhbmd1YWdlKioqKSwgc2llbmRvICoqUk1hcmtkb3duKipbXjFdIHVubyBkZSBzdXMgZGlhbGVjdG9zLCB1bmEgZGUgc3VzIHZhcmlhbnRlcywgdW5vIGRlIHN1cyBzYWJvcmVzICgqKk1hcmtkb3duIEZsYXZvdXJzKiopLg0KDQpbXjFdOiAqKlJNYXJrZG93biBlcyB1biBwYXF1ZXRlIGRlbCBsZW5ndWFqZSBkZSBwcm9ncmFtYWNpw7NuIFIsIHF1ZSBub3MgcGVybWl0ZSBjcmVhciBkb2N1bWVudG9zIGNpZW50w61maWNvcyB5IHTDqWNuaWNvcyBlbiBkaXN0aW50b3MgZm9ybWF0b3MgdGFsZXMgY29tbyBIVE1MLCBQREYsIE1pY3Jvc29mdCBXb3JkIGVudHJlIG90cm9zLioqDQoNCiMjIEVuY2FiZXphZG9zIC0gVMOtdHVsb3MNCg0KIyBUw610dWxvIDENCg0KIyMgVMOtdHVsbyAyDQoNCiMjIyBUw610dWxvIDMNCg0KIyMjIyBUw610dWxvIDQNCg0KIyMjIyMgVMOtdHVsbyA1DQoNCiMjIyMjIyBUw610dWxvIDYNCg0KIyBUw610dWxvIDENCg0KIyMgVMOtdHVsbyAyDQoNCiMjIFNlcGFyYWNpb25lcyAtIEzDrW5lYXMgSG9yaXpvbnRhbGVzDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyBDaXRhcyAtIEHDsWFkaXIgY2l0YXMgYSBudWVzdHJvIGRvY3VtZW50byBNYXJrZG93bg0KDQo+ICJMYSB0ZWNub2xvZ8OtYSBubyBlcyBuYWRhLiBMbyBpbXBvcnRhbnRlIGVzIHF1ZSB0ZW5nYXMgZmUgZW4gbGEgZ2VudGUsIHF1ZSBzZWFuIGLDoXNpY2FtZW50ZSBidWVuYXMgZSBpbnRlbGlnZW50ZXMsIHkgc2kgbGVzIGRhcyBoZXJyYW1pZW50YXMsIGhhcsOhbiBjb3NhcyBtYXJhdmlsbG9zYXMgY29uIGVsbGFzIi4NCj4NCj4gKipTdGV2ZSBKb2JzKioNCg0KIyMgTmVncml0YSAtIEN1cnNpdmEgLSBUYWNoYWRvIC0gU3VicmF5YWRvDQoNCioqVGV4dG8gZm9ybWF0ZWFkbyBjb21vIE5lZ3JpdGEqKg0KDQoqVGV4dG8gZm9ybWF0ZWFkbyBjb21vIEN1cnNpdmEqDQoNCioqKlRleHRvIGZvcm1hdGVhZG8gY29tbyBOZWdyaXRhIHkgQ3Vyc2l2YSoqKg0KDQp+flRleHRvIHRhY2hhZG9+fg0KDQo8VT5UZXh0byBzdWJyYXlhZG88L3U+IDwhLS0gSFRNTCBUYWdzIC0tPg0KDQojIyBMaXN0YXMNCg0KIyMjIExpc3RhIFZpw7FldGFzIC0gTGlzdGEgQW5pZGFkYQ0KDQotICAgTGlzdGEgMQ0KLSAgIExpc3RhIDINCi0gICBMaXN0YSAzDQotICAgTGlzdGEgNA0KLSAgIExpc3RhIDUNCiAgICAtICAgTGlzdGEgNS4xDQogICAgLSAgIExpc3RhIDUuMg0KICAgIC0gICBMaXN0YSA1LjMNCi0gICBMaXN0YSA2DQotICAgTGlzdGEgNw0KLSAgIExpc3RhIDgNCg0KIyMjIExpc3RhIE51bWVyYWRhDQoNCjEuICBMaXN0YSAxDQoyLiAgTGlzdGEgMg0KMy4gIExpc3RhIDMNCjQuICBMaXN0YSA0DQo1LiAgTGlzdGEgNQ0KNi4gIExpc3RhIDYNCjcuICBMaXN0YSA3DQo4LiAgTGlzdGEgOA0KDQojIyMgTGlzdGEgb3JkZW5hZGEgYWxmYWLDqXRpY2FtZW50ZQ0KDQphLiAgTGlzdGEgQQ0KYi4gIExpc3RhIEINCmMuICBMaXN0YSBDDQpkLiAgTGlzdGEgRA0KZS4gIExpc3RhIEUNCmYuICBMaXN0YSBGDQpnLiAgTGlzdGEgRw0KDQojIyMgTGlzdGEgVGFyZWFzDQoNCi0gICBbIF0gVEFSRUEgQQ0KLSAgIFsgXSBUQVJFQSBCDQotICAgWyBdIFRBUkVBIEMNCi0gICBbIF0gVEFSRUEgRA0KLSAgIFsgXSBUQVJFQSBFDQotICAgWyBdIFRBUkVBIEYNCi0gICBbIF0gVEFSRUEgRw0KDQojIyMgQ2Fzb3MgLSBFamVtcGxvcw0KDQotICAgTGlzdGEgMQ0KLSAgIExpc3RhIDINCi0gICBMaXN0YSAzDQotICAgTGlzdGEgNA0KLSAgIExpc3RhIDUNCi0gICBMaXN0YSA2DQotICAgTGlzdGEgNw0KLSAgIExpc3RhIDgNCi0gICBMaXN0YSA5DQoNCiMjIEVubGFjZXMgLSBBw7FhZGlyIGxpbmtzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPGh0dHBzOi8vd3d3LmRhdGFzY2llbmNlLnBlPg0KDQpbRFNSUF0oaHR0cHM6Ly93d3cuZGF0YXNjaWVuY2UucGUpDQoNCltEYXRhIFNjaWVuY2UgUmVzZWFyY2ggUGVydV0oaHR0cHM6Ly93d3cuZGF0YXNjaWVuY2UucGUgIkluZ3Jlc2EgYWwgRFNSUCIpDQoNCiMjIEltw6FnZW5lcyAtIEHDsWFkaXIgaW3DoWdlbmVzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPGNlbnRlcj4NCg0KIVtdKGxvZ29fci5wbmcpDQoNCiFbXShodHRwczovL2QzM3d1YnJma2kwbDY4LmNsb3VkZnJvbnQubmV0L2FlZTkxMTg3YTljNjgxMWE4MDJkZGM1MjRjMzI3MTMwMjg5M2ExNDkvYTcwMDMvaW1hZ2VzL2JhbmR0aHJlZTIucG5nKXt3aWR0aD0iMzAwIn0NCg0KPC9jZW50ZXI+DQoNCiMjIFRhYmxhcyAtIEHDsWFkaXIgdGFibGFzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KfCBUQUJMQSBBIHwgVEFCTEEgQiB8IFRBQkxBIEMgfA0KfDotLS0tLS0tOnw6LS0tLS0tLTp8Oi0tLS0tLS06fA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KfCAgICBBICAgIHwgICAgQiAgICB8ICAgIEMgICAgfA0KDQojIyBWw61kZW9zIC0gQcOxYWRpciB2w61kZW9zIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KPCEtLSBFdGlxdWV0YXMgSFRNTCBwYXJhIGHDsWFkaXIgdsOtZGVvcyBhIG51ZXN0cm8gZG9jdW1lbnRvIE1hcmtkb3duIC0tPg0KDQo8Y2VudGVyPg0KDQo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0VreFJqMDJpYUxrIiBmcmFtZWJvcmRlcj0iMCIgZGF0YS1leHRlcm5hbD0iMSIgYWxsb3dmdWxsc2NyZWVuPg0KDQo8L2lmcmFtZT4NCg0KPC9jZW50ZXI+DQoNCjxjZW50ZXI+DQoNCjx2aWRlbyB3aWR0aD01MDAgaGVpZ2h0PTQwMCBjb250cm9scz4NCg0KPHNvdXJjZSBzcmM9InZpZGVvXzAwMS5tcDQiIHR5cGU9InZpZGVvL21wNCI+DQoNCjwvdmlkZW8+DQoNCjwvY2VudGVyPg0KDQojIyBNYXBhcyAtIEHDsWFkaXIgTWFwYXMgKEdvb2dsZSBNYXBzKSBhIG51ZXN0cm8gZG9jdW1lbnRvIE1hcmtkb3duDQoNCjwhLS0gRXRpcXVldGFzIEhUTUwgcGFyYSBhw7FhZGlyIE1hcGFzIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24gLS0+DQoNCjxjZW50ZXI+DQoNCjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ/cGI9ITFtMTghMW0xMiExbTMhMWQzOTAxLjk2Mzk5MTU5NTA0NCEyZC03Ny4wMzI3MzQ0ODU2MTgwMSEzZC0xMi4wNDU5OTg1NDUxNjQ5MzUhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDkxMDVjOGI1ZDVhYTdlYjElM0EweDE2MDYxZTBiNDgxZTIyYWEhMnNQbGF6YSUyMGRlJTIwQXJtYXMlMjBkZSUyMExpbWEhNWUwITNtMiExc2VzITJzcGUhNHYxNjQ3NzA0NjUyMzAyITVtMiExc2VzITJzcGUiIHdpZHRoPSI2MDAiIGhlaWdodD0iNDUwIiBzdHlsZT0iYm9yZGVyOjA7IiBhbGxvd2Z1bGxzY3JlZW4gbG9hZGluZz0ibGF6eSIgZGF0YS1leHRlcm5hbD0iMSI+DQoNCjwvaWZyYW1lPg0KDQo8L2NlbnRlcj4NCg0KIyMgQ8OzZGlnbyAtIEHDsWFkaXIgY8OzZGlnbyBkZSBkaXN0aW50b3MgbGVuZ3VhamVzIGRlIHByb2dyYW1hY2nDs24gKFIgLSBQeXRob24gLSBTUUwpIGEgbnVlc3RybyBkb2N1bWVudG8gTWFya2Rvd24NCg0KICAgIHN1bW1hcnkobXRjYXJzKQ0KDQpMYSBmdW5jacOzbiBgYmFycGxvdCgpYCBub3MgcGVybWl0ZSBjcmVhciBkaWFncmFtYXMgZGUgYmFycmFzICgqKkJhciBDaGFydHMqKikgZW4gZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBSLg0KDQogICAgeCA8LSB0YWJsZShtdGNhcnMkY3lsKQ0KDQogICAgY29sb3JlcyA8LSBjKCJvcmFuZ2UiLCJibHVlIiwicHVycGxlIikNCg0KICAgIGJhcnBsb3QoeCx4bGFiPSJDaWxpbmRyb3MiLHlsYWI9IkZyZWN1ZW5jaWFzIixtYWluPSJOw7ptZXJvIGRlIENpbGluZHJvcyIsY29sPWNvbG9yZXMpDQoNCmBgYCByDQp5IDwtIHRhYmxlKG10Y2FycyRnZWFyKQ0KDQpiYXJwbG90KHkseGxhYj0iRW5ncmFuYWplcyIseWxhYj0iRnJlY3VlbmNpYXMiLG1haW49Ik7Dum1lcm8gZGUgRW5ncmFuYWplcyIsY29sPXJhaW5ib3coMykpDQpgYGANCg0KYGBgIHB5dGhvbg0KaW1wb3J0IG1hdHBsb3RsaWIscHlwbG90IGFzIHBsdA0KDQplamVfeD1bNCw2LDhdDQoNCmVqZV95PVsxMSw3LDE0XQ0KDQpjb2xvcmVzPVsnb3JhbmdlJywnYmx1ZScsJ3B1cnBsZSddDQoNCnB5LmJhcihlamVfeCxlamVfeSxjb2xvcj1jb2xvcmVzKQ0KDQpweS50aXRsZSgnTsO6bWVybyBkZSBDaWxpbmRyb3MnKQ0KDQpweS54bGFiZWwoJ0NpbGluZHJvcycpDQoNCnB5LnlsYWJlbCgnRnJlY3VlbmNpYXMnKQ0KDQpweS5zaG93KCkNCmBgYA0KDQogICAgU0VMRUNUIGlkX3VzdWFyaW8sdXN1YXJpb19ub21icmUsdXN1YXJpb19hcGVsbGlkbw0KDQpgYGAgc3FsDQpVU0UgTm9ydGh3aW5kOw0KDQpTRUxFQ1QgKiBGUk9NIFByb2R1Y3RzOw0KYGBgDQoNCiMjIEFudWxhciBTaW50YXhpcyBNYXJrZG93bg0KDQpcIyBFc3RvIGRlYmVyw61hIHNlciB1biB0w610dWxvIHRpcG8gMQ0KDQpcKlwqRXN0byBkZWJlcsOtYSBzZXIgdGV4dG8gZm9ybWF0ZWFkbyBjb21vIE5lZ3JpdGFcKlwqDQoNClwqRXN0byBkZWJlcsOtYSBzZXIgdGV4dG8gZm9ybWF0ZWFkbyBjb21vIEN1cnNpdmFcKg0KDQojIyBQaWUgZGUgcMOhZ2luYQ0KDQojIyBFY3VhY2lvbmVzIC0gRsOzcm11bGFzDQoNCiMjIFNpbnRheGlzIHkgY29tYW5kbyBMYVRleCAtIEHDsWFkaXIgZWN1YWNpb25lcyB5IGbDs3JtdWxhcyBhIG51ZXN0cm8gZG9jdW1lbnRvIE1hcmtkb3duDQoNCiMjIyBTdXBlcsOtbmRpY2UgLSBQb3RlbmNpYQ0KDQokJA0KRT1tY14yDQokJA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJCQNCmFeMiArIGJeMiA9IGNeMg0KJCQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMjIyBTdWLDrW5kaWNlDQoNCiQkDQpIXzJPDQokJA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJCQNCk5IXzMNCiQkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyMgRnJhY2Npb25lcyAtIENhc29zIC0gRWplbXBsb3MNCg0KJCQNClxmcmFjezV9ezR9DQokJA0KDQokJA0KXGZyYWN7NX17NH0gKyBcZnJhY3szfXsyfQ0KJCQNCg0KJCQNClxmcmFjezN9ezV9IC0gXGZyYWN7Mn17OH0NCiQkDQoNCiQkDQpcZnJhY3s2fXs3fSBcdGltZXMgXGZyYWN7OH17OX0NCiQkDQoNCiQkDQpcZnJhY3s3fXs4fSBcY2RvdCBcZnJhY3s1fXs2fQ0KJCQNCg0KJCQNClxmcmFjezl9ezV9IFxkaXYgXGZyYWN7NH17Nn0NCiQkDQoNCiQkDQooXGZyYWN7MX17Mn0pDQokJA0KDQokJA0KXGxlZnQoXGZyYWN7NX17Nn1ccmlnaHQpXjINCiQkDQoNCkRhZGEgbGEgZnJhY2Npw7NuICRcdGZyYWN7MX17Mn0kIHBvZGVtb3MgZGV0ZXJtaW5hciBlbCB2YWxvciBkZSBsYSB2YXJpYWJsZSAuLi4NCg0KRGFkYSBsYSBmcmFjY2nDs24gJFxmcmFjezF9ezJ9JCBwb2RlbW9zIGRldGVybWluYXIgZWwgdmFsb3IgZGUgbGEgdmFyaWFibGUuLi4NCg0KRGFkYSBsYSBmcmFjY2nDs24gJFxkZnJhY3sxfXsyfSQgcG9kZW1vcyBkZXRlcm1pbmFyIGVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlLi4uDQoNCiMjIyBTdW1hdG9yaWENCg0KJCQNClxzdW1fe2k9MX1eNCBccXVhZCAoM2ktMSkNCiQkDQoNCiQkDQpcc3VtX3tpPTN9XjYgXHF1YWQgMmktMQ0KJCQNCg0KJCQNClxzdW1fe2k9Mn1eNyBccXVhZCBcZnJhY3tpXjJ9e2krMX0NCiQkDQoNCiMjIyBMb2dhcml0bW9zDQoNCiQkDQpcbG9nXzd7NDl9PTINCiQkDQoNCiQkDQpcbG9nXzZ7MjE2fT0zDQokJA0KDQokJA0KXGxvZ18zezgxfT00DQokJA0KDQojIyMgUmHDrWNlcw0KDQokJA0KXHNxcnR7Mn09IDEuNDE0MjEzNTYyDQokJA0KDQokJA0KXHNxcnR7M309MS43MzIwNTA4MDMNCiQkDQoNCiQkDQpcc3FydHs0fT0gMg0KJCQNCg0KJCQNClxzcXJ0WzNde1xmcmFjezI1fXsyNTB9fQ0KJCQNCg0KIyMjIE1hdHJpY2VzDQoNCiQkDQpcYmVnaW57bWF0cml4fQ0KNCAmIDcgJiA5IFxcDQo2ICYgOSAmIDEwIFxcDQo0ICYgOCAmIDMNClxlbmR7bWF0cml4fQ0KJCQNCg0KJCQNClxiZWdpbntwbWF0cml4fQ0KNCAmIDcgJiA5IFxcDQo2ICYgOSAmIDEwIFxcDQo0ICYgOCAmIDMNClxlbmR7cG1hdHJpeH0NCiQkDQoNCiQkDQpcYmVnaW57Ym1hdHJpeH0NCjQgJiA3ICYgOSBcXA0KNiAmIDkgJiAxMCBcXA0KNCAmIDggJiAzDQpcZW5ke2JtYXRyaXh9DQokJA0KDQokJA0KXGJlZ2lue0JtYXRyaXh9DQo0ICYgNyAmIDkgXFwNCjYgJiA5ICYgMTAgXFwNCjQgJiA4ICYgMw0KXGVuZHtCbWF0cml4fQ0KJCQNCg0KJCQNClxiZWdpbnt2bWF0cml4fQ0KNCAmIDcgJiA5IFxcDQo2ICYgOSAmIDEwIFxcDQo0ICYgOCAmIDMNClxlbmR7dm1hdHJpeH0NCiQkDQoNCiQkDQpcYmVnaW57Vm1hdHJpeH0NCjQgJiA3ICYgOSBcXA0KNiAmIDkgJiAxMCBcXA0KNCAmIDggJiAzDQpcZW5ke1ZtYXRyaXh9DQokJA0KDQojIyMgRWN1YWNpb25lcw0KDQpEYWRhIGxhIGZ1bmNpw7NuDQoNCiQkDQpmKHgpPXkNCiQkDQoNCnBvZGVtb3MgZGV0ZXJtaW5hciBlbCB2YWxvciBkZSBsYSB2YXJpYWJsZS4uLg0KDQokJA0KXHRleHR7RsOzcm11bGEgRWN1YWNpw7NuIDLCuiBHcmFkb31ccXVhZCB4PVxmcmFjey1iIFxwbSBcc3FydHtiXjIgLSA0YWN9fXsyYX0NCiQkDQoNCiMjIyBTw61tYm9sb3MNCg0KJCQNCig5MDApDQokJA0KDQokJA0KWzkwMF0NCiQkDQoNCiQkDQp8OTAwfA0KJCQNCg0KJCQNCjkwMCA+IDg3Nw0KJCQNCg0KJCQNCjQ1NTwgNTAwDQokJA0KDQokJA0KOTAwID49IDg2NQ0KJCQNCg0KJCQNCjM0NCA8PSA4OTkNCiQkDQo=