1 Giới thiệu chung

1.1 Giới thiệu về công ty

Công ty Cổ phần Vincom Retail (VRE) là nhà phát triển và vận hành trung tâm thương mại (TTTM) hàng đầu Việt Nam với hơn 80 TTTM trên toàn quốc, bao gồm các thương hiệu:

  • Vincom Center: TTTM cao cấp, hiện đại, tọa lạc tại các vị trí đắc địa ở trung tâm thành phố lớn.

  • Vincom Mega Mall: TTTM quy mô lớn, mang đến trải nghiệm mua sắm, giải trí, ẩm thực đa dạng cho cả gia đình.

  • Vincom Plaza: TTTM cộng đồng, đáp ứng nhu cầu mua sắm thiết yếu cho người dân địa phương.

  • Vincom+: TTTM mini, tiện lợi, tọa lạc tại các khu vực dân cư đông đúc.

Vincom Retail là công ty con của Tập đoàn Vingroup, được thành lập vào năm 2012.

Công ty Cổ phần Vincom Retail kinh doanh chính trong lĩnh vực bất động sản bán lẻ, bao gồm:

  • Cho thuê mặt bằng bán lẻ tại các trung tâm thương mại Vincom trên toàn quốc. Vincom Retail sở hữu hơn 80 TTTM với tổng diện tích sàn bán lẻ hơn 1,75 triệu m2, tọa lạc tại các vị trí đắc địa ở các thành phố lớn và khu vực tiềm năng.

  • Quản lý và vận hành các TTTM Vincom. Vincom Retail cung cấp các dịch vụ quản lý và vận hành chuyên nghiệp

  • Phát triển các dự án bất động sản bán lẻ mới. Vincom Retail liên tục mở rộng mạng lưới TTTM Vincom trên toàn quốc, đáp ứng nhu cầu mua sắm, giải trí và ẩm thực ngày càng tăng của người dân.

1.2 Mục đích nghiên cứu

  • Phân tích kết quả hoạt động kinh doanh của công ty cổ phần Vincom Retail (VRE)

  • Đánh giá hiệu quả hoạt động kinh doanh của công ty.

  • Xác định điểm mạnh, điểm yếu, cơ hội và thách thức của công ty.

  • Đề xuất giải pháp nhằm nâng cao hiệu quả hoạt động kinh doanh của công ty.

1.3 3. Phạm vi nghiên cứu

  • Thời gian nghiên cứu: 4 quý của năm 2023

  • Dữ liệu nghiên cứu: Bảng báo cáo kết quả hoạt động kinh doanh trong 4 quý năm 2023 của công ty

Nguồn: Cafef.vn

1.4 Phương pháp nghiên cứu

  • Phương pháp so sánh

  • Trực quan hóa dữ liệu


2 Phân tích dữ liệu về hoạt động kinh doanh

Bảng dữ liệu tổng quan về kết quả hoạt động kinh doanh trong 4 quý 2023 của Vincom Retail

library(readxl)
hh <- read_xlsx("D://ngôn ngữ lập trình//số liệu tiểu luận.xlsx")
hh <- na.omit(hh)
datatable(hh)

