Autores

  1. Romina Pedreros (DDS). Cirujano Dentista, Estudiante de Postgrado Trastornos Temporomandibulares y Dolor Orofacial, Facultad de Medicina Universidad del Desarrollo, Santiago, Chile.
  2. Rodrigo Casassus (DDS, MS). Cirujano Dentista, Especialista en Trastornos Temporomandibulares y Dolor Orofacial Universidad de Kentucky. Profesor Asociado y Director Postgrado Trastornos Temporomandibulares y Dolor Orofacial, Facultad de Medicina, Universidad del Desarrollo, Santiago, Chile.
  3. María Carolina Díaz (DDS). Cirujano Dentista. Especialista en Trastornos Temporomandibulares y Dolor Orofacial Universidad Andrés Bello. Profesor Asociado y Subdirectora Postgrado Trastornos Temporomandibulares y Dolor Orofacial, Facultad de Medicina, Universidad del Desarrollo, Santiago, Chile.

Paquetes

library(meta)
Loading 'meta' package (version 4.9-4).
Type 'help(meta)' for a brief overview.

Dataset

df <- read_csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vSF0IaPzgT1j8zZjCRttANxOh948pFZVaQvBfRafzdfHjDox2lc1KgMGjBfrbqh0HWdtjPXQbYXDhm1/pub?gid=0&single=true&output=csv")
Parsed with column specification:
cols(
  Estudio = col_character(),
  Año = col_double(),
  `Diseño del estudio` = col_character(),
  `Método diagnóstico` = col_character(),
  `Método diagnóstico BS` = col_character(),
  Musculo = col_character(),
  `medida utilizada para medir grosor muscular` = col_character(),
  `n en el grupo con bruxismo` = col_double(),
  `promedio músculo grupo bruxismo posición relajada` = col_double(),
  `promedio músculo grupo bruxismo máximo apriete` = col_double(),
  `desviación estandar grupo bruxismo posición relajada` = col_double(),
  `desviación estándar grupo bruxismo máximo apriete` = col_double(),
  `n en el grupo control` = col_double(),
  `promedio músculo grupo control posición relajada` = col_double(),
  `promedio músculo grupo control máximo apriete` = col_double(),
  `desviación estandar grupo control posición relajada` = col_double(),
  `desviación estándar grupo control máximo apriete` = col_double()
)

EDA

summary(df)
   Estudio               Año       Diseño del estudio Método diagnóstico Método diagnóstico BS   Musculo          medida utilizada para medir grosor muscular
 Length:4           Min.   :2016   Length:4           Length:4           Length:4              Length:4           Length:4                                   
 Class :character   1st Qu.:2016   Class :character   Class :character   Class :character      Class :character   Class :character                           
 Mode  :character   Median :2016   Mode  :character   Mode  :character   Mode  :character      Mode  :character   Mode  :character                           
                    Mean   :2016                                                                                                                             
                    3rd Qu.:2016                                                                                                                             
                    Max.   :2016                                                                                                                             
 n en el grupo con bruxismo promedio músculo grupo bruxismo posición relajada promedio músculo grupo bruxismo máximo apriete desviación estandar grupo bruxismo posición relajada
 Min.   :45                 Min.   :0.4800                                    Min.   :0.570                                  Min.   :0.010                                       
 1st Qu.:45                 1st Qu.:0.4875                                    1st Qu.:0.600                                  1st Qu.:0.010                                       
 Median :45                 Median :0.6600                                    Median :0.880                                  Median :0.015                                       
 Mean   :45                 Mean   :0.6650                                    Mean   :0.885                                  Mean   :0.015                                       
 3rd Qu.:45                 3rd Qu.:0.8375                                    3rd Qu.:1.165                                  3rd Qu.:0.020                                       
 Max.   :45                 Max.   :0.8600                                    Max.   :1.210                                  Max.   :0.020                                       
 desviación estándar grupo bruxismo máximo apriete n en el grupo control promedio músculo grupo control posición relajada promedio músculo grupo control máximo apriete
 Min.   :0.010                                     Min.   :45            Min.   :0.4900                                   Min.   :0.5900                               
 1st Qu.:0.025                                     1st Qu.:45            1st Qu.:0.4975                                   1st Qu.:0.5975                               
 Median :0.030                                     Median :45            Median :0.6650                                   Median :0.8850                               
 Mean   :0.025                                     Mean   :45            Mean   :0.6675                                   Mean   :0.8950                               
 3rd Qu.:0.030                                     3rd Qu.:45            3rd Qu.:0.8350                                   3rd Qu.:1.1825                               
 Max.   :0.030                                     Max.   :45            Max.   :0.8500                                   Max.   :1.2200                               
 desviación estandar grupo control posición relajada desviación estándar grupo control máximo apriete
 Min.   :0.0100                                      Min.   :0.02                                    
 1st Qu.:0.0175                                      1st Qu.:0.02                                    
 Median :0.0250                                      Median :0.03                                    
 Mean   :0.0225                                      Mean   :0.03                                    
 3rd Qu.:0.0300                                      3rd Qu.:0.04                                    
 Max.   :0.0300                                      Max.   :0.04                                    
