安裝需要的packages

packages = c("dplyr","ggplot2", "data.table", "scales", "tidytext")
existing = as.character(installed.packages()[,1])
for(pkg in packages[!(packages %in% existing)]) install.packages(pkg)

載入需要的packages以及資料

require(dplyr)
require(ggplot2)
require(data.table)
require(scales)
require(wordcloud2)
require(tidytext)

載入資料

TB = read.csv('data.csv')
TB$單因子組別= factor(TB$單因子組別)
TB$雙因子組別= factor(TB$雙因子組別)

資料預設之日期欄位是”chr”格式,在畫圖前我們須先將其轉為”date”格式,轉換後可以透過str指令來確認各欄位型態。

檢視前6筆資料

head(TB)

單因子分析: 切換場景(S) VS 不切換場景(N)

加總主題分數 - 單因子分析

3.加總值平均(沉浸感) -> 顯著性與boxplot

TB <- transform(TB, all_immer = (TB$沉浸感1 + TB$沉浸感2 + TB$沉浸感3 + TB$沉浸感4)/4)
Result = aov(TB$all_immer~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value  Pr(>F)   
TB$單因子組別   1   8.67   8.667   9.826 0.00217 **
Residuals     118 104.08   0.882                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_immer ~ TB$單因子組別)

$`TB$單因子組別`
      diff       lwr       upr     p adj
S-N 0.5375 0.1979438 0.8770562 0.0021713
plot(TukeyHSD(Result),las=1)


boxplot(formula = TB$all_immer ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "沉浸感) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 單因子組別, y = all_immer)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA

4.加總值平均(認知壓力) -> 顯著性與boxplot

TB <- transform(TB, all_task = (TB$精神需求 + TB$體力需求 + TB$時間壓力 - TB$成功 + TB$努力 +TB$不安)/5)
Result = aov(TB$all_task~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   0.94  0.9363   1.388  0.241
Residuals     118  79.61  0.6746               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_task ~ TB$單因子組別)

$`TB$單因子組別`
         diff        lwr       upr     p adj
S-N 0.1766667 -0.1202946 0.4736279 0.2411298
boxplot(formula = TB$all_task ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "認知壓力) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 單因子組別, y = all_task)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA

5.加總值平均(自我創造力) -> 顯著性與boxplot

TB <- transform(TB, all_creative = (TB$想法數量 + TB$品質 + TB$創造力)/3)
Result = aov(TB$all_creative~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   5.49   5.490   5.482 0.0209 *
Residuals     118 118.18   1.001                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_creative ~ TB$單因子組別)

$`TB$單因子組別`
         diff        lwr       upr     p adj
S-N 0.4277778 0.06596177 0.7895938 0.0208946
boxplot(formula = TB$all_creative ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "自我創造力) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 單因子組別, y = all_creative)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

6.加總值平均(社交互動 Social Interaction) -> 顯著性與boxplot

TB <- transform(TB, all_SI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4)/4 + (TB$SM1 + TB$SM2)/2 - (TB$SM3 + TB$SM4 + TB$SM5)/3)
Result = aov(TB$all_SI~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   12.0  12.033   1.493  0.224
Residuals     118  951.3   8.062               
boxplot(formula = TB$all_SI ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction) -> 顯著性",
        col = "gray")

6.加總值平均(社交互動 Social Interaction:QOI) -> 顯著性與boxplot

TB <- transform(TB, all_QOI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4)/4) 
Result = aov(TB$all_QOI~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    0.6  0.6021   0.447  0.505
Residuals     118  159.0  1.3474               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_QOI ~ TB$單因子組別)

$`TB$單因子組別`
         diff       lwr       upr     p adj
S-N 0.1416667 -0.278003 0.5613364 0.5051362
boxplot(formula = TB$all_QOI ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction:QOI) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 單因子組別, y = all_QOI)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA
NA

6.加總值平均(社交互動 Social Interaction:SM) -> 顯著性與boxplot

TB <- transform(TB, all_SM = (TB$SM1 + TB$SM2)/2 - (TB$SM3 + TB$SM4 + TB$SM5)/3)
Result = aov(TB$all_SM~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    7.3   7.252   1.876  0.173
Residuals     118  456.1   3.865               
boxplot(formula = TB$all_SM ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction:SM) -> 顯著性",
        col = "gray")

各項項目分數 - 單因子分析

3.沉浸感 Immersion -> 顯著性與boxplot


