library(Ecdat)
## Warning: package 'Ecdat' was built under R version 4.3.3
## Loading required package: Ecfun
## Warning: package 'Ecfun' was built under R version 4.3.3
## 
## Attaching package: 'Ecfun'
## The following object is masked from 'package:base':
## 
##     sign
## 
## Attaching package: 'Ecdat'
## The following object is masked from 'package:datasets':
## 
##     Orange
library(stevedata)
## Warning: package 'stevedata' was built under R version 4.3.3
data(package = "stevedata")
data("Newhouse77")
d <- Newhouse77
str(d)
## Classes 'tbl_df', 'tbl' and 'data.frame':    13 obs. of  5 variables:
##  $ country    : chr  "Australia" "Austria" "Canada" "Finland" ...
##  $ year       : num  1972 1972 1971 1972 1970 ...
##  $ gdppc      : num  3769 2747 4317 2869 2851 ...
##  $ medsharegdp: num  5.8 5.46 7.02 5.31 6.4 6.07 2.51 6.12 6.78 5.18 ...
##  $ medexppc   : num  219 150 303 152 182 136 34 132 233 201 ...
summary(d)
##    country               year          gdppc       medsharegdp   
##  Length:13          Min.   :1968   Min.   :1374   Min.   :2.510  
##  Class :character   1st Qu.:1971   1st Qu.:2742   1st Qu.:5.310  
##  Mode  :character   Median :1972   Median :2869   Median :6.070  
##                     Mean   :1971   Mean   :3261   Mean   :5.768  
##                     3rd Qu.:1972   3rd Qu.:3889   3rd Qu.:6.510  
##                     Max.   :1972   Max.   :5551   Max.   :7.380  
##     medexppc    
##  Min.   : 34.0  
##  1st Qu.:136.0  
##  Median :182.0  
##  Mean   :196.3  
##  3rd Qu.:233.0  
##  Max.   :361.0

1 .Giới thiệu về bộ dữ liệu và đặt vấn đề

1.1 .Mô tả bộ dữ liệu

Bộ dữ liệu Newhouse77 từ gói stevedata chứa thông tin về các quốc gia, năm, GDP bình quân đầu người, tỷ lệ chi tiêu y tế trên GDP, và chi tiêu y tế bình quân đầu người. Đây là một bộ dữ liệu quan trọng để nghiên cứu về kinh tế y tế và các yếu tố ảnh hưởng đến chi tiêu y tế ở các quốc gia khác nhau.

Bộ dữ liệu này bao gồm các biến số sau:

  • country: Tên quốc gia.

  • year: Năm thu thập dữ liệu.

  • gdppc: GDP bình quân đầu người (Gross Domestic Product per capita) - đo lường tổng sản phẩm quốc nội tính trên mỗi người dân.

  • medsharegdp: Tỷ lệ chi tiêu y tế trên GDP (Medical expenditure share of GDP) - tỷ lệ phần trăm của chi tiêu y tế so với tổng GDP.

  • medexppc: Chi tiêu y tế bình quân đầu người (Medical expenditure per capita) - chi phí y tế trung bình tính trên mỗi người dân.

1.2 Giới thiệu các biến

  • country (Tên quốc gia): Biến này biểu thị quốc gia mà dữ liệu được thu thập. Nó là một biến định danh (categorical variable).

  • year (Năm): Năm thu thập dữ liệu. Trong bộ dữ liệu này, tất cả các giá trị đều là năm 1977.

  • gdppc (GDP bình quân đầu người): Tổng sản phẩm quốc nội tính trên mỗi người dân, đo lường mức sống và năng suất kinh tế của mỗi quốc gia.

  • medsharegdp (Tỷ lệ chi tiêu y tế trên GDP): Tỷ lệ phần trăm của chi tiêu y tế so với tổng GDP của quốc gia, đo lường mức độ đầu tư vào y tế so với quy mô kinh tế.

  • medexppc (Chi tiêu y tế bình quân đầu người): Chi phí y tế trung bình tính trên mỗi người dân, đo lường mức độ chi tiêu y tế của cá nhân trong mỗi quốc gia.

1.3 Đặt vấn đề

Bộ dữ liệu Newhouse77 cung cấp một cái nhìn tổng quan về mối quan hệ giữa các yếu tố kinh tế và chi tiêu y tế ở các quốc gia khác nhau. Nó có thể được sử dụng để:

Phân tích tác động của GDP bình quân đầu người đến chi tiêu y tế.

So sánh mức độ chi tiêu y tế giữa các quốc gia.

Nghiên cứu mối quan hệ giữa tỷ lệ chi tiêu y tế trên GDP và chi tiêu y tế bình quân đầu người.

Việc phân tích này có thể cung cấp thông tin quan trọng về mối quan hệ giữa chi phí y tế và việc có bảo hiểm y tế trong các bang Hoa Kỳ vào năm 1977, giúp đưa ra định hướng cho các quyết định chính sách y tế trong tương lai.

2 Lập bảng tần số

2.1 Bảng tần số cho số lượng các quốc gia và các năm khác nhau

table(d$country)
## 
##      Australia        Austria         Canada        Finland         France 
##              1              1              1              1              1 
##            GFR         Greece          Italy    Netherlands         Norway 
##              1              1              1              1              1 
##         Sweden United Kingdom  United States 
##              1              1              1
table(d$year)
## 
## 1968 1970 1971 1972 
##    1    1    2    9

Có tổng cộng 11 quốc gia trong tập dữ liệu.

Mỗi quốc gia chỉ xuất hiện một lần, cho thấy mỗi quốc gia được đại diện bằng một quan sát duy nhất trong dữ liệu.

Tập dữ liệu này chứa dữ liệu từ năm 1968 đến năm 1972.

Năm 1971 có 2 quan sát, còn năm 1972 có 9 quan sát, cho thấy có một số lượng lớn quan sát được thêm vào vào những năm sau đó.

2.2 Bảng tần số cho biến số (gdppc, medsharegdp, và medexppc):

summary(d$gdppc)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1374    2742    2869    3261    3889    5551
summary(d$medsharegdp)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.510   5.310   6.070   5.768   6.510   7.380
summary(d$medexppc)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    34.0   136.0   182.0   196.3   233.0   361.0
# Phân loại giá trị của biến gdppc vào các nhóm và lập bảng tần số cho từng nhóm
gdppc_groups <- cut(d$gdppc, breaks = 5)
table(gdppc_groups)
## gdppc_groups
## (1.37e+03,2.21e+03] (2.21e+03,3.04e+03] (3.04e+03,3.88e+03] (3.88e+03,4.72e+03] 
##                   2                   5                   2                   3 
## (4.72e+03,5.56e+03] 
##                   1
# Phân loại giá trị của biến medsharegdp vào các nhóm và lập bảng tần số cho từng nhóm
medsharegdp_groups <- cut(d$medsharegdp, breaks = 5)
table(medsharegdp_groups)
## medsharegdp_groups
## (2.51,3.48] (3.48,4.46] (4.46,5.43] (5.43,6.41] (6.41,7.38] 
##           1           1           2           5           4
# Phân loại giá trị của biến medexppc vào các nhóm và lập bảng tần số cho từng nhóm
medexppc_groups <- cut(d$medexppc, breaks = 5)
table(medexppc_groups)
## medexppc_groups
## (33.7,99.4]  (99.4,165]   (165,230]   (230,296]   (296,361] 
##           1           5           3           1           3

GDP bình quân đầu người:Giá trị thấp nhất là 1374 và cao nhất là 5551, đây là một phạm vi rộng. Phân vị trung vị (median) là 2869, cho thấy mức độ trung bình của GDP bình quân. Đối với nhiều quốc gia, GDP bình quân đầu người có thể phản ánh mức độ phát triển kinh tế của đất nước.

Tỷ lệ chi phí y tế so với GDP: Tỷ lệ này biểu thị mức độ mà một quốc gia chi tiêu cho y tế so với tổng sản phẩm quốc nội của nó. Các giá trị trong phạm vi từ 2.510 đến 7.380, cho thấy có sự biến động lớn giữa các quốc gia. Các quốc gia có tỷ lệ cao hơn có thể đang đầu tư nhiều vào hệ thống y tế của họ, trong khi các quốc gia có tỷ lệ thấp hơn có thể gặp khó khăn trong việc cung cấp dịch vụ y tế cho dân số.