glimpse(df)
Observations: 4
Variables: 17
$ Estudio                                                <chr> "Impact of bruxism on masseter and temporalis muscles and bite force", "Impact of bruxism on masseter and temporalis…
$ Año                                                    <dbl> 2016, 2016, 2016, 2016
$ `Diseño del estudio`                                   <chr> "Observacional, transversal", "observacional, transversal", "observacional, transversal", "observacional, transversa…
$ `Método diagnóstico`                                   <chr> "Ultrasonografía", "Ultrasonografía", "Ultrasonografía", "Ultrasonografía"
$ `Método diagnóstico BS`                                <chr> "Polisomnograma", "Polisomnograma", "Polisomnograma", "Polisomnograma"
$ Musculo                                                <chr> "masetero derecho", "masetero izquierdo", "temporal anterior derecho", "temporal anterior izquierdo"
$ `medida utilizada para medir grosor muscular`          <chr> "centímetros", "centímetros", "centímetros", "centímetros"
$ `n en el grupo con bruxismo`                           <dbl> 45, 45, 45, 45
$ `promedio músculo grupo bruxismo posición relajada`    <dbl> 0.83, 0.86, 0.49, 0.48
$ `promedio músculo grupo bruxismo máximo apriete`       <dbl> 1.15, 1.21, 0.61, 0.57
$ `desviación estandar grupo bruxismo posición relajada` <dbl> 0.02, 0.02, 0.01, 0.01
$ `desviación estándar grupo bruxismo máximo apriete`    <dbl> 0.03, 0.03, 0.03, 0.01
$ `n en el grupo control`                                <dbl> 45, 45, 45, 45
$ `promedio músculo grupo control posición relajada`     <dbl> 0.85, 0.83, 0.49, 0.50
$ `promedio músculo grupo control máximo apriete`        <dbl> 1.17, 1.22, 0.60, 0.59
$ `desviación estandar grupo control posición relajada`  <dbl> 0.03, 0.02, 0.01, 0.03
$ `desviación estándar grupo control máximo apriete`     <dbl> 0.04, 0.04, 0.02, 0.02

Subsets

Data cleaning

