安裝需要的packages

packages = c("dplyr","ggplot2", "data.table", "scales", "tidytext","ltm")
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)
require(ltm)

載入資料

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

檢視前6筆資料

head(TB)

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

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

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

# cronbach alpha

head(TB[6:9])
cronbach.alpha(TB[6:9], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[6:9]' data-set

Items: 4
Sample units: 120
alpha: 0.655

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.524 0.752 
new_tb <- data.frame(TB$沉浸感1,TB$沉浸感3,TB$沉浸感4)
head(new_tb)
cronbach.alpha(new_tb,CI= TRUE, standardized = TRUE)

Standardized Cronbach's alpha for the 'new_tb' data-set

Items: 3
Sample units: 120
alpha: 0.7

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.572 0.794 

# 根據上面cronbach.alpha的結果,拿掉沉浸感2

TB <- transform(TB, all_immer = (TB$沉浸感1 + TB$沉浸感3 + TB$沉浸感4)/3)
Result = aov(TB$all_immer~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)  
TB$單因子組別   1   5.49   5.490   4.558 0.0348 *
Residuals     118 142.13   1.205                 
---
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.4277778 0.03098075 0.8245748 0.0348385
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

# cronbach alpha

head(TB[16:18])
cronbach.alpha(TB[16:18], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[16:18]' data-set

Items: 3
Sample units: 120
alpha: 0.823

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.752 0.874 
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))))

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

# cronbach alpha