2.1 Phân tích doanh thu bán hàng và cung cấp các dịch vụ

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
Doanhthu <- c(1943276298031, 2172826785993, 3332559248245, 2342673000000)
df <- data.frame(Quy, Doanhthu)
datatable(df)
ggplot(df, aes(x = Quy, y = Doanhthu,)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ doanh thu bán hàng và cung cấp dịch vụ 4 quý 2023", x = "Quý", y = "Doanh thu") +
  theme_minimal()

Từ biểu đồ trên , ta có thể thấy được Doanh thu bán hàng và cung cấp dịch vụ có xu hướng tăng trưởng theo từng quý, cụ thể:

Quý 1: 1.943.276.298.031 VNĐ

Quý 2: 2.172.826.785.993 VNĐ

Quý 3: 3.332.559.248.245 VNĐ

Quý 4: 2.342.673.000.000 VNĐ

  • Doanh thu quý 3 cao nhất, gấp gần 1,7 lần so với quý 1 và cao hơn 1,5 lần so với quý 2.

  • Doanh thu quý 4 thấp hơn so với quý 3 nhưng vẫn cao hơn so với quý 1 và quý 2.

Lý giải:

  • Quý 1: Do ảnh hưởng của một số yếu tố kinh tế,Tình hình thị trường bất động sản…, hoạt động kinh doanh của Vincom Retail bị ảnh hưởng, dẫn đến doanh thu thấp.

  • Quý 2: Kinh tế dần phục hồi, công ty có các chiến lượng và biện pháp, doanh thu của Vincom Retail bắt đầu tăng.

  • Quý 3: Đây là mùa cao điểm mua sắm (kỳ nghỉ hè, lễ Trung thu) nên doanh thu của Vincom Retail tăng mạnh.

  • Quý 4: Doanh thu giảm so với quý 3 nhưng vẫn cao hơn so với vẫn tăng so với 2 kỳ trước.

2.2 Phân tích Doanh thu hoạt động tài chính

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
Doanhthu1 <- c(223816058122, 278152691542, 301408265386, 342962000000)
df1 <- data.frame(Quy, Doanhthu1)
datatable(df1)
ggplot(df, aes(x = Quy, y = Doanhthu1,)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ doanh thu hoạt động tài chính 4 quý 2023", x = "Quý", y = "Doanh thu") +
  theme_minimal()

Dựa vào biểu đồ trên,ta thấy được doanh thu hoạt động tài chính của Vincom Retail trong 4 quý năm 2023 có sự tăng trưởng đều đặn theo từng quý:

  • Quý 1/2023: Doanh thu đạt 22.381.605.812 đồng.

  • Quý 2/2023: Doanh thu đạt 27.815.269.1542 đồng, tăng 24,3% so với quý 1.

  • Quý 3/2023: Doanh thu đạt 30.140.826.5386 đồng, tăng 8,3% so với quý 2.

  • Quý 4/2023: Doanh thu đạt 34.296.200.000 đồng, tăng 13,8% so với quý 3.

Nhìn chung, doanh thu hoạt động tài chính của Vincom Retail trong năm 2023 có sự tăng trưởng tích cực, cho thấy hiệu quả hoạt động kinh doanh của công ty đang được cải thiện.

Một số nhận định dựa trên sự tăng trưởng này:

  • Vincom Retail có thể đang đẩy mạnh hoạt động đầu tư tài chính, dẫn đến doanh thu tăng.

  • Hoạt động kinh doanh cốt lõi của Vincom Retail đang hoạt động hiệu quả, tạo ra nguồn tiền dồi dào để đầu tư tài chính.

  • Vincom Retail có thể đang áp dụng chiến lược tài chính hiệu quả, giúp tối ưu hóa doanh thu từ hoạt động đầu tư.

2.3 Phân tích giá vốn bán hàng

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
giavon <- c(754924239904,983444500572,1632490907261,1074591000000)
df2 <- data.frame(Quy, giavon)
datatable(df2)
ggplot(df2, aes(x = Quy, y = giavon,)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ giá vốn bán hàng 4 quý 2023", x = "Quý", y = "Giá vốn") +
  theme_minimal()

Qua đồ thị về giá vốn bán hàng và đồ thị về doanh thu bán hàng, cung cấp dịch vụ, ta có thể đưa ra một số nhận xét sau

  • Hiệu quả hoạt động kinh doanh: Doanh thu tăng cao hơn giá vốn bán hàng cho thấy Vincom Retail đang hoạt động hiệu quả, có khả năng kiểm soát chi phí tốt và tạo ra lợi nhuận gộp cao.

  • Nhu cầu thị trường: Doanh thu tăng cho thấy nhu cầu tiêu dùng đối với các sản phẩm và dịch vụ của Vincom Retail vẫn ở mức cao, bất chấp việc giá cả tăng.

  • Khả năng cạnh tranh: Việc duy trì được mức tăng trưởng doanh thu trong bối cảnh giá vốn tăng cao cho thấy Vincom Retail có khả năng cạnh tranh tốt trên thị trường.

Nguyên nhân tăng giá vốn bán hàng của công ty Vincom Retail:

  • Tăng giá nguyên vật liệu:Giá nguyên vật liệu đầu vào như thép, xi măng, cát, đá… tăng do ảnh hưởng của nhiều yếu tố như giá nhiên liệu, chi phí vận chuyển,…Vincom Retail sử dụng nhiều nguyên vật liệu đầu vào cho các hoạt động xây dựng, sửa chữa và vận hành trung tâm thương mại.

  • Tăng chi phí nhân công:Mức lương tối thiểu vùng tăng, chi phí bảo hiểm xã hội, bảo hiểm y tế… tăng dẫn đến chi phí nhân công tăng. Vincom Retail có đội ngũ nhân viên lớn với hơn 40.000 người, do đó chi phí nhân công là một khoản chi phí lớn của công ty.

  • Tăng chi phí thuê mặt bằng:Giá thuê mặt bằng tại các vị trí đắc địa, nơi Vincom Retail đặt các trung tâm thương mại, thường cao và có xu hướng tăng.Vincom Retail có nhiều trung tâm thương mại đặt tại các vị trí đắc địa, do đó chi phí thuê mặt bằng là một khoản chi phí lớn của công ty.

  • Tăng chi phí marketing:Vincom Retail tăng cường các hoạt động marketing để thu hút khách hàng và quảng bá thương hiệu, dẫn đến chi phí marketing tăng.Vincom Retail là một công ty lớn với thương hiệu mạnh, do đó công ty cần đầu tư nhiều cho các hoạt động marketing để duy trì vị thế cạnh tranh.

  • Tăng chi phí vận hành:Chi phí vận hành các trung tâm thương mại như điện nước, bảo trì, sửa chữa… tăng.Vincom Retail có nhiều trung tâm thương mại với diện tích lớn, do đó chi phí vận hành là một khoản chi phí lớn của công ty.

  • Ngoài ra, một số nguyên nhân khác có thể dẫn đến giá vốn bán hàng của Vincom Retail tăng:

Thay đổi tỷ giá hối đoái

Tăng cường đầu tư vào công nghệ và thiết bị

Mở rộng hoạt động kinh doanh

  • Để giảm giá vốn bán hàng, Vincom Retail có thể áp dụng một số biện pháp:

Tìm kiếm nhà cung cấp nguyên vật liệu với giá tốt hơn.Tăng hiệu quả sử dụng nguyên vật liệu

Tối ưu hóa chi phí nhân công

Tìm kiếm các vị trí mặt bằng có giá thuê hợp lý

Sử dụng các kênh marketing hiệu quả hơn

Tối ưu hóa chi phí vận hành

Cần lưu ý rằng, việc giá vốn bán hàng tăng không đồng nghĩa với việc lợi nhuận của công ty sẽ giảm. Nếu doanh thu bán hàng tăng cao hơn mức tăng giá vốn bán hàng, lợi nhuận của công ty vẫn có thể tăng.

2.4 Phân tích Lợi nhuận gộp về bán hàng và cung cấp dịch vụ

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan <- c(1188352058127,1189382285421,1700068340984,1268082000000)
df3 <- data.frame(Quy, loinhuan)
datatable(df3)
df3$nhom <- ifelse(df$Quy <= "Quý 1 2023", "Nửa đầu năm", "Nửa cuối năm")

ggplot(df3, aes_string(x = "Quy", y = "loinhuan", group = "nhom")) +
  geom_line() +
  geom_point() +
  stat_summary(fun = mean, geom = "crossbar", width = 0.4, linewidth = 0.4) +
  labs(title = "Biểu đồ lợi nhuận gộp về bán hàng và cung cấp dịch vụ")

Thông qua đồ thị trên, ta có một số nhận định như sau

1.Xu hướng chung:

  • Lợi nhuận gộp có xu hướng tăng trong cả năm 2023,Cụ thể:

Quý 1: 1.188.352.058.127 VNĐ

Quý 2: 1.189.382.285.421 VNĐ

Quý 3: 1.700.068.340.984 VNĐ

Quý 4: 1.268.082.000.000 VNĐ

  • Lợi nhuận gộp quý 3 cao nhất, gấp 1,43 lần so với quý 1.

2. Biểu hiện cụ thể:

Doanh thu thuần về bán hàng và cung cấp dịch vụ cũng tăng đều đặn qua các quý.

Giá vốn hàng bán tăng nhanh hơn doanh thu thuần, dẫn đến lợi nhuận gộp quý 4 giảm so với quý 3.

Tỷ suất lợi nhuận gộp (lợi nhuận gộp / doanh thu thuần) giảm nhẹ từ quý 1 đến quý 4.

3. Đánh giá:

  • Xu hướng tăng của lợi nhuận gộp là tín hiệu tích cực cho thấy hoạt động kinh doanh hiệu quả.

  • Tuy nhiên, sự gia tăng của giá vốn hàng bán cần được theo dõi và kiểm soát để duy trì tỷ suất lợi nhuận gộp ở mức cao.

2.5 Phân tích chi phí tài chính

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi <- c(100408393349,79999899194,75888705874,74129000000)
df4 <- data.frame(Quy, chiphi)
datatable(df4)
ggplot(df4, aes(x = Quy, y = chiphi,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí tài chính 4 quý 2023", x = "Quý", y = "chi phí") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Xu hướng chung:

  • Chi phí tài chính của công ty giảm dần trong 4 quý, từ 100,408 tỷ đồng trong quý 1 xuống còn 74,129 tỷ đồng trong quý 4.

  • Mức giảm này không đáng kể, chỉ khoảng 26%.

  • Chi phí tài chính chiếm tỷ lệ nhỏ trong doanh thu hoạt động tài chính, từ 45% trong quý 1 xuống còn 22% trong quý 4.

2. Phân tích theo từng quý:

-Quý 1: Chi phí tài chính cao nhất, chiếm 45% doanh thu hoạt động tài chính. Nguyên nhân có thể do: Nhu cầu vay vốn cao để đầu tư cho hoạt động kinh doanh. Lãi suất vay cao.

  • Quý 2: Chi phí tài chính giảm 20% so với quý 1. Doanh thu hoạt động tài chính tăng 24%. Tỷ lệ chi phí tài chính trên doanh thu hoạt động tài chính giảm xuống 36%.

  • Quý 3: Chi phí tài chính giảm 5% so với quý 2. Doanh thu hoạt động tài chính tăng 42%. Tỷ lệ chi phí tài chính trên doanh thu hoạt động tài chính giảm xuống 23%.

  • Quý 4: Chi phí tài chính giảm 2% so với quý 3. Doanh thu hoạt động tài chính tăng 13%. Tỷ lệ chi phí tài chính trên doanh thu hoạt động tài chính giảm xuống 22%.

3. Đánh giá:

  • Việc chi phí tài chính giảm dần cho thấy công ty đã có những biện pháp hiệu quả để kiểm soát chi phí vay vốn.

  • Tuy nhiên, tỷ lệ chi phí tài chính trên doanh thu hoạt động tài chính vẫn còn cao, cần tiếp tục được giảm xuống để nâng cao hiệu quả hoạt động tài chính.

4. Khuyến nghị:

  • Tiếp tục tìm kiếm các nguồn vốn vay với lãi suất thấp hơn.

  • Tăng cường sử dụng vốn tự có trong hoạt động kinh doanh.

  • Tăng hiệu quả sử dụng vốn để nâng cao lợi nhuận hoạt động.

2.6 Phân tích chi phí bán hàng

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi1 <- c(28677673215,44039302424,184769141493,83782000000)
df5 <- data.frame(Quy, chiphi1)
datatable(df5)
ggplot(df5, aes(x = Quy, y = chiphi1,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí bán hàng 4 quý 2023", x = "Quý", y = "chi phí") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Xu hướng chung:

Chi phí bán hàng của công ty tăng mạnh trong 4 quý, từ 28,677 tỷ đồng trong quý 1 lên 83,782 tỷ đồng trong quý 4. Mức tăng này rất cao, gần gấp 3 lần. Chi phí bán hàng chiếm tỷ lệ ngày càng cao trong doanh thu thuần, từ 1,48% trong quý 1 lên 3,58% trong quý 4. 2. Phân tích theo từng quý:

  • Quý 1:Chi phí bán hàng thấp nhất, chiếm 1,48% doanh thu thuần.

  • Quý 2:Chi phí bán hàng tăng 54% so với quý 1.Doanh thu thuần tăng 12%. Tỷ lệ chi phí bán hàng trên doanh thu thuần tăng lên 2,03%.

  • Quý 3:Chi phí bán hàng tăng 317% so với quý 2. Doanh thu thuần tăng 53%. Tỷ lệ chi phí bán hàng trên doanh thu thuần tăng lên 3,24%.

  • Quý 4:Chi phí bán hàng tăng 46% so với quý 3. Doanh thu thuần giảm 35%. Tỷ lệ chi phí bán hàng trên doanh thu thuần tăng lên 3,58%.

3. Đánh giá:

  • Việc chi phí bán hàng tăng mạnh là một tín hiệu đáng lo ngại.

  • Điều này cho thấy công ty đang chi nhiều tiền cho các hoạt động bán hàng nhưng không hiệu quả.

  • Cần tìm ra nguyên nhân của việc chi phí bán hàng tăng cao và có biện pháp khắc phục.

4. Khuyến nghị:

  • Rà soát lại các hoạt động bán hàng và xác định những hoạt động không hiệu quả.

  • Cắt giảm những hoạt động bán hàng không hiệu quả và tập trung vào những hoạt động hiệu quả.

  • Tìm kiếm các giải pháp bán hàng hiệu quả hơn để giảm chi phí bán hàng.

2.7 Phân tích chi phí quản lí doanh nghiệp

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi2 <- c(79046888589,73794917109,106644953611,179163000000)
df6 <- data.frame(Quy, chiphi2)
datatable(df6)
ggplot(df6, aes(x = Quy, y = chiphi2,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí quản lí doanh nghiệp 4 quý 2023", x = "Quý", y = "chi phí") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Xu hướng chung:

  • Chi phí quản lý doanh nghiệp của công ty tăng dần trong 4 quý, từ 79,047 tỷ đồng trong quý 1 lên 179,163 tỷ đồng trong quý 4.

  • Mức tăng này rất cao, gần gấp 2,3 lần.

  • Chi phí quản lý doanh nghiệp chiếm tỷ lệ ngày càng cao trong doanh thu thuần, từ 4,07% trong quý 1 lên 7,65% trong quý 4.

2. Phân tích theo từng quý:

  • Quý 1:Chi phí quản lý doanh nghiệp thấp nhất, chiếm 4,07% doanh thu thuần.

  • Quý 2:Chi phí quản lý doanh nghiệp tăng 6,1% so với quý 1.Doanh thu thuần tăng 11%.Tỷ lệ chi phí quản lý doanh nghiệp trên doanh thu thuần giảm xuống 3,82%.

  • Quý 3:Chi phí quản lý doanh nghiệp tăng 45% so với quý 2.Doanh thu thuần tăng 53%.Tỷ lệ chi phí quản lý doanh nghiệp trên doanh thu thuần tăng lên 4,07%.

  • Quý 4:Chi phí quản lý doanh nghiệp tăng 67% so với quý 3.Doanh thu thuần giảm 35%. Tỷ lệ chi phí quản lý doanh nghiệp trên doanh thu thuần tăng lên 7,65%.

3. Đánh giá:

  • Việc chi phí quản lý doanh nghiệp tăng mạnh là một tín hiệu đáng lo ngại.

  • Điều này cho thấy công ty đang chi nhiều tiền cho các hoạt động quản lý nhưng không hiệu quả.

  • Cần tìm ra nguyên nhân của việc chi phí quản lý doanh nghiệp tăng cao và có biện pháp khắc phục.

4. Khuyến nghị:

  • Rà soát lại các hoạt động quản lý và xác định những hoạt động không hiệu quả.

  • Cắt giảm những hoạt động quản lý không hiệu quả và tập trung vào những hoạt động hiệu quả.

  • Tìm kiếm các giải pháp quản lý hiệu quả hơn để giảm chi phí quản lý doanh nghiệp.

2.8 Phân tích Lợi nhuận thuần từ hoạt động kinh doanh

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan1 <- c(1204035161096,1269700858236,1634173805392,1273970000000)
df7 <- data.frame(Quy, loinhuan1)
datatable(df7)
ggplot(df7, aes(x = Quy, y = loinhuan1,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ Lợi nhuận thuần từ hoạt động kinh doanh 4 quý 2023", x = "Quý", y = "loinhuan") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biểu hiện chung:

  • Lợi nhuận thuần từ hoạt động kinh doanh có xu hướng tăng trong 3 quý đầu tiên và giảm nhẹ ở quý 4.

  • Mức tăng trưởng lợi nhuận thuần quý 2/2023 so với quý 1/2023 là 6,2%, quý 3/2023 so với quý 2/2023 là 32,2%, và quý 4/2023 so với quý 3/2023 là -22,1%.

2. Phân tích theo từng quý:

  • Quý 1/2023:Lợi nhuận thuần đạt 1.204 tỷ đồng. Doanh thu bán hàng và cung cấp dịch vụ là 1.943 tỷ đồng, giá vốn hàng bán chiếm 38,8% doanh thu. Lợi nhuận gộp đạt 1.188 tỷ đồng, chiếm 61,2% doanh thu. Doanh thu hoạt động tài chính đóng góp 223 tỷ đồng lợi nhuận. Chi phí bán hàng và quản lý doanh nghiệp chiếm 18,2% doanh thu.

  • Quý 2/2023:Lợi nhuận thuần đạt 1.270 tỷ đồng, tăng 6,2% so với quý 1. Doanh thu bán hàng và cung cấp dịch vụ tăng 12% so với quý 1. Lợi nhuận gộp tăng 0,1% so với quý 1. Doanh thu hoạt động tài chính tăng 24,4% so với quý 1. Chi phí bán hàng và quản lý doanh nghiệp tăng 54% so với quý 1.

  • Quý 3/2023:Lợi nhuận thuần đạt 1.634 tỷ đồng, tăng 32,2% so với quý 2. Doanh thu bán hàng và cung cấp dịch vụ tăng 53% so với quý 2. Lợi nhuận gộp tăng 43,2% so với quý 2. Doanh thu hoạt động tài chính tăng 8,3% so với quý 2. Chi phí bán hàng và quản lý doanh nghiệp tăng 102% so với quý 2.

  • Quý 4/2023:Lợi nhuận thuần đạt 1.274 tỷ đồng, giảm 22,1% so với quý 3.Doanh thu bán hàng và cung cấp dịch vụ giảm 30% so với quý 3. Lợi nhuận gộp giảm 34,3% so với quý 3. Doanh thu hoạt động tài chính tăng 13,8% so với quý 3. Chi phí bán hàng và quản lý doanh nghiệp giảm 53% so với quý 3.

3. Nhận xét:

  • Lợi nhuận thuần từ hoạt động kinh doanh phụ thuộc nhiều vào doanh thu bán hàng và cung cấp dịch vụ.

  • Mức tăng trưởng lợi nhuận gộp có xu hướng giảm dần trong 4 quý.

  • Chi phí bán hàng và quản lý doanh nghiệp có xu hướng tăng theo doanh thu.

  • Doanh thu hoạt động tài chính có vai trò hỗ trợ cho lợi nhuận thuần.

4. Kết luận:

  • Lợi nhuận thuần từ hoạt động kinh doanh của công ty tăng trưởng tốt trong 3 quý đầu tiên và giảm nhẹ ở quý 4.

  • Doanh thu bán hàng và cung cấp dịch vụ là yếu tố quyết định đến lợi nhuận thuần.

  • Công ty cần kiểm soát chi phí bán hàng và quản lý doanh nghiệp để tăng hiệu quả kinh doanh.

2.9 Phân tích thu nhập khác

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
thunhap <- c(60689770828,24237468244,34740073609,92766000000)
df8 <- data.frame(Quy, thunhap)
datatable(df8)
ggplot(df8, aes(x = Quy, y = thunhap,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ thu nhập khác 4 quý 2023", x = "Quý", y = "thunhapkhac") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biểu hiện:

Quý 1/2023: 60,689,770,828

Quý 2/2023: 24,237,468,244 (giảm 59,6%)

Quý 3/2023: 34,740,073,609 (tăng 43,2%)

Quý 4/2023: 92,766,000,000 (tăng 167,4%)

2. Phân tích nguyên nhân:

  • Giảm: Quý 2/2023: Hoạt động kinh doanh chính có thể gặp khó khăn, dẫn đến lợi nhuận thấp hơn, ảnh hưởng đến nguồn thu để đầu tư vào các hoạt động khác tạo ra “Thu nhập khác”. Hoàn thành dự án/hoạt động mang lại khoản thu nhập lớn trong quý 1, dẫn đến sự sụt giảm so sánh.

  • Tăng: Quý 3/2023: Bắt đầu triển khai dự án/hoạt động mới mang lại nguồn thu nhập khác. Đầu tư vào tài sản/công ty khác mang lại lợi nhuận. Nhận được khoản thanh toán bất thường, như tiền bồi thường, hoàn thuế. Quý 4/2023: Tiếp tục hiệu quả từ các dự án/hoạt động triển khai từ quý 3. Doanh thu cao vào cuối năm, dẫn đến lợi nhuận và thu nhập khác tăng.

3. Đánh giá:

  • Biến động lớn: Cho thấy sự không ổn định trong nguồn thu nhập khác. Khó dự đoán và lập kế hoạch cho tương lai.

  • Cần phân tích sâu hơn: Xác định rõ nguyên nhân biến động. Đánh giá tính bền vững của nguồn thu nhập khác.

4. Khuyến nghị:

  • Đa dạng hóa nguồn thu nhập khác: Giảm thiểu rủi ro phụ thuộc vào một vài nguồn thu. Tăng cường đầu tư vào các hoạt động tiềm năng.

  • Quản lý hiệu quả: Theo dõi sát sao biến động của “Thu nhập khác”. Có kế hoạch dự phòng cho các trường hợp bất ngờ.

2.10 Phân tích chi phí khác

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi3 <- c(15943110860,25545431928,13141804545,13596000000)
df9 <- data.frame(Quy, chiphi3)
datatable(df9)
ggplot(df9, aes(x = Quy, y = chiphi3,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí khác 4 quý 2023", x = "Quý", y = "chi phí khác") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biểu hiện:

  • Quý 1/2023: 15,943,110,860

  • Quý 2/2023: 25,545,431,928 (tăng 60,3%)

  • Quý 3/2023: 13,141,804,545 (giảm 48,5%)

  • Quý 4/2023: 13,596,000,000 (tăng 3,5%)

2. Phân tích nguyên nhân:

  • Tăng:Quý 2/2023 Chi cho các hoạt động marketing, quảng cáo tăng để thúc đẩy doanh thu. Mua sắm tài sản cố định, trang thiết bị mới. Chi phí cho các hoạt động nghiên cứu, phát triển. Chi phí liên quan đến việc kiện tụng, tranh chấp.

  • Giảm:Quý 3/2023Hoạt động kinh doanh chậm lại, dẫn đến cắt giảm chi phí. Hoàn thành việc mua sắm tài sản cố định trong quý 2. Tái sử dụng tài sản cũ, tiết kiệm chi phí.

  • Tăng nhẹ:Quý 4/2023 Duy trì mức chi phí hợp lý sau khi cắt giảm. Chi phí cho các hoạt động cuối năm.

3. Đánh giá:

  • Biến động: Cho thấy sự thiếu kiểm soát chi phí. Ảnh hưởng đến lợi nhuận và hiệu quả hoạt động.

  • Cần phân tích sâu hơn: Xác định rõ nguyên nhân biến động. Đánh giá tính hợp lý của từng khoản chi phí.

4. Khuyến nghị:

  • Lập kế hoạch chi phí hợp lý: Dự trù chi phí cho từng hoạt động. Theo dõi sát sao và kiểm soát chi phí.

  • Tối ưu hóa chi phí: Tìm kiếm giải pháp tiết kiệm chi phí. Sử dụng tài nguyên hiệu quả.

2.11 Phân tích lợi nhuận khác

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan1 <- c(44746659968,-1307963684,21598269064,79170000000)
df10 <- data.frame(Quy, loinhuan1)
datatable(df10)
df10$nhom <- ifelse(df10$Quy <= "Quý 1 2023", "nửa đầu năm", "nửa cuối năm")

ggplot(df10, aes_string(x = "Quy", y = "loinhuan1", group = "nhom")) +
  geom_line() +
  geom_point() +
  stat_summary(fun = mean, geom = "crossbar", width = 0.4, linewidth = 0.4) +
  labs(title = "Biểu đồ lợi nhuận khác 4 quý 2023")

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Thu nhập khác:

  • Tăng trưởng: Quý 1/2023: 60,689 tỷ đồng Quý 4/2023: 92,766 tỷ đồng Tăng 53% so với quý 1/2023

  • Cấu thành: Doanh thu cho thuê văn phòng: Chiếm tỷ trọng lớn nhất, tăng trưởng đều đặn qua các quý. Lợi nhuận từ liên doanh liên kết: Biến động mạnh, có thể do hoạt động đầu tư, thoái vốn hoặc kết quả kinh doanh của các công ty liên kết. Lợi nhuận từ hoạt động tài chính: Tăng trưởng trong quý 4 do lãi tiền gửi ngân hàng, giảm trong quý 2 do trích lập dự phòng giảm giá tài sản. Doanh thu hoạt động khác: Bao gồm doanh thu từ dịch vụ quảng cáo, bán hàng hóa, dịch vụ khác,… Biến động theo từng quý.

2. Chi phí khác:

  • Giảm: Quý 1/2023: 15,943 tỷ đồng Quý 4/2023: 13,596 tỷ đồng Giảm 14% so với quý 1/2023

  • Cấu thành: Chi phí bán hàng: Bao gồm chiết khấu, hoa hồng bán hàng,… Giảm do hiệu quả hoạt động bán hàng. Chi phí quản lý doanh nghiệp: Bao gồm chi phí văn phòng, chi phí quản lý chung,… Tăng trong quý 4 do các khoản chi phí liên quan đến hoạt động cuối năm. Chi phí tài chính: Bao gồm lãi vay ngân hàng, chi phí lãi vay,… Giảm do giảm vay nợ. Chi phí khác: Bao gồm chi phí hoạt động khác, chi phí dự phòng,… Biến động theo từng quý.

3. Lợi nhuận khác:

  • Tăng trưởng: Quý 1/2023: 44,746 tỷ đồng Quý 2/2023 : -1,307 tỷ đồng (thời điểm này doanh thu khác đang giảm sâu so với quý 1/2023 nhưng chi phí thì lại tăng cao) Quý 3/2023 : thời điểm này công ty bắt đầu kiểm soát chi phí tốt hơn và kinh doanh có hiệu quả hơn, góp phần làm cho lợi nhuận liên tục tăng Quý 4/2023: 79,170 tỷ đồng Tăng 77% so với quý 1/2023

  • Lý do: Doanh thu cho thuê văn phòng tăng Hiệu quả hoạt động tài chính Giảm chi phí bán hàng và quản lý doanh nghiệp

4. Kết luận:

  • Lợi nhuận khác của Vincom Retail tăng trưởng mạnh trong năm 2023, đóng góp tích cực vào lợi nhuận chung của công ty.

  • Doanh thu cho thuê văn phòng là nguồn thu chính, tăng trưởng đều đặn.

  • Hoạt động tài chính có hiệu quả, lợi nhuận từ liên doanh liên kết biến động.

  • Chi phí được kiểm soát tốt, góp phần nâng cao lợi nhuận.

2.12 Phân tích tổng lợi nhuận kế toán trước thuế

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan3 <- c(1248781821064,1268392894552,1655772074456,1353140000000)
df11 <- data.frame(Quy, loinhuan3)
datatable(df11)
ggplot(df11, aes(x = Quy, y = loinhuan3,)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ tổng lợi nhuận kế toán trước thuế 4 quý 2023", x = "Quý", y = "lợi nhuận") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biến động tổng lợi nhuận kế toán trước thuế:

  • Tăng trưởng: Quý 1/2023: 1.248 tỷ đồng Quý 4/2023: 1.353 tỷ đồng Tăng 8,3% so với quý 1/2023

  • Mức tăng thấp: So với cùng kỳ năm trước, tổng lợi nhuận quý 4/2023 chỉ tăng 3,4% Thấp hơn mức tăng trưởng trung bình của 3 quý đầu năm (14,5%)

2. Phân tích theo quý:

  • Quý 1/2023: Tổng lợi nhuận cao nhất trong năm

  • Quý 2/2023: Giảm nhẹ do ảnh hưởng của dịch Covid-19

  • Quý 3/2023: Phục hồi và tăng trưởng

  • Quý 4/2023: Tăng trưởng nhẹ, chưa đạt kỳ vọng

  1. Phân tích theo :

Doanh thu Tăng :

  • Doanh thu bán lẻ:Tăng trưởng 20% trong năm 2023 Chịu ảnh hưởng bởi:Nhu cầu tiêu dùng,Hoạt động kinh doanh của các trung tâm thương mại

  • Doanh thu cho thuê: Tăng trưởng 15% trong năm 2023 Chịu ảnh hưởng bởi:Tỷ lệ lấp đầy,Giá thuê

Chi phí Tăng:

  • Chi phí bán hàng

  • Chi phí quản lý doanh nghiệp

  • Chi phí tài chính

  • Chi phí bán hàng:Tăng 25% trong năm 2023 Do: Chiết khấu, hoa hồng bán hàng Chi phí quảng cáo Chi phí quản lý doanh nghiệp: Tăng 18% trong năm 2023 Do: Chi phí văn phòng Chi phí quản lý chung Chi phí tài chính: Tăng 12% trong năm 2023 Do: Lãi vay ngân hàng Chi phí lãi vay

Lợi nhuận khác:

Tăng trưởng 35% trong năm 2023 Do: Lợi nhuận từ liên doanh liên kết Lợi nhuận từ hoạt động tài chính

2.13 Phân tích chi phí thuế thu nhập doanh nghiệp hiện hành

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi4 <- c(258876742510,251763537826,330143008071,270368000000)
df12 <- data.frame(Quy, chiphi4)
datatable(df12)
ggplot(df12, aes(x = Quy, y = chiphi4)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí thuế thu nhập doanh nghiệp hiện hành  4 quý 2023", x = "Quý", y = "thuế") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Dữ liệu từ bảng số liệu cho thấy:

  • Doanh thu thuần:

Quý 1: 1.943.276.298.031 VNĐ

Quý 2: 2.172.826.785.993 VNĐ

Quý 3: 3.332.559.248.245 VNĐ

Quý 4: 2.342.673.000.000 VNĐ

  • Lợi nhuận trước thuế:

Quý 1: 1.248.781.821.064 VNĐ

Quý 2: 1.268.392.894.552 VNĐ

Quý 3: 1.655.772.074.456 VNĐ

Quý 4: 1.353.140.000.000 VNĐ

  • Chi phí thuế TNDN:

Quý 1: 258.876.742.510 VNĐ

Quý 2: 251.763.537.826 VNĐ

Quý 3: 330.143.008.071 VNĐ

Quý 4: 270.368.000.000 VNĐ

2. Phân tích:

  • Mối tương quan:

Doanh thu thuần và lợi nhuận trước thuế có mối tương quan tích cực. Khi doanh thu thuần tăng, lợi nhuận trước thuế cũng có xu hướng tăng. Doanh thu thuần và chi phí thuế TNDN cũng có mối tương quan tích cực. Khi doanh thu thuần tăng, chi phí thuế TNDN cũng có xu hướng tăng.

  • Mức độ ảnh hưởng:

Doanh thu thuần ảnh hưởng trực tiếp đến lợi nhuận trước thuế. Khi doanh thu thuần tăng 1%, lợi nhuận trước thuế có thể tăng từ 0,5% đến 0,8%. Doanh thu thuần ảnh hưởng gián tiếp đến chi phí thuế TNDN. Khi doanh thu thuần tăng 1%, chi phí thuế TNDN có thể tăng từ 0,2% đến 0,4%.

3. Ví dụ minh họa:

  • Quý 3: Doanh thu thuần tăng 53,5% so với quý 1 dẫn đến: Lợi nhuận trước thuế tăng 32,7%. Chi phí thuế TNDN tăng 27,5%.

4. Kết luận:

Doanh thu thuần có ảnh hưởng lớn đến chi phí thuế TNDN. Doanh nghiệp cần chú trọng tăng doanh thu thuần để gia tăng lợi nhuận và nộp thuế đầy đủ cho Nhà nước.

2.14 Phân tích chi phí thuế thu nhập doanh nghiệp hoãn lại

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
chiphi5 <- c(-34106103743,16026295295,8944497933,15263000000)
df13 <- data.frame(Quy, chiphi5)
datatable(df13)
ggplot(df13, aes(x = Quy, y = chiphi5)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ chi phí thuế thu nhập doanh nghiệp hoãn lại  4 quý 2023", x = "Quý", y = "thuế") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Chi phí thuế thu nhập doanh nghiệp hoãn lại:

  • Năm 2023:

Quý 1: -34.106.103.743

Quý 2: 16.026.295.295

Quý 3: 8.944.497.933

Quý 4: 15.263.000.000

  • Tổng chi phí thuế thu nhập doanh nghiệp hoãn lại năm 2023: 25.127.689.485

2. Phân tích ảnh hưởng:

  • Chi phí thuế thu nhập doanh nghiệp hoãn lại có thể ảnh hưởng đến:

Lợi nhuận sau thuế của doanh nghiệp. Dòng tiền của doanh nghiệp. Giá trị doanh nghiệp.

  • Doanh nghiệp cần: Theo dõi và quản lý cẩn thận các khoản thuế thu nhập doanh nghiệp hoãn lại. Ghi chép đầy đủ và minh bạch các khoản thuế thu nhập doanh nghiệp hoãn lại trong báo cáo tài chính. Tiết lộ đầy đủ thông tin về thuế thu nhập doanh nghiệp hoãn lại trong thuyết minh báo cáo tài chính.

3. Nhận xét:

  • Dựa vào thông tin trong ảnh, có thể thấy rằng công ty có khoản thuế thu nhập doanh nghiệp hoãn lại dương trong năm 2023. Điều này cho thấy rằng công ty có thể đang ghi nhận nhiều khoản chi phí theo kế toán hơn so với theo thuế.

  • Doanh nghiệp cần theo dõi và quản lý cẩn thận khoản thuế thu nhập doanh nghiệp hoãn lại này để đảm bảo ảnh hưởng tích cực đến lợi nhuận sau thuế, dòng tiền và giá trị doanh nghiệp.

2.15 Phân tích Lợi nhuận sau thuế thu nhập doanh nghiệp

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan4 <- c(1024011182297,1000603061431,1316684568452,1067509000000)
df14 <- data.frame(Quy, loinhuan4)
datatable(df14)
ggplot(df14, aes(x = Quy, y = loinhuan4)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ lợi nhuận sau thuế thu nhập doanh nghiệp  4 quý 2023", x = "Quý", y = "lợi nhuận") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

Doanh thu bán hàng và cung cấp dịch vụ:

  • Tăng trưởng liên tục qua các quý (so với quý 1 năm 2023)

  • Mức tăng trưởng cao nhất từ Quý 2 sang Quý 3 (tăng 52%).

Giá vốn hàng bán:

  • Tăng trưởng theo xu hướng tương tự doanh thu.

  • Tỷ lệ giá vốn hàng bán trên doanh thu dao động từ 38% - 46%.

Lợi nhuận gộp:

  • Biến động theo xu hướng của doanh thu.

  • Lợi nhuận gộp cao nhất trong Quý 3 (1.700 tỷ đồng).

Doanh thu và chi phí hoạt động tài chính:

  • Doanh thu hoạt động tài chính tăng đều đặn qua các quý.

  • Chi phí tài chính giảm dần từ Quý 1 sang Quý 4.

Chi phí bán hàng, quản lý doanh nghiệp:

  • Chi phí bán hàng tăng đột biến trong Quý 3 (184 tỷ đồng).

  • Chi phí quản lý doanh nghiệp tăng nhẹ theo thời gian.

Lợi nhuận thuần từ hoạt động kinh doanh:

  • Biến động mạnh do ảnh hưởng của chi phí bán hàng.

  • Lợi nhuận cao nhất trong Quý 3 (1.634 tỷ đồng).

Thu nhập khác, chi phí khác:

  • Thu nhập khác tăng cao trong Quý 4 (92 tỷ đồng).

  • Chi phí khác tương đối ổn định.

Lợi nhuận khác:

  • Biến động mạnh do ảnh hưởng của thu nhập khác.

  • Lợi nhuận cao nhất trong Quý 4 (79 tỷ đồng).

Lợi nhuận sau thuế thu nhập doanh nghiệp:

  • Tăng trưởng liên tục qua các quý (so với quý 1 năm 2023)

  • Mức tăng trưởng cao nhất từ Quý 2 sang Quý 3 (31%).

Kết luận:

  • Lợi nhuận sau thuế thu nhập doanh nghiệp của công ty tăng trưởng đều đặn qua các quý, chủ yếu do sự gia tăng của doanh thu bán hàng và cung cấp dịch vụ.

  • Chi phí bán hàng là yếu tố ảnh hưởng lớn đến lợi nhuận, cần được kiểm soát hiệu quả.

  • Quý 3 là quý có lợi nhuận cao nhất do doanh thu và lợi nhuận gộp đạt đỉnh điểm.

2.16 Phân tích lợi nhuận sau thuế công ty mẹ

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan4 <- c(1024011182297,1000603061431,1316684568452,1067509000000)
df14 <- data.frame(Quy, loinhuan4)
datatable(df14)
ggplot(df14, aes(x = Quy, y = loinhuan4)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ lợi nhuận sau thuế công ty mẹ  4 quý 2023", x = "Quý", y = "lợi nhuận") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biến động lợi nhuận:

  • Lợi nhuận sau thuế công ty mẹ nhìn chug có xu hướng tăng qua các quý:

Quý 1: 1.023 tỷ đồng

Quý 2: 1.000 tỷ đồng

Quý 3: 1.316 tỷ đồng

Quý 4: 1.067 tỷ đồng

  • Mức tăng trưởng cao nhất từ Quý 2 sang Quý 3 (tăng 31%).

2. Phân tích các yếu tố ảnh hưởng:

  • Doanh thu bán hàng và cung cấp dịch vụ:

Tăng trưởng liên tục qua các quý, góp phần đẩy mạnh lợi nhuận.

Mức tăng trưởng cao nhất từ Quý 2 sang Quý 3 (tăng 52%).

  • Giá vốn hàng bán:

Tăng theo xu hướng tương tự doanh thu.

Tỷ lệ giá vốn hàng bán trên doanh thu dao động từ 38% - 46%, cho thấy công ty kiểm soát tốt chi phí sản xuất/mua hàng.

  • Lợi nhuận gộp:

Biến động theo xu hướng của doanh thu.

Lợi nhuận gộp cao nhất trong Quý 3 (1.700 tỷ đồng).

  • Doanh thu và chi phí hoạt động tài chính:

Doanh thu hoạt động tài chính tăng đều đặn.

Chi phí tài chính giảm dần, thể hiện chiến lược quản lý tài chính hiệu quả.

  • Chi phí bán hàng:

Tăng đột biến trong Quý 3 (184 tỷ đồng), có thể do:Tăng cường hoạt động marketing;Mở rộng thị trường;Chiết khấu bán hàng

  • Chi phí quản lý doanh nghiệp:

Tăng nhẹ theo thời gian.

  • Lợi nhuận thuần từ hoạt động kinh doanh:

Biến động mạnh do ảnh hưởng của chi phí bán hàng.

Lợi nhuận cao nhất trong Quý 3 (1.634 tỷ đồng).

  • Thu nhập khác:

Tăng cao trong Quý 4 (92 tỷ đồng).

  • Chi phí khác:

Tương đối ổn định.

  • Lợi nhuận khác:

Biến động mạnh do ảnh hưởng của thu nhập khác.

Lợi nhuận cao nhất trong Quý 4 (79 tỷ đồng).

3. Nhận xét:

  • Lợi nhuận sau thuế công ty mẹ tăng trưởng là tín hiệu tích cực cho thấy hoạt động kinh doanh hiệu quả.

  • Doanh thu là yếu tố chủ đạo thúc đẩy lợi nhuận.

  • Chi phí bán hàng cần được kiểm soát chặt chẽ hơn.

  • Quý 3 là quý có lợi nhuận cao nhất do doanh thu và lợi nhuận gộp đạt đỉnh điểm.

4. Hạn chế:

  • Phân tích dựa trên dữ liệu của 4 quý, cần thêm dữ liệu của các kỳ kế toán trước để có đánh giá chính xác hơn.

  • Phân tích chưa đi sâu vào các yếu tố cụ thể ảnh hưởng đến từng khoản mục chi phí và doanh thu.

2.17 Phân tích Lợi nhuận sau thuế công ty mẹ không kiểm soát

library(ggplot2)
Quy <- c("Quý 1 - 2023", "Quý 2 - 2023", "Quý 3 - 2023", "Quý 4 - 2023")
loinhuan5 <- c(165257014,13965828,13723259,14000000)
df15 <- data.frame(Quy, loinhuan5)
datatable(df15)
ggplot(df15, aes(x = Quy, y = loinhuan5)) +
  geom_col(stat = "identity") +
  labs(title = "Biểu đồ lợi nhuận sau thuế công ty mẹ không kiểm soát 4 quý 2023", x = "Quý", y = "lợi nhuận") +
  theme_minimal()

Dựa vào đồ thị và bảng số liệu, ta có thể nhận định một số điều như sau:

1. Biến động:

Lợi nhuận sau thuế công ty mẹ không kiểm soát có biến động trong 4 quý, giảm dần từ quý 1 đến quý 4. Cụ thể:

  • Quý 1: Lợi nhuận cao nhất, đạt 165.257.014.

  • Quý 2: Giảm xuống còn 13.965.828.

  • Quý 3: Tiếp tục giảm xuống 13.723.259.

  • Quý 4: Thấp nhất, chỉ đạt 14.000.000.

2. Tỷ lệ:

Lợi nhuận sau thuế công ty mẹ không kiểm soát chiếm tỷ lệ rất nhỏ so với lợi nhuận sau thuế công ty mẹ:

  • Quý 1: 0,016%

  • Quý 2: 0,001%

  • Quý 3: 0,001%

  • Quý 4: 0,001%

3. Nguyên nhân:

Có thể do:

  • Hoạt động kinh doanh của công ty con không hiệu quả.

  • Công ty con gặp khó khăn tài chính.

  • Công ty mẹ đã bán một phần hoặc toàn bộ vốn góp tại công ty con.

4. Ảnh hưởng:

  • Lợi nhuận sau thuế công ty mẹ không kiểm soát giảm có thể ảnh hưởng đến:

  • Lợi nhuận sau thuế hợp nhất của công ty.

  • Giá trị cổ phiếu của công ty.

  • Quyết định đầu tư của các nhà đầu tư.

5. Đề xuất:

  • Cần phân tích sâu hơn nguyên nhân khiến lợi nhuận sau thuế công ty mẹ không kiểm soát giảm.

  • Có biện pháp cải thiện hiệu quả hoạt động kinh doanh của công ty con.

  • Cân nhắc việc bán hoặc thoái vốn khỏi công ty con nếu cần thiết.

3 Dự báo doanh thu quý 1/ 2024 bằng phương pháp phân tích mô hình SES(0.25)

3.1 Giải thích mô hình SES(0.25)

SES(0.25) là viết tắt của Seasonal Exponential Smoothing with a smoothing factor of 0.25. Đây là một mô hình dự báo được sử dụng để dự đoán giá trị tương lai dựa trên dữ liệu quá khứ, có tính đến yếu tố mùa vụ.

SES(0.25) sử dụng hai giá trị để dự đoán:

  • Mức trung bình: Giá trị trung bình của dữ liệu quá khứ.

  • Yếu tố mùa vụ: Hệ số điều chỉnh dự đoán dựa trên biến động theo mùa.

Công thức tính toán:

F(t+1) = αY(t) + (1-α)F(t)

Trong đó:

  • F(t) : Giá trị dự đoán cho kỳ t.

  • Y(t) : Giá trị thực tế cho kỳ t.

  • α : Hệ số làm mịn (smoothing factor), thường nằm trong khoảng 0 và 1.

  • 1-α : Hệ số mùa vụ (seasonal factor)

3.2 Dự báo doanh thu quý 1/2024

library(readxl)
dubao <- read_xlsx("D://ngôn ngữ lập trình//Dự báo doanh thu.xlsx")
datatable(dubao)

Kết quả dự báo doanh thu bán hàng và cung cấp dịch vụ của quý 1 năm 2024 là 2335896564058 VNĐ

4 Kết luận

Đánh giá kết quả kinh doanh:

  • Vincom Retail đã có một năm 2023 thành công với mức tăng trưởng doanh thu và lợi nhuận ấn tượng.

  • Mức tăng trưởng này cao hơn so với mục tiêu đề ra cho năm 2023 và cũng cao hơn so với mức tăng trưởng của ngành bán lẻ Việt Nam.

  • Công ty đã thực hiện thành công chiến lược mở rộng mạng lưới và thu hút khách hàng.

  • Vincom Retail tiếp tục khẳng định vị thế là nhà phát triển và vận hành TTTM hàng đầu Việt Nam.

  • Kết quả kinh doanh của Vincom Retail được thúc đẩy bởi một số yếu tố:

Nền kinh tế Việt Nam phục hồi sau đại dịch COVID-19.

Nhu cầu tiêu dùng của người dân Việt Nam tăng cao.

Vincom Retail triển khai hiệu quả các chiến lược kinh doanh.

Định hướng phát triển:

  • Vincom Retail tiếp tục tập trung vào mảng kinh doanh trung tâm thương mại, đồng thời đẩy mạnh phát triển mảng bất động sản.

  • Mục tiêu doanh thu và lợi nhuận cho năm 2024 dự kiến sẽ tiếp tục tăng trưởng cao.

  • Vincom Retail đặt mục tiêu trở thành nhà phát triển và vận hành bất động sản bán lẻ hàng đầu Việt Nam.

Phân tích SWOT:

  • Điểm mạnh:

Thương hiệu uy tín.

Hệ thống trung tâm thương mại hiện đại và đa dạng.

Vị trí đắc địa.

Đội ngũ nhân viên chuyên nghiệp.

  • Điểm yếu:

Chi phí hoạt động cao.

Phụ thuộc vào thị trường bán lẻ Việt Nam.

  • Cơ hội:

Nền kinh tế Việt Nam tiếp tục phát triển.

Nhu cầu tiêu dùng của người dân Việt Nam tăng cao.

Thị trường bán lẻ Việt Nam còn nhiều tiềm năng.

  • Thách thức:

Cạnh tranh gay gắt từ các đối thủ trong nước và quốc tế.

Biến động của thị trường kinh tế.

Chính sách của Chính phủ.

Đề xuất giải pháp:

  • Tiếp tục mở rộng hệ thống trung tâm thương mại.

  • Phát triển mảng bất động sản.

  • Tăng cường ứng dụng công nghệ trong hoạt động kinh doanh.

  • Nâng cao chất lượng dịch vụ.

  • Mở rộng thị trường sang các nước khác trong khu vực.

Kết luận chung:

Vincom Retail là một công ty uy tín và có tiềm năng phát triển lớn trong lĩnh vực bán lẻ. Với những chiến lược kinh doanh hiệu quả và

định hướng phát triển rõ ràng, Vincom Retail có thể tiếp tục duy trì đà tăng trưởng trong những năm tới.

LS0tDQp0aXRsZTogIlBIw4JOIFTDjUNIIEvhur5UIFFV4bqiIEhP4bqgVCDEkOG7jE5HIEtJTkggRE9BTkggQ+G7pkEgQ8OUTkcgVFkgVklOQ09NIFJFVEFJTCINCmF1dGhvcjogIk5ndXnhu4VuIEjhu691IEjDoG8iDQpkYXRlOiAiMTUvMDMvMjAyNCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgdG9jOiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogIHdvcmRfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgYWx3YXlzX2FsbG93X2h0bWw6IHRydWUNCiAgcGRmX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIA0KLS0tDQoNCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQpsaWJyYXJ5KERUKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHNjYWxlcykNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHJlYWR4bCkNCmBgYA0KIA0KDQo8c3R5bGU+DQpib2R5IHsNCiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBzYW5zLXNlcmlmOw0KICBmb250LXNpemU6IDE3cHg7DQp9DQogDQpoMiB7DQogIGNvbG9yOiByZWQ7DQp9DQpoMyB7DQogIGNvbG9yOiBncmVlbjsNCn0NCjwvc3R5bGU+DQoNCiMgKipHaeG7m2kgdGhp4buHdSBjaHVuZyoqDQoNCiMjIEdp4bubaSB0aGnhu4d1IHbhu4EgY8O0bmcgdHkNCg0KKipDw7RuZyB0eSBD4buVIHBo4bqnbiBWaW5jb20gUmV0YWlsIChWUkUpIGzDoCBuaMOgIHBow6F0IHRyaeG7g24gdsOgIHbhuq1uIGjDoG5oIHRydW5nIHTDom0gdGjGsMahbmcgbeG6oWkgKFRUVE0pIGjDoG5nIMSR4bqndSBWaeG7h3QgTmFtIHbhu5tpIGjGoW4gODAgVFRUTSB0csOqbiB0b8OgbiBxdeG7kWMsIGJhbyBn4buTbSBjw6FjIHRoxrDGoW5nIGhp4buHdToqKg0KDQotIFZpbmNvbSBDZW50ZXI6IFRUVE0gY2FvIGPhuqVwLCBoaeG7h24gxJHhuqFpLCB04buNYSBs4bqhYyB04bqhaSBjw6FjIHbhu4sgdHLDrSDEkeG6r2MgxJHhu4thIOG7nyB0cnVuZyB0w6JtIHRow6BuaCBwaOG7kSBs4bubbi4NCg0KLSBWaW5jb20gTWVnYSBNYWxsOiBUVFRNIHF1eSBtw7QgbOG7m24sIG1hbmcgxJHhur9uIHRy4bqjaSBuZ2hp4buHbSBtdWEgc+G6r20sIGdp4bqjaSB0csOtLCDhuqltIHRo4buxYyDEkWEgZOG6oW5nIGNobyBj4bqjIGdpYSDEkcOsbmguDQoNCi0gVmluY29tIFBsYXphOiBUVFRNIGPhu5luZyDEkeG7k25nLCDEkcOhcCDhu6luZyBuaHUgY+G6p3UgbXVhIHPhuq9tIHRoaeG6v3QgeeG6v3UgY2hvIG5nxrDhu51pIGTDom4gxJHhu4thIHBoxrDGoW5nLg0KDQotIFZpbmNvbSs6IFRUVE0gbWluaSwgdGnhu4duIGzhu6NpLCB04buNYSBs4bqhYyB04bqhaSBjw6FjIGtodSB24buxYyBkw6JuIGPGsCDEkcO0bmcgxJHDumMuDQoNCioqVmluY29tIFJldGFpbCBsw6AgY8O0bmcgdHkgY29uIGPhu6dhIFThuq1wIMSRb8OgbiBWaW5ncm91cCwgxJHGsOG7o2MgdGjDoG5oIGzhuq1wIHbDoG8gbsSDbSAyMDEyLioqDQoNCioqQ8O0bmcgdHkgQ+G7lSBwaOG6p24gVmluY29tIFJldGFpbCBraW5oIGRvYW5oIGNow61uaCB0cm9uZyBsxKluaCB24buxYyBi4bqldCDEkeG7mW5nIHPhuqNuIGLDoW4gbOG6uywgYmFvIGfhu5NtOioqDQoNCi0gQ2hvIHRodcOqIG3hurd0IGLhurFuZyBiw6FuIGzhursgdOG6oWkgY8OhYyB0cnVuZyB0w6JtIHRoxrDGoW5nIG3huqFpIFZpbmNvbSB0csOqbiB0b8OgbiBxdeG7kWMuIFZpbmNvbSBSZXRhaWwgc+G7nyBo4buvdSBoxqFuIDgwIFRUVE0gduG7m2kgdOG7lW5nIGRp4buHbiB0w61jaCBzw6BuIGLDoW4gbOG6uyBoxqFuIDEsNzUgdHJp4buHdSBtMiwgdOG7jWEgbOG6oWMgdOG6oWkgY8OhYyB24buLIHRyw60gxJHhuq9jIMSR4buLYSDhu58gY8OhYyB0aMOgbmggcGjhu5EgbOG7m24gdsOgIGtodSB24buxYyB0aeG7gW0gbsSDbmcuDQoNCi0gUXXhuqNuIGzDvSB2w6AgduG6rW4gaMOgbmggY8OhYyBUVFRNIFZpbmNvbS4gVmluY29tIFJldGFpbCBjdW5nIGPhuqVwIGPDoWMgZOG7i2NoIHbhu6UgcXXhuqNuIGzDvSB2w6AgduG6rW4gaMOgbmggY2h1ecOqbiBuZ2hp4buHcA0KDQotIFBow6F0IHRyaeG7g24gY8OhYyBk4buxIMOhbiBi4bqldCDEkeG7mW5nIHPhuqNuIGLDoW4gbOG6uyBt4bubaS4gVmluY29tIFJldGFpbCBsacOqbiB04bulYyBt4bufIHLhu5luZyBt4bqhbmcgbMaw4bubaSBUVFRNIFZpbmNvbSB0csOqbiB0b8OgbiBxdeG7kWMsIMSRw6FwIOG7qW5nIG5odSBj4bqndSBtdWEgc+G6r20sIGdp4bqjaSB0csOtIHbDoCDhuqltIHRo4buxYyBuZ8OgeSBjw6BuZyB0xINuZyBj4bunYSBuZ8aw4budaSBkw6JuLg0KDQojIyBN4bulYyDEkcOtY2ggbmdoacOqbiBj4bupdQ0KDQotIFBow6JuIHTDrWNoIGvhur90IHF14bqjIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmggY+G7p2EgKipjw7RuZyB0eSBj4buVIHBo4bqnbiBWaW5jb20gUmV0YWlsIChWUkUpKiogDQoNCi0gxJDDoW5oIGdpw6EgaGnhu4d1IHF14bqjIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmggY+G7p2EgY8O0bmcgdHkuDQoNCi0gWMOhYyDEkeG7i25oIMSRaeG7g20gbeG6oW5oLCDEkWnhu4NtIHnhur91LCBjxqEgaOG7mWkgdsOgIHRow6FjaCB0aOG7qWMgY+G7p2EgY8O0bmcgdHkuDQoNCi0gxJDhu4EgeHXhuqV0IGdp4bqjaSBwaMOhcCBuaOG6sW0gbsOibmcgY2FvIGhp4buHdSBxdeG6oyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPhu6dhIGPDtG5nIHR5Lg0KDQojIyAzLiBQaOG6oW0gdmkgbmdoacOqbiBj4bupdQ0KDQotIFRo4budaSBnaWFuIG5naGnDqm4gY+G7qXU6IDQgcXXDvSBj4bunYSBuxINtIDIwMjMNCg0KLSBE4buvIGxp4buHdSBuZ2hpw6puIGPhu6l1OiBC4bqjbmcgYsOhbyBjw6FvIGvhur90IHF14bqjIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmggdHJvbmcgNCBxdcO9IG7Eg20gMjAyMyBj4bunYSBjw7RuZyB0eQ0KDQoqKk5ndeG7k246KiogQ2FmZWYudm4NCg0KIyMgUGjGsMahbmcgcGjDoXAgbmdoacOqbiBj4bupdQ0KDQotICpQaMawxqFuZyBwaMOhcCBzbyBzw6FuaCoNCg0KLSAqVHLhu7FjIHF1YW4gaMOzYSBk4buvIGxp4buHdSoNCg0KLSAtIC0NCg0KIyAqKlBow6JuIHTDrWNoIGThu68gbGnhu4d1IHbhu4EgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCoqDQoNCg0KKipC4bqjbmcgZOG7ryBsaeG7h3UgdOG7lW5nIHF1YW4gduG7gSBr4bq/dCBxdeG6oyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIHRyb25nIDQgcXXDvSAyMDIzIGPhu6dhIFZpbmNvbSBSZXRhaWwqKg0KDQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkeGwpDQpoaCA8LSByZWFkX3hsc3goIkQ6Ly9uZ8O0biBuZ+G7ryBs4bqtcCB0csOsbmgvL3Phu5EgbGnhu4d1IHRp4buDdSBsdeG6rW4ueGxzeCIpDQpoaCA8LSBuYS5vbWl0KGhoKQ0KZGF0YXRhYmxlKGhoKQ0KYGBgDQoNCiMjIFBow6JuIHTDrWNoIGRvYW5oIHRodSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGPDoWMgZOG7i2NoIHbhu6UNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCkRvYW5odGh1IDwtIGMoMTk0MzI3NjI5ODAzMSwgMjE3MjgyNjc4NTk5MywgMzMzMjU1OTI0ODI0NSwgMjM0MjY3MzAwMDAwMCkNCmRmIDwtIGRhdGEuZnJhbWUoUXV5LCBEb2FuaHRodSkNCmRhdGF0YWJsZShkZikNCmdncGxvdChkZiwgYWVzKHggPSBRdXksIHkgPSBEb2FuaHRodSwpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIGRvYW5oIHRodSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGThu4tjaCB24bulIDQgcXXDvSAyMDIzIiwgeCA9ICJRdcO9IiwgeSA9ICJEb2FuaCB0aHUiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqVOG7qyBiaeG7g3UgxJHhu5MgdHLDqm4gLCB0YSBjw7MgdGjhu4MgdGjhuqV5IMSRxrDhu6NjIERvYW5oIHRodSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGThu4tjaCB24bulIGPDsyB4dSBoxrDhu5tuZyB0xINuZyB0csaw4bufbmcgdGhlbyB04burbmcgcXXDvSwgY+G7pSB0aOG7gzoqKg0KIA0KIFF1w70gMTogMS45NDMuMjc2LjI5OC4wMzEgVk7EkA0KIA0KIFF1w70gMjogMi4xNzIuODI2Ljc4NS45OTMgVk7EkA0KIA0KIFF1w70gMzogMy4zMzIuNTU5LjI0OC4yNDUgVk7EkA0KIA0KIFF1w70gNDogMi4zNDIuNjczLjAwMC4wMDAgVk7EkA0KDQotIERvYW5oIHRodSBxdcO9IDMgY2FvIG5o4bqldCwgZ+G6pXAgZ+G6p24gMSw3IGzhuqduIHNvIHbhu5tpIHF1w70gMSB2w6AgY2FvIGjGoW4gMSw1IGzhuqduIHNvIHbhu5tpIHF1w70gMi4NCg0KLSBEb2FuaCB0aHUgcXXDvSA0IHRo4bqlcCBoxqFuIHNvIHbhu5tpIHF1w70gMyBuaMawbmcgduG6q24gY2FvIGjGoW4gc28gduG7m2kgcXXDvSAxIHbDoCBxdcO9IDIuDQoNCioqTMO9IGdp4bqjaToqKg0KDQotIFF1w70gMTogRG8g4bqjbmggaMaw4bufbmcgY+G7p2EgbeG7mXQgc+G7kSB54bq/dSB04buRIGtpbmggdOG6vyxUw6xuaCBow6xuaCB0aOG7iyB0csaw4budbmcgYuG6pXQgxJHhu5luZyBz4bqjbi4uLiwgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBj4bunYSBWaW5jb20gUmV0YWlsIGLhu4sg4bqjbmggaMaw4bufbmcsIGThuqtuIMSR4bq/biBkb2FuaCB0aHUgdGjhuqVwLg0KDQotIFF1w70gMjogS2luaCB04bq/IGThuqduIHBo4bulYyBo4buTaSwgY8O0bmcgdHkgY8OzIGPDoWMgY2hp4bq/biBsxrDhu6NuZyB2w6AgYmnhu4duIHBow6FwLCBkb2FuaCB0aHUgY+G7p2EgVmluY29tIFJldGFpbCBi4bqvdCDEkeG6p3UgdMSDbmcuDQoNCi0gUXXDvSAzOiDEkMOieSBsw6AgbcO5YSBjYW8gxJFp4buDbSBtdWEgc+G6r20gKGvhu7Mgbmdo4buJIGjDqCwgbOG7hSBUcnVuZyB0aHUpIG7Dqm4gZG9hbmggdGh1IGPhu6dhIFZpbmNvbSBSZXRhaWwgdMSDbmcgbeG6oW5oLg0KDQotIFF1w70gNDogRG9hbmggdGh1IGdp4bqjbSBzbyB24bubaSBxdcO9IDMgbmjGsG5nIHbhuqtuIGNhbyBoxqFuIHNvIHbhu5tpIHbhuqtuIHTEg25nIHNvIHbhu5tpIDIga+G7syB0csaw4bubYy4NCg0KDQojIyBQaMOibiB0w61jaCBEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmgNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCkRvYW5odGh1MSA8LSBjKDIyMzgxNjA1ODEyMiwgMjc4MTUyNjkxNTQyLCAzMDE0MDgyNjUzODYsIDM0Mjk2MjAwMDAwMCkNCmRmMSA8LSBkYXRhLmZyYW1lKFF1eSwgRG9hbmh0aHUxKQ0KZGF0YXRhYmxlKGRmMSkNCmdncGxvdChkZiwgYWVzKHggPSBRdXksIHkgPSBEb2FuaHRodTEsKSkgKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBkb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gIkRvYW5oIHRodSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0KKipE4buxYSB2w6BvIGJp4buDdSDEkeG7kyB0csOqbix0YSB0aOG6pXkgxJHGsOG7o2MgZG9hbmggdGh1IGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oIGPhu6dhIFZpbmNvbSBSZXRhaWwgdHJvbmcgNCBxdcO9IG7Eg20gMjAyMyBjw7Mgc+G7sSB0xINuZyB0csaw4bufbmcgxJHhu4F1IMSR4bq3biB0aGVvIHThu6tuZyBxdcO9OioqDQoNCi0gUXXDvSAxLzIwMjM6IERvYW5oIHRodSDEkeG6oXQgMjIuMzgxLjYwNS44MTIgxJHhu5NuZy4NCg0KLSBRdcO9IDIvMjAyMzogRG9hbmggdGh1IMSR4bqhdCAyNy44MTUuMjY5LjE1NDIgxJHhu5NuZywgdMSDbmcgMjQsMyUgc28gduG7m2kgcXXDvSAxLg0KDQotIFF1w70gMy8yMDIzOiBEb2FuaCB0aHUgxJHhuqF0IDMwLjE0MC44MjYuNTM4NiDEkeG7k25nLCB0xINuZyA4LDMlIHNvIHbhu5tpIHF1w70gMi4NCg0KLSBRdcO9IDQvMjAyMzogRG9hbmggdGh1IMSR4bqhdCAzNC4yOTYuMjAwLjAwMCDEkeG7k25nLCB0xINuZyAxMyw4JSBzbyB24bubaSBxdcO9IDMuDQoNCioqTmjDrG4gY2h1bmcsIGRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCBj4bunYSBWaW5jb20gUmV0YWlsIHRyb25nIG7Eg20gMjAyMyBjw7Mgc+G7sSB0xINuZyB0csaw4bufbmcgdMOtY2ggY+G7sWMsIGNobyB0aOG6pXkgaGnhu4d1IHF14bqjIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmggY+G7p2EgY8O0bmcgdHkgxJFhbmcgxJHGsOG7o2MgY+G6o2kgdGhp4buHbi4qKg0KDQoqKk3hu5l0IHPhu5Egbmjhuq1uIMSR4buLbmggZOG7sWEgdHLDqm4gc+G7sSB0xINuZyB0csaw4bufbmcgbsOgeToqKg0KDQotIFZpbmNvbSBSZXRhaWwgY8OzIHRo4buDIMSRYW5nIMSR4bqpeSBt4bqhbmggaG/huqF0IMSR4buZbmcgxJHhuqd1IHTGsCB0w6BpIGNow61uaCwgZOG6q24gxJHhur9uIGRvYW5oIHRodSB0xINuZy4NCg0KLSBIb+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPhu5F0IGzDtWkgY+G7p2EgVmluY29tIFJldGFpbCDEkWFuZyBob+G6oXQgxJHhu5luZyBoaeG7h3UgcXXhuqMsIHThuqFvIHJhIG5ndeG7k24gdGnhu4FuIGThu5NpIGTDoG8gxJHhu4MgxJHhuqd1IHTGsCB0w6BpIGNow61uaC4NCg0KLSBWaW5jb20gUmV0YWlsIGPDsyB0aOG7gyDEkWFuZyDDoXAgZOG7pW5nIGNoaeG6v24gbMaw4bujYyB0w6BpIGNow61uaCBoaeG7h3UgcXXhuqMsIGdpw7pwIHThu5FpIMawdSBow7NhIGRvYW5oIHRodSB04burIGhv4bqhdCDEkeG7mW5nIMSR4bqndSB0xrAuDQoNCiMjIFBow6JuIHTDrWNoIGdpw6EgduG7kW4gYsOhbiBow6BuZw0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUXV5IDwtIGMoIlF1w70gMSAtIDIwMjMiLCAiUXXDvSAyIC0gMjAyMyIsICJRdcO9IDMgLSAyMDIzIiwgIlF1w70gNCAtIDIwMjMiKQ0KZ2lhdm9uIDwtIGMoNzU0OTI0MjM5OTA0LDk4MzQ0NDUwMDU3MiwxNjMyNDkwOTA3MjYxLDEwNzQ1OTEwMDAwMDApDQpkZjIgPC0gZGF0YS5mcmFtZShRdXksIGdpYXZvbikNCmRhdGF0YWJsZShkZjIpDQpnZ3Bsb3QoZGYyLCBhZXMoeCA9IFF1eSwgeSA9IGdpYXZvbiwpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIGdpw6EgduG7kW4gYsOhbiBow6BuZyA0IHF1w70gMjAyMyIsIHggPSAiUXXDvSIsIHkgPSAiR2nDoSB24buRbiIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0KKipRdWEgxJHhu5MgdGjhu4sgduG7gSBnacOhIHbhu5FuIGLDoW4gaMOgbmcgdsOgIMSR4buTIHRo4buLIHbhu4EgZG9hbmggdGh1IGLDoW4gaMOgbmcsIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UsIHRhIGPDsyB0aOG7gyDEkcawYSByYSBt4buZdCBz4buRIG5o4bqtbiB4w6l0IHNhdSoqDQoNCi0gSGnhu4d1IHF14bqjIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmg6IERvYW5oIHRodSB0xINuZyBjYW8gaMahbiBnacOhIHbhu5FuIGLDoW4gaMOgbmcgY2hvIHRo4bqleSBWaW5jb20gUmV0YWlsIMSRYW5nIGhv4bqhdCDEkeG7mW5nIGhp4buHdSBxdeG6oywgY8OzIGto4bqjIG7Eg25nIGtp4buDbSBzb8OhdCBjaGkgcGjDrSB04buRdCB2w6AgdOG6oW8gcmEgbOG7o2kgbmh14bqtbiBn4buZcCBjYW8uDQoNCi0gTmh1IGPhuqd1IHRo4buLIHRyxrDhu51uZzogRG9hbmggdGh1IHTEg25nIGNobyB0aOG6pXkgbmh1IGPhuqd1IHRpw6p1IGTDuW5nIMSR4buRaSB24bubaSBjw6FjIHPhuqNuIHBo4bqpbSB2w6AgZOG7i2NoIHbhu6UgY+G7p2EgVmluY29tIFJldGFpbCB24bqrbiDhu58gbeG7qWMgY2FvLCBi4bqldCBjaOG6pXAgdmnhu4djIGdpw6EgY+G6oyB0xINuZy4NCg0KLSBLaOG6oyBuxINuZyBj4bqhbmggdHJhbmg6IFZp4buHYyBkdXkgdHLDrCDEkcaw4bujYyBt4bupYyB0xINuZyB0csaw4bufbmcgZG9hbmggdGh1IHRyb25nIGLhu5FpIGPhuqNuaCBnacOhIHbhu5FuIHTEg25nIGNhbyBjaG8gdGjhuqV5IFZpbmNvbSBSZXRhaWwgY8OzIGto4bqjIG7Eg25nIGPhuqFuaCB0cmFuaCB04buRdCB0csOqbiB0aOG7iyB0csaw4budbmcuDQoNCioqTmd1ecOqbiBuaMOibiB0xINuZyBnacOhIHbhu5FuIGLDoW4gaMOgbmcgY+G7p2EgY8O0bmcgdHkgVmluY29tIFJldGFpbDoqKg0KDQotICoqVMSDbmcgZ2nDoSBuZ3V5w6puIHbhuq10IGxp4buHdToqKkdpw6Egbmd1ecOqbiB24bqtdCBsaeG7h3UgxJHhuqd1IHbDoG8gbmjGsCB0aMOpcCwgeGkgbcSDbmcsIGPDoXQsIMSRw6EuLi4gdMSDbmcgZG8g4bqjbmggaMaw4bufbmcgY+G7p2Egbmhp4buBdSB54bq/dSB04buRIG5oxrAgZ2nDoSBuaGnDqm4gbGnhu4d1LCBjaGkgcGjDrSB24bqtbiBjaHV54buDbiwuLi5WaW5jb20gUmV0YWlsIHPhu60gZOG7pW5nIG5oaeG7gXUgbmd1ecOqbiB24bqtdCBsaeG7h3UgxJHhuqd1IHbDoG8gY2hvIGPDoWMgaG/huqF0IMSR4buZbmcgeMOieSBk4buxbmcsIHPhu61hIGNo4buvYSB2w6AgduG6rW4gaMOgbmggdHJ1bmcgdMOibSB0aMawxqFuZyBt4bqhaS4NCg0KLSAqKlTEg25nIGNoaSBwaMOtIG5ow6JuIGPDtG5nOioqTeG7qWMgbMawxqFuZyB04buRaSB0aGnhu4N1IHbDuW5nIHTEg25nLCBjaGkgcGjDrSBi4bqjbyBoaeG7g20geMOjIGjhu5lpLCBi4bqjbyBoaeG7g20geSB04bq/Li4uIHTEg25nIGThuqtuIMSR4bq/biBjaGkgcGjDrSBuaMOibiBjw7RuZyB0xINuZy4NClZpbmNvbSBSZXRhaWwgY8OzIMSR4buZaSBuZ8WpIG5ow6JuIHZpw6puIGzhu5tuIHbhu5tpIGjGoW4gNDAuMDAwIG5nxrDhu51pLCBkbyDEkcOzIGNoaSBwaMOtIG5ow6JuIGPDtG5nIGzDoCBt4buZdCBraG/huqNuIGNoaSBwaMOtIGzhu5tuIGPhu6dhIGPDtG5nIHR5Lg0KDQotICoqVMSDbmcgY2hpIHBow60gdGh1w6ogbeG6t3QgYuG6sW5nOioqR2nDoSB0aHXDqiBt4bq3dCBi4bqxbmcgdOG6oWkgY8OhYyB24buLIHRyw60gxJHhuq9jIMSR4buLYSwgbsahaSBWaW5jb20gUmV0YWlsIMSR4bq3dCBjw6FjIHRydW5nIHTDom0gdGjGsMahbmcgbeG6oWksIHRoxrDhu51uZyBjYW8gdsOgIGPDsyB4dSBoxrDhu5tuZyB0xINuZy5WaW5jb20gUmV0YWlsIGPDsyBuaGnhu4F1IHRydW5nIHTDom0gdGjGsMahbmcgbeG6oWkgxJHhurd0IHThuqFpIGPDoWMgduG7iyB0csOtIMSR4bqvYyDEkeG7i2EsIGRvIMSRw7MgY2hpIHBow60gdGh1w6ogbeG6t3QgYuG6sW5nIGzDoCBt4buZdCBraG/huqNuIGNoaSBwaMOtIGzhu5tuIGPhu6dhIGPDtG5nIHR5Lg0KDQotICoqVMSDbmcgY2hpIHBow60gbWFya2V0aW5nOioqVmluY29tIFJldGFpbCB0xINuZyBjxrDhu51uZyBjw6FjIGhv4bqhdCDEkeG7mW5nIG1hcmtldGluZyDEkeG7gyB0aHUgaMO6dCBraMOhY2ggaMOgbmcgdsOgIHF14bqjbmcgYsOhIHRoxrDGoW5nIGhp4buHdSwgZOG6q24gxJHhur9uIGNoaSBwaMOtIG1hcmtldGluZyB0xINuZy5WaW5jb20gUmV0YWlsIGzDoCBt4buZdCBjw7RuZyB0eSBs4bubbiB24bubaSB0aMawxqFuZyBoaeG7h3UgbeG6oW5oLCBkbyDEkcOzIGPDtG5nIHR5IGPhuqduIMSR4bqndSB0xrAgbmhp4buBdSBjaG8gY8OhYyBob+G6oXQgxJHhu5luZyBtYXJrZXRpbmcgxJHhu4MgZHV5IHRyw6wgduG7iyB0aOG6vyBj4bqhbmggdHJhbmguDQoNCi0gKipUxINuZyBjaGkgcGjDrSB24bqtbiBow6BuaDoqKkNoaSBwaMOtIHbhuq1uIGjDoG5oIGPDoWMgdHJ1bmcgdMOibSB0aMawxqFuZyBt4bqhaSBuaMawIMSRaeG7h24gbsaw4bubYywgYuG6o28gdHLDrCwgc+G7rWEgY2jhu69hLi4uIHTEg25nLlZpbmNvbSBSZXRhaWwgY8OzIG5oaeG7gXUgdHJ1bmcgdMOibSB0aMawxqFuZyBt4bqhaSB24bubaSBkaeG7h24gdMOtY2ggbOG7m24sIGRvIMSRw7MgY2hpIHBow60gduG6rW4gaMOgbmggbMOgIG3hu5l0IGtob+G6o24gY2hpIHBow60gbOG7m24gY+G7p2EgY8O0bmcgdHkuDQoNCi0gKipOZ2/DoGkgcmEsIG3hu5l0IHPhu5Egbmd1ecOqbiBuaMOibiBraMOhYyBjw7MgdGjhu4MgZOG6q24gxJHhur9uIGdpw6EgduG7kW4gYsOhbiBow6BuZyBj4bunYSBWaW5jb20gUmV0YWlsIHTEg25nOioqDQoNClRoYXkgxJHhu5VpIHThu7cgZ2nDoSBo4buRaSDEkW/DoWkNCg0KVMSDbmcgY8aw4budbmcgxJHhuqd1IHTGsCB2w6BvIGPDtG5nIG5naOG7hyB2w6AgdGhp4bq/dCBi4buLDQoNCk3hu58gcuG7mW5nIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmgNCg0KLSAqKsSQ4buDIGdp4bqjbSBnacOhIHbhu5FuIGLDoW4gaMOgbmcsIFZpbmNvbSBSZXRhaWwgY8OzIHRo4buDIMOhcCBk4bulbmcgbeG7mXQgc+G7kSBiaeG7h24gcGjDoXA6KioNCg0KVMOsbSBraeG6v20gbmjDoCBjdW5nIGPhuqVwIG5ndXnDqm4gduG6rXQgbGnhu4d1IHbhu5tpIGdpw6EgdOG7kXQgaMahbi5UxINuZyBoaeG7h3UgcXXhuqMgc+G7rSBk4bulbmcgbmd1ecOqbiB24bqtdCBsaeG7h3UNCg0KVOG7kWkgxrB1IGjDs2EgY2hpIHBow60gbmjDom4gY8O0bmcNCg0KVMOsbSBraeG6v20gY8OhYyB24buLIHRyw60gbeG6t3QgYuG6sW5nIGPDsyBnacOhIHRodcOqIGjhu6NwIGzDvQ0KDQpT4butIGThu6VuZyBjw6FjIGvDqm5oIG1hcmtldGluZyBoaeG7h3UgcXXhuqMgaMahbg0KDQpU4buRaSDGsHUgaMOzYSBjaGkgcGjDrSB24bqtbiBow6BuaA0KDQpD4bqnbiBsxrB1IMO9IHLhurFuZywgdmnhu4djIGdpw6EgduG7kW4gYsOhbiBow6BuZyB0xINuZyBraMO0bmcgxJHhu5NuZyBuZ2jEqWEgduG7m2kgdmnhu4djIGzhu6NpIG5odeG6rW4gY+G7p2EgY8O0bmcgdHkgc+G6vSBnaeG6o20uIE7hur91IGRvYW5oIHRodSBiw6FuIGjDoG5nIHTEg25nIGNhbyBoxqFuIG3hu6ljIHTEg25nIGdpw6EgduG7kW4gYsOhbiBow6BuZywgbOG7o2kgbmh14bqtbiBj4bunYSBjw7RuZyB0eSB24bqrbiBjw7MgdGjhu4MgdMSDbmcuDQoNCiMjIFBow6JuIHTDrWNoIEzhu6NpIG5odeG6rW4gZ+G7mXAgduG7gSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGThu4tjaCB24bulDQoNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpRdXkgPC0gYygiUXXDvSAxIC0gMjAyMyIsICJRdcO9IDIgLSAyMDIzIiwgIlF1w70gMyAtIDIwMjMiLCAiUXXDvSA0IC0gMjAyMyIpDQpsb2luaHVhbiA8LSBjKDExODgzNTIwNTgxMjcsMTE4OTM4MjI4NTQyMSwxNzAwMDY4MzQwOTg0LDEyNjgwODIwMDAwMDApDQpkZjMgPC0gZGF0YS5mcmFtZShRdXksIGxvaW5odWFuKQ0KZGF0YXRhYmxlKGRmMykNCmRmMyRuaG9tIDwtIGlmZWxzZShkZiRRdXkgPD0gIlF1w70gMSAyMDIzIiwgIk7hu61hIMSR4bqndSBuxINtIiwgIk7hu61hIGN14buRaSBuxINtIikNCg0KZ2dwbG90KGRmMywgYWVzX3N0cmluZyh4ID0gIlF1eSIsIHkgPSAibG9pbmh1YW4iLCBncm91cCA9ICJuaG9tIikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJjcm9zc2JhciIsIHdpZHRoID0gMC40LCBsaW5ld2lkdGggPSAwLjQpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgbOG7o2kgbmh14bqtbiBn4buZcCB24buBIGLDoW4gaMOgbmcgdsOgIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UiKQ0KDQoNCmBgYA0KDQoqKlRow7RuZyBxdWEgxJHhu5MgdGjhu4sgdHLDqm4sIHRhIGPDsyBt4buZdCBz4buRIG5o4bqtbiDEkeG7i25oIG5oxrAgc2F1KioNCg0KKjEuWHUgaMaw4bubbmcgY2h1bmc6Kg0KDQotIEzhu6NpIG5odeG6rW4gZ+G7mXAgY8OzIHh1IGjGsOG7m25nIHTEg25nIHRyb25nIGPhuqMgbsSDbSAyMDIzLEPhu6UgdGjhu4M6DQoNClF1w70gMTogMS4xODguMzUyLjA1OC4xMjcgVk7EkA0KDQpRdcO9IDI6IDEuMTg5LjM4Mi4yODUuNDIxIFZOxJANCg0KUXXDvSAzOiAxLjcwMC4wNjguMzQwLjk4NCBWTsSQDQoNClF1w70gNDogMS4yNjguMDgyLjAwMC4wMDAgVk7EkA0KDQotIEzhu6NpIG5odeG6rW4gZ+G7mXAgcXXDvSAzIGNhbyBuaOG6pXQsIGfhuqVwIDEsNDMgbOG6p24gc28gduG7m2kgcXXDvSAxLg0KDQoqMi4gQmnhu4N1IGhp4buHbiBj4bulIHRo4buDOioNCg0KRG9hbmggdGh1IHRodeG6p24gduG7gSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGThu4tjaCB24bulIGPFqW5nIHTEg25nIMSR4buBdSDEkeG6t24gcXVhIGPDoWMgcXXDvS4NCg0KR2nDoSB24buRbiBow6BuZyBiw6FuIHTEg25nIG5oYW5oIGjGoW4gZG9hbmggdGh1IHRodeG6p24sIGThuqtuIMSR4bq/biBs4bujaSBuaHXhuq1uIGfhu5lwIHF1w70gNCBnaeG6o20gc28gduG7m2kgcXXDvSAzLg0KDQpU4bu3IHN14bqldCBs4bujaSBuaHXhuq1uIGfhu5lwIChs4bujaSBuaHXhuq1uIGfhu5lwIC8gZG9hbmggdGh1IHRodeG6p24pIGdp4bqjbSBuaOG6uSB04burIHF1w70gMSDEkeG6v24gcXXDvSA0Lg0KDQoqMy4gxJDDoW5oIGdpw6E6Kg0KDQotIFh1IGjGsOG7m25nIHTEg25nIGPhu6dhIGzhu6NpIG5odeG6rW4gZ+G7mXAgbMOgIHTDrW4gaGnhu4d1IHTDrWNoIGPhu7FjIGNobyB0aOG6pXkgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBoaeG7h3UgcXXhuqMuDQoNCi0gVHV5IG5oacOqbiwgc+G7sSBnaWEgdMSDbmcgY+G7p2EgZ2nDoSB24buRbiBow6BuZyBiw6FuIGPhuqduIMSRxrDhu6NjIHRoZW8gZMO1aSB2w6Aga2nhu4NtIHNvw6F0IMSR4buDIGR1eSB0csOsIHThu7cgc3XhuqV0IGzhu6NpIG5odeG6rW4gZ+G7mXAg4bufIG3hu6ljIGNhby4NCg0KIyMgUGjDom4gdMOtY2ggY2hpIHBow60gdMOgaSBjaMOtbmgNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCmNoaXBoaSA8LSBjKDEwMDQwODM5MzM0OSw3OTk5OTg5OTE5NCw3NTg4ODcwNTg3NCw3NDEyOTAwMDAwMCkNCmRmNCA8LSBkYXRhLmZyYW1lKFF1eSwgY2hpcGhpKQ0KZGF0YXRhYmxlKGRmNCkNCmdncGxvdChkZjQsIGFlcyh4ID0gUXV5LCB5ID0gY2hpcGhpLCkpICsNCiAgZ2VvbV9jb2woc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgY2hpIHBow60gdMOgaSBjaMOtbmggNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImNoaSBwaMOtIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBYdSBoxrDhu5tuZyBjaHVuZzoqDQoNCi0gQ2hpIHBow60gdMOgaSBjaMOtbmggY+G7p2EgY8O0bmcgdHkgZ2nhuqNtIGThuqduIHRyb25nIDQgcXXDvSwgdOG7qyAxMDAsNDA4IHThu7cgxJHhu5NuZyB0cm9uZyBxdcO9IDEgeHXhu5FuZyBjw7JuIDc0LDEyOSB04bu3IMSR4buTbmcgdHJvbmcgcXXDvSA0Lg0KDQotIE3hu6ljIGdp4bqjbSBuw6B5IGtow7RuZyDEkcOhbmcga+G7gywgY2jhu4kga2hv4bqjbmcgMjYlLg0KDQotIENoaSBwaMOtIHTDoGkgY2jDrW5oIGNoaeG6v20gdOG7tyBs4buHIG5o4buPIHRyb25nIGRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCwgdOG7qyA0NSUgdHJvbmcgcXXDvSAxIHh14buRbmcgY8OybiAyMiUgdHJvbmcgcXXDvSA0Lg0KDQoqMi4gUGjDom4gdMOtY2ggdGhlbyB04burbmcgcXXDvToqDQoNCi1RdcO9IDE6DQpDaGkgcGjDrSB0w6BpIGNow61uaCBjYW8gbmjhuqV0LCBjaGnhur9tIDQ1JSBkb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmguDQpOZ3V5w6puIG5ow6JuIGPDsyB0aOG7gyBkbzoNCk5odSBj4bqndSB2YXkgduG7kW4gY2FvIMSR4buDIMSR4bqndSB0xrAgY2hvIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmguDQpMw6NpIHN14bqldCB2YXkgY2FvLg0KDQotIFF1w70gMjoNCkNoaSBwaMOtIHTDoGkgY2jDrW5oIGdp4bqjbSAyMCUgc28gduG7m2kgcXXDvSAxLg0KRG9hbmggdGh1IGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oIHTEg25nIDI0JS4NClThu7cgbOG7hyBjaGkgcGjDrSB0w6BpIGNow61uaCB0csOqbiBkb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggZ2nhuqNtIHh14buRbmcgMzYlLg0KDQotIFF1w70gMzoNCkNoaSBwaMOtIHTDoGkgY2jDrW5oIGdp4bqjbSA1JSBzbyB24bubaSBxdcO9IDIuDQpEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggdMSDbmcgNDIlLg0KVOG7tyBs4buHIGNoaSBwaMOtIHTDoGkgY2jDrW5oIHRyw6puIGRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCBnaeG6o20geHXhu5FuZyAyMyUuDQoNCi0gUXXDvSA0Og0KQ2hpIHBow60gdMOgaSBjaMOtbmggZ2nhuqNtIDIlIHNvIHbhu5tpIHF1w70gMy4NCkRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCB0xINuZyAxMyUuDQpU4bu3IGzhu4cgY2hpIHBow60gdMOgaSBjaMOtbmggdHLDqm4gZG9hbmggdGh1IGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oIGdp4bqjbSB4deG7kW5nIDIyJS4NCg0KKjMuIMSQw6FuaCBnacOhOioNCg0KLSBWaeG7h2MgY2hpIHBow60gdMOgaSBjaMOtbmggZ2nhuqNtIGThuqduIGNobyB0aOG6pXkgY8O0bmcgdHkgxJHDoyBjw7Mgbmjhu69uZyBiaeG7h24gcGjDoXAgaGnhu4d1IHF14bqjIMSR4buDIGtp4buDbSBzb8OhdCBjaGkgcGjDrSB2YXkgduG7kW4uDQoNCi0gVHV5IG5oacOqbiwgdOG7tyBs4buHIGNoaSBwaMOtIHTDoGkgY2jDrW5oIHRyw6puIGRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCB24bqrbiBjw7JuIGNhbywgY+G6p24gdGnhur9wIHThu6VjIMSRxrDhu6NjIGdp4bqjbSB4deG7kW5nIMSR4buDIG7Dom5nIGNhbyBoaeG7h3UgcXXhuqMgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmguDQoNCio0LiBLaHV54bq/biBuZ2jhu4s6Kg0KDQotIFRp4bq/cCB04bulYyB0w6xtIGtp4bq/bSBjw6FjIG5ndeG7k24gduG7kW4gdmF5IHbhu5tpIGzDo2kgc3XhuqV0IHRo4bqlcCBoxqFuLg0KDQotIFTEg25nIGPGsOG7nW5nIHPhu60gZOG7pW5nIHbhu5FuIHThu7EgY8OzIHRyb25nIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmguDQoNCi0gVMSDbmcgaGnhu4d1IHF14bqjIHPhu60gZOG7pW5nIHbhu5FuIMSR4buDIG7Dom5nIGNhbyBs4bujaSBuaHXhuq1uIGhv4bqhdCDEkeG7mW5nLg0KDQojIyBQaMOibiB0w61jaCBjaGkgcGjDrSBiw6FuIGjDoG5nDQoNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpRdXkgPC0gYygiUXXDvSAxIC0gMjAyMyIsICJRdcO9IDIgLSAyMDIzIiwgIlF1w70gMyAtIDIwMjMiLCAiUXXDvSA0IC0gMjAyMyIpDQpjaGlwaGkxIDwtIGMoMjg2Nzc2NzMyMTUsNDQwMzkzMDI0MjQsMTg0NzY5MTQxNDkzLDgzNzgyMDAwMDAwKQ0KZGY1IDwtIGRhdGEuZnJhbWUoUXV5LCBjaGlwaGkxKQ0KZGF0YXRhYmxlKGRmNSkNCmdncGxvdChkZjUsIGFlcyh4ID0gUXV5LCB5ID0gY2hpcGhpMSwpKSArDQogIGdlb21fY29sKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIGNoaSBwaMOtIGLDoW4gaMOgbmcgNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImNoaSBwaMOtIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkThu7FhIHbDoG8gxJHhu5MgdGjhu4sgdsOgIGLhuqNuZyBz4buRIGxp4buHdSwgdGEgY8OzIHRo4buDIG5o4bqtbiDEkeG7i25oIG3hu5l0IHPhu5EgxJFp4buBdSBuaMawIHNhdToqKg0KDQoqMS4gWHUgaMaw4bubbmcgY2h1bmc6Kg0KDQpDaGkgcGjDrSBiw6FuIGjDoG5nIGPhu6dhIGPDtG5nIHR5IHTEg25nIG3huqFuaCB0cm9uZyA0IHF1w70sIHThu6sgMjgsNjc3IHThu7cgxJHhu5NuZyB0cm9uZyBxdcO9IDEgbMOqbiA4Myw3ODIgdOG7tyDEkeG7k25nIHRyb25nIHF1w70gNC4NCk3hu6ljIHTEg25nIG7DoHkgcuG6pXQgY2FvLCBn4bqnbiBn4bqlcCAzIGzhuqduLg0KQ2hpIHBow60gYsOhbiBow6BuZyBjaGnhur9tIHThu7cgbOG7hyBuZ8OgeSBjw6BuZyBjYW8gdHJvbmcgZG9hbmggdGh1IHRodeG6p24sIHThu6sgMSw0OCUgdHJvbmcgcXXDvSAxIGzDqm4gMyw1OCUgdHJvbmcgcXXDvSA0Lg0KKjIuIFBow6JuIHTDrWNoIHRoZW8gdOG7q25nIHF1w706Kg0KDQotIFF1w70gMTpDaGkgcGjDrSBiw6FuIGjDoG5nIHRo4bqlcCBuaOG6pXQsIGNoaeG6v20gMSw0OCUgZG9hbmggdGh1IHRodeG6p24uDQoNCi0gUXXDvSAyOkNoaSBwaMOtIGLDoW4gaMOgbmcgdMSDbmcgNTQlIHNvIHbhu5tpIHF1w70gMS5Eb2FuaCB0aHUgdGh14bqnbiB0xINuZyAxMiUuDQpU4bu3IGzhu4cgY2hpIHBow60gYsOhbiBow6BuZyB0csOqbiBkb2FuaCB0aHUgdGh14bqnbiB0xINuZyBsw6puIDIsMDMlLg0KDQotIFF1w70gMzpDaGkgcGjDrSBiw6FuIGjDoG5nIHTEg25nIDMxNyUgc28gduG7m2kgcXXDvSAyLg0KRG9hbmggdGh1IHRodeG6p24gdMSDbmcgNTMlLg0KVOG7tyBs4buHIGNoaSBwaMOtIGLDoW4gaMOgbmcgdHLDqm4gZG9hbmggdGh1IHRodeG6p24gdMSDbmcgbMOqbiAzLDI0JS4NCg0KLSBRdcO9IDQ6Q2hpIHBow60gYsOhbiBow6BuZyB0xINuZyA0NiUgc28gduG7m2kgcXXDvSAzLg0KRG9hbmggdGh1IHRodeG6p24gZ2nhuqNtIDM1JS4NClThu7cgbOG7hyBjaGkgcGjDrSBiw6FuIGjDoG5nIHRyw6puIGRvYW5oIHRodSB0aHXhuqduIHTEg25nIGzDqm4gMyw1OCUuDQoNCiozLiDEkMOhbmggZ2nDoToqDQoNCi0gVmnhu4djIGNoaSBwaMOtIGLDoW4gaMOgbmcgdMSDbmcgbeG6oW5oIGzDoCBt4buZdCB0w61uIGhp4buHdSDEkcOhbmcgbG8gbmfhuqFpLg0KDQotIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IGPDtG5nIHR5IMSRYW5nIGNoaSBuaGnhu4F1IHRp4buBbiBjaG8gY8OhYyBob+G6oXQgxJHhu5luZyBiw6FuIGjDoG5nIG5oxrBuZyBraMO0bmcgaGnhu4d1IHF14bqjLg0KDQotIEPhuqduIHTDrG0gcmEgbmd1ecOqbiBuaMOibiBj4bunYSB2aeG7h2MgY2hpIHBow60gYsOhbiBow6BuZyB0xINuZyBjYW8gdsOgIGPDsyBiaeG7h24gcGjDoXAga2jhuq9jIHBo4bulYy4NCg0KKjQuIEtodXnhur9uIG5naOG7izoqDQoNCi0gUsOgIHNvw6F0IGzhuqFpIGPDoWMgaG/huqF0IMSR4buZbmcgYsOhbiBow6BuZyB2w6AgeMOhYyDEkeG7i25oIG5o4buvbmcgaG/huqF0IMSR4buZbmcga2jDtG5nIGhp4buHdSBxdeG6oy4NCg0KLSBD4bqvdCBnaeG6o20gbmjhu69uZyBob+G6oXQgxJHhu5luZyBiw6FuIGjDoG5nIGtow7RuZyBoaeG7h3UgcXXhuqMgdsOgIHThuq1wIHRydW5nIHbDoG8gbmjhu69uZyBob+G6oXQgxJHhu5luZyBoaeG7h3UgcXXhuqMuDQoNCi0gVMOsbSBraeG6v20gY8OhYyBnaeG6o2kgcGjDoXAgYsOhbiBow6BuZyBoaeG7h3UgcXXhuqMgaMahbiDEkeG7gyBnaeG6o20gY2hpIHBow60gYsOhbiBow6BuZy4NCg0KDQojIyBQaMOibiB0w61jaCBjaGkgcGjDrSBxdeG6o24gbMOtIGRvYW5oIG5naGnhu4dwDQoNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCmNoaXBoaTIgPC0gYyg3OTA0Njg4ODU4OSw3Mzc5NDkxNzEwOSwxMDY2NDQ5NTM2MTEsMTc5MTYzMDAwMDAwKQ0KZGY2IDwtIGRhdGEuZnJhbWUoUXV5LCBjaGlwaGkyKQ0KZGF0YXRhYmxlKGRmNikNCmdncGxvdChkZjYsIGFlcyh4ID0gUXV5LCB5ID0gY2hpcGhpMiwpKSArDQogIGdlb21fY29sKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIGNoaSBwaMOtIHF14bqjbiBsw60gZG9hbmggbmdoaeG7h3AgNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImNoaSBwaMOtIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkThu7FhIHbDoG8gxJHhu5MgdGjhu4sgdsOgIGLhuqNuZyBz4buRIGxp4buHdSwgdGEgY8OzIHRo4buDIG5o4bqtbiDEkeG7i25oIG3hu5l0IHPhu5EgxJFp4buBdSBuaMawIHNhdToqKg0KDQoqMS4gWHUgaMaw4bubbmcgY2h1bmc6Kg0KDQotIENoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgY+G7p2EgY8O0bmcgdHkgdMSDbmcgZOG6p24gdHJvbmcgNCBxdcO9LCB04burIDc5LDA0NyB04bu3IMSR4buTbmcgdHJvbmcgcXXDvSAxIGzDqm4gMTc5LDE2MyB04bu3IMSR4buTbmcgdHJvbmcgcXXDvSA0Lg0KDQotIE3hu6ljIHTEg25nIG7DoHkgcuG6pXQgY2FvLCBn4bqnbiBn4bqlcCAyLDMgbOG6p24uDQoNCi0gQ2hpIHBow60gcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcCBjaGnhur9tIHThu7cgbOG7hyBuZ8OgeSBjw6BuZyBjYW8gdHJvbmcgZG9hbmggdGh1IHRodeG6p24sIHThu6sgNCwwNyUgdHJvbmcgcXXDvSAxIGzDqm4gNyw2NSUgdHJvbmcgcXXDvSA0Lg0KDQoqMi4gUGjDom4gdMOtY2ggdGhlbyB04burbmcgcXXDvToqDQoNCi0gUXXDvSAxOkNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgdGjhuqVwIG5o4bqldCwgY2hp4bq/bSA0LDA3JSBkb2FuaCB0aHUgdGh14bqnbi4NCg0KLSBRdcO9IDI6Q2hpIHBow60gcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcCB0xINuZyA2LDElIHNvIHbhu5tpIHF1w70gMS5Eb2FuaCB0aHUgdGh14bqnbiB0xINuZyAxMSUuVOG7tyBs4buHIGNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgdHLDqm4gZG9hbmggdGh1IHRodeG6p24gZ2nhuqNtIHh14buRbmcgMyw4MiUuDQoNCi0gUXXDvSAzOkNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgdMSDbmcgNDUlIHNvIHbhu5tpIHF1w70gMi5Eb2FuaCB0aHUgdGh14bqnbiB0xINuZyA1MyUuVOG7tyBs4buHIGNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgdHLDqm4gZG9hbmggdGh1IHRodeG6p24gdMSDbmcgbMOqbiA0LDA3JS4NCg0KLSBRdcO9IDQ6Q2hpIHBow60gcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcCB0xINuZyA2NyUgc28gduG7m2kgcXXDvSAzLkRvYW5oIHRodSB0aHXhuqduIGdp4bqjbSAzNSUuDQpU4bu3IGzhu4cgY2hpIHBow60gcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcCB0csOqbiBkb2FuaCB0aHUgdGh14bqnbiB0xINuZyBsw6puIDcsNjUlLg0KDQoqMy4gxJDDoW5oIGdpw6E6Kg0KDQotIFZp4buHYyBjaGkgcGjDrSBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwIHTEg25nIG3huqFuaCBsw6AgbeG7mXQgdMOtbiBoaeG7h3UgxJHDoW5nIGxvIG5n4bqhaS4NCg0KLSDEkGnhu4F1IG7DoHkgY2hvIHRo4bqleSBjw7RuZyB0eSDEkWFuZyBjaGkgbmhp4buBdSB0aeG7gW4gY2hvIGPDoWMgaG/huqF0IMSR4buZbmcgcXXhuqNuIGzDvSBuaMawbmcga2jDtG5nIGhp4buHdSBxdeG6oy4NCg0KLSBD4bqnbiB0w6xtIHJhIG5ndXnDqm4gbmjDom4gY+G7p2Egdmnhu4djIGNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgdMSDbmcgY2FvIHbDoCBjw7MgYmnhu4duIHBow6FwIGto4bqvYyBwaOG7pWMuDQoNCio0LiBLaHV54bq/biBuZ2jhu4s6Kg0KDQotIFLDoCBzb8OhdCBs4bqhaSBjw6FjIGhv4bqhdCDEkeG7mW5nIHF14bqjbiBsw70gdsOgIHjDoWMgxJHhu4tuaCBuaOG7r25nIGhv4bqhdCDEkeG7mW5nIGtow7RuZyBoaeG7h3UgcXXhuqMuDQoNCi0gQ+G6r3QgZ2nhuqNtIG5o4buvbmcgaG/huqF0IMSR4buZbmcgcXXhuqNuIGzDvSBraMO0bmcgaGnhu4d1IHF14bqjIHbDoCB04bqtcCB0cnVuZyB2w6BvIG5o4buvbmcgaG/huqF0IMSR4buZbmcgaGnhu4d1IHF14bqjLg0KDQotIFTDrG0ga2nhur9tIGPDoWMgZ2nhuqNpIHBow6FwIHF14bqjbiBsw70gaGnhu4d1IHF14bqjIGjGoW4gxJHhu4MgZ2nhuqNtIGNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AuDQoNCiMjIFBow6JuIHTDrWNoIEzhu6NpIG5odeG6rW4gdGh14bqnbiB04burIGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmgNCg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUXV5IDwtIGMoIlF1w70gMSAtIDIwMjMiLCAiUXXDvSAyIC0gMjAyMyIsICJRdcO9IDMgLSAyMDIzIiwgIlF1w70gNCAtIDIwMjMiKQ0KbG9pbmh1YW4xIDwtIGMoMTIwNDAzNTE2MTA5NiwxMjY5NzAwODU4MjM2LDE2MzQxNzM4MDUzOTIsMTI3Mzk3MDAwMDAwMCkNCmRmNyA8LSBkYXRhLmZyYW1lKFF1eSwgbG9pbmh1YW4xKQ0KZGF0YXRhYmxlKGRmNykNCmdncGxvdChkZjcsIGFlcyh4ID0gUXV5LCB5ID0gbG9pbmh1YW4xLCkpICsNCiAgZ2VvbV9jb2woc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgTOG7o2kgbmh14bqtbiB0aHXhuqduIHThu6sgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCA0IHF1w70gMjAyMyIsIHggPSAiUXXDvSIsIHkgPSAibG9pbmh1YW4iKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBCaeG7g3UgaGnhu4duIGNodW5nOioNCg0KLSBM4bujaSBuaHXhuq1uIHRodeG6p24gdOG7qyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPDsyB4dSBoxrDhu5tuZyB0xINuZyB0cm9uZyAzIHF1w70gxJHhuqd1IHRpw6puIHbDoCBnaeG6o20gbmjhurkg4bufIHF1w70gNC4NCg0KLSBN4bupYyB0xINuZyB0csaw4bufbmcgbOG7o2kgbmh14bqtbiB0aHXhuqduIHF1w70gMi8yMDIzIHNvIHbhu5tpIHF1w70gMS8yMDIzIGzDoCA2LDIlLCBxdcO9IDMvMjAyMyBzbyB24bubaSBxdcO9IDIvMjAyMyBsw6AgMzIsMiUsIHbDoCBxdcO9IDQvMjAyMyBzbyB24bubaSBxdcO9IDMvMjAyMyBsw6AgLTIyLDElLg0KDQoqMi4gUGjDom4gdMOtY2ggdGhlbyB04burbmcgcXXDvToqDQoNCi0gUXXDvSAxLzIwMjM6TOG7o2kgbmh14bqtbiB0aHXhuqduIMSR4bqhdCAxLjIwNCB04bu3IMSR4buTbmcuDQpEb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pSBsw6AgMS45NDMgdOG7tyDEkeG7k25nLCBnacOhIHbhu5FuIGjDoG5nIGLDoW4gY2hp4bq/bSAzOCw4JSBkb2FuaCB0aHUuDQpM4bujaSBuaHXhuq1uIGfhu5lwIMSR4bqhdCAxLjE4OCB04bu3IMSR4buTbmcsIGNoaeG6v20gNjEsMiUgZG9hbmggdGh1Lg0KRG9hbmggdGh1IGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oIMSRw7NuZyBnw7NwIDIyMyB04bu3IMSR4buTbmcgbOG7o2kgbmh14bqtbi4NCkNoaSBwaMOtIGLDoW4gaMOgbmcgdsOgIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgY2hp4bq/bSAxOCwyJSBkb2FuaCB0aHUuDQoNCi0gUXXDvSAyLzIwMjM6TOG7o2kgbmh14bqtbiB0aHXhuqduIMSR4bqhdCAxLjI3MCB04bu3IMSR4buTbmcsIHTEg25nIDYsMiUgc28gduG7m2kgcXXDvSAxLg0KRG9hbmggdGh1IGLDoW4gaMOgbmcgdsOgIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UgdMSDbmcgMTIlIHNvIHbhu5tpIHF1w70gMS4NCkzhu6NpIG5odeG6rW4gZ+G7mXAgdMSDbmcgMCwxJSBzbyB24bubaSBxdcO9IDEuDQpEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggdMSDbmcgMjQsNCUgc28gduG7m2kgcXXDvSAxLg0KQ2hpIHBow60gYsOhbiBow6BuZyB2w6AgcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcCB0xINuZyA1NCUgc28gduG7m2kgcXXDvSAxLg0KDQotIFF1w70gMy8yMDIzOkzhu6NpIG5odeG6rW4gdGh14bqnbiDEkeG6oXQgMS42MzQgdOG7tyDEkeG7k25nLCB0xINuZyAzMiwyJSBzbyB24bubaSBxdcO9IDIuDQpEb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pSB0xINuZyA1MyUgc28gduG7m2kgcXXDvSAyLg0KTOG7o2kgbmh14bqtbiBn4buZcCB0xINuZyA0MywyJSBzbyB24bubaSBxdcO9IDIuDQpEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggdMSDbmcgOCwzJSBzbyB24bubaSBxdcO9IDIuDQpDaGkgcGjDrSBiw6FuIGjDoG5nIHbDoCBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwIHTEg25nIDEwMiUgc28gduG7m2kgcXXDvSAyLg0KDQotIFF1w70gNC8yMDIzOkzhu6NpIG5odeG6rW4gdGh14bqnbiDEkeG6oXQgMS4yNzQgdOG7tyDEkeG7k25nLCBnaeG6o20gMjIsMSUgc28gduG7m2kgcXXDvSAzLkRvYW5oIHRodSBiw6FuIGjDoG5nIHbDoCBjdW5nIGPhuqVwIGThu4tjaCB24bulIGdp4bqjbSAzMCUgc28gduG7m2kgcXXDvSAzLg0KTOG7o2kgbmh14bqtbiBn4buZcCBnaeG6o20gMzQsMyUgc28gduG7m2kgcXXDvSAzLg0KRG9hbmggdGh1IGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oIHTEg25nIDEzLDglIHNvIHbhu5tpIHF1w70gMy4NCkNoaSBwaMOtIGLDoW4gaMOgbmcgdsOgIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgZ2nhuqNtIDUzJSBzbyB24bubaSBxdcO9IDMuDQoNCiozLiBOaOG6rW4geMOpdDoqDQoNCi0gTOG7o2kgbmh14bqtbiB0aHXhuqduIHThu6sgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBwaOG7pSB0aHXhu5ljIG5oaeG7gXUgdsOgbyBkb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pS4NCg0KLSBN4bupYyB0xINuZyB0csaw4bufbmcgbOG7o2kgbmh14bqtbiBn4buZcCBjw7MgeHUgaMaw4bubbmcgZ2nhuqNtIGThuqduIHRyb25nIDQgcXXDvS4NCg0KLSBDaGkgcGjDrSBiw6FuIGjDoG5nIHbDoCBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwIGPDsyB4dSBoxrDhu5tuZyB0xINuZyB0aGVvIGRvYW5oIHRodS4NCg0KLSBEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmggY8OzIHZhaSB0csOyIGjhu5cgdHLhu6MgY2hvIGzhu6NpIG5odeG6rW4gdGh14bqnbi4NCg0KKjQuIEvhur90IGx14bqtbjoqDQoNCi0gTOG7o2kgbmh14bqtbiB0aHXhuqduIHThu6sgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBj4bunYSBjw7RuZyB0eSB0xINuZyB0csaw4bufbmcgdOG7kXQgdHJvbmcgMyBxdcO9IMSR4bqndSB0acOqbiB2w6AgZ2nhuqNtIG5o4bq5IOG7nyBxdcO9IDQuDQoNCi0gRG9hbmggdGh1IGLDoW4gaMOgbmcgdsOgIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UgbMOgIHnhur91IHThu5EgcXV54bq/dCDEkeG7i25oIMSR4bq/biBs4bujaSBuaHXhuq1uIHRodeG6p24uDQoNCi0gQ8O0bmcgdHkgY+G6p24ga2nhu4NtIHNvw6F0IGNoaSBwaMOtIGLDoW4gaMOgbmcgdsOgIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3AgxJHhu4MgdMSDbmcgaGnhu4d1IHF14bqjIGtpbmggZG9hbmguDQoNCiMjIFBow6JuIHTDrWNoIHRodSBuaOG6rXAga2jDoWMgDQoNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpRdXkgPC0gYygiUXXDvSAxIC0gMjAyMyIsICJRdcO9IDIgLSAyMDIzIiwgIlF1w70gMyAtIDIwMjMiLCAiUXXDvSA0IC0gMjAyMyIpDQp0aHVuaGFwIDwtIGMoNjA2ODk3NzA4MjgsMjQyMzc0NjgyNDQsMzQ3NDAwNzM2MDksOTI3NjYwMDAwMDApDQpkZjggPC0gZGF0YS5mcmFtZShRdXksIHRodW5oYXApDQpkYXRhdGFibGUoZGY4KQ0KZ2dwbG90KGRmOCwgYWVzKHggPSBRdXksIHkgPSB0aHVuaGFwLCkpICsNCiAgZ2VvbV9jb2woc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGh1IG5o4bqtcCBraMOhYyA0IHF1w70gMjAyMyIsIHggPSAiUXXDvSIsIHkgPSAidGh1bmhhcGtoYWMiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBCaeG7g3UgaGnhu4duOioNCg0KUXXDvSAxLzIwMjM6IDYwLDY4OSw3NzAsODI4DQoNClF1w70gMi8yMDIzOiAyNCwyMzcsNDY4LDI0NCAoZ2nhuqNtIDU5LDYlKQ0KDQpRdcO9IDMvMjAyMzogMzQsNzQwLDA3Myw2MDkgKHTEg25nIDQzLDIlKQ0KDQpRdcO9IDQvMjAyMzogOTIsNzY2LDAwMCwwMDAgKHTEg25nIDE2Nyw0JSkNCg0KKjIuIFBow6JuIHTDrWNoIG5ndXnDqm4gbmjDom46Kg0KDQotIEdp4bqjbToNClF1w70gMi8yMDIzOg0KSG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBjaMOtbmggY8OzIHRo4buDIGfhurdwIGtow7Mga2jEg24sIGThuqtuIMSR4bq/biBs4bujaSBuaHXhuq1uIHRo4bqlcCBoxqFuLCDhuqNuaCBoxrDhu59uZyDEkeG6v24gbmd14buTbiB0aHUgxJHhu4MgxJHhuqd1IHTGsCB2w6BvIGPDoWMgaG/huqF0IMSR4buZbmcga2jDoWMgdOG6oW8gcmEgIlRodSBuaOG6rXAga2jDoWMiLg0KSG/DoG4gdGjDoG5oIGThu7Egw6FuL2hv4bqhdCDEkeG7mW5nIG1hbmcgbOG6oWkga2hv4bqjbiB0aHUgbmjhuq1wIGzhu5tuIHRyb25nIHF1w70gMSwgZOG6q24gxJHhur9uIHPhu7Egc+G7pXQgZ2nhuqNtIHNvIHPDoW5oLg0KDQotIFTEg25nOg0KUXXDvSAzLzIwMjM6DQpC4bqvdCDEkeG6p3UgdHJp4buDbiBraGFpIGThu7Egw6FuL2hv4bqhdCDEkeG7mW5nIG3hu5tpIG1hbmcgbOG6oWkgbmd14buTbiB0aHUgbmjhuq1wIGtow6FjLg0KxJDhuqd1IHTGsCB2w6BvIHTDoGkgc+G6o24vY8O0bmcgdHkga2jDoWMgbWFuZyBs4bqhaSBs4bujaSBuaHXhuq1uLg0KTmjhuq1uIMSRxrDhu6NjIGtob+G6o24gdGhhbmggdG/DoW4gYuG6pXQgdGjGsOG7nW5nLCBuaMawIHRp4buBbiBi4buTaSB0aMaw4budbmcsIGhvw6BuIHRodeG6vy4NClF1w70gNC8yMDIzOg0KVGnhur9wIHThu6VjIGhp4buHdSBxdeG6oyB04burIGPDoWMgZOG7sSDDoW4vaG/huqF0IMSR4buZbmcgdHJp4buDbiBraGFpIHThu6sgcXXDvSAzLg0KRG9hbmggdGh1IGNhbyB2w6BvIGN14buRaSBuxINtLCBk4bqrbiDEkeG6v24gbOG7o2kgbmh14bqtbiB2w6AgdGh1IG5o4bqtcCBraMOhYyB0xINuZy4NCg0KKjMuIMSQw6FuaCBnacOhOioNCg0KLSBCaeG6v24gxJHhu5luZyBs4bubbjoNCkNobyB0aOG6pXkgc+G7sSBraMO0bmcg4buVbiDEkeG7i25oIHRyb25nIG5ndeG7k24gdGh1IG5o4bqtcCBraMOhYy4NCktow7MgZOG7sSDEkW/DoW4gdsOgIGzhuq1wIGvhur8gaG/huqFjaCBjaG8gdMawxqFuZyBsYWkuDQoNCi0gQ+G6p24gcGjDom4gdMOtY2ggc8OidSBoxqFuOg0KWMOhYyDEkeG7i25oIHLDtSBuZ3V5w6puIG5ow6JuIGJp4bq/biDEkeG7mW5nLg0KxJDDoW5oIGdpw6EgdMOtbmggYuG7gW4gduG7r25nIGPhu6dhIG5ndeG7k24gdGh1IG5o4bqtcCBraMOhYy4NCg0KKjQuIEtodXnhur9uIG5naOG7izoqDQoNCi0gxJBhIGThuqFuZyBow7NhIG5ndeG7k24gdGh1IG5o4bqtcCBraMOhYzoNCkdp4bqjbSB0aGnhu4N1IHLhu6dpIHJvIHBo4bulIHRodeG7mWMgdsOgbyBt4buZdCB2w6BpIG5ndeG7k24gdGh1Lg0KVMSDbmcgY8aw4budbmcgxJHhuqd1IHTGsCB2w6BvIGPDoWMgaG/huqF0IMSR4buZbmcgdGnhu4FtIG7Eg25nLg0KDQotIFF14bqjbiBsw70gaGnhu4d1IHF14bqjOg0KVGhlbyBkw7VpIHPDoXQgc2FvIGJp4bq/biDEkeG7mW5nIGPhu6dhICJUaHUgbmjhuq1wIGtow6FjIi4NCkPDsyBr4bq/IGhv4bqhY2ggZOG7sSBwaMOybmcgY2hvIGPDoWMgdHLGsOG7nW5nIGjhu6NwIGLhuqV0IG5n4budLg0KDQojIyBQaMOibiB0w61jaCBjaGkgcGjDrSBraMOhYw0KDQoNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpRdXkgPC0gYygiUXXDvSAxIC0gMjAyMyIsICJRdcO9IDIgLSAyMDIzIiwgIlF1w70gMyAtIDIwMjMiLCAiUXXDvSA0IC0gMjAyMyIpDQpjaGlwaGkzIDwtIGMoMTU5NDMxMTA4NjAsMjU1NDU0MzE5MjgsMTMxNDE4MDQ1NDUsMTM1OTYwMDAwMDApDQpkZjkgPC0gZGF0YS5mcmFtZShRdXksIGNoaXBoaTMpDQpkYXRhdGFibGUoZGY5KQ0KZ2dwbG90KGRmOSwgYWVzKHggPSBRdXksIHkgPSBjaGlwaGkzLCkpICsNCiAgZ2VvbV9jb2woc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgY2hpIHBow60ga2jDoWMgNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImNoaSBwaMOtIGtow6FjIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBCaeG7g3UgaGnhu4duOioNCg0KLSBRdcO9IDEvMjAyMzogMTUsOTQzLDExMCw4NjANCg0KLSBRdcO9IDIvMjAyMzogMjUsNTQ1LDQzMSw5MjggKHTEg25nIDYwLDMlKQ0KDQotIFF1w70gMy8yMDIzOiAxMywxNDEsODA0LDU0NSAoZ2nhuqNtIDQ4LDUlKQ0KDQotIFF1w70gNC8yMDIzOiAxMyw1OTYsMDAwLDAwMCAodMSDbmcgMyw1JSkNCg0KKjIuIFBow6JuIHTDrWNoIG5ndXnDqm4gbmjDom46Kg0KDQotIFTEg25nOlF1w70gMi8yMDIzIENoaSBjaG8gY8OhYyBob+G6oXQgxJHhu5luZyBtYXJrZXRpbmcsIHF14bqjbmcgY8OhbyB0xINuZyDEkeG7gyB0aMO6YyDEkeG6qXkgZG9hbmggdGh1Lg0KTXVhIHPhuq9tIHTDoGkgc+G6o24gY+G7kSDEkeG7i25oLCB0cmFuZyB0aGnhur90IGLhu4sgbeG7m2kuDQpDaGkgcGjDrSBjaG8gY8OhYyBob+G6oXQgxJHhu5luZyBuZ2hpw6puIGPhu6l1LCBwaMOhdCB0cmnhu4NuLg0KQ2hpIHBow60gbGnDqm4gcXVhbiDEkeG6v24gdmnhu4djIGtp4buHbiB04bulbmcsIHRyYW5oIGNo4bqlcC4NCg0KLSBHaeG6o206UXXDvSAzLzIwMjNIb+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGNo4bqtbSBs4bqhaSwgZOG6q24gxJHhur9uIGPhuq90IGdp4bqjbSBjaGkgcGjDrS4NCkhvw6BuIHRow6BuaCB2aeG7h2MgbXVhIHPhuq9tIHTDoGkgc+G6o24gY+G7kSDEkeG7i25oIHRyb25nIHF1w70gMi4NClTDoWkgc+G7rSBk4bulbmcgdMOgaSBz4bqjbiBjxaksIHRp4bq/dCBraeG7h20gY2hpIHBow60uDQoNCi0gVMSDbmcgbmjhurk6UXXDvSA0LzIwMjMgRHV5IHRyw6wgbeG7qWMgY2hpIHBow60gaOG7o3AgbMO9IHNhdSBraGkgY+G6r3QgZ2nhuqNtLg0KQ2hpIHBow60gY2hvIGPDoWMgaG/huqF0IMSR4buZbmcgY3Xhu5FpIG7Eg20uDQoNCiozLiDEkMOhbmggZ2nDoToqDQoNCi0gQmnhur9uIMSR4buZbmc6DQpDaG8gdGjhuqV5IHPhu7EgdGhp4bq/dSBraeG7g20gc2/DoXQgY2hpIHBow60uDQrhuqJuaCBoxrDhu59uZyDEkeG6v24gbOG7o2kgbmh14bqtbiB2w6AgaGnhu4d1IHF14bqjIGhv4bqhdCDEkeG7mW5nLg0KDQotIEPhuqduIHBow6JuIHTDrWNoIHPDonUgaMahbjoNCljDoWMgxJHhu4tuaCByw7Ugbmd1ecOqbiBuaMOibiBiaeG6v24gxJHhu5luZy4NCsSQw6FuaCBnacOhIHTDrW5oIGjhu6NwIGzDvSBj4bunYSB04burbmcga2hv4bqjbiBjaGkgcGjDrS4NCg0KKjQuIEtodXnhur9uIG5naOG7izoqDQoNCi0gTOG6rXAga+G6vyBob+G6oWNoIGNoaSBwaMOtIGjhu6NwIGzDvToNCkThu7EgdHLDuSBjaGkgcGjDrSBjaG8gdOG7q25nIGhv4bqhdCDEkeG7mW5nLg0KVGhlbyBkw7VpIHPDoXQgc2FvIHbDoCBraeG7g20gc2/DoXQgY2hpIHBow60uDQoNCi0gVOG7kWkgxrB1IGjDs2EgY2hpIHBow606DQpUw6xtIGtp4bq/bSBnaeG6o2kgcGjDoXAgdGnhur90IGtp4buHbSBjaGkgcGjDrS4NClPhu60gZOG7pW5nIHTDoGkgbmd1ecOqbiBoaeG7h3UgcXXhuqMuDQoNCiMjIFBow6JuIHTDrWNoIGzhu6NpIG5odeG6rW4ga2jDoWMNCg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUXV5IDwtIGMoIlF1w70gMSAtIDIwMjMiLCAiUXXDvSAyIC0gMjAyMyIsICJRdcO9IDMgLSAyMDIzIiwgIlF1w70gNCAtIDIwMjMiKQ0KbG9pbmh1YW4xIDwtIGMoNDQ3NDY2NTk5NjgsLTEzMDc5NjM2ODQsMjE1OTgyNjkwNjQsNzkxNzAwMDAwMDApDQpkZjEwIDwtIGRhdGEuZnJhbWUoUXV5LCBsb2luaHVhbjEpDQpkYXRhdGFibGUoZGYxMCkNCmRmMTAkbmhvbSA8LSBpZmVsc2UoZGYxMCRRdXkgPD0gIlF1w70gMSAyMDIzIiwgIm7hu61hIMSR4bqndSBuxINtIiwgIm7hu61hIGN14buRaSBuxINtIikNCg0KZ2dwbG90KGRmMTAsIGFlc19zdHJpbmcoeCA9ICJRdXkiLCB5ID0gImxvaW5odWFuMSIsIGdyb3VwID0gIm5ob20iKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gImNyb3NzYmFyIiwgd2lkdGggPSAwLjQsIGxpbmV3aWR0aCA9IDAuNCkgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBs4bujaSBuaHXhuq1uIGtow6FjIDQgcXXDvSAyMDIzIikNCg0KDQpgYGANCg0KKipE4buxYSB2w6BvIMSR4buTIHRo4buLIHbDoCBi4bqjbmcgc+G7kSBsaeG7h3UsIHRhIGPDsyB0aOG7gyBuaOG6rW4gxJHhu4tuaCBt4buZdCBz4buRIMSRaeG7gXUgbmjGsCBzYXU6KioNCg0KKjEuIFRodSBuaOG6rXAga2jDoWM6Kg0KDQotIFTEg25nIHRyxrDhu59uZzoNClF1w70gMS8yMDIzOiA2MCw2ODkgdOG7tyDEkeG7k25nDQpRdcO9IDQvMjAyMzogOTIsNzY2IHThu7cgxJHhu5NuZw0KKipUxINuZyoqIDUzJSBzbyB24bubaSBxdcO9IDEvMjAyMw0KDQotIEPhuqV1IHRow6BuaDoNCkRvYW5oIHRodSBjaG8gdGh1w6ogdsSDbiBwaMOybmc6IENoaeG6v20gdOG7tyB0cuG7jW5nIGzhu5tuIG5o4bqldCwgdMSDbmcgdHLGsOG7n25nIMSR4buBdSDEkeG6t24gcXVhIGPDoWMgcXXDvS4NCkzhu6NpIG5odeG6rW4gdOG7qyBsacOqbiBkb2FuaCBsacOqbiBr4bq/dDogQmnhur9uIMSR4buZbmcgbeG6oW5oLCBjw7MgdGjhu4MgZG8gaG/huqF0IMSR4buZbmcgxJHhuqd1IHTGsCwgdGhvw6FpIHbhu5FuIGhv4bq3YyBr4bq/dCBxdeG6oyBraW5oIGRvYW5oIGPhu6dhIGPDoWMgY8O0bmcgdHkgbGnDqm4ga+G6v3QuDQpM4bujaSBuaHXhuq1uIHThu6sgaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmg6IFTEg25nIHRyxrDhu59uZyB0cm9uZyBxdcO9IDQgZG8gbMOjaSB0aeG7gW4gZ+G7rWkgbmfDom4gaMOgbmcsIGdp4bqjbSB0cm9uZyBxdcO9IDIgZG8gdHLDrWNoIGzhuq1wIGThu7EgcGjDsm5nIGdp4bqjbSBnacOhIHTDoGkgc+G6o24uDQpEb2FuaCB0aHUgaG/huqF0IMSR4buZbmcga2jDoWM6IEJhbyBn4buTbSBkb2FuaCB0aHUgdOG7qyBk4buLY2ggduG7pSBxdeG6o25nIGPDoW8sIGLDoW4gaMOgbmcgaMOzYSwgZOG7i2NoIHbhu6Uga2jDoWMsLi4uIEJp4bq/biDEkeG7mW5nIHRoZW8gdOG7q25nIHF1w70uDQoNCioyLiBDaGkgcGjDrSBraMOhYzoqDQoNCi0gR2nhuqNtOg0KUXXDvSAxLzIwMjM6IDE1LDk0MyB04bu3IMSR4buTbmcNClF1w70gNC8yMDIzOiAxMyw1OTYgdOG7tyDEkeG7k25nDQoqKkdp4bqjbSoqIDE0JSBzbyB24bubaSBxdcO9IDEvMjAyMw0KDQotIEPhuqV1IHRow6BuaDoNCkNoaSBwaMOtIGLDoW4gaMOgbmc6IEJhbyBn4buTbSBjaGnhur90IGto4bqldSwgaG9hIGjhu5NuZyBiw6FuIGjDoG5nLC4uLiBHaeG6o20gZG8gaGnhu4d1IHF14bqjIGhv4bqhdCDEkeG7mW5nIGLDoW4gaMOgbmcuDQpDaGkgcGjDrSBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwOiBCYW8gZ+G7k20gY2hpIHBow60gdsSDbiBwaMOybmcsIGNoaSBwaMOtIHF14bqjbiBsw70gY2h1bmcsLi4uIFTEg25nIHRyb25nIHF1w70gNCBkbyBjw6FjIGtob+G6o24gY2hpIHBow60gbGnDqm4gcXVhbiDEkeG6v24gaG/huqF0IMSR4buZbmcgY3Xhu5FpIG7Eg20uDQpDaGkgcGjDrSB0w6BpIGNow61uaDogQmFvIGfhu5NtIGzDo2kgdmF5IG5nw6JuIGjDoG5nLCBjaGkgcGjDrSBsw6NpIHZheSwuLi4gR2nhuqNtIGRvIGdp4bqjbSB2YXkgbuG7oy4NCkNoaSBwaMOtIGtow6FjOiBCYW8gZ+G7k20gY2hpIHBow60gaG/huqF0IMSR4buZbmcga2jDoWMsIGNoaSBwaMOtIGThu7EgcGjDsm5nLC4uLiBCaeG6v24gxJHhu5luZyB0aGVvIHThu6tuZyBxdcO9Lg0KDQoqMy4gTOG7o2kgbmh14bqtbiBraMOhYzoqDQoNCi0gVMSDbmcgdHLGsOG7n25nOg0KUXXDvSAxLzIwMjM6IDQ0LDc0NiB04bu3IMSR4buTbmcNClF1w70gMi8yMDIzIDogLTEsMzA3IHThu7cgxJHhu5NuZyAodGjhu51pIMSRaeG7g20gbsOgeSBkb2FuaCB0aHUga2jDoWMgxJFhbmcgZ2nhuqNtIHPDonUgc28gduG7m2kgcXXDvSAxLzIwMjMgbmjGsG5nIGNoaSBwaMOtIHRow6wgbOG6oWkgdMSDbmcgY2FvKQ0KUXXDvSAzLzIwMjMgOiB0aOG7nWkgxJFp4buDbSBuw6B5IGPDtG5nIHR5IGLhuq90IMSR4bqndSBraeG7g20gc2/DoXQgY2hpIHBow60gdOG7kXQgaMahbiB2w6Aga2luaCBkb2FuaCBjw7MgaGnhu4d1IHF14bqjIGjGoW4sIGfDs3AgcGjhuqduIGzDoG0gY2hvDQps4bujaSBuaHXhuq1uIGxpw6puIHThu6VjIHTEg25nDQpRdcO9IDQvMjAyMzogNzksMTcwIHThu7cgxJHhu5NuZw0KKipUxINuZyoqIDc3JSBzbyB24bubaSBxdcO9IDEvMjAyMw0KDQotIEzDvSBkbzoNCkRvYW5oIHRodSBjaG8gdGh1w6ogdsSDbiBwaMOybmcgdMSDbmcNCkhp4buHdSBxdeG6oyBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaA0KR2nhuqNtIGNoaSBwaMOtIGLDoW4gaMOgbmcgdsOgIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3ANCg0KKjQuIEvhur90IGx14bqtbjoqDQoNCi0gTOG7o2kgbmh14bqtbiBraMOhYyBj4bunYSBWaW5jb20gUmV0YWlsIHTEg25nIHRyxrDhu59uZyBt4bqhbmggdHJvbmcgbsSDbSAyMDIzLCDEkcOzbmcgZ8OzcCB0w61jaCBj4buxYyB2w6BvIGzhu6NpIG5odeG6rW4gY2h1bmcgY+G7p2EgY8O0bmcgdHkuDQoNCi0gRG9hbmggdGh1IGNobyB0aHXDqiB2xINuIHBow7JuZyBsw6Agbmd14buTbiB0aHUgY2jDrW5oLCB0xINuZyB0csaw4bufbmcgxJHhu4F1IMSR4bq3bi4NCg0KLSBIb+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCBjw7MgaGnhu4d1IHF14bqjLCBs4bujaSBuaHXhuq1uIHThu6sgbGnDqm4gZG9hbmggbGnDqm4ga+G6v3QgYmnhur9uIMSR4buZbmcuDQoNCi0gQ2hpIHBow60gxJHGsOG7o2Mga2nhu4NtIHNvw6F0IHThu5F0LCBnw7NwIHBo4bqnbiBuw6JuZyBjYW8gbOG7o2kgbmh14bqtbi4NCg0KIyMgUGjDom4gdMOtY2ggdOG7lW5nIGzhu6NpIG5odeG6rW4ga+G6vyB0b8OhbiB0csaw4bubYyB0aHXhur8NCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCmxvaW5odWFuMyA8LSBjKDEyNDg3ODE4MjEwNjQsMTI2ODM5Mjg5NDU1MiwxNjU1NzcyMDc0NDU2LDEzNTMxNDAwMDAwMDApDQpkZjExIDwtIGRhdGEuZnJhbWUoUXV5LCBsb2luaHVhbjMpDQpkYXRhdGFibGUoZGYxMSkNCmdncGxvdChkZjExLCBhZXMoeCA9IFF1eSwgeSA9IGxvaW5odWFuMywpKSArDQogIGdlb21fY29sKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHThu5VuZyBs4bujaSBuaHXhuq1uIGvhur8gdG/DoW4gdHLGsOG7m2MgdGh14bq/IDQgcXXDvSAyMDIzIiwgeCA9ICJRdcO9IiwgeSA9ICJs4bujaSBuaHXhuq1uIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkThu7FhIHbDoG8gxJHhu5MgdGjhu4sgdsOgIGLhuqNuZyBz4buRIGxp4buHdSwgdGEgY8OzIHRo4buDIG5o4bqtbiDEkeG7i25oIG3hu5l0IHPhu5EgxJFp4buBdSBuaMawIHNhdToqKg0KDQoqMS4gQmnhur9uIMSR4buZbmcgdOG7lW5nIGzhu6NpIG5odeG6rW4ga+G6vyB0b8OhbiB0csaw4bubYyB0aHXhur86Kg0KDQotIFTEg25nIHRyxrDhu59uZzoNClF1w70gMS8yMDIzOiAxLjI0OCB04bu3IMSR4buTbmcNClF1w70gNC8yMDIzOiAxLjM1MyB04bu3IMSR4buTbmcNClTEg25nIDgsMyUgc28gduG7m2kgcXXDvSAxLzIwMjMNCg0KLSBN4bupYyB0xINuZyB0aOG6pXA6DQpTbyB24bubaSBjw7luZyBr4buzIG7Eg20gdHLGsOG7m2MsIHThu5VuZyBs4bujaSBuaHXhuq1uIHF1w70gNC8yMDIzIGNo4buJIHTEg25nIDMsNCUNClRo4bqlcCBoxqFuIG3hu6ljIHTEg25nIHRyxrDhu59uZyB0cnVuZyBiw6xuaCBj4bunYSAzIHF1w70gxJHhuqd1IG7Eg20gKDE0LDUlKQ0KDQoqMi4gUGjDom4gdMOtY2ggdGhlbyBxdcO9OioNCg0KLSBRdcO9IDEvMjAyMzogVOG7lW5nIGzhu6NpIG5odeG6rW4gY2FvIG5o4bqldCB0cm9uZyBuxINtDQoNCi0gUXXDvSAyLzIwMjM6IEdp4bqjbSBuaOG6uSBkbyDhuqNuaCBoxrDhu59uZyBj4bunYSBk4buLY2ggQ292aWQtMTkNCg0KLSBRdcO9IDMvMjAyMzogUGjhu6VjIGjhu5NpIHbDoCB0xINuZyB0csaw4bufbmcNCg0KLSBRdcO9IDQvMjAyMzogVMSDbmcgdHLGsOG7n25nIG5o4bq5LCBjaMawYSDEkeG6oXQga+G7syB24buNbmcNCg0KMy4gUGjDom4gdMOtY2ggdGhlbyA6DQoNCioqRG9hbmggdGh1IFTEg25nIDoqKg0KDQotIERvYW5oIHRodSBiw6FuIGzhurs6VMSDbmcgdHLGsOG7n25nIDIwJSB0cm9uZyBuxINtIDIwMjMNCkNo4buLdSDhuqNuaCBoxrDhu59uZyBi4bufaTpOaHUgY+G6p3UgdGnDqnUgZMO5bmcsSG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBj4bunYSBjw6FjIHRydW5nIHTDom0gdGjGsMahbmcgbeG6oWkNCg0KLSBEb2FuaCB0aHUgY2hvIHRodcOqOg0KVMSDbmcgdHLGsOG7n25nIDE1JSB0cm9uZyBuxINtIDIwMjMNCkNo4buLdSDhuqNuaCBoxrDhu59uZyBi4bufaTpU4bu3IGzhu4cgbOG6pXAgxJHhuqd5LEdpw6EgdGh1w6oNCg0KKipDaGkgcGjDrSBUxINuZzoqKg0KDQotIENoaSBwaMOtIGLDoW4gaMOgbmcNCg0KLSBDaGkgcGjDrSBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwDQoNCi0gQ2hpIHBow60gdMOgaSBjaMOtbmgNCg0KDQotIENoaSBwaMOtIGLDoW4gaMOgbmc6VMSDbmcgMjUlIHRyb25nIG7Eg20gMjAyMw0KRG86DQpDaGnhur90IGto4bqldSwgaG9hIGjhu5NuZyBiw6FuIGjDoG5nDQpDaGkgcGjDrSBxdeG6o25nIGPDoW8NCkNoaSBwaMOtIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3A6DQpUxINuZyAxOCUgdHJvbmcgbsSDbSAyMDIzDQpEbzoNCkNoaSBwaMOtIHbEg24gcGjDsm5nDQpDaGkgcGjDrSBxdeG6o24gbMO9IGNodW5nDQpDaGkgcGjDrSB0w6BpIGNow61uaDoNClTEg25nIDEyJSB0cm9uZyBuxINtIDIwMjMNCkRvOiBMw6NpIHZheSBuZ8OibiBow6BuZw0KQ2hpIHBow60gbMOjaSB2YXkNCg0KKipM4bujaSBuaHXhuq1uIGtow6FjOioqDQoNClTEg25nIHRyxrDhu59uZyAzNSUgdHJvbmcgbsSDbSAyMDIzDQpEbzoNCkzhu6NpIG5odeG6rW4gdOG7qyBsacOqbiBkb2FuaCBsacOqbiBr4bq/dA0KTOG7o2kgbmh14bqtbiB04burIGhv4bqhdCDEkeG7mW5nIHTDoGkgY2jDrW5oDQoNCiMjIFBow6JuIHTDrWNoIGNoaSBwaMOtIHRodeG6vyB0aHUgbmjhuq1wIGRvYW5oIG5naGnhu4dwIGhp4buHbiBow6BuaA0KDQoNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpRdXkgPC0gYygiUXXDvSAxIC0gMjAyMyIsICJRdcO9IDIgLSAyMDIzIiwgIlF1w70gMyAtIDIwMjMiLCAiUXXDvSA0IC0gMjAyMyIpDQpjaGlwaGk0IDwtIGMoMjU4ODc2NzQyNTEwLDI1MTc2MzUzNzgyNiwzMzAxNDMwMDgwNzEsMjcwMzY4MDAwMDAwKQ0KZGYxMiA8LSBkYXRhLmZyYW1lKFF1eSwgY2hpcGhpNCkNCmRhdGF0YWJsZShkZjEyKQ0KZ2dwbG90KGRmMTIsIGFlcyh4ID0gUXV5LCB5ID0gY2hpcGhpNCkpICsNCiAgZ2VvbV9jb2woc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgY2hpIHBow60gdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaGnhu4duIGjDoG5oICA0IHF1w70gMjAyMyIsIHggPSAiUXXDvSIsIHkgPSAidGh14bq/IikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkThu7FhIHbDoG8gxJHhu5MgdGjhu4sgdsOgIGLhuqNuZyBz4buRIGxp4buHdSwgdGEgY8OzIHRo4buDIG5o4bqtbiDEkeG7i25oIG3hu5l0IHPhu5EgxJFp4buBdSBuaMawIHNhdToqKg0KDQoqMS4gROG7ryBsaeG7h3UgdOG7qyBi4bqjbmcgc+G7kSBsaeG7h3UgY2hvIHRo4bqleToqDQoNCi0gRG9hbmggdGh1IHRodeG6p246DQoNClF1w70gMTogMS45NDMuMjc2LjI5OC4wMzEgVk7EkA0KDQpRdcO9IDI6IDIuMTcyLjgyNi43ODUuOTkzIFZOxJANCg0KUXXDvSAzOiAzLjMzMi41NTkuMjQ4LjI0NSBWTsSQDQoNClF1w70gNDogMi4zNDIuNjczLjAwMC4wMDAgVk7EkA0KDQotIEzhu6NpIG5odeG6rW4gdHLGsOG7m2MgdGh14bq/Og0KDQpRdcO9IDE6IDEuMjQ4Ljc4MS44MjEuMDY0IFZOxJANCg0KUXXDvSAyOiAxLjI2OC4zOTIuODk0LjU1MiBWTsSQDQoNClF1w70gMzogMS42NTUuNzcyLjA3NC40NTYgVk7EkA0KDQpRdcO9IDQ6IDEuMzUzLjE0MC4wMDAuMDAwIFZOxJANCg0KLSBDaGkgcGjDrSB0aHXhur8gVE5ETjoNCg0KUXXDvSAxOiAyNTguODc2Ljc0Mi41MTAgVk7EkA0KDQpRdcO9IDI6IDI1MS43NjMuNTM3LjgyNiBWTsSQDQoNClF1w70gMzogMzMwLjE0My4wMDguMDcxIFZOxJANCg0KUXXDvSA0OiAyNzAuMzY4LjAwMC4wMDAgVk7EkA0KDQoqMi4gUGjDom4gdMOtY2g6Kg0KDQotIE3hu5FpIHTGsMahbmcgcXVhbjoNCg0KRG9hbmggdGh1IHRodeG6p24gdsOgIGzhu6NpIG5odeG6rW4gdHLGsOG7m2MgdGh14bq/IGPDsyBt4buRaSB0xrDGoW5nIHF1YW4gdMOtY2ggY+G7sWMuIEtoaSBkb2FuaCB0aHUgdGh14bqnbiB0xINuZywgbOG7o2kgbmh14bqtbiB0csaw4bubYyB0aHXhur8gY8WpbmcgY8OzIHh1IGjGsOG7m25nIHTEg25nLg0KRG9hbmggdGh1IHRodeG6p24gdsOgIGNoaSBwaMOtIHRodeG6vyBUTkROIGPFqW5nIGPDsyBt4buRaSB0xrDGoW5nIHF1YW4gdMOtY2ggY+G7sWMuIEtoaSBkb2FuaCB0aHUgdGh14bqnbiB0xINuZywgY2hpIHBow60gdGh14bq/IFRORE4gY8WpbmcgY8OzIHh1IGjGsOG7m25nIHTEg25nLg0KDQotIE3hu6ljIMSR4buZIOG6o25oIGjGsOG7n25nOg0KDQpEb2FuaCB0aHUgdGh14bqnbiDhuqNuaCBoxrDhu59uZyB0cuG7sWMgdGnhur9wIMSR4bq/biBs4bujaSBuaHXhuq1uIHRyxrDhu5tjIHRodeG6vy4gS2hpIGRvYW5oIHRodSB0aHXhuqduIHTEg25nIDElLCBs4bujaSBuaHXhuq1uIHRyxrDhu5tjIHRodeG6vyBjw7MgdGjhu4MgdMSDbmcgdOG7qyAwLDUlIMSR4bq/biAwLDglLg0KRG9hbmggdGh1IHRodeG6p24g4bqjbmggaMaw4bufbmcgZ2nDoW4gdGnhur9wIMSR4bq/biBjaGkgcGjDrSB0aHXhur8gVE5ETi4gS2hpIGRvYW5oIHRodSB0aHXhuqduIHTEg25nIDElLCBjaGkgcGjDrSB0aHXhur8gVE5ETiBjw7MgdGjhu4MgdMSDbmcgdOG7qyAwLDIlIMSR4bq/biAwLDQlLg0KDQoqMy4gVsOtIGThu6UgbWluaCBo4buNYToqDQoNCi0gUXXDvSAzOiBEb2FuaCB0aHUgdGh14bqnbiB0xINuZyA1Myw1JSBzbyB24bubaSBxdcO9IDEgZOG6q24gxJHhur9uOg0KTOG7o2kgbmh14bqtbiB0csaw4bubYyB0aHXhur8gdMSDbmcgMzIsNyUuDQpDaGkgcGjDrSB0aHXhur8gVE5ETiB0xINuZyAyNyw1JS4NCg0KKjQuIEvhur90IGx14bqtbjoqDQoNCioqRG9hbmggdGh1IHRodeG6p24gY8OzIOG6o25oIGjGsOG7n25nIGzhu5tuIMSR4bq/biBjaGkgcGjDrSB0aHXhur8gVE5ETi4gRG9hbmggbmdoaeG7h3AgY+G6p24gY2jDuiB0cuG7jW5nIHTEg25nIGRvYW5oIHRodSB0aHXhuqduIMSR4buDIGdpYSB0xINuZyBs4bujaSBuaHXhuq1uIHbDoCBu4buZcCB0aHXhur8gxJHhuqd5IMSR4bunIGNobyBOaMOgIG7GsOG7m2MuKioNCg0KIyMgUGjDom4gdMOtY2ggY2hpIHBow60gdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaG/Do24gbOG6oWkNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCmNoaXBoaTUgPC0gYygtMzQxMDYxMDM3NDMsMTYwMjYyOTUyOTUsODk0NDQ5NzkzMywxNTI2MzAwMDAwMCkNCmRmMTMgPC0gZGF0YS5mcmFtZShRdXksIGNoaXBoaTUpDQpkYXRhdGFibGUoZGYxMykNCmdncGxvdChkZjEzLCBhZXMoeCA9IFF1eSwgeSA9IGNoaXBoaTUpKSArDQogIGdlb21fY29sKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIGNoaSBwaMOtIHRodeG6vyB0aHUgbmjhuq1wIGRvYW5oIG5naGnhu4dwIGhvw6NuIGzhuqFpICA0IHF1w70gMjAyMyIsIHggPSAiUXXDvSIsIHkgPSAidGh14bq/IikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkThu7FhIHbDoG8gxJHhu5MgdGjhu4sgdsOgIGLhuqNuZyBz4buRIGxp4buHdSwgdGEgY8OzIHRo4buDIG5o4bqtbiDEkeG7i25oIG3hu5l0IHPhu5EgxJFp4buBdSBuaMawIHNhdToqKg0KDQoqMS4gQ2hpIHBow60gdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaG/Do24gbOG6oWk6Kg0KDQotIE7Eg20gMjAyMzoNCg0KUXXDvSAxOiAtMzQuMTA2LjEwMy43NDMNCg0KUXXDvSAyOiAxNi4wMjYuMjk1LjI5NQ0KDQpRdcO9IDM6IDguOTQ0LjQ5Ny45MzMNCg0KUXXDvSA0OiAxNS4yNjMuMDAwLjAwMA0KDQotIFThu5VuZyBjaGkgcGjDrSB0aHXhur8gdGh1IG5o4bqtcCBkb2FuaCBuZ2hp4buHcCBob8OjbiBs4bqhaSBuxINtIDIwMjM6IDI1LjEyNy42ODkuNDg1DQoNCioyLiBQaMOibiB0w61jaCDhuqNuaCBoxrDhu59uZzoqDQoNCi0gQ2hpIHBow60gdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaG/Do24gbOG6oWkgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/bjoNCg0KTOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IGPhu6dhIGRvYW5oIG5naGnhu4dwLg0KRMOybmcgdGnhu4FuIGPhu6dhIGRvYW5oIG5naGnhu4dwLg0KR2nDoSB0cuG7iyBkb2FuaCBuZ2hp4buHcC4NCg0KLSBEb2FuaCBuZ2hp4buHcCBj4bqnbjoNClRoZW8gZMO1aSB2w6AgcXXhuqNuIGzDvSBj4bqpbiB0aOG6rW4gY8OhYyBraG/huqNuIHRodeG6vyB0aHUgbmjhuq1wIGRvYW5oIG5naGnhu4dwIGhvw6NuIGzhuqFpLg0KR2hpIGNow6lwIMSR4bqneSDEkeG7pyB2w6AgbWluaCBi4bqhY2ggY8OhYyBraG/huqNuIHRodeG6vyB0aHUgbmjhuq1wIGRvYW5oIG5naGnhu4dwIGhvw6NuIGzhuqFpIHRyb25nIGLDoW8gY8OhbyB0w6BpIGNow61uaC4NClRp4bq/dCBs4buZIMSR4bqneSDEkeG7pyB0aMO0bmcgdGluIHbhu4EgdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaG/Do24gbOG6oWkgdHJvbmcgdGh1eeG6v3QgbWluaCBiw6FvIGPDoW8gdMOgaSBjaMOtbmguDQoNCiozLiBOaOG6rW4geMOpdDoqDQoNCi0gROG7sWEgdsOgbyB0aMO0bmcgdGluIHRyb25nIOG6o25oLCBjw7MgdGjhu4MgdGjhuqV5IHLhurFuZyBjw7RuZyB0eSBjw7Mga2hv4bqjbiB0aHXhur8gdGh1IG5o4bqtcCBkb2FuaCBuZ2hp4buHcCBob8OjbiBs4bqhaSBkxrDGoW5nIHRyb25nIG7Eg20gMjAyMy4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgcuG6sW5nIGPDtG5nIHR5IGPDsyB0aOG7gyDEkWFuZyBnaGkgbmjhuq1uIG5oaeG7gXUga2hv4bqjbiBjaGkgcGjDrSB0aGVvIGvhur8gdG/DoW4gaMahbiBzbyB24bubaSB0aGVvIHRodeG6vy4NCg0KLSBEb2FuaCBuZ2hp4buHcCBj4bqnbiB0aGVvIGTDtWkgdsOgIHF14bqjbiBsw70gY+G6qW4gdGjhuq1uIGtob+G6o24gdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgaG/Do24gbOG6oWkgbsOgeSDEkeG7gyDEkeG6o20gYuG6o28g4bqjbmggaMaw4bufbmcgdMOtY2ggY+G7sWMgxJHhur9uIGzhu6NpIG5odeG6rW4gc2F1IHRodeG6vywgZMOybmcgdGnhu4FuIHbDoCBnacOhIHRy4buLIGRvYW5oIG5naGnhu4dwLg0KDQojIyBQaMOibiB0w61jaCBM4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gdGh1IG5o4bqtcCBkb2FuaCBuZ2hp4buHcA0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUXV5IDwtIGMoIlF1w70gMSAtIDIwMjMiLCAiUXXDvSAyIC0gMjAyMyIsICJRdcO9IDMgLSAyMDIzIiwgIlF1w70gNCAtIDIwMjMiKQ0KbG9pbmh1YW40IDwtIGMoMTAyNDAxMTE4MjI5NywxMDAwNjAzMDYxNDMxLDEzMTY2ODQ1Njg0NTIsMTA2NzUwOTAwMDAwMCkNCmRmMTQgPC0gZGF0YS5mcmFtZShRdXksIGxvaW5odWFuNCkNCmRhdGF0YWJsZShkZjE0KQ0KZ2dwbG90KGRmMTQsIGFlcyh4ID0gUXV5LCB5ID0gbG9pbmh1YW40KSkgKw0KICBnZW9tX2NvbChzdGF0ID0gImlkZW50aXR5IikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBs4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gdGh1IG5o4bqtcCBkb2FuaCBuZ2hp4buHcCAgNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImzhu6NpIG5odeG6rW4iKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KKipE4buxYSB2w6BvIMSR4buTIHRo4buLIHbDoCBi4bqjbmcgc+G7kSBsaeG7h3UsIHRhIGPDsyB0aOG7gyBuaOG6rW4gxJHhu4tuaCBt4buZdCBz4buRIMSRaeG7gXUgbmjGsCBzYXU6KioNCg0KKipEb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pToqKg0KDQotIFTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYyBxdWEgY8OhYyBxdcO9IChzbyB24bubaSBxdcO9IDEgbsSDbSAyMDIzKQ0KDQotIE3hu6ljIHTEg25nIHRyxrDhu59uZyBjYW8gbmjhuqV0IHThu6sgUXXDvSAyIHNhbmcgUXXDvSAzICh0xINuZyA1MiUpLg0KDQoqKkdpw6EgduG7kW4gaMOgbmcgYsOhbjoqKg0KDQotIFTEg25nIHRyxrDhu59uZyB0aGVvIHh1IGjGsOG7m25nIHTGsMahbmcgdOG7sSBkb2FuaCB0aHUuDQoNCi0gVOG7tyBs4buHIGdpw6EgduG7kW4gaMOgbmcgYsOhbiB0csOqbiBkb2FuaCB0aHUgZGFvIMSR4buZbmcgdOG7qyAzOCUgLSA0NiUuDQoNCioqTOG7o2kgbmh14bqtbiBn4buZcDoqKg0KDQotIEJp4bq/biDEkeG7mW5nIHRoZW8geHUgaMaw4bubbmcgY+G7p2EgZG9hbmggdGh1Lg0KDQotIEzhu6NpIG5odeG6rW4gZ+G7mXAgY2FvIG5o4bqldCB0cm9uZyBRdcO9IDMgKDEuNzAwIHThu7cgxJHhu5NuZykuDQoNCioqRG9hbmggdGh1IHbDoCBjaGkgcGjDrSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaDoqKg0KDQotIERvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCB0xINuZyDEkeG7gXUgxJHhurduIHF1YSBjw6FjIHF1w70uDQoNCi0gQ2hpIHBow60gdMOgaSBjaMOtbmggZ2nhuqNtIGThuqduIHThu6sgUXXDvSAxIHNhbmcgUXXDvSA0Lg0KDQoqKkNoaSBwaMOtIGLDoW4gaMOgbmcsIHF14bqjbiBsw70gZG9hbmggbmdoaeG7h3A6KioNCg0KLSBDaGkgcGjDrSBiw6FuIGjDoG5nIHTEg25nIMSR4buZdCBiaeG6v24gdHJvbmcgUXXDvSAzICgxODQgdOG7tyDEkeG7k25nKS4NCg0KLSBDaGkgcGjDrSBxdeG6o24gbMO9IGRvYW5oIG5naGnhu4dwIHTEg25nIG5o4bq5IHRoZW8gdGjhu51pIGdpYW4uDQoNCioqTOG7o2kgbmh14bqtbiB0aHXhuqduIHThu6sgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaDoqKg0KDQotIEJp4bq/biDEkeG7mW5nIG3huqFuaCBkbyDhuqNuaCBoxrDhu59uZyBj4bunYSBjaGkgcGjDrSBiw6FuIGjDoG5nLg0KDQotIEzhu6NpIG5odeG6rW4gY2FvIG5o4bqldCB0cm9uZyBRdcO9IDMgKDEuNjM0IHThu7cgxJHhu5NuZykuDQoNCioqVGh1IG5o4bqtcCBraMOhYywgY2hpIHBow60ga2jDoWM6KioNCg0KLSBUaHUgbmjhuq1wIGtow6FjIHTEg25nIGNhbyB0cm9uZyBRdcO9IDQgKDkyIHThu7cgxJHhu5NuZykuDQoNCi0gQ2hpIHBow60ga2jDoWMgdMawxqFuZyDEkeG7kWkg4buVbiDEkeG7i25oLg0KDQoqKkzhu6NpIG5odeG6rW4ga2jDoWM6KioNCg0KLSBCaeG6v24gxJHhu5luZyBt4bqhbmggZG8g4bqjbmggaMaw4bufbmcgY+G7p2EgdGh1IG5o4bqtcCBraMOhYy4NCg0KLSBM4bujaSBuaHXhuq1uIGNhbyBuaOG6pXQgdHJvbmcgUXXDvSA0ICg3OSB04bu3IMSR4buTbmcpLg0KDQoqKkzhu6NpIG5odeG6rW4gc2F1IHRodeG6vyB0aHUgbmjhuq1wIGRvYW5oIG5naGnhu4dwOioqDQoNCi0gVMSDbmcgdHLGsOG7n25nIGxpw6puIHThu6VjIHF1YSBjw6FjIHF1w70gKHNvIHbhu5tpIHF1w70gMSBuxINtIDIwMjMpDQoNCi0gTeG7qWMgdMSDbmcgdHLGsOG7n25nIGNhbyBuaOG6pXQgdOG7qyBRdcO9IDIgc2FuZyBRdcO9IDMgKDMxJSkuDQoNCioqS+G6v3QgbHXhuq1uOioqDQoNCi0gTOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IHRodSBuaOG6rXAgZG9hbmggbmdoaeG7h3AgY+G7p2EgY8O0bmcgdHkgdMSDbmcgdHLGsOG7n25nIMSR4buBdSDEkeG6t24gcXVhIGPDoWMgcXXDvSwgY2jhu6cgeeG6v3UgZG8gc+G7sSBnaWEgdMSDbmcgY+G7p2EgZG9hbmggdGh1IGLDoW4gaMOgbmcgdsOgIGN1bmcgY+G6pXAgZOG7i2NoIHbhu6UuDQoNCi0gQ2hpIHBow60gYsOhbiBow6BuZyBsw6AgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyBs4bubbiDEkeG6v24gbOG7o2kgbmh14bqtbiwgY+G6p24gxJHGsOG7o2Mga2nhu4NtIHNvw6F0IGhp4buHdSBxdeG6oy4NCg0KLSBRdcO9IDMgbMOgIHF1w70gY8OzIGzhu6NpIG5odeG6rW4gY2FvIG5o4bqldCBkbyBkb2FuaCB0aHUgdsOgIGzhu6NpIG5odeG6rW4gZ+G7mXAgxJHhuqF0IMSR4buJbmggxJFp4buDbS4NCg0KIyMgUGjDom4gdMOtY2ggbOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IGPDtG5nIHR5IG3hurkNCg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUXV5IDwtIGMoIlF1w70gMSAtIDIwMjMiLCAiUXXDvSAyIC0gMjAyMyIsICJRdcO9IDMgLSAyMDIzIiwgIlF1w70gNCAtIDIwMjMiKQ0KbG9pbmh1YW40IDwtIGMoMTAyNDAxMTE4MjI5NywxMDAwNjAzMDYxNDMxLDEzMTY2ODQ1Njg0NTIsMTA2NzUwOTAwMDAwMCkNCmRmMTQgPC0gZGF0YS5mcmFtZShRdXksIGxvaW5odWFuNCkNCmRhdGF0YWJsZShkZjE0KQ0KZ2dwbG90KGRmMTQsIGFlcyh4ID0gUXV5LCB5ID0gbG9pbmh1YW40KSkgKw0KICBnZW9tX2NvbChzdGF0ID0gImlkZW50aXR5IikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBs4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uSAgNCBxdcO9IDIwMjMiLCB4ID0gIlF1w70iLCB5ID0gImzhu6NpIG5odeG6rW4iKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBCaeG6v24gxJHhu5luZyBs4bujaSBuaHXhuq1uOioNCg0KLSBM4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uSBuaMOsbiBjaHVnIGPDsyB4dSBoxrDhu5tuZyB0xINuZyBxdWEgY8OhYyBxdcO9Og0KDQpRdcO9IDE6IDEuMDIzIHThu7cgxJHhu5NuZw0KDQpRdcO9IDI6IDEuMDAwIHThu7cgxJHhu5NuZw0KDQpRdcO9IDM6IDEuMzE2IHThu7cgxJHhu5NuZw0KDQpRdcO9IDQ6IDEuMDY3IHThu7cgxJHhu5NuZw0KDQotIE3hu6ljIHTEg25nIHRyxrDhu59uZyBjYW8gbmjhuqV0IHThu6sgUXXDvSAyIHNhbmcgUXXDvSAzICh0xINuZyAzMSUpLg0KDQoqMi4gUGjDom4gdMOtY2ggY8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nOioNCg0KLSBEb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pToNCg0KVMSDbmcgdHLGsOG7n25nIGxpw6puIHThu6VjIHF1YSBjw6FjIHF1w70sIGfDs3AgcGjhuqduIMSR4bqpeSBt4bqhbmggbOG7o2kgbmh14bqtbi4NCg0KTeG7qWMgdMSDbmcgdHLGsOG7n25nIGNhbyBuaOG6pXQgdOG7qyBRdcO9IDIgc2FuZyBRdcO9IDMgKHTEg25nIDUyJSkuDQoNCi0gR2nDoSB24buRbiBow6BuZyBiw6FuOg0KDQpUxINuZyB0aGVvIHh1IGjGsOG7m25nIHTGsMahbmcgdOG7sSBkb2FuaCB0aHUuDQoNClThu7cgbOG7hyBnacOhIHbhu5FuIGjDoG5nIGLDoW4gdHLDqm4gZG9hbmggdGh1IGRhbyDEkeG7mW5nIHThu6sgMzglIC0gNDYlLCBjaG8gdGjhuqV5IGPDtG5nIHR5IGtp4buDbSBzb8OhdCB04buRdCBjaGkgcGjDrSBz4bqjbiB4deG6pXQvbXVhIGjDoG5nLg0KDQotIEzhu6NpIG5odeG6rW4gZ+G7mXA6DQoNCkJp4bq/biDEkeG7mW5nIHRoZW8geHUgaMaw4bubbmcgY+G7p2EgZG9hbmggdGh1Lg0KDQpM4bujaSBuaHXhuq1uIGfhu5lwIGNhbyBuaOG6pXQgdHJvbmcgUXXDvSAzICgxLjcwMCB04bu3IMSR4buTbmcpLg0KDQotIERvYW5oIHRodSB2w6AgY2hpIHBow60gaG/huqF0IMSR4buZbmcgdMOgaSBjaMOtbmg6DQoNCkRvYW5oIHRodSBob+G6oXQgxJHhu5luZyB0w6BpIGNow61uaCB0xINuZyDEkeG7gXUgxJHhurduLg0KDQpDaGkgcGjDrSB0w6BpIGNow61uaCBnaeG6o20gZOG6p24sIHRo4buDIGhp4buHbiBjaGnhur9uIGzGsOG7o2MgcXXhuqNuIGzDvSB0w6BpIGNow61uaCBoaeG7h3UgcXXhuqMuDQoNCi0gQ2hpIHBow60gYsOhbiBow6BuZzoNCg0KVMSDbmcgxJHhu5l0IGJp4bq/biB0cm9uZyBRdcO9IDMgKDE4NCB04bu3IMSR4buTbmcpLCBjw7MgdGjhu4MgZG86VMSDbmcgY8aw4budbmcgaG/huqF0IMSR4buZbmcgbWFya2V0aW5nO03hu58gcuG7mW5nIHRo4buLIHRyxrDhu51uZztDaGnhur90IGto4bqldSBiw6FuIGjDoG5nDQoNCi0gQ2hpIHBow60gcXXhuqNuIGzDvSBkb2FuaCBuZ2hp4buHcDoNCg0KVMSDbmcgbmjhurkgdGhlbyB0aOG7nWkgZ2lhbi4NCg0KLSBM4bujaSBuaHXhuq1uIHRodeG6p24gdOG7qyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oOg0KDQpCaeG6v24gxJHhu5luZyBt4bqhbmggZG8g4bqjbmggaMaw4bufbmcgY+G7p2EgY2hpIHBow60gYsOhbiBow6BuZy4NCg0KTOG7o2kgbmh14bqtbiBjYW8gbmjhuqV0IHRyb25nIFF1w70gMyAoMS42MzQgdOG7tyDEkeG7k25nKS4NCg0KLSBUaHUgbmjhuq1wIGtow6FjOg0KDQpUxINuZyBjYW8gdHJvbmcgUXXDvSA0ICg5MiB04bu3IMSR4buTbmcpLg0KDQotIENoaSBwaMOtIGtow6FjOg0KDQpUxrDGoW5nIMSR4buRaSDhu5VuIMSR4buLbmguDQoNCi0gTOG7o2kgbmh14bqtbiBraMOhYzoNCg0KQmnhur9uIMSR4buZbmcgbeG6oW5oIGRvIOG6o25oIGjGsOG7n25nIGPhu6dhIHRodSBuaOG6rXAga2jDoWMuDQoNCkzhu6NpIG5odeG6rW4gY2FvIG5o4bqldCB0cm9uZyBRdcO9IDQgKDc5IHThu7cgxJHhu5NuZykuDQoNCiozLiBOaOG6rW4geMOpdDoqDQoNCi0gTOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IGPDtG5nIHR5IG3hurkgdMSDbmcgdHLGsOG7n25nIGzDoCB0w61uIGhp4buHdSB0w61jaCBj4buxYyBjaG8gdGjhuqV5IGhv4bqhdCDEkeG7mW5nIGtpbmggZG9hbmggaGnhu4d1IHF14bqjLg0KDQotIERvYW5oIHRodSBsw6AgeeG6v3UgdOG7kSBjaOG7pyDEkeG6oW8gdGjDumMgxJHhuql5IGzhu6NpIG5odeG6rW4uDQoNCi0gQ2hpIHBow60gYsOhbiBow6BuZyBj4bqnbiDEkcaw4bujYyBraeG7g20gc2/DoXQgY2jhurd0IGNo4bq9IGjGoW4uDQoNCi0gUXXDvSAzIGzDoCBxdcO9IGPDsyBs4bujaSBuaHXhuq1uIGNhbyBuaOG6pXQgZG8gZG9hbmggdGh1IHbDoCBs4bujaSBuaHXhuq1uIGfhu5lwIMSR4bqhdCDEkeG7iW5oIMSRaeG7g20uDQoNCio0LiBI4bqhbiBjaOG6vzoqDQoNCi0gUGjDom4gdMOtY2ggZOG7sWEgdHLDqm4gZOG7ryBsaeG7h3UgY+G7p2EgNCBxdcO9LCBj4bqnbiB0aMOqbSBk4buvIGxp4buHdSBj4bunYSBjw6FjIGvhu7Mga+G6vyB0b8OhbiB0csaw4bubYyDEkeG7gyBjw7MgxJHDoW5oIGdpw6EgY2jDrW5oIHjDoWMgaMahbi4NCg0KLSBQaMOibiB0w61jaCBjaMawYSDEkWkgc8OidSB2w6BvIGPDoWMgeeG6v3UgdOG7kSBj4bulIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biB04burbmcga2hv4bqjbiBt4bulYyBjaGkgcGjDrSB2w6AgZG9hbmggdGh1Lg0KDQojIyBQaMOibiB0w61jaCBM4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uSBraMO0bmcga2nhu4NtIHNvw6F0DQoNCmBgYHtyIG1lc3NhZ2U9VFJVRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNClF1eSA8LSBjKCJRdcO9IDEgLSAyMDIzIiwgIlF1w70gMiAtIDIwMjMiLCAiUXXDvSAzIC0gMjAyMyIsICJRdcO9IDQgLSAyMDIzIikNCmxvaW5odWFuNSA8LSBjKDE2NTI1NzAxNCwxMzk2NTgyOCwxMzcyMzI1OSwxNDAwMDAwMCkNCmRmMTUgPC0gZGF0YS5mcmFtZShRdXksIGxvaW5odWFuNSkNCmRhdGF0YWJsZShkZjE1KQ0KZ2dwbG90KGRmMTUsIGFlcyh4ID0gUXV5LCB5ID0gbG9pbmh1YW41KSkgKw0KICBnZW9tX2NvbChzdGF0ID0gImlkZW50aXR5IikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBs4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uSBraMO0bmcga2nhu4NtIHNvw6F0IDQgcXXDvSAyMDIzIiwgeCA9ICJRdcO9IiwgeSA9ICJs4bujaSBuaHXhuq1uIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoNCioqROG7sWEgdsOgbyDEkeG7kyB0aOG7iyB2w6AgYuG6o25nIHPhu5EgbGnhu4d1LCB0YSBjw7MgdGjhu4Mgbmjhuq1uIMSR4buLbmggbeG7mXQgc+G7kSDEkWnhu4F1IG5oxrAgc2F1OioqDQoNCioxLiBCaeG6v24gxJHhu5luZzoqDQoNCkzhu6NpIG5odeG6rW4gc2F1IHRodeG6vyBjw7RuZyB0eSBt4bq5IGtow7RuZyBraeG7g20gc2/DoXQgY8OzIGJp4bq/biDEkeG7mW5nIHRyb25nIDQgcXXDvSwgZ2nhuqNtIGThuqduIHThu6sgcXXDvSAxIMSR4bq/biBxdcO9IDQuDQpD4bulIHRo4buDOg0KDQotIFF1w70gMTogTOG7o2kgbmh14bqtbiBjYW8gbmjhuqV0LCDEkeG6oXQgMTY1LjI1Ny4wMTQuDQoNCi0gUXXDvSAyOiBHaeG6o20geHXhu5FuZyBjw7JuIDEzLjk2NS44MjguDQoNCi0gUXXDvSAzOiBUaeG6v3AgdOG7pWMgZ2nhuqNtIHh14buRbmcgMTMuNzIzLjI1OS4NCg0KLSBRdcO9IDQ6IFRo4bqlcCBuaOG6pXQsIGNo4buJIMSR4bqhdCAxNC4wMDAuMDAwLg0KDQoqMi4gVOG7tyBs4buHOioNCg0KTOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IGPDtG5nIHR5IG3hurkga2jDtG5nIGtp4buDbSBzb8OhdCBjaGnhur9tIHThu7cgbOG7hyBy4bqldCBuaOG7jyBzbyB24bubaSBs4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uToNCg0KLSBRdcO9IDE6IDAsMDE2JQ0KDQotIFF1w70gMjogMCwwMDElDQoNCi0gUXXDvSAzOiAwLDAwMSUNCg0KLSBRdcO9IDQ6IDAsMDAxJQ0KDQoqMy4gTmd1ecOqbiBuaMOibjoqDQoNCkPDsyB0aOG7gyBkbzoNCg0KLSBIb+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPhu6dhIGPDtG5nIHR5IGNvbiBraMO0bmcgaGnhu4d1IHF14bqjLg0KDQotIEPDtG5nIHR5IGNvbiBn4bq3cCBraMOzIGtoxINuIHTDoGkgY2jDrW5oLg0KDQotIEPDtG5nIHR5IG3hurkgxJHDoyBiw6FuIG3hu5l0IHBo4bqnbiBob+G6t2MgdG/DoG4gYuG7mSB24buRbiBnw7NwIHThuqFpIGPDtG5nIHR5IGNvbi4NCg0KKjQuIOG6om5oIGjGsOG7n25nOioNCg0KLSBM4bujaSBuaHXhuq1uIHNhdSB0aHXhur8gY8O0bmcgdHkgbeG6uSBraMO0bmcga2nhu4NtIHNvw6F0IGdp4bqjbSBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uOg0KDQotIEzhu6NpIG5odeG6rW4gc2F1IHRodeG6vyBo4bujcCBuaOG6pXQgY+G7p2EgY8O0bmcgdHkuDQoNCi0gR2nDoSB0cuG7iyBj4buVIHBoaeG6v3UgY+G7p2EgY8O0bmcgdHkuDQoNCi0gUXV54bq/dCDEkeG7i25oIMSR4bqndSB0xrAgY+G7p2EgY8OhYyBuaMOgIMSR4bqndSB0xrAuDQoNCio1LiDEkOG7gSB4deG6pXQ6Kg0KDQotIEPhuqduIHBow6JuIHTDrWNoIHPDonUgaMahbiBuZ3V5w6puIG5ow6JuIGtoaeG6v24gbOG7o2kgbmh14bqtbiBzYXUgdGh14bq/IGPDtG5nIHR5IG3hurkga2jDtG5nIGtp4buDbSBzb8OhdCBnaeG6o20uDQoNCi0gQ8OzIGJp4buHbiBwaMOhcCBj4bqjaSB0aGnhu4duIGhp4buHdSBxdeG6oyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPhu6dhIGPDtG5nIHR5IGNvbi4NCg0KLSBDw6JuIG5o4bqvYyB2aeG7h2MgYsOhbiBob+G6t2MgdGhvw6FpIHbhu5FuIGto4buPaSBjw7RuZyB0eSBjb24gbuG6v3UgY+G6p24gdGhp4bq/dC4NCg0KIyAqKkThu7EgYsOhbyBkb2FuaCB0aHUgcXXDvSAxLyAyMDI0IGLhurFuZyBwaMawxqFuZyBwaMOhcCBwaMOibiB0w61jaCBtw7QgaMOsbmggU0VTKDAuMjUpKioNCg0KIyMgR2nhuqNpIHRow61jaCBtw7QgaMOsbmggU0VTKDAuMjUpDQoNCioqU0VTKDAuMjUpIGzDoCB2aeG6v3QgdOG6r3QgY+G7p2EgU2Vhc29uYWwgRXhwb25lbnRpYWwgU21vb3RoaW5nIHdpdGggYSBzbW9vdGhpbmcgZmFjdG9yIG9mIDAuMjUuIMSQw6J5IGzDoCBt4buZdCBtw7QgaMOsbmggZOG7sSBiw6FvIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIGThu7EgxJFvw6FuIGdpw6EgdHLhu4sgdMawxqFuZyBsYWkgZOG7sWEgdHLDqm4gZOG7ryBsaeG7h3UgcXXDoSBraOG7qSwgY8OzIHTDrW5oIMSR4bq/biB54bq/dSB04buRIG3DuWEgduG7pS4qKg0KDQoqU0VTKDAuMjUpIHPhu60gZOG7pW5nIGhhaSBnacOhIHRy4buLIMSR4buDIGThu7EgxJFvw6FuOioNCg0KLSBN4bupYyB0cnVuZyBiw6xuaDogR2nDoSB0cuG7iyB0cnVuZyBiw6xuaCBj4bunYSBk4buvIGxp4buHdSBxdcOhIGto4bupLg0KDQotIFnhur91IHThu5EgbcO5YSB24bulOiBI4buHIHPhu5EgxJFp4buBdSBjaOG7iW5oIGThu7EgxJFvw6FuIGThu7FhIHRyw6puIGJp4bq/biDEkeG7mW5nIHRoZW8gbcO5YS4NCg0KKkPDtG5nIHRo4bupYyB0w61uaCB0b8OhbjoqDQoNCioqRih0KzEpID0gzrEqWSh0KSArICgxLc6xKSpGKHQpKiogDQoNClRyb25nIMSRw7M6DQoNCi0gRih0KSA6IEdpw6EgdHLhu4sgZOG7sSDEkW/DoW4gY2hvIGvhu7MgdC4NCg0KLSBZKHQpIDogIEdpw6EgdHLhu4sgdGjhu7FjIHThur8gY2hvIGvhu7MgdC4NCg0KLSDOsSA6IEjhu4cgc+G7kSBsw6BtIG3hu4tuIChzbW9vdGhpbmcgZmFjdG9yKSwgdGjGsOG7nW5nIG7hurFtIHRyb25nIGtob+G6o25nIDAgdsOgIDEuDQoNCi0gMS3OsSA6IEjhu4cgc+G7kSBtw7lhIHbhu6UgKHNlYXNvbmFsIGZhY3RvcikNCg0KIyMgROG7sSBiw6FvIGRvYW5oIHRodSBxdcO9IDEvMjAyNA0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBwYWdlZC5wcmludD1GQUxTRX0NCmxpYnJhcnkocmVhZHhsKQ0KZHViYW8gPC0gcmVhZF94bHN4KCJEOi8vbmfDtG4gbmfhu68gbOG6rXAgdHLDrG5oLy9E4buxIGLDoW8gZG9hbmggdGh1Lnhsc3giKQ0KZGF0YXRhYmxlKGR1YmFvKQ0KYGBgDQoqKkvhur90IHF14bqjIGThu7EgYsOhbyBkb2FuaCB0aHUgYsOhbiBow6BuZyB2w6AgY3VuZyBj4bqlcCBk4buLY2ggduG7pSBj4bunYSBxdcO9IDEgbsSDbSAyMDI0IGzDoCAyMzM1ODk2NTY0MDU4IFZOxJAqKg0KDQojICoqS+G6v3QgbHXhuq1uKioNCg0KKirEkMOhbmggZ2nDoSBr4bq/dCBxdeG6oyBraW5oIGRvYW5oOioqDQoNCi0gVmluY29tIFJldGFpbCDEkcOjIGPDsyBt4buZdCBuxINtIDIwMjMgdGjDoG5oIGPDtG5nIHbhu5tpIG3hu6ljIHTEg25nIHRyxrDhu59uZyBkb2FuaCB0aHUgdsOgIGzhu6NpIG5odeG6rW4g4bqlbiB0xrDhu6NuZy4NCg0KLSBN4bupYyB0xINuZyB0csaw4bufbmcgbsOgeSBjYW8gaMahbiBzbyB24bubaSBt4bulYyB0acOqdSDEkeG7gSByYSBjaG8gbsSDbSAyMDIzIHbDoCBjxaluZyBjYW8gaMahbiBzbyB24bubaSBt4bupYyB0xINuZyB0csaw4bufbmcgY+G7p2EgbmfDoG5oIGLDoW4gbOG6uyBWaeG7h3QgTmFtLg0KDQotIEPDtG5nIHR5IMSRw6MgdGjhu7FjIGhp4buHbiB0aMOgbmggY8O0bmcgY2hp4bq/biBsxrDhu6NjIG3hu58gcuG7mW5nIG3huqFuZyBsxrDhu5tpIHbDoCB0aHUgaMO6dCBraMOhY2ggaMOgbmcuDQoNCi0gVmluY29tIFJldGFpbCB0aeG6v3AgdOG7pWMga2jhurNuZyDEkeG7i25oIHbhu4sgdGjhur8gbMOgIG5ow6AgcGjDoXQgdHJp4buDbiB2w6AgduG6rW4gaMOgbmggVFRUTSBow6BuZyDEkeG6p3UgVmnhu4d0IE5hbS4NCg0KLSBL4bq/dCBxdeG6oyBraW5oIGRvYW5oIGPhu6dhIFZpbmNvbSBSZXRhaWwgxJHGsOG7o2MgdGjDumMgxJHhuql5IGLhu59pIG3hu5l0IHPhu5EgeeG6v3UgdOG7kToNCg0KTuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0gcGjhu6VjIGjhu5NpIHNhdSDEkeG6oWkgZOG7i2NoIENPVklELTE5Lg0KDQpOaHUgY+G6p3UgdGnDqnUgZMO5bmcgY+G7p2EgbmfGsOG7nWkgZMOibiBWaeG7h3QgTmFtIHTEg25nIGNhby4NCg0KVmluY29tIFJldGFpbCB0cmnhu4NuIGtoYWkgaGnhu4d1IHF14bqjIGPDoWMgY2hp4bq/biBsxrDhu6NjIGtpbmggZG9hbmguDQoNCioqxJDhu4tuaCBoxrDhu5tuZyBwaMOhdCB0cmnhu4NuOioqDQoNCi0gVmluY29tIFJldGFpbCB0aeG6v3AgdOG7pWMgdOG6rXAgdHJ1bmcgdsOgbyBt4bqjbmcga2luaCBkb2FuaCB0cnVuZyB0w6JtIHRoxrDGoW5nIG3huqFpLCDEkeG7k25nIHRo4budaSDEkeG6qXkgbeG6oW5oIHBow6F0IHRyaeG7g24gbeG6o25nIGLhuqV0IMSR4buZbmcgc+G6o24uDQoNCi0gTeG7pWMgdGnDqnUgZG9hbmggdGh1IHbDoCBs4bujaSBuaHXhuq1uIGNobyBuxINtIDIwMjQgZOG7sSBraeG6v24gc+G6vSB0aeG6v3AgdOG7pWMgdMSDbmcgdHLGsOG7n25nIGNhby4NCg0KLSBWaW5jb20gUmV0YWlsIMSR4bq3dCBt4bulYyB0acOqdSB0cuG7nyB0aMOgbmggbmjDoCBwaMOhdCB0cmnhu4NuIHbDoCB24bqtbiBow6BuaCBi4bqldCDEkeG7mW5nIHPhuqNuIGLDoW4gbOG6uyBow6BuZyDEkeG6p3UgVmnhu4d0IE5hbS4NCg0KKipQaMOibiB0w61jaCBTV09UOioqDQoNCi0gxJBp4buDbSBt4bqhbmg6DQoNClRoxrDGoW5nIGhp4buHdSB1eSB0w61uLg0KDQpI4buHIHRo4buRbmcgdHJ1bmcgdMOibSB0aMawxqFuZyBt4bqhaSBoaeG7h24gxJHhuqFpIHbDoCDEkWEgZOG6oW5nLg0KDQpW4buLIHRyw60gxJHhuq9jIMSR4buLYS4NCg0KxJDhu5lpIG5nxakgbmjDom4gdmnDqm4gY2h1ecOqbiBuZ2hp4buHcC4NCg0KLSDEkGnhu4NtIHnhur91Og0KDQpDaGkgcGjDrSBob+G6oXQgxJHhu5luZyBjYW8uDQoNClBo4bulIHRodeG7mWMgdsOgbyB0aOG7iyB0csaw4budbmcgYsOhbiBs4bq7IFZp4buHdCBOYW0uDQoNCi0gQ8ahIGjhu5lpOg0KDQpO4buBbiBraW5oIHThur8gVmnhu4d0IE5hbSB0aeG6v3AgdOG7pWMgcGjDoXQgdHJp4buDbi4NCg0KTmh1IGPhuqd1IHRpw6p1IGTDuW5nIGPhu6dhIG5nxrDhu51pIGTDom4gVmnhu4d0IE5hbSB0xINuZyBjYW8uDQoNClRo4buLIHRyxrDhu51uZyBiw6FuIGzhursgVmnhu4d0IE5hbSBjw7JuIG5oaeG7gXUgdGnhu4FtIG7Eg25nLg0KDQotIFRow6FjaCB0aOG7qWM6DQoNCkPhuqFuaCB0cmFuaCBnYXkgZ+G6r3QgdOG7qyBjw6FjIMSR4buRaSB0aOG7pyB0cm9uZyBuxrDhu5tjIHbDoCBxdeG7kWMgdOG6vy4NCg0KQmnhur9uIMSR4buZbmcgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIGtpbmggdOG6vy4NCg0KQ2jDrW5oIHPDoWNoIGPhu6dhIENow61uaCBwaOG7py4NCg0KKirEkOG7gSB4deG6pXQgZ2nhuqNpIHBow6FwOioqDQoNCi0gVGnhur9wIHThu6VjIG3hu58gcuG7mW5nIGjhu4cgdGjhu5FuZyB0cnVuZyB0w6JtIHRoxrDGoW5nIG3huqFpLg0KDQotIFBow6F0IHRyaeG7g24gbeG6o25nIGLhuqV0IMSR4buZbmcgc+G6o24uDQoNCi0gVMSDbmcgY8aw4budbmcg4bupbmcgZOG7pW5nIGPDtG5nIG5naOG7hyB0cm9uZyBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oLg0KDQotIE7Dom5nIGNhbyBjaOG6pXQgbMaw4bujbmcgZOG7i2NoIHbhu6UuDQoNCi0gTeG7nyBy4buZbmcgdGjhu4sgdHLGsOG7nW5nIHNhbmcgY8OhYyBuxrDhu5tjIGtow6FjIHRyb25nIGtodSB24buxYy4NCg0KKipL4bq/dCBsdeG6rW4gY2h1bmc6KioNCg0KVmluY29tIFJldGFpbCBsw6AgbeG7mXQgY8O0bmcgdHkgdXkgdMOtbiB2w6AgY8OzIHRp4buBbSBuxINuZyBwaMOhdCB0cmnhu4NuIGzhu5tuIHRyb25nIGzEqW5oIHbhu7FjIGLDoW4gbOG6uy4gVuG7m2kgbmjhu69uZyBjaGnhur9uIGzGsOG7o2Mga2luaCBkb2FuaCBoaeG7h3UgcXXhuqMgdsOgIA0KDQrEkeG7i25oIGjGsOG7m25nIHBow6F0IHRyaeG7g24gcsO1IHLDoG5nLCBWaW5jb20gUmV0YWlsIGPDsyB0aOG7gyB0aeG6v3AgdOG7pWMgZHV5IHRyw6wgxJHDoCB0xINuZyB0csaw4bufbmcgdHJvbmcgbmjhu69uZyBuxINtIHThu5tpLg0KDQo=