glimpse(df)
Observations: 4
Variables: 17
$ estudio                                              <chr> "Impact of bruxism on masseter and temporalis muscles and bite force", "Impact of bruxism on masseter and temporalis …
$ ano                                                  <dbl> 2016, 2016, 2016, 2016
$ diseno_del_estudio                                   <chr> "Observacional, transversal", "observacional, transversal", "observacional, transversal", "observacional, transversal"
$ metodo_diagnostico                                   <chr> "Ultrasonografía", "Ultrasonografía", "Ultrasonografía", "Ultrasonografía"
$ metodo_diagnostico_bs                                <chr> "Polisomnograma", "Polisomnograma", "Polisomnograma", "Polisomnograma"
$ musculo                                              <chr> "masetero derecho", "masetero izquierdo", "temporal anterior derecho", "temporal anterior izquierdo"
$ medida_utilizada_para_medir_grosor_muscular          <chr> "centímetros", "centímetros", "centímetros", "centímetros"
$ n_en_el_grupo_con_bruxismo                           <dbl> 45, 45, 45, 45
$ promedio_musculo_grupo_bruxismo_posicion_relajada    <dbl> 0.83, 0.86, 0.49, 0.48
$ promedio_musculo_grupo_bruxismo_maximo_apriete       <dbl> 1.15, 1.21, 0.61, 0.57
$ desviacion_estandar_grupo_bruxismo_posicion_relajada <dbl> 0.02, 0.02, 0.01, 0.01
$ desviacion_estandar_grupo_bruxismo_maximo_apriete    <dbl> 0.03, 0.03, 0.03, 0.01
$ n_en_el_grupo_control                                <dbl> 45, 45, 45, 45
$ promedio_musculo_grupo_control_posicion_relajada     <dbl> 0.85, 0.83, 0.49, 0.50
$ promedio_musculo_grupo_control_maximo_apriete        <dbl> 1.17, 1.22, 0.60, 0.59
$ desviacion_estandar_grupo_control_posicion_relajada  <dbl> 0.03, 0.02, 0.01, 0.03
$ desviacion_estandar_grupo_control_maximo_apriete     <dbl> 0.04, 0.04, 0.02, 0.02

MA

Relajada

metacont(n_en_el_grupo_con_bruxismo,
         promedio_musculo_grupo_bruxismo_posicion_relajada,
         desviacion_estandar_grupo_bruxismo_posicion_relajada, 
         n_en_el_grupo_control, 
         promedio_musculo_grupo_control_posicion_relajada, 
         desviacion_estandar_grupo_control_posicion_relajada, 
         data = df, 
         sm = "SMD")
      SMD             95%-CI %W(fixed) %W(random)
1 -0.7778 [-1.2070; -0.3485]      25.7       25.0
2  1.4872 [ 1.0180;  1.9563]      21.5       24.8
3  0.0000 [-0.4132;  0.4132]      27.7       25.1
4 -0.8868 [-1.3207; -0.4529]      25.1       25.0

Number of studies combined: k = 4

                         SMD            95%-CI     z p-value
Fixed effect model   -0.1029 [-0.3204; 0.1146] -0.93  0.3540
Random effects model -0.0474 [-1.0721; 0.9774] -0.09  0.9278

Quantifying heterogeneity:
tau^2 = 1.0438; H = 4.70 [3.39; 6.52]; I^2 = 95.5% [91.3%; 97.6%]

Test of heterogeneity:
     Q d.f.  p-value
 66.40    3 < 0.0001

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)
relajada
      SMD             95%-CI %W(fixed) %W(random)
1 -0.7778 [-1.2070; -0.3485]      25.7       25.0
2  1.4872 [ 1.0180;  1.9563]      21.5       24.8
3  0.0000 [-0.4132;  0.4132]      27.7       25.1
4 -0.8868 [-1.3207; -0.4529]      25.1       25.0

Number of studies combined: k = 4

                         SMD            95%-CI     z p-value
Fixed effect model   -0.1029 [-0.3204; 0.1146] -0.93  0.3540
Random effects model -0.0474 [-1.0721; 0.9774] -0.09  0.9278

Quantifying heterogeneity:
tau^2 = 1.0438; H = 4.70 [3.39; 6.52]; I^2 = 95.5% [91.3%; 97.6%]

Test of heterogeneity:
     Q d.f.  p-value
 66.40    3 < 0.0001

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

relajada por musculo

Relajado masetero

relajada_masetero <- metacont(n_en_el_grupo_con_bruxismo,
         promedio_musculo_grupo_bruxismo_posicion_relajada,
         desviacion_estandar_grupo_bruxismo_posicion_relajada, 
         n_en_el_grupo_control, 
         promedio_musculo_grupo_control_posicion_relajada, 
         desviacion_estandar_grupo_control_posicion_relajada, 
         subset = masetero, 
         data = df, 
         studlab=paste(author, year),
         sm = "SMD")
