diff --git a/tepm/lect01-24.qmd~ b/tepm/lect01-24.qmd~ deleted file mode 100644 index 52f7e48..0000000 --- a/tepm/lect01-24.qmd~ +++ /dev/null @@ -1,330 +0,0 @@ ---- -title: Economía Política -title-slide-attributes: - data-background-image: background.png - data-background-size: contain - data-background-opacity: "0.5" -subtitle: Unidad 1. Es la política, estúpido! Introducción a la economía política -author: | - | **Sebastián Freille** - | sfreille@unc.edu.ar - | Licenciatura en Economía - | FCE-UNC -format: - revealjs: - slide-number: true - preview-links: auto - css: ..\quarto.css - width: 1500 - center-title-slide: true - center: true - tbl-cap-location: bottom - toc: true - toc-depth: 1 - toc-title: Contenidos - link-external-newwindow: true ---- - -> Los economistas deben no sólo conocer sus modelos económicos, sino que también entender de política, intereses, conflictos, pasiones, es decir, la esencia de la vida colectiva. Por un pequeño período de tiempo, uno puede realizar cambios a través de decretos: pero para que ellos persistan, uno debe construir coaliciones y tener gente que los soporte. Es decir, se debe ser un político.\ -**[Alejandro Foxley, ex Ministro de Finanzas de Chile]** - -# **Introducción a la economía política** {background="#CAA811"} - -- Economía y política -- Antecedentes, tradiciones y metodología -- Enfoque: limitaciones y considerandos - -## Economía y política - -- Economía $\longrightarrow$ uso óptimo de recursos escasos -- Política $\longrightarrow$ estudio del poder y la autoridad -- Poder $\longrightarrow$ habilidad (capacidad) de individuos y/o grupos para lograr sus objetivos -- En cualquier estudio que pretenda describir la complejidad de las relaciones sociales en sus dimensiones económicas y políticas, estos elementos deben analizarse en forma conjunta. - -## Economía y politica (cont.) - -- La economía como disciplina nace y se desarrolla como economía política (Smith, Ricardo, Marx, JS Mill, Say). La economia neoclásica enfoca en **planificador benevolente** $\longrightarrow$ enfoque normativo -- ¿Cómo y porqué es la política económica como es? ¿Cómo es el proceso político de toma de decisiones colectivas por parte de **agentes con preferencias diferentes** $\longrightarrow$ enfoque positivo -- Esto último es lo que se entiende modernamente por **economia política** - -## Economía y política: tradiciones - -- Tres tradiciones nutren a la economia política - - Teoría de la **política macroeconómica** $\longrightarrow$ exp. racionales, incentivos del *policy maker* y comportamiento estratégico. Teórica; instituciones políticas poco realistas - - Teoría de la **elección pública** $\longrightarrow$ finanzas públicas, política regulatoria. Eje: problema de agencia entre el gobierno (agente) y ciudadanos (principal). - - Teoría de la **elección social** $\longrightarrow$ modelos formales de análisis político. Se inicia con los modelos de votación espacial y la teoría axiomática de la elección social (Arrow). Estudia decisiones colectivas en instituciones políticas específicas. - -## Enfoque metodológico - -> Enfoque de la economía política moderna: síntesis -Utiliza el enfoque de equilibrio general de la **teoría macroeconómica** -de la política y explota las herramientas de la **teoría de la elección -racional** para el análisis de los problemás principales de la **teoría -de la elección pública** - -## Enfoque: resumen - -- Enfoque consiste en aplicar métodos de análisis modernos al ámbito político $\longrightarrow$ politicas económicas resultado de interacción entre individuos racionales con preferencias heterogéneas -- Si bien el método en ocasiones suele ser criticado por excesivamente formal y racionalista, se pueden incorporar otros paradigmas para analizar el efecto de relajar ciertos supuestos. - -## Las tres I's - -> **Intereses.** -Representados por preferencias de diferentes agentes por alternativas -de políticas. Se modelan al nivel individual. - -> **Instituciones.** -Restricciones creadas por los humanos que estructuran la interacción -económica, política y social. - -> **Ideas.** -Incluyen paradigmas, sentimientos públicos, programas y encuadres que -moldean e impactan el tipo y forma de las decisiones adoptadas. - -# **Heterogeneidad en políticas y outcomes** {background="#CAA811"} - -- Hechos estilizados -- Explicaciones económicas y políticas -- ¿Por qué fracasan los países? - -## Gasto público y PIB - -- Existe una relación positiva entre gasto público y PIB per capita con alguos *outliers* y posibles no linearidades -- ¿Cómo se explican estas diferencias desde un enfoque puramente económico sin considerar la politica? -- Posibles explicaciones $\longrightarrow$ 1) mayor rol redistributivo del Estado; 2) instituciones políticas --presidencialismo vs parlamentarismo, mayoritario vs representación proporcional. - -## Gasto público y PIB (cont.) - -![Gasto público ($\%PIB$) y PBI per capita](fig/fig-01-001.png){#fig:01001} - -## Gasto público y PIB: evolución - -- Si miramos evolución comparada de largo plazo, observamos claras tendencias a mayor participación estatal en la economía $\longrightarrow$ medido tanto por el lado de gastos como de recursos y también para diferentes países -- También aquí la política es importante $\longrightarrow$ expansión y fortalecimiento de las democracias en los últimos 150 años -- ¿Diferentes preferencias? ¿Diferentes instituciones? - -## Gasto público y PIB: evolución (cont.) - -![Evolución gasto público ($\%PIB$) - Paises industriales](fig/fig-01-002.png){#fig:01002} - -## Gasto público y PIB: evolución (cont.) - - -![Evolución gasto público ($\%PIB$) - Países en desarrollo](fig/fig-01-003.png){#fig:01003} - -## Tributos y PIB - -- Países pobres versus ricos con similar recaudación tributaria --ie. tamaño del Estado- $\longrightarrow$ Lesotho/Alemania -- Países con similar riqueza pero diferente rol del Estado $\longrightarrow$ Oman y Arabia Saudita / EEUU / Noruega -- Economia puede explicar algunas diferencias $\longrightarrow$ ley de Wagner, efecto "umbral" -- Varias teorías explicativas desde el estudio de la política $\longrightarrow$ 1) maldición de los recursos, 2) corrupción, 3) incentivos político-electorales - -## Tributos y PIB (cont.) - -![Recaudacion tributaria ($\%PIB$) y PBI per capita](fig/fig-01-004.png){#fig:01004} - -## Tributos y PIB (cont.) - -![Evolución recaudación tributaria ($\%PIB$) - Países industriales](fig/fig-01-005.png){#fig:01005} - -# **"It's politics"** {background="#CAA811"} - -- Individuos heterogeneos en varios aspectos -- Desvíos de los teoremas de bienestar -- Tipos de heterogeneidad e implicancias -- ¿Cómo se deciden los "pesos"? - -## Heterogeneidad de intereses - -- Un aspecto relevante de la política es en lo que hace a la **heterogeneidad de intereses** -- Restricciones políticas derivadas de ello implica que las políticas adoptadas en la práctica **no son óptimas** -- Implicaciones positivas $\longrightarrow$ si la política óptima se encuentra no resulta cierto que esta se implementa (implícito en la *economía del bienestar*) -- Implicaciones normativas $\longrightarrow$ ¿cómo pueden diseñarse instituciones y políticas para lograr ciertos objetivos? - -## Los teoremas del bienestar - -> **Primer teorema del bienestar (1TDB)** $\longrightarrow$ cualquier asignación que resulta de un equilibrio competitivo es Pareto-eficiente - -> **Segundo teorema del bienestar (2TDB)** $\longrightarrow$ bajo preferencias convexas, cualquier asignación Pareto-eficiente *puede* resultar en un equilibrio competitivo (mediante una reasignación de las dotaciones iniciales) - -- Los teoremas son las dos espadas principales de la economía del bienestar en cuanto orientaciones de política económica --en este sentido la economía del bienestar es un asunto de *economía normativa* [Blaug (1978), Price (1977)] - -## 1TDB: Eficiencia asignativa - -![Equilibrio competitivo es Pareto-eficiente](fig/fig-01-006.png){width=45%} ![Curva de contrato](fig/fig-01-007.png){width=45%} - -## 2TDB: Eficiencia en (re)distribución - -![Cada dotación origina un equilibrio](fig/fig-01-008.png) - - -## "Todos los modelos están mal..." - -- Eficiencia Paretiana $\longrightarrow$ deseable pero débil e insuficiente --una persona consumo todo y el resto nada será Pareto-eficiente -- Condiciones muy estrictas --externalidades, competencia, información perfecta e individuos racionales -- El 2TDB asume que no hay ***trade-off* eficiencia versus equidad**. -- Es un resultado con profundas implicancias sobre cómo pensar la organización de la actividad económica en cualquier economía [Stiglitz (1991)] - -## Sobre la redistribución inicial - -- El 2TDB supone *implícitamente* que la redistribución inicial de la dotación/riqueza se hace via **transferencias *lump-sum*** --no voluntarias- entre consumidores [en la práctica esto sería un **impuesto *lump-sum***] -- El tamaño de la transferencia no se ve afectado por cambio en la conducta --no hay efecto sustitución, sólo efecto ingreso. -- El problema es que este mecanismo es inviable --las dotaciones iniciales no pueden ser observadas por el gobierno - -## Sobre la redistribución inicial (cont.) - -- Cada consumidor tiene dotación y preferencias. La dotación de consumidor $h$ es $w^{h}=(w_{1}^{h},w_{2}^{h})$ donde $w_{i}^{h} \geq 0$ el stock inicial de $i$ de $h$. -- Dados los precios $p_{1}$ y $p_{2}$, un plan de consumo para $h$ es $x^{h}=(x_{1}^{h},x_{2}^{h})$ y satisface la RP. -$$\begin{aligned} -p_{1}x_{1}^{h}+p_{2}x_{2}^{h}=p_{1}w_{1}^{h}+p_{2}w_{2}^{h} -\end{aligned}$$ -- La función de utilidad del consumidor $h$ es: -$$\begin{aligned} -U^{h}=U^{h}(x_{1}^{h},x_{2},^{h}) -\end{aligned}$$ - -## Sobre la redistribución inicial (cont.) - -![Dotaciones y consumos](fig/fig-01-010.png) - -## Sobre la redistribución inicial (cont.) - -- En el punto inicial, el ingreso de $h$ es $\hat{p}w^{h}$. El valor de la transferencia requerida para $h$ es igual a: -$$\begin{aligned} -M^{h}-\hat{p}w^{h}=\hat{p}x^{h}-\hat{p}w^{h} -\end{aligned}$$ -- Una forma de hacerlo sería transferir $\tilde{x}_{1}^{1}$ del bien 1 del consumidor 1 al 2 --$\tilde{x}_{h}^{i}$ denota el consumo *neto* del bien $i$, es decir $x_{h}^{1}-w_{h}^{1}$. -- Problema $\longrightarrow$ es imposible transferir dotaciones --la dotacion de cada persona es su oferta de trabajo --por esa razón, se modelan como **impuestos de suma fija**. - -## Sobre la redistribución inicial (cont.) - -![Implica redistribución de dotación](fig/fig-01-009.png) - -## Sobre la redistribución inicial (cont.) - -- Suponga que ambos consumidores venden su dotación (trabajo) al precio $\hat{p}$ $\longrightarrow$ ingresos de $\hat{p}w^{1}$ y $\hat{p}w^{2}$ -- Ahora, con impuestos, el consumidor 1 pagaría -$$\begin{aligned} -T^{1}=\hat{p}\tilde{x}_{1}^{1} -\end{aligned}$$ -- y le daria ese monto al consumidor 2, por lo que este pagaría un impuesto negativo (subsidio) igual a $T^2=-\hat{p}\tilde{x}_{1}^{1}=-T^{1}$ -- El par de impuestos $\left(T^{1},T^{2}\right)$ mueve la RP igual que las transferencias --el **impuesto de suma fija no reduce la suma de dotaciones iniciales**; redistribución sin costo de eficiencia $\longrightarrow$ impuestos perfectos! - -## Falacia del 2TDB - -> Se puede alcanzar cualquier resultado eficiente en el sentido de Pareto a través de (1) redistribución de las dotaciones iniciales (impuestos *lump-sum*) y luego (2) dejar que los mercados actúen libremente - -- Pero la redistribucion de dotaciones iniciales no es viable (problema de información) $\longrightarrow$ el gobierno debe usar impuestos y transferencias distorsivas. -- Esto implica de facto la **existencia de un trade-off eficiencia y equidad** - -## Falacia del 2TDB (cont.) - -> Suponga que la economía hay un 50\% de gente incapacitada para trabajar (ingresos $0$) y 50\% de personas que pueden trabajar y ganar $100$ - -- **Resultado mercado.** Incapacitados ganan $0$, resto gana $100$ -- **Resultado 2do TdB.** El gobierno puede distinguir incapacitados de capacitados. Pone un impuesto de $50$ a los capacitados y le da $50$ a cada incapacitado --los capacitados continuan trabajando. -- **Resultado real.** El gobierno no puede distinguir entre grupos. El combo de un impuesto de $50$ sobre trabajadores y de un subsidio de $50$ sobre no trabajadores destruye todos los incentivos a trabajar. El gobiern no puede hacer redistribución completa --trade-off entre equidad y eficiencia. - -# **Aplicación: Equilibrio con y sin política** {background="#CAA811"} - -- No hay política: problema técnico -- Con política: modelar la heterogeneidad -- Heterogeneidad *ex-ante* -- Heterogeneidad *ex-post* -- El problema de economía política - -## Equilibrio sin política - -- Basado en Drazen (2000) y Ferguson/Querubin (2018) -- Suponga un **individuo representativo**, Ana quien debe elegir cuánto destinar de sus recursos iniciales $A_{o}$ para sus vacaciones de este año y el próximo -- Note que no hay problema político (no conflicto de intereses) sino uno técnico -- ¿Cuál es la manera óptima de dividir los recursos entre de vacaciones (presente y futuro)? - -## Equilibrio sin política (cont.) - -- Sea $u(x_{t})$ la utilidad de Ana por destinar $x$ a sus vacaciones en $t$ con $u'>0$ y $u''<0$. El parámetro $\beta$ compara utilidades en distintos momentos --una unidad de utilidad hoy es igual a $\beta$ unidades de utilidad mañana \[$0<\beta<1$\] -- Problema: $$\max_{x_{t},x_{t+1},s} u(x_{t})+\beta u(x_{t+1})$$ -- sujeto a: - $$\begin{aligned} - A_{0}(1-s)&=x_{t} \\ - sA_{0}(1+r_{t})&=x_{t+1} - \end{aligned}$$ - -## Equilibrio sin política (cont.) - -- Sustituyendo las restricciones: - $$\max_{x_{t}}u(x_{t})+\beta((A_{o}-x_{t})(1+r_{t}))$$ -- Y la solución de esto es: $$u'(x_{t})=\beta(1+r_{t})u'(x_{t+1})$$ -- ¿Interpretación de esta solución (ecuación de Euler)? - -## Equilibrio con política: *ex-ante* - -- **Con individuos heterogéneos ex-ante** $\longrightarrow$ preferencias diferentes por consumo presente/futuro \[dos tipos de heterogeneidad: *ex ante* y *ex post*\] -- Los recursos son los mismos que antes pero ahora hay dos individuos, Ana (A) y Juan (J) y sea $\beta^{A}>\beta^{J}$ \[Juan es más impaciente que Ana\] -- Problema $\longrightarrow$ maximizar la función de bienestar social (suma ponderada de utilidades individuales) $\longrightarrow$ $\alpha$ ponderación de cada individuo - -## Equilibrio con política: *ex-ante* (cont.) - -- Problema (neoclasico): $$\max_{x_{t},x_{t+1},s} \alpha\left[u(x_{t})+\beta^{A}u(x_{t+1})\right] + (1-\alpha)\left[u(x_{t})+\beta^{J}u(x_{t+1})\right]$$ -- sujeto a: $$A_{0}=x_{t}+\frac{x_{t+1}}{(1+r_{t})}$$ -- si el bien "vacaciones" es no rival --unica fuente de conflicto la diferencia ex-ante en el grado de impaciencia de cada uno - -## Equilibrio con política: *ex-ante* (cont.) - -- Sustituyendo las restricciones: $$u'(x_{t})=(1+r_{t})[\alpha \beta^{A}+(1-\alpha)\beta^{J}]u'(x_{t+1})$$ -- Para diferentes $\alpha$ trazamos **curva de contrato** con asignaciones de $x_{t}$ y $x_{t+1}$ eficientes en sentido de Pareto -- Varios problemas con esto: 1) cada persona requiere un $\alpha$ mas alto, 2) ¿cómo se determina $\alpha$, 3) ¿cómo afecta el valor de $\alpha$ a la asignación de recursos, 4) ¿estaremos sobre la curva de contrato? - -## Equilibrio con política: *ex-post* - -- **Sin individuos heterogéneos ex-ante** $\longrightarrow$ problema converge al del individuo representativo PERO las vacaciones no son un bien no rival. El problema es: $$\begin{aligned} - \max_{x_{t},x_{t+1},s} & \alpha\left[u(\lambda x_{t})+\beta u(\lambda - x_{t+1})\right] \\ & +(1-\alpha)\left[u((1-\lambda) x_{t})+\beta u((1-\lambda) x_{t+1})\right] - \end{aligned}$$ -- sujeto a \[$\lambda$ porcentaje que disfruta Juan del gasto $x$\] - $$\begin{aligned} - A_{0}(1-s)&=x_{t}=\lambda x_{t}+(1-\lambda)x_{t} \\ - sA_{0}(1+r_{t})&=x_{t+1}=\lambda x_{t+1}+(1-\lambda)x_{t+1} - \end{aligned}$$ - -## Equilibrio con política: *ex-post* (cont.) - -- Resolviendo: $$\begin{aligned} - \alpha \lambda u'(\lambda - x_{t})+(1-\alpha)(1-\lambda)u'((1-\lambda)x_{t})= \\ - \beta(1+r_{t})\left[\alpha \lambda u'(\lambda - x_{t+1})+(1-\alpha)(1-\lambda)u'((1-\lambda)x_{t+1})\right] - \end{aligned}$$ -- Note que $\alpha$ es crucial $\longrightarrow$ pero ahora $\lambda$ también lo es \[aún suponiendo que $\alpha=0.5$ existe conflicto de interés\] $$\begin{aligned} -\lambda u'(\lambda - x_{t})+(1-\lambda)u'((1-\lambda)x_{t})= \\ - \beta(1+r_{t})\left[\lambda u'(\lambda - x_{t+1})+(1-\lambda)u'((1-\lambda)x_{t+1})\right] - \end{aligned}$$ -- Si $\lambda=1$, el resultado seria preferido por Juan y si $\lambda=0$ el resultado sería preferido por Ana. - -## Equilibrio con política: *ex-post* (cont.) - -- Cuando no hay heterogeneidad, el problema es trivial $\longrightarrow$ problema técnico depende de parámetros subjetivos -- Cuando hay heterogeneidad en preferencias (*ex ante*) $\longrightarrow$ como se ponderan utilidades individuales \[$\alpha$ exógeno\] -- Cuando hay heterogeneidad en distribución (*ex post*) $\longrightarrow$ como se ponderan utilidades invididuales y como se distribuye/asigna las cantidades consumidas del bien -- ¿Cómo se determinan los parámetros $\alpha$ y $\lambda$ en la práctica? No a través del mercado sino del proceso político - -## Economía y política: todo junto - -- Una persona, un voto $\longrightarrow$ **democracia** -- Un dólar, un voto $\longrightarrow$ **mercado** -- Función objetivo del gobierno incluye ambos $$\begin{aligned} - G&=f(W,C)=\alpha W+\sum_{i}C_{i} - \end{aligned}$$ -- $W$ es bienestar agregado; $C_{i}$ es dinero aportado por grupo $i$ --$\alpha$ ponderador del bienestar agregado. - -## Economía y política: todo junto (cont.) - -![Economía política de la política económica](fig/fig-01-011.png) - -## Recap - -- La política económica en las sociedades modernas no puede explicarse sólamente en base a teorías y evidencias económicas $\longrightarrow$ introducir la política explícitamente en el análisis -- Hay varias formas de introducir la política $\longrightarrow$ optamos por la aproximación de la nueva economia política -- Pondremos el énfasis en algunos sencillos modelos teóricos --de comportamiento-- pero ilustraremos el análisis con evidencias empíricas diff --git a/tepm/lect02-24.html b/tepm/lect02-24.html index 005d27c..2978c2f 100644 --- a/tepm/lect02-24.html +++ b/tepm/lect02-24.html @@ -5,11 +5,12 @@ + - + -
Unidad 2. En la vida hay que elegir. ¿Cómo eligen las sociedades?
+Unidad 2. ¿La democracia es el peor sistema de gobierno? Si, con excepción de todas las demás
-Una mayoría sujeta a las limitaciones constitucionales y que cambie fácilmente conforme a los cambios de la opinión popular es el verdadero soberano de un pueblo libre; el que la deseche cae en la anarquía; la unanimidad es imposible; rechazando el principio de la mayoría, sólo queda ya el despotismo…
+
-[Abraham Lincoln, Toma de Posesión (1861)]El poder no es un medio, sino un fin en si mismo. No se establece una dictadura para salvaguardar una revolución; se hace la revolución para establecer una dictadura
+[George Orwell, 1984 (1949)]
Provisiones legales para iniciativas de agenda en nivel nacional
El ascenso de la democracia en los últimos 200 años
Provisiones legales para democracia directa en nivel local
La “edad” de las democracias electorales
Indices y cobertura
Grado de apoyo a redistribución - Ideología/Partidismo
Grado de democracia liberal (hoy) y educación (hace 50 años)
Grado de apoyo a redistribución - Evolución
Democracia y PIB per capita
Grado de apoyo a redistribución de millenials - Edad e ingresos
Democracia y resultados sanitarios
Teorema de May
-El único método que satisface las condiciones de anonimidad, neutralidad y monotonicidad para determinar un ganador de una elección entre dos alternativas es la regla de la mayoría absoluta.
-No trates de entenderla…
-+El ganador es \(A\). ¿Que pasa si intercambian sus votos? (anonimidad)
-
\[\begin{align} +V^{p}(R,\mu^{S})&=\frac{(1-\mu^{S})y}{1-\delta} \\ +V^{r}(R,\mu^{H})&=V^{r}(R,\mu^{L})=0 +\end{align}\]
-+¿Que pasa si cada uno revierte su preferencia? (neutralidad)
-
-+Qué pasa si votó antes por el perdedor, ahora vota por el ganador? (monotonicidad)
-
Decisiones y payoffs en no democracia
Orden | -Juan | -Pedro | -María | -
---|---|---|---|
1 | -A | -C | -B | -
2 | -B | -A | -C | -
3 | -C | -B | -A | -
Teorema de la imposibilidad de Arrow
-No existe una función de ordenamiento social \(\succ\) tal que para cualquier grupo G cuyos miembros tengan todos preferencias racionales, \(\succ\) sea un ordenamiento racional (transitivo) y que satisfaga los cuatros supuestos de dominio universal, optimalidad de Pareto, independencia de alternativas irrelevantes y no dictadura.
---Un tratamiento positivo del problema general de política económica involucra especificar un diseño institucional específico y preguntarse como el mismo agrega las acciones políticas, basadas en las preferencias de política individuales, en políticas de equilibrio.
-
… pero …
+\[\begin{align} +V^{p}(N,\tau^{N}=\tau^{p}) &\geq V^{p}(R,\mu^{H}) \\ +y^{p}+p(\tau^{p}(y-y^{p})-c(\tau^{p})y) &\geq \frac{(1-\mu)y}{1-\delta} \\ +\frac{(1-\theta)y}{1-\delta}+p(\tau^{p}(y-\frac{(1-\theta)y}{1-\delta})-c(\tau^{p}y)) &\geq \frac{(1-\mu)y}{1-\delta} \\ +(1-\theta)+p\tau^{p}(\theta-\delta)-p(1-\delta)c(\tau^{p}) &\geq (1-\mu) \\ +\mu \geq \theta-p(\tau^{p}(\theta-\delta)-(1-\delta)c(\tau^{p})) \equiv \mu^{*} +\end{align}\]
El Teorema de la Imposibilidad dice que no
--Marie-Jean-Antoine-Nicolas de Caritat, marquis de Condorcet. Filósofo y matemático francés. Fue un precursor de los derechos humanos, el reclamo de justicia, las ideas democráticas y de los derechos de las mujeres. Durante su vida combinó el pensamiento analítico y formal con sus acciones e ideas políticas –pasó de apoyar una monarquía constitucional a una república democrática y de apoyar el voto calificado (según bienes) al voto uniersal. Murió en la cárcel luego de huir durante años de las autoridades de la Revolución Francesa. Dejó dos ideas memorables para la ciencia y economía política: 1) la paradoja de Condorcet; 2) el teorema del jurado.
-
Teorema del jurado y la paradoja de Condorcet (cont.)
+Proposición 1
Dado un grupo de votantes (“un jurado”) decidiendo independientemente entre un resultado correcto con \(prob\) \(0 \leq 1\) y un resultado incorrecto con \(prob\) \(1-p\). 1. Si \(p > 1/2\) (c/votante tiende a votar más correcto que incorrecto), añadir más votantes aumenta la \(prob\) de que la mayoría elija correctamente y la \(prob\) de una decisión correcta tiende a 1 2. Si \(p < 1/2\) (c/votante tiende a votar más incorrecto que correcto), añadir más votantes disminuye la \(prob\) de que la mayoría elija correctamente y la \(prob\) de una decisión correcta se maximiza para un tamaño igual a 1.
+Hay un equilibrio perfecto en subjuegos único para el juego representado en la figura descrito por los siguientes resultados
Definición 1
+Proposición 1 (cont.)
Un ganador de Condorcet es una política \(\mathbf{q^{*}}\) tal que vence a cualquier otra política factible en una votación de a pares
+Definición 2
-Las preferencias de política del votante \(i\) son de pico único si lo siguiente se cumple:
-Si \(q^{''} \leq q^{'} \leq q(\alpha^{i})\) o \(q^{''} \geq q^{'} \geq q(\alpha^{i})\), entonces
-\(W(q^{''};\alpha^{i}) \leq W(q^{'};\alpha^{i})\)
Proposición 1
-Si todos los votantes tienen preferencias de política de pico único sobre un ordenamiento dado de alternativas de política, un ganador de Condorcet siempre existe y coincide con el punto ideal del mediano
-Preferencias de política (\(\tau\)) [Fuente: Fergusson y Querubin (2018)]
Fijamos el vector de parámetros a un valor dado, ordenamos a los individuos en función de sus puntos ideales \(q(\alpha^{i})\) y etiquetamos al punto ideal del mediano como \(q^{m}\). Suponga que \(q^{m}\) se enfrenta en votación de a pares a cualquier otra política \(q^{''}<q^{m}\). De acuerdo a la Definición 2, cualquier individuo cuyo punto ideal satisface \(q^{m} \leq q(\alpha^{i})\) prefiere \(q^{m}\) a \(q^{''}\) dado que está más cerca de su punto ideal. Por el supuesto de voto sincero (A2), votan por \(q^{m}\). La coalición que vota por \(q^{m}\) entonces constituye una mayoría. Por razonamiento análogo a \(q^{''}>q^{m}\), obtenemos el resultado de que \(q^{m}\) es un ganador de Condorcet
+Decisiones y payoffs en democratización
Corolario 1
-\(q^{m}\) es la única política de equilibrio (punto estable) bajo regla de mayoría pura, esto es bajo supuestos A1-A3.
-El votante mediano no existe!
Polarización y preferencias de pico único
--Implicancia fundamental \(\longrightarrow\) aún cuando los miembros del grupo tengan puntos de vista muy diferentes sobre lo que el grupo debería hacer, la regla de la mayoría funciona a la perfección siempre y cuando se obtenga un grado mínimo de consenso (captado mediante una curva de pico único).
-
\[\begin{align} +V^{p}(D) &\geq V^{p}(R,\mu^{H}) \\ +y^{p}+[\tau^{p}(y-y^{p})-c(\tau^{p})y] &\geq \frac{(1-\mu)y}{1\delta} \\ +\frac{(1-\theta)y}{1-\delta}+[\tau^{p}(y-\frac{(1-\theta)y}{1-\delta})-c(\tau^{p})y] &\geq \frac{(1-\mu)y}{1\delta} \\ +y[{(1-\theta)y}{1-\delta}+(\tau^{p}\frac{(\theta-\delta)}{1-\delta}-c(\tau^{p}))] &\geq \frac{(1-\mu)y}{1\delta} \\ +(1-\theta)+\tau^{p}(\theta-\delta)-(1-\delta)c(\tau^{p}) &\geq (1-\mu)\\ +\mu \geq \theta-(\tau^{p}(\theta-\delta)-(1-\delta)c(\tau^{p})) &\equiv \mu^{**} +\end{align}\]
+Definición 3
+Proposición 2
Las preferencias de los votantes en \(\mathcal{V}\) satisfacen la propiedad de cruce único si lo siguiente se cumple:
-Si \(q>q^{'}\) y \(\alpha^{i'}>\alpha^{i}\), o si \(q<q^{'}\) y \(\alpha^{i'}<\alpha^{i}\), entonces
-\(W(q;\alpha^{i}) \geq W(q^{'};\alpha^{i})\) \(\Rightarrow\) \(W(q;\alpha^{i'}) \geq W(q^{'};\alpha^{i'})\)
Hay un equilibrio perfecto en subjuegos único para el juego representado en la figura descrito por los siguientes resultados
+Proposición 2
+Proposición 2 (cont.)
Si las preferencias de los votantes en \(\mathcal{V}\) satisfacen la propiedad de cruce único, un ganador de Condorcet siempre existe y coincide con el punto ideal del votante con el valor mediano de \(\alpha^{i}\).
+--En cuestiones políticas y electorales, la propiedad de cruce único puede ser más realista e intuitiva que la propiedad de pico único. Si los diferentes tipos son interpretados como diferentes tipos ideológicos ordenados en una escala de izquierda a derecha, y luego las alternativas son políticas públicas a ser elegidas por la sociedad. De esta forma, dadas 2 (dos) políticas, una más a la derecha que la otra, mientras mas “derechoso” sea el tipo, más preferirá la política que está más a la derecha por sobre la que está a la izquierda.
+Thus, the relationship between income distribution and growth should be stronger in democracies than in dictatorships. However, dictator’s policy decisions are also influenced by social demands and social conflicts. For instance, a large group of impoverished workers or landless peasants may threaten the stability of the regime and force the leadership to implement growth-retarding redistributions.
+[Alesina and Rodrik (1994)]
\[\begin{aligned} -x \succ_{1} y \succ_{1} z \\ -x \succ_{2} z \succ_{2} y \\ -z \succ_{3} y \succ_{3} x -\end{aligned}\]
-\[\begin{aligned} -z \succ_{2} y \Rightarrow z \succ_{3} y\\ -x \succ_{2} z \Rightarrow x \succ_{1} z\\ -x \succ_{2} y \Rightarrow x \succ_{1} y -\end{aligned}\]
-Pico único versus cruce único
+No hay nadie más decididamente en contra de los parlamentos anuales, el sufragio universal y la balota que yo. Lo fundamental en mi reforma es prevenir la necesidad de una revolución. Estoy reformando para conservar, no para derrocar.
+
+[Earl Grey, Primer Ministro en 1831]
+Donde sea que miremos –adentro, alrededor- la voz de los grandes eventos nos está proclamando, “reformen” para poder conservar […] Salven la propiedad, dividida en contra de sí misma. Salven a la multitud, en peligro por sus propias pasiones ingobernables. Salven a la aristocracia, en peligro por su propio poder impopular. El peligro es terrible, el tiempo es corto. Si esta ley es rechazada, pido a Dios que ninguno de los que concurran a rechazarla puedan alguna vez recordar sus votos con remordimiento en medio del desastre de las leyes, la confusión de los rangos, el daño a la propiedad y la disolución del orden social
+
+[Thomas Babington Macaulay, historiador británico, 1832]
Evolución democratización (Polity)
Evolución desigualdad en UK/US)
Evolución participación del top-1% en varios países)
Evolución participación del ingreso total: top-1% dentro del top-10%)
Huelgas y conflictos en Africa, 1990-2007
Huelgas y transiciones
Revoluciones y concesiones: propios y vecinos
\(A \succ_{1} B \succ_{1} C\)
\(B \succ_{4} C \succ_{4} A\)
\(C \succ_{6} B \succ_{6} A\)
Imagine ahora que se vota de a pares.
+¿Hay alguna que gana a todas las demás? Si. La alternativa B. [¿Por qué A no puede ser un GdC? ¿Por qué C no es un GdC?]. La alternativa B es un ganador de Condorcet
\(A \succ_{1} B \succ_{1} C\)
\(B \succ_{4} C \succ_{4} A\)
\(C \succ_{5} A \succ_{5} B\)
Imagine ahora que se vota de a pares.
+¿Cuál debería ganar si hay transitividad? A
No hay transitividad: ciclo de Condorcet \[A \succ B \succ C \succ A\]
votantes | -preferencias | -
---|---|
10 | -\(A \succ D \succ C \succ B\) | -
10 | -\(B \succ A \succ D \succ C\) | -
10 | -\(C \succ B \succ A \succ D\) | -
Arbol de decisiones con 3 opciones
\[\begin{align} +V^{P}(O|\kappa)=(1-\kappa)y^{P} \\ +V^{R}(O|\kappa)=(1-\kappa)y^{R} +\end{align}\]
\[\begin{align} +V^{R}(O|\kappa) \geq V^{R}(N,\tau^{N}=\tilde{\tau}) +\end{align}\]
\[\begin{align} +\kappa \leq \frac{p}{\theta}[\delta c(\tilde{\tau})-\tilde{\tau}(\delta-\theta)] \equiv \hat{\kappa} +\end{align}\]
Ciclos e indeterminaciones
Perfiles de preferencias sin ganador de Condorcet
\[\begin{align} +V^{R}(O|\kappa) \geq V^{R}(D) +\end{align}\]
\[\begin{align} +\kappa \leq \frac{1}{\theta}[\delta c(\tau^{P})-\tau^{P}(\delta-\theta)] \equiv \tilde{\kappa} +\end{align}\]
Orden | -1 | -2 | -3 | -4 | -5 | -
---|---|---|---|---|---|
1 | -A | -A | -A | -B | -B | -
2 | -B | -B | -B | -C | -C | -
3 | -C | -C | -C | -A | -A | -
Proposición 3
+Hay un equilibrio perfecto en subjuegos único para el juego representado en la figura anterior descrito por los siguientes resultados
Proposición 2 (cont.)
+Preferencias a lo largo de una linea
Conjuntos preferidos
Relación entre democracia y represión
Superponiendo los conjuntos preferidos
Tamaño coalicion | -Coalicion | -
---|---|
3 | -(1,2,3) (1,2,4) (1,2,5) (1,3,4) (1,3,5) (1,4,5) (2,3,4) (2,3,5) (2,4,5) (3,4,5) | -
4 | -(1,2,3,4) (1,2,3,5) (1,2,4,5) (1,3,4,5) (2,3,4,5) | -
5 | -(1,2,3,4,5) | -
+¿Qué son \(\mu\) y \(\kappa\) en la práctica? Piense en lo que ponen en juego las élites. Dos tipos de élites: 1) terrateniente, 2) \(K\) físico y \(K\) humano. Democracia más amenazante para élites terratenientes [¿por qué?]. Revolución (y represión), por su parte, más costosa para dueños de \(K\) físico y humano [¿por qué?] Ricos terratenientes más inclinados a usar represión por amenaza de revolución en contextos de alta desigualdad.
+
El rol del votante mediano
++It is not hard to subvert a democracy. First, subvert the electoral system. Second, capture the referees (judiciary, tax authorities, intelligence agencies & law enforcement). Third, sideline or eliminate political opponents and, above all, the media.
+
+[Levitsky and Ziblatt (2019), How democracies die]
q^{m}$, obtenemos el resultado de que $q^{m}$ es un ganador de Condorcet* +## Democracia y represión (cont.) -## El votante mediano -::: {.callout-tip icon=false} - -## Corolario 1 -$q^{m}$ es la única política de equilibrio (punto estable) bajo regla -de mayoría pura, esto es bajo supuestos A1-A3. -::: +- Si permitimos la represión entonces suopnemos que la represión, $O$ + es una alternativa adicional a $D$ y $N$ --la represión siempre + logra evitar una revolución, pero es costosa y destruye una + proporción $\kappa$ del ingreso total. Pagos para pobres y ricos + son: + +\begin{align} +V^{P}(O|\kappa)=(1-\kappa)y^{P} \\ +V^{R}(O|\kappa)=(1-\kappa)y^{R} +\end{align} + +## Democracia y represión (cont.) + +- Para resolver esto debemos analizar circunstancias en que **los ricos + prefieren la represión** + - a prometer redistribución y permanecer en $N$ + - a democratizar +- Se opera a partir de la restricción de revolución y se ilustran las + condiciones a partir de ella + +## Democracia y represión (cont.) -- La intuición es sencilla: $q^{m}$ vence a cualquier otro ganador previo apenas se presenta y no puede luego ser vencida en ninguna votación de a pares sucesiva -- Hay dos supuestos bastante fuertes detrás de este resultado: 1) unidimensionalidad; 2) preferencias de pico único. +- Primero, hacemos -## El votante mediano (cont.) +\begin{align} +V^{R}(O|\kappa) \geq V^{R}(N,\tau^{N}=\tilde{\tau}) +\end{align} -![El votante mediano no existe!](fig/fig-02-mvt-meme.png){#fig:02001} +- y eso nos determina: -## Aplicación: Preferencias s/aborto +\begin{align} +\kappa \leq \frac{p}{\theta}[\delta c(\tilde{\tau})-\tilde{\tau}(\delta-\theta)] \equiv \hat{\kappa} +\end{align} -- Cuestión del aborto en EEUU $\longrightarrow$ polarización - - Provida (V) $\longrightarrow$ prohibir aborto totalmente; - Proeleccion (E) $\longrightarrow$ derecho absoluto a elegir; - Roe-Wade (R) $\longrightarrow$ aborto en etapa temprana. ¿Cuáles son las preferencias? - - $V \succ_{v} R \succ_{v} E$ (provida) - - $E \succ_{e} R \succ_{e} V$ (proeleccion) - - $R \succ_{rw1} V \succ_{rw1} E$ (roe-wade1) - - $R \succ_{rw2} E \succ_{rw2} V$ (roe-wade2) -- Ninguno de los grupos considera a $R$ como la peor alternativa $\longrightarrow$ ¿consenso? +- por lo que si $\kappa < \hat{\kappa}$ **los ricos prefieren reprimir a + hacer concesiones** -## Aplicación: Preferencias s/aborto (cont.) +## Democracia y represión (cont.) -![Polarización y preferencias de pico único](fig/fig-02-012.jpeg){#fig:02012 width=70%} +- ¿Cuándo prefieren los ricos reprimir a democratizar? -## Aplicación: Preferencias s/aborto (cont.) +\begin{align} +V^{R}(O|\kappa) \geq V^{R}(D) +\end{align} -> **Implicancia fundamental** $\longrightarrow$ aún cuando los miembros - del grupo tengan puntos de vista **muy diferentes** sobre lo que el - grupo debería hacer, la **regla de la mayoría funciona a la - perfección** siempre y cuando se obtenga un grado mínimo de consenso - (captado mediante una curva de pico único). +- y eso nos determina: -## Limitaciones y realismo +\begin{align} +\kappa \leq \frac{1}{\theta}[\delta c(\tau^{P})-\tau^{P}(\delta-\theta)] \equiv \tilde{\kappa} +\end{align} -- El supuesto de unidimensionalidad de $q$ restringe fuertemente el menú de instrumentos de política --piense en un combo de PF y PM. -- El supuesto de preferencias de pico único es satisfecho cuando los agentes no hacen elecciones económicas. Pero los problemas interesantes surgen cuando hay elecciones económicas endógenas (a los instrumentos de pólitica) - - Problema $\longrightarrow$ rdo. del mercado depende de la política y a su vez entran en las preferencias de política individuales (externalidades, indivisibilidades, etc). En el modelo: $P(q)$ como argumento de $W$. +- por lo que si $\kappa < \tilde{\kappa}$ los **ricos prefieren reprimir a + democratizar** [Note que $\hat{\kappa} < \tilde{\kappa}$] + +## Democracia y represión (cont.) -## Propiedad de cruce único +- Notando que como $\hat{\kappa} < \tilde{\kappa}$, **siempre que los + ricos prefieren reprimir a hacer concesiones, también prefieren + reprimir a democratizar** +- Esto tiene sentido porque las concesiones se hacen a un alícuota + (algo) menor a la alícuota a la que se redistribuye en democracia + - además de que la promesa de redistribuir no siempre se cumple! -- Variante más general $\longrightarrow$ propiedad de cruce único (*single-crossing property*). La restricción no es sobre la forma de las preferencias individuales sino sobre la forma de la heterogeneidad en votantes. Supone unidimensionalidad no sólo en $q$ sino también en $\alpha^{i}$ con dominio en el intervalo $\mathcal{V}$ (el conjunto de votantes). +## Democracia y represión (cont.) -::: {.callout-note icon=false} +- Finalmente, puede demostrarse que $\frac{\partial + \hat{\kappa}}{\partial \theta}>0$ y $\frac{\partial + \tilde{\kappa}}{\partial \theta}>0$ + - es decir, cuando la desigualdad crece la democracia se vuelve + menos atractiva (y la represión más atractiva) para los ricos! [¿por qué?] +- Pista $\longrightarrow$ demanda de redistribucion de los pobres -## Definición 3 -Las preferencias de los votantes en $\mathcal{V}$ satisfacen la **propiedad de cruce único** si lo siguiente se cumple:\ -Si $q>q^{'}$ y $\alpha^{i'}>\alpha^{i}$, o si $q0$ y $\frac{\partial + \tilde{\kappa}}{\partial \theta}>0$ + - es decir, cuando la desigualdad crece la democracia se vuelve + menos atractiva (y la represión más atractiva) para los ricos! [¿por qué?] +- Pista $\longrightarrow$ demanda de redistribucion de los pobres -## Propiedad de cruce único (cont.) +## Democracia y represión (cont.) ::: {.callout-tip icon=false} -## Proposición 2 -Si las preferencias de los votantes en $\mathcal{V}$ satisfacen la -propiedad de cruce único, un ganador de Condorcet siempre existe y -coincide con el punto ideal del votante con el valor mediano de -$\alpha^{i}$. -::: - -- La propiedad de cruce único es similar a de pico único $\longrightarrow$ proyecta las preferencias por $q$ sobre el conjunto de tipos de votantes $\mathcal{V}$. -- Intuición $\longrightarrow$ dadas dos políticas cualesquiera, una más a la derecha que la otra, mientras más "de derecha" sea un individuo (con relación a otro individuo), más preferirá la política de la derecha a la de la izquierda. - -## Propiedad de cruce único (cont.) - -* Para probar esta proposición, etiquete al valor crítico de - $\alpha^{i}$ como $\alpha^{m}$. Entonces, por Definición 3, cualquier votante con $\alpha^{i} \geq \alpha^{m}$ prefiere $q(\alpha^{m})$ a cualquier $q < q(\alpha^{m})$. En forma similar, cualquier votante con $\alpha^{i} \leq \alpha^{m}$ prefiere $q > q(\alpha^{m})$. En otras palabras, $q(\alpha^{m})$ gana un voto de a pares ante cualquier otra alternativa posible* - -## Propiedad de cruce único (cont.) - -> En cuestiones políticas y electorales, la propiedad de cruce único -> puede ser más realista e intuitiva que la propiedad de pico -> único. Si los diferentes *tipos* son interpretados como diferentes -> tipos ideológicos ordenados en una escala de izquierda a derecha, y -> luego las alternativas son políticas públicas a ser elegidas por la -> sociedad. De esta forma, dadas 2 (dos) políticas, una más a la -> derecha que la otra, mientras mas *"derechoso"* sea el tipo, más -> preferirá la política que está más a la derecha por sobre la que -> está a la izquierda. - -## Propiedad de cruce único (cont.) - -- Note las diferencias con *preferencias de pico único* - $\longrightarrow$ intuitivamente un perfil de preferencias de pico - único es uno en que el conjunto de alternativas pueden ordenarse a - lo largo de un eje izquierda-derecha de modo que cada individuo - tenga un punto ideal único y el ordenamiento individual de las otras - alternativas cae hacia (ambos) costados del punto ideal -- Con las *preferencias de cruce único* no ordenamos las alternativas - sino que ordenamos a los individuos y en definitiva lo que se supone - es que hay un mapeo de individuos a alternativas - -## Comparando ambas - -- ¿Más realista? $\longrightarrow$ más natural y razonable *ordenar a las personas* en base a un único parámetro (ingreso, productividad, ideología) que *ordenar a las alternativas*. -- El conflicto de interés surge a partir de la distribución de *tipos* de individuos distribuidos a lo largo de un espacio unidimensional -- Resumiendo: - 1. Preferencias de pico único $\longrightarrow$ puntos ideales medianos - 2. Propiedad de cruce único $\longrightarrow$ puntos ideales del agente de tipo mediano - -# **Ejemplos y aplicaciones** {background="#CAA811"} - -- Ejemplos de PPU y PCU -- Aplicaciones del teorema del votante mediano - - Redistribución simple - - Heterogeidad en preferencias por bien público - - Redistribución con imposición distorsiva (PCU) - -## Ejemplo - -$$\begin{aligned} -x \succ_{1} y \succ_{1} z \\ -x \succ_{2} z \succ_{2} y \\ -z \succ_{3} y \succ_{3} x -\end{aligned}$$ - -- Pueden no ser PPU y si PCU. El ordenamiento natural es $xy^{p}$ y que $\theta > \delta$. Aumento en $\theta$ es más desigualdad, si $\theta=\delta$, hay perfecta equidad -$$\begin{aligned} -c^{i}=(1-\tau)y^{i}+T \\ -T=\tau(\delta y^{r}+(1-\delta)y^{p})=\tau y -\end{aligned}$$ - -## Aplicación: Modelo simple de redistribución (cont.) - -- Utilidad lineal en el consumo, $u=c^{i}$. Sustituyendo RP del gobierno, la $V$ es: -$$\begin{aligned} -V^{i}(\tau)=(1-\tau)y^{i}+\tau y -\end{aligned}$$ -- Y la politica preferida maximiza $V^{i}(\tau)$ por lo que: -$$\begin{aligned} -\frac{\partial V^{i}(\tau)}{\partial \tau}=-y^{i}+y -\end{aligned}$$ -- Pobres $\longrightarrow$ prefieren $\tau=1$ ($y$ menor al promedio); - ricos $\longrightarrow$ prefieren $\tau=0$. Según el TVM $\longrightarrow$ $\tau^{eq}=1$ [¿Por qué?] - -## Aplicación: Modelo simple de redistribución (cont.) - -- Mas realismo $\longrightarrow$ hay costo asociado a la imposición (DWL) por lo que pobres no eligen $\tau=1$. Ahora: -$$\begin{aligned} -T=\tau y - c(\tau)y -\end{aligned}$$ -- donde $c'(\tau)>0$, $c''(\tau)>0$, $c'(0)=0$, y $c'(1)=\infty$. Con lo que la nueva $V(.)$ es -$$\begin{aligned} -V^{i}(\tau)=(1-\tau)y^{i}+T=(1-\tau)y^{i} +\tau y - c(\tau)y -\end{aligned}$$ -- CPO es $c'(\tau^{eq})y=y-y^{i}$. De modo que ahora en $\tau=1$, $c'(\tau)=\infty$, y *cualquier individuo* mejora utilidad con baja de T. - -## Aplicación: Modelo simple de redistribución (cont.) - -- Para verificar preferencias unimodales, tomamos 2da derivada de V: $-c''(\tau)<0$. Sustituyendo $y^{p}=\frac{(1-\theta)y}{1-\delta}$ en CPO: -$$\begin{aligned} -c'(\tau^{p})=\frac{\theta-\delta}{1-\delta} -\end{aligned}$$ -- Si $\theta$ sube, $\tau^{p}$ aumenta --interprete [Meltzer and Richard (1981)]. Implicancias: - - Mayor desigualdad, menor crecimiento [Persson and Tabellini (1994), Alesina and Rodrik (1994)] - - ¿Por qué entonces los pobres votan? Los ricos tendrían incentivos a que no [Acemoglu and Robinson (2000)] - -## Aplicación: valoración de BPP - -- Individuo $i$ tiene preferencias sobre un bien privado $c^{i}$ y un bien público $g$ tales: -$$\begin{aligned} -u^{i}=c^{i}+\alpha^{i}H(g) -\end{aligned}$$ -- $H(.)$ es cóncava y $\alpha^{i}$ es parámetro intrínseco de agente - con distribución acumulativa $F(\alpha)$ y función de densidad - $f(\alpha)$. Normalizamos población a $1$ y todos los - individuos tienen ingreso exógeno igual a $1$. Gobierno cobra $\tau$ a cada individuo y las RP son: -$$\begin{aligned} -c^{i}=1-\tau \\ -\tau=g -\end{aligned}$$ - -## Aplicación: valoración de BPP (cont.) - -- Maximizamos la UI de cada individuo $V^{i}(g)$ para encontrar el nivel preferido de $g$: -$$\begin{aligned} -\max_{\tau} V^{i}(g)=(1-g)+\alpha^{i}H(g) -\end{aligned}$$ -- De la CPO, el $g$ óptimo para $i$ satisface $\alpha^{i}H'(g)^{i}=1$ -- Podemos usar TVM (fn utilidad cóncava y unidimensional). En este caso, hay una relación monótona entre $g^{i}$ y $\alpha^{i}$: -$$\begin{aligned} -\frac{\partial g^{i}}{\partial \alpha^{i}}=-\frac{H'(g^{i})}{\alpha^{i}H''(g^{i})}>0 -\end{aligned}$$ -- Los que más valoran el BPP prefieren mayores niveles de gasto -- Individuo con $g^{i}$ mediano es también el individuo con $\alpha{i}$ mediano. Equilibrio político conduce al gasto que satisface: -$$\begin{aligned} -\alpha_{M}H'(g_{M})=1 -\end{aligned}$$ -- donde $F(\alpha_{M})=1/2$ - -## Aplicación: valoración de BPP (cont.) - -- Provisión política del bien bajo democracia directa *en general - ineficiente*: -$$\begin{aligned} -\max_{g} (1-g)+H(g) \int \alpha^{i})f(\alpha^{i})d\alpha^{i} -\end{aligned}$$ -- Note que $\int \alpha^{i}f(\alpha^{i})d\alpha^{i}$ es la valoración media del BPP. LLamandole a $\alpha^{i}$ con $\bar{\alpha}$: -$$\begin{aligned} -\bar{\alpha}H'(g^{SO})=1 -\end{aligned}$$ -- por lo que $g^{SO}$ y $g_{M}$ son distintos [sólo coinciden cuando distribución de $\alpha^{i}$ es tal que $\alpha_{M}=\bar{A}$] - -## *Aplicación: Imposición distorsiva* - -- Versión simplificada de modelos de Romer (1975), Roberts (1977) y Meltzer and Richard (1981). El individuo $i^{th}$ tiene preferencias cuasi-lineales -$$\begin{aligned} -w^{i}=c^{i}+V(x^{i}) -\end{aligned}$$ -- donde $c^{i}$ y $x^{i}$ denotan consumo individual y ocio, respectivamente; y $V(.)$ es un función de utilidad cóncava. La RP privada es: -$$\begin{aligned} -c^{i} \leq (1-q)l^{i}+f -\end{aligned}$$ -- $q$ es alícuota del impuesto al $Y$, $l^{i}$ es O trabajo y $f$ es TSF - -## *Aplicación: Imposición distorsiva (cont.)* - -- El salario real es normalizado e igual a uno. La productividad individual difiere ($\alpha^{i}$) --ie. diferencias en la cantidad de *tiempo efectivo* disponible -$$\begin{aligned} -1-\alpha^{i} \geq x^{i}+l^{i} -\end{aligned}$$ -- $\alpha^{i}$ se distribuye con media $\alpha$ y mediana $\alpha^{m}$. La oferta de trabajo óptima es: -$$\begin{aligned} -l^{i}=L(q)-(\alpha^{i}-\alpha) -\end{aligned}$$ -- donde $L(q) \equiv 1-\alpha-V_{x}^{-1}(1-q)$ es decreciente en $q$ por concavidad de $V(.)$ - -## *Aplicación: Imposición distorsiva (cont.)* - -- Los consumidores más productivos trabajan *más a cada alícuota*. Sea $l$ la oferta de trabajo media y como la media de $\alpha^{i}$ es $\alpha$, entonces $l=L(q). Por lo que la RP del gobierno es: -$$\begin{aligned} -f \leq ql \equiv qL(q) -\end{aligned}$$ -- Sea $q$ la variable de política($f$ determinada como residuo) y sustituyendo en la fn. de utilidad individual: -$$\begin{aligned} -W^{i}(q;\alpha^{i}) \equiv L(q)+V(1-L(q)-\alpha)-(1-q)(\alpha^{i}-\alpha) -\end{aligned}$$ - -## *Aplicación: Imposición distorsiva (cont.)* - -- La fn. de utilidad indirecta satisface la **propiedad de cruce único** $\longrightarrow$ suponga que la oferta de trabajo media $L(q)$ fuera lo suficientemente convexa para implicar una $W^{i}(q;\alpha^{i})$ de preferencias de pico no único. -- Entonces, la monotonicidad de la oferta de trabajo indiviual en $\alpha^{i}$ es aún suficiente para garantizar la existencia de un ganador de Condorcet bien definido --la alícuota preferida por el votante con productividad e ingreso medios - -# **Reglas de votación** {background="#CAA811"} - -- Diferentes reglas de votación -- Votación con ciclos: frecuencia y casos -- Problemas y limitaciones del análisis -- Intuición gráfica del TVM - -## Votación Condorcet - -- Suponga que un colectivo debe elegir entre 3 alternativas: A, B y C. Hay a priori 6 formas diferentes en que las preferencias pueden ser ordenadas: - - $A \succ_{1} B \succ_{1} C$ - - $A \succ_{2} C \succ_{2} B$ - - $B \succ_{3} A \succ_{3} C$ - - $B \succ_{4} C \succ_{4} A$ - - $C \succ_{5} A \succ_{5} B$ - - $C \succ_{6} B \succ_{6} A$ - -## Votación Condorcet (cont.) - -- $A \succ_{1} B \succ_{1} C$ -- $B \succ_{4} C \succ_{4} A$ -- $C \succ_{6} B \succ_{6} A$ - -- Imagine ahora que se vota de a pares. - - Voto entre A y B. ¿Quién gana? B - - Voto entre B y C. ¿Quién gana? B - - Voto entre C y A (¿es relevante?) -- ¿Hay alguna que gana a todas las demás? Si. La alternativa B. \[¿Por qué A no puede ser un GdC? ¿Por qué C no es un GdC?\]. La alternativa B es un **ganador de Condorcet** - -## Votación Condorcet (cont.) - -- $A \succ_{1} B \succ_{1} C$ -- $B \succ_{4} C \succ_{4} A$ -- $C \succ_{5} A \succ_{5} B$ - -- Imagine ahora que se vota de a pares. - - Voto entre A y B. ¿Quién gana? A - - Voto entre B y C. ¿Quién gana? B - - Voto entre C y A. ¿Quién gana? C -- ¿Cuál debería ganar si hay transitividad? A -- No hay transitividad: **ciclo de Condorcet** $$A \succ B \succ C \succ A$$ - -## Ilustración: Fijar agenda - -- Supongamos que tenemos 30 personas cuyas preferencias por 4 (cuatro) alternativas se distribuyen de la siguiente manera: - -::: {#tab:tab1} - votantes preferencias - ---------- ----------------------------- - 10 $A \succ D \succ C \succ B$ - 10 $B \succ A \succ D \succ C$ - 10 $C \succ B \succ A \succ D$ +## Proposición 3 +Hay un equilibrio perfecto en subjuegos único para el juego +representado en la figura anterior descrito por los siguientes resultados + +- Si $\theta \leq \mu$: + - la RdR no se cumple y los ricos pueden + permanecer en una no-democracia sin necesidad de redistribuir ($N$), + democratizar ($D$) o reprimir ($O$) [$\tau^{N}(\mu)=0$] + $\longrightarrow$ los pobres eligen $NR$ ::: -- ¿Puede $D$ ganar democráticamente? Si, manipulando el orden de votación como la siguiente: 1) Voto entre $B$ y $A$; 2) Voto entre $B$ y $C$; 3) Voto entre $C$ y $D$ $\longrightarrow$ todos disconformes con el resultado \[¿Por qué?\] - -## Votación cíclica y agenda - -- Recordando las preferencias que generaron un ciclo de Condorcet. Sea el orden de votación:: - - 1ra: A vs B. 2da: ganador de A vs B contra C - - Dado que $A \succ B$ y $C \succ A$, [gana C]{.ul} - - 1ra: A vs C. 2da: ganador de A vs C contra B - - Dado que $C \succ A$ y $B \succ C$, [gana B]{.ul} - - 1ra: B vs C. 2da: ganador de B vs C contra A - - Dado que $B \succ C$ y $A \succ B$, [gana A]{.ul}. -- El ganador depende depende del orden de votación! $\longrightarrow$ problema de los ciclos - -## Ciclos con alternativas no definidas - -- Suponga que tres legisladores deben elegir como distribuir un presupuesto de 1000 pesos entre tres provincias - - Inicial $\longrightarrow$ $(333.3,333.3,333.3)$ - - Propuesta de 1 $\longrightarrow$ $(600,400,0)$ [gana por mayoría] - - Propuesta de 3 $\longrightarrow$ $(0,600,400)$ [gana por mayoría] - - Propuesta de 1 $\longrightarrow$ $(300,700,0)$ [gana por mayoría] - - Propuesta de 3 $\longrightarrow$ $(333.3,333.3,333.3)$ y así... -- Este problema es conocido como el de **dividir un dólar** y muestra como existen ciclos $\longrightarrow$ alternativas no definidas - -## Ciclos con alternativas definidas - -- Sea un problema redistributivo similar pero con alternativas fijas, - $x$, $y$, $z$. Eje vertical, cantidad de recursos de B; eje - horizontal, cantidad de recursos de A, y el resto es para C. Líneas - son las CI de cada político. Votación: - - $y$ contra $z$, gana $y$ - - $y$ contra $x$, gana $x$ - - $x$ contra $z$, gana $z$ -- Posible ciclo infinito aún con nro limitado de alternativas --respetando supuestos básicos - -## Ciclos con alternativas definidas (cont.) - -![Ciclos e indeterminaciones](fig/fig-02-014.png){#fig:02014 width=70%} +## Resolución del juego (cont.) -## Ocurrencia de ciclos - -![Perfiles de preferencias sin ganador de Condorcet](fig/fig-02-015.png){#fig:02015 width=80%} - -## Limitando ciclos: agenda cerrada - -- Una forma es limitar número de rondas. Garantiza una - política pero no sabemos cuál! Manipular agenda - $\longrightarrow$ otorga poder a quien la controla ya que puede - elegir su política preferida (*votación sincera*). Pero hay incentivos a votar estratégicamente - - $B$ vota por $z$ en ronda 1 y obtiene $y$ en ronda 2 pero... - - $A$ y $C$ también querrán ser estrategicos - - equilibrios múltiples surgen facilmente -- ¿Votación sincera realista? - - Si, cuando hay 2 alternativas - - Si, cuando hay muchos votantes y ninguno es decisivo - -## Poder de agenda - -- Este simple ejemplo ilustra la importancia del "poder de agenda" --qué alternativas considerar y en qué orden las votamos. -- ¿Quiénes establecen la agenda en la vida real? - - En el Congreso, el Presidente de la Cámara y los Presidentes de Comisión tienen amplios poderes para decidir que asuntos se giran y para proponer el orden de votaciones en el recinto. En EEUU, es el Speaker of the House - - En regímenes presidencialistas, los ejecutivos también tienen poder de agenda (DNU, vetos, poderes delegados) -- El poder de agenda no es ilimitado ni da control absoluto, pero da alguna ventaja - -## Votación Borda - -- El **método de Borda** es una alternativa a Condorcet para superar el problema de los ciclos. Sean 5 votantes y 3 alternativas tal que: - -::: {#tab:tab2} - Orden 1 2 3 4 5 - ------- --- --- --- --- --- - 1 A A A B B - 2 B B B C C - 3 C C C A A +::: {.callout-tip icon=false} +## Proposición 2 (cont.) +- Si $\theta > \mu$: + 1. **Redistribución:** si $\mu \geq \mu^{*}$ y $\kappa \geq + \hat{\kappa}$ $\longrightarrow$ la represión ($O$) es lo suficientemente costosa y + los ricos hacen concesiones para evitar revolución + 2. **Represión:** si $\mu^{**} \leq \mu \leq \mu^{*}$ y $\kappa \leq + \tilde{\kappa}$, o si $\mu \leq \mu^{**}$, o si $\kappa \geq + \hat{\kappa}$ $\longrightarrow$ los ricos deciden reprimir + 3. **Democracia:** si $\mu^{**} \leq \mu \leq \mu^{*}$ y $\kappa \geq + \tilde{\kappa}$ $\longrightarrow$ los ricos deciden democratizar + [concesiones insuficientes para evitar $R$ y represión ($O$) + demasiado costosa] ::: -- Cada individuo (grupo de individuos) van a puntuar las alternativas según el lugar (orden) que ocupen en el ordenamiento. A diferencia de Condorcet, este método usa toda la información de preferencias (intensidad de las preferencias). - -## Votación Borda (cont.) +## Democracia y represión (cont.) -- Existen dos implementaciones alternativas del método de Borda: - - La alternativa en 1er lugar recibe $n$ puntos, la alternativa en 2do lugar, recibe $n-1$ puntos, y así hasta la última alternativa donde "n" es el número de alternativas. - - La alternativa en primer lugar recibe $n-1$ puntos, la alternativa en segundo lugar, recibe $n-2$ puntos, y así hasta la última donde "n" es el número de alternativas. - - Pueden utilizarse ambos criterios a menos que esté explícitamente indicado un criterio en el ejercicio y/o práctico. - -## Votación Borda (cont.) - -- En este caso (solucionando por método "n-1", las alternativas recibirían: - - $A$ $\longrightarrow$ 6 votos - - $B$ $\longrightarrow$ 7 votos - - $C$ $\longrightarrow$ 2 votos -- Parece un método razonable aunque algo difícil de implementar $\longrightarrow$ el candidato C podría desistir de presentarse. En ese caso, la primera alternativa recibe 1 (uno) y la segunda 0 (cero). - -## Votación Borda (cont.) - -- Ahora con este nuevo esquema, el ganador es $A$! (obtiene 3 contra 2 votos de $B$) $\longrightarrow$ presencia o no de alternativas irrelevantes --$C$- puede modificar el resultado de la elección -- Este método sin embargo se usa mucho en eventos y competiciones musicales y en elección de sedes, mejores jugadores, etc. -- El principal problema del método Borda $\longrightarrow$ viola el principio de mayoría y viola el ganador de Condorcet - -## El rol del mediano - -![Preferencias a lo largo de una linea](fig/fig-02-006.png){#fig:02006} - -## El rol del mediano (cont.) - -- Las cinco personas, $G={1,2,3,4,5}$ tienen las preferencias mostradas en el gráfico anterior y representadas como $x={x_1,x_2,x_3,x_4,x_5}$. -- Cada individuo tiene un punto favorito $\longrightarrow$ "punto ideal". Esa es la tasa de interés que el/ella prefiere en primer lugar. Por ejemplo, para el director 1: - - $x_1 \succ x_2 \succ x_3 \succ x_4 \succ x_5$ -- Las preferencias se "miden" a partir de la utilidad --i.e. la altura de la curva; cada una de las "campanas" es una función de utilidad para cada director. +- Este resultado sugiere que la transición hacia la democracia ocurre + cuando la revolución es lo suficientemente atractiva para los pobres + y cuando la represión es lo suficientemente costosa para los ricos +- La represión surge cuando es relativamente poco costosa para los + ricos e incluso cuando la democracia es insuficiente para evitar un + revolución (ricos van a preferir siempre primero $O$ a $R$!) + +## Democracia y represión (cont.) -## El rol del mediano (cont.) +- ¿Qué sucede con la relación entre desigualdad y (transición hacia + la) democracia? + 1. La relación parece no ser lineal $\longrightarrow$ para niveles + muy bajos de desigualdad ($\theta < \mu$), basicamente no se + cumple restricción de revolución [caso trivial] + 2. Pero a medida que aumenta la desigualdad ($\theta > \mu$), los + ricos deben optar por $O$, $D$, o $N$ para evitar revolución + 3. Para valores bajos de $\theta$ alcanza con $R$; para valores + medios de $\theta$ concesiones/promesas no alcanzan y sólo pueden + $O$ o $D$; para valores altos de $\theta$ los ricos no tienen + otra opción que reprimir (porque los pobres no se conforman con + $D$) -![Conjuntos preferidos](fig/fig-02-007.png){#fig:02007 width=90%} -## El rol del mediano (cont.) +## Democracia y represión (cont.) -- Tomemos ahora solamente al individuo 5. Su perfil de preferencias es $x_5 \succ x_4 \succ x_3 \succ x_2 \succ x_1$. Su tasa de interés favorita (punto ideal) es de $8.25$. -- Tomemos una tasa cualquiera --i.e. $7$. El conjunto de puntos (tasas) que este individuo prefiere a $7$ es el que se representa como $P_5(y)$: ese conjunto contiene a todas las tasas de interés entre 7 y 9.25 \[¿Por qué?\] -- En otras palabras, si la tasa $y$ fuera una propuesta concreta, este individuo prefería todos los puntos del conjunto $P_5(y)$ a $y$. +![Relación entre democracia y represión](../epol/fig/fig-03-016.png){#fig:03016 width=90%} -## El rol del mediano (cont.) +## Democracia y represión (cont.) -![Superponiendo los conjuntos preferidos](fig/fig-02-008.png){#fig:02008 width=80%} +- Modelo aplicable a varios países (UK, Singapur, Argentina y Sudáfrica) +- Singapur $\longrightarrow$ $\theta < \theta^{*}$ revolución no es rentable (amenaza de revolución no creíble). Estabilidad sin transición democrática +- UK rango $\theta \in (\theta^{*},\hat{\theta})$ pero democratización para evitar revolución [$\theta$ no tan alto como para represión] +- Sudáfrica pre-caída Apartheid $\longrightarrow$ desigualdad muy alta ($\theta > \hat{\theta}$) perpetúa no democracia -## El rol del mediano (cont.) +## Democracia y represión (cont.) -- Ahora mostramos los "conjuntos preferidos a $y$" de todos los directores.Superposición: - - $P_4(y)$ y $P_5(y)$ tienen puntos en común - - $P_1(y)$ y $P_2(y)$ tienen puntos en común - - Los individuos 3, 4 y 5 tienen conjuntos preferidos a $y$ que se superponen; forman una mayoría --3 contra 2, por lo que esa mayoría vence a una propuesta como $y$. -- Así, se tienen todas las mayorías posibles que vencen a $y$ dependiendo de donde este $y$ en la escala.Puede ahora mostrarse todas las coaliciones de mayorías posibles que vencen a $y$. +- Argentina rango $\theta \in (\theta^{*},\hat{\theta})$ pero mayor desigualdad que UK. Pero: + - Democratización $\longrightarrow$ pero es costosa para la elite por alta desigualdad + - Represión $\longrightarrow$ evita concesiones/redistribución con el costo de no democracia + + Democracia inestable! +- Interrupciones en 1930-46, 1955-73, 1976,83 -## El rol del mediano (cont.) +## Democracia y represión (cont.) -::: {#tab:1} - Tamaño coalicion Coalicion - ------------------ --------------------------------------------------------------------------------- - 3 (1,2,3) (1,2,4) (1,2,5) (1,3,4) (1,3,5) (1,4,5) (2,3,4) (2,3,5) (2,4,5) (3,4,5) - 4 (1,2,3,4) (1,2,3,5) (1,2,4,5) (1,3,4,5) (2,3,4,5) - 5 (1,2,3,4,5) +> **¿Qué son $\mu$ y $\kappa$ en la práctica?** Piense en lo que ponen en juego las élites. Dos tipos de élites: 1) terrateniente, 2) $K$ físico y $K$ humano. Democracia más amenazante para élites terratenientes [¿por qué?]. Revolución (y represión), por su parte, más costosa para dueños de $K$ físico y humano [¿por qué?] Ricos terratenientes más inclinados a usar represión por amenaza de revolución en contextos de alta desigualdad. -::: +## ¿Las democracias mueren? -## El rol del mediano (cont.) +> It is not hard to subvert a democracy. First, subvert the electoral system. Second, capture the referees (judiciary, tax authorities, intelligence agencies & law enforcement). Third, sideline or eliminate political opponents and, above all, the media. \ +**[Levitsky and Ziblatt (2019), *How democracies die*]** -![El rol del votante mediano](fig/fig-02-009.png){#fig:02009 width=80%} diff --git a/tepm/lect02-24_files/libs/clipboard/clipboard.min.js b/tepm/lect02-24_files/libs/clipboard/clipboard.min.js index 41c6a0f..1103f81 100644 --- a/tepm/lect02-24_files/libs/clipboard/clipboard.min.js +++ b/tepm/lect02-24_files/libs/clipboard/clipboard.min.js @@ -1,7 +1,7 @@ /*! - * clipboard.js v2.0.10 + * clipboard.js v2.0.11 * https://clipboardjs.com/ * * Licensed MIT © Zeno Rocha */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 .tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px} \ No newline at end of file diff --git a/tepm/lect02-24_files/libs/quarto-html/popper.min.js b/tepm/lect02-24_files/libs/quarto-html/popper.min.js index 2269d66..e3726d7 100644 --- a/tepm/lect02-24_files/libs/quarto-html/popper.min.js +++ b/tepm/lect02-24_files/libs/quarto-html/popper.min.js @@ -1,6 +1,6 @@ /** - * @popperjs/core v2.11.4 - MIT License + * @popperjs/core v2.11.7 - MIT License */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n =0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W =0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function I(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _(e,r,o){return r===H?I(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):I(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function F(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&N(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=_(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),_(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=F(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=I(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n =0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=C(v),g=f||(y===v||!h?[fe(v)]:function(e){if(C(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(C(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k =0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var N=fe(q),I=[];if(i&&I.push(V[H]<=0),s&&I.push(V[q]<=0,V[N]<=0),I.every((function(e){return e}))){E=B,j=!1;break}O.set(B,I)}if(j)for(var _=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},F=h?3:1;F>0;F--){if("break"===_(F))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,N="y"===j?D:P,I="y"===j?A:L,_="y"===j?"height":"width",F=k[j],X=F+b[N],Y=F-b[I],G=m?-H[_]/2:0,K=w===W?B[_]:H[_],Q=w===W?-H[_]:-B[_],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=de(0,B[_],$[_]),oe=O?B[_]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[_]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=F+ie-fe,pe=de(m?a(X,F+oe-fe-se):X,F,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-F}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&N(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/tepm/lect02-24_files/libs/quarto-html/quarto-html.min.css b/tepm/lect02-24_files/libs/quarto-html/quarto-html.min.css index c2857c3..8b13789 100644 --- a/tepm/lect02-24_files/libs/quarto-html/quarto-html.min.css +++ b/tepm/lect02-24_files/libs/quarto-html/quarto-html.min.css @@ -1 +1 @@ -/*# sourceMappingURL=0a6b880beb84f9b6f36107a76f82c5b1.css.map */ + diff --git a/tepm/lect02-24_files/libs/quarto-html/quarto-syntax-highlighting.css b/tepm/lect02-24_files/libs/quarto-html/quarto-syntax-highlighting.css index 36cb328..b30ce57 100644 --- a/tepm/lect02-24_files/libs/quarto-html/quarto-syntax-highlighting.css +++ b/tepm/lect02-24_files/libs/quarto-html/quarto-syntax-highlighting.css @@ -55,62 +55,86 @@ div.sourceCode pre.sourceCode { code span.ot { color: #003B4F; + font-style: inherit; } code span.at { color: #657422; + font-style: inherit; } code span.ss { color: #20794D; + font-style: inherit; } code span.an { color: #5E5E5E; + font-style: inherit; } code span.fu { color: #4758AB; + font-style: inherit; } code span.st { color: #20794D; + font-style: inherit; } code span.cf { color: #003B4F; + font-weight: bold; + font-style: inherit; } code span.op { color: #5E5E5E; + font-style: inherit; } code span.er { color: #AD0000; + font-style: inherit; } code span.bn { color: #AD0000; + font-style: inherit; } code span.al { color: #AD0000; + font-style: inherit; } code span.va { color: #111111; + font-style: inherit; +} + +code span.bu { + font-style: inherit; +} + +code span.ex { + font-style: inherit; } code span.pp { color: #AD0000; + font-style: inherit; } code span.in { color: #5E5E5E; + font-style: inherit; } code span.vs { color: #20794D; + font-style: inherit; } code span.wa { @@ -125,22 +149,27 @@ code span.do { code span.im { color: #00769E; + font-style: inherit; } code span.ch { color: #20794D; + font-style: inherit; } code span.dt { color: #AD0000; + font-style: inherit; } code span.fl { color: #AD0000; + font-style: inherit; } code span.co { color: #5E5E5E; + font-style: inherit; } code span.cv { @@ -150,18 +179,23 @@ code span.cv { code span.cn { color: #8f5902; + font-style: inherit; } code span.sc { color: #5E5E5E; + font-style: inherit; } code span.dv { color: #AD0000; + font-style: inherit; } code span.kw { color: #003B4F; + font-weight: bold; + font-style: inherit; } .prevent-inlining { diff --git a/tepm/lect02-24_files/libs/revealjs/dist/theme/quarto.css b/tepm/lect02-24_files/libs/revealjs/dist/theme/quarto.css index c98ec7a..58f87c5 100644 --- a/tepm/lect02-24_files/libs/revealjs/dist/theme/quarto.css +++ b/tepm/lect02-24_files/libs/revealjs/dist/theme/quarto.css @@ -1,5 +1,8 @@ -@import"./fonts/source-sans-pro/source-sans-pro.css";:root{--r-background-color: #fff;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 40px;--r-main-color: #222;--r-block-margin: 12px;--r-heading-margin: 0 0 12px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--r-link-color: #2a76dd;--r-link-color-dark: #1a53a1;--r-link-color-hover: #5692e4;--r-selection-background-color: #98bdef;--r-selection-color: #fff}.reveal-viewport{background:#fff;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:normal;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0px 0px 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0px 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em .2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.top-right{position:absolute;top:1em;right:1em}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:inline-block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p{text-align:left}.quarto-figure-center>figure>p{text-align:center}.quarto-figure-right>figure>p{text-align:right}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link,div[id^=tbl-]>.anchorjs-link{position:absolute;top:0;right:0}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}tr.header>th>p:last-of-type{margin-bottom:0px}table,.table{caption-side:bottom;margin-bottom:1.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6f6f6f}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}div.ansi-escaped-output{font-family:monospace;display:block}/*! +@import"./fonts/source-sans-pro/source-sans-pro.css";:root{--r-background-color: #fff;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 40px;--r-main-color: #222;--r-block-margin: 12px;--r-heading-margin: 0 0 12px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--r-link-color: #2a76dd;--r-link-color-dark: #1a53a1;--r-link-color-hover: #5692e4;--r-selection-background-color: #98bdef;--r-selection-color: #fff}.reveal-viewport{background:#fff;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:normal;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0px 0px 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0px 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em .2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6f6f6f}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}dd code:not(.sourceCode),p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! * * ansi colors from IPython notebook's * -*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #222;--quarto-text-muted: #6f6f6f;--quarto-border-color: #bbbbbb;--quarto-border-width: 1px;--quarto-border-radius: 4px}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:transparent;border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:transparent;border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:transparent}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:transparent}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}.panel-tabset [role=tablist]{border-bottom:1px solid #bbb;list-style:none;margin:0;padding:0;width:100%}.panel-tabset [role=tablist] *{-webkit-box-sizing:border-box;box-sizing:border-box}@media(min-width: 30em){.panel-tabset [role=tablist] li{display:inline-block}}.panel-tabset [role=tab]{border:1px solid transparent;border-top-color:#bbb;display:block;padding:.5em 1em;text-decoration:none}@media(min-width: 30em){.panel-tabset [role=tab]{border-top-color:transparent;display:inline-block;margin-bottom:-1px}}.panel-tabset [role=tab][aria-selected=true]{background-color:#bbb}@media(min-width: 30em){.panel-tabset [role=tab][aria-selected=true]{background-color:transparent;border:1px solid #bbb;border-bottom-color:#fff}}@media(min-width: 30em){.panel-tabset [role=tab]:hover:not([aria-selected=true]){border:1px solid #bbb}}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}section.has-light-background a,section.has-light-background a:hover{color:#2a76dd}section.has-light-background code{color:#4758ab}section.has-dark-background,section.has-dark-background h1,section.has-dark-background h2,section.has-dark-background h3,section.has-dark-background h4,section.has-dark-background h5,section.has-dark-background h6{color:#fff}section.has-dark-background a,section.has-dark-background a:hover{color:#42affa}section.has-dark-background code{color:#ffa07a}#title-slide{text-align:center}#title-slide .subtitle{margin-bottom:2.5rem}.reveal .slides{text-align:left}.reveal .title-slide h1{font-size:1.6em}.reveal[data-navigation-mode=linear] .title-slide h1{font-size:2.5em}.reveal div.sourceCode{border:1px solid #bbb;border-radius:4px}.reveal pre{width:100%;box-shadow:none;background-color:#fff;border:none;margin:0;font-size:.55em}.reveal code{color:var(--quarto-hl-fu-color);background-color:transparent;white-space:pre-wrap}.reveal pre.sourceCode code{background-color:#fff;padding:6px 9px;max-height:500px;white-space:pre}.reveal pre code{background-color:#fff;color:#222}.reveal .column-output-location{display:flex;align-items:stretch}.reveal .column-output-location .column:first-of-type div.sourceCode{height:100%;background-color:#fff}.reveal blockquote{display:block;position:relative;color:#6f6f6f;width:unset;margin:var(--r-block-margin) auto;padding:.625rem 1.75rem;border-left:.25rem solid #6f6f6f;font-style:normal;background:none;box-shadow:none}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:block}.reveal .slide aside,.reveal .slide div.aside{position:absolute;bottom:20px;font-size:0.7em;color:#6f6f6f}.reveal .slide sup{font-size:0.7em}.reveal .slide.scrollable aside,.reveal .slide.scrollable div.aside{position:relative;margin-top:1em}.reveal .slide aside .aside-footnotes{margin-bottom:0}.reveal .slide aside .aside-footnotes li:first-of-type{margin-top:0}.reveal .layout-sidebar{display:flex;width:100%;margin-top:.8em}.reveal .layout-sidebar .panel-sidebar{width:270px}.reveal .layout-sidebar-left .panel-sidebar{margin-right:calc(0.5em * 2)}.reveal .layout-sidebar-right .panel-sidebar{margin-left:calc(0.5em * 2)}.reveal .layout-sidebar .panel-fill,.reveal .layout-sidebar .panel-center,.reveal .layout-sidebar .panel-tabset{flex:1}.reveal .panel-input,.reveal .panel-sidebar{font-size:.5em;padding:.5em;border-style:solid;border-color:#bbb;border-width:1px;border-radius:4px;background-color:#f8f9fa}.reveal .panel-sidebar :first-child,.reveal .panel-fill :first-child{margin-top:0}.reveal .panel-sidebar :last-child,.reveal .panel-fill :last-child{margin-bottom:0}.panel-input>div,.panel-input>div>div{vertical-align:middle;padding-right:1em}.reveal p,.reveal .slides section,.reveal .slides section>section{line-height:1.3}.reveal.smaller .slides section,.reveal .slides section.smaller,.reveal .slides section .callout{font-size:0.7em}.reveal.smaller .slides h1,.reveal .slides section.smaller h1{font-size:calc(2.5em / 0.7)}.reveal.smaller .slides h2,.reveal .slides section.smaller h2{font-size:calc(1.6em / 0.7)}.reveal.smaller .slides h3,.reveal .slides section.smaller h3{font-size:calc(1.3em / 0.7)}.reveal .columns>.column>:not(ul,ol){margin-left:.25em;margin-right:.25em}.reveal .columns>.column:first-child>:not(ul,ol){margin-right:.5em;margin-left:0}.reveal .columns>.column:last-child>:not(ul,ol){margin-right:0;margin-left:.5em}.reveal .slide-number{color:#5692e4;background-color:#fff}.reveal .footer{color:#6f6f6f}.reveal .footer a{color:#2a76dd}.reveal .slide-number{color:#6f6f6f}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:0.7em}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout=edges] .navigate-left{left:.2em}.reveal .controls[data-controls-layout=edges] .navigate-right{right:.2em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.4em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:2.3em}}.tippy-box[data-theme~=quarto-reveal]{background-color:#fff;color:#222;border-radius:4px;border:solid 1px #6f6f6f;font-size:.6em}.tippy-box[data-theme~=quarto-reveal] .tippy-arrow{color:#6f6f6f}.tippy-box[data-placement^=bottom]>.tippy-content{padding:7px 10px;z-index:1}.reveal .callout.callout-style-simple .callout-body,.reveal .callout.callout-style-default .callout-body,.reveal .callout.callout-style-simple div.callout-caption,.reveal .callout.callout-style-default div.callout-caption{font-size:inherit}.reveal .callout.callout-style-default .callout-icon::before,.reveal .callout.callout-style-simple .callout-icon::before{height:2rem;width:2rem;background-size:2rem 2rem}.reveal .callout.callout-captioned .callout-caption p{margin-top:.5em}.reveal .callout.callout-captioned .callout-icon::before{margin-top:1rem}.reveal .callout.callout-captioned .callout-body>.callout-content>:last-child{margin-bottom:1rem}.reveal .panel-tabset [role=tab]{padding:.25em .7em}.reveal .slide-menu-button .fa-bars::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-easel2::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-brush::before{background-image:url('data:image/svg+xml,')}/*! light */.reveal ol[type=a]{list-style-type:lower-alpha}.reveal ol[type=a s]{list-style-type:lower-alpha}.reveal ol[type=A s]{list-style-type:upper-alpha}.reveal ol[type=i]{list-style-type:lower-roman}.reveal ol[type=i s]{list-style-type:lower-roman}.reveal ol[type=I s]{list-style-type:upper-roman}.reveal ol[type="1"]{list-style-type:decimal}.reveal ul.task-list{list-style:none}.reveal ul.task-list li input[type=checkbox]{width:2em;height:2em;margin:0 1em .5em -1.6em;vertical-align:middle}.reveal .quarto-title-block .quarto-title-authors{display:flex;justify-content:center}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author{padding-left:.5em;padding-right:.5em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:hover,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:visited,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:active{color:inherit;text-decoration:none}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-name{margin-bottom:.1rem}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-email{margin-top:0px;margin-bottom:.4em;font-size:.6em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-orcid img{margin-bottom:4px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation{font-size:.7em;margin-top:0px;margin-bottom:8px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation:first{margin-top:12px}/*# sourceMappingURL=f95d2bded9c28492b788fe14c3e9f347.css.map */ +* we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since +* that seems to be what ansi_up emits +* +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #222;--quarto-text-muted: #6f6f6f;--quarto-border-color: #bbbbbb;--quarto-border-width: 1px;--quarto-border-radius: 4px}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #fff;--mermaid-edge-color: #999;--mermaid-node-fg-color: #222;--mermaid-fg-color: #222;--mermaid-fg-color--lighter: #3c3c3c;--mermaid-fg-color--lightest: #555555;--mermaid-font-family: Source Sans Pro, Helvetica, sans-serif;--mermaid-label-bg-color: #fff;--mermaid-label-fg-color: #468;--mermaid-node-bg-color: rgba(68, 102, 136, 0.1);--mermaid-node-fg-color: #222}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}.panel-tabset [role=tablist]{border-bottom:1px solid #bbb;list-style:none;margin:0;padding:0;width:100%}.panel-tabset [role=tablist] *{-webkit-box-sizing:border-box;box-sizing:border-box}@media(min-width: 30em){.panel-tabset [role=tablist] li{display:inline-block}}.panel-tabset [role=tab]{border:1px solid rgba(0,0,0,0);border-top-color:#bbb;display:block;padding:.5em 1em;text-decoration:none}@media(min-width: 30em){.panel-tabset [role=tab]{border-top-color:rgba(0,0,0,0);display:inline-block;margin-bottom:-1px}}.panel-tabset [role=tab][aria-selected=true]{background-color:#bbb}@media(min-width: 30em){.panel-tabset [role=tab][aria-selected=true]{background-color:rgba(0,0,0,0);border:1px solid #bbb;border-bottom-color:#fff}}@media(min-width: 30em){.panel-tabset [role=tab]:hover:not([aria-selected=true]){border:1px solid #bbb}}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.reveal.center .slide aside,.reveal.center .slide div.aside{position:initial}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}section.has-light-background a,section.has-light-background a:hover{color:#2a76dd}section.has-light-background code{color:#4758ab}section.has-dark-background,section.has-dark-background h1,section.has-dark-background h2,section.has-dark-background h3,section.has-dark-background h4,section.has-dark-background h5,section.has-dark-background h6{color:#fff}section.has-dark-background a,section.has-dark-background a:hover{color:#42affa}section.has-dark-background code{color:#ffa07a}#title-slide,div.reveal div.slides section.quarto-title-block{text-align:center}#title-slide .subtitle,div.reveal div.slides section.quarto-title-block .subtitle{margin-bottom:2.5rem}.reveal .slides{text-align:left}.reveal .title-slide h1{font-size:1.6em}.reveal[data-navigation-mode=linear] .title-slide h1{font-size:2.5em}.reveal div.sourceCode{border:1px solid #bbb;border-radius:4px}.reveal pre{width:100%;box-shadow:none;background-color:#fff;border:none;margin:0;font-size:.55em}.reveal .code-with-filename .code-with-filename-file pre{background-color:unset}.reveal code{color:var(--quarto-hl-fu-color);background-color:rgba(0,0,0,0);white-space:pre-wrap}.reveal pre.sourceCode code{background-color:#fff;padding:6px 9px;max-height:500px;white-space:pre}.reveal pre code{background-color:#fff;color:#222}.reveal .column-output-location{display:flex;align-items:stretch}.reveal .column-output-location .column:first-of-type div.sourceCode{height:100%;background-color:#fff}.reveal blockquote{display:block;position:relative;color:#6f6f6f;width:unset;margin:var(--r-block-margin) auto;padding:.625rem 1.75rem;border-left:.25rem solid #6f6f6f;font-style:normal;background:none;box-shadow:none}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:block}.reveal .slide aside,.reveal .slide div.aside{position:absolute;bottom:20px;font-size:0.7em;color:#6f6f6f}.reveal .slide sup{font-size:0.7em}.reveal .slide.scrollable aside,.reveal .slide.scrollable div.aside{position:relative;margin-top:1em}.reveal .slide aside .aside-footnotes{margin-bottom:0}.reveal .slide aside .aside-footnotes li:first-of-type{margin-top:0}.reveal .layout-sidebar{display:flex;width:100%;margin-top:.8em}.reveal .layout-sidebar .panel-sidebar{width:270px}.reveal .layout-sidebar-left .panel-sidebar{margin-right:calc(0.5em*2)}.reveal .layout-sidebar-right .panel-sidebar{margin-left:calc(0.5em*2)}.reveal .layout-sidebar .panel-fill,.reveal .layout-sidebar .panel-center,.reveal .layout-sidebar .panel-tabset{flex:1}.reveal .panel-input,.reveal .panel-sidebar{font-size:.5em;padding:.5em;border-style:solid;border-color:#bbb;border-width:1px;border-radius:4px;background-color:#f8f9fa}.reveal .panel-sidebar :first-child,.reveal .panel-fill :first-child{margin-top:0}.reveal .panel-sidebar :last-child,.reveal .panel-fill :last-child{margin-bottom:0}.panel-input>div,.panel-input>div>div{vertical-align:middle;padding-right:1em}.reveal p,.reveal .slides section,.reveal .slides section>section{line-height:1.3}.reveal.smaller .slides section,.reveal .slides section.smaller,.reveal .slides section .callout{font-size:0.7em}.reveal.smaller .slides section section{font-size:inherit}.reveal.smaller .slides h1,.reveal .slides section.smaller h1{font-size:calc(2.5em/0.7)}.reveal.smaller .slides h2,.reveal .slides section.smaller h2{font-size:calc(1.6em/0.7)}.reveal.smaller .slides h3,.reveal .slides section.smaller h3{font-size:calc(1.3em/0.7)}.reveal .columns>.column>:not(ul,ol){margin-left:.25em;margin-right:.25em}.reveal .columns>.column:first-child>:not(ul,ol){margin-right:.5em;margin-left:0}.reveal .columns>.column:last-child>:not(ul,ol){margin-right:0;margin-left:.5em}.reveal .slide-number{color:#5692e4;background-color:#fff}.reveal .footer{color:#6f6f6f}.reveal .footer a{color:#2a76dd}.reveal .footer.has-dark-background{color:#fff}.reveal .footer.has-dark-background a{color:#7bc6fa}.reveal .footer.has-light-background{color:#505050}.reveal .footer.has-light-background a{color:#6a9bdd}.reveal .slide-number{color:#6f6f6f}.reveal .slide-number.has-dark-background{color:#fff}.reveal .slide-number.has-light-background{color:#505050}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:0.7em}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout=edges] .navigate-left{left:.2em}.reveal .controls[data-controls-layout=edges] .navigate-right{right:.2em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.4em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:2.3em}}.tippy-box[data-theme~=light-border]{background-color:#fff;color:#222;border-radius:4px;border:solid 1px #6f6f6f;font-size:.6em}.tippy-box[data-theme~=light-border] .tippy-arrow{color:#6f6f6f}.tippy-box[data-placement^=bottom]>.tippy-content{padding:7px 10px;z-index:1}.reveal .callout.callout-style-simple .callout-body,.reveal .callout.callout-style-default .callout-body,.reveal .callout.callout-style-simple div.callout-title,.reveal .callout.callout-style-default div.callout-title{font-size:inherit}.reveal .callout.callout-style-default .callout-icon::before,.reveal .callout.callout-style-simple .callout-icon::before{height:2rem;width:2rem;background-size:2rem 2rem}.reveal .callout.callout-titled .callout-title p{margin-top:.5em}.reveal .callout.callout-titled .callout-icon::before{margin-top:1rem}.reveal .callout.callout-titled .callout-body>.callout-content>:last-child{margin-bottom:1rem}.reveal .panel-tabset [role=tab]{padding:.25em .7em}.reveal .slide-menu-button .fa-bars::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-easel2::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-brush::before{background-image:url('data:image/svg+xml,')}/*! light */.reveal ol[type=a]{list-style-type:lower-alpha}.reveal ol[type=a s]{list-style-type:lower-alpha}.reveal ol[type=A s]{list-style-type:upper-alpha}.reveal ol[type=i]{list-style-type:lower-roman}.reveal ol[type=i s]{list-style-type:lower-roman}.reveal ol[type=I s]{list-style-type:upper-roman}.reveal ol[type="1"]{list-style-type:decimal}.reveal ul.task-list{list-style:none}.reveal ul.task-list li input[type=checkbox]{width:2em;height:2em;margin:0 1em .5em -1.6em;vertical-align:middle}div.cell-output-display div.pagedtable-wrapper table.table{font-size:.6em}.reveal .code-annotation-container-hidden{display:none}.reveal code.sourceCode button.code-annotation-anchor,.reveal code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;font-size:.7em;line-height:1.2em;margin-top:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}.reveal code.sourceCode button.code-annotation-anchor{cursor:pointer}.reveal code.sourceCode a.code-annotation-anchor{text-align:center;vertical-align:middle;text-decoration:none;cursor:default;height:1.2em;width:1.2em}.reveal code.sourceCode.fragment a.code-annotation-anchor{left:auto}.reveal #code-annotation-line-highlight-gutter{width:100%;border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2}.reveal #code-annotation-line-highlight{margin-left:-8em;width:calc(100% + 4em);border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2;margin-bottom:-2px}.reveal code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#fff;font-weight:bolder}.reveal pre.code-annotation-code{padding-top:0;padding-bottom:0}.reveal pre.code-annotation-code code{z-index:3;padding-left:0px}.reveal dl.code-annotation-container-grid{margin-left:.1em}.reveal dl.code-annotation-container-grid dt{margin-top:.65rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;border:solid #222 1px;border-radius:50%;height:1.3em;width:1.3em;line-height:1.3em;font-size:.5em;text-align:center;vertical-align:middle;text-decoration:none}.reveal dl.code-annotation-container-grid dd{margin-left:.25em}.reveal .scrollable ol li:first-child:nth-last-child(n+10),.reveal .scrollable ol li:first-child:nth-last-child(n+10)~li{margin-left:1em}html.print-pdf .reveal .slides .pdf-page:last-child{page-break-after:avoid}.reveal .quarto-title-block .quarto-title-authors{display:flex;justify-content:center}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author{padding-left:.5em;padding-right:.5em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:hover,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:visited,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:active{color:inherit;text-decoration:none}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-name{margin-bottom:.1rem}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-email{margin-top:0px;margin-bottom:.4em;font-size:.6em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-orcid img{margin-bottom:4px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation{font-size:.7em;margin-top:0px;margin-bottom:8px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation:first{margin-top:12px}/*# sourceMappingURL=f95d2bded9c28492b788fe14c3e9f347.css.map */ diff --git a/tepm/lect02-24_files/libs/revealjs/plugin/pdf-export/pdfexport.js b/tepm/lect02-24_files/libs/revealjs/plugin/pdf-export/pdfexport.js index c399fa9..bf9104c 100644 --- a/tepm/lect02-24_files/libs/revealjs/plugin/pdf-export/pdfexport.js +++ b/tepm/lect02-24_files/libs/revealjs/plugin/pdf-export/pdfexport.js @@ -101,6 +101,9 @@ var PdfExport = ( function( _Reveal ){ Reveal = _Reveal; install(); }; + Plugin.togglePdfExport = function () { + togglePdfExport(); + }; } return Plugin; diff --git a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js index 5bffdc7..a69ca1d 100644 --- a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js +++ b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js @@ -38,7 +38,7 @@ window.QuartoLineHighlight = function () { divSourceCode.forEach((el) => { if (el.hasAttribute(kCodeLineNumbersAttr)) { const codeLineAttr = el.getAttribute(kCodeLineNumbersAttr); - el.removeAttribute("data-code-line-numbers"); + el.removeAttribute(kCodeLineNumbersAttr); if (handleLinesSelector(deck, codeLineAttr)) { // Only process if attr is a string to select lines to highlights // e.g "1|3,6|8-11" @@ -165,9 +165,9 @@ window.QuartoLineHighlight = function () { if (typeof highlight.last === "number") { spanToHighlight = [].slice.call( codeBlock.querySelectorAll( - ":scope > span:nth-child(n+" + + ":scope > span:nth-of-type(n+" + highlight.first + - "):nth-child(-n+" + + "):nth-of-type(-n+" + highlight.last + ")" ) @@ -175,7 +175,7 @@ window.QuartoLineHighlight = function () { } else if (typeof highlight.first === "number") { spanToHighlight = [].slice.call( codeBlock.querySelectorAll( - ":scope > span:nth-child(" + highlight.first + ")" + ":scope > span:nth-of-type(" + highlight.first + ")" ) ); } diff --git a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/footer.css b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/footer.css index 385473d..390d5b3 100644 --- a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/footer.css +++ b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/footer.css @@ -6,6 +6,7 @@ max-height: 2.2rem; height: 100%; width: auto; + z-index: 2; } .reveal .footer { diff --git a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/support.js b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/support.js index 9adc921..25a0bc0 100644 --- a/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/support.js +++ b/tepm/lect02-24_files/libs/revealjs/plugin/quarto-support/support.js @@ -4,6 +4,20 @@ window.QuartoSupport = function () { return /print-pdf/gi.test(window.location.search); } + // helper for theme toggling + function toggleBackgroundTheme(el, onDarkBackground, onLightBackground) { + if (onDarkBackground) { + el.classList.add('has-dark-background') + } else { + el.classList.remove('has-dark-background') + } + if (onLightBackground) { + el.classList.add('has-light-background') + } else { + el.classList.remove('has-light-background') + } + } + // implement controlsAudo function controlsAuto(deck) { const config = deck.getConfig(); @@ -111,8 +125,19 @@ window.QuartoSupport = function () { } } - // add footer text - function addFooter(deck) { + // tweak slide-number element + function tweakSlideNumber(deck) { + deck.on("slidechanged", function (ev) { + const revealParent = deck.getRevealElement(); + const slideNumberEl = revealParent.querySelector(".slide-number"); + const onDarkBackground = Reveal.getSlideBackground(ev.indexh, ev.indexv).classList.contains('has-dark-background'); + const onLightBackground = Reveal.getSlideBackground(ev.indexh, ev.indexv).classList.contains('has-light-background'); + toggleBackgroundTheme(slideNumberEl, onDarkBackground, onLightBackground); + }) + } + + // add footer text + function addFooter(deck) { const revealParent = deck.getRevealElement(); const defaultFooterDiv = document.querySelector(".footer-default"); if (defaultFooterDiv) { @@ -127,13 +152,17 @@ window.QuartoSupport = function () { prevSlideFooter.remove(); } const currentSlideFooter = ev.currentSlide.querySelector(".footer"); + const onDarkBackground = Reveal.getSlideBackground(ev.indexh, ev.indexv).classList.contains('has-dark-background') + const onLightBackground = Reveal.getSlideBackground(ev.indexh, ev.indexv).classList.contains('has-light-background') if (currentSlideFooter) { defaultFooterDiv.style.display = "none"; const slideFooter = currentSlideFooter.cloneNode(true); handleLinkClickEvents(deck, slideFooter); deck.getRevealElement().appendChild(slideFooter); + toggleBackgroundTheme(slideFooter, onDarkBackground, onLightBackground) } else { defaultFooterDiv.style.display = "block"; + toggleBackgroundTheme(defaultFooterDiv, onDarkBackground, onLightBackground) } }); } @@ -272,6 +301,23 @@ window.QuartoSupport = function () { } } + function handleWhiteSpaceInColumns(deck) { + for (const outerDiv of window.document.querySelectorAll("div.columns")) { + // remove all whitespace text nodes + // whitespace nodes cause the columns to be misaligned + // since they have inline-block layout + // + // Quarto emits no whitespace nodes, but third-party tooling + // has bugs that can cause whitespace nodes to be emitted. + // See https://github.com/quarto-dev/quarto-cli/issues/8382 + for (const node of outerDiv.childNodes) { + if (node.nodeType === 3 && node.nodeValue.trim() === "") { + outerDiv.removeChild(node); + } + } + } + } + return { id: "quarto-support", init: function (deck) { @@ -280,11 +326,13 @@ window.QuartoSupport = function () { fixupForPrint(deck); applyGlobalStyles(deck); addLogoImage(deck); + tweakSlideNumber(deck); addFooter(deck); addChalkboardButtons(deck); handleTabbyClicks(); handleSlideChanges(deck); workaroundMermaidDistance(deck); + handleWhiteSpaceInColumns(deck); }, }; }; diff --git a/tepm/lect02-24_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js b/tepm/lect02-24_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js index 1245b0d..9674053 100644 --- a/tepm/lect02-24_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js +++ b/tepm/lect02-24_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js @@ -37,4 +37,7 @@ window.RevealMenuToolHandlers = { downloadDrawings: revealMenuToolHandler(function () { RevealChalkboard.download(); }), + togglePdfExport: revealMenuToolHandler(function () { + PdfExport.togglePdfExport(); + }), };