Result = aov(TB$沉浸感1~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   0.53  0.5333   0.248  0.619
Residuals     118 253.83  2.1511               
Result = aov(TB$沉浸感2~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value   Pr(>F)    
TB$單因子組別   1  22.53  22.533   14.49 0.000224 ***
Residuals     118 183.43   1.555                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$沉浸感3~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   5.21   5.208   3.686 0.0573 .
Residuals     118 166.72   1.413                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$沉浸感4~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1  16.13  16.133   6.742 0.0106 *
Residuals     118 282.37   2.393                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(formula = TB$沉浸感1 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我可以像在現實世界中一樣與環境互動",
        col = "gray")


boxplot(formula = TB$沉浸感2 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我感覺與外界隔絕",
        col = "gray")


boxplot(formula = TB$沉浸感3 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我完全沉浸其中",
        col = "gray")


boxplot(formula = TB$沉浸感4 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我忘記了我的日常煩惱",
        col = "gray")

4.認知壓力 NASA-TLX-> 顯著性與boxplot


Result = aov(TB$精神需求~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1    4.8   4.800   3.506 0.0636 .
Residuals     118  161.6   1.369                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$體力需求~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    0.1   0.075   0.026  0.871
Residuals     118  335.9   2.846               
Result = aov(TB$時間壓力~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    2.7   2.700   1.168  0.282
Residuals     118  272.8   2.312               
Result = aov(TB$時間壓力~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    2.7   2.700   1.168  0.282
Residuals     118  272.8   2.312               
Result = aov(TB$成功~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   1.01   1.008   0.784  0.378
Residuals     118 151.78   1.286               
Result = aov(TB$努力~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   4.03   4.033    3.89 0.0509 .
Residuals     118 122.33   1.037                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$不安~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   3.01   3.008   1.226   0.27
Residuals     118 289.58   2.454               
boxplot(formula = TB$精神需求 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "精神需求",
        col = "gray")


boxplot(formula = TB$體力需求 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "體力需求",
        col = "gray")


boxplot(formula = TB$時間壓力 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "時間壓力",
        col = "gray")


boxplot(formula = TB$成功 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "成功",
        col = "gray")


boxplot(formula = TB$努力 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "努力",
        col = "gray")


boxplot(formula = TB$不安 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "不安",
        col = "gray")

5.創造力-> 顯著性與boxplot


Result = aov(TB$想法數量~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   4.03   4.033   2.713  0.102
Residuals     118 175.43   1.487               
Result = aov(TB$品質~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   6.08   6.075   5.518 0.0205 *
Residuals     118 129.92   1.101                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$創造力~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   6.53   6.533   4.249 0.0415 *
Residuals     118 181.43   1.538                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(formula = TB$想法數量 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "想法數量",
        col = "gray")


boxplot(formula = TB$品質 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "品質",
        col = "gray")


boxplot(formula = TB$創造力 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "創造力",
        col = "gray")

6 社交互動 Social Interaction:QOI-> 顯著性與boxplot


Result = aov(TB$QoI1~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    0.3   0.300    0.12   0.73
Residuals     118  295.7   2.506               
Result = aov(TB$QoI2~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    1.2   1.200   0.593  0.443
Residuals     118  238.8   2.023               
Result = aov(TB$QoI3~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    0.3   0.300   0.182   0.67
Residuals     118  194.1   1.645               
Result = aov(TB$QoI4~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   0.83  0.8333   0.428  0.514
Residuals     118 229.67  1.9463               
boxplot(formula = TB$QoI1 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我可以判斷對方是否在聽我說話。",
        col = "gray")


boxplot(formula = TB$QoI2 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我能充分理解對方在VR頭腦風暴時中做的任何行為。",
        col = "gray")


boxplot(formula = TB$QoI3 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我確信我的搭檔明白我在說什麼。",
        col = "gray")


boxplot(formula = TB$QoI4 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我專注於和對方互動。",
        col = "gray")

6 社交互動 Social Interaction:SM-> 顯著性與boxplot


Result = aov(TB$SM1~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1    4.8   4.800    2.81 0.0963 .
Residuals     118  201.6   1.708                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$SM2~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   9.07   9.075    4.83 0.0299 *
Residuals     118 221.72   1.879                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Result = aov(TB$SM3~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   4.03   4.033   2.144  0.146
Residuals     118 221.93   1.881               
Result = aov(TB$SM4~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   3.33   3.333   1.479  0.226
Residuals     118 265.97   2.254               
Result = aov(TB$SM5~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   0.01  0.0083   0.003  0.955
Residuals     118 313.32  2.6552               
boxplot(formula = TB$SM1 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我從VR頭腦風暴的體驗中獲得了很多的滿足感。",
        col = "gray")


boxplot(formula = TB$SM2 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我很享受和我的夥伴一起度過的時光。",
        col = "gray")


boxplot(formula = TB$SM3 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "當我在進行VR頭腦風暴時,我常常覺得自己是孤身一人。",
        col = "gray")


boxplot(formula = TB$SM4 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在VR中,當周遭有動靜時,我觀察到我的夥伴們容易分心。",
        col = "gray")


boxplot(formula = TB$SM5 ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "當我在進行VR頭腦風暴時,時間似乎過得很慢。",
        col = "gray")

雙因子分析: NC NB SC SB

NC -> 不切換場景 + 電子鐘 NB -> 不切換場景 + 炸彈 SC -> 切換場景 + 電子鐘 SB -> 切換場景 + 炸彈

加總主題分數 - 雙因子分析

3.加總值平均(沉浸感) -> 顯著性與boxplot

TB <- transform(TB, all_immer = (TB$沉浸感1 + TB$沉浸感2 + TB$沉浸感3 + TB$沉浸感4)/4)
Result = aov(TB$all_immer~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$雙因子組別   3   9.06  3.0200   3.379 0.0207 *
Residuals     116 103.69  0.8939                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_immer ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff         lwr       upr     p adj
NC-NB -0.09166667 -0.72799045 0.5446571 0.9818639
SB-NB  0.55833333 -0.07799045 1.1946571 0.1069653
SC-NB  0.42500000 -0.21132378 1.0613238 0.3073977
SB-NC  0.65000000  0.01367622 1.2863238 0.0433148
SC-NC  0.51666667 -0.11965711 1.1529904 0.1539553
SC-SB -0.13333333 -0.76965711 0.5029904 0.9474028
plot(TukeyHSD(Result),las=1)


boxplot(formula = TB$all_immer ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "沉浸感) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_immer)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA

4.加總值平均(認知壓力) -> 顯著性與boxplot

TB <- transform(TB, all_task = (TB$精神需求 + TB$體力需求 + TB$時間壓力 - TB$成功 + TB$努力 +TB$不安)/5)
Result = aov(TB$all_task~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   1.15  0.3843   0.562  0.641
Residuals     116  79.39  0.6844               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_task ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1133333 -0.6701283 0.4434617 0.9514818
SB-NB  0.1400000 -0.4167950 0.6967950 0.9134496
SC-NB  0.1000000 -0.4567950 0.6567950 0.9658798
SB-NC  0.2533333 -0.3034617 0.8101283 0.6368955
SC-NC  0.2133333 -0.3434617 0.7701283 0.7504122
SC-SB -0.0400000 -0.5967950 0.5167950 0.9976579
boxplot(formula = TB$all_task ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "認知壓力) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_task)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA

5.加總值平均(自我創造力) -> 顯著性與boxplot

TB <- transform(TB, all_creative = (TB$想法數量 + TB$品質 + TB$創造力)/3)
Result = aov(TB$all_creative~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   6.11   2.038   2.011  0.116
Residuals     116 117.55   1.013               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_creative ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1777778 -0.8553028 0.4997472 0.9030170
SB-NB  0.3888889 -0.2886361 1.0664139 0.4431012
SC-NB  0.2888889 -0.3886361 0.9664139 0.6832345
SB-NC  0.5666667 -0.1108583 1.2441917 0.1348794
SC-NC  0.4666667 -0.2108583 1.1441917 0.2807724
SC-SB -0.1000000 -0.7775250 0.5775250 0.9805459
boxplot(formula = TB$all_creative ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "自我創造力) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_creative)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA

6.加總值平均(社交互動 Social Interaction) -> 顯著性與boxplot

TB <- transform(TB, all_SI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4)/4 + (TB$SM1 + TB$SM2)/2 - (TB$SM3 + TB$SM4 + TB$SM5)/3)
Result = aov(TB$all_SI~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   19.9   6.624   0.814  0.488
Residuals     116  943.5   8.133               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_SI ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff       lwr      upr     p adj
NC-NB -0.5138889 -2.433310 1.405533 0.8977035
SB-NB  0.6305556 -1.288866 2.549977 0.8272062
SC-NB  0.1222222 -1.797199 2.041644 0.9983643
SB-NC  1.1444444 -0.774977 3.063866 0.4088633
SC-NC  0.6361111 -1.283310 2.555533 0.8234239
SC-SB -0.5083333 -2.427755 1.411088 0.9006031
boxplot(formula = TB$all_SI ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_SI)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA

6.加總值平均(社交互動 Social Interaction:QOI) -> 顯著性與boxplot

TB <- transform(TB, all_QOI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4)/4) 
Result = aov(TB$all_QOI~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    1.6  0.5319   0.391   0.76
Residuals     116  158.0  1.3620               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_QOI ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB -0.12500000 -0.9104769 0.6604769 0.9758367
SB-NB  0.19166667 -0.5938102 0.9771435 0.9201581
SC-NB -0.03333333 -0.8188102 0.7521435 0.9995130
SB-NC  0.31666667 -0.4688102 1.1021435 0.7198789
SC-NC  0.09166667 -0.6938102 0.8771435 0.9901782
SC-SB -0.22500000 -1.0104769 0.5604769 0.8779082
boxplot(formula = TB$all_QOI ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction:QOI) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_QOI)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

NA
NA
NA
NA

6.加總值平均(社交互動 Social Interaction:SM) -> 顯著性與boxplot

TB <- transform(TB, all_SM = (TB$SM1 + TB$SM2)/2 - (TB$SM3 + TB$SM4 + TB$SM5)/3)
Result = aov(TB$all_SM~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   10.7   3.575   0.916  0.435
Residuals     116  452.6   3.902               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$all_SM ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.3888889 -1.7183303 0.9405525 0.8711092
SB-NB  0.4388889 -0.8905525 1.7683303 0.8250976
SC-NB  0.1555556 -1.1738858 1.4849970 0.9901025
SB-NC  0.8277778 -0.5016636 2.1572192 0.3697848
SC-NC  0.5444444 -0.7849970 1.8738858 0.7099361
SC-SB -0.2833333 -1.6127747 1.0461081 0.9448693
boxplot(formula = TB$all_SM ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction:SM) -> 顯著性",
        col = "gray")


ggplot(TB, aes(x = 雙因子組別, y = all_SM)) +   # Draw ggplot2 boxplot
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", col = "red") +  # Add points to plot
  stat_summary(fun = mean, geom = "text", col = "red",     # Add text to plot
               vjust = 1.5, aes(label = paste("Mean:", round(after_stat(y), digits = 1))))

各項項目分數 - 雙因子分析

3.沉浸感 Immersion -> 顯著性與boxplot


Result = aov(TB$沉浸感1~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    1.1  0.3667   0.168  0.918
Residuals     116  253.3  2.1833               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$沉浸感1 ~ TB$雙因子組別)

$`TB$雙因子組別`
               diff        lwr       upr     p adj
NC-NB  1.000000e-01 -0.8944881 1.0944881 0.9936597
SB-NB  2.666667e-01 -0.7278215 1.2611548 0.8972857
SC-NB  1.000000e-01 -0.8944881 1.0944881 0.9936597
SB-NC  1.666667e-01 -0.8278215 1.1611548 0.9719785
SC-NC  1.776357e-15 -0.9944881 0.9944881 1.0000000
SC-SB -1.666667e-01 -1.1611548 0.8278215 0.9719785
Result = aov(TB$沉浸感2~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value  Pr(>F)   
TB$雙因子組別   3  22.83   7.611   4.821 0.00336 **
Residuals     116 183.13   1.579                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$沉浸感2 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff         lwr       upr     p adj
NC-NB  0.1000000 -0.74565708 0.9456571 0.9897915
SB-NB  0.9666667  0.12100959 1.8123237 0.0182147
SC-NB  0.8666667  0.02100959 1.7123237 0.0423448
SB-NC  0.8666667  0.02100959 1.7123237 0.0423448
SC-NC  0.7666667 -0.07899041 1.6123237 0.0900841
SC-SB -0.1000000 -0.94565708 0.7456571 0.9897915
Result = aov(TB$沉浸感3~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   7.76   2.586   1.827  0.146
Residuals     116 164.17   1.415               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$沉浸感3 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.4000000 -1.2006691 0.4006691 0.5633784
SB-NB  0.2666667 -0.5340025 1.0673358 0.8212559
SC-NB  0.1666667 -0.6340025 0.9673358 0.9483579
SB-NC  0.6666667 -0.1340025 1.4673358 0.1376779
SC-NC  0.5666667 -0.2340025 1.3673358 0.2578586
SC-SB -0.1000000 -0.9006691 0.7006691 0.9880224
Result = aov(TB$沉浸感4~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$雙因子組別   3  16.97   5.656    2.33  0.078 .
Residuals     116 281.53   2.427                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$沉浸感4 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1666667 -1.2151837 0.8818504 0.9759169
SB-NB  0.7333333 -0.3151837 1.7818504 0.2677889
SC-NB  0.5666667 -0.4818504 1.6151837 0.4964747
SB-NC  0.9000000 -0.1485171 1.9485171 0.1193105
SC-NC  0.7333333 -0.3151837 1.7818504 0.2677889
SC-SB -0.1666667 -1.2151837 0.8818504 0.9759169
boxplot(formula = TB$沉浸感1 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我可以像在現實世界中一樣與環境互動",
        col = "gray")


boxplot(formula = TB$沉浸感2 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我感覺與外界隔絕",
        col = "gray")


boxplot(formula = TB$沉浸感3 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我完全沉浸其中",
        col = "gray")


boxplot(formula = TB$沉浸感4 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我忘記了我的日常煩惱",
        col = "gray")

4.認知壓力 NASA-TLX-> 顯著性與boxplot


Result = aov(TB$精神需求~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   5.37   1.789   1.289  0.282
Residuals     116 161.00   1.388               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$精神需求 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1000000 -0.8929093 0.6929093 0.9876771
SB-NB  0.4333333 -0.3595760 1.2262427 0.4866914
SC-NB  0.2666667 -0.5262427 1.0595760 0.8169323
SB-NC  0.5333333 -0.2595760 1.3262427 0.3012427
SC-NC  0.3666667 -0.4262427 1.1595760 0.6246785
SC-SB -0.1666667 -0.9595760 0.6262427 0.9469420
Result = aov(TB$體力需求~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    0.6  0.1861   0.064  0.979
Residuals     116  335.4  2.8911               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$體力需求 ~ TB$雙因子組別)

$`TB$雙因子組別`
               diff        lwr       upr     p adj
NC-NB  1.666667e-01 -0.9777141 1.3110474 0.9812817
SB-NB  6.666667e-02 -1.0777141 1.2110474 0.9987454
SC-NB  1.776357e-15 -1.1443807 1.1443807 1.0000000
SB-NC -1.000000e-01 -1.2443807 1.0443807 0.9958121
SC-NC -1.666667e-01 -1.3110474 0.9777141 0.9812817
SC-SB -6.666667e-02 -1.2110474 1.0777141 0.9987454
Result = aov(TB$時間壓力~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    4.2   1.400   0.599  0.617
Residuals     116  271.3   2.338               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$時間壓力 ~ TB$雙因子組別)

$`TB$雙因子組別`
      diff        lwr       upr     p adj
NC-NB  0.1 -0.9292214 1.1292214 0.9942702
SB-NB  0.5 -0.5292214 1.5292214 0.5861367
SC-NB  0.2 -0.8292214 1.2292214 0.9573866
SB-NC  0.4 -0.6292214 1.4292214 0.7421292
SC-NC  0.1 -0.9292214 1.1292214 0.9942702
SC-SB -0.3 -1.3292214 0.7292214 0.8722848
Result = aov(TB$成功~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   6.09   2.031   1.606  0.192
Residuals     116 146.70   1.265               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$成功 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB -0.13333333 -0.8902109 0.6235443 0.9677003
SB-NB  0.03333333 -0.7235443 0.7902109 0.9994559
SC-NB -0.53333333 -1.2902109 0.2235443 0.2615121
SB-NC  0.16666667 -0.5902109 0.9235443 0.9396616
SC-NC -0.40000000 -1.1568776 0.3568776 0.5159010
SC-SB -0.56666667 -1.3235443 0.1902109 0.2125795
Result = aov(TB$努力~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   5.97   1.989   1.916  0.131
Residuals     116 120.40   1.038               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$努力 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff         lwr       upr     p adj
NC-NB -0.3333333 -1.01901705 0.3523504 0.5855937
SB-NB  0.2666667 -0.41901705 0.9523504 0.7417309
SC-NB  0.1333333 -0.55235038 0.8190170 0.9573056
SB-NC  0.6000000 -0.08568371 1.2856837 0.1084581
SC-NC  0.4666667 -0.21901705 1.1523504 0.2910509
SC-SB -0.1333333 -0.81901705 0.5523504 0.9573056
Result = aov(TB$不安~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   7.43   2.475   1.007  0.392
Residuals     116 285.17   2.458               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$不安 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff       lwr       upr     p adj
NC-NB -0.5333333 -1.588595 0.5219279 0.5537753
SB-NB -0.5333333 -1.588595 0.5219279 0.5537753
SC-NB -0.6333333 -1.688595 0.4219279 0.4029462
SB-NC  0.0000000 -1.055261 1.0552612 1.0000000
SC-NC -0.1000000 -1.155261 0.9552612 0.9946776
SC-SB -0.1000000 -1.155261 0.9552612 0.9946776
boxplot(formula = TB$精神需求 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "精神需求",
        col = "gray")


boxplot(formula = TB$體力需求 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "體力需求",
        col = "gray")


boxplot(formula = TB$時間壓力 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "時間壓力",
        col = "gray")


boxplot(formula = TB$成功 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "成功",
        col = "gray")


boxplot(formula = TB$努力 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "努力",
        col = "gray")


boxplot(formula = TB$不安 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "不安",
        col = "gray")

5.創造力-> 顯著性


Result = aov(TB$想法數量~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    7.0   2.333   1.569  0.201
Residuals     116  172.5   1.487               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$想法數量 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.4333333 -1.2539932 0.3873265 0.5166459
SB-NB  0.2000000 -0.6206598 1.0206598 0.9204289
SC-NB  0.1000000 -0.7206598 0.9206598 0.9888549
SB-NC  0.6333333 -0.1873265 1.4539932 0.1896463
SC-NC  0.5333333 -0.2873265 1.3539932 0.3314946
SC-SB -0.1000000 -0.9206598 0.7206598 0.9888549
Result = aov(TB$品質~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   6.49   2.164   1.938  0.127
Residuals     116 129.50   1.116               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$品質 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1333333 -0.8444576 0.5777909 0.9614651
SB-NB  0.4333333 -0.2777909 1.1444576 0.3892237
SC-NB  0.3333333 -0.3777909 1.0444576 0.6142971
SB-NC  0.5666667 -0.1444576 1.2777909 0.1667158
SC-NC  0.4666667 -0.2444576 1.1777909 0.3228791
SC-SB -0.1000000 -0.8111242 0.6111242 0.9830876
Result = aov(TB$創造力~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    6.7   2.233   1.429  0.238
Residuals     116  181.3   1.563               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$創造力 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB  0.03333333 -0.8080028 0.8746695 0.9996034
SB-NB  0.53333333 -0.3080028 1.3746695 0.3536891
SC-NB  0.43333333 -0.4080028 1.2746695 0.5378950
SB-NC  0.50000000 -0.3413362 1.3413362 0.4118208
SC-NC  0.40000000 -0.4413362 1.2413362 0.6032619
SC-SB -0.10000000 -0.9413362 0.7413362 0.9896372
boxplot(formula = TB$想法數量 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "想法數量",
        col = "gray")


boxplot(formula = TB$品質 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "品質",
        col = "gray")


boxplot(formula = TB$創造力 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "創造力",
        col = "gray")

6 社交互動 Social Interaction:QOI-> 顯著性與boxplot


Result = aov(TB$QoI1~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   4.83   1.611   0.642   0.59
Residuals     116 291.13   2.510               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$QoI1 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1333333 -1.1995772 0.9329106 0.9879792
SB-NB  0.3000000 -0.7662439 1.3662439 0.8834661
SC-NB -0.2333333 -1.2995772 0.8329106 0.9406875
SB-NC  0.4333333 -0.6329106 1.4995772 0.7148090
SC-NC -0.1000000 -1.1662439 0.9662439 0.9948379
SC-SB -0.5333333 -1.5995772 0.5329106 0.5623616
Result = aov(TB$QoI2~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   1.77  0.5889   0.287  0.835
Residuals     116 238.20  2.0534               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$QoI2 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB -0.10000000 -1.0644539 0.8644539 0.9930602
SB-NB  0.23333333 -0.7311206 1.1977872 0.9219841
SC-NB  0.06666667 -0.8977872 1.0311206 0.9979116
SB-NC  0.33333333 -0.6311206 1.2977872 0.8043533
SC-NC  0.16666667 -0.7977872 1.1311206 0.9694181
SC-SB -0.16666667 -1.1311206 0.7977872 0.9694181
Result = aov(TB$QoI3~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   1.17  0.3889   0.233  0.873
Residuals     116 193.20  1.6655               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$QoI3 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB -0.13333333 -1.0019220 0.7352553 0.9782144
SB-NB  0.13333333 -0.7352553 1.0019220 0.9782144
SC-NB -0.06666667 -0.9352553 0.8019220 0.9971492
SB-NC  0.26666667 -0.6019220 1.1352553 0.8541544
SC-NC  0.06666667 -0.8019220 0.9352553 0.9971492
SC-SB -0.20000000 -1.0685887 0.6685887 0.9317992
Result = aov(TB$QoI4~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    1.1  0.3667   0.185  0.906
Residuals     116  229.4  1.9776               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$QoI4 ~ TB$雙因子組別)

$`TB$雙因子組別`
            diff        lwr       upr     p adj
NC-NB -0.1333333 -1.0798043 0.8131376 0.9829997
SB-NB  0.1000000 -0.8464710 1.0464710 0.9926650
SC-NB  0.1000000 -0.8464710 1.0464710 0.9926650
SB-NC  0.2333333 -0.7131376 1.1798043 0.9179177
SC-NC  0.2333333 -0.7131376 1.1798043 0.9179177
SC-SB  0.0000000 -0.9464710 0.9464710 1.0000000
boxplot(formula = TB$QoI1 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我可以判斷對方是否在聽我說話。",
        col = "gray")


boxplot(formula = TB$QoI2 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我能充分理解對方在VR頭腦風暴時中做的任何行為。",
        col = "gray")


boxplot(formula = TB$QoI3 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我確信我的搭檔明白我在說什麼。",
        col = "gray")


boxplot(formula = TB$QoI4 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在進行VR頭腦風暴時,我專注於和對方互動。",
        col = "gray")

6 社交互動 Social Interaction:SM-> 顯著性與boxplot


Result = aov(TB$SM1~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3  10.03   3.344   1.976  0.121
Residuals     116 196.33   1.693               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$SM1 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB -0.56666667 -1.4422704 0.3089371 0.3352081
SB-NB  0.20000000 -0.6756037 1.0756037 0.9332826
SC-NB  0.03333333 -0.8422704 0.9089371 0.9996481
SB-NC  0.76666667 -0.1089371 1.6422704 0.1081158
SC-NC  0.60000000 -0.2756037 1.4756037 0.2851847
SC-SB -0.16666667 -1.0422704 0.7089371 0.9597929
Result = aov(TB$SM2~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   9.23   3.075    1.61  0.191
Residuals     116 221.57   1.910               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$SM2 ~ TB$雙因子組別)

$`TB$雙因子組別`
      diff       lwr      upr     p adj
NC-NB -0.1 -1.030171 0.830171 0.9922805
SB-NB  0.5 -0.430171 1.430171 0.5011866
SC-NB  0.5 -0.430171 1.430171 0.5011866
SB-NC  0.6 -0.330171 1.530171 0.3381411
SC-NC  0.6 -0.330171 1.530171 0.3381411
SC-SB  0.0 -0.930171 0.930171 1.0000000
Result = aov(TB$SM3~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    7.5   2.500   1.327  0.269
Residuals     116  218.5   1.883               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$SM3 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr       upr     p adj
NC-NB  0.26666667 -0.6569743 1.1903076 0.8753957
SB-NB -0.43333333 -1.3569743 0.4903076 0.6136111
SC-NB -0.03333333 -0.9569743 0.8903076 0.9997001
SB-NC -0.70000000 -1.6236410 0.2236410 0.2032249
SC-NC -0.30000000 -1.2236410 0.6236410 0.8320044
SC-SB  0.40000000 -0.5236410 1.3236410 0.6725115
Result = aov(TB$SM4~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    3.5   1.167   0.509  0.677
Residuals     116  265.8   2.291               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$SM4 ~ TB$雙因子組別)

$`TB$雙因子組別`
             diff        lwr      upr     p adj
NC-NB -0.10000000 -1.1187980 0.918798 0.9940955
SB-NB  0.26666667 -0.7521313 1.285465 0.9036505
SC-NB  0.30000000 -0.7187980 1.318798 0.8688933
SB-NC  0.36666667 -0.6521313 1.385465 0.7843976
SC-NC  0.40000000 -0.6187980 1.418798 0.7360861
SC-SB  0.03333333 -0.9854647 1.052131 0.9997764
Result = aov(TB$SM5~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   0.43  0.1417   0.053  0.984
Residuals     116 312.90  2.6974               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$SM5 ~ TB$雙因子組別)

$`TB$雙因子組別`
               diff        lwr      upr     p adj
NC-NB  4.440892e-16 -1.1053845 1.105385 1.0000000
SB-NB -1.000000e-01 -1.2053845 1.005385 0.9953597
SC-NB  6.666667e-02 -1.0387178 1.172051 0.9986087
SB-NC -1.000000e-01 -1.2053845 1.005385 0.9953597
SC-NC  6.666667e-02 -1.0387178 1.172051 0.9986087
SC-SB  1.666667e-01 -0.9387178 1.272051 0.9793114
boxplot(formula = TB$SM1 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我從VR頭腦風暴的體驗中獲得了很多的滿足感。",
        col = "gray")


boxplot(formula = TB$SM2 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "我很享受和我的夥伴一起度過的時光。",
        col = "gray")


boxplot(formula = TB$SM3 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "當我在進行VR頭腦風暴時,我常常覺得自己是孤身一人。",
        col = "gray")


boxplot(formula = TB$SM4 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "在VR中,當周遭有動靜時,我觀察到我的夥伴們容易分心。",
        col = "gray")


boxplot(formula = TB$SM5 ~TB$雙因子組別,
        data =TB,
        xlab = "組別",
        ylab = "當我在進行VR頭腦風暴時,時間似乎過得很慢。",
        col = "gray")

t test

先用函數 var.test()進行變異數同質性檢定

結果顯示 F test to compare two variance, p-value = 0.01082

兩組的變異數無顯著差異(同質)

t.test 結果顯示雙尾 TWO sample t-test , p-value 要小於0.05 才有顯著差異

單尾檢定 利用設定參數alternative(alt),進行單尾檢定


var.test(TB$精神需求~TB$單因子組別,  data = TB)

    F test to compare two variances

data:  TB$精神需求 by TB$單因子組別
F = 0.8157, num df = 59, denom df = 59, p-value = 0.4363
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.4872351 1.3655825
sample estimates:
ratio of variances 
         0.8156958 
t.test(TB$精神需求~TB$單因子組別 , var.equal = TRUE,data = TB)

    Two Sample t-test

data:  TB$精神需求 by TB$單因子組別
t = -1.8723, df = 118, p-value = 0.06363
alternative hypothesis: true difference in means between group N and group S is not equal to 0
95 percent confidence interval:
 -0.82305726  0.02305726
sample estimates:
mean in group N mean in group S 
       5.083333        5.483333 
t.test(TB$精神需求~TB$單因子組別 , var.equal = TRUE,alt= "greater",data = TB)

    Two Sample t-test

data:  TB$精神需求 by TB$單因子組別
t = -1.8723, df = 118, p-value = 0.9682
alternative hypothesis: true difference in means between group N and group S is greater than 0
95 percent confidence interval:
 -0.7541805        Inf
sample estimates:
mean in group N mean in group S 
       5.083333        5.483333 
LS0tDQp0aXRsZTogImRhdGEgYW5hbHlzaXMiDQphdXRob3I6ICJZdWVoQ2hpIg0KZGF0ZTogIjIwMjIvMTIvMTIiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIGhpZ2hsaWdodDogcHlnbWVudHMNCiAgICB0aGVtZTogZmxhdGx5DQogICAgY3NzOiBzdHlsZS5jc3MNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCg0KDQojIyMg5a6J6KOd6ZyA6KaB55qEcGFja2FnZXMNCg0KYGBge3J9DQpwYWNrYWdlcyA9IGMoImRwbHlyIiwiZ2dwbG90MiIsICJkYXRhLnRhYmxlIiwgInNjYWxlcyIsICJ0aWR5dGV4dCIpDQpleGlzdGluZyA9IGFzLmNoYXJhY3RlcihpbnN0YWxsZWQucGFja2FnZXMoKVssMV0pDQpmb3IocGtnIGluIHBhY2thZ2VzWyEocGFja2FnZXMgJWluJSBleGlzdGluZyldKSBpbnN0YWxsLnBhY2thZ2VzKHBrZykNCmBgYA0KDQojIyMg6LyJ5YWl6ZyA6KaB55qEcGFja2FnZXPku6Xlj4ros4fmlpkNCg0KYGBge3IgZWNobyA9IFQsIHJlc3VsdHMgPSAnaGlkZSd9DQpyZXF1aXJlKGRwbHlyKQ0KcmVxdWlyZShnZ3Bsb3QyKQ0KcmVxdWlyZShkYXRhLnRhYmxlKQ0KcmVxdWlyZShzY2FsZXMpDQpyZXF1aXJlKHdvcmRjbG91ZDIpDQpyZXF1aXJlKHRpZHl0ZXh0KQ0KYGBgDQoNCiMjIyDovInlhaXos4fmlpkNCmBgYHtyfQ0KVEIgPSByZWFkLmNzdignZGF0YS5jc3YnKQ0KVEIk5Zau5Zug5a2Q57WE5YilPSBmYWN0b3IoVEIk5Zau5Zug5a2Q57WE5YilKQ0KVEIk6ZuZ5Zug5a2Q57WE5YilPSBmYWN0b3IoVEIk6ZuZ5Zug5a2Q57WE5YilKQ0KDQpgYGANCj4g6LOH5paZ6aCQ6Kit5LmL5pel5pyf5qyE5L2N5pivImNociLmoLzlvI/vvIzlnKjnlavlnJbliY3miJHlgJHpoIjlhYjlsIflhbbovYnngroiZGF0ZSLmoLzlvI/vvIzovYnmj5vlvozlj6/ku6XpgI/pgY5zdHLmjIfku6Tkvobnorroqo3lkITmrITkvY3lnovmhYvjgIINCg0KIyMjIOaqouimluWJjTbnrYbos4fmlpkNCmBgYHtyfQ0KaGVhZChUQikNCmBgYA0KDQojIOWWruWboOWtkOWIhuaekO+8miDliIfmj5vloLTmma8oUykgVlMg5LiN5YiH5o+b5aC05pmvKE4pDQoNCiMjIOWKoOe4veS4u+mhjOWIhuaVuCAtIOWWruWboOWtkOWIhuaekA0KDQojIyMgMy7liqDnuL3lgLzlubPlnYco5rKJ5rW45oSfKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfaW1tZXIgPSAoVEIk5rKJ5rW45oSfMSArIFRCJOayiea1uOaEnzIgKyBUQiTmsonmtbjmhJ8zICsgVEIk5rKJ5rW45oSfNCkvNCkNClJlc3VsdCA9IGFvdihUQiRhbGxfaW1tZXJ+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQpwbG90KFR1a2V5SFNEKFJlc3VsdCksbGFzPTEpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9pbW1lciB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuayiea1uOaEnykgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g5Zau5Zug5a2Q57WE5YilLCB5ID0gYWxsX2ltbWVyKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQoNCg0KYGBgDQoNCiMjIyA0LuWKoOe4veWAvOW5s+Wdhyjoqo3nn6Xlo5PlipspIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQpUQiA8LSB0cmFuc2Zvcm0oVEIsIGFsbF90YXNrID0gKFRCJOeyvuelnumcgOaxgiArIFRCJOmrlOWKm+mcgOaxgiArIFRCJOaZgumWk+Wjk+WKmyAtIFRCJOaIkOWKnyArIFRCJOWKquWKmyArVEIk5LiN5a6JKS81KQ0KUmVzdWx0ID0gYW92KFRCJGFsbF90YXNrflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfdGFzayB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuiqjeefpeWjk+WKmykgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g5Zau5Zug5a2Q57WE5YilLCB5ID0gYWxsX3Rhc2spKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCg0KDQpgYGANCg0KDQojIyMgNS7liqDnuL3lgLzlubPlnYco6Ieq5oiR5Ym16YCg5YqbKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfY3JlYXRpdmUgPSAoVEIk5oOz5rOV5pW46YePICsgVEIk5ZOB6LOqICsgVEIk5Ym16YCg5YqbKS8zKQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9jcmVhdGl2ZX5UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX2NyZWF0aXZlIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi6Ieq5oiR5Ym16YCg5YqbKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDllq7lm6DlrZDntYTliKUsIHkgPSBhbGxfY3JlYXRpdmUpKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCmBgYA0KDQojIyMgNi7liqDnuL3lgLzlubPlnYco56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbikgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1NJID0gKFRCJFFvSTEgKyBUQiRRb0kyICsgVEIkUW9JMyArIFRCJFFvSTQpLzQgKyAoVEIkU00xICsgVEIkU00yKS8yIC0gKFRCJFNNMyArIFRCJFNNNCArIFRCJFNNNSkvMykNClJlc3VsdCA9IGFvdihUQiRhbGxfU0l+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9TSSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb24pIC0+IOmhr+iRl+aApyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQoNCg0KDQojIyMgNi7liqDnuL3lgLzlubPlnYco56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1FPSSA9IChUQiRRb0kxICsgVEIkUW9JMiArIFRCJFFvSTMgKyBUQiRRb0k0KS80KSANClJlc3VsdCA9IGFvdihUQiRhbGxfUU9JflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfUU9JIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g5Zau5Zug5a2Q57WE5YilLCB5ID0gYWxsX1FPSSkpICsgICAjIERyYXcgZ2dwbG90MiBib3hwbG90DQogIGdlb21fYm94cGxvdCgpICsNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBjb2wgPSAicmVkIikgKyAgIyBBZGQgcG9pbnRzIHRvIHBsb3QNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAidGV4dCIsIGNvbCA9ICJyZWQiLCAgICAgIyBBZGQgdGV4dCB0byBwbG90DQogICAgICAgICAgICAgICB2anVzdCA9IDEuNSwgYWVzKGxhYmVsID0gcGFzdGUoIk1lYW46Iiwgcm91bmQoYWZ0ZXJfc3RhdCh5KSwgZGlnaXRzID0gMSkpKSkNCg0KDQoNCg0KYGBgDQoNCiMjIyA2LuWKoOe4veWAvOW5s+WdhyjnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaU00pIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQpUQiA8LSB0cmFuc2Zvcm0oVEIsIGFsbF9TTSA9IChUQiRTTTEgKyBUQiRTTTIpLzIgLSAoVEIkU00zICsgVEIkU000ICsgVEIkU001KS8zKQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9TTX5UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX1NNIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlNNKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCg0KIyMg5ZCE6aCF6aCF55uu5YiG5pW4IC0g5Zau5Zug5a2Q5YiG5p6QDQoNCiMjIyAzLuayiea1uOaEnyBJbW1lcnNpb24gLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NCg0KUmVzdWx0ID0gYW92KFRCJOayiea1uOaEnzF+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmsonmtbjmhJ8yflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIk5rKJ5rW45oSfM35UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOayiea1uOaEnzR+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5rKJ5rW45oSfMSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5Y+v5Lul5YOP5Zyo54++5a+m5LiW55WM5Lit5LiA5qij6IiH55Kw5aKD5LqS5YuVIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmsonmtbjmhJ8yIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHmhJ/oprroiIflpJbnlYzpmpTntZUiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOayiea1uOaEnzMgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeWujOWFqOayiea1uOWFtuS4rSIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5rKJ5rW45oSfNCB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5b+Y6KiY5LqG5oiR55qE5pel5bi454Wp5oOxIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpgYGANCg0KDQoNCiMjIyA0LuiqjeefpeWjk+WKmyBOQVNBLVRMWC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiTnsr7npZ7pnIDmsYJ+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTpq5TlipvpnIDmsYJ+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmmYLplpPlo5Plipt+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmmYLplpPlo5Plipt+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmiJDlip9+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTliqrlipt+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTkuI3lrol+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOeyvuelnumcgOaxgiB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIueyvuelnumcgOaxgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk6auU5Yqb6ZyA5rGCIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi6auU5Yqb6ZyA5rGCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmmYLplpPlo5PlipsgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmmYLplpPlo5PlipsiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOaIkOWKnyB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaIkOWKnyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5Yqq5YqbIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Yqq5YqbIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTkuI3lrokgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLkuI3lrokiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCg0KDQojIyMgNS7libXpgKDlipstPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiTmg7Pms5Xmlbjph49+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTlk4Hos6p+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTlibXpgKDlipt+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOaDs+azleaVuOmHjyB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaDs+azleaVuOmHjyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5ZOB6LOqIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5ZOB6LOqIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTlibXpgKDlipsgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlibXpgKDlipsiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQojIyMgNiDnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaUU9JLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIkUW9JMX5UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJFFvSTJ+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRRb0kzflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkUW9JNH5UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkUW9JMSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5Y+v5Lul5Yik5pa35bCN5pa55piv5ZCm5Zyo6IG95oiR6Kqq6Kmx44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRRb0kyIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5oiR6IO95YWF5YiG55CG6Kej5bCN5pa55ZyoVlLpoK3ohabpoqjmmrTmmYLkuK3lgZrnmoTku7vkvZXooYzngrrjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFFvSTMgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeeiuuS/oeaIkeeahOaQreaqlOaYjueZveaIkeWcqOiqquS7gOm6vOOAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkUW9JNCB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5bCI5rOo5pa85ZKM5bCN5pa55LqS5YuV44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpgYGANCg0KDQojIyMgNiDnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaU00tPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00xflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00yflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00zflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU000flRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU001flRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNMSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaIkeW+nlZS6aCt6IWm6aKo5pq055qE6auU6amX5Lit542y5b6X5LqG5b6I5aSa55qE5ru/6Laz5oSf44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRTTTIgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmiJHlvojkuqvlj5flkozmiJHnmoTlpKXkvLTkuIDotbfluqbpgY7nmoTmmYLlhYnjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNMyB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIueVtuaIkeWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5bi45bi46Ka65b6X6Ieq5bex5piv5a2k6Lqr5LiA5Lq644CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRTTTQgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKhWUuS4re+8jOeVtuWRqOmBreacieWLlemdnOaZgu+8jOaIkeingOWvn+WIsOaIkeeahOWkpeS8tOWAkeWuueaYk+WIhuW/g+OAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkU001IH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi55W25oiR5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmmYLplpPkvLzkuY7pgY7lvpflvojmhaLjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCg0KDQoNCiMg6ZuZ5Zug5a2Q5YiG5p6Q77yaIE5DIE5CIFNDIFNCDQpOQyAtPiDkuI3liIfmj5vloLTmma8gKyDpm7vlrZDpkJgNCk5CIC0+IOS4jeWIh+aPm+WgtOaZryArIOeCuOW9iA0KU0MgLT4g5YiH5o+b5aC05pmvICsg6Zu75a2Q6ZCYDQpTQiAtPiDliIfmj5vloLTmma8gKyDngrjlvYgNCg0KIyMg5Yqg57i95Li76aGM5YiG5pW4IC0g6ZuZ5Zug5a2Q5YiG5p6QDQoNCiMjIyAzLuWKoOe4veWAvOW5s+WdhyjmsonmtbjmhJ8pIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQpUQiA8LSB0cmFuc2Zvcm0oVEIsIGFsbF9pbW1lciA9IChUQiTmsonmtbjmhJ8xICsgVEIk5rKJ5rW45oSfMiArIFRCJOayiea1uOaEnzMgKyBUQiTmsonmtbjmhJ80KS80KQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9pbW1lcn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCnBsb3QoVHVrZXlIU0QoUmVzdWx0KSxsYXM9MSkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX2ltbWVyIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5rKJ5rW45oSfKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfaW1tZXIpKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCg0KDQpgYGANCg0KIyMjIDQu5Yqg57i95YC85bmz5Z2HKOiqjeefpeWjk+WKmykgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX3Rhc2sgPSAoVEIk57K+56We6ZyA5rGCICsgVEIk6auU5Yqb6ZyA5rGCICsgVEIk5pmC6ZaT5aOT5YqbIC0gVEIk5oiQ5YqfICsgVEIk5Yqq5YqbICtUQiTkuI3lrokpLzUpDQpSZXN1bHQgPSBhb3YoVEIkYWxsX3Rhc2t+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF90YXNrIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi6KqN55+l5aOT5YqbKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfdGFzaykpICsgICAjIERyYXcgZ2dwbG90MiBib3hwbG90DQogIGdlb21fYm94cGxvdCgpICsNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBjb2wgPSAicmVkIikgKyAgIyBBZGQgcG9pbnRzIHRvIHBsb3QNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAidGV4dCIsIGNvbCA9ICJyZWQiLCAgICAgIyBBZGQgdGV4dCB0byBwbG90DQogICAgICAgICAgICAgICB2anVzdCA9IDEuNSwgYWVzKGxhYmVsID0gcGFzdGUoIk1lYW46Iiwgcm91bmQoYWZ0ZXJfc3RhdCh5KSwgZGlnaXRzID0gMSkpKSkNCg0KDQpgYGANCg0KDQojIyMgNS7liqDnuL3lgLzlubPlnYco6Ieq5oiR5Ym16YCg5YqbKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfY3JlYXRpdmUgPSAoVEIk5oOz5rOV5pW46YePICsgVEIk5ZOB6LOqICsgVEIk5Ym16YCg5YqbKS8zKQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9jcmVhdGl2ZX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX2NyZWF0aXZlIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi6Ieq5oiR5Ym16YCg5YqbKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfY3JlYXRpdmUpKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCg0KYGBgDQoNCiMjIyA2LuWKoOe4veWAvOW5s+WdhyjnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9uKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfU0kgPSAoVEIkUW9JMSArIFRCJFFvSTIgKyBUQiRRb0kzICsgVEIkUW9JNCkvNCArIChUQiRTTTEgKyBUQiRTTTIpLzIgLSAoVEIkU00zICsgVEIkU000ICsgVEIkU001KS8zKQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9TSX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX1NJIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbikgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g6ZuZ5Zug5a2Q57WE5YilLCB5ID0gYWxsX1NJKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQoNCg0KYGBgDQoNCg0KDQojIyMgNi7liqDnuL3lgLzlubPlnYco56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1FPSSA9IChUQiRRb0kxICsgVEIkUW9JMiArIFRCJFFvSTMgKyBUQiRRb0k0KS80KSANClJlc3VsdCA9IGFvdihUQiRhbGxfUU9JflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfUU9JIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g6ZuZ5Zug5a2Q57WE5YilLCB5ID0gYWxsX1FPSSkpICsgICAjIERyYXcgZ2dwbG90MiBib3hwbG90DQogIGdlb21fYm94cGxvdCgpICsNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBjb2wgPSAicmVkIikgKyAgIyBBZGQgcG9pbnRzIHRvIHBsb3QNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAidGV4dCIsIGNvbCA9ICJyZWQiLCAgICAgIyBBZGQgdGV4dCB0byBwbG90DQogICAgICAgICAgICAgICB2anVzdCA9IDEuNSwgYWVzKGxhYmVsID0gcGFzdGUoIk1lYW46Iiwgcm91bmQoYWZ0ZXJfc3RhdCh5KSwgZGlnaXRzID0gMSkpKSkNCg0KDQoNCg0KYGBgDQoNCiMjIyA2LuWKoOe4veWAvOW5s+WdhyjnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaU00pIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQpUQiA8LSB0cmFuc2Zvcm0oVEIsIGFsbF9TTSA9IChUQiRTTTEgKyBUQiRTTTIpLzIgLSAoVEIkU00zICsgVEIkU000ICsgVEIkU001KS8zKQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9TTX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX1NNIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlNNKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfU00pKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCmBgYA0KDQoNCg0KIyMg5ZCE6aCF6aCF55uu5YiG5pW4IC0g6ZuZ5Zug5a2Q5YiG5p6QDQoNCiMjIyAgMy7msonmtbjmhJ8gSW1tZXJzaW9uIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiTmsonmtbjmhJ8xflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIk5rKJ5rW45oSfMn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOayiea1uOaEnzN+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmsonmtbjmhJ80flRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOayiea1uOaEnzEgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeWPr+S7peWDj+WcqOePvuWvpuS4lueVjOS4reS4gOaoo+iIh+eSsOWig+S6kuWLlSIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5rKJ5rW45oSfMiB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5oSf6Ka66IiH5aSW55WM6ZqU57WVIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmsonmtbjmhJ8zIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHlrozlhajmsonmtbjlhbbkuK0iLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOayiea1uOaEnzQgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeW/mOiomOS6huaIkeeahOaXpeW4uOeFqeaDsSIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQoNCg0KIyMjIDQu6KqN55+l5aOT5YqbIE5BU0EtVExYLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NCg0KUmVzdWx0ID0gYW92KFRCJOeyvuelnumcgOaxgn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOmrlOWKm+mcgOaxgn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOaZgumWk+Wjk+WKm35UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOaIkOWKn35UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOWKquWKm35UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOS4jeWuiX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk57K+56We6ZyA5rGCIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi57K+56We6ZyA5rGCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTpq5TlipvpnIDmsYIgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLpq5TlipvpnIDmsYIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOaZgumWk+Wjk+WKmyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaZgumWk+Wjk+WKmyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5oiQ5YqfIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5oiQ5YqfIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTliqrlipsgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLliqrlipsiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOS4jeWuiSB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuS4jeWuiSIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQoNCg0KIyMjIDUu5Ym16YCg5YqbLT4g6aGv6JGX5oCnIA0KDQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIk5oOz5rOV5pW46YePflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIk5ZOB6LOqflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIk5Ym16YCg5YqbflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmg7Pms5Xmlbjph48gflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmg7Pms5Xmlbjph48iLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOWTgeizqiB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWTgeizqiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5Ym16YCg5YqbIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Ym16YCg5YqbIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpgYGANCiMjIyA2IOekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb27vvJpRT0ktPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiRRb0kxflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkUW9JMn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJFFvSTN+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRRb0k0flRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRRb0kxIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHlj6/ku6XliKTmlrflsI3mlrnmmK/lkKblnKjogb3miJHoqqroqbHjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFFvSTIgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmiJHog73lhYXliIbnkIbop6PlsI3mlrnlnKhWUumgreiFpumiqOaatOaZguS4reWBmueahOS7u+S9leihjOeCuuOAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkUW9JMyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR56K65L+h5oiR55qE5pCt5qqU5piO55m95oiR5Zyo6Kqq5LuA6bq844CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRRb0k0IH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHlsIjms6jmlrzlkozlsI3mlrnkupLli5XjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCiMjIyA2IOekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb27vvJpTTS0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiRTTTF+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRTTTJ+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRTTTN+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRTTTR+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRTTTV+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkU00xIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5oiR5b6eVlLpoK3ohabpoqjmmrTnmoTpq5TpqZfkuK3njbLlvpfkuoblvojlpJrnmoTmu7/otrPmhJ/jgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNMiB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaIkeW+iOS6q+WPl+WSjOaIkeeahOWkpeS8tOS4gOi1t+W6pumBjueahOaZguWFieOAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkU00zIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi55W25oiR5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHluLjluLjoprrlvpfoh6rlt7HmmK/lraTouqvkuIDkurrjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNNCB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqFZS5Lit77yM55W25ZGo6YGt5pyJ5YuV6Z2c5pmC77yM5oiR6KeA5a+f5Yiw5oiR55qE5aSl5Ly05YCR5a655piT5YiG5b+D44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRTTTUgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLnlbbmiJHlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaZgumWk+S8vOS5jumBjuW+l+W+iOaFouOAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQoNCg0KDQoNCiMgdCB0ZXN0DQojIyDlhYjnlKjlh73mlbggdmFyLnRlc3QoKemAsuihjOiuiueVsOaVuOWQjOizquaAp+aqouWumg0KIyMg57WQ5p6c6aGv56S6IEYgdGVzdCB0byBjb21wYXJlIHR3byB2YXJpYW5jZSwgcC12YWx1ZSA9IDAuMDEwODINCiMjIOWFqee1hOeahOiuiueVsOaVuOeEoemhr+iRl+W3rueVsCjlkIzos6opDQojIyB0LnRlc3Qg57WQ5p6c6aGv56S66ZuZ5bC+IFRXTyBzYW1wbGUgdC10ZXN0ICwgcC12YWx1ZSDopoHlsI/mlrwwLjA1IOaJjeaciemhr+iRl+W3rueVsA0KIyMg5Zau5bC+5qqi5a6aIOWIqeeUqOioreWumuWPg+aVuGFsdGVybmF0aXZlKGFsdCks6YCy6KGM5Zau5bC+5qqi5a6aDQoNCmBgYHtyfQ0KDQp2YXIudGVzdChUQiTnsr7npZ7pnIDmsYJ+VEIk5Zau5Zug5a2Q57WE5YilLCAgZGF0YSA9IFRCKQ0KdC50ZXN0KFRCJOeyvuelnumcgOaxgn5UQiTllq7lm6DlrZDntYTliKUgLCB2YXIuZXF1YWwgPSBUUlVFLGRhdGEgPSBUQikNCnQudGVzdChUQiTnsr7npZ7pnIDmsYJ+VEIk5Zau5Zug5a2Q57WE5YilICwgdmFyLmVxdWFsID0gVFJVRSxhbHQ9ICJncmVhdGVyIixkYXRhID0gVEIpDQoNCmBgYA0KDQo=