Error in paste(author, year) : objeto 'author' no encontrado
relajada_masetero
      SMD             95%-CI %W(fixed) %W(random)
1 -0.7778 [-1.2070; -0.3485]      54.4       50.1
2  1.4872 [ 1.0180;  1.9563]      45.6       49.9

Number of studies combined: k = 2

                        SMD            95%-CI    z p-value
Fixed effect model   0.2543 [-0.0624; 0.5709] 1.57  0.1156
Random effects model 0.3526 [-1.8669; 2.5722] 0.31  0.7555

Quantifying heterogeneity:
tau^2 = 2.5123; H = 6.98; I^2 = 97.9% [95.2%; 99.1%]

Test of heterogeneity:
     Q d.f.  p-value
 48.74    1 < 0.0001

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

Relajado temporal

relajada_temporal
      SMD             95%-CI %W(fixed) %W(random)
3  0.0000 [-0.4132;  0.4132]      52.4       50.3
4 -0.8868 [-1.3207; -0.4529]      47.6       49.7

Number of studies combined: k = 2

                         SMD             95%-CI     z p-value
Fixed effect model   -0.4217 [-0.7209; -0.1225] -2.76  0.0057
Random effects model -0.4408 [-1.3098;  0.4282] -0.99  0.3201

Quantifying heterogeneity:
tau^2 = 0.3465; H = 2.90; I^2 = 88.1% [54.4%; 96.9%]

Test of heterogeneity:
    Q d.f. p-value
 8.41    1  0.0037

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

Apriete máximo

apriete
      SMD             95%-CI %W(fixed) %W(random)
1 -0.5609 [-0.9825; -0.1392]      25.5       25.1
2 -0.2804 [-0.6957;  0.1349]      26.3       25.1
3  0.3889 [-0.0284;  0.8061]      26.1       25.1
4 -1.2541 [-1.7078; -0.8004]      22.1       24.7

Number of studies combined: k = 4

                         SMD             95%-CI     z p-value
Fixed effect model   -0.3923 [-0.6054; -0.1792] -3.61  0.0003
Random effects model -0.4227 [-1.0768;  0.2314] -1.27  0.2053

Quantifying heterogeneity:
tau^2 = 0.3980; H = 3.07 [2.02; 4.65]; I^2 = 89.4% [75.6%; 95.4%]

Test of heterogeneity:
     Q d.f.  p-value
 28.22    3 < 0.0001

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

Apriete por músculo

apriete masetero

apriete_masetero
      SMD             95%-CI %W(fixed) %W(random)
1 -0.5609 [-0.9825; -0.1392]      49.2       49.2
2 -0.2804 [-0.6957;  0.1349]      50.8       50.8

Number of studies combined: k = 2

                         SMD             95%-CI     z p-value
Fixed effect model   -0.4185 [-0.7144; -0.1227] -2.77  0.0056
Random effects model -0.4185 [-0.7144; -0.1227] -2.77  0.0056

Quantifying heterogeneity:
tau^2 = 0; H = 1.00; I^2 = 0.0%

Test of heterogeneity:
    Q d.f. p-value
 0.86    1  0.3530

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

apriete temporal

apriete_temporal
      SMD             95%-CI %W(fixed) %W(random)
3  0.3889 [-0.0284;  0.8061]      54.2       50.2
4 -1.2541 [-1.7078; -0.8004]      45.8       49.8

Number of studies combined: k = 2

                         SMD             95%-CI     z p-value
Fixed effect model   -0.3640 [-0.6711; -0.0569] -2.32  0.0202
Random effects model -0.4301 [-2.0402;  1.1800] -0.52  0.6006

Quantifying heterogeneity:
tau^2 = 1.3002; H = 5.22; I^2 = 96.3% [89.9%; 98.7%]

Test of heterogeneity:
     Q d.f.  p-value
 27.29    1 < 0.0001

Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tau^2
- Hedges' g (bias corrected standardised mean difference)