head(TB[19:27])
cronbach.alpha(TB[19:27], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[19:27]' data-set

Items: 9
Sample units: 120
alpha: 0.842

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.797 0.878 
TB <- transform(TB, all_SI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4 + TB$SM1 + TB$SM2 + TB$SM3 + TB$SM4 + TB$SM5)/9)
Result = aov(TB$all_SI~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1   0.91  0.9091    1.03  0.312
Residuals     118 104.11  0.8823               
boxplot(formula = TB$all_SI ~TB$單因子組別,
        data =TB,
        xlab = "組別",
        ylab = "社交互動 Social Interaction) -> 顯著性",
        col = "gray")

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

# cronbach alpha

head(TB[19:22])
cronbach.alpha(TB[19:22], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[19:22]' data-set

Items: 4
Sample units: 120
alpha: 0.834

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.779 0.877 
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

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

# cronbach alpha

head(TB[23:27])
cronbach.alpha(TB[23:27], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[23:27]' data-set

Items: 5
Sample units: 120
alpha: 0.707

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
 0.61  0.78 
TB <- transform(TB, all_SM = (TB$SM1 + TB$SM2 + TB$SM3 + TB$SM4 + TB$SM5)/5)
Result = aov(TB$all_SM~TB$單因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$單因子組別   1    1.2  1.2000   1.285  0.259
Residuals     118  110.2  0.9335               
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

# cronbach alpha

head(TB[6:9])
cronbach.alpha(TB[6:9], CI=TRUE, standardized=TRUE)

Standardized Cronbach's alpha for the 'TB[6:9]' data-set

Items: 4
Sample units: 120
alpha: 0.655

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.509 0.757 
new_tb <- data.frame(TB$沉浸感1,TB$沉浸感3,TB$沉浸感4)
head(new_tb)
cronbach.alpha(new_tb,CI= TRUE, standardized = TRUE)

Standardized Cronbach's alpha for the 'new_tb' data-set

Items: 3
Sample units: 120
alpha: 0.7

Bootstrap 95% CI based on 1000 samples
 2.5% 97.5% 
0.575 0.787 
# 根據上面cronbach.alpha的結果,拿掉沉浸感2
TB <- transform(TB, all_immer = (TB$沉浸感1 + TB$沉浸感3 + TB$沉浸感4)/4)
Result = aov(TB$all_immer~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   3.47  1.1561   1.685  0.174
Residuals     116  79.57  0.6859               
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.1166667 -0.6740858 0.4407524 0.9475692
SB-NB  0.3166667 -0.2407524 0.8740858 0.4523339
SC-NB  0.2083333 -0.3490858 0.7657524 0.7643641
SB-NC  0.4333333 -0.1240858 0.9907524 0.1842976
SC-NC  0.3250000 -0.2324191 0.8824191 0.4290363
SC-SB -0.1083333 -0.6657524 0.4490858 0.9573703
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_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

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

TB <- transform(TB, all_SI = (TB$QoI1 + TB$QoI2 + TB$QoI3 + TB$QoI4 + TB$SM1 + TB$SM2 + TB$SM3 + TB$SM4 + TB$SM5/9))
Result = aov(TB$all_SI~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3    134   44.50   0.702  0.552
Residuals     116   7348   63.35               
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 -1.3333333 -6.690131 4.023464 0.9157721
SB-NB  1.6444444 -3.712353 7.001242 0.8541890
SC-NB  0.1259259 -5.230872 5.482723 0.9999169
SB-NC  2.9777778 -2.379020 8.334575 0.4716703
SC-NC  1.4592593 -3.897538 6.816057 0.8929214
SC-SB -1.5185185 -6.875316 3.838279 0.8811735
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

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

TB <- transform(TB, all_SM = (TB$SM1 + TB$SM2 + TB$SM3 + TB$SM4 + TB$SM5)/5)
Result = aov(TB$all_SM~TB$雙因子組別)
summary(Result)
               Df Sum Sq Mean Sq F value Pr(>F)
TB$雙因子組別   3   1.97  0.6564   0.696  0.556
Residuals     116 109.39  0.9430               
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.1666667 -0.8202456 0.4869123 0.9101222
SB-NB  0.1933333 -0.4602456 0.8469123 0.8673524
SC-NB  0.0400000 -0.6135790 0.6935790 0.9985466
SB-NC  0.3600000 -0.2935790 1.0135790 0.4797822
SC-NC  0.2066667 -0.4469123 0.8602456 0.8428825
SC-SB -0.1533333 -0.8069123 0.5002456 0.9282306
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 -1.1903076 0.6569743 0.8753957
SB-NB  0.43333333 -0.4903076 1.3569743 0.6136111
SC-NB  0.03333333 -0.8903076 0.9569743 0.9997001
SB-NC  0.70000000 -0.2236410 1.6236410 0.2032249
SC-NC  0.30000000 -0.6236410 1.2236410 0.8320044
SC-SB -0.40000000 -1.3236410 0.5236410 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 -0.918798 1.1187980 0.9940955
SB-NB -0.26666667 -1.285465 0.7521313 0.9036505
SC-NB -0.30000000 -1.318798 0.7187980 0.8688933
SB-NC -0.36666667 -1.385465 0.6521313 0.7843976
SC-NC -0.40000000 -1.418798 0.6187980 0.7360861
SC-SB -0.03333333 -1.052131 0.9854647 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 -8.881784e-16 -1.105385 1.1053845 1.0000000
SB-NB  1.000000e-01 -1.005385 1.2053845 0.9953597
SC-NB -6.666667e-02 -1.172051 1.0387178 0.9986087
SB-NC  1.000000e-01 -1.005385 1.2053845 0.9953597
SC-NC -6.666667e-02 -1.172051 1.0387178 0.9986087
SC-SB -1.666667e-01 -1.272051 0.9387178 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


TB$time= factor(TB$time)
p <- ggplot(data =TB, aes(x = like,fill = time)) +  geom_bar(position = "dodge")
p



var.test(TB$like~TB$time,  data = TB) #函數 var.test()進行變異數同質性檢定

    F test to compare two variances

data:  TB$like by TB$time
F = 1.0481, num df = 59, denom df = 59, p-value = 0.8576
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.626026 1.754574
sample estimates:
ratio of variances 
           1.04805 
# 炸彈 和 電子鐘 差異程度
t.test(TB$like~TB$time , var.equal = TRUE,data = TB) # t.test 結果顯示雙尾 TWO sample t-test , p-value 要小於0.05 才有顯著差異

    Two Sample t-test

data:  TB$like by TB$time
t = 0.42491, df = 118, p-value = 0.6717
alternative hypothesis: true difference in means between group B and group C is not equal to 0
95 percent confidence interval:
 -0.3660421  0.5660421
sample estimates:
mean in group B mean in group C 
       4.833333        4.733333 
t.test(TB$like~TB$time , var.equal = TRUE,alt= "greater",data = TB) # 單尾檢定

    Two Sample t-test

data:  TB$like by TB$time
t = 0.42491, df = 118, p-value = 0.3358
alternative hypothesis: true difference in means between group B and group C is greater than 0
95 percent confidence interval:
 -0.2901671        Inf
sample estimates:
mean in group B mean in group C 
       4.833333        4.733333 
Result = aov(TB$like~TB$time)
summary(Result)
             Df Sum Sq Mean Sq F value Pr(>F)
TB$time       1    0.3   0.300   0.181  0.672
Residuals   118  196.1   1.662               
TukeyHSD(Result)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = TB$like ~ TB$time)

$`TB$time`
    diff        lwr       upr     p adj
C-B -0.1 -0.5660421 0.3660421 0.6716741
boxplot(formula = TB$like~TB$time,
        data =TB,
        xlab = "組別",
        ylab = "喜歡程度。",
        col = "gray")

NA
NA
LS0tDQp0aXRsZTogImRhdGEgYW5hbHlzaXMiDQphdXRob3I6ICJZdWVoQ2hpIg0KZGF0ZTogIjIwMjIvMTIvMTMiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIGhpZ2hsaWdodDogcHlnbWVudHMNCiAgICB0aGVtZTogZmxhdGx5DQogICAgY3NzOiBzdHlsZS5jc3MNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCg0KDQojIyMg5a6J6KOd6ZyA6KaB55qEcGFja2FnZXMNCg0KYGBge3J9DQpwYWNrYWdlcyA9IGMoImRwbHlyIiwiZ2dwbG90MiIsICJkYXRhLnRhYmxlIiwgInNjYWxlcyIsICJ0aWR5dGV4dCIsImx0bSIpDQpleGlzdGluZyA9IGFzLmNoYXJhY3RlcihpbnN0YWxsZWQucGFja2FnZXMoKVssMV0pDQpmb3IocGtnIGluIHBhY2thZ2VzWyEocGFja2FnZXMgJWluJSBleGlzdGluZyldKSBpbnN0YWxsLnBhY2thZ2VzKHBrZykNCmBgYA0KDQojIyMg6LyJ5YWl6ZyA6KaB55qEcGFja2FnZXPku6Xlj4ros4fmlpkNCg0KYGBge3IgZWNobyA9IFQsIHJlc3VsdHMgPSAnaGlkZSd9DQpyZXF1aXJlKGRwbHlyKQ0KcmVxdWlyZShnZ3Bsb3QyKQ0KcmVxdWlyZShkYXRhLnRhYmxlKQ0KcmVxdWlyZShzY2FsZXMpDQpyZXF1aXJlKHdvcmRjbG91ZDIpDQpyZXF1aXJlKHRpZHl0ZXh0KQ0KcmVxdWlyZShsdG0pDQpgYGANCg0KIyMjIOi8ieWFpeizh+aWmQ0KYGBge3J9DQpUQiA9IHJlYWQuY3N2KCdkYXRhLmNzdicpDQpUQiTllq7lm6DlrZDntYTliKU9IGZhY3RvcihUQiTllq7lm6DlrZDntYTliKUpDQpUQiTpm5nlm6DlrZDntYTliKU9IGZhY3RvcihUQiTpm5nlm6DlrZDntYTliKUpDQoNCmBgYA0KDQoNCiMjIyDmqqLoppbliY02562G6LOH5paZDQpgYGB7cn0NCmhlYWQoVEIpDQpgYGANCg0KIyDllq7lm6DlrZDliIbmnpDvvJog5YiH5o+b5aC05pmvKFMpIFZTIOS4jeWIh+aPm+WgtOaZryhOKQ0KDQojIyDliqDnuL3kuLvpoYzliIbmlbggLSDllq7lm6DlrZDliIbmnpANCg0KIyMjIDMu5Yqg57i95YC85bmz5Z2HKOayiea1uOaEnykgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NCiMgY3JvbmJhY2ggYWxwaGENCg0KaGVhZChUQls2OjldKQ0KY3JvbmJhY2guYWxwaGEoVEJbNjo5XSwgQ0k9VFJVRSwgc3RhbmRhcmRpemVkPVRSVUUpDQoNCm5ld190YiA8LSBkYXRhLmZyYW1lKFRCJOayiea1uOaEnzEsVEIk5rKJ5rW45oSfMyxUQiTmsonmtbjmhJ80KQ0KaGVhZChuZXdfdGIpDQpjcm9uYmFjaC5hbHBoYShuZXdfdGIsQ0k9IFRSVUUsIHN0YW5kYXJkaXplZCA9IFRSVUUpDQoNCmBgYA0KDQoNCmBgYHtyfQ0KDQojIOagueaTmuS4iumdomNyb25iYWNoLmFscGhh55qE57WQ5p6c77yM5ou/5o6J5rKJ5rW45oSfMg0KDQpUQiA8LSB0cmFuc2Zvcm0oVEIsIGFsbF9pbW1lciA9IChUQiTmsonmtbjmhJ8xICsgVEIk5rKJ5rW45oSfMyArIFRCJOayiea1uOaEnzQpLzMpDQpSZXN1bHQgPSBhb3YoVEIkYWxsX2ltbWVyflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KcGxvdChUdWtleUhTRChSZXN1bHQpLGxhcz0xKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfaW1tZXIgflRCJOWWruWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmsonmtbjmhJ8pIC0+IOmhr+iRl+aApyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KZ2dwbG90KFRCLCBhZXMoeCA9IOWWruWboOWtkOe1hOWIpSwgeSA9IGFsbF9pbW1lcikpICsgICAjIERyYXcgZ2dwbG90MiBib3hwbG90DQogIGdlb21fYm94cGxvdCgpICsNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBjb2wgPSAicmVkIikgKyAgIyBBZGQgcG9pbnRzIHRvIHBsb3QNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAidGV4dCIsIGNvbCA9ICJyZWQiLCAgICAgIyBBZGQgdGV4dCB0byBwbG90DQogICAgICAgICAgICAgICB2anVzdCA9IDEuNSwgYWVzKGxhYmVsID0gcGFzdGUoIk1lYW46Iiwgcm91bmQoYWZ0ZXJfc3RhdCh5KSwgZGlnaXRzID0gMSkpKSkNCg0KDQoNCmBgYA0KDQojIyMgNC7liqDnuL3lgLzlubPlnYco6Ieq5oiR5Ym16YCg5YqbKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KIyBjcm9uYmFjaCBhbHBoYQ0KDQpoZWFkKFRCWzE2OjE4XSkNCmNyb25iYWNoLmFscGhhKFRCWzE2OjE4XSwgQ0k9VFJVRSwgc3RhbmRhcmRpemVkPVRSVUUpDQoNCmBgYA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX2NyZWF0aXZlID0gKFRCJOaDs+azleaVuOmHjyArIFRCJOWTgeizqiArIFRCJOWJtemAoOWKmykvMykNClJlc3VsdCA9IGFvdihUQiRhbGxfY3JlYXRpdmV+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9jcmVhdGl2ZSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuiHquaIkeWJtemAoOWKmykgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g5Zau5Zug5a2Q57WE5YilLCB5ID0gYWxsX2NyZWF0aXZlKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQpgYGANCg0KIyMjIDUu5Yqg57i95YC85bmz5Z2HKOekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb24pIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQojIGNyb25iYWNoIGFscGhhDQoNCmhlYWQoVEJbMTk6MjddKQ0KY3JvbmJhY2guYWxwaGEoVEJbMTk6MjddLCBDST1UUlVFLCBzdGFuZGFyZGl6ZWQ9VFJVRSkNCg0KYGBgDQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfU0kgPSAoVEIkUW9JMSArIFRCJFFvSTIgKyBUQiRRb0kzICsgVEIkUW9JNCArIFRCJFNNMSArIFRCJFNNMiArIFRCJFNNMyArIFRCJFNNNCArIFRCJFNNNSkvOSkNClJlc3VsdCA9IGFvdihUQiRhbGxfU0l+VEIk5Zau5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9TSSB+VEIk5Zau5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb24pIC0+IOmhr+iRl+aApyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQoNCg0KDQojIyMgNi7liqDnuL3lgLzlubPlnYco56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQoNCmBgYHtyfQ0KIyBjcm9uYmFjaCBhbHBoYQ0KDQpoZWFkKFRCWzE5OjIyXSkNCmNyb25iYWNoLmFscGhhKFRCWzE5OjIyXSwgQ0k9VFJVRSwgc3RhbmRhcmRpemVkPVRSVUUpDQoNCmBgYA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1FPSSA9IChUQiRRb0kxICsgVEIkUW9JMiArIFRCJFFvSTMgKyBUQiRRb0k0KS80KSANClJlc3VsdCA9IGFvdihUQiRhbGxfUU9JflRCJOWWruWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfUU9JIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbu+8mlFPSSkgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g5Zau5Zug5a2Q57WE5YilLCB5ID0gYWxsX1FPSSkpICsgICAjIERyYXcgZ2dwbG90MiBib3hwbG90DQogIGdlb21fYm94cGxvdCgpICsNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBjb2wgPSAicmVkIikgKyAgIyBBZGQgcG9pbnRzIHRvIHBsb3QNCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAidGV4dCIsIGNvbCA9ICJyZWQiLCAgICAgIyBBZGQgdGV4dCB0byBwbG90DQogICAgICAgICAgICAgICB2anVzdCA9IDEuNSwgYWVzKGxhYmVsID0gcGFzdGUoIk1lYW46Iiwgcm91bmQoYWZ0ZXJfc3RhdCh5KSwgZGlnaXRzID0gMSkpKSkNCg0KDQoNCg0KYGBgDQoNCiMjIyA3LuWKoOe4veWAvOW5s+WdhyjnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaU00pIC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQojIGNyb25iYWNoIGFscGhhDQoNCmhlYWQoVEJbMjM6MjddKQ0KY3JvbmJhY2guYWxwaGEoVEJbMjM6MjddLCBDST1UUlVFLCBzdGFuZGFyZGl6ZWQ9VFJVRSkNCg0KYGBgDQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfU00gPSAoVEIkU00xICsgVEIkU00yICsgVEIkU00zICsgVEIkU000ICsgVEIkU001KS81KQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9TTX5UQiTllq7lm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX1NNIH5UQiTllq7lm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi56S+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+iIh2JveHBsb3QNCmBgYHtyfQ0KIyBjcm9uYmFjaCBhbHBoYQ0KDQpoZWFkKFRCWzY6OV0pDQpjcm9uYmFjaC5hbHBoYShUQls2OjldLCBDST1UUlVFLCBzdGFuZGFyZGl6ZWQ9VFJVRSkNCg0KbmV3X3RiIDwtIGRhdGEuZnJhbWUoVEIk5rKJ5rW45oSfMSxUQiTmsonmtbjmhJ8zLFRCJOayiea1uOaEnzQpDQpoZWFkKG5ld190YikNCmNyb25iYWNoLmFscGhhKG5ld190YixDST0gVFJVRSwgc3RhbmRhcmRpemVkID0gVFJVRSkNCg0KYGBgDQoNCg0KYGBge3J9DQojIOagueaTmuS4iumdomNyb25iYWNoLmFscGhh55qE57WQ5p6c77yM5ou/5o6J5rKJ5rW45oSfMg0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfaW1tZXIgPSAoVEIk5rKJ5rW45oSfMSArIFRCJOayiea1uOaEnzMgKyBUQiTmsonmtbjmhJ80KS80KQ0KUmVzdWx0ID0gYW92KFRCJGFsbF9pbW1lcn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCnBsb3QoVHVrZXlIU0QoUmVzdWx0KSxsYXM9MSkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkYWxsX2ltbWVyIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5rKJ5rW45oSfKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfaW1tZXIpKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCg0KDQpgYGANCg0KIyMjIDQu5Yqg57i95YC85bmz5Z2HKOiHquaIkeWJtemAoOWKmykgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX2NyZWF0aXZlID0gKFRCJOaDs+azleaVuOmHjyArIFRCJOWTgeizqiArIFRCJOWJtemAoOWKmykvMykNClJlc3VsdCA9IGFvdihUQiRhbGxfY3JlYXRpdmV+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9jcmVhdGl2ZSB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuiHquaIkeWJtemAoOWKmykgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g6ZuZ5Zug5a2Q57WE5YilLCB5ID0gYWxsX2NyZWF0aXZlKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQoNCmBgYA0KDQojIyMgNS7liqDnuL3lgLzlubPlnYco56S+5Lqk5LqS5YuVIFNvY2lhbCBJbnRlcmFjdGlvbikgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1NJID0gKFRCJFFvSTEgKyBUQiRRb0kyICsgVEIkUW9JMyArIFRCJFFvSTQgKyBUQiRTTTEgKyBUQiRTTTIgKyBUQiRTTTMgKyBUQiRTTTQgKyBUQiRTTTUvOSkpDQpSZXN1bHQgPSBhb3YoVEIkYWxsX1NJflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRhbGxfU0kgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9uKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfU0kpKSArICAgIyBEcmF3IGdncGxvdDIgYm94cGxvdA0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50IiwgY29sID0gInJlZCIpICsgICMgQWRkIHBvaW50cyB0byBwbG90DQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInRleHQiLCBjb2wgPSAicmVkIiwgICAgICMgQWRkIHRleHQgdG8gcGxvdA0KICAgICAgICAgICAgICAgdmp1c3QgPSAxLjUsIGFlcyhsYWJlbCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKGFmdGVyX3N0YXQoeSksIGRpZ2l0cyA9IDEpKSkpDQoNCg0KDQpgYGANCg0KDQoNCiMjIyA2LuWKoOe4veWAvOW5s+WdhyjnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaUU9JKSAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KVEIgPC0gdHJhbnNmb3JtKFRCLCBhbGxfUU9JID0gKFRCJFFvSTEgKyBUQiRRb0kyICsgVEIkUW9JMyArIFRCJFFvSTQpLzQpIA0KUmVzdWx0ID0gYW92KFRCJGFsbF9RT0l+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9RT0kgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaUU9JKSAtPiDpoa/okZfmgKciLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmdncGxvdChUQiwgYWVzKHggPSDpm5nlm6DlrZDntYTliKUsIHkgPSBhbGxfUU9JKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQoNCg0KDQpgYGANCg0KIyMjIDcu5Yqg57i95YC85bmz5Z2HKOekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb27vvJpTTSkgLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQpgYGB7cn0NClRCIDwtIHRyYW5zZm9ybShUQiwgYWxsX1NNID0gKFRCJFNNMSArIFRCJFNNMiArIFRCJFNNMyArIFRCJFNNNCArIFRCJFNNNSkvNSkNClJlc3VsdCA9IGFvdihUQiRhbGxfU01+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGFsbF9TTSB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuekvuS6pOS6kuWLlSBTb2NpYWwgSW50ZXJhY3Rpb27vvJpTTSkgLT4g6aGv6JGX5oCnIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpnZ3Bsb3QoVEIsIGFlcyh4ID0g6ZuZ5Zug5a2Q57WE5YilLCB5ID0gYWxsX1NNKSkgKyAgICMgRHJhdyBnZ3Bsb3QyIGJveHBsb3QNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIGNvbCA9ICJyZWQiKSArICAjIEFkZCBwb2ludHMgdG8gcGxvdA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJ0ZXh0IiwgY29sID0gInJlZCIsICAgICAjIEFkZCB0ZXh0IHRvIHBsb3QNCiAgICAgICAgICAgICAgIHZqdXN0ID0gMS41LCBhZXMobGFiZWwgPSBwYXN0ZSgiTWVhbjoiLCByb3VuZChhZnRlcl9zdGF0KHkpLCBkaWdpdHMgPSAxKSkpKQ0KDQpgYGANCg0KDQoNCiMjIOWQhOmghemgheebruWIhuaVuCAtIOmbmeWboOWtkOWIhuaekA0KDQojIyMgIDMu5rKJ5rW45oSfIEltbWVyc2lvbiAtPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIk5rKJ5rW45oSfMX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOayiea1uOaEnzJ+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmsonmtbjmhJ8zflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIk5rKJ5rW45oSfNH5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmsonmtbjmhJ8xIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHlj6/ku6Xlg4/lnKjnj77lr6bkuJbnlYzkuK3kuIDmqKPoiIfnkrDlooPkupLli5UiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOayiea1uOaEnzIgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeaEn+imuuiIh+WklueVjOmalOe1lSIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5rKJ5rW45oSfMyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5a6M5YWo5rKJ5rW45YW25LitIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmsonmtbjmhJ80IH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmiJHlv5joqJjkuobmiJHnmoTml6XluLjnhanmg7EiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCiMjIyA0LuiqjeefpeWjk+WKmyBOQVNBLVRMWC0+IOmhr+iRl+aAp+iIh2JveHBsb3QNCg0KYGBge3J9DQoNClJlc3VsdCA9IGFvdihUQiTnsr7npZ7pnIDmsYJ+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTpq5TlipvpnIDmsYJ+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmmYLplpPlo5Plipt+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTmiJDlip9+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTliqrlipt+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiTkuI3lrol+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOeyvuelnumcgOaxgiB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIueyvuelnumcgOaxgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk6auU5Yqb6ZyA5rGCIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi6auU5Yqb6ZyA5rGCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTmmYLplpPlo5PlipsgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmmYLplpPlo5PlipsiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOaIkOWKnyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaIkOWKnyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5Yqq5YqbIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5Yqq5YqbIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTkuI3lrokgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLkuI3lrokiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCiMjIyA1LuWJtemAoOWKmy0+IOmhr+iRl+aApyANCg0KDQpgYGB7cn0NCg0KUmVzdWx0ID0gYW92KFRCJOaDs+azleaVuOmHj35UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOWTgeizqn5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJOWJtemAoOWKm35UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIk5oOz5rOV5pW46YePIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5oOz5rOV5pW46YePIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiTlk4Hos6ogflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlk4Hos6oiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJOWJtemAoOWKmyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWJtemAoOWKmyIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYGBgDQojIyMgNiDnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaUU9JLT4g6aGv6JGX5oCn6IiHYm94cGxvdA0KDQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIkUW9JMX5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KUmVzdWx0ID0gYW92KFRCJFFvSTJ+VEIk6ZuZ5Zug5a2Q57WE5YilKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNClJlc3VsdCA9IGFvdihUQiRRb0kzflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkUW9JNH5UQiTpm5nlm6DlrZDntYTliKUpDQpzdW1tYXJ5KFJlc3VsdCkNClR1a2V5SFNEKFJlc3VsdCkNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkUW9JMSB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5Y+v5Lul5Yik5pa35bCN5pa55piv5ZCm5Zyo6IG95oiR6Kqq6Kmx44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRRb0kyIH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi5oiR6IO95YWF5YiG55CG6Kej5bCN5pa55ZyoVlLpoK3ohabpoqjmmrTmmYLkuK3lgZrnmoTku7vkvZXooYzngrrjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFFvSTMgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKjpgLLooYxWUumgreiFpumiqOaatOaZgu+8jOaIkeeiuuS/oeaIkeeahOaQreaqlOaYjueZveaIkeWcqOiqquS7gOm6vOOAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkUW9JNCB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5bCI5rOo5pa85ZKM5bCN5pa55LqS5YuV44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpgYGANCg0KDQojIyMgNiDnpL7kuqTkupLli5UgU29jaWFsIEludGVyYWN0aW9u77yaU00tPiDpoa/okZfmgKfoiIdib3hwbG90DQoNCmBgYHtyfQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00xflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00yflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU00zflRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU000flRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQpSZXN1bHQgPSBhb3YoVEIkU001flRCJOmbmeWboOWtkOe1hOWIpSkNCnN1bW1hcnkoUmVzdWx0KQ0KVHVrZXlIU0QoUmVzdWx0KQ0KDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNMSB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIuaIkeW+nlZS6aCt6IWm6aKo5pq055qE6auU6amX5Lit542y5b6X5LqG5b6I5aSa55qE5ru/6Laz5oSf44CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRTTTIgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLmiJHlvojkuqvlj5flkozmiJHnmoTlpKXkvLTkuIDotbfluqbpgY7nmoTmmYLlhYnjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJFNNMyB+VEIk6ZuZ5Zug5a2Q57WE5YilLA0KICAgICAgICBkYXRhID1UQiwNCiAgICAgICAgeGxhYiA9ICLntYTliKUiLA0KICAgICAgICB5bGFiID0gIueVtuaIkeWcqOmAsuihjFZS6aCt6IWm6aKo5pq05pmC77yM5oiR5bi45bi46Ka65b6X6Ieq5bex5piv5a2k6Lqr5LiA5Lq644CCIiwNCiAgICAgICAgY29sID0gImdyYXkiKQ0KDQpib3hwbG90KGZvcm11bGEgPSBUQiRTTTQgflRCJOmbmeWboOWtkOe1hOWIpSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLlnKhWUuS4re+8jOeVtuWRqOmBreacieWLlemdnOaZgu+8jOaIkeingOWvn+WIsOaIkeeahOWkpeS8tOWAkeWuueaYk+WIhuW/g+OAgiIsDQogICAgICAgIGNvbCA9ICJncmF5IikNCg0KYm94cGxvdChmb3JtdWxhID0gVEIkU001IH5UQiTpm5nlm6DlrZDntYTliKUsDQogICAgICAgIGRhdGEgPVRCLA0KICAgICAgICB4bGFiID0gIue1hOWIpSIsDQogICAgICAgIHlsYWIgPSAi55W25oiR5Zyo6YCy6KGMVlLpoK3ohabpoqjmmrTmmYLvvIzmmYLplpPkvLzkuY7pgY7lvpflvojmhaLjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCmBgYA0KDQoNCg0KDQoNCg0KIyMgIOW3rueVsOWIhuaekC0g5pmC6ZaT5pa55byP5ZGI54++5Zac5q2h56iL5bqmIHQgdGVzdA0KYGBge3J9DQoNClRCJHRpbWU9IGZhY3RvcihUQiR0aW1lKQ0KcCA8LSBnZ3Bsb3QoZGF0YSA9VEIsIGFlcyh4ID0gbGlrZSxmaWxsID0gdGltZSkpICsgIGdlb21fYmFyKHBvc2l0aW9uID0gImRvZGdlIikNCnANCg0KDQp2YXIudGVzdChUQiRsaWtlflRCJHRpbWUsICBkYXRhID0gVEIpICPlh73mlbggdmFyLnRlc3QoKemAsuihjOiuiueVsOaVuOWQjOizquaAp+aqouWumg0KDQojIOeCuOW9iCDlkowg6Zu75a2Q6ZCYIOW3rueVsOeoi+W6pg0KdC50ZXN0KFRCJGxpa2V+VEIkdGltZSAsIHZhci5lcXVhbCA9IFRSVUUsZGF0YSA9IFRCKSAjIHQudGVzdCDntZDmnpzpoa/npLrpm5nlsL4gVFdPIHNhbXBsZSB0LXRlc3QgLCBwLXZhbHVlIOimgeWwj+aWvDAuMDUg5omN5pyJ6aGv6JGX5beu55WwDQoNCnQudGVzdChUQiRsaWtlflRCJHRpbWUgLCB2YXIuZXF1YWwgPSBUUlVFLGFsdD0gImdyZWF0ZXIiLGRhdGEgPSBUQikgIyDllq7lsL7mqqLlrpoNCg0KDQpSZXN1bHQgPSBhb3YoVEIkbGlrZX5UQiR0aW1lKQ0Kc3VtbWFyeShSZXN1bHQpDQpUdWtleUhTRChSZXN1bHQpDQoNCmJveHBsb3QoZm9ybXVsYSA9IFRCJGxpa2V+VEIkdGltZSwNCiAgICAgICAgZGF0YSA9VEIsDQogICAgICAgIHhsYWIgPSAi57WE5YilIiwNCiAgICAgICAgeWxhYiA9ICLllpzmraHnqIvluqbjgIIiLA0KICAgICAgICBjb2wgPSAiZ3JheSIpDQoNCg0KYGBgDQoNCg==