Ejercicios
Relaciones sexuales entre universitarios
El departamento de Psicología de una Universidad de Castilla-La Mancha ha realizado un estudio sobre hábitos, preferencias y satisfacción sexual en estudiantes universitarios. Hemos utilizado los datos que recogieron en sus encuestas y queremos conocer si existen diferencias entre la frecuencia mensual de relaciones sexuales de estudiantes universitarios pertenecientes a tres titulaciones universitarias diferentes:
T1: 11 14 7 15 11 13 11 16 10 15 18 12 9 9 10 10 15 10 14 10 10 12 14 12 15 7 13 6 10 15 20 10 13 10 6 14 8 10 8 11
T2: 13 10 12 7 5 10 10 16 9 7 7 2 6 9 9 8 8 10 3 6 5 2 9 3 4 5 10 8 5 9 10 8 13 10 0 2 1 1 0 4
T3: 6 7 3 5 9 6 1 6 0 2 5 6 11 6 7 0 5 7 5 4 7 4 2 8 9 6 1 4 7 7 8 9 7 5 1 6 9 4 7 6
Contesta las siguientes preguntas:
* Introduce los datos en R creando las 2 variables: una que incluya las frecuencias de actividad sexual y otra que será un factor, que nos proporcionará información sobre la titulación universitaria de cada uno de los estudiantes.
v1<-c(11, 14, 7, 15, 11, 13, 11 ,16 ,10, 15 ,18, 12, 9,
9, 10, 10, 15, 10, 14, 10, 10, 12, 14 ,12, 15, 7 ,13 ,6, 10 ,15, 20 ,10, 13 ,10 ,6 ,14 ,8 ,10 ,8, 11)
v2<-c(13, 10, 12, 7, 5, 10, 10 ,16, 9, 7 ,7, 2, 6, 9, 9, 8, 8, 10 ,3 ,6, 5, 2, 9 ,3, 4, 5, 10 ,8 ,5, 9, 10, 8, 13, 10, 0, 2, 1, 1, 0, 4)
v3<-c(6, 7 ,3 ,5 ,9, 6, 1 ,6 ,0 ,2, 5, 6, 11, 6, 7 ,0 ,5, 7, 5, 4 ,7 ,4, 2, 8, 9 ,6 ,1 ,4 ,7 ,7 ,8 ,9 ,7 ,5 ,1 ,6 ,9, 4, 7, 6)
frec_as<-c(v1,v2,v3)
titulaciones<- as.factor(c(rep(c("T1", "T2", "T3"), each =40)))
* También indica quién sería el valor crítico de F bajo la hipótesis nula, que nos proporcionará la definición de una región de aceptación y rechazo (consideramos un nivel de significación alfa = 0.05).
Bajo la Ho el estadístico de contraste F se distribuye como una F de grados de libertad (I-1), (n-I) donde I es el número de grupos que disponemos y n el tamaño total de la muestral. Así obtenemos el cuantil buscado:
qf(0.05, 2-1, 40*3-2, lower.tail = F)
[1] 3.921478
* Describe los resultados obtenidos indicando quién es el valor del estadístico de contraste (F), los grados de libertad del factor, los grados de libertad residuales y el valor de P.
Grados de libertad factor:2 Grados de libertad Residuales:117 Valor P:1.07e-13
Valores del estadístico > 3.921478 estarán incluidos en la región de rechazo. En nuetro caso 38.98 es mucho mayor que el valor crítico obtenido.
* ¿Qué valor obtenemos para la estimación de la varianza común de los datos?
La raíz cuadrada de la media de los cuadrados del error, además de proporcionarnos una estimación de la varianza muestral de todos los datos, se utiliza en la obtención de los intervalos de confianza de las medias en cada uno de los grupos de interés.
[1] 10.6
* Tras evaluar la tabla ANOVA, ¿cuál sería tu conclusión en el contexto del problema?
Se rechaza la hipotesis nula y se concluye que existe diferencia entre la actividad sexual de los estudiantes de cada titulación.
* Si se han obtenido diferencias significativas entre los grupos, determina dónde se muestran esas diferencias utilizando el test HSD de Tukey. Representa gráficamente las diferencias encontradas e intrepreta los resultados obtenidos.
intervals1 = TukeyHSD(anova1)
intervals1
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = lm(frec_as ~ titulaciones))
$`titulaciones`
diff lwr upr p adj
T2-T1 -4.70 -6.428861 -2.9711395 0.0000000
T3-T1 -6.15 -7.878861 -4.4211395 0.0000000
T3-T2 -1.45 -3.178861 0.2788605 0.1189269
plot(intervals1)