LS0tCnRpdGxlOiAiMjAxOCBSb21pbmEgUlMgR3Jvc29yIG3DunNjdWxvcyB5IGJydXhpc21vIGRlbCBzdWXDsW8iCmF1dGhvcjogQW5hbGlzaXMgcG9yIFNlcmdpbyBVcmliZQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiCgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6IAogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgZmlnX2NhcHRpb246IHRydWUKLS0tCgojIEF1dG9yZXMKCjEuIFJvbWluYSBQZWRyZXJvcyAoRERTKS4gQ2lydWphbm8gRGVudGlzdGEsIEVzdHVkaWFudGUgZGUgUG9zdGdyYWRvIFRyYXN0b3Jub3MgVGVtcG9yb21hbmRpYnVsYXJlcyB5IERvbG9yIE9yb2ZhY2lhbCwgRmFjdWx0YWQgZGUgTWVkaWNpbmEgVW5pdmVyc2lkYWQgZGVsIERlc2Fycm9sbG8sIFNhbnRpYWdvLCBDaGlsZS4gCjEuIFJvZHJpZ28gQ2FzYXNzdXMgKEREUywgTVMpLiBDaXJ1amFubyBEZW50aXN0YSwgRXNwZWNpYWxpc3RhIGVuIFRyYXN0b3Jub3MgVGVtcG9yb21hbmRpYnVsYXJlcyB5IERvbG9yIE9yb2ZhY2lhbCBVbml2ZXJzaWRhZCBkZSBLZW50dWNreS4gUHJvZmVzb3IgQXNvY2lhZG8geSBEaXJlY3RvciBQb3N0Z3JhZG8gVHJhc3Rvcm5vcyBUZW1wb3JvbWFuZGlidWxhcmVzIHkgRG9sb3IgT3JvZmFjaWFsLCBGYWN1bHRhZCBkZSBNZWRpY2luYSwgVW5pdmVyc2lkYWQgZGVsIERlc2Fycm9sbG8sIFNhbnRpYWdvLCBDaGlsZS4KMS4gTWFyw61hIENhcm9saW5hIETDrWF6IChERFMpLiBDaXJ1amFubyBEZW50aXN0YS4gRXNwZWNpYWxpc3RhIGVuIFRyYXN0b3Jub3MgVGVtcG9yb21hbmRpYnVsYXJlcyB5IERvbG9yIE9yb2ZhY2lhbCBVbml2ZXJzaWRhZCBBbmRyw6lzIEJlbGxvLiBQcm9mZXNvciBBc29jaWFkbyB5IFN1YmRpcmVjdG9yYSBQb3N0Z3JhZG8gVHJhc3Rvcm5vcyBUZW1wb3JvbWFuZGlidWxhcmVzIHkgRG9sb3IgT3JvZmFjaWFsLCBGYWN1bHRhZCBkZSBNZWRpY2luYSwgVW5pdmVyc2lkYWQgZGVsIERlc2Fycm9sbG8sIFNhbnRpYWdvLCBDaGlsZS4gCgoKIyBQYXF1ZXRlcwpgYGB7ciwgd2FybmluZz1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmluc3RhbGwucGFja2FnZXMoIm1ldGEiKQpsaWJyYXJ5KG1ldGEpCmBgYAoKCiMgRGF0YXNldApgYGB7cn0KZGYgPC0gcmVhZF9jc3YoImh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3NwcmVhZHNoZWV0cy9kL2UvMlBBQ1gtMXZTRjBJYVB6Z1Qxajh6WmpDUnR0QU54T2g5NDhwRlpWYVF2QmZSYWZ6ZGZIakRveDJsYzFLZ01HakJmcmJxaDBIV2R0alBYUWJZWERobTEvcHViP2dpZD0wJnNpbmdsZT10cnVlJm91dHB1dD1jc3YiKQpgYGAKCgojIEVEQQpgYGB7cn0KaGVhZChkZikKYGBgCmBgYHtyfQpzdW1tYXJ5KGRmKQpgYGAKYGBge3J9CmdsaW1wc2UoZGYpCmBgYAoKIyMgU3Vic2V0cwoKYGBge3J9Cm1hc2V0ZXJvIDwtIGMoMSwgMikKdGVtcG9yYWwgPC0gYygzLCA0KQpgYGAKCiMgRGF0YSBjbGVhbmluZwoKYGBge3J9CmRmIDwtIGphbml0b3I6OmNsZWFuX25hbWVzKGRmKQpgYGAKCmBgYHtyfQpnbGltcHNlKGRmKQpgYGAKCgoKIyBNQQojIyBSZWxhamFkYQpgYGB7cn0KcmVsYWphZGEgPC0gbWV0YWNvbnQobl9lbl9lbF9ncnVwb19jb25fYnJ1eGlzbW8sCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fYnJ1eGlzbW9fcG9zaWNpb25fcmVsYWphZGEsCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fYnJ1eGlzbW9fcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBuX2VuX2VsX2dydXBvX2NvbnRyb2wsIAogICAgICAgICBwcm9tZWRpb19tdXNjdWxvX2dydXBvX2NvbnRyb2xfcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBkZXN2aWFjaW9uX2VzdGFuZGFyX2dydXBvX2NvbnRyb2xfcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBkYXRhID0gZGYsIAogICAgICAgICBzbSA9ICJTTUQiKQoKYGBgCgpgYGB7cn0KcmVsYWphZGEKYGBgCgoKYGBge3J9CmZvcmVzdC5tZXRhKHJlbGFqYWRhKQpgYGAKCiMjIyByZWxhamFkYSBwb3IgbXVzY3VsbwoKIyMjIyBSZWxhamFkbyBtYXNldGVybwpgYGB7cn0KcmVsYWphZGFfbWFzZXRlcm8gPC0gbWV0YWNvbnQobl9lbl9lbF9ncnVwb19jb25fYnJ1eGlzbW8sCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fYnJ1eGlzbW9fcG9zaWNpb25fcmVsYWphZGEsCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fYnJ1eGlzbW9fcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBuX2VuX2VsX2dydXBvX2NvbnRyb2wsIAogICAgICAgICBwcm9tZWRpb19tdXNjdWxvX2dydXBvX2NvbnRyb2xfcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBkZXN2aWFjaW9uX2VzdGFuZGFyX2dydXBvX2NvbnRyb2xfcG9zaWNpb25fcmVsYWphZGEsIAogICAgICAgICBzdWJzZXQgPSBtYXNldGVybywgCiAgICAgICAgIGRhdGEgPSBkZiwgCiAgICAgICAgIHNtID0gIlNNRCIpCmBgYAoKYGBge3J9CnJlbGFqYWRhX21hc2V0ZXJvCmBgYAoKYGBge3J9CmZvcmVzdChyZWxhamFkYV9tYXNldGVybykKYGBgCgojIyMjIFJlbGFqYWRvIHRlbXBvcmFsCmBgYHtyfQpyZWxhamFkYV90ZW1wb3JhbCA8LSBtZXRhY29udChuX2VuX2VsX2dydXBvX2Nvbl9icnV4aXNtbywKICAgICAgICAgcHJvbWVkaW9fbXVzY3Vsb19ncnVwb19icnV4aXNtb19wb3NpY2lvbl9yZWxhamFkYSwKICAgICAgICAgZGVzdmlhY2lvbl9lc3RhbmRhcl9ncnVwb19icnV4aXNtb19wb3NpY2lvbl9yZWxhamFkYSwgCiAgICAgICAgIG5fZW5fZWxfZ3J1cG9fY29udHJvbCwgCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fY29udHJvbF9wb3NpY2lvbl9yZWxhamFkYSwgCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fY29udHJvbF9wb3NpY2lvbl9yZWxhamFkYSwgCiAgICAgICAgIHN1YnNldCA9IHRlbXBvcmFsLCAKICAgICAgICAgZGF0YSA9IGRmLCAKICAgICAgICAgc20gPSAiU01EIikKYGBgCgpgYGB7cn0KcmVsYWphZGFfdGVtcG9yYWwKYGBgCgpgYGB7cn0KZm9yZXN0KHJlbGFqYWRhX3RlbXBvcmFsKQpgYGAKCiMjIEFwcmlldGUgbcOheGltbwpgYGB7cn0KYXByaWV0ZSA8LSBtZXRhY29udChuX2VuX2VsX2dydXBvX2Nvbl9icnV4aXNtbywKICAgICAgICAgcHJvbWVkaW9fbXVzY3Vsb19ncnVwb19icnV4aXNtb19tYXhpbW9fYXByaWV0ZSwKICAgICAgICAgZGVzdmlhY2lvbl9lc3RhbmRhcl9ncnVwb19icnV4aXNtb19tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIG5fZW5fZWxfZ3J1cG9fY29udHJvbCwgCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fY29udHJvbF9tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fY29udHJvbF9tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIGRhdGEgPSBkZiwgCiAgICAgICAgIHNtID0gIlNNRCIpCgpgYGAKYGBge3J9CmFwcmlldGUKYGBgCgoKYGBge3J9CmZvcmVzdC5tZXRhKGFwcmlldGUpCmBgYAojIyMgQXByaWV0ZSBwb3IgbcO6c2N1bG8KCiMjIyMgYXByaWV0ZSBtYXNldGVybwoKYGBge3J9CmFwcmlldGVfbWFzZXRlcm8gPC0gbWV0YWNvbnQobl9lbl9lbF9ncnVwb19jb25fYnJ1eGlzbW8sCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fYnJ1eGlzbW9fbWF4aW1vX2FwcmlldGUsCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fYnJ1eGlzbW9fbWF4aW1vX2FwcmlldGUsIAogICAgICAgICBuX2VuX2VsX2dydXBvX2NvbnRyb2wsIAogICAgICAgICBwcm9tZWRpb19tdXNjdWxvX2dydXBvX2NvbnRyb2xfbWF4aW1vX2FwcmlldGUsIAogICAgICAgICBkZXN2aWFjaW9uX2VzdGFuZGFyX2dydXBvX2NvbnRyb2xfbWF4aW1vX2FwcmlldGUsIAogICAgICAgICBzdWJzZXQgPSBtYXNldGVybywgCiAgICAgICAgIGRhdGEgPSBkZiwgCiAgICAgICAgIHNtID0gIlNNRCIpCgpgYGAKYGBge3J9CmFwcmlldGVfbWFzZXRlcm8KYGBgCgoKYGBge3J9CmZvcmVzdC5tZXRhKGFwcmlldGVfbWFzZXRlcm8pCmBgYAoKCiMjIyMgYXByaWV0ZSB0ZW1wb3JhbApgYGB7cn0KYXByaWV0ZV90ZW1wb3JhbCA8LSBtZXRhY29udChuX2VuX2VsX2dydXBvX2Nvbl9icnV4aXNtbywKICAgICAgICAgcHJvbWVkaW9fbXVzY3Vsb19ncnVwb19icnV4aXNtb19tYXhpbW9fYXByaWV0ZSwKICAgICAgICAgZGVzdmlhY2lvbl9lc3RhbmRhcl9ncnVwb19icnV4aXNtb19tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIG5fZW5fZWxfZ3J1cG9fY29udHJvbCwgCiAgICAgICAgIHByb21lZGlvX211c2N1bG9fZ3J1cG9fY29udHJvbF9tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIGRlc3ZpYWNpb25fZXN0YW5kYXJfZ3J1cG9fY29udHJvbF9tYXhpbW9fYXByaWV0ZSwgCiAgICAgICAgIHN1YnNldCA9IHRlbXBvcmFsLCAKICAgICAgICAgZGF0YSA9IGRmLCAKICAgICAgICAgc20gPSAiU01EIikKCmBgYApgYGB7cn0KYXByaWV0ZV90ZW1wb3JhbApgYGAKCgpgYGB7cn0KZm9yZXN0Lm1ldGEoYXByaWV0ZV90ZW1wb3JhbCkKYGBgCg==