Chi phí y tế đầu người: Giá trị này cho biết mức độ chi tiêu trung bình của mỗi cá nhân cho dịch vụ y tế. Phân vị trung vị (median) là 182, nhưng có sự biến động lớn giữa các quốc gia, từ 34 đến 361. Chi phí y tế đầu người có thể ảnh hưởng đến việc truy cập và chất lượng của dịch vụ y tế, và là một chỉ số quan trọng để đánh giá sức khỏe của một quốc gia.

Nhìn chung ta có thể thấy rằng có sự biến động lớn giữa các quốc gia trong việc đầu tư và chi tiêu cho y tế, và các chỉ số kinh tế như GDP có thể ảnh hưởng đến khả năng và cách thức mà mỗi quốc gia tiếp cận và cung cấp dịch vụ y tế cho dân số.

2.3 Bảng tần số GDP bình quân đầu người của mỗi quốc gia

table(d$country, d$gdppc)
##                 
##                  1374 2164 2246 2742 2747 2851 2869 3437 3769 3889 4317 4431
##   Australia         0    0    0    0    0    0    0    0    1    0    0    0
##   Austria           0    0    0    0    1    0    0    0    0    0    0    0
##   Canada            0    0    0    0    0    0    0    0    0    0    1    0
##   Finland           0    0    0    0    0    0    1    0    0    0    0    0
##   France            0    0    0    0    0    1    0    0    0    0    0    0
##   GFR               0    0    1    0    0    0    0    0    0    0    0    0
##   Greece            1    0    0    0    0    0    0    0    0    0    0    0
##   Italy             0    1    0    0    0    0    0    0    0    0    0    0
##   Netherlands       0    0    0    0    0    0    0    1    0    0    0    0
##   Norway            0    0    0    0    0    0    0    0    0    1    0    0
##   Sweden            0    0    0    0    0    0    0    0    0    0    0    1
##   United Kingdom    0    0    0    1    0    0    0    0    0    0    0    0
##   United States     0    0    0    0    0    0    0    0    0    0    0    0
##                 
##                  5551
##   Australia         0
##   Austria           0
##   Canada            0
##   Finland           0
##   France            0
##   GFR               0
##   Greece            0
##   Italy             0
##   Netherlands       0
##   Norway            0
##   Sweden            0
##   United Kingdom    0
##   United States     1
  • Chúng ta có thể thấy rằng bảng tần số trên thể hiện GDP của từng quốc gia. Ví dụ:

  • Canada có một quan sát với giá trị GDP bình quân đầu người là 3889

  • GFR có một quan sát với giá trị GDP bình quân đầu người là 2246.

2.4 Bảng tần số tỷ lệ chi phí y tế so với GDP và chi phí y tế đầu người

table(d$medsharegdp)
## 
## 2.51 4.45 5.18 5.31 5.46  5.8 6.07 6.12  6.4 6.51 6.78 7.02 7.38 
##    1    1    1    1    1    1    1    1    1    1    1    1    1
table(d$medexppc)
## 
##  34 122 132 136 150 152 182 201 219 233 303 327 361 
##   1   1   1   1   1   1   1   1   1   1   1   1   1

Nhìn vào bảng tần số ta có thể thấy tỷ lệ chi phí y tế so với GDP và chi phí y tế đầu người đều có 13 giá trị

3 Biểu đồ

3.1 Biểu đồ thể hiện mối quan hệ giữa tỷ lệ chi tiêu y tế trên GDP và chi tiêu y tế bình quân đầu người.

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(d, aes(x = as.factor(medsharegdp), y = gdppc, fill = as.factor(medexppc))) +
  geom_boxplot() +
  labs(title = "Biểu đồ boxplot kết hợp",
       x = "Tỷ lệ chi phí y tế/GDP",
       y = "GDP bình quân đầu người",
       fill = "Chi phí y tế đầu người")

ggplot(d, aes(x = gdppc, y = medexppc, color = medsharegdp)) +
  geom_point() +
  labs(title = "Biểu đồ scatter plot kết hợp",
       x = "GDP bình quân đầu người",
       y = "Chi phí y tế đầu người",
       color = "Tỷ lệ chi phí y tế/GDP")

Quan hệ giữa Chi phí Y tế và GDP Bình quân đầu người:Tỷ lệ chi phí y tế/GDP thấp (khoảng 2.51 - 5.31%): Các quốc gia trong nhóm này có GDP bình quân đầu người thấp hơn, dao động từ khoảng 2000 đến 4000 USD. Điều này cho thấy rằng các quốc gia có mức GDP thấp hơn thường chi ít phần trăm GDP của mình cho y tế. Tỷ lệ chi phí y tế/GDP cao hơn (khoảng 6.07 - 7.38%): Các quốc gia trong nhóm này có GDP bình quân đầu người cao hơn, từ khoảng 4000 đến hơn 5000 USD. Các nước này có xu hướng chi một tỷ lệ lớn hơn GDP của mình cho y tế, cho thấy rằng các quốc gia phát triển hoặc có thu nhập cao hơn đầu tư nhiều hơn vào hệ thống y tế của họ.

Chi phí Y tế đầu người và Sự Phân bổ: Chi phí y tế đầu người thấp: Các quốc gia có GDP bình quân đầu người thấp thường có chi phí y tế đầu người cũng thấp, ví dụ như chi phí y tế đầu người chỉ là 34 USD. Điều này phản ánh thực tế rằng ở các quốc gia có thu nhập thấp, khả năng chi tiêu cho y tế của mỗi người cũng bị hạn chế.Chi phí y tế đầu người cao: Ở các quốc gia có GDP bình quân đầu người cao, chi phí y tế đầu người có xu hướng cao hơn (ví dụ, 361 USD). Điều này cho thấy các quốc gia này có khả năng chi tiêu nhiều hơn cho y tế và cung cấp các dịch vụ y tế tốt hơn cho người dân. Đánh giá sự Đầu tư vào Y tế:

Quốc gia có GDP cao và chi phí y tế thấp: Nếu có quốc gia có GDP bình quân đầu người cao nhưng tỷ lệ chi phí y tế/GDP thấp, điều này có thể cho thấy một hệ thống y tế hiệu quả hoặc có thể các nguồn lực được phân bổ không cân đối.Quốc gia có GDP thấp và chi phí y tế cao: Các quốc gia này có thể đang cố gắng cải thiện chất lượng y tế thông qua việc đầu tư một tỷ lệ lớn GDP vào y tế, dù tổng thể GDP của họ còn thấp.

Phân Tán của GDP:Phân tán lớn ở nhóm có tỷ lệ chi phí y tế/GDP cao: Những quốc gia có tỷ lệ chi phí y tế/GDP cao có sự phân tán GDP rộng hơn, điều này có thể phản ánh sự đa dạng về kinh tế và mức sống trong các quốc gia có hệ thống y tế phát triển.

Sự Liên hệ với Chính sách Y tế và Kinh tế:Tác động của chính sách y tế: Biểu đồ gợi ý rằng những quốc gia có chính sách y tế mạnh mẽ thường có mức sống cao hơn. Chi tiêu nhiều hơn cho y tế có thể dẫn đến hệ thống y tế tốt hơn, góp phần cải thiện sức khỏe cộng đồng và từ đó hỗ trợ sự phát triển kinh tế. Chênh lệch kinh tế và y tế: Sự chênh lệch rõ rệt về chi phí y tế đầu người giữa các quốc gia có thể phản ánh sự khác biệt trong chính sách chi tiêu và sự phát triển kinh tế. Các quốc gia phát triển đầu tư nhiều hơn vào y tế, tạo ra một vòng lặp tích cực giữa sức khỏe và sự phát triển kinh tế.

3.2 Biểu đồ so sánh chi tiêu y tế giữa các quốc gia

library(ggplot2)
ggplot(d, aes(x = reorder(country, medexppc), y = medexppc, fill = country)) +
  geom_bar(stat = "identity") +
  labs(title = "Mức độ chi tiêu y tế đầu người giữa các quốc gia",
       x = "Quốc gia",
       y = "Chi phí y tế đầu người") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Ta có thể thấy rằng mức độ chi yếu y tế ở Greece là thấp nhất và cao nhất là United States

3.3 Biểu đồ thể hiện tác động của GDP bình quân đầu người đến chi tiêu y tế.

ggplot(d, aes(x = gdppc, y = medexppc)) +
  geom_point() +
  geom_smooth(method = "lm", col = "blue") +
  labs(title = "Biểu đồ phân tán: GDP bình quân đầu người và Chi phí y tế đầu người",
       x = "GDP bình quân đầu người",
       y = "Chi phí y tế đầu người")
## `geom_smooth()` using formula = 'y ~ x'