Se puede ver que son muy diferentes entre todos los grupos.
* Si NO se verificaran estas condiciones, ¿hay alguna prueba no paramétrica para abordar los datos? Pruébalo y comenta los resultados obtenidos.
Kruskal-Wallis y pruebas post-hoc
kruskal.test(frec_as, titulaciones)
Kruskal-Wallis rank sum test
data: frec_as and titulaciones
Kruskal-Wallis chi-squared = 51.504, df = 2, p-value = 6.547e-12
qchisq(0.05, 2-1, lower.tail = F)
[1] 3.841459
Valores del estadístico > 3.841459 estarán incluidos en la región de rechazo. En nuetro caso 51.504 es mucho mayor que el valor crítico obtenido. Por lo tanto se concluye que provienen de poblaciones diferentes.
LS0tDQp0aXRsZTogIkFOT1ZBIg0KYXV0aG9yOiAiQW5kculzIFZpbnVlemEiDQpkYXRlOiAiMjggZGUgc2VwdGllbWJyZSBkZSAyMDE4Ig0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCjxib2R5IHN0eWxlID0iYmFja2dyb3VuZDogdXJsKCdodHRwczovL3IxLmlsaWtld2FsbHBhcGVyLm5ldC9pcGFkLWFpci13YWxscGFwZXJzL2Rvd25sb2FkLzMwMjkxL0dlb21ldHJpYy1HcmVlbi1XaGFsZS1NaW5pbWFsLWlwYWQtYWlyLXdhbGxwYXBlci1pbGlrZXdhbGxwYXBlcl9jb20uanBnJykgIGNlbnRlciBjZW50ZXIgZml4ZWQ7Ij4NCg0KYGBge3J9DQpsaWJyYXJ5KFBNQ01SKQ0KYGBgDQoNCiMjIEVqZXJjaWNpb3MNCipSZWxhY2lvbmVzIHNleHVhbGVzIGVudHJlIHVuaXZlcnNpdGFyaW9zKg0KDQpFbCBkZXBhcnRhbWVudG8gZGUgUHNpY29sb2ftYSBkZSB1bmEgVW5pdmVyc2lkYWQgZGUgQ2FzdGlsbGEtTGEgTWFuY2hhIGhhIHJlYWxpemFkbyB1biBlc3R1ZGlvIHNvYnJlIGjhYml0b3MsIHByZWZlcmVuY2lhcyB5IHNhdGlzZmFjY2nzbiBzZXh1YWwgZW4gZXN0dWRpYW50ZXMgdW5pdmVyc2l0YXJpb3MuIEhlbW9zIHV0aWxpemFkbyBsb3MgZGF0b3MgcXVlIHJlY29naWVyb24gZW4gc3VzIGVuY3Vlc3RhcyB5IHF1ZXJlbW9zIGNvbm9jZXIgc2kgZXhpc3RlbiBkaWZlcmVuY2lhcyBlbnRyZSBsYSBmcmVjdWVuY2lhIG1lbnN1YWwgZGUgcmVsYWNpb25lcyBzZXh1YWxlcyBkZSBlc3R1ZGlhbnRlcyB1bml2ZXJzaXRhcmlvcyBwZXJ0ZW5lY2llbnRlcyBhIHRyZXMgdGl0dWxhY2lvbmVzIHVuaXZlcnNpdGFyaWFzIGRpZmVyZW50ZXM6DQoNCioqVDEqKjogMTEgMTQgNyAxNSAxMSAxMyAxMSAxNiAxMCAxNSAxOCAxMiA5IDkgMTAgMTAgMTUgMTAgMTQgMTAgMTAgMTIgMTQgMTIgMTUgNyAxMyA2IDEwIDE1IDIwIDEwIDEzIDEwIDYgMTQgOCAxMCA4IDExDQoNCioqVDIqKjogMTMgMTAgMTIgNyA1IDEwIDEwIDE2IDkgNyA3IDIgNiA5IDkgOCA4IDEwIDMgNiA1IDIgOSAzIDQgNSAxMCA4IDUgOSAxMCA4IDEzIDEwIDAgMiAxIDEgMCA0DQoNCioqVDMqKjogNiA3IDMgNSA5IDYgMSA2IDAgMiA1IDYgMTEgNiA3IDAgNSA3IDUgNCA3IDQgMiA4IDkgNiAxIDQgNyA3IDggOSA3IDUgMSA2IDkgNCA3IDYNCg0KDQoNCkNvbnRlc3RhIGxhcyBzaWd1aWVudGVzIHByZWd1bnRhczoNCjxociBjb2xvcj0iYmx1ZSIgc2l6ZT0zPg0KDQojIyMqIEludHJvZHVjZSBsb3MgZGF0b3MgZW4gUiBjcmVhbmRvIGxhcyAyIHZhcmlhYmxlczogdW5hIHF1ZSBpbmNsdXlhIGxhcyBmcmVjdWVuY2lhcyBkZSBhY3RpdmlkYWQgc2V4dWFsIHkgb3RyYSBxdWUgc2Vy4SB1biBmYWN0b3IsIHF1ZSBub3MgcHJvcG9yY2lvbmFy4SBpbmZvcm1hY2nzbiBzb2JyZSBsYSB0aXR1bGFjafNuIHVuaXZlcnNpdGFyaWEgZGUgY2FkYSB1bm8gZGUgbG9zIGVzdHVkaWFudGVzLg0KYGBge3J9DQp2MTwtYygxMSwgMTQsIDcsIDE1LCAxMSwgMTMsIDExICwxNiAsMTAsIDE1ICwxOCwgMTIsIDksDQogICAgICA5LCAxMCwgMTAsIDE1LCAxMCwgMTQsIDEwLCAxMCwgMTIsIDE0ICwxMiwgMTUsIDcgLDEzICw2LCAxMCAsMTUsIDIwICwxMCwgMTMgLDEwICw2ICwxNCAsOCAsMTAgLDgsIDExKQ0KdjI8LWMoMTMsIDEwLCAxMiwgNywgNSwgMTAsIDEwICwxNiwgOSwgNyAsNywgMiwgNiwgOSwgOSwgOCwgOCwgMTAgLDMgLDYsIDUsIDIsIDkgLDMsIDQsIDUsIDEwICw4ICw1LCA5LCAxMCwgOCwgMTMsIDEwLCAwLCAyLCAxLCAxLCAwLCA0KQ0KdjM8LWMoNiwgNyAsMyAsNSAsOSwgNiwgMSAsNiAsMCAsMiwgNSwgNiwgMTEsIDYsIDcgLDAgLDUsIDcsIDUsIDQgLDcgLDQsIDIsIDgsIDkgLDYgLDEgLDQgLDcgLDcgLDggLDkgLDcgLDUgLDEgLDYgLDksIDQsIDcsIDYpDQpmcmVjX2FzPC1jKHYxLHYyLHYzKQ0KdGl0dWxhY2lvbmVzPC0gYXMuZmFjdG9yKGMocmVwKGMoIlQxIiwgIlQyIiwgIlQzIiksIGVhY2ggPTQwKSkpDQpgYGANCg0KPGhyIGNvbG9yPSJibHVlIiBzaXplPTM+DQoNCiMjIyogRXhwbG9yYSBsb3MgZGF0b3MgZGUgbGEgbXVlc3RyYSBtZWRpYW50ZSBncuFmaWNvcyB5IGRlc2NyaXB0aXZvcy4gv09ic2VydmFtb3MgZGlmZXJlbmNpYXMgZW4gbG9zIHZhbG9yZXMgcHJvbWVkaW9zIHkgZGUgdmFyaWFiaWxpZGFkIHBvciBncnVwb3M/DQoNCg0KRXhwbG9yYW1vcyBsb3MgZGF0b3MgZGUgbGEgbXVlc3RyYToNCg0KYGBge3J9DQpib3hwbG90KGZyZWNfYXMgfiB0aXR1bGFjaW9uZXMsIGNvbCA9IGMoInllbGxvdyIsICJibHVlIiwgIndoaXRlIiksIHlsYWIgPSAiRnJlY3VlbmNpYSBSZWxhY2lvbmVzIFNleHVhbGVzIikNCmBgYA0KTHVlZ28gbGFzIG1lZGlhcyBzb246DQoNCmBgYHtyfQ0KdGFwcGx5KGZyZWNfYXMsIHRpdHVsYWNpb25lcywgbWVhbikNCmBgYA0KDQoNCkNvbiBlbCBncuFmaWNvIGFudGVyaW9yIHBvZGVtb3Mgbm90YXIgcXVlIGxhcyB2YXJpYW56YXMgc29uIGRpZmVyZW50ZXMsIGFkZW3hcyBzZSBwb2Ry7WEgZGVjaXIgcXVlIGxhcyAzIG1lZGlhcyBzb24gZGlmZXJlbnRlcywgcGVybyBlbnRyZSAiVDEiIHkgIlQyIiwgcGFyZWNlIHF1ZSB0aWVuZW4gdW5hIG1lZGlhIGVzdGFk7XN0aWNhbWVudGUgc2VtZWphbnRlLg0KDQoNCjxociBjb2xvcj0iYmx1ZSIgc2l6ZT0zPg0KIyMjKiBSZWFsaXphIHVuIHRlc3QgRiAoQU5PVkEpIHBhcmEgY29tcGFyYXIgbGFzIG1lZGlhcyBkZSBsYXMgMyBwb2JsYWNpb25lcy4gv0N14WxlcyBzZXLtYW4gbGFzIGhpcPN0ZXNpcyBudWxhIHkgYWx0ZXJuYXRpdmE/DQoNClZhbW9zIGEgcHJvYmFyIHNpIA0KJCRIXzA6XG11X3tUMX09XG11X3tUMn09XG11X3tUM30kJCwNCmVzIGRlY2lyIHNpIGxhcyB0cmVzIG1lZGlhcyBzbyBpZ3VhbGVzLg0KDQpgYGB7cn0NCmFub3ZhMSA9IGFvdiggbG0oZnJlY19hc34gdGl0dWxhY2lvbmVzKSApI1JlYWxpemFtb3MgZWwgQU5PVkENCmBgYA0KUGVkaW1vcyB1biByZXN1bWVuIGRlIGxhIHRhYmxhIGRlbCBBTk9WQQ0KYGBge3J9DQpzdW1tYXJ5KGFub3ZhMSkNCmBgYA0KDQoNCkVsZW1lbnRvcyBnZW5lcmFkb3MgZW4gZWwgQU5PVkE6DQoNCmBgYHtyfQ0KbmFtZXMoYW5vdmExKQ0KYGBgDQoNCkRlYmlkbyBhIHF1ZSBlbCB2YWxvciBwIGVzIDEuMDdlLTEzLCBxdWUgZXMgbWVub3IgcXVlIGVsIG5pdmVsIGRlIHNpZ25pZmljYW5jaWEgZGUgMC4wNSwgcHVlZGUgcmVjaGF6YXIgbGEgaGlw83Rlc2lzIG51bGEgeSBjb25jbHVpciBxdWUgYWxndW5hcyBkZSBsYXMgdGl0dWxhY2lvbmVzIHRpZW5lbiBkaWZlcmVudGVzIG1lZGlhcy4NCg0KPGhyIGNvbG9yPSJibHVlIiBzaXplPTM+DQoNCiMjIyogVGFtYmnpbiBpbmRpY2EgcXVp6W4gc2Vy7WEgZWwgdmFsb3IgY3LtdGljbyBkZSBGIGJham8gbGEgaGlw83Rlc2lzIG51bGEsIHF1ZSBub3MgcHJvcG9yY2lvbmFy4SBsYSBkZWZpbmljafNuIGRlIHVuYSByZWdp824gZGUgYWNlcHRhY2nzbiB5IHJlY2hhem8gKGNvbnNpZGVyYW1vcyB1biBuaXZlbCBkZSBzaWduaWZpY2FjafNuIGFsZmEgPSAwLjA1KS4NCg0KQmFqbyBsYSBIbyBlbCBlc3RhZO1zdGljbyBkZSBjb250cmFzdGUgRiBzZSBkaXN0cmlidXllIGNvbW8gdW5hIEYgZGUgZ3JhZG9zIGRlIGxpYmVydGFkIChJLTEpLCAobi1JKSBkb25kZSBJIGVzIGVsIG76bWVybyBkZSBncnVwb3MgcXVlIGRpc3BvbmVtb3MgeSBuIGVsIHRhbWHxbyB0b3RhbCBkZSBsYSBtdWVzdHJhbC4gQXPtIG9idGVuZW1vcyBlbCBjdWFudGlsIGJ1c2NhZG86DQoNCmBgYHtyfQ0KcWYoMC4wNSwgMi0xLCA0MCozLTIsIGxvd2VyLnRhaWwgPSBGKQ0KYGBgDQoNCg0KPGhyIGNvbG9yPSJibHVlIiBzaXplPTM+DQojIyMqIERlc2NyaWJlIGxvcyByZXN1bHRhZG9zIG9idGVuaWRvcyBpbmRpY2FuZG8gcXVp6W4gZXMgZWwgdmFsb3IgZGVsIGVzdGFk7XN0aWNvIGRlIGNvbnRyYXN0ZSAoRiksIGxvcyBncmFkb3MgZGUgbGliZXJ0YWQgZGVsIGZhY3RvciwgbG9zIGdyYWRvcyBkZSBsaWJlcnRhZCByZXNpZHVhbGVzIHkgZWwgdmFsb3IgZGUgUC4NCg0KR3JhZG9zIGRlIGxpYmVydGFkIGZhY3RvcjoyDQpHcmFkb3MgZGUgbGliZXJ0YWQgUmVzaWR1YWxlczoxMTcNClZhbG9yIFA6MS4wN2UtMTMNCg0KVmFsb3JlcyBkZWwgZXN0YWTtc3RpY28gPiAzLjkyMTQ3OCBlc3RhcuFuIGluY2x1aWRvcyBlbiBsYSByZWdp824gZGUgcmVjaGF6by4gRW4gbnVldHJvIGNhc28gIDM4Ljk4IGVzIG11Y2hvIG1heW9yIHF1ZSBlbCB2YWxvciBjcu10aWNvIG9idGVuaWRvLg0KPGhyIGNvbG9yPSJibHVlIiBzaXplPTM+DQojIyMqIL9RdekgdmFsb3Igb2J0ZW5lbW9zIHBhcmEgbGEgZXN0aW1hY2nzbiBkZSBsYSB2YXJpYW56YSBjb236biBkZSBsb3MgZGF0b3M/DQoNCkxhIHJh7XogY3VhZHJhZGEgZGUgbGEgbWVkaWEgZGUgbG9zIGN1YWRyYWRvcyBkZWwgZXJyb3IsIGFkZW3hcyBkZSBwcm9wb3JjaW9uYXJub3MgdW5hIGVzdGltYWNp824gZGUgbGEgdmFyaWFuemEgbXVlc3RyYWwgZGUgdG9kb3MgbG9zIGRhdG9zLCBzZSB1dGlsaXphIGVuIGxhIG9idGVuY2nzbiBkZSBsb3MgaW50ZXJ2YWxvcyBkZSBjb25maWFuemEgZGUgbGFzIG1lZGlhcyBlbiBjYWRhIHVubyBkZSBsb3MgZ3J1cG9zIGRlIGludGVy6XMuDQoNCmBgYHtyIGVjaG89RkFMU0V9DQoxMC42DQpgYGANCg0KPGhyIGNvbG9yPSJibHVlIiBzaXplPTM+DQojIyMqIFRyYXMgZXZhbHVhciBsYSB0YWJsYSBBTk9WQSwgv2N14Wwgc2Vy7WEgdHUgY29uY2x1c2nzbiBlbiBlbCBjb250ZXh0byBkZWwgcHJvYmxlbWE/DQoNClNlIHJlY2hhemEgbGEgaGlwb3Rlc2lzIG51bGEgeSBzZSBjb25jbHV5ZSBxdWUgZXhpc3RlIGRpZmVyZW5jaWEgZW50cmUgbGEgYWN0aXZpZGFkIHNleHVhbCBkZSBsb3MgZXN0dWRpYW50ZXMgZGUgY2FkYSB0aXR1bGFjafNuLg0KDQo8aHIgY29sb3I9ImJsdWUiIHNpemU9Mz4NCg0KIyMjKiBEZXRlcm1pbmEgbG9zIGludGVydmFsb3MgZGUgY29uZmlhbnphIHBhcmEgbGFzIG1lZGlhcyBkZSBmcmVjdWVuY2lhIHNleHVhbCBlbiBjYWRhIHVubyBkZSBsYXMgdGl0dWxhY2lvbmVzIGRlc2NyaXRhcy4NCg0KDQoNCkludGVydmFsbyBkZSBjb25maWFuemEgZGUgbGEgbWVkaWEgZGUgbGFzIHJlbGFjaW9uZXMgc2V4dWFsZXMgcGFyYSBsYSB0aXR1bGFjafNuICpUMSosIGNvbiB1biBuaXZlbCBkZSBjb25maWFuemEgZGVsIDk1JToNCg0KDQpgYGB7cn0NCm1lZGlhMSA8LSBtZWFuKGZyZWNfYXNbdGl0dWxhY2lvbmVzPT0iVDEiXSkgDQp2YWxvcl90MSA8LSBwdCgwLjA1LzIsIDExNyAtIDIpIA0Kc3AxIDwtIHNxcnQoMTAuNikgICNkZXN2aWFjafNuIHTtcGljYSBkZSBsYSB2YXJpYW56YSBtdWVzdHJhbCBjb236bg0KZWUxICA8LSB2YWxvcl90MSAqIChzcDEvIHNxcnQoNikpICAjZXJyb3IgZGUgZXN0aW1hY2nzbiANCm1lZGlhMQ0KYGBgDQoNCmztbWl0ZSBzdXBlcmlvciBkZWwgaW50ZXJ2YWxvIGRlIGNvbmZpYW56YSBkZSBsYSBtZWRpYSANCmBgYHtyfQ0KbWVkaWExICsgZWUxDQpgYGANCg0KbO1taXRlIGluZmVyaW9yIGRlbCBpbnRlcnZhbG8gZGUgY29uZmlhbnphIGRlIGxhIG1lZGlhIA0KDQpgYGB7cn0NCm1lZGlhMSAtIGVlMQ0KYGBgDQoNCkludGVydmFsbyBkZSBjb25maWFuemEgZGUgbGEgbWVkaWEgZGUgbGFzIHJlbGFjaW9uZXMgc2V4dWFsZXMgcGFyYSBsYSB0aXR1bGFjafNuICpUMiosIGNvbiB1biBuaXZlbCBkZSBjb25maWFuemEgZGVsIDk1JToNCg0KDQpgYGB7cn0NCm1lZGlhMiA8LSBtZWFuKGZyZWNfYXNbdGl0dWxhY2lvbmVzPT0iVDIiXSkgDQp2YWxvcl90MiA8LSBwdCgwLjA1LzIsIDExNyAtIDIpIA0Kc3AyIDwtIHNxcnQoMTAuNikgICNkZXN2aWFjafNuIHTtcGljYSBkZSBsYSB2YXJpYW56YSBtdWVzdHJhbCBjb236bg0KZWUyICA8LSB2YWxvcl90MiAqIChzcDIvIHNxcnQoNikpICAjZXJyb3IgZGUgZXN0aW1hY2nzbiANCm1lZGlhMg0KYGBgDQoNCmztbWl0ZSBzdXBlcmlvciBkZWwgaW50ZXJ2YWxvIGRlIGNvbmZpYW56YSBkZSBsYSBtZWRpYSANCmBgYHtyfQ0KbWVkaWEyICsgZWUyDQpgYGANCg0KbO1taXRlIGluZmVyaW9yIGRlbCBpbnRlcnZhbG8gZGUgY29uZmlhbnphIGRlIGxhIG1lZGlhIA0KDQpgYGB7cn0NCm1lZGlhMiAtIGVlMg0KYGBgDQpJbnRlcnZhbG8gZGUgY29uZmlhbnphIGRlIGxhIG1lZGlhIGRlIGxhcyByZWxhY2lvbmVzIHNleHVhbGVzIHBhcmEgbGEgdGl0dWxhY2nzbiAqVDMqLCBjb24gdW4gbml2ZWwgZGUgY29uZmlhbnphIGRlbCA5NSU6DQoNCg0KYGBge3J9DQptZWRpYTMgPC0gbWVhbihmcmVjX2FzW3RpdHVsYWNpb25lcz09IlQzIl0pIA0KdmFsb3JfdDMgPC0gcHQoMC4wNS8yLCAxMTcgLSAyKSANCnNwMyA8LSBzcXJ0KDEwLjYpICAjZGVzdmlhY2nzbiB07XBpY2EgZGUgbGEgdmFyaWFuemEgbXVlc3RyYWwgY29t+m4NCmVlMyAgPC0gdmFsb3JfdDMgKiAoc3AzLyBzcXJ0KDYpKSAgI2Vycm9yIGRlIGVzdGltYWNp824gDQptZWRpYTMNCmBgYA0KDQps7W1pdGUgc3VwZXJpb3IgZGVsIGludGVydmFsbyBkZSBjb25maWFuemEgZGUgbGEgbWVkaWEgDQpgYGB7cn0NCm1lZGlhMyArIGVlMw0KYGBgDQoNCmztbWl0ZSBpbmZlcmlvciBkZWwgaW50ZXJ2YWxvIGRlIGNvbmZpYW56YSBkZSBsYSBtZWRpYSANCg0KYGBge3J9DQptZWRpYTMgLSBlZTMNCmBgYA0KDQoNCjxociBjb2xvcj0iYmx1ZSIgc2l6ZT0zPg0KIyMjKiBTaSBzZSBoYW4gb2J0ZW5pZG8gZGlmZXJlbmNpYXMgc2lnbmlmaWNhdGl2YXMgZW50cmUgbG9zIGdydXBvcywgZGV0ZXJtaW5hIGTzbmRlIHNlIG11ZXN0cmFuIGVzYXMgZGlmZXJlbmNpYXMgdXRpbGl6YW5kbyBlbCB0ZXN0IEhTRCBkZSBUdWtleS4gUmVwcmVzZW50YSBncuFmaWNhbWVudGUgbGFzIGRpZmVyZW5jaWFzIGVuY29udHJhZGFzIGUgaW50cmVwcmV0YSBsb3MgcmVzdWx0YWRvcyBvYnRlbmlkb3MuDQoNCg0KYGBge3J9DQppbnRlcnZhbHMxID0gVHVrZXlIU0QoYW5vdmExKQ0KaW50ZXJ2YWxzMQ0KYGBgDQoNCmBgYHtyfQ0KcGxvdChpbnRlcnZhbHMxKQ0KYGBgDQpTZSBwdWVkZSB2ZXIgcXVlIHNvbiBtdXkgZGlmZXJlbnRlcyBlbnRyZSB0b2RvcyBsb3MgZ3J1cG9zLg0KDQo8aHIgY29sb3I9ImJsdWUiIHNpemU9Mz4NCiMjIyogQSBwYXJ0aXIgZGUgbG9zIHJlc2lkdW9zIG9idGVuaWRvcyB5IG1lZGlhbnRlIHByb2NlZGltaWVudG9zIGdy4WZpY29zLCBjb25maXJtYSBsYSB2YWxpZGV6IGRlbCBtb2RlbG8gY29tcHJvYmFuZG8gZWwgY3VtcGxpbWllbnRvIGRlIGxhcyAzIGNvbmRpY2lvbmVzIGFzdW1pZGFzIGFsIGhhY2VyIGVsIEFOT1ZBLiC/Q3JlZXMgcXVlIGVsIG1vZGVsbyBBTk9WQSB1dGlsaXphZG8gZXMgduFsaWRvIHBhcmEgZXN0b3MgZGF0b3M/DQoNCkEgcGFydGlyIGRlIGxvcyByZXNpZHVvcyBkZWwgbW9kZWxvIGNvbXByb2JhcmVtb3Mgc2kgZWwgbW9kZWxvIEFOT1ZBIGVzIGFkZWN1YWRvLiBMb3Mgc3VwdWVzdG9zIHF1ZSBzZSBkZWJlbiBjdW1wbGlyIHNvbiB0cmVzOiBpbmRlcGVuZGVuY2lhLCBob21vY2VkYXN0aWNpZGFkIHkgbm9ybWFsaWRhZA0KDQoqSW5kZXBlbmRlbmNpYSoNCg0KYGBge3J9DQpwbG90KGFub3ZhMSRyZXNpZHVhbHMpDQpgYGANCipOb3JtYWxpZGFkKg0KTG9zIGdy4WZpY29zIHkgZGVzY3JpcHRpdm9zIG5vcyBpbmZvcm1hbiBzaSBzZSB2ZXJpZmljYSBsYSBpZ3VhbGRhZCBkZSB2YXJpYW56YXMgZW4gbG9zIGdydXBvcyBkZXNjcml0b3M6DQpgYGB7cn0NCnN1bW1hcnkoYW5vdmExJHJlc2lkdWFscykNCmBgYA0KDQpgYGB7cn0NCmJveHBsb3QoYW5vdmExJHJlc2lkdWFscykNCmBgYA0KDQpgYGB7cn0NCmhpc3QoYW5vdmExJHJlc2lkdWFscykNCmBgYA0KYGBge3J9DQpxcW5vcm0oYW5vdmExJHJlc2lkdWFscykgDQpxcWxpbmUoYW5vdmExJHJlc2lkdWFscykNCmBgYA0KDQpFbCB0ZXN0IGRlIFNoYXBpcm8tV2lsayBpbmRpY2EgcXVlIG5vIHRlbmVtb3MgZXZpZGVuY2lhIHN1ZmljaWVudGUgcGFyYSByZWNoYXphciBsYSBoaXDzdGVzaXMgbnVsYSAobm9ybWFsaWRhZCBkZSBsb3MgcmVzaWR1b3MpDQoNCg0KYGBge3J9DQpzaGFwaXJvLnRlc3QoYW5vdmExJHJlc2lkdWFscykNCmBgYA0KDQpDb21vIG9idGVuZW1vcyB1biB2YWxvciBwIG1heW9yIGEgMC4wNSwgcG9kZW1vcyBjb25jbHVpciBxdWUgbG9zIGRhdG9zIHNlIGRpc3RyaWJ1eWVuIG5vcm1hbG1lbnRlLg0KDQoqSG9tb2NlZGFzdGljaWRhZCoNCg0KYGBge3J9DQpib3hwbG90KGFub3ZhMSRyZXNpZHVhbHN+dGl0dWxhY2lvbmVzLCBjb2wgPSBjKCJ5ZWxsb3ciLCAiYmx1ZSIsICJ3aGl0ZSIpKSANCmBgYA0KDQoNCiMjIyogU2kgTk8gc2UgdmVyaWZpY2FyYW4gZXN0YXMgY29uZGljaW9uZXMsIL9oYXkgYWxndW5hIHBydWViYSBubyBwYXJhbel0cmljYSBwYXJhIGFib3JkYXIgbG9zIGRhdG9zPyBQcnXpYmFsbyB5IGNvbWVudGEgbG9zIHJlc3VsdGFkb3Mgb2J0ZW5pZG9zLg0KDQpLcnVza2FsLVdhbGxpcyB5IHBydWViYXMgcG9zdC1ob2MNCg0KYGBge3J9DQprcnVza2FsLnRlc3QoZnJlY19hcywgdGl0dWxhY2lvbmVzKQ0KYGBgDQoNCmBgYHtyfQ0KcWNoaXNxKDAuMDUsIDItMSwgbG93ZXIudGFpbCA9IEYpDQpgYGANClZhbG9yZXMgZGVsIGVzdGFk7XN0aWNvID4gMy44NDE0NTkgZXN0YXLhbiBpbmNsdWlkb3MgZW4gbGEgcmVnafNuIGRlIHJlY2hhem8uIEVuIG51ZXRybyBjYXNvIDUxLjUwNCBlcyBtdWNobyBtYXlvciBxdWUgZWwgdmFsb3IgY3LtdGljbyBvYnRlbmlkby4gUG9yIGxvIHRhbnRvIHNlIGNvbmNsdXllIHF1ZSBwcm92aWVuZW4gZGUgcG9ibGFjaW9uZXMgZGlmZXJlbnRlcy4NCg0KDQoNCg==