Biểu đồ cho thấy một mối quan hệ tích cực rõ ràng giữa GDP bình quân đầu người và chi phí y tế đầu người. Khi GDP bình quân đầu người tăng, chi phí y tế đầu người cũng tăng. Điều này gợi ý rằng các quốc gia có mức GDP cao hơn thường chi tiêu nhiều hơn cho y tế trên mỗi người dân.

4 Relative risk

4.1 Relative risk giữa GDP trên mỗi cá nhân (gdppc) ở các quốc gia có medsharegdp hoặc medexppc cao và thấp.

# Tính median của medsharegdp hoặc medexppc
median_medsharegdp <- median(Newhouse77$medsharegdp)
median_medexppc <- median(Newhouse77$medexppc)

# Tạo các nhóm dữ liệu dựa trên median của medsharegdp hoặc medexppc
group_high <- Newhouse77$gdppc[Newhouse77$medsharegdp > median_medsharegdp]
group_low <- Newhouse77$gdppc[Newhouse77$medsharegdp <= median_medsharegdp]

# Tính tỷ lệ giữa group_high và group_low
relative_risk1 <- mean(group_high) / mean(group_low)
relative_risk1
## [1] 1.351743

Nếu chúng ta so sánh GDP trên mỗi cá nhân ở hai nhóm dữ liệu khác nhau (ví dụ: nhóm có medsharegdp hoặc medexppc cao và thấp), tỷ lệ GDP trung bình của nhóm có medsharegdp hoặc medexppc cao đối với nhóm có medsharegdp hoặc medexppc thấp là khoảng 1.35 lần.

4.2 Relative risk giữa GDP trên mỗi cá nhân (gdppc) ở các quốc gia và năm khác nhau

# Tạo một mô hình hồi quy tuyến tính
lm_model <- lm(gdppc ~ country + year, data = Newhouse77)

# Dự đoán GDP trên mỗi cá nhân cho tất cả các quốc gia và năm
predicted_gdppc <- predict(lm_model, Newdata = Newhouse77)

# Tính tỷ lệ giữa GDP dự đoán và GDP thực tế
relative_risk1 <- mean(predicted_gdppc) / mean(Newhouse77$gdppc)
relative_risk1
## [1] 1

Kết quả 1 cho thấy rằng không có sự khác biệt giữa hai nhóm được so sánh. Trong trường hợp này, tỷ lệ GDP trung bình của nhóm thứ nhất so với nhóm thứ hai là 1, tức là chúng có cùng mức GDP trung bình. Điều này có thể chỉ ra rằng không có sự khác biệt đáng kể về GDP trên mỗi cá nhân giữa hai nhóm

5 Odd ratio

Giả định có một biến nhị phân ‘risk_factor’, có giá trị 0 hoặc 1

Trong dữ liệu, ta sẽ giả định ‘risk_factor’ là một biến ngẫu nhiên

Newhouse77$risk_factor <- sample(0:1, nrow(Newhouse77), replace = TRUE)
# Tạo bảng 2x2
table_gdppc <- table(Newhouse77$gdppc > median(Newhouse77$gdppc), Newhouse77$risk_factor)
print(table_gdppc)
##        
##         0 1
##   FALSE 3 4
##   TRUE  5 1

Số lượng trường hợp có GDP trên mỗi cá nhân không vượt qua giá trị trung vị của GDP là 4 khi risk_factor bằng 0 và 4 khi risk_factor bằng 1.

Số lượng trường hợp có GDP trên mỗi cá nhân vượt qua giá trị trung vị của GDP là 3 khi risk_factor bằng 0 và 2 khi risk_factor bằng 1.

# Tính odd ratio
odd_ratio <- (table_gdppc[2, 2] / table_gdppc[2, 1]) / (table_gdppc[1, 2] / table_gdppc[1, 1])
print(odd_ratio)
## [1] 0.15

Tỷ lệ cơ hội của việc có GDP trên mỗi cá nhân vượt qua giá trị trung vị của GDP trong nhóm có risk_factor bằng 1 so với nhóm có risk_factor bằng 0 là 0.08.

Kết quả này cho thấy rằng có sự giảm sút lớn trong tỷ lệ cơ hội của việc có GDP cao trên mỗi cá nhân khi risk_factor tăng lên, so với khi risk_factor bằng 0. Điều này có thể chỉ ra một mối liên hệ tiêu cực giữa risk_factor và GDP trên mỗi cá nhân.

6 Hồi quy

Phân tích tác động của GDP bình quân đầu người đến chi tiêu y tế.

model <- lm(medexppc ~ gdppc, data = d)
summary(model)
## 
## Call:
## lm(formula = medexppc ~ gdppc, data = d)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.850 -15.866  -5.825  22.133  38.424 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -60.722513  23.598989  -2.573   0.0259 *  
## gdppc         0.078831   0.006873  11.470 1.85e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 26.67 on 11 degrees of freedom
## Multiple R-squared:  0.9228, Adjusted R-squared:  0.9158 
## F-statistic: 131.6 on 1 and 11 DF,  p-value: 1.849e-07

Đọc kết quả P_value. Mô hình hồi quy trên giải thích rằng GDP bình quân đầu người có ảnh hưởng chi tiêu y tế

LS0tDQp0aXRsZTogIkLDoGkgdOG6rXAiDQphdXRob3I6ICJQaGFuIMSQ4bqvYyBLaMOhbmggVE/DoG4tIDIxMjEwMTI5NDYiDQpkYXRlOiAiMjAyNC0wNi0wMSINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQogICAgdG9jX2RlcHRoOiA1DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6DQogICAgICBjb2xsYXBzZWQ6IHllcw0KICAgICAgc21vb3RoX3Njcm9sbDogeWVzDQogICAgdGhlbWU6IHVuaXRlZA0KDQogIHdvcmRfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCi0tLQ0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KDQpgYGB7Y3NzLGVjaG8gPSBGQUxTRX0NCmgxIHsNCiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogIGZvbnQtc2l6ZTogMzJweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQNCiAgfQ0KDQpoMiB7DQogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBmb250LXNpemU6IDI4cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KIA0KfQ0KDQpoMyB7DQogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBmb250LXNpemU6IDI0cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCmg0IHtmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBmb250LXN0eWxlOiBpdGFsaWN9DQoNCmJvZHkgew0KICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICANCn0NCnA6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpIHsNCiAgdGV4dC1pbmRlbnQ6IDJlbTt9DQpwIHsNCiAgdGV4dC1hbGlnbjoganVzdGlmeTsNCiAgfQ0KLnRvY2lmeS1oZWFkZXIgew0KICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KYGBgDQoNCg0KYGBge3J9DQpsaWJyYXJ5KEVjZGF0KQ0KDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHN0ZXZlZGF0YSkNCmRhdGEocGFja2FnZSA9ICJzdGV2ZWRhdGEiKQ0KZGF0YSgiTmV3aG91c2U3NyIpDQpkIDwtIE5ld2hvdXNlNzcNCnN0cihkKQ0KYGBgDQoNCg0KYGBge3J9DQpzdW1tYXJ5KGQpDQpgYGANCg0KIyAuR2nhu5tpIHRoaeG7h3UgduG7gSBi4buZIGThu68gbGnhu4d1IHbDoCDEkeG6t3QgduG6pW4gxJHhu4ENCiMjIC5Nw7QgdOG6oyBi4buZIGThu68gbGnhu4d1DQoNCkLhu5kgZOG7ryBsaeG7h3UgTmV3aG91c2U3NyB04burIGfDs2kgc3RldmVkYXRhIGNo4bupYSB0aMO0bmcgdGluIHbhu4EgY8OhYyBxdeG7kWMgZ2lhLCBuxINtLCBHRFAgYsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pLCB04bu3IGzhu4cgY2hpIHRpw6p1IHkgdOG6vyB0csOqbiBHRFAsIHbDoCBjaGkgdGnDqnUgeSB04bq/IGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaS4gxJDDonkgbMOgIG3hu5l0IGLhu5kgZOG7ryBsaeG7h3UgcXVhbiB0cuG7jW5nIMSR4buDIG5naGnDqm4gY+G7qXUgduG7gSBraW5oIHThur8geSB04bq/IHbDoCBjw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIGNoaSB0acOqdSB5IHThur8g4bufIGPDoWMgcXXhu5FjIGdpYSBraMOhYyBuaGF1Lg0KDQpC4buZIGThu68gbGnhu4d1IG7DoHkgYmFvIGfhu5NtIGPDoWMgYmnhur9uIHPhu5Egc2F1Og0KDQotIGNvdW50cnk6IFTDqm4gcXXhu5FjIGdpYS4NCg0KLSB5ZWFyOiBOxINtIHRodSB0aOG6rXAgZOG7ryBsaeG7h3UuDQoNCi0gZ2RwcGM6IEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgKEdyb3NzIERvbWVzdGljIFByb2R1Y3QgcGVyIGNhcGl0YSkgLSDEkW8gbMaw4budbmcgdOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkgdMOtbmggdHLDqm4gbeG7l2kgbmfGsOG7nWkgZMOibi4NCg0KLSBtZWRzaGFyZWdkcDogVOG7tyBs4buHIGNoaSB0acOqdSB5IHThur8gdHLDqm4gR0RQIChNZWRpY2FsIGV4cGVuZGl0dXJlIHNoYXJlIG9mIEdEUCkgLSB04bu3IGzhu4cgcGjhuqduIHRyxINtIGPhu6dhIGNoaSB0acOqdSB5IHThur8gc28gduG7m2kgdOG7lW5nIEdEUC4NCg0KLSBtZWRleHBwYzogQ2hpIHRpw6p1IHkgdOG6vyBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgKE1lZGljYWwgZXhwZW5kaXR1cmUgcGVyIGNhcGl0YSkgLSBjaGkgcGjDrSB5IHThur8gdHJ1bmcgYsOsbmggdMOtbmggdHLDqm4gbeG7l2kgbmfGsOG7nWkgZMOibi4NCg0KIyMgR2nhu5tpIHRoaeG7h3UgY8OhYyBiaeG6v24gDQoNCi0gY291bnRyeSAoVMOqbiBxdeG7kWMgZ2lhKTogQmnhur9uIG7DoHkgYmnhu4N1IHRo4buLIHF14buRYyBnaWEgbcOgIGThu68gbGnhu4d1IMSRxrDhu6NjIHRodSB0aOG6rXAuIE7DsyBsw6AgbeG7mXQgYmnhur9uIMSR4buLbmggZGFuaCAoY2F0ZWdvcmljYWwgdmFyaWFibGUpLg0KDQotIHllYXIgKE7Eg20pOiBOxINtIHRodSB0aOG6rXAgZOG7ryBsaeG7h3UuIFRyb25nIGLhu5kgZOG7ryBsaeG7h3UgbsOgeSwgdOG6pXQgY+G6oyBjw6FjIGdpw6EgdHLhu4sgxJHhu4F1IGzDoCBuxINtIDE5NzcuDQoNCi0gZ2RwcGMgKEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkpOiBU4buVbmcgc+G6o24gcGjhuqltIHF14buRYyBu4buZaSB0w61uaCB0csOqbiBt4buXaSBuZ8aw4budaSBkw6JuLCDEkW8gbMaw4budbmcgbeG7qWMgc+G7kW5nIHbDoCBuxINuZyBzdeG6pXQga2luaCB04bq/IGPhu6dhIG3hu5dpIHF14buRYyBnaWEuDQoNCi0gbWVkc2hhcmVnZHAgKFThu7cgbOG7hyBjaGkgdGnDqnUgeSB04bq/IHRyw6puIEdEUCk6IFThu7cgbOG7hyBwaOG6p24gdHLEg20gY+G7p2EgY2hpIHRpw6p1IHkgdOG6vyBzbyB24bubaSB04buVbmcgR0RQIGPhu6dhIHF14buRYyBnaWEsIMSRbyBsxrDhu51uZyBt4bupYyDEkeG7mSDEkeG6p3UgdMawIHbDoG8geSB04bq/IHNvIHbhu5tpIHF1eSBtw7Qga2luaCB04bq/Lg0KDQotIG1lZGV4cHBjIChDaGkgdGnDqnUgeSB04bq/IGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSk6IENoaSBwaMOtIHkgdOG6vyB0cnVuZyBiw6xuaCB0w61uaCB0csOqbiBt4buXaSBuZ8aw4budaSBkw6JuLCDEkW8gbMaw4budbmcgbeG7qWMgxJHhu5kgY2hpIHRpw6p1IHkgdOG6vyBj4bunYSBjw6EgbmjDom4gdHJvbmcgbeG7l2kgcXXhu5FjIGdpYS4NCg0KIyMgxJDhurd0IHbhuqVuIMSR4buBDQoNCkLhu5kgZOG7ryBsaeG7h3UgTmV3aG91c2U3NyBjdW5nIGPhuqVwIG3hu5l0IGPDoWkgbmjDrG4gdOG7lW5nIHF1YW4gduG7gSBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGPDoWMgeeG6v3UgdOG7kSBraW5oIHThur8gdsOgIGNoaSB0acOqdSB5IHThur8g4bufIGPDoWMgcXXhu5FjIGdpYSBraMOhYyBuaGF1LiBOw7MgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDOg0KDQpQaMOibiB0w61jaCB0w6FjIMSR4buZbmcgY+G7p2EgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSDEkeG6v24gY2hpIHRpw6p1IHkgdOG6vy4NCg0KU28gc8OhbmggbeG7qWMgxJHhu5kgY2hpIHRpw6p1IHkgdOG6vyBnaeG7r2EgY8OhYyBxdeG7kWMgZ2lhLg0KDQpOZ2hpw6puIGPhu6l1IG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgdOG7tyBs4buHIGNoaSB0acOqdSB5IHThur8gdHLDqm4gR0RQIHbDoCBjaGkgdGnDqnUgeSB04bq/IGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaS4NCg0KVmnhu4djIHBow6JuIHTDrWNoIG7DoHkgY8OzIHRo4buDIGN1bmcgY+G6pXAgdGjDtG5nIHRpbiBxdWFuIHRy4buNbmcgduG7gSBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGNoaSBwaMOtIHkgdOG6vyB2w6Agdmnhu4djIGPDsyBi4bqjbyBoaeG7g20geSB04bq/IHRyb25nIGPDoWMgYmFuZyBIb2EgS+G7syB2w6BvIG7Eg20gMTk3NywgZ2nDunAgxJHGsGEgcmEgxJHhu4tuaCBoxrDhu5tuZyBjaG8gY8OhYyBxdXnhur90IMSR4buLbmggY2jDrW5oIHPDoWNoIHkgdOG6vyB0cm9uZyB0xrDGoW5nIGxhaS4NCg0KIyBM4bqtcCBi4bqjbmcgdOG6p24gc+G7kQ0KDQojIyBC4bqjbmcgdOG6p24gc+G7kSBjaG8gc+G7kSBsxrDhu6NuZyBjw6FjIHF14buRYyBnaWEgdsOgIGPDoWMgbsSDbSBraMOhYyBuaGF1IA0KDQpgYGB7cn0NCnRhYmxlKGQkY291bnRyeSkNCnRhYmxlKGQkeWVhcikNCmBgYA0KQ8OzIHThu5VuZyBj4buZbmcgMTEgcXXhu5FjIGdpYSB0cm9uZyB04bqtcCBk4buvIGxp4buHdS4NCg0KTeG7l2kgcXXhu5FjIGdpYSBjaOG7iSB4deG6pXQgaGnhu4duIG3hu5l0IGzhuqduLCBjaG8gdGjhuqV5IG3hu5dpIHF14buRYyBnaWEgxJHGsOG7o2MgxJHhuqFpIGRp4buHbiBi4bqxbmcgbeG7mXQgcXVhbiBzw6F0IGR1eSBuaOG6pXQgdHJvbmcgZOG7ryBsaeG7h3UuDQoNClThuq1wIGThu68gbGnhu4d1IG7DoHkgY2jhu6lhIGThu68gbGnhu4d1IHThu6sgbsSDbSAxOTY4IMSR4bq/biBuxINtIDE5NzIuDQoNCk7Eg20gMTk3MSBjw7MgMiBxdWFuIHPDoXQsIGPDsm4gbsSDbSAxOTcyIGPDsyA5IHF1YW4gc8OhdCwgY2hvIHRo4bqleSBjw7MgbeG7mXQgc+G7kSBsxrDhu6NuZyBs4bubbiBxdWFuIHPDoXQgxJHGsOG7o2MgdGjDqm0gdsOgbyB2w6BvIG5o4buvbmcgbsSDbSBzYXUgxJHDsy4NCg0KIyMgQuG6o25nIHThuqduIHPhu5EgY2hvIGJp4bq/biBz4buRIChnZHBwYywgbWVkc2hhcmVnZHAsIHbDoCBtZWRleHBwYyk6DQoNCmBgYHtyfQ0Kc3VtbWFyeShkJGdkcHBjKQ0Kc3VtbWFyeShkJG1lZHNoYXJlZ2RwKQ0Kc3VtbWFyeShkJG1lZGV4cHBjKQ0KDQojIFBow6JuIGxv4bqhaSBnacOhIHRy4buLIGPhu6dhIGJp4bq/biBnZHBwYyB2w6BvIGPDoWMgbmjDs20gdsOgIGzhuq1wIGLhuqNuZyB04bqnbiBz4buRIGNobyB04burbmcgbmjDs20NCmdkcHBjX2dyb3VwcyA8LSBjdXQoZCRnZHBwYywgYnJlYWtzID0gNSkNCnRhYmxlKGdkcHBjX2dyb3VwcykNCg0KIyBQaMOibiBsb+G6oWkgZ2nDoSB0cuG7iyBj4bunYSBiaeG6v24gbWVkc2hhcmVnZHAgdsOgbyBjw6FjIG5ow7NtIHbDoCBs4bqtcCBi4bqjbmcgdOG6p24gc+G7kSBjaG8gdOG7q25nIG5ow7NtDQptZWRzaGFyZWdkcF9ncm91cHMgPC0gY3V0KGQkbWVkc2hhcmVnZHAsIGJyZWFrcyA9IDUpDQp0YWJsZShtZWRzaGFyZWdkcF9ncm91cHMpDQoNCiMgUGjDom4gbG/huqFpIGdpw6EgdHLhu4sgY+G7p2EgYmnhur9uIG1lZGV4cHBjIHbDoG8gY8OhYyBuaMOzbSB2w6AgbOG6rXAgYuG6o25nIHThuqduIHPhu5EgY2hvIHThu6tuZyBuaMOzbQ0KbWVkZXhwcGNfZ3JvdXBzIDwtIGN1dChkJG1lZGV4cHBjLCBicmVha3MgPSA1KQ0KdGFibGUobWVkZXhwcGNfZ3JvdXBzKQ0KYGBgDQpHRFAgYsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pOkdpw6EgdHLhu4sgdGjhuqVwIG5o4bqldCBsw6AgMTM3NCB2w6AgY2FvIG5o4bqldCBsw6AgNTU1MSwgxJHDonkgbMOgIG3hu5l0IHBo4bqhbSB2aSBy4buZbmcuIFBow6JuIHbhu4sgdHJ1bmcgduG7iyAobWVkaWFuKSBsw6AgMjg2OSwgY2hvIHRo4bqleSBt4bupYyDEkeG7mSB0cnVuZyBiw6xuaCBj4bunYSBHRFAgYsOsbmggcXXDom4uIMSQ4buRaSB24bubaSBuaGnhu4F1IHF14buRYyBnaWEsIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgY8OzIHRo4buDIHBo4bqjbiDDoW5oIG3hu6ljIMSR4buZIHBow6F0IHRyaeG7g24ga2luaCB04bq/IGPhu6dhIMSR4bqldCBuxrDhu5tjLg0KDQpU4bu3IGzhu4cgY2hpIHBow60geSB04bq/IHNvIHbhu5tpIEdEUDogVOG7tyBs4buHIG7DoHkgYmnhu4N1IHRo4buLIG3hu6ljIMSR4buZIG3DoCBt4buZdCBxdeG7kWMgZ2lhIGNoaSB0acOqdSBjaG8geSB04bq/IHNvIHbhu5tpIHThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpIGPhu6dhIG7Dsy4gQ8OhYyBnacOhIHRy4buLIHRyb25nIHBo4bqhbSB2aSB04burIDIuNTEwIMSR4bq/biA3LjM4MCwgY2hvIHRo4bqleSBjw7Mgc+G7sSBiaeG6v24gxJHhu5luZyBs4bubbiBnaeG7r2EgY8OhYyBxdeG7kWMgZ2lhLiBDw6FjIHF14buRYyBnaWEgY8OzIHThu7cgbOG7hyBjYW8gaMahbiBjw7MgdGjhu4MgxJFhbmcgxJHhuqd1IHTGsCBuaGnhu4F1IHbDoG8gaOG7hyB0aOG7kW5nIHkgdOG6vyBj4bunYSBo4buNLCB0cm9uZyBraGkgY8OhYyBxdeG7kWMgZ2lhIGPDsyB04bu3IGzhu4cgdGjhuqVwIGjGoW4gY8OzIHRo4buDIGfhurdwIGtow7Mga2jEg24gdHJvbmcgdmnhu4djIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UgeSB04bq/IGNobyBkw6JuIHPhu5EuDQoNCkNoaSBwaMOtIHkgdOG6vyDEkeG6p3UgbmfGsOG7nWk6IEdpw6EgdHLhu4sgbsOgeSBjaG8gYmnhur90IG3hu6ljIMSR4buZIGNoaSB0acOqdSB0cnVuZyBiw6xuaCBj4bunYSBt4buXaSBjw6EgbmjDom4gY2hvIGThu4tjaCB24bulIHkgdOG6vy4gUGjDom4gduG7iyB0cnVuZyB24buLIChtZWRpYW4pIGzDoCAxODIsIG5oxrBuZyBjw7Mgc+G7sSBiaeG6v24gxJHhu5luZyBs4bubbiBnaeG7r2EgY8OhYyBxdeG7kWMgZ2lhLCB04burIDM0IMSR4bq/biAzNjEuIENoaSBwaMOtIHkgdOG6vyDEkeG6p3UgbmfGsOG7nWkgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biB2aeG7h2MgdHJ1eSBj4bqtcCB2w6AgY2jhuqV0IGzGsOG7o25nIGPhu6dhIGThu4tjaCB24bulIHkgdOG6vywgdsOgIGzDoCBt4buZdCBjaOG7iSBz4buRIHF1YW4gdHLhu41uZyDEkeG7gyDEkcOhbmggZ2nDoSBz4bupYyBraOG7j2UgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYS4NCg0KTmjDrG4gY2h1bmcgdGEgY8OzIHRo4buDIHRo4bqleSBy4bqxbmcgY8OzIHPhu7EgYmnhur9uIMSR4buZbmcgbOG7m24gZ2nhu69hIGPDoWMgcXXhu5FjIGdpYSB0cm9uZyB2aeG7h2MgxJHhuqd1IHTGsCB2w6AgY2hpIHRpw6p1IGNobyB5IHThur8sIHbDoCBjw6FjIGNo4buJIHPhu5Ega2luaCB04bq/IG5oxrAgR0RQIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24ga2jhuqMgbsSDbmcgdsOgIGPDoWNoIHRo4bupYyBtw6AgbeG7l2kgcXXhu5FjIGdpYSB0aeG6v3AgY+G6rW4gdsOgIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UgeSB04bq/IGNobyBkw6JuIHPhu5EuDQoNCiMjIELhuqNuZyB04bqnbiBz4buRIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgY+G7p2EgbeG7l2kgcXXhu5FjIGdpYQ0KDQpgYGB7cn0NCnRhYmxlKGQkY291bnRyeSwgZCRnZHBwYykNCmBgYA0KIA0KIC0gQ2jDum5nIHRhIGPDsyB0aOG7gyB0aOG6pXkgcuG6sW5nIGLhuqNuZyB04bqnbiBz4buRIHRyw6puIHRo4buDIGhp4buHbiBHRFAgY+G7p2EgdOG7q25nIHF14buRYyBnaWEuIFbDrSBk4bulOiANCg0KKyBDYW5hZGEgY8OzIG3hu5l0IHF1YW4gc8OhdCB24bubaSBnacOhIHRy4buLIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgbMOgIDM4ODkNCg0KKyBHRlIgY8OzIG3hu5l0IHF1YW4gc8OhdCB24bubaSBnacOhIHRy4buLIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgbMOgIDIyNDYuDQoNCiMjIELhuqNuZyB04bqnbiBz4buRIHThu7cgbOG7hyBjaGkgcGjDrSB5IHThur8gc28gduG7m2kgR0RQIHbDoCBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pDQoNCmBgYHtyfQ0KdGFibGUoZCRtZWRzaGFyZWdkcCkNCmBgYA0KDQpgYGB7cn0NCnRhYmxlKGQkbWVkZXhwcGMpDQpgYGANCk5ow6xuIHbDoG8gYuG6o25nIHThuqduIHPhu5EgdGEgY8OzIHRo4buDIHRo4bqleSB04bu3IGzhu4cgY2hpIHBow60geSB04bq/IHNvIHbhu5tpIEdEUCB2w6AgY2hpIHBow60geSB04bq/IMSR4bqndSBuZ8aw4budaSDEkeG7gXUgY8OzIDEzIGdpw6EgdHLhu4sNCg0KIyBCaeG7g3UgxJHhu5MNCg0KIyMgQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIHThu7cgbOG7hyBjaGkgdGnDqnUgeSB04bq/IHRyw6puIEdEUCB2w6AgY2hpIHRpw6p1IHkgdOG6vyBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkuDQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KGQsIGFlcyh4ID0gYXMuZmFjdG9yKG1lZHNoYXJlZ2RwKSwgeSA9IGdkcHBjLCBmaWxsID0gYXMuZmFjdG9yKG1lZGV4cHBjKSkpICsNCiAgZ2VvbV9ib3hwbG90KCkgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBib3hwbG90IGvhur90IGjhu6NwIiwNCiAgICAgICB4ID0gIlThu7cgbOG7hyBjaGkgcGjDrSB5IHThur8vR0RQIiwNCiAgICAgICB5ID0gIkdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkiLA0KICAgICAgIGZpbGwgPSAiQ2hpIHBow60geSB04bq/IMSR4bqndSBuZ8aw4budaSIpDQpgYGANCg0KDQpgYGB7cn0NCmdncGxvdChkLCBhZXMoeCA9IGdkcHBjLCB5ID0gbWVkZXhwcGMsIGNvbG9yID0gbWVkc2hhcmVnZHApKSArDQogIGdlb21fcG9pbnQoKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHNjYXR0ZXIgcGxvdCBr4bq/dCBo4bujcCIsDQogICAgICAgeCA9ICJHRFAgYsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pIiwNCiAgICAgICB5ID0gIkNoaSBwaMOtIHkgdOG6vyDEkeG6p3UgbmfGsOG7nWkiLA0KICAgICAgIGNvbG9yID0gIlThu7cgbOG7hyBjaGkgcGjDrSB5IHThur8vR0RQIikNCg0KYGBgDQoNClF1YW4gaOG7hyBnaeG7r2EgQ2hpIHBow60gWSB04bq/IHbDoCBHRFAgQsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pOlThu7cgbOG7hyBjaGkgcGjDrSB5IHThur8vR0RQIHRo4bqlcCAoa2hv4bqjbmcgMi41MSAtIDUuMzElKTogQ8OhYyBxdeG7kWMgZ2lhIHRyb25nIG5ow7NtIG7DoHkgY8OzIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgdGjhuqVwIGjGoW4sIGRhbyDEkeG7mW5nIHThu6sga2hv4bqjbmcgMjAwMCDEkeG6v24gNDAwMCBVU0QuIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IHLhurFuZyBjw6FjIHF14buRYyBnaWEgY8OzIG3hu6ljIEdEUCB0aOG6pXAgaMahbiB0aMaw4budbmcgY2hpIMOtdCBwaOG6p24gdHLEg20gR0RQIGPhu6dhIG3DrG5oIGNobyB5IHThur8uIFThu7cgbOG7hyBjaGkgcGjDrSB5IHThur8vR0RQIGNhbyBoxqFuIChraG/huqNuZyA2LjA3IC0gNy4zOCUpOiBDw6FjIHF14buRYyBnaWEgdHJvbmcgbmjDs20gbsOgeSBjw7MgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSBjYW8gaMahbiwgdOG7qyBraG/huqNuZyA0MDAwIMSR4bq/biBoxqFuIDUwMDAgVVNELiBDw6FjIG7GsOG7m2MgbsOgeSBjw7MgeHUgaMaw4bubbmcgY2hpIG3hu5l0IHThu7cgbOG7hyBs4bubbiBoxqFuIEdEUCBj4bunYSBtw6xuaCBjaG8geSB04bq/LCBjaG8gdGjhuqV5IHLhurFuZyBjw6FjIHF14buRYyBnaWEgcGjDoXQgdHJp4buDbiBob+G6t2MgY8OzIHRodSBuaOG6rXAgY2FvIGjGoW4gxJHhuqd1IHTGsCBuaGnhu4F1IGjGoW4gdsOgbyBo4buHIHRo4buRbmcgeSB04bq/IGPhu6dhIGjhu40uDQoNCkNoaSBwaMOtIFkgdOG6vyDEkeG6p3UgbmfGsOG7nWkgdsOgIFPhu7EgUGjDom4gYuG7lTogQ2hpIHBow60geSB04bq/IMSR4bqndSBuZ8aw4budaSB0aOG6pXA6IEPDoWMgcXXhu5FjIGdpYSBjw7MgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSB0aOG6pXAgdGjGsOG7nW5nIGPDsyBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pIGPFqW5nIHRo4bqlcCwgdsOtIGThu6UgbmjGsCBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pIGNo4buJIGzDoCAzNCBVU0QuIMSQaeG7gXUgbsOgeSBwaOG6o24gw6FuaCB0aOG7sWMgdOG6vyBy4bqxbmcg4bufIGPDoWMgcXXhu5FjIGdpYSBjw7MgdGh1IG5o4bqtcCB0aOG6pXAsIGto4bqjIG7Eg25nIGNoaSB0acOqdSBjaG8geSB04bq/IGPhu6dhIG3hu5dpIG5nxrDhu51pIGPFqW5nIGLhu4sgaOG6oW4gY2jhur8uQ2hpIHBow60geSB04bq/IMSR4bqndSBuZ8aw4budaSBjYW86IOG7niBjw6FjIHF14buRYyBnaWEgY8OzIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgY2FvLCBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pIGPDsyB4dSBoxrDhu5tuZyBjYW8gaMahbiAodsOtIGThu6UsIDM2MSBVU0QpLiDEkGnhu4F1IG7DoHkgY2hvIHRo4bqleSBjw6FjIHF14buRYyBnaWEgbsOgeSBjw7Mga2jhuqMgbsSDbmcgY2hpIHRpw6p1IG5oaeG7gXUgaMahbiBjaG8geSB04bq/IHbDoCBjdW5nIGPhuqVwIGPDoWMgZOG7i2NoIHbhu6UgeSB04bq/IHThu5F0IGjGoW4gY2hvIG5nxrDhu51pIGTDom4uDQrEkMOhbmggZ2nDoSBz4buxIMSQ4bqndSB0xrAgdsOgbyBZIHThur86DQoNClF14buRYyBnaWEgY8OzIEdEUCBjYW8gdsOgIGNoaSBwaMOtIHkgdOG6vyB0aOG6pXA6IE7hur91IGPDsyBxdeG7kWMgZ2lhIGPDsyBHRFAgYsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pIGNhbyBuaMawbmcgdOG7tyBs4buHIGNoaSBwaMOtIHkgdOG6vy9HRFAgdGjhuqVwLCDEkWnhu4F1IG7DoHkgY8OzIHRo4buDIGNobyB0aOG6pXkgbeG7mXQgaOG7hyB0aOG7kW5nIHkgdOG6vyBoaeG7h3UgcXXhuqMgaG/hurdjIGPDsyB0aOG7gyBjw6FjIG5ndeG7k24gbOG7sWMgxJHGsOG7o2MgcGjDom4gYuG7lSBraMO0bmcgY8OibiDEkeG7kWkuUXXhu5FjIGdpYSBjw7MgR0RQIHRo4bqlcCB2w6AgY2hpIHBow60geSB04bq/IGNhbzogQ8OhYyBxdeG7kWMgZ2lhIG7DoHkgY8OzIHRo4buDIMSRYW5nIGPhu5EgZ+G6r25nIGPhuqNpIHRoaeG7h24gY2jhuqV0IGzGsOG7o25nIHkgdOG6vyB0aMO0bmcgcXVhIHZp4buHYyDEkeG6p3UgdMawIG3hu5l0IHThu7cgbOG7hyBs4bubbiBHRFAgdsOgbyB5IHThur8sIGTDuSB04buVbmcgdGjhu4MgR0RQIGPhu6dhIGjhu40gY8OybiB0aOG6pXAuDQoNClBow6JuIFTDoW4gY+G7p2EgR0RQOlBow6JuIHTDoW4gbOG7m24g4bufIG5ow7NtIGPDsyB04bu3IGzhu4cgY2hpIHBow60geSB04bq/L0dEUCBjYW86IE5o4buvbmcgcXXhu5FjIGdpYSBjw7MgdOG7tyBs4buHIGNoaSBwaMOtIHkgdOG6vy9HRFAgY2FvIGPDsyBz4buxIHBow6JuIHTDoW4gR0RQIHLhu5luZyBoxqFuLCDEkWnhu4F1IG7DoHkgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHPhu7EgxJFhIGThuqFuZyB24buBIGtpbmggdOG6vyB2w6AgbeG7qWMgc+G7kW5nIHRyb25nIGPDoWMgcXXhu5FjIGdpYSBjw7MgaOG7hyB0aOG7kW5nIHkgdOG6vyBwaMOhdCB0cmnhu4NuLg0KDQpT4buxIExpw6puIGjhu4cgduG7m2kgQ2jDrW5oIHPDoWNoIFkgdOG6vyB2w6AgS2luaCB04bq/OlTDoWMgxJHhu5luZyBj4bunYSBjaMOtbmggc8OhY2ggeSB04bq/OiBCaeG7g3UgxJHhu5MgZ+G7o2kgw70gcuG6sW5nIG5o4buvbmcgcXXhu5FjIGdpYSBjw7MgY2jDrW5oIHPDoWNoIHkgdOG6vyBt4bqhbmggbeG6vSB0aMaw4budbmcgY8OzIG3hu6ljIHPhu5FuZyBjYW8gaMahbi4gQ2hpIHRpw6p1IG5oaeG7gXUgaMahbiBjaG8geSB04bq/IGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gaOG7hyB0aOG7kW5nIHkgdOG6vyB04buRdCBoxqFuLCBnw7NwIHBo4bqnbiBj4bqjaSB0aGnhu4duIHPhu6ljIGto4buPZSBj4buZbmcgxJHhu5NuZyB2w6AgdOG7qyDEkcOzIGjhu5cgdHLhu6Mgc+G7sSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4NCkNow6puaCBs4buHY2gga2luaCB04bq/IHbDoCB5IHThur86IFPhu7EgY2jDqm5oIGzhu4djaCByw7UgcuG7h3QgduG7gSBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pIGdp4buvYSBjw6FjIHF14buRYyBnaWEgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHPhu7Ega2jDoWMgYmnhu4d0IHRyb25nIGNow61uaCBzw6FjaCBjaGkgdGnDqnUgdsOgIHPhu7EgcGjDoXQgdHJp4buDbiBraW5oIHThur8uIEPDoWMgcXXhu5FjIGdpYSBwaMOhdCB0cmnhu4NuIMSR4bqndSB0xrAgbmhp4buBdSBoxqFuIHbDoG8geSB04bq/LCB04bqhbyByYSBt4buZdCB2w7JuZyBs4bq3cCB0w61jaCBj4buxYyBnaeG7r2Egc+G7qWMga2jhu49lIHbDoCBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/Lg0KDQojIyBCaeG7g3UgxJHhu5Mgc28gc8OhbmggY2hpIHRpw6p1IHkgdOG6vyBnaeG7r2EgY8OhYyBxdeG7kWMgZ2lhDQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KGQsIGFlcyh4ID0gcmVvcmRlcihjb3VudHJ5LCBtZWRleHBwYyksIHkgPSBtZWRleHBwYywgZmlsbCA9IGNvdW50cnkpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiTeG7qWMgxJHhu5kgY2hpIHRpw6p1IHkgdOG6vyDEkeG6p3UgbmfGsOG7nWkgZ2nhu69hIGPDoWMgcXXhu5FjIGdpYSIsDQogICAgICAgeCA9ICJRdeG7kWMgZ2lhIiwNCiAgICAgICB5ID0gIkNoaSBwaMOtIHkgdOG6vyDEkeG6p3UgbmfGsOG7nWkiKSArDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpDQpgYGANCg0KVGEgY8OzIHRo4buDIHRo4bqleSBy4bqxbmcgbeG7qWMgxJHhu5kgY2hpIHnhur91IHkgdOG6vyDhu58gR3JlZWNlIGzDoCB0aOG6pXAgbmjhuqV0IHbDoCBjYW8gbmjhuqV0IGzDoCBVbml0ZWQgU3RhdGVzDQoNCiMjIEJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gdMOhYyDEkeG7mW5nIGPhu6dhIEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgxJHhur9uIGNoaSB0acOqdSB5IHThur8uDQoNCmBgYHtyfQ0KZ2dwbG90KGQsIGFlcyh4ID0gZ2RwcGMsIHkgPSBtZWRleHBwYykpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgY29sID0gImJsdWUiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHBow6JuIHTDoW46IEdEUCBiw6xuaCBxdcOibiDEkeG6p3UgbmfGsOG7nWkgdsOgIENoaSBwaMOtIHkgdOG6vyDEkeG6p3UgbmfGsOG7nWkiLA0KICAgICAgIHggPSAiR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSIsDQogICAgICAgeSA9ICJDaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pIikNCmBgYA0KDQpCaeG7g3UgxJHhu5MgY2hvIHRo4bqleSBt4buZdCBt4buRaSBxdWFuIGjhu4cgdMOtY2ggY+G7sWMgcsO1IHLDoG5nIGdp4buvYSBHRFAgYsOsbmggcXXDom4gxJHhuqd1IG5nxrDhu51pIHbDoCBjaGkgcGjDrSB5IHThur8gxJHhuqd1IG5nxrDhu51pLiBLaGkgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSB0xINuZywgY2hpIHBow60geSB04bq/IMSR4bqndSBuZ8aw4budaSBjxaluZyB0xINuZy4gxJBp4buBdSBuw6B5IGfhu6NpIMO9IHLhurFuZyBjw6FjIHF14buRYyBnaWEgY8OzIG3hu6ljIEdEUCBjYW8gaMahbiB0aMaw4budbmcgY2hpIHRpw6p1IG5oaeG7gXUgaMahbiBjaG8geSB04bq/IHRyw6puIG3hu5dpIG5nxrDhu51pIGTDom4uDQoNCiMgUmVsYXRpdmUgcmlzaw0KDQojIyBSZWxhdGl2ZSByaXNrIGdp4buvYSBHRFAgdHLDqm4gbeG7l2kgY8OhIG5ow6JuIChnZHBwYykg4bufIGPDoWMgcXXhu5FjIGdpYSBjw7MgbWVkc2hhcmVnZHAgaG/hurdjIG1lZGV4cHBjIGNhbyB2w6AgdGjhuqVwLg0KDQpgYGB7cn0NCiMgVMOtbmggbWVkaWFuIGPhu6dhIG1lZHNoYXJlZ2RwIGhv4bq3YyBtZWRleHBwYw0KbWVkaWFuX21lZHNoYXJlZ2RwIDwtIG1lZGlhbihOZXdob3VzZTc3JG1lZHNoYXJlZ2RwKQ0KbWVkaWFuX21lZGV4cHBjIDwtIG1lZGlhbihOZXdob3VzZTc3JG1lZGV4cHBjKQ0KDQojIFThuqFvIGPDoWMgbmjDs20gZOG7ryBsaeG7h3UgZOG7sWEgdHLDqm4gbWVkaWFuIGPhu6dhIG1lZHNoYXJlZ2RwIGhv4bq3YyBtZWRleHBwYw0KZ3JvdXBfaGlnaCA8LSBOZXdob3VzZTc3JGdkcHBjW05ld2hvdXNlNzckbWVkc2hhcmVnZHAgPiBtZWRpYW5fbWVkc2hhcmVnZHBdDQpncm91cF9sb3cgPC0gTmV3aG91c2U3NyRnZHBwY1tOZXdob3VzZTc3JG1lZHNoYXJlZ2RwIDw9IG1lZGlhbl9tZWRzaGFyZWdkcF0NCg0KIyBUw61uaCB04bu3IGzhu4cgZ2nhu69hIGdyb3VwX2hpZ2ggdsOgIGdyb3VwX2xvdw0KcmVsYXRpdmVfcmlzazEgPC0gbWVhbihncm91cF9oaWdoKSAvIG1lYW4oZ3JvdXBfbG93KQ0KcmVsYXRpdmVfcmlzazENCmBgYA0KDQpO4bq/dSBjaMO6bmcgdGEgc28gc8OhbmggR0RQIHRyw6puIG3hu5dpIGPDoSBuaMOibiDhu58gaGFpIG5ow7NtIGThu68gbGnhu4d1IGtow6FjIG5oYXUgKHbDrSBk4bulOiBuaMOzbSBjw7MgbWVkc2hhcmVnZHAgaG/hurdjIG1lZGV4cHBjIGNhbyB2w6AgdGjhuqVwKSwgdOG7tyBs4buHIEdEUCB0cnVuZyBiw6xuaCBj4bunYSBuaMOzbSBjw7MgbWVkc2hhcmVnZHAgaG/hurdjIG1lZGV4cHBjIGNhbyDEkeG7kWkgduG7m2kgbmjDs20gY8OzIG1lZHNoYXJlZ2RwIGhv4bq3YyBtZWRleHBwYyB0aOG6pXAgbMOgIGtob+G6o25nIDEuMzUgbOG6p24uDQoNCiMjIFJlbGF0aXZlIHJpc2sgZ2nhu69hIEdEUCB0csOqbiBt4buXaSBjw6EgbmjDom4gKGdkcHBjKSDhu58gY8OhYyBxdeG7kWMgZ2lhIHbDoCBuxINtIGtow6FjIG5oYXUNCg0KDQpgYGB7cn0NCiMgVOG6oW8gbeG7mXQgbcO0IGjDrG5oIGjhu5NpIHF1eSB0dXnhur9uIHTDrW5oDQpsbV9tb2RlbCA8LSBsbShnZHBwYyB+IGNvdW50cnkgKyB5ZWFyLCBkYXRhID0gTmV3aG91c2U3NykNCg0KIyBE4buxIMSRb8OhbiBHRFAgdHLDqm4gbeG7l2kgY8OhIG5ow6JuIGNobyB04bqldCBj4bqjIGPDoWMgcXXhu5FjIGdpYSB2w6AgbsSDbQ0KcHJlZGljdGVkX2dkcHBjIDwtIHByZWRpY3QobG1fbW9kZWwsIE5ld2RhdGEgPSBOZXdob3VzZTc3KQ0KDQojIFTDrW5oIHThu7cgbOG7hyBnaeG7r2EgR0RQIGThu7EgxJFvw6FuIHbDoCBHRFAgdGjhu7FjIHThur8NCnJlbGF0aXZlX3Jpc2sxIDwtIG1lYW4ocHJlZGljdGVkX2dkcHBjKSAvIG1lYW4oTmV3aG91c2U3NyRnZHBwYykNCnJlbGF0aXZlX3Jpc2sxDQpgYGANCg0KS+G6v3QgcXXhuqMgMSBjaG8gdGjhuqV5IHLhurFuZyBraMO0bmcgY8OzIHPhu7Ega2jDoWMgYmnhu4d0IGdp4buvYSBoYWkgbmjDs20gxJHGsOG7o2Mgc28gc8OhbmguIFRyb25nIHRyxrDhu51uZyBo4bujcCBuw6B5LCB04bu3IGzhu4cgR0RQIHRydW5nIGLDrG5oIGPhu6dhIG5ow7NtIHRo4bupIG5o4bqldCBzbyB24bubaSBuaMOzbSB0aOG7qSBoYWkgbMOgIDEsIHThu6ljIGzDoCBjaMO6bmcgY8OzIGPDuW5nIG3hu6ljIEdEUCB0cnVuZyBiw6xuaC4gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBjaOG7iSByYSBy4bqxbmcga2jDtG5nIGPDsyBz4buxIGtow6FjIGJp4buHdCDEkcOhbmcga+G7gyB24buBIEdEUCB0csOqbiBt4buXaSBjw6EgbmjDom4gZ2nhu69hIGhhaSBuaMOzbQ0KDQojIE9kZCByYXRpbw0KDQpHaeG6oyDEkeG7i25oIGPDsyBt4buZdCBiaeG6v24gbmjhu4sgcGjDom4gJ3Jpc2tfZmFjdG9yJywgY8OzIGdpw6EgdHLhu4sgMCBob+G6t2MgMQ0KDQpUcm9uZyBk4buvIGxp4buHdSwgdGEgc+G6vSBnaeG6oyDEkeG7i25oICdyaXNrX2ZhY3RvcicgbMOgIG3hu5l0IGJp4bq/biBuZ+G6q3Ugbmhpw6puDQoNCmBgYHtyfQ0KTmV3aG91c2U3NyRyaXNrX2ZhY3RvciA8LSBzYW1wbGUoMDoxLCBucm93KE5ld2hvdXNlNzcpLCByZXBsYWNlID0gVFJVRSkNCiMgVOG6oW8gYuG6o25nIDJ4Mg0KdGFibGVfZ2RwcGMgPC0gdGFibGUoTmV3aG91c2U3NyRnZHBwYyA+IG1lZGlhbihOZXdob3VzZTc3JGdkcHBjKSwgTmV3aG91c2U3NyRyaXNrX2ZhY3RvcikNCnByaW50KHRhYmxlX2dkcHBjKQ0KYGBgDQpT4buRIGzGsOG7o25nIHRyxrDhu51uZyBo4bujcCBjw7MgR0RQIHRyw6puIG3hu5dpIGPDoSBuaMOibiBraMO0bmcgdsaw4bujdCBxdWEgZ2nDoSB0cuG7iyB0cnVuZyB24buLIGPhu6dhIEdEUCBsw6AgNCBraGkgcmlza19mYWN0b3IgYuG6sW5nIDAgdsOgIDQga2hpIHJpc2tfZmFjdG9yIGLhurFuZyAxLg0KDQpT4buRIGzGsOG7o25nIHRyxrDhu51uZyBo4bujcCBjw7MgR0RQIHRyw6puIG3hu5dpIGPDoSBuaMOibiB2xrDhu6N0IHF1YSBnacOhIHRy4buLIHRydW5nIHbhu4sgY+G7p2EgR0RQIGzDoCAzIGtoaSByaXNrX2ZhY3RvciBi4bqxbmcgMCB2w6AgMiBraGkgcmlza19mYWN0b3IgYuG6sW5nIDEuDQoNCmBgYHtyfQ0KIyBUw61uaCBvZGQgcmF0aW8NCm9kZF9yYXRpbyA8LSAodGFibGVfZ2RwcGNbMiwgMl0gLyB0YWJsZV9nZHBwY1syLCAxXSkgLyAodGFibGVfZ2RwcGNbMSwgMl0gLyB0YWJsZV9nZHBwY1sxLCAxXSkNCnByaW50KG9kZF9yYXRpbykNCmBgYA0KVOG7tyBs4buHIGPGoSBo4buZaSBj4bunYSB2aeG7h2MgY8OzIEdEUCB0csOqbiBt4buXaSBjw6EgbmjDom4gdsaw4bujdCBxdWEgZ2nDoSB0cuG7iyB0cnVuZyB24buLIGPhu6dhIEdEUCB0cm9uZyBuaMOzbSBjw7Mgcmlza19mYWN0b3IgYuG6sW5nIDEgc28gduG7m2kgbmjDs20gY8OzIHJpc2tfZmFjdG9yIGLhurFuZyAwIGzDoCAwLjA4Lg0KDQpL4bq/dCBxdeG6oyBuw6B5IGNobyB0aOG6pXkgcuG6sW5nIGPDsyBz4buxIGdp4bqjbSBzw7p0IGzhu5tuIHRyb25nIHThu7cgbOG7hyBjxqEgaOG7mWkgY+G7p2Egdmnhu4djIGPDsyBHRFAgY2FvIHRyw6puIG3hu5dpIGPDoSBuaMOibiBraGkgcmlza19mYWN0b3IgdMSDbmcgbMOqbiwgc28gduG7m2kga2hpIHJpc2tfZmFjdG9yIGLhurFuZyAwLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIGNo4buJIHJhIG3hu5l0IG3hu5FpIGxpw6puIGjhu4cgdGnDqnUgY+G7sWMgZ2nhu69hIHJpc2tfZmFjdG9yIHbDoCBHRFAgdHLDqm4gbeG7l2kgY8OhIG5ow6JuLg0KDQojIEjhu5NpIHF1eQ0KDQpQaMOibiB0w61jaCB0w6FjIMSR4buZbmcgY+G7p2EgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSDEkeG6v24gY2hpIHRpw6p1IHkgdOG6vy4NCg0KYGBge3J9DQptb2RlbCA8LSBsbShtZWRleHBwYyB+IGdkcHBjLCBkYXRhID0gZCkNCnN1bW1hcnkobW9kZWwpDQpgYGANCg0KxJDhu41jIGvhur90IHF14bqjIFBfdmFsdWUuIE3DtCBow6xuaCBo4buTaSBxdXkgdHLDqm4gZ2nhuqNpIHRow61jaCBy4bqxbmcgR0RQIGLDrG5oIHF1w6JuIMSR4bqndSBuZ8aw4budaSBjw7Mg4bqjbmggaMaw4bufbmcgY2hpIHRpw6p1IHkgdOG6vyA=