PHẦN I: TỔNG QUAN VỀ BÀI TIỂU LUẬN

1. MỞ ĐẦU

1.1 Cảm hứng lựa chọn đề tài

  • Đề tài của bài tiểu luận này là phân tích về sự biến động của dân số Việt Nam trong giai đoạn 2016-2023.

  • Việc lựa chọn đề tài dân số và sự biến động dân số cho bài tiểu luận lần này là vì:

  • Tính quan trọng của dân số: Dân số là một yếu tố quan trọng trong phát triển của một quốc gia. Nó ảnh hưởng đến nền kinh tế, xã hội, môi trường và chính trị. Nghiên cứu về dân số giúp bạn hiểu rõ hơn về tác động của dân số đến các lĩnh vực này và đưa ra các giải pháp phù hợp.

  • Tình hình dân số thế giới: Dân số thế giới đang trên đà tăng nhanh, và việc hiểu rõ về xu hướng, biến đổi và sự phân bố dân số trên thế giới là rất quan trọng. Bằng cách nghiên cứu về dân số, bạn có thể tìm hiểu về các vấn đề như tăng trưởng dân số, tỷ lệ sinh và tử, biến động dân số theo độ tuổi và giới tính, di cư và sự phân bố dân số trên toàn cầu.

  • Tác động của dân số đến phát triển bền vững: Dân số đóng vai trò quan trọng trong việc xác định khả năng phát triển bền vững của một quốc gia. Nghiên cứu về dân số có thể giúp bạn hiểu rõ hơn về tác động của dân số đến tài nguyên, môi trường, nghèo đói, giáo dục, sức khỏe và phát triển kinh tế. Bằng cách tìm hiểu về các vấn đề này, bạn có thể đề xuất các biện pháp và chính sách nhằm đảm bảo phát triển bền vững và cân bằng giữa dân số và tài nguyên.

  • Các vấn đề liên quan đến dân số: Nghiên cứu về dân số mở ra cơ hội để khám phá các vấn đề liên quan như quyền tự do sinh sản, sức khỏe sinh sản, kế hoạch hóa gia đình, giảm tỷ lệ sinh, chăm sóc trẻ em và người già, quản lý di cư, và các vấn đề xã hội như đô thị hóa và đô thị hóa vùng nông thôn.

  • Tính ứng dụng cao: Nghiên cứu về dân số mang tính ứng dụng cao và có thể áp dụng trong nhiều lĩnh vực khác nhau như chính trị, kinh tế, y tế, giáo dục và quản lý tài nguyên. Nếu bạn quan tâm đến những vấn đề này và muốn đóng góp vào việc giải quyết các thách thức xã hội, nghiên cứu về dân số là một lựa chọn tốt.

1.2 Đối tượng và phạm vi nghiên cứu

  • Đối tượng: 63 tỉnh thành Việt Nam chia làm 7 vùng miền trên lãnh thổ.
  • Phạm vi và mốc thời gian nghiên cứu: Chia làm 2 giai đoạn cụ thể là: từ 2016-2019 và từ 2020-2023.

1.3 Các nguồn thu thập dữ liệu dân số Việt Nam

  • Tổng cục thống kê Việt Nam
  • World Bank

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

  • Thu thập dữ liệu sau đó dùng các biểu đồ để trực quan hóa dữ liệu lên biểu đồ.
  • Phân tích về sự biến động thông qua biểu đồ đã được vẽ trước đó.

2. TỔNG QUAN LÝ THUYẾT VỀ DÂN SỐ VIỆT NAM

2.1 Khái niệm

  • Dân số là số lượng người sống trong một khu vực cụ thể bao gồm một thành phố một quốc gia, một khu vực địa lý hoặc toàn thế giới. Nó thể hiện số lượng dân cư tổng thể của một địa điểm trong một thời điểm nhất định. Dân số được cho bằng đơn vị người và thường được cập nhật thông qua các thống kê dân số và cuộc điều tra dân số.

  • Dân số là một yếu tố quan trọng để đo lường quy mô dân số, định hình quy mô dân cư và phân tích các xu hướng dân số. Nó có thể ảnh hưởng đến nhiều khía cạnh của kinh tế, xã hội và chính trị bao gồm:

  • Kinh tế: Dân số lớn có thể tạo ra lực lượng lao động dồi dào, cung cấp sức lao động cho các ngành công nghiệp và dịch vụ. Điều này có thể thúc đẩy tăng trưởng kinh tế và phát triển quốc gia. Tuy nhiên, nếu dân số vượt quá khả năng hấp thụ của nền kinh tế, việc cung cấp việc làm và tài nguyên sẽ trở nên khó khăn, gây áp lực và thách thức về phân chia thu nhập và mức sống.

  • Xã hội và văn hóa: Dân số lớn có thể tác động đến sự đa dạng và phong phú của xã hội và văn hóa. Nó có thể tạo ra sự đa dạng ngôn ngữ, tín ngưỡng, phong tục, truyền thống và sự đa dạng ý thức. Tuy nhiên, sự đa dạng này cũng có thể tạo ra thách thức trong việc quản lý và duy trì sự đồng thuận xã hội, đặc biệt là trong các quốc gia có nhiều dân tộc, tôn giáo và nhóm dân cư khác nhau.

  • Chính trị và quản lý: Dân số lớn có thể ảnh hưởng đến hệ thống chính trị và quản lý của một quốc gia. Sự phát triển và quản lý dân số đòi hỏi chính phủ có khả năng cung cấp dịch vụ công cộng, như y tế, giáo dục, an ninh và hạ tầng giao thông. Nếu dân số vượt quá khả năng quản lý, chính phủ có thể gặp khó khăn trong việc đáp ứng nhu cầu của người dân và duy trì trật tự xã hội.

  • Tài nguyên và môi trường: Dân số lớn có thể đặt áp lực lớn lên tài nguyên và môi trường. Sự gia tăng dân số có thể tăng nhu cầu sử dụng đất, nước, năng lượng và tài nguyên thiên nhiên khác. Điều này có thể gây ra sự cạnh tranh và xung đột trong việc sử dụng tài nguyên và tạo ra tác động tiêu cực đến môi trường, chẳng hạn như ô nhiễm môi trường và suy thoái tài nguyên.

2.2 Đặc điểm và vai trò của dân số

Đặc điểm của dân số:

  • Quy mô: dân số thể hiện số lượng người trong một khu vực nhất định quy mô dân số có thể nhỏ. Ví dụ như dân của một làng đền lớn ví dụ như dân của một quốc gia hoặc toàn thế giới, quy mô dân số thường được đo bằng đơn vị người.

  • Phân bố không đồng đều: dân số phân bố không đồng đều trong khu vực có những khu vực có dân số đông đúc. Trong khi có những khu vực và dân cư thưa thớt sự phân bố dân số phụ thuộc vào nhiều yếu tố bao gồm điều kiện địa lý, kinh tế, xã hội và chính trị

  • Tỷ lệ sinh và tử: dân số được ảnh hưởng bởi tỷ lệ sinh và tử. Tỷ lệ sinh là số lượng trẻ em được sinh ra trong một khoảng thời gian nhất định, trong khi tỷ lệ tử là số lượng người chết trong một khoảng thời gian. Sự biến đổi trong tỷ lệ sinh và tỷ lệ tử có thể ảnh hưởng đến sự gia tăng hoặc giảm dân số.

  • Sự gia tăng dân số: dân số có thể tăng theo mức độ tự nhiên số người sinh ra nhiều hơn số người chết hoặc do di cư sự gia tăng dân số có thể tạo ra những thách thức và cơ hội cho các quốc gia và khu vực.

  • Độ tuổi trung bình: độ tuổi trung bình của dân số là một đặc điểm quan trọng nó thể hiện sự phân bố độ tuổi của dân số và có thể ảnh hưởng đến nhiều khía cạnh khác nhau bao gồm nhu cầu chăm sóc y tế, giáo dục, lao động và hưu trí.

  • Đa dạng dân tộc và văn hóa: dân số có thể bao gồm nhiều dân tộc và nhóm dân tộc khác nhau, đồng thời có sự đa dạng về ngôn ngữ, văn hóa, tôn giáo và tập tục. Điều này tạo nên một môi trường đa văn hóa và có thể ảnh hưởng đến sự phát triển và tương tác xã hội.

  • Tăng trưởng dân số: tốc độ tăng trưởng dân số là một đặc điểm quan trọng. Tăng trưởng dân số có thể ảnh hưởng đến nhu cầu về các nguồn tài nguyên đất đai, thực phẩm, nước và dịch vụ công cộng. Nếu không được quản lý một cách hiệu quả tăng trưởng dân số có thể gây áp lực lên môi trường và gây ra các vấn đề về phát triển và bền vững.

Dân số đóng vai trò quan trọng và ảnh hưởng đến nhiều khía cạnh trong xã hội và kinh tế. Một số vai trò chính:

  • Kế hoạch phát triển: dân số cung cấp thông tin quan trọng để lập kế hoạch phát triển qua việc đánh giá quy mô, sự phân bố, tỷ lệ sinh tử, độ tuổi trung bình và cấu trúc dân tộc. Chính quyền và các tổ chức có thể xác định các vấn đề giải quyết và phát triển chính sách phù hợp.

  • Lao động và nhân lực: dân số là nguồn cung cấp lao động và nhân lực quan trọng cho nền kinh tế. Sự tăng trưởng dân số có thể tạo ra điều kiện thuận lợi cho phát triển kinh tế và sản xuất .Trong khi dân số giảm có thể gây ra sự thiếu hụt nhân lực và ảnh hưởng đến sự phát triển kinh tế.

  • Tiêu thụ và thị trường: dân số đóng vai trò quan trọng trong tiêu thụ hàng hóa và dịch vụ. Quy mô dân số lớn có thể tạo ra một thị trường tiềm năng rộng lớn, khuyến khích sự phát triển của các ngành công nghiệp và thúc đẩy hoạt động kinh doanh.

  • Chính sách xã hội: dân số cung cấp cơ sở để định hình chính sách xã hội như chăm sóc sức khỏe, giáo dục, bảo vệ xã hội và phát triển cộng đồng. Thông tin về dân số giúp xác định nhu cầu về ưu tiên đầu tư cho các dịch vụ và chương trình xã hội.

  • Quản lý tài nguyên và môi trường: dân số ảnh hưởng đến sự sử dụng tài nguyên và môi trường. Quy mô dân số lớn có thể tạo ra áp lực lên tài nguyên tự nhiên gây ra ô nhiễm môi trường và đe dọa sự bền vững của hệ sinh thái.

  • Đa dạng văn hóa và xã hội: dân số phản ánh sự đa dạng về văn hóa, ngôn ngữ, tôn giáo và tập tục. Sự đa dạng này là nguồn cung cấp tài nguyên văn hóa, động lực cho sự phát triển và trao đổi văn hóa và là nền tảng cho sự phát triển xã hội và đa dạng hóa.

2.3 Những tác động của gia tăng dân số

Gia tăng dân số có thể có tác động đa dạng và phụ thuộc vào nhiều yếu tố như: quy mô, tăng trưởng, phân bố dân cư, cấu trúc dân số và quản lý dân số:

  • Áp lực tài nguyên: gia tăng dân số tạo ra áp lực lên các nguồn tài nguyên tự nhiên như đất, nước, năng lượng và nguyên liệu. Sự tiêu thụ tăng lên có thể gây ra việc khai thác quá mức tài nguyên và làm suy thoái môi trường.

  • Áp lực đô thị hóa: gia tăng dân số có thể dẫn đến sự gia tăng đô thị hóa và tăng cường áp lực đối với hạ tầng đô thị như: giao thông, hệ thống nước và vệ sinh. Điều này đòi hỏi sự đầu tư lớn và quản lý hiệu quả để áp đáp ứng nhu cầu của dân số đô thị ngày càng tăng.

  • Sức khỏe và giáo dục: gia tăng dân số có thể tạo ra các thách thức lớn đối với hệ thống chăm sóc sức khỏe và giáo dục. Việc đảm bảo tiếp cận và chất lượng dịch vụ y tế cho mọi người trở nên phức tạp hơn.

  • Tăng cường nhu cầu tiêu dùng: gia tăng dân số thường đi kèm với tăng cường nhu cầu tiêu dùng, góp phần thúc đẩy phát triển kinh tế. Tuy nhiên điều này cũng có thể dẫn đến tăng cường sử dụng tài nguyên và tạo ra áp lực lên môi trường.

  • Sự thay đổi trong cấu trúc dân số: gia tăng dân số có thể tạo ra sự thay đổi trong cấu trúc dân số, bao gồm các tỷ lệ người già thay đổi hộ độ tuổi trung bình và cấu trúc dân tộc. Điều này có thể ảnh hưởng đến các chính sách xã hội và kinh tế liên quan đến chăm sóc sức khỏe và bảo hiểm xã hội.Gia tăng dân số tạo ra tiềm năng lên lực lớn nếu được quản lý và đào tạo đúng cách, dân số gia tăng cũng có thể cung cấp lao động trẻ, động lực kinh tế và sự sáng tạo trong mỗi quốc gia.

2.4 Những biến động về dân số ở Việt Nam.

  • Việt Nam là một quốc gia có dân số đông đúc và đang trải qua các biến động đáng chú ý. Dưới đây là những biến động cụ thể về mặt dân số:

  • Tốc độ tăng trưởng dân số: Dân số Việt Nam đang tăng nhanh, điều này có thể tạo ra nhiều thách thức và cơ hội cho phát triển kinh tế và xã hội của đất nước.

  • Sự biến đổi địa lý: Sự biến đổi địa lý như đô thị hóa, di cư từ vùng nông thôn vào thành phố, có ảnh hưởng lớn đến sự phát triển của các khu vực và làm thay đổi cơ cấu dân số.

  • Nhân khẩu học và y tế: Sự biến động dân số có thể ảnh hưởng đến các vấn đề về sức khỏe, y tế công cộng và cơ sở hạ tầng y tế.

  • Gia tăng độ tuổi trung bình: Việc dân số già hóa đang xảy ra ở nhiều quốc gia, điều này có thể tạo ra áp lực đối với hệ thống chăm sóc sức khỏe và hỗ trợ xã hội.

  • Ảnh hưởng của biến đổi khí hậu: Biến đổi khí hậu có thể gây ra các vấn đề như tăng mực nước biển, thiên tai, và sự suy giảm sản xuất nông nghiệp, ảnh hưởng đến sự phát triển của dân số.

  • Chính sách dân số: Chính sách như quản lý tăng trưởng dân số, hỗ trợ gia đình, và giáo dục sinh sản có thể có ảnh hưởng lớn đến sự phát triển của dân số.

  • Tính bền vững: Phân tích sự biến động dân số có thể giúp đánh giá mức độ bền vững của phát triển kinh tế và xã hội của Việt Nam trong tương lai.

  • Quan hệ quốc tế: Biến động dân số ở Việt Nam cũng có thể tác động đến quan hệ quốc tế, đặc biệt là trong lĩnh vực thương mại và lao động.

3. GIỚI THIỆU VÀ MÔ TẢ SƠ LƯỢC VỀ CÁC BỘ DỮ LIỆU

3.1 Bộ dữ liệu 1

  • Bộ dữ liệu 1 được trích xuất từ tổng cục thống kê Việt Nam về dân số bao gồm các biến tương ứng với các tỉnh thành của Việt Nam, bộ dữ liệu bao gồm các quan sát là giai đoạn từ 2016-2023. Đây là bộ dữ liệu được thống kê dựa trên những thu thập thực tế về dân số.
  • Bộ dữ liệu được hiển thị dưới đây bao gồm 8 quan sát và 7 biến.
  • 8 quan sát tương ứng với 8 năm liên tiếp từ 2016-2023
  • 7 biến tương ứng với 7 tỉnh thành đặc trưng của 7 vùng miền Việt Nam bao gồm : Quãng Ninh, Hà Nội, Đà Năng, Bình Định, Gia Lai, TP. HỒ Chí Minh, An Giang.
library(xlsx)
## Warning: package 'xlsx' was built under R version 4.3.3
tabo <- read.xlsx("C:/Users/ADMIN/Downloads/datta.xlsx", sheetIndex = 1, header = T)
names(tabo) <- c('Year','QN','HN','DN','BD','GL','HCM','AG')
tabo 
##   Year      QN      HN      DN      BD      GL     HCM      AG
## 1 2016 1261240 7590766 1080286 1487684 1447133 8479141 1976372
## 2 2017 1285209 7742188 1097775 1487719 1468934 8649646 1954177
## 3 2018 1303912 7914485 1114366 1487771 1495700 8843200 1931000
## 4 2019 1324842 8093891 1141125 1487817 1520155 9038566 1907401
## 5 2020 1337605 8246540 1169480 1487903 1541829 9227598 1904532
## 6 2021 1350851 8330834 1195488 1508322 1569721 9166840 1909506
## 7 2022 1362876 8435652 1220187 1504285 1590981 9389717 1905516
## 8 2023 1400490 8567025 1291381 1587009 1766882 9411805 1964651
## 9   NA      NA      NA      NA      NA      NA      NA      NA

3.2 Bộ dữ liệu 2

  • Bộ dữ liệu gốc ban đầu trích xuất từ World Bank là bộ dữ liệu lớn với tất cả các quốc gia từ 1961-2022, bộ dữ liệu nói về tỉ lệ gia tăng dân số (%).
  • Bộ dữ liệu 2 hiển thị dưới đây là bộ dữ liệu đã được rút trích quốc gia Việt Nam giai đoạn từ năm 2016-2022. Bộ dữ liệu bao gồm 4 biến và 7 quan sát.
  • 4 biến tương ứng với 4 cột lần lượt là: Country, Iso2c (mã quốc gia 2 kí tự), Year, Value (SP.POP.GROW).
  • 7 quan sát tương ứng với 7 hàng là 7 năm liên tiếp từ 2016-2022
library(WDI)
## Warning: package 'WDI' was built under R version 4.3.3
tcd <- WDIsearch("Population growth (annual %)")
tcd <- WDI(indicator = 'SP.POP.GROW', start = 2016, end = 2023)
tcd1 <- tcd%>%filter(country == 'Viet Nam')%>% select('country','iso2c','year','SP.POP.GROW')
names(tcd1) <- c('Country','Iso2c','Year','Value')
tcd1
##    Country Iso2c Year     Value
## 1 Viet Nam    VN 2022 0.7347941
## 2 Viet Nam    VN 2021 0.8441817
## 3 Viet Nam    VN 2020 0.9062992
## 4 Viet Nam    VN 2019 0.9044912
## 5 Viet Nam    VN 2018 0.9328400
## 6 Viet Nam    VN 2017 0.9687200
## 7 Viet Nam    VN 2016 1.0092266

3.3 Bộ dữ liệu 3

  • Bộ dữ liệu gốc ban đầu trích xuất từ World Bank là bộ dữ liệu lớn với tất cả các quốc gia từ 1961-2022, bộ dữ liệu nói về tỉ lệ sinh trung bình hàng năm (số trẻ em sinh ra mỗi 1.000 người).
  • Bộ dữ liệu 3 hiển thị dưới đây là bộ dữ liệu đã được rút trích quốc gia Việt Nam giai đoạn từ năm 2016-2022. Bộ dữ liệu bao gồm 4 biến và 7 quan sát.
  • 4 biến tương ứng với 4 cột lần lượt là: Country, Iso2c (mã quốc gia 2 kí tự), Year, Value (SP.POP.GROW).
  • 7 quan sát tương ứng với 7 hàng là 7 năm liên tiếp từ 2016-2022
library(WDI)
bo <- WDIsearch("Agricultural land (% of land area)")
bo <- WDI(indicator = 'SP.DYN.CBRT.IN', start = 2016, end = 2023)
bo1 <- bo%>%filter(country == 'Viet Nam')%>% select('country','iso2c','year','SP.DYN.CBRT.IN')
names(bo1) <- c('Country','Iso2c','Year','Value')
bo1
##    Country Iso2c Year  Value
## 1 Viet Nam    VN 2022     NA
## 2 Viet Nam    VN 2021 15.008
## 3 Viet Nam    VN 2020 15.400
## 4 Viet Nam    VN 2019 15.663
## 5 Viet Nam    VN 2018 15.873
## 6 Viet Nam    VN 2017 16.100
## 7 Viet Nam    VN 2016 16.438

PHẦN II: TIẾN HÀNH PHÂN TÍCH DỰA TRÊN NHỮNG SỐ LIỆU ĐÃ THỐNG KÊ

1 BỘ DỮ LIỆU 1: PHÂN TÍCH SỰ BIẾN ĐỘNG DÂN SỐ 7 TỈNH THÀNH VIỆT NAM GIAI ĐOẠN 2016-2023

  • Ta tiến hành phân tích về sự biến động tổng dân số của 1 số vùng miền Việt Nam lần lượt từ Bắc xuống Nam qua 2 giai đoạn cụ thể là: giai đoạn 1 từ 2016-2019 và giai đoạn 2 từ 2020-2023.
  • Như chúng ta đã biết, Việt Nam là quốc gia có 7 vùng miền riêng biệt kéo dài từ Bắc xuống Nam lần lượt là : Trung du và miền núi Bắc Bộ, Đồng Bằng Sông Hồng, Bắc Trung Bộ, Duyên hải Nam Trung Bộ, Tây Nguyên, Đông Nam BỘ, Đồng Bằng Sông Cửu Long.
  • Em sẽ lựa chọn mỗi vùng miền 1 tỉnh thành đặc trưng để so sánh về dấn số của các tỉnh thành đó qua 2 giai đoạn.
  • Vùng Trung du và miền núi Bắc Bộ: Quảng Ninh
  • Vùng Đồng Bằng Sông Hồng: Hà Nội
  • Vùng Bắc Trung Bộ: Đà Nẵng
  • Vùng Duyên hải Nam Trung Bộ: Bình Định
  • Vùng Tây Nguyên: Gia Lai
  • Vùng Đông Nam Bộ: TP. Hồ Chí Minh
  • Vùng Đồng Bằng Sông Cửu Long: An Giang

1.1 Giai đoạn 1

I. Tiến hành so sánh dân số trung bình của 7 tỉnh thành đại diện cho 7 vùng miền Việt Nam trải dài từ Bắc xuống Nam trong giai đoạn 2016-2019. Bao gồm các tỉnh: Quảng Ninh, Hà Nội, Đà Nẵng, Bình Định, Gia Lai, TP. Hồ Chí Minh, An Giang.

library(ggplot2)
library(tidyverse)
tabo1 <- tabo%>% filter(Year == 2016| Year == 2017|Year == 2018| Year == 2019 )%>%select('Year', 'QN','HN','DN','BD','GL','HCM','AG')
ggplot(tabo1, aes(x = Year)) +
  geom_line(aes(y = QN, group = 1, color = "QN"), size = 1) +
  geom_point(aes(y = QN, group = 1), color = "black") +
  geom_line(aes(y = HN, group = 1, color = "HN"), size = 1) +
  geom_point(aes(y = HN, group = 1), color = "black") +
  geom_line(aes(y = DN, group = 1, color = "ĐN"), size = 1) +
  geom_point(aes(y = DN, group = 1), color = "black") +
  geom_line(aes(y = BD, group = 1, color = "BĐ"), size = 1) +
  geom_point(aes(y = BD, group = 1), color = "black") +
  geom_line(aes(y = GL, group = 1, color = "GL"), size = 1) +
  geom_point(aes(y = GL, group = 1), color = "black") +
  geom_line(aes(y = HCM, group = 1, color = "HCM"), size = 1) +
  geom_point(aes(y = HCM, group = 1), color = "black") +
  geom_line(aes(y = AG, group = 1, color = "AG"), size = 1) +
  geom_point(aes(y = AG, group = 1), color = "black") +
  labs(title = "Biểu đồ tỉ lệ (%) biến động dân số giai đoạn 2016-2019 (2016 làm gốc)",
       x = "Năm",
       y = "Tỷ trọng (%)") +
  scale_color_manual(values = c("QN" = "red",
                                "HN" = "lightblue",
                                "ĐN" = "purple",
                                "BĐ" = "orange",
                                "GL" = "lightgreen",
                                "HCM" = "gold",
                                "AG" = "pink"),
                     labels = c("An Giang",
                                "Bình Định",
                                "Đà Nẵng",
                                "Gia Lai",
                                "TP. Hồ Chí Minh",
                                "Hà Nội",
                                "Quãng Ninh")) +
  theme_minimal() +
  theme(legend.position = "bottom")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Nhận xét

1. Nhìn vào biểu đồ line trên, chúng ta có thể thấy được xu hướng di chuyển của đồ thị và khoảng cách giữa các đường line có sự khác nhau từ năm 2016-2019. Điều này chứng tỏ rằng: Dân số ở mỗi tỉnh thuộc mỗi vùng miền có sự khác nhau một cách rõ rệt. Cụ thể:

  • TP. Hồ Chí Minh là nơi có dân số đông nhất và tăng đều qua các năm.

  • Kế tiếp sau đó là Thủ đô Hà Nội

-> TP. Hồ Chí Minh và Hà Nội là 2 nơi có dân số trung bình cao hơn 7500000 người từ 2016-2019.

  • Các tỉnh còn lại như là Quảng Ninh, Đà Nẵng, Bình Định, Gia Lai, An Giang cũng có sự tăng giảm qua các năm nhưng dân số trung bình của các tỉnh này thấp hơn rất nhiều so với TP. Hồ Chí Minh và HÀ Nội, dân số ở các tỉnh này chỉ thấp hơn 2500000.

2. Sau đây là một số lí do làm cho dân số có sự chênh lệch lớn của các tỉnh giữa các vùng miền của Việt Nam.

  • Chính sách dân số: Chính sách dân số và kế hoạch hóa gia đình có thể ảnh hưởng đến dân số trong mỗi vùng miền. Chính phủ Việt Nam đã triển khai nhiều biện pháp nhằm kiểm soát tốc độ tăng dân số, như quảng bá kế hoạch hóa gia đình, tăng cường giáo dục về sức khỏe sinh sản và cung cấp các dịch vụ hỗ trợ kế hoạch hóa gia đình.

  • Di cư và đô thị hóa: Di cư từ các vùng nông thôn sang các thành phố lớn có thể ảnh hưởng đến dân số của các vùng miền. Nhiều người dân từ các vùng miền nông thôn đã chuyển đến các thành phố như Hà Nội, TP. Hồ Chí Minh và Đà Nẵng để tìm kiếm cơ hội việc làm, giáo dục và dịch vụ tốt hơn. Điều này có thể dẫn đến tăng dân số ở các vùng đô thị.

  • Phát triển kinh tế: Mức độ phát triển kinh tế và cơ hội việc làm trong mỗi vùng miền có thể ảnh hưởng đến dân số. Các vùng miền có nền kinh tế phát triển và cơ hội việc làm tốt hơn thường thu hút người dân từ các vùng miền khác. Ví dụ, các thành phố lớn như Hà Nội, TP. Hồ Chí Minh và Đà Nẵng đã thu hút nhiều người dân từ các vùng miền khác.

  • Hạ tầng và dịch vụ: Sự phát triển của hạ tầng và dịch vụ, bao gồm giáo dục, y tế và cơ sở hạ tầng giao thông, cũng có ảnh hưởng đến dân số của mỗi vùng miền. Các vùng miền có hạ tầng và dịch vụ phát triển tốt hơn thường hấp dẫn người dân ở lại và thu hút di cư từ các vùng khác.

  • Đặc điểm địa lý và môi trường sống: Đặc điểm địa lý và môi trường sống của từng vùng miền cũng có thể ảnh hưởng đến dân số. Ví dụ, các vùng miền ven biển như Đông Nam Bộ và Miền Trung có thể hấp dẫn người dân do có nguồn lợi từ ngành du lịch và thuận lợi trong kinh doanh nông nghiệp. Trong khi đó, các vùng miền núi như Tây Nguyên có điều kiện tự nhiên khắc nghiệt hơn và có mật độ dân cư thấp hơn.

II. Để có thể thấy rõ hơn xu hướng di chuyển của biểu đồ, ta tiến hành phân tích và vẽ biểu đồ từng tỉnh cụ thể qua giai đoạn 1.

  • Em tiến hành tính tỉ lệ phần trăm dân số cho những năm sau so với năm 2016 (lấy năm 2016 là năm gốc để tính %) của các tỉnh thành trong giai đoạn này.
library(xlsx)
library(tidyverse)
hiu <- read.xlsx("C:/Users/ADMIN/Downloads/tampham.xlsx", sheetIndex = 1, header = T)
hiu1 <- hiu%>% filter(Year == 2016| Year == 2017|Year == 2018| Year == 2019 )%>%select('Year', 'QN','HN','DN','BD','GL','HCM','AG')
hiu1
##   Year       QN       HN       DN       BD       GL      HCM        AG
## 1 2016 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.0000000
## 2 2017 1.019004 1.019948 1.016189 1.000024 1.015065 1.020109 0.9887698
## 3 2018 1.033833 1.042646 1.031547 1.000058 1.033561 1.042936 0.9770428
## 4 2019 1.050428 1.066281 1.056317 1.000089 1.050460 1.065977 0.9651022
library(ggplot2)
library(tidyverse)
ggplot(hiu1, aes(x = Year)) +
  geom_line(aes(y = QN, group = 1, color = "QN"), size = 1) +
  geom_point(aes(y = QN, group = 1), color = "black") +
  geom_line(aes(y = HN, group = 1, color = "HN"), size = 1) +
  geom_point(aes(y = HN, group = 1), color = "black") +
  geom_line(aes(y = DN, group = 1, color = "ĐN"), size = 1) +
  geom_point(aes(y = DN, group = 1), color = "black") +
  geom_line(aes(y = BD, group = 1, color = "BĐ"), size = 1) +
  geom_point(aes(y = BD, group = 1), color = "black") +
  geom_line(aes(y = GL, group = 1, color = "GL"), size = 1) +
  geom_point(aes(y = GL, group = 1), color = "black") +
  geom_line(aes(y = HCM, group = 1, color = "HCM"), size = 1) +
  geom_point(aes(y = HCM, group = 1), color = "black") +
  geom_line(aes(y = AG, group = 1, color = "AG"), size = 1) +
  geom_point(aes(y = AG, group = 1), color = "black") +
  labs(title = "Biểu đồ tỉ lệ (%) biến động dân số giai đoạn 2016-2019 (2016 làm gốc)",
       x = "Năm",
       y = "Tỷ trọng (%)") +
  scale_color_manual(values = c("QN" = "red",
                                "HN" = "lightblue",
                                "ĐN" = "purple",
                                "BĐ" = "orange",
                                "GL" = "lightgreen",
                                "HCM" = "gold",
                                "AG" = "pink"),
                     labels = c("An Giang",
                                "Bình Định",
                                "Đà Nẵng",
                                "Gia Lai",
                                "TP. Hồ Chí Minh",
                                "Hà Nội",
                                "Quãng Ninh")) +
  theme_minimal() +
  theme(legend.position = "bottom")

1. Dân số Quảng Ninh

library(ggplot2)
d1 <- hiu1%>%select('Year', 'QN')
d1 %>% ggplot(aes(x = Year, y = QN)) +
  geom_line(color = "red", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Quảng Ninh giai đoạn 2016-2019")

d1
##   Year       QN
## 1 2016 1.000000
## 2 2017 1.019004
## 3 2018 1.033833
## 4 2019 1.050428

Nhận xét:

Dân số ở Quãng Ninh tăng những không đánh kể qua các năm vì lí do:

  • Mức tăng dân số tự nhiên: Mức tăng dân số tự nhiên tại Quảng Ninh, bao gồm tỷ lệ sinh và tỷ lệ tử vong, có thể không cao. Nếu tỷ lệ sinh thấp hơn hoặc tỷ lệ tử vong cao hơn so với các giai đoạn trước đó, sẽ dẫn đến sự tăng ít dân số.

  • Di cư và di trú: Quảng Ninh có thể không thu hút một lượng lớn người di cư hoặc di trú trong giai đoạn này. Sự di chuyển dân số giữa các vùng có thể không đủ để tăng dân số ở Quảng Ninh.

  • Chính sách dân số và quản lý địa phương: Chính sách dân số và quản lý địa phương có thể có ảnh hưởng đến tăng trưởng dân số. Nếu có các chính sách hạn chế di cư vào Quảng Ninh hoặc các biện pháp kiểm soát dân số, điều này có thể giới hạn tăng trưởng dân số trong giai đoạn 2016-2019.

  • Phát triển kinh tế và cơ hội việc làm: Nếu Quảng Ninh không có sự phát triển kinh tế mạnh mẽ trong giai đoạn này hoặc không tạo ra đủ cơ hội việc làm, người dân từ các vùng lân cận có thể không thấy hấp dẫn để di cư đến Quảng Ninh, dẫn đến tăng ít dân số.

  • Các yếu tố xã hội và văn hóa: Những yếu tố xã hội và văn hóa cũng có thể ảnh hưởng đến sự tăng trưởng dân số. Ví dụ, các yếu tố như hạnh phúc gia đình, xu hướng sinh con ít, hoặc những thay đổi trong quan điểm về gia đình và con cái có thể ảnh hưởng đến mức độ tăng trưởng dân số.

2. Dân số Hà Nội

library(ggplot2)
d2 <- hiu1%>%select('Year', 'HN')
d2 %>% ggplot(aes(x = Year, y = HN)) +
  geom_line(color = "lightblue", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Hà Nội giai đoạn 2016-2019")

d2
##   Year       HN
## 1 2016 1.000000
## 2 2017 1.019948
## 3 2018 1.042646
## 4 2019 1.066281

Nhận xét:

Dân số Hà Nội nằm trong top đầu về dân số Việt Nam và có sự gia tăng qua các năm vì lí do:

  • Đô thị hóa và phát triển kinh tế: Hà Nội là thủ đô và trung tâm chính trị, kinh tế, văn hóa của Việt Nam. Trong giai đoạn này, Hà Nội đã phát triển kinh tế mạnh mẽ, thu hút nhiều nguồn đầu tư và tạo ra cơ hội việc làm. Sự phát triển nhanh chóng của các ngành công nghiệp, dịch vụ, và thương mại đã thu hút người dân từ các vùng miền khác và các tỉnh lân cận đến Hà Nội để tìm kiếm cơ hội sinh sống và làm việc tốt hơn.

  • Hạ tầng và dịch vụ: Hà Nội đã đầu tư mạnh vào phát triển hạ tầng giao thông, giáo dục, y tế và các dịch vụ công cộng khác. Việc nâng cấp hệ thống giao thông, xây dựng đường cao tốc, cầu, đường sắt và các phương tiện công cộng khác đã cải thiện khả năng di chuyển và tạo điều kiện thuận lợi cho người dân đến và sinh sống tại Hà Nội. Ngoài ra, sự phát triển của các trung tâm giáo dục, bệnh viện, trung tâm mua sắm, và các tiện ích công cộng khác cũng đã thu hút người dân đến Hà Nội.

  • Cơ hội việc làm: Hà Nội có sự đa dạng trong các ngành công nghiệp, dịch vụ và giáo dục. Thành phố này là trung tâm của nhiều công ty, tổ chức, và các trường đại học, thu hút nhiều cơ hội việc làm và thu nhập tốt hơn so với các vùng miền khác. Điều này đã thu hút người lao động từ khắp nơi đến Hà Nội để tìm kiếm cơ hội nghề nghiệp và cải thiện mức sống.

  • Giáo dục và nghiên cứu: Hà Nội được biết đến với hệ thống giáo dục tốt và nhiều trường đại học, trung tâm nghiên cứu. Nơi đây thu hút sinh viên, học sinh và nhà nghiên cứu từ các vùng miền khác để theo học và phát triển sự nghiệp. Điều này đã góp phần vào sự tăng trưởng dân số tại Hà Nội trong giai đoạn đó.

  • Văn hóa và du lịch: Hà Nội là một trung tâm văn hóa, lịch sử và du lịch quan trọng. Với nhiều di tích lịch sử, danh lam thắng cảnh và các sự kiện văn hóa, Hà Nội thu hút khách du lịch từ khắp nơi. Một số người đã chuyển đến Hà Nội để kinh doanh trong ngành du lịch hoặc làm việc trong các lĩnh vực liên quan.

3. Dân số Đà Nẵng

d3 <- hiu1%>%select('Year', 'DN')
d3 %>% ggplot(aes(x = Year, y = DN)) +
  geom_line(color = "purple", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Đà Năng giai đoạn 2016-2019")

d3
##   Year       DN
## 1 2016 1.000000
## 2 2017 1.016189
## 3 2018 1.031547
## 4 2019 1.056317

Nhận xét:

Dân số tại Đà Năng tập trung khá đông đúc và tăng trưởng đều qua các năm vì lí do:

  • Phát triển kinh tế: Đà Nẵng đã trở thành một trung tâm kinh tế và du lịch quan trọng tại Việt Nam. Sự phát triển kinh tế mạnh mẽ đã tạo ra nhiều cơ hội việc làm và thu hút người dân từ các khu vực lân cận và các tỉnh thành khác đến Đà Nẵng để tìm kiếm cơ hội kinh doanh và làm việc.

  • Cơ sở hạ tầng và dịch vụ: Đà Nẵng đã đầu tư mạnh vào phát triển cơ sở hạ tầng giao thông, giáo dục, y tế, và các dịch vụ công cộng khác. Việc xây dựng đường cao tốc, cầu, cải thiện hệ thống giao thông, các trường đại học, bệnh viện, khu công nghiệp và khu đô thị mới đã tạo ra điều kiện thuận lợi để người dân sinh sống và làm việc tại Đà Nẵng.

  • Du lịch và văn hóa: Đà Nẵng được biết đến với các danh lam thắng cảnh nổi tiếng như Bán đảo Sơn Trà, Bà Nà Hills, cầu Rồng, bãi biển Mỹ Khê và Hội An cổ. Sự phát triển của ngành du lịch và các hoạt động văn hóa đã thu hút lượng lớn khách du lịch và người quan tâm, một số trong số đó có thể quyết định chuyển đến Đà Nẵng để sinh sống và làm việc.

  • Giáo dục và nghiên cứu: Đà Nẵng có hệ thống giáo dục và nghiên cứu phát triển, với nhiều trường đại học và viện nghiên cứu. Sự hiện diện của các trường đại học hàng đầu và các cơ sở nghiên cứu đã thu hút sinh viên và nhà nghiên cứu đến Đà Nẵng.

4. Dân số Bình Định

d4 <- hiu1%>%select('Year', 'BD')
d4 %>% ggplot(aes(x = Year, y = BD)) +
  geom_line(color = "orange", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Bình Định giai đoạn 2016-2019")

d4
##   Year       BD
## 1 2016 1.000000
## 2 2017 1.000024
## 3 2018 1.000058
## 4 2019 1.000089

Nhận xét:

Dân số ở Bình Định khá đông đúc nhưng tốc độ gia tăng dân số khá chậm và không đánh kể so với các tỉnh khác đã đề cập bên trên. Lí do cho sự gia tăng chậm này là vì:

  • Tăng trưởng tự nhiên: Nếu tỷ lệ sinh dân ở Bình Định giảm và tỷ lệ tử vong tăng, điều này có thể dẫn đến tăng dân số chậm rãi. Nếu có sự giảm tỷ lệ sinh và tăng tỷ lệ tử vong trong giai đoạn này, dân số có thể tăng chậm.

  • Di cư và di trú: Một lượng lớn người dân có thể đã chuyển đi từ Bình Định đến các vùng lân cận hoặc các tỉnh thành khác trong giai đoạn này. Sự di chuyển dân số ra khỏi Bình Định có thể làm giảm tốc độ tăng dân số.

  • Kinh tế và việc làm: Nếu Bình Định gặp khó khăn trong việc tạo ra cơ hội việc làm và phát triển kinh tế trong giai đoạn này, người dân có thể tìm kiếm cơ hội sinh sống và làm việc ở các nơi khác. Sự thiếu hụt việc làm và thu nhập có thể làm giảm sự hấp dẫn của Bình Định và gây ra sự giảm tốc độ tăng dân số.

  • Yếu tố xã hội và văn hóa: Những yếu tố xã hội và văn hóa như xu hướng sinh con giảm, gia đình có kích thước nhỏ hơn và các yếu tố văn hóa khác có thể góp phần vào sự tăng dân số chậm rãi.

5. Dân số Gia Lai

d5 <- hiu1%>%select('Year', 'GL')
d5 %>% ggplot(aes(x = Year, y = GL)) +
  geom_line(color = "lightgreen", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Gia Lai giai đoạn 2016-2019")

d5
##   Year       GL
## 1 2016 1.000000
## 2 2017 1.015065
## 3 2018 1.033561
## 4 2019 1.050460

Nhận xét:

Mặc dù gia lai là tỉnh tây nguyên nhưng vì sao trong giai đoạn 2016-2018 dân số gia lại lại khá cao và tăng khá mạnh mẽ. Vì lí do:

  • Tăng trưởng tự nhiên: Tỷ lệ sinh cao hơn tỷ lệ tử vong trong giai đoạn này có thể là một yếu tố đóng góp vào sự tăng dân số. Nếu tỷ lệ sinh ở Gia Lai cao hơn và tỷ lệ tử vong thấp hơn, dân số sẽ tăng đáng kể.

  • Di cư và di trú: Gia Lai có thể đã thu hút một lượng lớn người di cư hoặc di trú trong giai đoạn này. Sự di chuyển dân số từ các vùng lân cận hoặc từ các tỉnh thành khác đến Gia Lai có thể tăng dân số địa phương.

  • Phát triển kinh tế: Sự phát triển kinh tế của Gia Lai có thể đã tạo ra cơ hội việc làm và thu hút người dân từ các vùng lân cận đến đây để tìm kiếm cơ hội kinh doanh và làm việc. Các ngành công nghiệp như nông nghiệp, chăn nuôi, công nghiệp chế biến gỗ và du lịch có thể đã đóng góp vào sự phát triển kinh tế và tăng dân số.

  • Hạ tầng và dịch vụ công: Gia Lai có thể đã đầu tư mạnh vào phát triển hạ tầng giao thông, giáo dục, y tế và các dịch vụ công cộng khác. Việc cải thiện hệ thống giao thông, xây dựng các trường học, bệnh viện và các cơ sở công cộng đã tạo ra môi trường thuận lợi để người dân sinh sống và làm việc, đồng thời thu hút dân số từ các vùng lân cận.

  • Yếu tố xã hội và văn hóa: Những yếu tố xã hội và văn hóa cũng có thể ảnh hưởng đến sự tăng dân số. Ví dụ, sự gia tăng hạnh phúc gia đình, quan điểm tích cực về sinh con và các yếu tố văn hóa khác có thể thúc đẩy tăng dân số.

6. Dân số TP. Hồ Chí Minh

d6 <- hiu1%>%select('Year', 'HCM')
d6 %>% ggplot(aes(x = Year, y = HCM)) +
  geom_line(color = "gold", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở TP. Hồ Chí Minh  giai đoạn 2016-2019")

d6
##   Year      HCM
## 1 2016 1.000000
## 2 2017 1.020109
## 3 2018 1.042936
## 4 2019 1.065977

Nhận xét:

Ở TP. Hồ Chí Minh tập trung đông dân số và tăng đều hằng năm vì nó chịu ảnh hưởng bời những yếu tố sau:

  • Phát triển kinh tế: TP.HCM là trung tâm kinh tế, tài chính và thương mại của Việt Nam. Trong giai đoạn này, TP.HCM đã đạt được mức tăng trưởng kinh tế đáng kể, thu hút nhiều nguồn đầu tư và tạo ra cơ hội việc làm. Điều này đã thu hút người dân từ các vùng miền khác và các tỉnh lân cận đến TP.HCM để tìm kiếm cơ hội sinh sống và làm việc tốt hơn.

  • Cơ hội việc làm: TP.HCM có sự phát triển đa dạng trong các ngành công nghiệp, dịch vụ và du lịch. Các công ty, doanh nghiệp, và khu công nghiệp tại TP.HCM tạo ra nhiều cơ hội việc làm và thu nhập tốt hơn so với các vùng miền khác. Điều này đã thu hút người lao động từ khắp nơi đến TP.HCM để tìm kiếm cơ hội nghề nghiệp và cải thiện mức sống.

  • Hạ tầng và dịch vụ: TP.HCM đã đầu tư lớn vào phát triển hạ tầng giao thông, giáo dục, y tế và các dịch vụ công cộng khác. Điều này làm tăng chất lượng cuộc sống và thu hút người dân ở lại TP.HCM. Hạ tầng giao thông được nâng cấp đáng kể, bao gồm mở rộng đường, xây dựng hệ thống giao thông công cộng, và cải thiện tiện ích công cộng như công viên, khu vui chơi giải trí, các trung tâm mua sắm và giải trí.

  • Khoa học và công nghệ: TP.HCM là trung tâm nghiên cứu và phát triển khoa học công nghệ, thu hút các chuyên gia và nhà nghiên cứu. Sự phát triển trong lĩnh vực công nghệ thông tin, trí tuệ nhân tạo, khởi nghiệp và các ngành công nghệ cao khác tạo ra nhiều cơ hội việc làm và thu hút người trẻ đến TP.HCM.

  • Văn hóa và giáo dục: TP.HCM là trung tâm văn hóa, giáo dục, và giải trí, với nhiều trường đại học, trung tâm nghệ thuật, bảo tàng, rạp chiếu phim, và sự kiện văn hóa. Điều này thu hút sinh viên, nghệ sĩ, và những người quan tâm đến văn hóa và giáo dục đến TP.HCM để học tập và phát triển sự nghiệp.

7. Dân số An Giang

d7 <- hiu1%>%select('Year', 'AG')
d7 %>% ggplot(aes(x = Year, y = AG)) +
  geom_line(color = "pink", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở An Giang giai đoạn 2016-2019")

d7
##   Year        AG
## 1 2016 1.0000000
## 2 2017 0.9887698
## 3 2018 0.9770428
## 4 2019 0.9651022

Nhận xét:

Dân số ở tỉnh An Giang được xem là khá cao so với đa số các tỉnh Việt Nam nhưng lại có sự giảm sút trong giai đoạn 2016-2019 vì lí do:

  • Tỷ lệ sinh giảm: Nếu tỷ lệ sinh dân ở An Giang giảm trong giai đoạn này, điều này có thể dẫn đến sự giảm dân số. Có thể có nhiều nguyên nhân dẫn đến sự giảm tỷ lệ sinh, bao gồm thay đổi trong quan điểm về sinh con, nâng cao mức sống và giảm mức đầu tư vào chăm sóc sức khỏe và dịch vụ y tế.

  • Di cư và di trú: Một lượng lớn người dân có thể đã chuyển đi từ An Giang đến các nơi khác trong giai đoạn này. Các yếu tố như cơ hội việc làm, giáo dục, sức khỏe và dịch vụ công cộng tốt hơn ở các vùng khác có thể làm cho người dân chọn di cư để tìm kiếm cơ hội tốt hơn.

  • Kinh tế và việc làm: Nếu An Giang gặp khó khăn trong việc tạo ra cơ hội việc làm và phát triển kinh tế trong giai đoạn này, người dân có thể tìm kiếm cơ hội sinh sống và làm việc ở các nơi khác. Sự thiếu hụt việc làm và thu nhập có thể làm giảm sự hấp dẫn của An Giang và gây ra sự giảm dân số.

  • Yếu tố xã hội và văn hóa: Những yếu tố xã hội và văn hóa như xu hướng sinh con giảm, gia đình có kích thước nhỏ hơn và các yếu tố văn hóa khác có thể góp phần vào sự giảm dân số.

  • Các yếu tố địa phương: Các yếu tố đặc thù của An Giang như địa hình, khí hậu, sự biến động trong ngành nông nghiệp và thủy lợi có thể ảnh hưởng đến động lực dân số. Ví dụ, nếu có sự thay đổi trong năng suất nông nghiệp hoặc các yếu tố môi trường khác, điều này có thể làm giảm sự hấp dẫn của An Giang và gây ra sự giảm dân số.

1.2 Giai đoạn 2

I. Tiến hành so sánh dân số trung bình của 7 tỉnh thành đại diện cho 7 vùng miền Việt Nam trải dài từ Bắc xuống Nam trong giai đoạn 2020-2023. Bao gồm các tỉnh: Quảng Ninh, Hà Nội, Đà Nẵng, Bình Định, Gia Lai, TP. Hồ Chí Minh, An Giang.

tabo2 <- tabo%>% filter(Year == 2020| Year == 2021|Year == 2022| Year == 2023 )%>%select('Year', 'QN','HN','DN','BD','GL','HCM','AG')
ggplot(tabo2, aes(x = Year)) +
  geom_line(aes(y = QN, group = 1, color = "QN"), size = 1) +
  geom_point(aes(y = QN, group = 1), color = "black") +
  geom_line(aes(y = HN, group = 1, color = "HN"), size = 1) +
  geom_point(aes(y = HN, group = 1), color = "black") +
  geom_line(aes(y = DN, group = 1, color = "ĐN"), size = 1) +
  geom_point(aes(y = DN, group = 1), color = "black") +
  geom_line(aes(y = BD, group = 1, color = "BĐ"), size = 1) +
  geom_point(aes(y = BD, group = 1), color = "black") +
  geom_line(aes(y = GL, group = 1, color = "GL"), size = 1) +
  geom_point(aes(y = GL, group = 1), color = "black") +
  geom_line(aes(y = HCM, group = 1, color = "HCM"), size = 1) +
  geom_point(aes(y = HCM, group = 1), color = "black") +
  geom_line(aes(y = AG, group = 1, color = "AG"), size = 1) +
  geom_point(aes(y = AG, group = 1), color = "black") +
  labs(title = "Biểu đồ tỉ lệ (%) biến động dân số giai đoạn 2016-2019 (2016 làm gốc)",
       x = "Năm",
       y = "Tỷ trọng (%)") +
  scale_color_manual(values = c("QN" = "red",
                                "HN" = "lightblue",
                                "ĐN" = "purple",
                                "BĐ" = "orange",
                                "GL" = "lightgreen",
                                "HCM" = "gold",
                                "AG" = "pink"),
                     labels = c("An Giang",
                                "Bình Định",
                                "Đà Nẵng",
                                "Gia Lai",
                                "TP. Hồ Chí Minh",
                                "Hà Nội",
                                "Quãng Ninh")) +
  theme_minimal() +
  theme(legend.position = "bottom")

Nhận xét

  • Cũng giống như giai đoạn 1 trước đây 7 tỉnh thành cũng có sự chênh lệch lớn về dân số. Tại TP. Hồ Chí Minh và Hà Nội vẫn là 2 nơi top đầu về dân số của Việt Nam và không có sự thay đổi qua lớn về sự gia tăng hay giảm sút. Sau đó là các tỉnh còn lại với dân số trung bình thấp hơn nhiều so với thủ đô Hà Nội và thành phố Hồ Chí Minh.

II. Để có thể thấy rõ hơn xu hướng di chuyển của biểu đồ, ta tiến hành phân tích và vẽ biểu đồ từng tỉnh cụ thể qua giai đoạn 2.

  • Em tiến hành tính tỉ lệ phần trăm dân số cho những năm sau so với năm 2020 (lấy năm 2020 là năm gốc để tính %) của các tỉnh thành trong giai đoạn này.
library(xlsx)
library(tidyverse)
dattabo <- read.xlsx("C:/Users/ADMIN/Downloads/dattabo.xlsx", sheetIndex = 1, header = T)
hiu2 <- dattabo%>% filter(Year == 2020| Year == 2021|Year == 2022| Year == 2023 )%>%select('Year', 'QN','HN','DN','BD','GL','HCM','AG')
hiu2
##   Year       QN       HN       DN       BD       GL       HCM       AG
## 1 2020 1.000000 1.000000 1.000000 1.000000 1.000000 1.0000000 1.000000
## 2 2021 1.009903 1.010222 1.022239 1.013723 1.018090 0.9934156 1.002612
## 3 2022 1.018893 1.022932 1.043359 1.011010 1.031879 1.0175689 1.000517
## 4 2023 1.047013 1.038863 1.104235 1.066608 1.145965 1.0199626 1.031566
library(ggplot2)
library(tidyverse)
ggplot(hiu2, aes(x = Year)) +
  geom_line(aes(y = QN, group = 1, color = "QN"), size = 1) +
  geom_point(aes(y = QN, group = 1), color = "black") +
  geom_line(aes(y = HN, group = 1, color = "HN"), size = 1) +
  geom_point(aes(y = HN, group = 1), color = "black") +
  geom_line(aes(y = DN, group = 1, color = "ĐN"), size = 1) +
  geom_point(aes(y = DN, group = 1), color = "black") +
  geom_line(aes(y = BD, group = 1, color = "BĐ"), size = 1) +
  geom_point(aes(y = BD, group = 1), color = "black") +
  geom_line(aes(y = GL, group = 1, color = "GL"), size = 1) +
  geom_point(aes(y = GL, group = 1), color = "black") +
  geom_line(aes(y = HCM, group = 1, color = "HCM"), size = 1) +
  geom_point(aes(y = HCM, group = 1), color = "black") +
  geom_line(aes(y = AG, group = 1, color = "AG"), size = 1) +
  geom_point(aes(y = AG, group = 1), color = "black") +
  labs(title = "Biểu đồ tỉ lệ (%) biến động dân số giai đoạn 2020-2023 (2016 làm gốc)",
       x = "Năm",
       y = "Tỷ trọng (%)") +
  scale_color_manual(values = c("QN" = "red",
                                "HN" = "lightblue",
                                "ĐN" = "purple",
                                "BĐ" = "orange",
                                "GL" = "lightgreen",
                                "HCM" = "gold",
                                "AG" = "pink"),
                     labels = c("An Giang",
                                "Bình Định",
                                "Đà Nẵng",
                                "Gia Lai",
                                "TP. Hồ Chí Minh",
                                "Hà Nội",
                                "Quãng Ninh")) +
  theme_minimal() +
  theme(legend.position = "bottom")

1. Dân số Quảng Ninh

library(ggplot2)
d8 <- hiu2%>%select('Year', 'QN')
d8 %>% ggplot(aes(x = Year, y = QN)) +
  geom_line(color = "red", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Quảng Ninh giai đoạn 2020-2023")

d8
##   Year       QN
## 1 2020 1.000000
## 2 2021 1.009903
## 3 2022 1.018893
## 4 2023 1.047013

Nhận xét:

  • Nhìn chung, dân số ở tỉnh Quãng Ninh trong giai đoạn này tăng khá đều và không có sự chênh lệch quá lớn, năm 2023 tăng 0,05% so với năm gốc 2020.

2. Dân số Hà Nội

library(ggplot2)
d9 <- hiu2%>%select('Year', 'HN')
d9 %>% ggplot(aes(x = Year, y = HN)) +
  geom_line(color = "lightblue", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Hà Nội giai đoạn 2020-2023")

d9
##   Year       HN
## 1 2020 1.000000
## 2 2021 1.010222
## 3 2022 1.022932
## 4 2023 1.038863

Nhận xét:

  • Nhìn chung, dân số ở thủ đô Hà Nội trong giai đoạn này tăng khá đều và không có sự chênh lệch quá lớn, năm 2023 tăng khoảng 0,04% so với năm gốc 2020.

3. Dân số Đà Nẵng

d10 <- hiu2%>%select('Year', 'DN')
d10 %>% ggplot(aes(x = Year, y = DN)) +
  geom_line(color = "purple", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Đà Năng giai đoạn 2020-2023")

d10
##   Year       DN
## 1 2020 1.000000
## 2 2021 1.022239
## 3 2022 1.043359
## 4 2023 1.104235

Nhận xét:

  • Nhìn chung, dân số ở thành phố Đà Nẵng trong giai đoạn này tăng khá đều và không có sự chênh lệch khá lớn, năm 2023 tăng khoảng 0,1% so với năm gốc 2020.

4. Dân số Bình Định

d11 <- hiu2%>%select('Year', 'BD')
d11 %>% ggplot(aes(x = Year, y = BD)) +
  geom_line(color = "orange", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Bình Định giai đoạn 2020-2023")

d11
##   Year       BD
## 1 2020 1.000000
## 2 2021 1.013723
## 3 2022 1.011010
## 4 2023 1.066608

Nhận xét:

  • Nhìn vào biểu đồ trên, ta thấy dân số ở tỉnh Bình Định có sự biến động khá rõ rệt trong giai đoạn này. Năm 2020-2021 dân số tăng khoảng 0,01%, năm 2021-2022 lại giảm nhưng không đáng kể khoảng 0,012%, và từ 2022-2023 dân số ở tỉnh này lại tăng vượt trội gần 0,067%.

5. Dân số Gia Lai

d12 <- hiu2%>%select('Year', 'GL')
d12 %>% ggplot(aes(x = Year, y = GL)) +
  geom_line(color = "lightgreen", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở Gia Lai giai đoạn 2016-2019")

d12
##   Year       GL
## 1 2020 1.000000
## 2 2021 1.018090
## 3 2022 1.031879
## 4 2023 1.145965

Nhận xét:

  • Nhìn vào biểu đồ trên, ta thấy được dân số ở tỉnh Gia Lai trong giai đoạn này tăng trưởng khá mạnh mẽ. Giai đoạn 2020-2023 tăng cao lên khoảng 0,15% so với năm gốc 2020.

6. Dân số TP. Hồ Chí Minh

d13 <- hiu2%>%select('Year', 'HCM')
d13 %>% ggplot(aes(x = Year, y = HCM)) +
  geom_line(color = "gold", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở TP. Hồ Chí Minh  giai đoạn 2020-2023")

d13
##   Year       HCM
## 1 2020 1.0000000
## 2 2021 0.9934156
## 3 2022 1.0175689
## 4 2023 1.0199626

Nhận xét:

  • Khi ta quan sát kĩ thì giai đoạn từ năm 2020-2021 ở TP. Hồ Chí Minh dân số có sự giảm sút khá đáng kể và sau đó giai đoạn 2021-2023 lại tăng trưởng mạnh mẽ trở lại, tăng khoảng gần 0,02% so với năm 2020. Sự biến động đó xảy ra ở TP. Hồ Chí Minh là vì:

  • Trong giai đoạn này toàn thế giới phải đón chịu căn bệnh COVID-19 mang tính toàn cầu. Việt Nam chúng ta cũng không ngoại lệ, dịch bệnh lây lan nhanh chóng với phạm vi vô cùng rộng lớn. Trong giai đoạn này, cụ thể là vào đợt dịch thứ 3 (từ đầu cuối tháng 4/2019) tại TP Hồ Chí Minh đã bị bùng dịch một cách nặng nề từ đó đã làm giảm mạnh về mặt dân số của thành phố.

  • Di cư ngược: Dịch bệnh COVID-19 đã tạo ra những biện pháp hạn chế di chuyển và giới hạn hoạt động giao thông. Nhiều người dân, đặc biệt là những người di cư từ các vùng khác vào TP. Hồ Chí Minh để làm việc hoặc học tập, có thể đã quyết định trở về quê hương do mất việc làm, mất thu nhập, hoặc lo ngại về tình hình dịch bệnh. Điều này có thể đã góp phần vào sự giảm sút dân số tại thành phố.

  • Tác động kinh tế: Dịch bệnh COVID-19 đã gây ra tác động tiêu cực đến nền kinh tế, làm mất việc làm và thu nhập của nhiều người. Điều này có thể đã khiến một số người dân, đặc biệt là những người lao động tạm thời hoặc không có nơi làm việc ổn định, quyết định di cư ra khỏi TP. Hồ Chí Minh để tìm kiếm cơ hội kinh doanh hoặc làm việc ở những nơi khác.

  • Tác động tâm lý và xã hội: Dịch bệnh COVID-19 đã gây ra tác động tâm lý và xã hội lớn đối với nhiều người dân. Lo ngại về sức khỏe, mất việc làm, khó khăn trong cuộc sống hàng ngày và các yếu tố khác có thể đã làm một số người quyết định di chuyển đi các vùng nông thôn hoặc trở về quê hương để được ở gần gia đình, có môi trường an toàn hơn và chi phí sống thấp hơn.

7. Dân số An Giang

d14 <- hiu2%>%select('Year', 'AG')
d14 %>% ggplot(aes(x = Year, y = AG)) +
  geom_line(color = "pink", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Biểu đồ thể hiện dân số ở An Giang giai đoạn 2020-2023")

d14
##   Year       AG
## 1 2020 1.000000
## 2 2021 1.002612
## 3 2022 1.000517
## 4 2023 1.031566

Nhận xét:

  • Nhìn chung dân số tỉnh An Giang không có sự biến động nhiều trong giai đoạn này. Từ năm 2020-2022 dân số dường như không có sự thay đổi lớn. Nhưng từ năm 2022-2023 dân số có sự tăng trưởng khá rõ rệt, tăng khoảng hơn 0,03% so với năm 2020.

2 BỘ DỮ LIỆU 2: PHÂN TÍCH VỀ TỈ LỆ GIA TĂNG DÂN SỐ Ở VIỆT NAM GIAI ĐOẠN 2016-2022

  • Ta tiến hành phân tích về tỉ lệ gia tăng dân số (%) ở Việt Nam qua 2 giai đoạn cụ thể là: giai đoạn 1 từ 2016-2019 và giai đoạn 2 từ 2019-2022.

  • Mã SP.POP.GROW được trích từ World Bank là một mã số dùng để đại diện cho chỉ số tăng trưởng dân số (Population growth rate) trong cơ sở dữ liệu của World Bank. Chỉ số này thường được sử dụng để đo lường tỷ lệ tăng trưởng dân số hàng năm của một quốc gia hoặc khu vực cụ thể.

  • Mã SP.POP.GROW là một mã số chuẩn hóa (standardized code) trong hệ thống phân loại dữ liệu của World Bank, được sử dụng để ghi nhận và so sánh các chỉ số tăng trưởng dân số trên toàn cầu. Khi tìm kiếm hoặc truy xuất dữ liệu từ World Bank, mã SP.POP.GROW sẽ giúp chúng ta xác định và truy cập các chỉ số tăng trưởng dân số tương ứng.

  • Tỉ lệ gia tăng tự nhiên/ tỉ suất gia tăng tự nhiên đã đề cập đến sự khác biệt hay sự chênh lệch giữa tỉ lệ sinh thô và tỉ lệ tử vong thô của một dân số nhất định.

  • Sự gia tăng dân số tự nhiên được hiểu cơ bản là quá trình tái sản xuất dân cư, thế hệ già được thay thế bằng thế hệ trẻ. Tỉ lệ gia tăng dân số tự nhiên cũng chính là số chênh lệch giữa tỉ lệ sinh và tử trong một khoảng thời gian thông thường sẽ là một năm trên một lãnh thổ nhất định, tính bằng phần trăm (%).

  • Tổ chức Y tế Thế giới (WHO) có được tất cả các giá trị được tính toán cho mỗi quốc gia trên toàn thế giới để từ đó lên kế hoạch về hỗ trợ từng quốc gia.

  • WHO sử dụng các giá trị của tốc độ gia tăng tự nhiên để đánh giá tiền tệ, nguồn nhân lực và sự hỗ trợ về mặt kĩ thuật họ đã cung cấp cho từng quốc gia.

Công thức xác định tỉ lệ gia tăng tự nhiên như sau:

  • Tỉ lệ tăng tự nhiên = (Tỉ lệ sinh thô – Tỉ lệ tử vong thô) / 10

  • Các giá trị của tỉ lệ sinh thô và tử vong thô là tính trên 1000 người tuy nhiên kết quả tính toán tỉ lệ gia tăng tự nhiên là ở dạng phần trăm.

Ví dụ:

  • Nếu một quốc gia có tỉ lệ sinh thô là 36,79 và tỉ lệ tử vong thô là 6,95 thì:

  • Tỉ lệ tăng tự nhiên = (Tỉ lệ sinh thô – Tỉ lệ tử vong thô) / 10 = = (36,79 – 6,95) / 10 = 2.984 %

  • Do đó, tỉ lệ gia tăng tự nhiên của đất nước là 2.984%.

2.1 Giai đoạn 1

I. Ta tiến hành phân tích về tỉ lệ gia tăng dân số (%) ở Việt Nam giai đoạn 2016-2019.

library(ggplot2)
tcd2 <- tcd1 %>% filter( Country == 'Viet Nam', Year >= 2016 & Year <= 2019)%>% select('Country','Iso2c','Year','Value')
tcd2 %>% ggplot(aes(x = Year, y = Value)) +
  geom_line(color = "red", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Tỉ lệ gia tăng dân số (%) ở Việt Nam giai đoạn 2016-2019")

tcd2
##    Country Iso2c Year     Value
## 1 Viet Nam    VN 2019 0.9044912
## 2 Viet Nam    VN 2018 0.9328400
## 3 Viet Nam    VN 2017 0.9687200
## 4 Viet Nam    VN 2016 1.0092266

Nhận xét:

Trong giai đoạn 2016-2019, tỉ lệ gia tăng dân số (%) ở Việt Nam đã giảm mạnh từ trên 1% xuống còn khoảng 0.9%. Những lí do ảnh hưởng đến sự giảm sút về tỉ lệ này là:

  • Giảm tỷ lệ sinh: Trong giai đoạn đó, Việt Nam đã ghi nhận về việc giảm tỷ lệ sinh tự nhiên, tức là tỷ lệ sinh trẻ em trên mỗi phụ nữ trong độ tuổi sinh sản đã giảm. Có một số yếu tố có thể đóng vai trò trong sự giảm này, bao gồm sự gia tăng của chuỗi giá trị công nghiệp, sự gia tăng của công ăn việc làm trong các thành phố lớn và sự gia tăng của trình độ giáo dục, tạo điều kiện cho phụ nữ tham gia vào lực lượng lao động và quyết định hoãn sinh con hoặc giới hạn số lượng con cái.

  • Tăng trưởng kinh tế chậm: Tỷ lệ gia tăng dân số thường có xu hướng giảm khi tăng trưởng kinh tế chậm lại. Trong giai đoạn này, Việt Nam đã ghi nhận một sự giảm tốc độ tăng trưởng kinh tế so với các năm trước đó. Khi kinh tế không phát triển mạnh, nhiều người có thể trì hoãn việc thành lập gia đình hoặc quyết định có ít con hơn.

  • Tiến bộ trong kế hoạch hóa gia đình: Chính phủ Việt Nam đã triển khai các chính sách kế hoạch hóa gia đình để hạn chế tăng trưởng dân số trong một số giai đoạn. Các chính sách này bao gồm đẩy mạnh sử dụng biện pháp hạn chế sinh con như tiếp cận và phân phối các biện pháp tránh thai, tăng cường giáo dục và tư vấn về kế hoạch hóa gia đình. Nhờ vào các biện pháp này, tỉ lệ gia tăng dân số đã giảm mạnh trong giai đoạn 2016-2019.

  • Tiến bộ trong y tế và chăm sóc sức khỏe: Việt Nam đã đạt được tiến bộ đáng kể trong lĩnh vực y tế và chăm sóc sức khỏe, bao gồm cung cấp dịch vụ chăm sóc sức khỏe sinh sản, tăng cường tiêm chủng và cải thiện chất lượng dịch vụ y tế. Điều này có thể dẫn đến giảm tỷ lệ tử vong trẻ em và gia tăng tuổi thọ, điều này có thể ảnh hưởng đến tỉ lệ gia tăng dân số.

2.2 Giai đoạn 2

II. Ta tiến hành phân tích về tỉ lệ gia tăng dân số (%) ở Việt Nam giai đoạn 2019-2022.

tcd3 <- tcd1 %>% filter( Country == 'Viet Nam', Year >= 2019 & Year <= 2022)%>% select('Country','Iso2c','Year','Value')
tcd3 %>% ggplot(aes(x = Year, y = Value)) +
  geom_line(color = "blue", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Tỉ lệ gia tăng dân số (%) ở Việt Nam giai đoạn 2019-2022")

tcd3
##    Country Iso2c Year     Value
## 1 Viet Nam    VN 2022 0.7347941
## 2 Viet Nam    VN 2021 0.8441817
## 3 Viet Nam    VN 2020 0.9062992
## 4 Viet Nam    VN 2019 0.9044912

Nhận xét:

Trong giai đoạn 2019-2022, tỉ lệ gia tăng dân số (%) ở Việt Nam đã giảm mạnh từ trên 1% xuống còn khoảng dưới 0.75%. Bên cạnh đó còn có sự biến động về tỉ lệ này, cụ thể:

  • Từ năm 2019-2020 tăng nhẹ từ 0.904% lên khoảng 0,906%

  • Từ năm 2020-2022 lại giảm rất mạnh từ khoảng 0,906% xuống khoảng 0,735% giảm đi sấp sỉ 0,17%

  • Lí do dẫn đến sự biến động về tỉ lệ gia tăng dân số trong giai đoạn này là vì:

  • Ảnh hưởng của dịch bệnh: Năm 2020 và 2021 là thời gian mà toàn cầu chứng kiếnđại dịch COVID-19. Dịch bệnh này có thể đã ảnh hưởng đến tỷ lệ gia tăng dân số. Các biện pháp hạn chế di chuyển, giãn cách xã hội và các biện pháp phòng chống dịch đã làm giảm khả năng sinh sản và gây ra sự không chắc chắn về tương lai, dẫn đến sự giảm tỷ lệ sinh.

  • Thay đổi trong kế hoạch gia đình: Trong một số quốc gia, xu hướng giảm tỷ lệ sinh có thể liên quan đến thay đổi trong kế hoạch gia đình và sự thay đổi trong ý thức về việc sinh con. Một số người chọn hoãn kế hoạch sinh con, tập trung vào sự nghiệp, giáo dục hoặc các yếu tố khác. Điều này có thể dẫn đến sự giảm tỷ lệ sinh trong giai đoạn đó.

  • Kinh tế và tài chính: Tình trạng kinh tế và tài chính có thể ảnh hưởng đến quyết định sinh con của mọi người. Trong một môi trường kinh tế không ổn định hoặc khi mọi người đối mặt với sự không chắc chắn về tương lai, một số người có thể chọn hoãn sinh con hoặc giới hạn số lượng con cái.

  • Thay đổi trong cơ cấu tuổi tác: Nhiều quốc gia đang trải qua quá trình già hóa dân số, trong đó tỷ lệ người già tăng lên trong khi tỷ lệ người trẻ giảm đi. Điều này có thể dẫn đến sự giảm tỷ lệ gia tăng dân số tự nhiên.

3 BỘ DỮ LIỆU 3: PHÂN TÍCH TỈ LỆ TRẢ EM SINH RA TRUNG BÌNH HẰNG NĂM Ở VIỆT NAM GIAI ĐOẠN 2016-2022

  • Ta tiến hành phân tích về tỉ lệ sinh trung bình hàng năm (số trẻ em sinh ra mỗi 1.000 người) ở Việt Nam qua 2 giai đoạn cụ thể là: giai đoạn 1 từ 2016-2019 và giai đoạn 2 từ 2019-2022.

  • Mã “SP.DYN.CBRT.IN” trên World Bank là mã tham chiếu cho một chỉ số demography (dân số học) được gọi là “Crude Birth Rate” (CBR) trong tiếng Anh, có tên dịch là “Tỷ lệ sinh sống tự nhiên” trong tiếng Việt. Đây là một chỉ số thường được sử dụng để đo lường mức độ sinh đẻ của một quốc gia hoặc khu vực.

  • Tỷ lệ sinh sống tự nhiên (CBR) biểu thị số trẻ em được sinh ra trong một năm cho mỗi 1.000 người dân trong dân số. Chỉ số này thường được tính bằng cách chia tổng số trẻ em sinh ra trong một năm cho dân số tổng thể và nhân với 1.000.

  • CBR là một trong những chỉ số quan trọng để đánh giá tình hình dân số và xu hướng sinh sản của một quốc gia. Nó cung cấp thông tin về mức độ sinh đẻ và có thể giúp đánh giá tình hình gia tăng dân số, điều chỉnh chính sách dân số, lập kế hoạch gia đình, và các vấn đề liên quan đến tăng trưởng dân số.

  • CBR có thể thay đổi đáng kể giữa các quốc gia và khu vực khác nhau, phản ánh sự khác biệt về mức độ phát triển kinh tế, giáo dục, chăm sóc sức khỏe và các yếu tố xã hội khác. Chẳng hạn, các nước đang phát triển thường có tỷ lệ sinh sống tự nhiên cao hơn so với các nước phát triển vì mức độ phát triển kinh tế và quyền truy cập vào dịch vụ chăm sóc sức khỏe hiệu quả thường không được đảm bảo đầy đủ.

  • Vì vậy, mã “SP.DYN.CBRT.IN” trên World Bank thể hiện chỉ số tỷ lệ sinh sống tự nhiên (Crude Birth Rate) và được sử dụng để đo lường mức độ sinh đẻ của một quốc gia hoặc khu vực trong một năm.

  • Nói cách khác, SP.DYN.CBRT.IN là thước đo tỷ lệ lạm phát hàng năm được tính toán dựa trên sự chênh lệch giữa chỉ số giá tiêu dùng (CPI) hiện tại và CPI trong quá khứ. Dữ liệu này có thể được sử dụng để:

  • Theo dõi xu hướng lạm phát theo thời gian.

  • So sánh tỷ lệ lạm phát giữa các quốc gia.

  • Phân tích tác động của các chính sách kinh tế đối với lạm phát.

  • Đưa ra quyết định đầu tư và kinh doanh.

3.1 Giai đoạn 1

I. Ta tiến hành phân tích về tỉ lệ sinh trung bình hàng năm (số trẻ em sinh ra mỗi 1.000 người) ở Việt Nam giai đoạn 2016-2019.

bo2 <- bo1 %>% filter( Country == 'Viet Nam', Year >= 2016 & Year <= 2019)%>% select('Country','Iso2c','Year','Value')
bo2 %>% ggplot(aes(x = Year, y = Value)) +
  geom_line(color = "red", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Tỉ lệ sinh trung bình hàng năm ở Việt Nam giai đoạn 2016-2019")

bo2
##    Country Iso2c Year  Value
## 1 Viet Nam    VN 2019 15.663
## 2 Viet Nam    VN 2018 15.873
## 3 Viet Nam    VN 2017 16.100
## 4 Viet Nam    VN 2016 16.438

Nhận xét:

  • Nhìn vào biểu đồ trên, ta thấy được xu hướng di chuyển của đường line là một đường kéo dài từ góc trái bên trên xuống góc dưới bên phải từ đó ta thấy được tỉ lệ sinh trung bình hằng năm ở Việt Nam có sự giảm đi đáng kể từ trên 16,4% năm 2016 giảm xuống còn khoảng 15,6% năm 2019. Sự giảm sút này có thể được kể đến bởi những tác động sau đây:

  • Chính sách hỗ trợ gia đình: Chính phủ Việt Nam đã áp dụng các chính sách hỗ trợ gia đình như chính sách hưởng lợi từ việc sinh con thứ hai, chăm sóc sức khỏe và giáo dục cho trẻ em. Các chính sách này có thể đã ảnh hưởng đến quyết định sinh con của các cặp vợ chồng và giảm tỷ lệ sinh trung bình.

  • Mức độ phát triển kinh tế: Việt Nam đã có mức tăng trưởng kinh tế đáng kể trong thập kỷ qua. Với sự phát triển kinh tế, người dân thường có cơ hội tiếp cận tốt hơn đến các dịch vụ chăm sóc sức khỏe và giáo dục, cũng như có động lực kinh tế để gia đình nhỏ hơn. Điều này có thể dẫn đến sự giảm tỷ lệ sinh trung bình.

  • Thay đổi cấu trúc dân số: Các nước trong quá trình phát triển thường trải qua thay đổi cấu trúc dân số từ dân số trẻ hướng đến dân số già hơn. Điều này có thể do tăng tuổi thọ, giảm tỷ lệ tử vong, và thay đổi trong các mô hình gia đình và quyền truy cập vào các phương tiện hỗ trợ kế hoạch hóa gia đình. Thay đổi này có thể góp phần vào sự giảm tỷ lệ sinh trung bình.

  • Thay đổi trong lựa chọn số con: Với sự phát triển kinh tế và mở rộng quyền truy cập đến các dịch vụ kế hoạch hóa gia đình, các cặp vợ chồng có thể có nhiều lựa chọn hơn về việc quyết định số lượng con cái. Sự thay đổi trong ý thức và lựa chọn này có thể dẫn đến sự giảm tỷ lệ sinh trung bình.

3.2 Giai đoạn 2

I. Ta tiến hành phân tích về tỉ lệ sinh trung bình hàng năm (số trẻ em sinh ra mỗi 1.000 người) ở Việt Nam giai đoạn 2019-2022.

  • Trong giai đoạn này, theo số liệu thống kê thì chưa có số liệu về tỉ lệ sinh trung bình hàng năm cho năm 2022. Vì vậy, chúng ta sẽ tiến hành vẽ biểu đồ dữa trên những năm có số liệu cụ thể đã được thống kê đó là từ năm 2019-2021.
bo3 <- bo1 %>% filter( Country == 'Viet Nam', Year >= 2019 & Year <= 2021)%>% select('Country','Iso2c','Year','Value')
bo3 %>% ggplot(aes(x = Year, y = Value)) +
  geom_line(color = "blue", linewidth = 1) +
  geom_point(color = "black") +
  labs(x = "Year", y = "(%)") +
  ggtitle("Tỉ lệ sinh trung bình hàng năm ở Việt Nam giai đoạn 2019-2021")

bo3
##    Country Iso2c Year  Value
## 1 Viet Nam    VN 2021 15.008
## 2 Viet Nam    VN 2020 15.400
## 3 Viet Nam    VN 2019 15.663

Nhận xét:

  • Nhìn vào biểu đồ trên, ta cũng nhìn nhận được trong giai đoạn này tỉ lệ sinh trung bình hằng năm ở Việt Nam có sự giảm đi nhưng không đáng kể và tỉ lệ giảm thấp hơn so với giai đoạn trước. Cụ thể trong giai đoạn 2019-2021 này, từ khoảng 15,6% năm 2019 giảm xuống còn 15% năm 2021. Sự giảm sút về tỉ lệ sinh trong giai đoạn này là do:

  • Tiếp cận và quyền truy cập đến các biện pháp kế hoạch hóa gia đình: Nếu có sự cải thiện trong việc cung cấp thông tin và dịch vụ kế hoạch hóa gia đình, như việc tăng cường giáo dục và tăng khả năng tiếp cận các biện pháp kế hoạch hóa gia đình, người dân có thể có nhiều lựa chọn hơn về quản lý sinh sản và điều này có thể dẫn đến giảm tỷ lệ sinh.

  • Thay đổi giá trị gia đình và ý thức cá nhân: Sự thay đổi trong giá trị gia đình và ý thức cá nhân có thể ảnh hưởng đến quyết định sinh con của các cặp vợ chồng. Nếu có sự thay đổi trong quan niệm về sự cần thiết của việc sinh nhiều con hoặc sự tăng cường nhận thức về việc quản lý sinh sản, tỷ lệ sinh có thể giảm.

  • Thay đổi trong cấu trúc dân số: Như một quốc gia phát triển, Việt Nam có thể trải qua thay đổi trong cấu trúc dân số từ dân số trẻ hướng đến dân số già hơn. Điều này có thể do tăng tuổi thọ, giảm tỷ lệ tử vong, và thay đổi trong các mô hình gia đình và quyền truy cập vào các phương tiện hỗ trợ kế hoạch hóa gia đình. Thay đổi này có thể góp phần vào sự giảm tỷ lệ sinh trung bình.

PHẦN III: TỔNG KẾT BÀI TIỂU LUẬN

1. TỔNG KẾT VỀ DÂN SỐ vIỆT NAM GIAI ĐOẠN 2016-2023.

Trong giai đoạn từ 2016 đến 2023, dân số Việt Nam đã trải qua một số biến đổi và xu hướng quan trọng. Dưới đây là một tổng kết về dân số Việt Nam trong giai đoạn này:

  • Tăng trưởng dân số: Dân số Việt Nam tiếp tục tăng trưởng trong giai đoạn này, mặc dù tốc độ tăng đã giảm dần. Theo thống kê của Tổng cục Thống kê Việt Nam, dân số năm 2016 ước tính là khoảng 92,7 triệu người, và dân số năm 2023 ước đạt khoảng 97,4 triệu người. Điều này cho thấy sự gia tăng dân số của Việt Nam trong thời gian này.

  • Tỷ lệ sinh và tỷ lệ tử: Trong giai đoạn này, tỷ lệ sinh và tỷ lệ tử ở Việt Nam đã có sự thay đổi. Tỷ lệ sinh đã giảm dần, đạt mức khoảng 2,1 con/người vào năm 2019, tiệm cận với mức sinh thay thế (tức là mỗi đôi vợ chồng có trung bình 2 con). Trong khi đó, tỷ lệ tử cũng tăng lên do sự gia tăng tuổi thọ và cải thiện trong chăm sóc sức khỏe.

  • Cải thiện về sức khỏe và giảm tỷ lệ nghèo đói: Trong giai đoạn này, Việt Nam đã đạt được những tiến bộ đáng kể trong lĩnh vực sức khỏe và giảm tỷ lệ nghèo đói. Tuổi thọ trung bình tăng lên và tỷ lệ tử vong sơ sinh giảm. Ngoài ra, chính sách chăm sóc sức khỏe cũng đã được cải thiện, đảm bảo tiếp cận dịch vụ y tế cho người dân. Điều này đã góp phần giảm tỷ lệ nghèo đói và nâng cao chất lượng cuộc sống của người dân.

  • Chuyển động dân cư: Trong giai đoạn này, sự di cư nội địa và đô thị hóa tiếp tục diễn ra. Các thành phố lớn như Hà Nội và TP.HCM đã tăng trưởng với tốc độ nhanh chóng, thu hút đông đảo người dân từ các vùng nông thôn. Điều này gây ra một số thách thức về quản lý đô thị, hạ tầng và phân bố dân cư.

  • Mô hình gia đình và cấu trúc dân số: Trong giai đoạn này, mô hình gia đình và cấu trúc dân số cũng đã có những thay đổi. Sự gia tăng số lượng gia đình có 1-2 con và giảm dần số lượng gia đình có 3 con trở lên. Đồng thời, tỷ lệ người già tăng lên do tăng tuổi thọ và giảm tỷ lệ sinh. Điều này đặt ra các thách thức về chăm sóc người cao tuổi và quản lý sự già hóa dân số.

2. TỔNG KẾT VỀ TỈ LỆ GIA TĂNG DÂN SỐ vIỆT NAM GIAI ĐOẠN 2016-2023.

Trong giai đoạn từ 2016 đến 2023, tỉ lệ gia tăng dân số ở Việt Nam đã giảm so với các giai đoạn trước đó, nhưng vẫn duy trì ở mức ổn định và đáng kể. Dưới đây là một tổng kết về tỉ lệ gia tăng dân số trong giai đoạn này:

  • Tỷ lệ gia tăng tổng dân số: Tỷ lệ gia tăng tổng dân số ở Việt Nam trong giai đoạn này dao động từ khoảng 1% đến 1,1% mỗi năm. Điều này có nghĩa là dân số Việt Nam tăng khoảng từ 900.000 đến 1 triệu người mỗi năm. Tuy tỷ lệ này đã giảm so với các giai đoạn trước đó, nhưng vẫn cho thấy sự gia tăng dân số đáng kể.

  • Tỷ lệ gia tăng dân số theo độ tuổi: Trong giai đoạn này, tỷ lệ gia tăng dân số ở các độ tuổi khác nhau có sự biến đổi. Tỷ lệ gia tăng dân số trẻ (dưới 15 tuổi) đã giảm đáng kể, trong khi tỷ lệ gia tăng dân số ở nhóm tuổi trung niên (15-59 tuổi) và người cao tuổi (trên 60 tuổi) có xu hướng tăng lên. Điều này phản ánh sự thay đổi trong cấu trúc dân số với sự già hóa dân số gia tăng.

  • Tác động của các yếu tố địa phương: Tỷ lệ gia tăng dân số ở các vùng và địa phương có thể có sự khác biệt. Các thành phố lớn như Hà Nội và TP.HCM thường có tỷ lệ gia tăng dân số cao hơn do sự di cư từ các vùng nông thôn và thu hút đầu tư công và kinh doanh. Trong khi đó, một số vùng nông thôn có thể gặp khó khăn về tỷ lệ gia tăng dân số do yếu tố kinh tế và cơ sở hạ tầng.

  • Chính sách hạn chế sinh: Trong giai đoạn này, chính phủ Việt Nam đã áp dụng các chính sách hạn chế sinh nhằm kiềm chế tốc độ gia tăng dân số. Chính sách này bao gồm việc khuyến khích kế hoạch hóa gia đình, tăng cường thông tin giáo dục về sức khỏe sinh sản và tăng cường quản lý tình hình dân số. Nhờ các chính sách này, tỷ lệ gia tăng dân số đã giảm dần trong giai đoạn này.

3. TỔNG KẾT VỀ TỈ LỆ SINH TRUNG BÌNH HẰNG NĂM Ở VIỆT NAM.

Trong giai đoạn 2016-2023, tỉ lệ sinh trung bình hàng năm (số trẻ em sinh ra mỗi 1.000 người) ở Việt Nam đã có sự giảm dần. Dưới đây là một tổng kết về tỉ lệ sinh trung bình hàng năm trong giai đoạn này:

  • Tỷ lệ sinh trung bình hàng năm: Tỷ lệ sinh trung bình hàng năm ở Việt Nam đã giảm từ khoảng 16-17 trẻ em sinh ra mỗi 1.000 người vào năm 2016 xuống còn khoảng 14-15 trẻ em sinh ra mỗi 1.000 người vào năm 2023. Điều này cho thấy một xu hướng giảm tỷ lệ sinh trong thời gian này.

  • Chính sách hạn chế sinh: Một số chính sách hạn chế sinh đã được áp dụng trong giai đoạn này nhằm kiềm chế tốc độ gia tăng dân số. Chính sách này bao gồm việc khuyến khích kế hoạch hóa gia đình, tăng cường thông tin giáo dục về sức khỏe sinh sản và tăng cường quản lý tình hình dân số. Nhờ các chính sách này, tỷ lệ sinh trung bình hàng năm đã có xu hướng giảm.

  • Thay đổi cấu trúc gia đình: Trong giai đoạn này, cấu trúc gia đình ở Việt Nam cũng đã có những thay đổi. Sự gia tăng số lượng gia đình có 1-2 con và giảm dần số lượng gia đình có 3 con trở lên cũng có tác động đến tỷ lệ sinh trung bình hàng năm. Những gia đình có ít con hơn có thể là một kết quả của các chính sách hạn chế sinh và sự thay đổi trong tư duy về kế hoạch hóa gia đình.

PHẦN III: LỜI TRI ÂN

Lời tri ân đến Thầy Trần Mạnh Tường,

Em muốn gửi lời tri ân chân thành đến Thầy Trần Mạnh Tường, người đã trực tiếp hướng dẫn và giảng dạy bộ môn ngôn ngữ lập trình trên phần mềm Rstudio. Nhờ sự tận tâm và kiến thức sâu rộng của Thầy, em đã được học hỏi và trang bị những kỹ năng quan trọng trong lĩnh vực này.

Thầy không chỉ truyền đạt kiến thức một cách rõ ràng và dễ hiểu, mà còn tạo điều kiện cho tôi và các bạn học sinh khác để thực hành và áp dụng kiến thức vào thực tế. Thầy đã luôn sẵn lòng giải đáp mọi thắc mắc của chúng em, tạo ra một môi trường học tập tích cực và động lực.

Nhờ sự hướng dẫn của Thầy, em hiểu rõ hơn về phần mềm Rstudio và áp dụng nó vào nghiên cứu cho công việc học tập của mình. Những kiến thức và kỹ năng được hình thành dưới sự chỉ dẫn của Thầy đã góp phần quan trọng việc áp dụng vào các môn học liên quan khác của em.

Em xin bày tỏ lòng biết ơn sâu sắc và tri ân Thầy Trần Mạnh Tường đã dành thời gian, công sức và kiến thức của mình để truyền đạt và hướng dẫn chúng em. Em sẽ luôn mang theo những kiến thức và kinh nghiệm mà Thầy đã truyền đạt và áp dụng chúng vào công việc, học tập và cuộc sống.

Một lần nữa, em xin chân thành cảm ơn và tri ân Thầy Trần Mạnh Tường vì sự hướng dẫn và đóng góp quý báu của Thầy trong quá trình học tập của em.

Cảm ơn thầy Trần Mạnh Tường đã dành thời gian đọc qua bài tiểu luận của em. Hy vọng bài tiểu luận này sẽ có thể giúp ích cho những ai muốn tìm hiểu và có thể hiểu rõ hơn về sự biến động dân số Việt Nam trong giai đoạn 2016-2023.

LS0tDQp0aXRsZTogIlRJ4buCVSBMVeG6rE4gQ1Xhu5BJIEvDjCINCmF1dGhvcjogIlThuqAgQ8OUTkcgxJDhuqBUIg0KZGF0ZTogIjIwMjQtMDMtMTgiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIHRoZW1lOiBkZWZhdWx0DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogIHdvcmRfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KGZsZXh0YWJsZSkNCg0KYGBgDQoNCmBgYHtjc3MsZWNobyA9IEZBTFNFfQ0KaDEgew0KICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgZm9udC1zaXplOiAzMnB4Ow0KICBmb250LXdlaWdodDogYm9sZA0KICBjb2xvcjogYmxhY2sNCiAgfQ0KDQpoMiB7DQogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBmb250LXNpemU6IDI4cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBjb2xvcjogb3JhbmdlDQogDQp9DQoNCmgzIHsNCiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogIGZvbnQtc2l6ZTogMjRweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgY29sb3I6IGdvbGQNCn0NCg0KaDQge2ZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBmb250LXNpemU6IDIwcHg7DQogIGZvbnQtc3R5bGU6IGl0YWxpY30NCg0KYm9keSB7DQogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBmb250LXNpemU6IDE4cHg7DQogIA0KfQ0KcDpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSkgew0KICB0ZXh0LWluZGVudDogMmVtO30NCnAgew0KICB0ZXh0LWFsaWduOiBqdXN0aWZ5Ow0KICB9DQoudG9jaWZ5LWhlYWRlciB7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQpgYGANCg0KIVtdKGltYWdlcy9TY3JlZW5zaG90JTIwKDQpLnBuZyl7d2lkdGg9IjY4NiJ9DQoNCiMgKipQSOG6pk4gSTogVOG7lE5HIFFVQU4gVuG7gCBCw4BJIFRJ4buCVSBMVeG6rE4qKg0KDQojIyAqKjEuIE3hu54gxJDhuqZVKioNCg0KIyMjIDEuMSBD4bqjbSBo4bupbmcgbOG7sWEgY2jhu41uIMSR4buBIHTDoGkNCg0KLSAgIMSQ4buBIHTDoGkgY+G7p2EgYsOgaSB0aeG7g3UgbHXhuq1uIG7DoHkgbMOgIHBow6JuIHTDrWNoIHbhu4Egc+G7sSBiaeG6v24gxJHhu5luZyBj4bunYSBkw6JuIHPhu5EgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxNi0yMDIzLg0KDQotICAgVmnhu4djIGzhu7FhIGNo4buNbiDEkeG7gSB0w6BpIGTDom4gc+G7kSB2w6Agc+G7sSBiaeG6v24gxJHhu5luZyBkw6JuIHPhu5EgY2hvIGLDoGkgdGnhu4N1IGx14bqtbiBs4bqnbiBuw6B5IGzDoCB2w6w6DQoNCi0gICBUw61uaCBxdWFuIHRy4buNbmcgY+G7p2EgZMOibiBz4buROiBEw6JuIHPhu5EgbMOgIG3hu5l0IHnhur91IHThu5EgcXVhbiB0cuG7jW5nIHRyb25nIHBow6F0IHRyaeG7g24gY+G7p2EgbeG7mXQgcXXhu5FjIGdpYS4gTsOzIOG6o25oIGjGsOG7n25nIMSR4bq/biBu4buBbiBraW5oIHThur8sIHjDoyBo4buZaSwgbcO0aSB0csaw4budbmcgdsOgIGNow61uaCB0cuG7iy4gTmdoacOqbiBj4bupdSB24buBIGTDom4gc+G7kSBnacO6cCBi4bqhbiBoaeG7g3UgcsO1IGjGoW4gduG7gSB0w6FjIMSR4buZbmcgY+G7p2EgZMOibiBz4buRIMSR4bq/biBjw6FjIGzEqW5oIHbhu7FjIG7DoHkgdsOgIMSRxrBhIHJhIGPDoWMgZ2nhuqNpIHBow6FwIHBow7kgaOG7o3AuDQoNCi0gICBUw6xuaCBow6xuaCBkw6JuIHPhu5EgdGjhur8gZ2nhu5tpOiBEw6JuIHPhu5EgdGjhur8gZ2nhu5tpIMSRYW5nIHRyw6puIMSRw6AgdMSDbmcgbmhhbmgsIHbDoCB2aeG7h2MgaGnhu4N1IHLDtSB24buBIHh1IGjGsOG7m25nLCBiaeG6v24gxJHhu5VpIHbDoCBz4buxIHBow6JuIGLhu5EgZMOibiBz4buRIHRyw6puIHRo4bq/IGdp4bubaSBsw6AgcuG6pXQgcXVhbiB0cuG7jW5nLiBC4bqxbmcgY8OhY2ggbmdoacOqbiBj4bupdSB24buBIGTDom4gc+G7kSwgYuG6oW4gY8OzIHRo4buDIHTDrG0gaGnhu4N1IHbhu4EgY8OhYyB24bqlbiDEkeG7gSBuaMawIHTEg25nIHRyxrDhu59uZyBkw6JuIHPhu5EsIHThu7cgbOG7hyBzaW5oIHbDoCB04butLCBiaeG6v24gxJHhu5luZyBkw6JuIHPhu5EgdGhlbyDEkeG7mSB0deG7lWkgdsOgIGdp4bubaSB0w61uaCwgZGkgY8awIHbDoCBz4buxIHBow6JuIGLhu5EgZMOibiBz4buRIHRyw6puIHRvw6BuIGPhuqd1Lg0KDQotICAgVMOhYyDEkeG7mW5nIGPhu6dhIGTDom4gc+G7kSDEkeG6v24gcGjDoXQgdHJp4buDbiBi4buBbiB24buvbmc6IETDom4gc+G7kSDEkcOzbmcgdmFpIHRyw7IgcXVhbiB0cuG7jW5nIHRyb25nIHZp4buHYyB4w6FjIMSR4buLbmgga2jhuqMgbsSDbmcgcGjDoXQgdHJp4buDbiBi4buBbiB24buvbmcgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYS4gTmdoacOqbiBj4bupdSB24buBIGTDom4gc+G7kSBjw7MgdGjhu4MgZ2nDunAgYuG6oW4gaGnhu4N1IHLDtSBoxqFuIHbhu4EgdMOhYyDEkeG7mW5nIGPhu6dhIGTDom4gc+G7kSDEkeG6v24gdMOgaSBuZ3V5w6puLCBtw7RpIHRyxrDhu51uZywgbmdow6hvIMSRw7NpLCBnacOhbyBk4bulYywgc+G7qWMga2jhu49lIHbDoCBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4gQuG6sW5nIGPDoWNoIHTDrG0gaGnhu4N1IHbhu4EgY8OhYyB24bqlbiDEkeG7gSBuw6B5LCBi4bqhbiBjw7MgdGjhu4MgxJHhu4EgeHXhuqV0IGPDoWMgYmnhu4duIHBow6FwIHbDoCBjaMOtbmggc8OhY2ggbmjhurFtIMSR4bqjbSBi4bqjbyBwaMOhdCB0cmnhu4NuIGLhu4FuIHbhu69uZyB2w6AgY8OibiBi4bqxbmcgZ2nhu69hIGTDom4gc+G7kSB2w6AgdMOgaSBuZ3V5w6puLg0KDQotICAgQ8OhYyB24bqlbiDEkeG7gSBsacOqbiBxdWFuIMSR4bq/biBkw6JuIHPhu5E6IE5naGnDqm4gY+G7qXUgduG7gSBkw6JuIHPhu5EgbeG7nyByYSBjxqEgaOG7mWkgxJHhu4Mga2jDoW0gcGjDoSBjw6FjIHbhuqVuIMSR4buBIGxpw6puIHF1YW4gbmjGsCBxdXnhu4FuIHThu7EgZG8gc2luaCBz4bqjbiwgc+G7qWMga2jhu49lIHNpbmggc+G6o24sIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmgsIGdp4bqjbSB04bu3IGzhu4cgc2luaCwgY2jEg20gc8OzYyB0cuG6uyBlbSB2w6AgbmfGsOG7nWkgZ2nDoCwgcXXhuqNuIGzDvSBkaSBjxrAsIHbDoCBjw6FjIHbhuqVuIMSR4buBIHjDoyBo4buZaSBuaMawIMSRw7QgdGjhu4sgaMOzYSB2w6AgxJHDtCB0aOG7iyBow7NhIHbDuW5nIG7DtG5nIHRow7RuLg0KDQotICAgVMOtbmgg4bupbmcgZOG7pW5nIGNhbzogTmdoacOqbiBj4bupdSB24buBIGTDom4gc+G7kSBtYW5nIHTDrW5oIOG7qW5nIGThu6VuZyBjYW8gdsOgIGPDsyB0aOG7gyDDoXAgZOG7pW5nIHRyb25nIG5oaeG7gXUgbMSpbmggduG7sWMga2jDoWMgbmhhdSBuaMawIGNow61uaCB0cuG7iywga2luaCB04bq/LCB5IHThur8sIGdpw6FvIGThu6VjIHbDoCBxdeG6o24gbMO9IHTDoGkgbmd1ecOqbi4gTuG6v3UgYuG6oW4gcXVhbiB0w6JtIMSR4bq/biBuaOG7r25nIHbhuqVuIMSR4buBIG7DoHkgdsOgIG114buRbiDEkcOzbmcgZ8OzcCB2w6BvIHZp4buHYyBnaeG6o2kgcXV54bq/dCBjw6FjIHRow6FjaCB0aOG7qWMgeMOjIGjhu5lpLCBuZ2hpw6puIGPhu6l1IHbhu4EgZMOibiBz4buRIGzDoCBt4buZdCBs4buxYSBjaOG7jW4gdOG7kXQuDQoNCiMjIyAxLjIgxJDhu5FpIHTGsOG7o25nIHbDoCBwaOG6oW0gdmkgbmdoacOqbiBj4bupdQ0KDQotICAgKirEkOG7kWkgdMaw4bujbmc6KiogNjMgdOG7iW5oIHRow6BuaCBWaeG7h3QgTmFtIGNoaWEgbMOgbSA3IHbDuW5nIG1p4buBbiB0csOqbiBsw6NuaCB0aOG7lS4NCi0gICAqKlBo4bqhbSB2aSB2w6AgbeG7kWMgdGjhu51pIGdpYW4gbmdoacOqbiBj4bupdToqKiBDaGlhIGzDoG0gMiBnaWFpIMSRb+G6oW4gY+G7pSB0aOG7gyBsw6A6IHThu6sgMjAxNi0yMDE5IHbDoCB04burIDIwMjAtMjAyMy4NCg0KIyMjIDEuMyBDw6FjIG5ndeG7k24gdGh1IHRo4bqtcCBk4buvIGxp4buHdSBkw6JuIHPhu5EgVmnhu4d0IE5hbQ0KDQotICAgVOG7lW5nIGPhu6VjIHRo4buRbmcga8OqIFZp4buHdCBOYW0NCi0gICBXb3JsZCBCYW5rDQoNCiMjIyAxLjQgUGjGsMahbmcgcGjDoXAgbmdoacOqbiBj4bupdQ0KDQotICAgVGh1IHRo4bqtcCBk4buvIGxp4buHdSBzYXUgxJHDsyBkw7luZyBjw6FjIGJp4buDdSDEkeG7kyDEkeG7gyB0cuG7sWMgcXVhbiBow7NhIGThu68gbGnhu4d1IGzDqm4gYmnhu4N1IMSR4buTLg0KLSAgIFBow6JuIHTDrWNoIHbhu4Egc+G7sSBiaeG6v24gxJHhu5luZyB0aMO0bmcgcXVhIGJp4buDdSDEkeG7kyDEkcOjIMSRxrDhu6NjIHbhur0gdHLGsOG7m2MgxJHDsy4NCg0KIyMgKioyLiBU4buUTkcgUVVBTiBMw50gVEhVWeG6vlQgVuG7gCBEw4JOIFPhu5AgVknhu4ZUIE5BTSoqDQoNCiMjIyAyLjEgS2jDoWkgbmnhu4dtDQoNCi0gICBEw6JuIHPhu5EgbMOgIHPhu5EgbMaw4bujbmcgbmfGsOG7nWkgc+G7kW5nIHRyb25nIG3hu5l0IGtodSB24buxYyBj4bulIHRo4buDIGJhbyBn4buTbSBt4buZdCB0aMOgbmggcGjhu5EgbeG7mXQgcXXhu5FjIGdpYSwgbeG7mXQga2h1IHbhu7FjIMSR4buLYSBsw70gaG/hurdjIHRvw6BuIHRo4bq/IGdp4bubaS4gTsOzIHRo4buDIGhp4buHbiBz4buRIGzGsOG7o25nIGTDom4gY8awIHThu5VuZyB0aOG7gyBj4bunYSBt4buZdCDEkeG7i2EgxJFp4buDbSB0cm9uZyBt4buZdCB0aOG7nWkgxJFp4buDbSBuaOG6pXQgxJHhu4tuaC4gRMOibiBz4buRIMSRxrDhu6NjIGNobyBi4bqxbmcgxJHGoW4gduG7iyBuZ8aw4budaSB2w6AgdGjGsOG7nW5nIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCB0aMO0bmcgcXVhIGPDoWMgdGjhu5FuZyBrw6ogZMOibiBz4buRIHbDoCBjdeG7mWMgxJFp4buBdSB0cmEgZMOibiBz4buRLg0KDQotICAgRMOibiBz4buRIGzDoCBt4buZdCB54bq/dSB04buRIHF1YW4gdHLhu41uZyDEkeG7gyDEkW8gbMaw4budbmcgcXV5IG3DtCBkw6JuIHPhu5EsIMSR4buLbmggaMOsbmggcXV5IG3DtCBkw6JuIGPGsCB2w6AgcGjDom4gdMOtY2ggY8OhYyB4dSBoxrDhu5tuZyBkw6JuIHPhu5EuIE7DsyBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIG5oaeG7gXUga2jDrWEgY+G6oW5oIGPhu6dhIGtpbmggdOG6vywgeMOjIGjhu5lpIHbDoCBjaMOtbmggdHLhu4sgYmFvIGfhu5NtOg0KDQotICAgKipLaW5oIHThur86KiogRMOibiBz4buRIGzhu5tuIGPDsyB0aOG7gyB04bqhbyByYSBs4buxYyBsxrDhu6NuZyBsYW8gxJHhu5luZyBk4buTaSBkw6BvLCBjdW5nIGPhuqVwIHPhu6ljIGxhbyDEkeG7mW5nIGNobyBjw6FjIG5nw6BuaCBjw7RuZyBuZ2hp4buHcCB2w6AgZOG7i2NoIHbhu6UuIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgdGjDumMgxJHhuql5IHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gdsOgIHBow6F0IHRyaeG7g24gcXXhu5FjIGdpYS4gVHV5IG5oacOqbiwgbuG6v3UgZMOibiBz4buRIHbGsOG7o3QgcXXDoSBraOG6oyBuxINuZyBo4bqlcCB0aOG7pSBj4bunYSBu4buBbiBraW5oIHThur8sIHZp4buHYyBjdW5nIGPhuqVwIHZp4buHYyBsw6BtIHbDoCB0w6BpIG5ndXnDqm4gc+G6vSB0cuG7nyBuw6puIGtow7Mga2jEg24sIGfDonkgw6FwIGzhu7FjIHbDoCB0aMOhY2ggdGjhu6ljIHbhu4EgcGjDom4gY2hpYSB0aHUgbmjhuq1wIHbDoCBt4bupYyBz4buRbmcuDQoNCi0gICAqKljDoyBo4buZaSB2w6AgdsSDbiBow7NhOioqIETDom4gc+G7kSBs4bubbiBjw7MgdGjhu4MgdMOhYyDEkeG7mW5nIMSR4bq/biBz4buxIMSRYSBk4bqhbmcgdsOgIHBob25nIHBow7ogY+G7p2EgeMOjIGjhu5lpIHbDoCB2xINuIGjDs2EuIE7DsyBjw7MgdGjhu4MgdOG6oW8gcmEgc+G7sSDEkWEgZOG6oW5nIG5nw7RuIG5n4buvLCB0w61uIG5nxrDhu6FuZywgcGhvbmcgdOG7pWMsIHRydXnhu4FuIHRo4buRbmcgdsOgIHPhu7EgxJFhIGThuqFuZyDDvSB0aOG7qWMuIFR1eSBuaGnDqm4sIHPhu7EgxJFhIGThuqFuZyBuw6B5IGPFqW5nIGPDsyB0aOG7gyB04bqhbyByYSB0aMOhY2ggdGjhu6ljIHRyb25nIHZp4buHYyBxdeG6o24gbMO9IHbDoCBkdXkgdHLDrCBz4buxIMSR4buTbmcgdGh14bqtbiB4w6MgaOG7mWksIMSR4bq3YyBiaeG7h3QgbMOgIHRyb25nIGPDoWMgcXXhu5FjIGdpYSBjw7Mgbmhp4buBdSBkw6JuIHThu5ljLCB0w7RuIGdpw6FvIHbDoCBuaMOzbSBkw6JuIGPGsCBraMOhYyBuaGF1Lg0KDQotICAgKipDaMOtbmggdHLhu4sgdsOgIHF14bqjbiBsw706KiogRMOibiBz4buRIGzhu5tuIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gaOG7hyB0aOG7kW5nIGNow61uaCB0cuG7iyB2w6AgcXXhuqNuIGzDvSBj4bunYSBt4buZdCBxdeG7kWMgZ2lhLiBT4buxIHBow6F0IHRyaeG7g24gdsOgIHF14bqjbiBsw70gZMOibiBz4buRIMSRw7JpIGjhu49pIGNow61uaCBwaOG7pyBjw7Mga2jhuqMgbsSDbmcgY3VuZyBj4bqlcCBk4buLY2ggduG7pSBjw7RuZyBj4buZbmcsIG5oxrAgeSB04bq/LCBnacOhbyBk4bulYywgYW4gbmluaCB2w6AgaOG6oSB04bqnbmcgZ2lhbyB0aMO0bmcuIE7hur91IGTDom4gc+G7kSB2xrDhu6N0IHF1w6Ega2jhuqMgbsSDbmcgcXXhuqNuIGzDvSwgY2jDrW5oIHBo4bunIGPDsyB0aOG7gyBn4bq3cCBraMOzIGtoxINuIHRyb25nIHZp4buHYyDEkcOhcCDhu6luZyBuaHUgY+G6p3UgY+G7p2EgbmfGsOG7nWkgZMOibiB2w6AgZHV5IHRyw6wgdHLhuq10IHThu7EgeMOjIGjhu5lpLg0KDQotICAgKipUw6BpIG5ndXnDqm4gdsOgIG3DtGkgdHLGsOG7nW5nOioqIETDom4gc+G7kSBs4bubbiBjw7MgdGjhu4MgxJHhurd0IMOhcCBs4buxYyBs4bubbiBsw6puIHTDoGkgbmd1ecOqbiB2w6AgbcO0aSB0csaw4budbmcuIFPhu7EgZ2lhIHTEg25nIGTDom4gc+G7kSBjw7MgdGjhu4MgdMSDbmcgbmh1IGPhuqd1IHPhu60gZOG7pW5nIMSR4bqldCwgbsaw4bubYywgbsSDbmcgbMaw4bujbmcgdsOgIHTDoGkgbmd1ecOqbiB0aGnDqm4gbmhpw6puIGtow6FjLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIGfDonkgcmEgc+G7sSBj4bqhbmggdHJhbmggdsOgIHh1bmcgxJHhu5l0IHRyb25nIHZp4buHYyBz4butIGThu6VuZyB0w6BpIG5ndXnDqm4gdsOgIHThuqFvIHJhIHTDoWMgxJHhu5luZyB0acOqdSBj4buxYyDEkeG6v24gbcO0aSB0csaw4budbmcsIGNo4bqzbmcgaOG6oW4gbmjGsCDDtCBuaGnhu4VtIG3DtGkgdHLGsOG7nW5nIHbDoCBzdXkgdGhvw6FpIHTDoGkgbmd1ecOqbi4NCg0KIyMjIDIuMiDEkOG6t2MgxJFp4buDbSB2w6AgdmFpIHRyw7IgY+G7p2EgZMOibiBz4buRDQoNCsSQ4bq3YyDEkWnhu4NtIGPhu6dhIGTDom4gc+G7kToNCg0KLSAgICoqUXV5IG3DtDoqKiBkw6JuIHPhu5EgdGjhu4MgaGnhu4duIHPhu5EgbMaw4bujbmcgbmfGsOG7nWkgdHJvbmcgbeG7mXQga2h1IHbhu7FjIG5o4bqldCDEkeG7i25oIHF1eSBtw7QgZMOibiBz4buRIGPDsyB0aOG7gyBuaOG7jy4gVsOtIGThu6UgbmjGsCBkw6JuIGPhu6dhIG3hu5l0IGzDoG5nIMSR4buBbiBs4bubbiB2w60gZOG7pSBuaMawIGTDom4gY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSBob+G6t2MgdG/DoG4gdGjhur8gZ2nhu5tpLCBxdXkgbcO0IGTDom4gc+G7kSB0aMaw4budbmcgxJHGsOG7o2MgxJFvIGLhurFuZyDEkcahbiB24buLIG5nxrDhu51pLg0KDQotICAgKipQaMOibiBi4buRIGtow7RuZyDEkeG7k25nIMSR4buBdToqKiBkw6JuIHPhu5EgcGjDom4gYuG7kSBraMO0bmcgxJHhu5NuZyDEkeG7gXUgdHJvbmcga2h1IHbhu7FjIGPDsyBuaOG7r25nIGtodSB24buxYyBjw7MgZMOibiBz4buRIMSRw7RuZyDEkcO6Yy4gVHJvbmcga2hpIGPDsyBuaOG7r25nIGtodSB24buxYyB2w6AgZMOibiBjxrAgdGjGsGEgdGjhu5t0IHPhu7EgcGjDom4gYuG7kSBkw6JuIHPhu5EgcGjhu6UgdGh14buZYyB2w6BvIG5oaeG7gXUgeeG6v3UgdOG7kSBiYW8gZ+G7k20gxJFp4buBdSBraeG7h24gxJHhu4thIGzDvSwga2luaCB04bq/LCB4w6MgaOG7mWkgdsOgIGNow61uaCB0cuG7iw0KDQotICAgKipU4bu3IGzhu4cgc2luaCB2w6AgdOG7rToqKiBkw6JuIHPhu5EgxJHGsOG7o2Mg4bqjbmggaMaw4bufbmcgYuG7n2kgdOG7tyBs4buHIHNpbmggdsOgIHThu60uIFThu7cgbOG7hyBzaW5oIGzDoCBz4buRIGzGsOG7o25nIHRy4bq7IGVtIMSRxrDhu6NjIHNpbmggcmEgdHJvbmcgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW4gbmjhuqV0IMSR4buLbmgsIHRyb25nIGtoaSB04bu3IGzhu4cgdOG7rSBsw6Agc+G7kSBsxrDhu6NuZyBuZ8aw4budaSBjaOG6v3QgdHJvbmcgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW4uIFPhu7EgYmnhur9uIMSR4buVaSB0cm9uZyB04bu3IGzhu4cgc2luaCB2w6AgdOG7tyBs4buHIHThu60gY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBz4buxIGdpYSB0xINuZyBob+G6t2MgZ2nhuqNtIGTDom4gc+G7kS4NCg0KLSAgICoqU+G7sSBnaWEgdMSDbmcgZMOibiBz4buROioqIGTDom4gc+G7kSBjw7MgdGjhu4MgdMSDbmcgdGhlbyBt4bupYyDEkeG7mSB04buxIG5oacOqbiBz4buRIG5nxrDhu51pIHNpbmggcmEgbmhp4buBdSBoxqFuIHPhu5EgbmfGsOG7nWkgY2jhur90IGhv4bq3YyBkbyBkaSBjxrAgc+G7sSBnaWEgdMSDbmcgZMOibiBz4buRIGPDsyB0aOG7gyB04bqhbyByYSBuaOG7r25nIHRow6FjaCB0aOG7qWMgdsOgIGPGoSBo4buZaSBjaG8gY8OhYyBxdeG7kWMgZ2lhIHbDoCBraHUgduG7sWMuDQoNCi0gICAqKsSQ4buZIHR14buVaSB0cnVuZyBiw6xuaDoqKiDEkeG7mSB0deG7lWkgdHJ1bmcgYsOsbmggY+G7p2EgZMOibiBz4buRIGzDoCBt4buZdCDEkeG6t2MgxJFp4buDbSBxdWFuIHRy4buNbmcgbsOzIHRo4buDIGhp4buHbiBz4buxIHBow6JuIGLhu5EgxJHhu5kgdHXhu5VpIGPhu6dhIGTDom4gc+G7kSB2w6AgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBuaGnhu4F1IGtow61hIGPhuqFuaCBraMOhYyBuaGF1IGJhbyBn4buTbSBuaHUgY+G6p3UgY2jEg20gc8OzYyB5IHThur8sIGdpw6FvIGThu6VjLCBsYW8gxJHhu5luZyB2w6AgaMawdSB0csOtLg0KDQotICAgKirEkGEgZOG6oW5nIGTDom4gdOG7mWMgdsOgIHbEg24gaMOzYToqKiBkw6JuIHPhu5EgY8OzIHRo4buDIGJhbyBn4buTbSBuaGnhu4F1IGTDom4gdOG7mWMgdsOgIG5ow7NtIGTDom4gdOG7mWMga2jDoWMgbmhhdSwgxJHhu5NuZyB0aOG7nWkgY8OzIHPhu7EgxJFhIGThuqFuZyB24buBIG5nw7RuIG5n4buvLCB2xINuIGjDs2EsIHTDtG4gZ2nDoW8gdsOgIHThuq1wIHThu6VjLiDEkGnhu4F1IG7DoHkgdOG6oW8gbsOqbiBt4buZdCBtw7RpIHRyxrDhu51uZyDEkWEgdsSDbiBow7NhIHbDoCBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHPhu7EgcGjDoXQgdHJp4buDbiB2w6AgdMawxqFuZyB0w6FjIHjDoyBo4buZaS4NCg0KLSAgICoqVMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kToqKiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRIGzDoCBt4buZdCDEkeG6t2MgxJFp4buDbSBxdWFuIHRy4buNbmcuIFTEg25nIHRyxrDhu59uZyBkw6JuIHPhu5EgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBuaHUgY+G6p3UgduG7gSBjw6FjIG5ndeG7k24gdMOgaSBuZ3V5w6puIMSR4bqldCDEkWFpLCB0aOG7sWMgcGjhuqltLCBuxrDhu5tjIHbDoCBk4buLY2ggduG7pSBjw7RuZyBj4buZbmcuIE7hur91IGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9IG3hu5l0IGPDoWNoIGhp4buHdSBxdeG6oyB0xINuZyB0csaw4bufbmcgZMOibiBz4buRIGPDsyB0aOG7gyBnw6J5IMOhcCBs4buxYyBsw6puIG3DtGkgdHLGsOG7nW5nIHbDoCBnw6J5IHJhIGPDoWMgduG6pW4gxJHhu4EgduG7gSBwaMOhdCB0cmnhu4NuIHbDoCBi4buBbiB24buvbmcuDQoNCkTDom4gc+G7kSDEkcOzbmcgdmFpIHRyw7IgcXVhbiB0cuG7jW5nIHbDoCDhuqNuaCBoxrDhu59uZyDEkeG6v24gbmhp4buBdSBraMOtYSBj4bqhbmggdHJvbmcgeMOjIGjhu5lpIHbDoCBraW5oIHThur8uIE3hu5l0IHPhu5EgdmFpIHRyw7IgY2jDrW5oOg0KDQotICAgKipL4bq/IGhv4bqhY2ggcGjDoXQgdHJp4buDbjoqKiBkw6JuIHPhu5EgY3VuZyBj4bqlcCB0aMO0bmcgdGluIHF1YW4gdHLhu41uZyDEkeG7gyBs4bqtcCBr4bq/IGhv4bqhY2ggcGjDoXQgdHJp4buDbiBxdWEgdmnhu4djIMSRw6FuaCBnacOhIHF1eSBtw7QsIHPhu7EgcGjDom4gYuG7kSwgdOG7tyBs4buHIHNpbmggdOG7rSwgxJHhu5kgdHXhu5VpIHRydW5nIGLDrG5oIHbDoCBj4bqldSB0csO6YyBkw6JuIHThu5ljLiBDaMOtbmggcXV54buBbiB2w6AgY8OhYyB04buVIGNo4bupYyBjw7MgdGjhu4MgeMOhYyDEkeG7i25oIGPDoWMgduG6pW4gxJHhu4EgZ2nhuqNpIHF1eeG6v3QgdsOgIHBow6F0IHRyaeG7g24gY2jDrW5oIHPDoWNoIHBow7kgaOG7o3AuDQoNCi0gICAqKkxhbyDEkeG7mW5nIHbDoCBuaMOibiBs4buxYzoqKiBkw6JuIHPhu5EgbMOgIG5ndeG7k24gY3VuZyBj4bqlcCBsYW8gxJHhu5luZyB2w6AgbmjDom4gbOG7sWMgcXVhbiB0cuG7jW5nIGNobyBu4buBbiBraW5oIHThur8uIFPhu7EgdMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kSBjw7MgdGjhu4MgdOG6oW8gcmEgxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSBjaG8gcGjDoXQgdHJp4buDbiBraW5oIHThur8gdsOgIHPhuqNuIHh14bqldCAuVHJvbmcga2hpIGTDom4gc+G7kSBnaeG6o20gY8OzIHRo4buDIGfDonkgcmEgc+G7sSB0aGnhur91IGjhu6V0IG5ow6JuIGzhu7FjIHbDoCDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7sSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4NCg0KLSAgICoqVGnDqnUgdGjhu6UgdsOgIHRo4buLIHRyxrDhu51uZzoqKiBkw6JuIHPhu5EgxJHDs25nIHZhaSB0csOyIHF1YW4gdHLhu41uZyB0cm9uZyB0acOqdSB0aOG7pSBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pS4gUXV5IG3DtCBkw6JuIHPhu5EgbOG7m24gY8OzIHRo4buDIHThuqFvIHJhIG3hu5l0IHRo4buLIHRyxrDhu51uZyB0aeG7gW0gbsSDbmcgcuG7mW5nIGzhu5tuLCBraHV54bq/biBraMOtY2ggc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGPDoWMgbmfDoG5oIGPDtG5nIG5naGnhu4dwIHbDoCB0aMO6YyDEkeG6qXkgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaC4NCg0KLSAgICoqQ2jDrW5oIHPDoWNoIHjDoyBo4buZaToqKiBkw6JuIHPhu5EgY3VuZyBj4bqlcCBjxqEgc+G7nyDEkeG7gyDEkeG7i25oIGjDrG5oIGNow61uaCBzw6FjaCB4w6MgaOG7mWkgbmjGsCBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSwgZ2nDoW8gZOG7pWMsIGLhuqNvIHbhu4cgeMOjIGjhu5lpIHbDoCBwaMOhdCB0cmnhu4NuIGPhu5luZyDEkeG7k25nLiBUaMO0bmcgdGluIHbhu4EgZMOibiBz4buRIGdpw7pwIHjDoWMgxJHhu4tuaCBuaHUgY+G6p3UgduG7gSDGsHUgdGnDqm4gxJHhuqd1IHTGsCBjaG8gY8OhYyBk4buLY2ggduG7pSB2w6AgY2jGsMahbmcgdHLDrG5oIHjDoyBo4buZaS4NCg0KLSAgICoqUXXhuqNuIGzDvSB0w6BpIG5ndXnDqm4gdsOgIG3DtGkgdHLGsOG7nW5nOioqIGTDom4gc+G7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7sSBz4butIGThu6VuZyB0w6BpIG5ndXnDqm4gdsOgIG3DtGkgdHLGsOG7nW5nLiBRdXkgbcO0IGTDom4gc+G7kSBs4bubbiBjw7MgdGjhu4MgdOG6oW8gcmEgw6FwIGzhu7FjIGzDqm4gdMOgaSBuZ3V5w6puIHThu7Egbmhpw6puIGfDonkgcmEgw7Qgbmhp4buFbSBtw7RpIHRyxrDhu51uZyB2w6AgxJFlIGThu41hIHPhu7EgYuG7gW4gduG7r25nIGPhu6dhIGjhu4cgc2luaCB0aMOhaS4NCg0KLSAgICoqxJBhIGThuqFuZyB2xINuIGjDs2EgdsOgIHjDoyBo4buZaToqKiBkw6JuIHPhu5EgcGjhuqNuIMOhbmggc+G7sSDEkWEgZOG6oW5nIHbhu4EgdsSDbiBow7NhLCBuZ8O0biBuZ+G7rywgdMO0biBnacOhbyB2w6AgdOG6rXAgdOG7pWMuIFPhu7EgxJFhIGThuqFuZyBuw6B5IGzDoCBuZ3Xhu5NuIGN1bmcgY+G6pXAgdMOgaSBuZ3V5w6puIHbEg24gaMOzYSwgxJHhu5luZyBs4buxYyBjaG8gc+G7sSBwaMOhdCB0cmnhu4NuIHbDoCB0cmFvIMSR4buVaSB2xINuIGjDs2EgdsOgIGzDoCBu4buBbiB04bqjbmcgY2hvIHPhu7EgcGjDoXQgdHJp4buDbiB4w6MgaOG7mWkgdsOgIMSRYSBk4bqhbmcgaMOzYS4NCg0KIyMjIDIuMyBOaOG7r25nIHTDoWMgxJHhu5luZyBj4bunYSBnaWEgdMSDbmcgZMOibiBz4buRDQoNCkdpYSB0xINuZyBkw6JuIHPhu5EgY8OzIHRo4buDIGPDsyB0w6FjIMSR4buZbmcgxJFhIGThuqFuZyB2w6AgcGjhu6UgdGh14buZYyB2w6BvIG5oaeG7gXUgeeG6v3UgdOG7kSBuaMawOiBxdXkgbcO0LCB0xINuZyB0csaw4bufbmcsIHBow6JuIGLhu5EgZMOibiBjxrAsIGPhuqV1IHRyw7pjIGTDom4gc+G7kSB2w6AgcXXhuqNuIGzDvSBkw6JuIHPhu5E6DQoNCi0gICAqKsOBcCBs4buxYyB0w6BpIG5ndXnDqm46KiogZ2lhIHTEg25nIGTDom4gc+G7kSB04bqhbyByYSDDoXAgbOG7sWMgbMOqbiBjw6FjIG5ndeG7k24gdMOgaSBuZ3V5w6puIHThu7Egbmhpw6puIG5oxrAgxJHhuqV0LCBuxrDhu5tjLCBuxINuZyBsxrDhu6NuZyB2w6Agbmd1ecOqbiBsaeG7h3UuIFPhu7EgdGnDqnUgdGjhu6UgdMSDbmcgbMOqbiBjw7MgdGjhu4MgZ8OieSByYSB2aeG7h2Mga2hhaSB0aMOhYyBxdcOhIG3hu6ljIHTDoGkgbmd1ecOqbiB2w6AgbMOgbSBzdXkgdGhvw6FpIG3DtGkgdHLGsOG7nW5nLg0KDQotICAgKirDgXAgbOG7sWMgxJHDtCB0aOG7iyBow7NhOioqIGdpYSB0xINuZyBkw6JuIHPhu5EgY8OzIHRo4buDIGThuqtuIMSR4bq/biBz4buxIGdpYSB0xINuZyDEkcO0IHRo4buLIGjDs2EgdsOgIHTEg25nIGPGsOG7nW5nIMOhcCBs4buxYyDEkeG7kWkgduG7m2kgaOG6oSB04bqnbmcgxJHDtCB0aOG7iyBuaMawOiBnaWFvIHRow7RuZywgaOG7hyB0aOG7kW5nIG7GsOG7m2MgdsOgIHbhu4cgc2luaC4gxJBp4buBdSBuw6B5IMSRw7JpIGjhu49pIHPhu7EgxJHhuqd1IHTGsCBs4bubbiB2w6AgcXXhuqNuIGzDvSBoaeG7h3UgcXXhuqMgxJHhu4Mgw6FwIMSRw6FwIOG7qW5nIG5odSBj4bqndSBj4bunYSBkw6JuIHPhu5EgxJHDtCB0aOG7iyBuZ8OgeSBjw6BuZyB0xINuZy4NCg0KLSAgICoqU+G7qWMga2jhu49lIHbDoCBnacOhbyBk4bulYzoqKiBnaWEgdMSDbmcgZMOibiBz4buRIGPDsyB0aOG7gyB04bqhbyByYSBjw6FjIHRow6FjaCB0aOG7qWMgbOG7m24gxJHhu5FpIHbhu5tpIGjhu4cgdGjhu5FuZyBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSB2w6AgZ2nDoW8gZOG7pWMuIFZp4buHYyDEkeG6o20gYuG6o28gdGnhur9wIGPhuq1uIHbDoCBjaOG6pXQgbMaw4bujbmcgZOG7i2NoIHbhu6UgeSB04bq/IGNobyBt4buNaSBuZ8aw4budaSB0cuG7nyBuw6puIHBo4bupYyB04bqhcCBoxqFuLg0KDQotICAgKipUxINuZyBjxrDhu51uZyBuaHUgY+G6p3UgdGnDqnUgZMO5bmc6KiogZ2lhIHTEg25nIGTDom4gc+G7kSB0aMaw4budbmcgxJFpIGvDqG0gduG7m2kgdMSDbmcgY8aw4budbmcgbmh1IGPhuqd1IHRpw6p1IGTDuW5nLCBnw7NwIHBo4bqnbiB0aMO6YyDEkeG6qXkgcGjDoXQgdHJp4buDbiBraW5oIHThur8uIFR1eSBuaGnDqm4gxJFp4buBdSBuw6B5IGPFqW5nIGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gdMSDbmcgY8aw4budbmcgc+G7rSBk4bulbmcgdMOgaSBuZ3V5w6puIHbDoCB04bqhbyByYSDDoXAgbOG7sWMgbMOqbiBtw7RpIHRyxrDhu51uZy4NCg0KLSAgICoqU+G7sSB0aGF5IMSR4buVaSB0cm9uZyBj4bqldSB0csO6YyBkw6JuIHPhu5E6KiogZ2lhIHTEg25nIGTDom4gc+G7kSBjw7MgdGjhu4MgdOG6oW8gcmEgc+G7sSB0aGF5IMSR4buVaSB0cm9uZyBj4bqldSB0csO6YyBkw6JuIHPhu5EsIGJhbyBn4buTbSBjw6FjIHThu7cgbOG7hyBuZ8aw4budaSBnacOgIHRoYXkgxJHhu5VpIGjhu5kgxJHhu5kgdHXhu5VpIHRydW5nIGLDrG5oIHbDoCBj4bqldSB0csO6YyBkw6JuIHThu5ljLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBjw6FjIGNow61uaCBzw6FjaCB4w6MgaOG7mWkgdsOgIGtpbmggdOG6vyBsacOqbiBxdWFuIMSR4bq/biBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSB2w6AgYuG6o28gaGnhu4NtIHjDoyBo4buZaS5HaWEgdMSDbmcgZMOibiBz4buRIHThuqFvIHJhIHRp4buBbSBuxINuZyBsw6puIGzhu7FjIGzhu5tuIG7hur91IMSRxrDhu6NjIHF14bqjbiBsw70gdsOgIMSRw6BvIHThuqFvIMSRw7puZyBjw6FjaCwgZMOibiBz4buRIGdpYSB0xINuZyBjxaluZyBjw7MgdGjhu4MgY3VuZyBj4bqlcCBsYW8gxJHhu5luZyB0cuG6uywgxJHhu5luZyBs4buxYyBraW5oIHThur8gdsOgIHPhu7Egc8OhbmcgdOG6oW8gdHJvbmcgbeG7l2kgcXXhu5FjIGdpYS4NCg0KIyMjIDIuNCBOaOG7r25nIGJp4bq/biDEkeG7mW5nIHbhu4EgZMOibiBz4buRIOG7nyBWaeG7h3QgTmFtLg0KDQotICAgVmnhu4d0IE5hbSBsw6AgbeG7mXQgcXXhu5FjIGdpYSBjw7MgZMOibiBz4buRIMSRw7RuZyDEkcO6YyB2w6AgxJFhbmcgdHLhuqNpIHF1YSBjw6FjIGJp4bq/biDEkeG7mW5nIMSRw6FuZyBjaMO6IMO9LiBExrDhu5tpIMSRw6J5IGzDoCBuaOG7r25nIGJp4bq/biDEkeG7mW5nIGPhu6UgdGjhu4MgduG7gSBt4bq3dCBkw6JuIHPhu5E6DQoNCi0gICAqKlThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBkw6JuIHPhu5EqKjogRMOibiBz4buRIFZp4buHdCBOYW0gxJFhbmcgdMSDbmcgbmhhbmgsIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4MgdOG6oW8gcmEgbmhp4buBdSB0aMOhY2ggdGjhu6ljIHbDoCBjxqEgaOG7mWkgY2hvIHBow6F0IHRyaeG7g24ga2luaCB04bq/IHbDoCB4w6MgaOG7mWkgY+G7p2EgxJHhuqV0IG7GsOG7m2MuDQoNCi0gICAqKlPhu7EgYmnhur9uIMSR4buVaSDEkeG7i2EgbMO9OioqIFPhu7EgYmnhur9uIMSR4buVaSDEkeG7i2EgbMO9IG5oxrAgxJHDtCB0aOG7iyBow7NhLCBkaSBjxrAgdOG7qyB2w7luZyBuw7RuZyB0aMO0biB2w6BvIHRow6BuaCBwaOG7kSwgY8OzIOG6o25oIGjGsOG7n25nIGzhu5tuIMSR4bq/biBz4buxIHBow6F0IHRyaeG7g24gY+G7p2EgY8OhYyBraHUgduG7sWMgdsOgIGzDoG0gdGhheSDEkeG7lWkgY8ahIGPhuqV1IGTDom4gc+G7kS4NCg0KLSAgICoqTmjDom4ga2jhuql1IGjhu41jIHbDoCB5IHThur86KiogU+G7sSBiaeG6v24gxJHhu5luZyBkw6JuIHPhu5EgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBjw6FjIHbhuqVuIMSR4buBIHbhu4Egc+G7qWMga2jhu49lLCB5IHThur8gY8O0bmcgY+G7mW5nIHbDoCBjxqEgc+G7nyBo4bqhIHThuqduZyB5IHThur8uDQoNCi0gICAqKkdpYSB0xINuZyDEkeG7mSB0deG7lWkgdHJ1bmcgYsOsbmg6KiogVmnhu4djIGTDom4gc+G7kSBnacOgIGjDs2EgxJFhbmcgeOG6o3kgcmEg4bufIG5oaeG7gXUgcXXhu5FjIGdpYSwgxJFp4buBdSBuw6B5IGPDsyB0aOG7gyB04bqhbyByYSDDoXAgbOG7sWMgxJHhu5FpIHbhu5tpIGjhu4cgdGjhu5FuZyBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSB2w6AgaOG7lyB0cuG7oyB4w6MgaOG7mWkuDQoNCi0gICAqKuG6om5oIGjGsOG7n25nIGPhu6dhIGJp4bq/biDEkeG7lWkga2jDrSBo4bqtdToqKiBCaeG6v24gxJHhu5VpIGtow60gaOG6rXUgY8OzIHRo4buDIGfDonkgcmEgY8OhYyB24bqlbiDEkeG7gSBuaMawIHTEg25nIG3hu7FjIG7GsOG7m2MgYmnhu4NuLCB0aGnDqm4gdGFpLCB2w6Agc+G7sSBzdXkgZ2nhuqNtIHPhuqNuIHh14bqldCBuw7RuZyBuZ2hp4buHcCwg4bqjbmggaMaw4bufbmcgxJHhur9uIHPhu7EgcGjDoXQgdHJp4buDbiBj4bunYSBkw6JuIHPhu5EuDQoNCi0gICAqKkNow61uaCBzw6FjaCBkw6JuIHPhu5E6KiogQ2jDrW5oIHPDoWNoIG5oxrAgcXXhuqNuIGzDvSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRLCBo4buXIHRy4bujIGdpYSDEkcOsbmgsIHbDoCBnacOhbyBk4bulYyBzaW5oIHPhuqNuIGPDsyB0aOG7gyBjw7Mg4bqjbmggaMaw4bufbmcgbOG7m24gxJHhur9uIHPhu7EgcGjDoXQgdHJp4buDbiBj4bunYSBkw6JuIHPhu5EuDQoNCi0gICAqKlTDrW5oIGLhu4FuIHbhu69uZzoqKiBQaMOibiB0w61jaCBz4buxIGJp4bq/biDEkeG7mW5nIGTDom4gc+G7kSBjw7MgdGjhu4MgZ2nDunAgxJHDoW5oIGdpw6EgbeG7qWMgxJHhu5kgYuG7gW4gduG7r25nIGPhu6dhIHBow6F0IHRyaeG7g24ga2luaCB04bq/IHbDoCB4w6MgaOG7mWkgY+G7p2EgVmnhu4d0IE5hbSB0cm9uZyB0xrDGoW5nIGxhaS4NCg0KLSAgICoqUXVhbiBo4buHIHF14buRYyB04bq/Kio6IEJp4bq/biDEkeG7mW5nIGTDom4gc+G7kSDhu58gVmnhu4d0IE5hbSBjxaluZyBjw7MgdGjhu4MgdMOhYyDEkeG7mW5nIMSR4bq/biBxdWFuIGjhu4cgcXXhu5FjIHThur8sIMSR4bq3YyBiaeG7h3QgbMOgIHRyb25nIGzEqW5oIHbhu7FjIHRoxrDGoW5nIG3huqFpIHbDoCBsYW8gxJHhu5luZy4NCg0KIyMgKiozLiBHSeG7mkkgVEhJ4buGVSBWw4AgTcOUIFThuqIgU8agIEzGr+G7okMgVuG7gCBDw4FDIELhu5ggROG7riBMSeG7hlUqKg0KDQojIyMgMy4xIELhu5kgZOG7ryBsaeG7h3UgMQ0KDQotICAgQuG7mSBk4buvIGxp4buHdSAxIMSRxrDhu6NjIHRyw61jaCB4deG6pXQgdOG7qyB04buVbmcgY+G7pWMgdGjhu5FuZyBrw6ogVmnhu4d0IE5hbSB24buBIGTDom4gc+G7kSBiYW8gZ+G7k20gY8OhYyBiaeG6v24gdMawxqFuZyDhu6luZyB24bubaSBjw6FjIHThu4luaCB0aMOgbmggY+G7p2EgVmnhu4d0IE5hbSwgYuG7mSBk4buvIGxp4buHdSBiYW8gZ+G7k20gY8OhYyBxdWFuIHPDoXQgbMOgIGdpYWkgxJFv4bqhbiB04burIDIwMTYtMjAyMy4gxJDDonkgbMOgIGLhu5kgZOG7ryBsaeG7h3UgxJHGsOG7o2MgdGjhu5FuZyBrw6ogZOG7sWEgdHLDqm4gbmjhu69uZyB0aHUgdGjhuq1wIHRo4buxYyB04bq/IHbhu4EgZMOibiBz4buRLlwNCi0gICBC4buZIGThu68gbGnhu4d1IMSRxrDhu6NjIGhp4buDbiB0aOG7iyBkxrDhu5tpIMSRw6J5IGJhbyBn4buTbSA4IHF1YW4gc8OhdCB2w6AgNyBiaeG6v24uDQotICAgOCBxdWFuIHPDoXQgdMawxqFuZyDhu6luZyB24bubaSA4IG7Eg20gbGnDqm4gdGnhur9wIHThu6sgMjAxNi0yMDIzDQotICAgNyBiaeG6v24gdMawxqFuZyDhu6luZyB24bubaSA3IHThu4luaCB0aMOgbmggxJHhurdjIHRyxrBuZyBj4bunYSA3IHbDuW5nIG1p4buBbiBWaeG7h3QgTmFtIGJhbyBn4buTbSA6IFF1w6NuZyBOaW5oLCBIw6AgTuG7mWksIMSQw6AgTsSDbmcsIELDrG5oIMSQ4buLbmgsIEdpYSBMYWksIFRQLiBI4buSIENow60gTWluaCwgQW4gR2lhbmcuDQoNCmBgYHtyfQ0KbGlicmFyeSh4bHN4KQ0KdGFibyA8LSByZWFkLnhsc3goIkM6L1VzZXJzL0FETUlOL0Rvd25sb2Fkcy9kYXR0YS54bHN4Iiwgc2hlZXRJbmRleCA9IDEsIGhlYWRlciA9IFQpDQpuYW1lcyh0YWJvKSA8LSBjKCdZZWFyJywnUU4nLCdITicsJ0ROJywnQkQnLCdHTCcsJ0hDTScsJ0FHJykNCnRhYm8gDQpgYGANCg0KIyMjIDMuMiBC4buZIGThu68gbGnhu4d1IDINCg0KLSAgIELhu5kgZOG7ryBsaeG7h3UgZ+G7kWMgYmFuIMSR4bqndSB0csOtY2ggeHXhuqV0IHThu6sgV29ybGQgQmFuayBsw6AgYuG7mSBk4buvIGxp4buHdSBs4bubbiB24bubaSB04bqldCBj4bqjIGPDoWMgcXXhu5FjIGdpYSB04burIDE5NjEtMjAyMiwgYuG7mSBk4buvIGxp4buHdSBuw7NpIHbhu4EgdOG7iSBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgKCUpLg0KLSAgIELhu5kgZOG7ryBsaeG7h3UgMiBoaeG7g24gdGjhu4sgZMaw4bubaSDEkcOieSBsw6AgYuG7mSBk4buvIGxp4buHdSDEkcOjIMSRxrDhu6NjIHLDunQgdHLDrWNoIHF14buRYyBnaWEgVmnhu4d0IE5hbSBnaWFpIMSRb+G6oW4gdOG7qyBuxINtIDIwMTYtMjAyMi4gQuG7mSBk4buvIGxp4buHdSBiYW8gZ+G7k20gNCBiaeG6v24gdsOgIDcgcXVhbiBzw6F0Lg0KLSAgIDQgYmnhur9uIHTGsMahbmcg4bupbmcgduG7m2kgNCBj4buZdCBs4bqnbiBsxrDhu6N0IGzDoDogQ291bnRyeSwgSXNvMmMgKG3DoyBxdeG7kWMgZ2lhIDIga8OtIHThu7EpLCBZZWFyLCBWYWx1ZSAoU1AuUE9QLkdST1cpLg0KLSAgIDcgcXVhbiBzw6F0IHTGsMahbmcg4bupbmcgduG7m2kgNyBow6BuZyBsw6AgNyBuxINtIGxpw6puIHRp4bq/cCB04burIDIwMTYtMjAyMg0KDQpgYGB7cn0NCmxpYnJhcnkoV0RJKQ0KdGNkIDwtIFdESXNlYXJjaCgiUG9wdWxhdGlvbiBncm93dGggKGFubnVhbCAlKSIpDQp0Y2QgPC0gV0RJKGluZGljYXRvciA9ICdTUC5QT1AuR1JPVycsIHN0YXJ0ID0gMjAxNiwgZW5kID0gMjAyMykNCnRjZDEgPC0gdGNkJT4lZmlsdGVyKGNvdW50cnkgPT0gJ1ZpZXQgTmFtJyklPiUgc2VsZWN0KCdjb3VudHJ5JywnaXNvMmMnLCd5ZWFyJywnU1AuUE9QLkdST1cnKQ0KbmFtZXModGNkMSkgPC0gYygnQ291bnRyeScsJ0lzbzJjJywnWWVhcicsJ1ZhbHVlJykNCnRjZDENCg0KYGBgDQoNCiMjIyAzLjMgQuG7mSBk4buvIGxp4buHdSAzDQoNCi0gICBC4buZIGThu68gbGnhu4d1IGfhu5FjIGJhbiDEkeG6p3UgdHLDrWNoIHh14bqldCB04burIFdvcmxkIEJhbmsgbMOgIGLhu5kgZOG7ryBsaeG7h3UgbOG7m24gduG7m2kgdOG6pXQgY+G6oyBjw6FjIHF14buRYyBnaWEgdOG7qyAxOTYxLTIwMjIsIGLhu5kgZOG7ryBsaeG7h3UgbsOzaSB24buBIHThu4kgbOG7hyBzaW5oIHRydW5nIGLDrG5oIGjDoG5nIG7Eg20gKHPhu5EgdHLhursgZW0gc2luaCByYSBt4buXaSAxLjAwMCBuZ8aw4budaSkuDQotICAgQuG7mSBk4buvIGxp4buHdSAzIGhp4buDbiB0aOG7iyBkxrDhu5tpIMSRw6J5IGzDoCBi4buZIGThu68gbGnhu4d1IMSRw6MgxJHGsOG7o2MgcsO6dCB0csOtY2ggcXXhu5FjIGdpYSBWaeG7h3QgTmFtIGdpYWkgxJFv4bqhbiB04burIG7Eg20gMjAxNi0yMDIyLiBC4buZIGThu68gbGnhu4d1IGJhbyBn4buTbSA0IGJp4bq/biB2w6AgNyBxdWFuIHPDoXQuDQotICAgNCBiaeG6v24gdMawxqFuZyDhu6luZyB24bubaSA0IGPhu5l0IGzhuqduIGzGsOG7o3QgbMOgOiBDb3VudHJ5LCBJc28yYyAobcOjIHF14buRYyBnaWEgMiBrw60gdOG7sSksIFllYXIsIFZhbHVlIChTUC5QT1AuR1JPVykuDQotICAgNyBxdWFuIHPDoXQgdMawxqFuZyDhu6luZyB24bubaSA3IGjDoG5nIGzDoCA3IG7Eg20gbGnDqm4gdGnhur9wIHThu6sgMjAxNi0yMDIyDQoNCmBgYHtyfQ0KbGlicmFyeShXREkpDQpibyA8LSBXRElzZWFyY2goIkFncmljdWx0dXJhbCBsYW5kICglIG9mIGxhbmQgYXJlYSkiKQ0KYm8gPC0gV0RJKGluZGljYXRvciA9ICdTUC5EWU4uQ0JSVC5JTicsIHN0YXJ0ID0gMjAxNiwgZW5kID0gMjAyMykNCmJvMSA8LSBibyU+JWZpbHRlcihjb3VudHJ5ID09ICdWaWV0IE5hbScpJT4lIHNlbGVjdCgnY291bnRyeScsJ2lzbzJjJywneWVhcicsJ1NQLkRZTi5DQlJULklOJykNCm5hbWVzKGJvMSkgPC0gYygnQ291bnRyeScsJ0lzbzJjJywnWWVhcicsJ1ZhbHVlJykNCmJvMQ0KYGBgDQoNCiMgKipQSOG6pk4gSUk6IFRJ4bq+TiBIw4BOSCBQSMOCTiBUw41DSCBE4buwQSBUUsOKTiBOSOG7rk5HIFPhu5AgTEnhu4ZVIMSQw4MgVEjhu5BORyBLw4oqKg0KDQojIyAqKjEgQuG7mCBE4buuIExJ4buGVSAxOiBQSMOCTiBUw41DSCBT4buwIEJJ4bq+TiDEkOG7mE5HIETDgk4gU+G7kCA3IFThu4hOSCBUSMOATkggVknhu4ZUIE5BTSBHSUFJIMSQT+G6oE4gMjAxNi0yMDIzKioNCg0KLSAgIFRhIHRp4bq/biBow6BuaCBwaMOibiB0w61jaCB24buBIHPhu7EgYmnhur9uIMSR4buZbmcgdOG7lW5nIGTDom4gc+G7kSBj4bunYSAxIHPhu5EgdsO5bmcgbWnhu4FuIFZp4buHdCBOYW0gbOG6p24gbMaw4bujdCB04burIELhuq9jIHh14buRbmcgTmFtIHF1YSAyIGdpYWkgxJFv4bqhbiBj4bulIHRo4buDIGzDoDogZ2lhaSDEkW/huqFuIDEgdOG7qyAyMDE2LTIwMTkgdsOgIGdpYWkgxJFv4bqhbiAyIHThu6sgMjAyMC0yMDIzLg0KLSAgIE5oxrAgY2jDum5nIHRhIMSRw6MgYmnhur90LCBWaeG7h3QgTmFtIGzDoCBxdeG7kWMgZ2lhIGPDsyA3IHbDuW5nIG1p4buBbiByacOqbmcgYmnhu4d0IGvDqW8gZMOgaSB04burIELhuq9jIHh14buRbmcgTmFtIGzhuqduIGzGsOG7o3QgbMOgIDogVHJ1bmcgZHUgdsOgIG1p4buBbiBuw7ppIELhuq9jIELhu5ksIMSQ4buTbmcgQuG6sW5nIFPDtG5nIEjhu5NuZywgQuG6r2MgVHJ1bmcgQuG7mSwgRHV5w6puIGjhuqNpIE5hbSBUcnVuZyBC4buZLCBUw6J5IE5ndXnDqm4sIMSQw7RuZyBOYW0gQuG7mCwgxJDhu5NuZyBC4bqxbmcgU8O0bmcgQ+G7rXUgTG9uZy4NCi0gICBFbSBz4bq9IGzhu7FhIGNo4buNbiBt4buXaSB2w7luZyBtaeG7gW4gMSB04buJbmggdGjDoG5oIMSR4bq3YyB0csawbmcgxJHhu4Mgc28gc8OhbmggduG7gSBk4bqlbiBz4buRIGPhu6dhIGPDoWMgdOG7iW5oIHRow6BuaCDEkcOzIHF1YSAyIGdpYWkgxJFv4bqhbi4NCi0gICBWw7luZyBUcnVuZyBkdSB2w6AgbWnhu4FuIG7DumkgQuG6r2MgQuG7mTogUXXhuqNuZyBOaW5oDQotICAgVsO5bmcgxJDhu5NuZyBC4bqxbmcgU8O0bmcgSOG7k25nOiBIw6AgTuG7mWkNCi0gICBWw7luZyBC4bqvYyBUcnVuZyBC4buZOiDEkMOgIE7hurVuZw0KLSAgIFbDuW5nIER1ecOqbiBo4bqjaSBOYW0gVHJ1bmcgQuG7mTogQsOsbmggxJDhu4tuaA0KLSAgIFbDuW5nIFTDonkgTmd1ecOqbjogR2lhIExhaQ0KLSAgIFbDuW5nIMSQw7RuZyBOYW0gQuG7mTogVFAuIEjhu5MgQ2jDrSBNaW5oDQotICAgVsO5bmcgxJDhu5NuZyBC4bqxbmcgU8O0bmcgQ+G7rXUgTG9uZzogQW4gR2lhbmcNCg0KIyMjICoqMS4xIEdpYWkgxJFv4bqhbiAxKioNCg0KKipJLiBUaeG6v24gaMOgbmggc28gc8OhbmggZMOibiBz4buRIHRydW5nIGLDrG5oIGPhu6dhIDcgdOG7iW5oIHRow6BuaCDEkeG6oWkgZGnhu4duIGNobyA3IHbDuW5nIG1p4buBbiBWaeG7h3QgTmFtIHRy4bqjaSBkw6BpIHThu6sgQuG6r2MgeHXhu5FuZyBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIDIwMTYtMjAxOS4gQmFvIGfhu5NtIGPDoWMgdOG7iW5oOiBRdeG6o25nIE5pbmgsIEjDoCBO4buZaSwgxJDDoCBO4bq1bmcsIELDrG5oIMSQ4buLbmgsIEdpYSBMYWksIFRQLiBI4buTIENow60gTWluaCwgQW4gR2lhbmcuKioNCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCnRhYm8xIDwtIHRhYm8lPiUgZmlsdGVyKFllYXIgPT0gMjAxNnwgWWVhciA9PSAyMDE3fFllYXIgPT0gMjAxOHwgWWVhciA9PSAyMDE5ICklPiVzZWxlY3QoJ1llYXInLCAnUU4nLCdITicsJ0ROJywnQkQnLCdHTCcsJ0hDTScsJ0FHJykNCmdncGxvdCh0YWJvMSwgYWVzKHggPSBZZWFyKSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBRTiwgZ3JvdXAgPSAxLCBjb2xvciA9ICJRTiIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gUU4sIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBITiwgZ3JvdXAgPSAxLCBjb2xvciA9ICJITiIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gSE4sIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBETiwgZ3JvdXAgPSAxLCBjb2xvciA9ICLEkE4iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEROLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gQkQsIGdyb3VwID0gMSwgY29sb3IgPSAiQsSQIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBCRCwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEdMLCBncm91cCA9IDEsIGNvbG9yID0gIkdMIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBHTCwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEhDTSwgZ3JvdXAgPSAxLCBjb2xvciA9ICJIQ00iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEhDTSwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEFHLCBncm91cCA9IDEsIGNvbG9yID0gIkFHIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBBRywgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHThu4kgbOG7hyAoJSkgYmnhur9uIMSR4buZbmcgZMOibiBz4buRIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkgKDIwMTYgbMOgbSBn4buRYykiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJU4bu3IHRy4buNbmcgKCUpIikgKw0KICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiUU4iID0gInJlZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJITiIgPSAibGlnaHRibHVlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIsSQTiIgPSAicHVycGxlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkLEkCIgPSAib3JhbmdlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdMIiA9ICJsaWdodGdyZWVuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhDTSIgPSAiZ29sZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRyIgPSAicGluayIpLA0KICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygiQW4gR2lhbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQsOsbmggxJDhu4tuaCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkMOgIE7hurVuZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHaWEgTGFpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRQLiBI4buTIENow60gTWluaCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIw6AgTuG7mWkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUXXDo25nIE5pbmgiKSkgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCg0KYGBgDQoNCioqTmjhuq1uIHjDqXQqKg0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogYmx1ZTsiPjEuIE5ow6xuIHbDoG8gYmnhu4N1IMSR4buTIGxpbmUgdHLDqm4sIGNow7puZyB0YSBjw7MgdGjhu4MgdGjhuqV5IMSRxrDhu6NjIHh1IGjGsOG7m25nIGRpIGNodXnhu4NuIGPhu6dhIMSR4buTIHRo4buLIHbDoCBraG/huqNuZyBjw6FjaCBnaeG7r2EgY8OhYyDEkcaw4budbmcgbGluZSBjw7Mgc+G7sSBraMOhYyBuaGF1IHThu6sgbsSDbSAyMDE2LTIwMTkuIMSQaeG7gXUgbsOgeSBjaOG7qW5nIHThu48gcuG6sW5nOiBEw6JuIHPhu5Eg4bufIG3hu5dpIHThu4luaCB0aHXhu5ljIG3hu5dpIHbDuW5nIG1p4buBbiBjw7Mgc+G7sSBraMOhYyBuaGF1IG3hu5l0IGPDoWNoIHLDtSBy4buHdC4gQ+G7pSB0aOG7gzo8L3NwYW4+DQoNCi0gICBUUC4gSOG7kyBDaMOtIE1pbmggbMOgIG7GoWkgY8OzIGTDom4gc+G7kSDEkcO0bmcgbmjhuqV0IHbDoCB0xINuZyDEkeG7gXUgcXVhIGPDoWMgbsSDbS4NCg0KLSAgIEvhur8gdGnhur9wIHNhdSDEkcOzIGzDoCBUaOG7pyDEkcO0IEjDoCBO4buZaQ0KDQotPiBUUC4gSOG7kyBDaMOtIE1pbmggdsOgIEjDoCBO4buZaSBsw6AgMiBuxqFpIGPDsyBkw6JuIHPhu5EgdHJ1bmcgYsOsbmggY2FvIGjGoW4gNzUwMDAwMCBuZ8aw4budaSB04burIDIwMTYtMjAxOS4NCg0KLSAgIEPDoWMgdOG7iW5oIGPDsm4gbOG6oWkgbmjGsCBsw6AgUXXhuqNuZyBOaW5oLCDEkMOgIE7hurVuZywgQsOsbmggxJDhu4tuaCwgR2lhIExhaSwgQW4gR2lhbmcgY8WpbmcgY8OzIHPhu7EgdMSDbmcgZ2nhuqNtIHF1YSBjw6FjIG7Eg20gbmjGsG5nIGTDom4gc+G7kSB0cnVuZyBiw6xuaCBj4bunYSBjw6FjIHThu4luaCBuw6B5IHRo4bqlcCBoxqFuIHLhuqV0IG5oaeG7gXUgc28gduG7m2kgVFAuIEjhu5MgQ2jDrSBNaW5oIHbDoCBIw4AgTuG7mWksIGTDom4gc+G7kSDhu58gY8OhYyB04buJbmggbsOgeSBjaOG7iSB0aOG6pXAgaMahbiAyNTAwMDAwLg0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogYmx1ZTsiPjIuIFNhdSDEkcOieSBsw6AgbeG7mXQgc+G7kSBsw60gZG8gbMOgbSBjaG8gZMOibiBz4buRIGPDsyBz4buxIGNow6puaCBs4buHY2ggbOG7m24gY+G7p2EgY8OhYyB04buJbmggZ2nhu69hIGPDoWMgdsO5bmcgbWnhu4FuIGPhu6dhIFZp4buHdCBOYW0uPC9zcGFuPg0KDQotICAgQ2jDrW5oIHPDoWNoIGTDom4gc+G7kTogQ2jDrW5oIHPDoWNoIGTDom4gc+G7kSB2w6Aga+G6vyBob+G6oWNoIGjDs2EgZ2lhIMSRw6xuaCBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIGTDom4gc+G7kSB0cm9uZyBt4buXaSB2w7luZyBtaeG7gW4uIENow61uaCBwaOG7pyBWaeG7h3QgTmFtIMSRw6MgdHJp4buDbiBraGFpIG5oaeG7gXUgYmnhu4duIHBow6FwIG5o4bqxbSBraeG7g20gc2/DoXQgdOG7kWMgxJHhu5kgdMSDbmcgZMOibiBz4buRLCBuaMawIHF14bqjbmcgYsOhIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmgsIHTEg25nIGPGsOG7nW5nIGdpw6FvIGThu6VjIHbhu4Egc+G7qWMga2jhu49lIHNpbmggc+G6o24gdsOgIGN1bmcgY+G6pXAgY8OhYyBk4buLY2ggduG7pSBo4buXIHRy4bujIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmguDQoNCi0gICBEaSBjxrAgdsOgIMSRw7QgdGjhu4sgaMOzYTogRGkgY8awIHThu6sgY8OhYyB2w7luZyBuw7RuZyB0aMO0biBzYW5nIGPDoWMgdGjDoG5oIHBo4buRIGzhu5tuIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gZMOibiBz4buRIGPhu6dhIGPDoWMgdsO5bmcgbWnhu4FuLiBOaGnhu4F1IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIHbDuW5nIG1p4buBbiBuw7RuZyB0aMO0biDEkcOjIGNodXnhu4NuIMSR4bq/biBjw6FjIHRow6BuaCBwaOG7kSBuaMawIEjDoCBO4buZaSwgVFAuIEjhu5MgQ2jDrSBNaW5oIHbDoCDEkMOgIE7hurVuZyDEkeG7gyB0w6xtIGtp4bq/bSBjxqEgaOG7mWkgdmnhu4djIGzDoG0sIGdpw6FvIGThu6VjIHbDoCBk4buLY2ggduG7pSB04buRdCBoxqFuLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIGThuqtuIMSR4bq/biB0xINuZyBkw6JuIHPhu5Eg4bufIGPDoWMgdsO5bmcgxJHDtCB0aOG7iy4NCg0KLSAgIFBow6F0IHRyaeG7g24ga2luaCB04bq/OiBN4bupYyDEkeG7mSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyB2w6AgY8ahIGjhu5lpIHZp4buHYyBsw6BtIHRyb25nIG3hu5dpIHbDuW5nIG1p4buBbiBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIGTDom4gc+G7kS4gQ8OhYyB2w7luZyBtaeG7gW4gY8OzIG7hu4FuIGtpbmggdOG6vyBwaMOhdCB0cmnhu4NuIHbDoCBjxqEgaOG7mWkgdmnhu4djIGzDoG0gdOG7kXQgaMahbiB0aMaw4budbmcgdGh1IGjDunQgbmfGsOG7nWkgZMOibiB04burIGPDoWMgdsO5bmcgbWnhu4FuIGtow6FjLiBWw60gZOG7pSwgY8OhYyB0aMOgbmggcGjhu5EgbOG7m24gbmjGsCBIw6AgTuG7mWksIFRQLiBI4buTIENow60gTWluaCB2w6AgxJDDoCBO4bq1bmcgxJHDoyB0aHUgaMO6dCBuaGnhu4F1IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIHbDuW5nIG1p4buBbiBraMOhYy4NCg0KLSAgIEjhuqEgdOG6p25nIHbDoCBk4buLY2ggduG7pTogU+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGjhuqEgdOG6p25nIHbDoCBk4buLY2ggduG7pSwgYmFvIGfhu5NtIGdpw6FvIGThu6VjLCB5IHThur8gdsOgIGPGoSBz4bufIGjhuqEgdOG6p25nIGdpYW8gdGjDtG5nLCBjxaluZyBjw7Mg4bqjbmggaMaw4bufbmcgxJHhur9uIGTDom4gc+G7kSBj4bunYSBt4buXaSB2w7luZyBtaeG7gW4uIEPDoWMgdsO5bmcgbWnhu4FuIGPDsyBo4bqhIHThuqduZyB2w6AgZOG7i2NoIHbhu6UgcGjDoXQgdHJp4buDbiB04buRdCBoxqFuIHRoxrDhu51uZyBo4bqlcCBk4bqrbiBuZ8aw4budaSBkw6JuIOG7nyBs4bqhaSB2w6AgdGh1IGjDunQgZGkgY8awIHThu6sgY8OhYyB2w7luZyBraMOhYy4NCg0KLSAgIMSQ4bq3YyDEkWnhu4NtIMSR4buLYSBsw70gdsOgIG3DtGkgdHLGsOG7nW5nIHPhu5FuZzogxJDhurdjIMSRaeG7g20gxJHhu4thIGzDvSB2w6AgbcO0aSB0csaw4budbmcgc+G7kW5nIGPhu6dhIHThu6tuZyB2w7luZyBtaeG7gW4gY8WpbmcgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBkw6JuIHPhu5EuIFbDrSBk4bulLCBjw6FjIHbDuW5nIG1p4buBbiB2ZW4gYmnhu4NuIG5oxrAgxJDDtG5nIE5hbSBC4buZIHbDoCBNaeG7gW4gVHJ1bmcgY8OzIHRo4buDIGjhuqVwIGThuqtuIG5nxrDhu51pIGTDom4gZG8gY8OzIG5ndeG7k24gbOG7o2kgdOG7qyBuZ8OgbmggZHUgbOG7i2NoIHbDoCB0aHXhuq1uIGzhu6NpIHRyb25nIGtpbmggZG9hbmggbsO0bmcgbmdoaeG7h3AuIFRyb25nIGtoaSDEkcOzLCBjw6FjIHbDuW5nIG1p4buBbiBuw7ppIG5oxrAgVMOieSBOZ3V5w6puIGPDsyDEkWnhu4F1IGtp4buHbiB04buxIG5oacOqbiBraOG6r2MgbmdoaeG7h3QgaMahbiB2w6AgY8OzIG3huq10IMSR4buZIGTDom4gY8awIHRo4bqlcCBoxqFuLg0KDQoqKklJLiDEkOG7gyBjw7MgdGjhu4MgdGjhuqV5IHLDtSBoxqFuIHh1IGjGsOG7m25nIGRpIGNodXnhu4NuIGPhu6dhIGJp4buDdSDEkeG7kywgdGEgdGnhur9uIGjDoG5oIHBow6JuIHTDrWNoIHbDoCB24bq9IGJp4buDdSDEkeG7kyB04burbmcgdOG7iW5oIGPhu6UgdGjhu4MgcXVhIGdpYWkgxJFv4bqhbiAxLioqDQoNCi0gICBFbSB0aeG6v24gaMOgbmggdMOtbmggdOG7iSBs4buHIHBo4bqnbiB0csSDbSBkw6JuIHPhu5EgY2hvIG5o4buvbmcgbsSDbSBzYXUgc28gduG7m2kgbsSDbSAyMDE2IChs4bqleSBuxINtIDIwMTYgbMOgIG7Eg20gZ+G7kWMgxJHhu4MgdMOtbmggJSkgY+G7p2EgY8OhYyB04buJbmggdGjDoG5oIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5Lg0KDQpgYGB7cn0NCmxpYnJhcnkoeGxzeCkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KaGl1IDwtIHJlYWQueGxzeCgiQzovVXNlcnMvQURNSU4vRG93bmxvYWRzL3RhbXBoYW0ueGxzeCIsIHNoZWV0SW5kZXggPSAxLCBoZWFkZXIgPSBUKQ0KaGl1MSA8LSBoaXUlPiUgZmlsdGVyKFllYXIgPT0gMjAxNnwgWWVhciA9PSAyMDE3fFllYXIgPT0gMjAxOHwgWWVhciA9PSAyMDE5ICklPiVzZWxlY3QoJ1llYXInLCAnUU4nLCdITicsJ0ROJywnQkQnLCdHTCcsJ0hDTScsJ0FHJykNCmhpdTENCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkodGlkeXZlcnNlKQ0KZ2dwbG90KGhpdTEsIGFlcyh4ID0gWWVhcikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gUU4sIGdyb3VwID0gMSwgY29sb3IgPSAiUU4iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IFFOLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gSE4sIGdyb3VwID0gMSwgY29sb3IgPSAiSE4iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEhOLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gRE4sIGdyb3VwID0gMSwgY29sb3IgPSAixJBOIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBETiwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEJELCBncm91cCA9IDEsIGNvbG9yID0gIkLEkCIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gQkQsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBHTCwgZ3JvdXAgPSAxLCBjb2xvciA9ICJHTCIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gR0wsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBIQ00sIGdyb3VwID0gMSwgY29sb3IgPSAiSENNIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBIQ00sIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBBRywgZ3JvdXAgPSAxLCBjb2xvciA9ICJBRyIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gQUcsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyB04buJIGzhu4cgKCUpIGJp4bq/biDEkeG7mW5nIGTDom4gc+G7kSBnaWFpIMSRb+G6oW4gMjAxNi0yMDE5ICgyMDE2IGzDoG0gZ+G7kWMpIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiVOG7tyB0cuG7jW5nICglKSIpICsNCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoIlFOIiA9ICJyZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSE4iID0gImxpZ2h0Ymx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkE4iID0gInB1cnBsZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCxJAiID0gIm9yYW5nZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHTCIgPSAibGlnaHRncmVlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIQ00iID0gImdvbGQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQUciID0gInBpbmsiKSwNCiAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIkFuIEdpYW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkLDrG5oIMSQ4buLbmgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAixJDDoCBO4bq1bmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2lhIExhaSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUUC4gSOG7kyBDaMOtIE1pbmgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSMOgIE7hu5lpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlF1w6NuZyBOaW5oIikpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIpDQoNCg0KYGBgDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiByZWQ7Ij4qKjEuIETDom4gc+G7kSBRdeG6o25nIE5pbmgqKjwvc3Bhbj4NCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpkMSA8LSBoaXUxJT4lc2VsZWN0KCdZZWFyJywgJ1FOJykNCmQxICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gUU4pKSArDQogIGdlb21fbGluZShjb2xvciA9ICJyZWQiLCBsaW5ld2lkdGggPSAxKSArDQogIGdlb21fcG9pbnQoY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnMoeCA9ICJZZWFyIiwgeSA9ICIoJSkiKSArDQogIGdndGl0bGUoIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gZMOibiBz4buRIOG7nyBRdeG6o25nIE5pbmggZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQoNCmBgYA0KDQpgYGB7cn0NCmQxDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHJlZDsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCkTDom4gc+G7kSDhu58gUXXDo25nIE5pbmggdMSDbmcgbmjhu69uZyBraMO0bmcgxJHDoW5oIGvhu4MgcXVhIGPDoWMgbsSDbSB2w6wgbMOtIGRvOg0KDQotICAgTeG7qWMgdMSDbmcgZMOibiBz4buRIHThu7Egbmhpw6puOiBN4bupYyB0xINuZyBkw6JuIHPhu5EgdOG7sSBuaGnDqm4gdOG6oWkgUXXhuqNuZyBOaW5oLCBiYW8gZ+G7k20gdOG7tyBs4buHIHNpbmggdsOgIHThu7cgbOG7hyB04butIHZvbmcsIGPDsyB0aOG7gyBraMO0bmcgY2FvLiBO4bq/dSB04bu3IGzhu4cgc2luaCB0aOG6pXAgaMahbiBob+G6t2MgdOG7tyBs4buHIHThu60gdm9uZyBjYW8gaMahbiBzbyB24bubaSBjw6FjIGdpYWkgxJFv4bqhbiB0csaw4bubYyDEkcOzLCBz4bq9IGThuqtuIMSR4bq/biBz4buxIHTEg25nIMOtdCBkw6JuIHPhu5EuDQoNCi0gICBEaSBjxrAgdsOgIGRpIHRyw7o6IFF14bqjbmcgTmluaCBjw7MgdGjhu4Mga2jDtG5nIHRodSBow7p0IG3hu5l0IGzGsOG7o25nIGzhu5tuIG5nxrDhu51pIGRpIGPGsCBob+G6t2MgZGkgdHLDuiB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeS4gU+G7sSBkaSBjaHV54buDbiBkw6JuIHPhu5EgZ2nhu69hIGPDoWMgdsO5bmcgY8OzIHRo4buDIGtow7RuZyDEkeG7pyDEkeG7gyB0xINuZyBkw6JuIHPhu5Eg4bufIFF14bqjbmcgTmluaC4NCg0KLSAgIENow61uaCBzw6FjaCBkw6JuIHPhu5EgdsOgIHF14bqjbiBsw70gxJHhu4thIHBoxrDGoW5nOiBDaMOtbmggc8OhY2ggZMOibiBz4buRIHbDoCBxdeG6o24gbMO9IMSR4buLYSBwaMawxqFuZyBjw7MgdGjhu4MgY8OzIOG6o25oIGjGsOG7n25nIMSR4bq/biB0xINuZyB0csaw4bufbmcgZMOibiBz4buRLiBO4bq/dSBjw7MgY8OhYyBjaMOtbmggc8OhY2ggaOG6oW4gY2jhur8gZGkgY8awIHbDoG8gUXXhuqNuZyBOaW5oIGhv4bq3YyBjw6FjIGJp4buHbiBwaMOhcCBraeG7g20gc2/DoXQgZMOibiBz4buRLCDEkWnhu4F1IG7DoHkgY8OzIHRo4buDIGdp4bubaSBo4bqhbiB0xINuZyB0csaw4bufbmcgZMOibiBz4buRIHRyb25nIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkuDQoNCi0gICBQaMOhdCB0cmnhu4NuIGtpbmggdOG6vyB2w6AgY8ahIGjhu5lpIHZp4buHYyBsw6BtOiBO4bq/dSBRdeG6o25nIE5pbmgga2jDtG5nIGPDsyBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/IG3huqFuaCBt4bq9IHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5IGhv4bq3YyBraMO0bmcgdOG6oW8gcmEgxJHhu6cgY8ahIGjhu5lpIHZp4buHYyBsw6BtLCBuZ8aw4budaSBkw6JuIHThu6sgY8OhYyB2w7luZyBsw6JuIGPhuq1uIGPDsyB0aOG7gyBraMO0bmcgdGjhuqV5IGjhuqVwIGThuqtuIMSR4buDIGRpIGPGsCDEkeG6v24gUXXhuqNuZyBOaW5oLCBk4bqrbiDEkeG6v24gdMSDbmcgw610IGTDom4gc+G7kS4NCg0KLSAgIEPDoWMgeeG6v3UgdOG7kSB4w6MgaOG7mWkgdsOgIHbEg24gaMOzYTogTmjhu69uZyB54bq/dSB04buRIHjDoyBo4buZaSB2w6AgdsSDbiBow7NhIGPFqW5nIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7sSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRLiBWw60gZOG7pSwgY8OhYyB54bq/dSB04buRIG5oxrAgaOG6oW5oIHBow7pjIGdpYSDEkcOsbmgsIHh1IGjGsOG7m25nIHNpbmggY29uIMOtdCwgaG/hurdjIG5o4buvbmcgdGhheSDEkeG7lWkgdHJvbmcgcXVhbiDEkWnhu4NtIHbhu4EgZ2lhIMSRw6xuaCB2w6AgY29uIGPDoWkgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBt4bupYyDEkeG7mSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRLg0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogbGlnaHRibHVlOyI+KioyLiBEw6JuIHPhu5EgSMOgIE7hu5lpKio8L3NwYW4+DQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZDIgPC0gaGl1MSU+JXNlbGVjdCgnWWVhcicsICdITicpDQpkMiAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEhOKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAibGlnaHRibHVlIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGTDom4gc+G7kSDhu58gSMOgIE7hu5lpIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkiKQ0KDQpgYGANCg0KYGBge3J9DQpkMg0KYGBgDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBsaWdodGJsdWU7Ij4qKk5o4bqtbiB4w6l0OioqPC9zcGFuPg0KDQpEw6JuIHPhu5EgSMOgIE7hu5lpIG7hurFtIHRyb25nIHRvcCDEkeG6p3UgduG7gSBkw6JuIHPhu5EgVmnhu4d0IE5hbSB2w6AgY8OzIHPhu7EgZ2lhIHTEg25nIHF1YSBjw6FjIG7Eg20gdsOsIGzDrSBkbzoNCg0KLSAgIMSQw7QgdGjhu4sgaMOzYSB2w6AgcGjDoXQgdHJp4buDbiBraW5oIHThur86IEjDoCBO4buZaSBsw6AgdGjhu6cgxJHDtCB2w6AgdHJ1bmcgdMOibSBjaMOtbmggdHLhu4ssIGtpbmggdOG6vywgdsSDbiBow7NhIGPhu6dhIFZp4buHdCBOYW0uIFRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCBIw6AgTuG7mWkgxJHDoyBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyBt4bqhbmggbeG6vSwgdGh1IGjDunQgbmhp4buBdSBuZ3Xhu5NuIMSR4bqndSB0xrAgdsOgIHThuqFvIHJhIGPGoSBo4buZaSB2aeG7h2MgbMOgbS4gU+G7sSBwaMOhdCB0cmnhu4NuIG5oYW5oIGNow7NuZyBj4bunYSBjw6FjIG5nw6BuaCBjw7RuZyBuZ2hp4buHcCwgZOG7i2NoIHbhu6UsIHbDoCB0aMawxqFuZyBt4bqhaSDEkcOjIHRodSBow7p0IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIHbDuW5nIG1p4buBbiBraMOhYyB2w6AgY8OhYyB04buJbmggbMOibiBj4bqtbiDEkeG6v24gSMOgIE7hu5lpIMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBzaW5oIHPhu5FuZyB2w6AgbMOgbSB2aeG7h2MgdOG7kXQgaMahbi4NCg0KLSAgIEjhuqEgdOG6p25nIHbDoCBk4buLY2ggduG7pTogSMOgIE7hu5lpIMSRw6MgxJHhuqd1IHTGsCBt4bqhbmggdsOgbyBwaMOhdCB0cmnhu4NuIGjhuqEgdOG6p25nIGdpYW8gdGjDtG5nLCBnacOhbyBk4bulYywgeSB04bq/IHbDoCBjw6FjIGThu4tjaCB24bulIGPDtG5nIGPhu5luZyBraMOhYy4gVmnhu4djIG7Dom5nIGPhuqVwIGjhu4cgdGjhu5FuZyBnaWFvIHRow7RuZywgeMOieSBk4buxbmcgxJHGsOG7nW5nIGNhbyB04buRYywgY+G6p3UsIMSRxrDhu51uZyBz4bqvdCB2w6AgY8OhYyBwaMawxqFuZyB0aeG7h24gY8O0bmcgY+G7mW5nIGtow6FjIMSRw6MgY+G6o2kgdGhp4buHbiBraOG6oyBuxINuZyBkaSBjaHV54buDbiB2w6AgdOG6oW8gxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSBjaG8gbmfGsOG7nWkgZMOibiDEkeG6v24gdsOgIHNpbmggc+G7kW5nIHThuqFpIEjDoCBO4buZaS4gTmdvw6BpIHJhLCBz4buxIHBow6F0IHRyaeG7g24gY+G7p2EgY8OhYyB0cnVuZyB0w6JtIGdpw6FvIGThu6VjLCBi4buHbmggdmnhu4duLCB0cnVuZyB0w6JtIG11YSBz4bqvbSwgdsOgIGPDoWMgdGnhu4duIMOtY2ggY8O0bmcgY+G7mW5nIGtow6FjIGPFqW5nIMSRw6MgdGh1IGjDunQgbmfGsOG7nWkgZMOibiDEkeG6v24gSMOgIE7hu5lpLg0KDQotICAgQ8ahIGjhu5lpIHZp4buHYyBsw6BtOiBIw6AgTuG7mWkgY8OzIHPhu7EgxJFhIGThuqFuZyB0cm9uZyBjw6FjIG5nw6BuaCBjw7RuZyBuZ2hp4buHcCwgZOG7i2NoIHbhu6UgdsOgIGdpw6FvIGThu6VjLiBUaMOgbmggcGjhu5EgbsOgeSBsw6AgdHJ1bmcgdMOibSBj4bunYSBuaGnhu4F1IGPDtG5nIHR5LCB04buVIGNo4bupYywgdsOgIGPDoWMgdHLGsOG7nW5nIMSR4bqhaSBo4buNYywgdGh1IGjDunQgbmhp4buBdSBjxqEgaOG7mWkgdmnhu4djIGzDoG0gdsOgIHRodSBuaOG6rXAgdOG7kXQgaMahbiBzbyB24bubaSBjw6FjIHbDuW5nIG1p4buBbiBraMOhYy4gxJBp4buBdSBuw6B5IMSRw6MgdGh1IGjDunQgbmfGsOG7nWkgbGFvIMSR4buZbmcgdOG7qyBraOG6r3AgbsahaSDEkeG6v24gSMOgIE7hu5lpIMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBuZ2jhu4EgbmdoaeG7h3AgdsOgIGPhuqNpIHRoaeG7h24gbeG7qWMgc+G7kW5nLg0KDQotICAgR2nDoW8gZOG7pWMgdsOgIG5naGnDqm4gY+G7qXU6IEjDoCBO4buZaSDEkcaw4bujYyBiaeG6v3QgxJHhur9uIHbhu5tpIGjhu4cgdGjhu5FuZyBnacOhbyBk4bulYyB04buRdCB2w6Agbmhp4buBdSB0csaw4budbmcgxJHhuqFpIGjhu41jLCB0cnVuZyB0w6JtIG5naGnDqm4gY+G7qXUuIE7GoWkgxJHDonkgdGh1IGjDunQgc2luaCB2acOqbiwgaOG7jWMgc2luaCB2w6AgbmjDoCBuZ2hpw6puIGPhu6l1IHThu6sgY8OhYyB2w7luZyBtaeG7gW4ga2jDoWMgxJHhu4MgdGhlbyBo4buNYyB2w6AgcGjDoXQgdHJp4buDbiBz4buxIG5naGnhu4dwLiDEkGnhu4F1IG7DoHkgxJHDoyBnw7NwIHBo4bqnbiB2w6BvIHPhu7EgdMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kSB04bqhaSBIw6AgTuG7mWkgdHJvbmcgZ2lhaSDEkW/huqFuIMSRw7MuDQoNCi0gICBWxINuIGjDs2EgdsOgIGR1IGzhu4tjaDogSMOgIE7hu5lpIGzDoCBt4buZdCB0cnVuZyB0w6JtIHbEg24gaMOzYSwgbOG7i2NoIHPhu60gdsOgIGR1IGzhu4tjaCBxdWFuIHRy4buNbmcuIFbhu5tpIG5oaeG7gXUgZGkgdMOtY2ggbOG7i2NoIHPhu60sIGRhbmggbGFtIHRo4bqvbmcgY+G6o25oIHbDoCBjw6FjIHPhu7Ega2nhu4duIHbEg24gaMOzYSwgSMOgIE7hu5lpIHRodSBow7p0IGtow6FjaCBkdSBs4buLY2ggdOG7qyBraOG6r3AgbsahaS4gTeG7mXQgc+G7kSBuZ8aw4budaSDEkcOjIGNodXnhu4NuIMSR4bq/biBIw6AgTuG7mWkgxJHhu4Mga2luaCBkb2FuaCB0cm9uZyBuZ8OgbmggZHUgbOG7i2NoIGhv4bq3YyBsw6BtIHZp4buHYyB0cm9uZyBjw6FjIGzEqW5oIHbhu7FjIGxpw6puIHF1YW4uDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBwdXJwbGU7Ij4qKjMuIETDom4gc+G7kSDEkMOgIE7hurVuZyoqPC9zcGFuPg0KDQpgYGB7cn0NCmQzIDwtIGhpdTElPiVzZWxlY3QoJ1llYXInLCAnRE4nKQ0KZDMgJT4lIGdncGxvdChhZXMoeCA9IFllYXIsIHkgPSBETikpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gInB1cnBsZSIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBkw6JuIHPhu5Eg4bufIMSQw6AgTsSDbmcgZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQoNCmBgYA0KDQpgYGB7cn0NCmQzDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHB1cnBsZTsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCkTDom4gc+G7kSB04bqhaSDEkMOgIE7Eg25nIHThuq1wIHRydW5nIGtow6EgxJHDtG5nIMSRw7pjIHbDoCB0xINuZyB0csaw4bufbmcgxJHhu4F1IHF1YSBjw6FjIG7Eg20gdsOsIGzDrSBkbzoNCg0KLSAgIFBow6F0IHRyaeG7g24ga2luaCB04bq/OiDEkMOgIE7hurVuZyDEkcOjIHRy4bufIHRow6BuaCBt4buZdCB0cnVuZyB0w6JtIGtpbmggdOG6vyB2w6AgZHUgbOG7i2NoIHF1YW4gdHLhu41uZyB04bqhaSBWaeG7h3QgTmFtLiBT4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/IG3huqFuaCBt4bq9IMSRw6MgdOG6oW8gcmEgbmhp4buBdSBjxqEgaOG7mWkgdmnhu4djIGzDoG0gdsOgIHRodSBow7p0IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIGtodSB24buxYyBsw6JuIGPhuq1uIHbDoCBjw6FjIHThu4luaCB0aMOgbmgga2jDoWMgxJHhur9uIMSQw6AgTuG6tW5nIMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBraW5oIGRvYW5oIHbDoCBsw6BtIHZp4buHYy4NCg0KLSAgIEPGoSBz4bufIGjhuqEgdOG6p25nIHbDoCBk4buLY2ggduG7pTogxJDDoCBO4bq1bmcgxJHDoyDEkeG6p3UgdMawIG3huqFuaCB2w6BvIHBow6F0IHRyaeG7g24gY8ahIHPhu58gaOG6oSB04bqnbmcgZ2lhbyB0aMO0bmcsIGdpw6FvIGThu6VjLCB5IHThur8sIHbDoCBjw6FjIGThu4tjaCB24bulIGPDtG5nIGPhu5luZyBraMOhYy4gVmnhu4djIHjDonkgZOG7sW5nIMSRxrDhu51uZyBjYW8gdOG7kWMsIGPhuqd1LCBj4bqjaSB0aGnhu4duIGjhu4cgdGjhu5FuZyBnaWFvIHRow7RuZywgY8OhYyB0csaw4budbmcgxJHhuqFpIGjhu41jLCBi4buHbmggdmnhu4duLCBraHUgY8O0bmcgbmdoaeG7h3AgdsOgIGtodSDEkcO0IHRo4buLIG3hu5tpIMSRw6MgdOG6oW8gcmEgxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSDEkeG7gyBuZ8aw4budaSBkw6JuIHNpbmggc+G7kW5nIHbDoCBsw6BtIHZp4buHYyB04bqhaSDEkMOgIE7hurVuZy4NCg0KLSAgIER1IGzhu4tjaCB2w6AgdsSDbiBow7NhOiDEkMOgIE7hurVuZyDEkcaw4bujYyBiaeG6v3QgxJHhur9uIHbhu5tpIGPDoWMgZGFuaCBsYW0gdGjhuq9uZyBj4bqjbmggbuG7lWkgdGnhur9uZyBuaMawIELDoW4gxJHhuqNvIFPGoW4gVHLDoCwgQsOgIE7DoCBIaWxscywgY+G6p3UgUuG7k25nLCBiw6NpIGJp4buDbiBN4bu5IEtow6ogdsOgIEjhu5lpIEFuIGPhu5UuIFPhu7EgcGjDoXQgdHJp4buDbiBj4bunYSBuZ8OgbmggZHUgbOG7i2NoIHbDoCBjw6FjIGhv4bqhdCDEkeG7mW5nIHbEg24gaMOzYSDEkcOjIHRodSBow7p0IGzGsOG7o25nIGzhu5tuIGtow6FjaCBkdSBs4buLY2ggdsOgIG5nxrDhu51pIHF1YW4gdMOibSwgbeG7mXQgc+G7kSB0cm9uZyBz4buRIMSRw7MgY8OzIHRo4buDIHF1eeG6v3QgxJHhu4tuaCBjaHV54buDbiDEkeG6v24gxJDDoCBO4bq1bmcgxJHhu4Mgc2luaCBz4buRbmcgdsOgIGzDoG0gdmnhu4djLg0KDQotICAgR2nDoW8gZOG7pWMgdsOgIG5naGnDqm4gY+G7qXU6IMSQw6AgTuG6tW5nIGPDsyBo4buHIHRo4buRbmcgZ2nDoW8gZOG7pWMgdsOgIG5naGnDqm4gY+G7qXUgcGjDoXQgdHJp4buDbiwgduG7m2kgbmhp4buBdSB0csaw4budbmcgxJHhuqFpIGjhu41jIHbDoCB2aeG7h24gbmdoacOqbiBj4bupdS4gU+G7sSBoaeG7h24gZGnhu4duIGPhu6dhIGPDoWMgdHLGsOG7nW5nIMSR4bqhaSBo4buNYyBow6BuZyDEkeG6p3UgdsOgIGPDoWMgY8ahIHPhu58gbmdoacOqbiBj4bupdSDEkcOjIHRodSBow7p0IHNpbmggdmnDqm4gdsOgIG5ow6AgbmdoacOqbiBj4bupdSDEkeG6v24gxJDDoCBO4bq1bmcuDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBvcmFuZ2U7Ij4qKjQuIETDom4gc+G7kSBCw6xuaCDEkOG7i25oKio8L3NwYW4+DQoNCmBgYHtyfQ0KZDQgPC0gaGl1MSU+JXNlbGVjdCgnWWVhcicsICdCRCcpDQpkNCAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEJEKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAib3JhbmdlIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGTDom4gc+G7kSDhu58gQsOsbmggxJDhu4tuaCBnaWFpIMSRb+G6oW4gMjAxNi0yMDE5IikNCg0KYGBgDQoNCmBgYHtyfQ0KZDQNCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogb3JhbmdlOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KRMOibiBz4buRIOG7nyBCw6xuaCDEkOG7i25oIGtow6EgxJHDtG5nIMSRw7pjIG5oxrBuZyB04buRYyDEkeG7mSBnaWEgdMSDbmcgZMOibiBz4buRIGtow6EgY2jhuq1tIHbDoCBraMO0bmcgxJHDoW5oIGvhu4Mgc28gduG7m2kgY8OhYyB04buJbmgga2jDoWMgxJHDoyDEkeG7gSBj4bqtcCBiw6puIHRyw6puLiBMw60gZG8gY2hvIHPhu7EgZ2lhIHTEg25nIGNo4bqtbSBuw6B5IGzDoCB2w6w6DQoNCi0gICBUxINuZyB0csaw4bufbmcgdOG7sSBuaGnDqm46IE7hur91IHThu7cgbOG7hyBzaW5oIGTDom4g4bufIELDrG5oIMSQ4buLbmggZ2nhuqNtIHbDoCB04bu3IGzhu4cgdOG7rSB2b25nIHTEg25nLCDEkWnhu4F1IG7DoHkgY8OzIHRo4buDIGThuqtuIMSR4bq/biB0xINuZyBkw6JuIHPhu5EgY2jhuq1tIHLDo2kuIE7hur91IGPDsyBz4buxIGdp4bqjbSB04bu3IGzhu4cgc2luaCB2w6AgdMSDbmcgdOG7tyBs4buHIHThu60gdm9uZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgZMOibiBz4buRIGPDsyB0aOG7gyB0xINuZyBjaOG6rW0uDQoNCi0gICBEaSBjxrAgdsOgIGRpIHRyw7o6IE3hu5l0IGzGsOG7o25nIGzhu5tuIG5nxrDhu51pIGTDom4gY8OzIHRo4buDIMSRw6MgY2h1eeG7g24gxJFpIHThu6sgQsOsbmggxJDhu4tuaCDEkeG6v24gY8OhYyB2w7luZyBsw6JuIGPhuq1uIGhv4bq3YyBjw6FjIHThu4luaCB0aMOgbmgga2jDoWMgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkuIFPhu7EgZGkgY2h1eeG7g24gZMOibiBz4buRIHJhIGto4buPaSBCw6xuaCDEkOG7i25oIGPDsyB0aOG7gyBsw6BtIGdp4bqjbSB04buRYyDEkeG7mSB0xINuZyBkw6JuIHPhu5EuDQoNCi0gICBLaW5oIHThur8gdsOgIHZp4buHYyBsw6BtOiBO4bq/dSBCw6xuaCDEkOG7i25oIGfhurdwIGtow7Mga2jEg24gdHJvbmcgdmnhu4djIHThuqFvIHJhIGPGoSBo4buZaSB2aeG7h2MgbMOgbSB2w6AgcGjDoXQgdHJp4buDbiBraW5oIHThur8gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIG5nxrDhu51pIGTDom4gY8OzIHRo4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBzaW5oIHPhu5FuZyB2w6AgbMOgbSB2aeG7h2Mg4bufIGPDoWMgbsahaSBraMOhYy4gU+G7sSB0aGnhur91IGjhu6V0IHZp4buHYyBsw6BtIHbDoCB0aHUgbmjhuq1wIGPDsyB0aOG7gyBsw6BtIGdp4bqjbSBz4buxIGjhuqVwIGThuqtuIGPhu6dhIELDrG5oIMSQ4buLbmggdsOgIGfDonkgcmEgc+G7sSBnaeG6o20gdOG7kWMgxJHhu5kgdMSDbmcgZMOibiBz4buRLg0KDQotICAgWeG6v3UgdOG7kSB4w6MgaOG7mWkgdsOgIHbEg24gaMOzYTogTmjhu69uZyB54bq/dSB04buRIHjDoyBo4buZaSB2w6AgdsSDbiBow7NhIG5oxrAgeHUgaMaw4bubbmcgc2luaCBjb24gZ2nhuqNtLCBnaWEgxJHDrG5oIGPDsyBrw61jaCB0aMaw4bubYyBuaOG7jyBoxqFuIHbDoCBjw6FjIHnhur91IHThu5EgdsSDbiBow7NhIGtow6FjIGPDsyB0aOG7gyBnw7NwIHBo4bqnbiB2w6BvIHPhu7EgdMSDbmcgZMOibiBz4buRIGNo4bqtbSByw6NpLg0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogbGlnaHRncmVlbjsiPioqNS4gRMOibiBz4buRIEdpYSBMYWkqKjwvc3Bhbj4NCg0KYGBge3J9DQpkNSA8LSBoaXUxJT4lc2VsZWN0KCdZZWFyJywgJ0dMJykNCmQ1ICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gR0wpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJsaWdodGdyZWVuIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGTDom4gc+G7kSDhu58gR2lhIExhaSBnaWFpIMSRb+G6oW4gMjAxNi0yMDE5IikNCg0KYGBgDQoNCmBgYHtyfQ0KZDUNCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogbGlnaHRncmVlbjsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCk3hurdjIGTDuSBnaWEgbGFpIGzDoCB04buJbmggdMOieSBuZ3V5w6puIG5oxrBuZyB2w6wgc2FvIHRyb25nIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTggZMOibiBz4buRIGdpYSBs4bqhaSBs4bqhaSBraMOhIGNhbyB2w6AgdMSDbmcga2jDoSBt4bqhbmggbeG6vS4gVsOsIGzDrSBkbzoNCg0KLSAgIFTEg25nIHRyxrDhu59uZyB04buxIG5oacOqbjogVOG7tyBs4buHIHNpbmggY2FvIGjGoW4gdOG7tyBs4buHIHThu60gdm9uZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSBjw7MgdGjhu4MgbMOgIG3hu5l0IHnhur91IHThu5EgxJHDs25nIGfDs3AgdsOgbyBz4buxIHTEg25nIGTDom4gc+G7kS4gTuG6v3UgdOG7tyBs4buHIHNpbmgg4bufIEdpYSBMYWkgY2FvIGjGoW4gdsOgIHThu7cgbOG7hyB04butIHZvbmcgdGjhuqVwIGjGoW4sIGTDom4gc+G7kSBz4bq9IHTEg25nIMSRw6FuZyBr4buDLg0KDQotICAgRGkgY8awIHbDoCBkaSB0csO6OiBHaWEgTGFpIGPDsyB0aOG7gyDEkcOjIHRodSBow7p0IG3hu5l0IGzGsOG7o25nIGzhu5tuIG5nxrDhu51pIGRpIGPGsCBob+G6t2MgZGkgdHLDuiB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeS4gU+G7sSBkaSBjaHV54buDbiBkw6JuIHPhu5EgdOG7qyBjw6FjIHbDuW5nIGzDom4gY+G6rW4gaG/hurdjIHThu6sgY8OhYyB04buJbmggdGjDoG5oIGtow6FjIMSR4bq/biBHaWEgTGFpIGPDsyB0aOG7gyB0xINuZyBkw6JuIHPhu5EgxJHhu4thIHBoxrDGoW5nLg0KDQotICAgUGjDoXQgdHJp4buDbiBraW5oIHThur86IFPhu7EgcGjDoXQgdHJp4buDbiBraW5oIHThur8gY+G7p2EgR2lhIExhaSBjw7MgdGjhu4MgxJHDoyB04bqhbyByYSBjxqEgaOG7mWkgdmnhu4djIGzDoG0gdsOgIHRodSBow7p0IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIHbDuW5nIGzDom4gY+G6rW4gxJHhur9uIMSRw6J5IMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBraW5oIGRvYW5oIHbDoCBsw6BtIHZp4buHYy4gQ8OhYyBuZ8OgbmggY8O0bmcgbmdoaeG7h3AgbmjGsCBuw7RuZyBuZ2hp4buHcCwgY2jEg24gbnXDtGksIGPDtG5nIG5naGnhu4dwIGNo4bq/IGJp4bq/biBn4buXIHbDoCBkdSBs4buLY2ggY8OzIHRo4buDIMSRw6MgxJHDs25nIGfDs3AgdsOgbyBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/IHbDoCB0xINuZyBkw6JuIHPhu5EuDQoNCi0gICBI4bqhIHThuqduZyB2w6AgZOG7i2NoIHbhu6UgY8O0bmc6IEdpYSBMYWkgY8OzIHRo4buDIMSRw6MgxJHhuqd1IHTGsCBt4bqhbmggdsOgbyBwaMOhdCB0cmnhu4NuIGjhuqEgdOG6p25nIGdpYW8gdGjDtG5nLCBnacOhbyBk4bulYywgeSB04bq/IHbDoCBjw6FjIGThu4tjaCB24bulIGPDtG5nIGPhu5luZyBraMOhYy4gVmnhu4djIGPhuqNpIHRoaeG7h24gaOG7hyB0aOG7kW5nIGdpYW8gdGjDtG5nLCB4w6J5IGThu7FuZyBjw6FjIHRyxrDhu51uZyBo4buNYywgYuG7h25oIHZp4buHbiB2w6AgY8OhYyBjxqEgc+G7nyBjw7RuZyBj4buZbmcgxJHDoyB04bqhbyByYSBtw7RpIHRyxrDhu51uZyB0aHXhuq1uIGzhu6NpIMSR4buDIG5nxrDhu51pIGTDom4gc2luaCBz4buRbmcgdsOgIGzDoG0gdmnhu4djLCDEkeG7k25nIHRo4budaSB0aHUgaMO6dCBkw6JuIHPhu5EgdOG7qyBjw6FjIHbDuW5nIGzDom4gY+G6rW4uDQoNCi0gICBZ4bq/dSB04buRIHjDoyBo4buZaSB2w6AgdsSDbiBow7NhOiBOaOG7r25nIHnhur91IHThu5EgeMOjIGjhu5lpIHbDoCB2xINuIGjDs2EgY8WpbmcgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBz4buxIHTEg25nIGTDom4gc+G7kS4gVsOtIGThu6UsIHPhu7EgZ2lhIHTEg25nIGjhuqFuaCBwaMO6YyBnaWEgxJHDrG5oLCBxdWFuIMSRaeG7g20gdMOtY2ggY+G7sWMgduG7gSBzaW5oIGNvbiB2w6AgY8OhYyB54bq/dSB04buRIHbEg24gaMOzYSBraMOhYyBjw7MgdGjhu4MgdGjDumMgxJHhuql5IHTEg25nIGTDom4gc+G7kS4NCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IGdvbGQ7Ij4qKjYuIETDom4gc+G7kSBUUC4gSOG7kyBDaMOtIE1pbmgqKjwvc3Bhbj4NCg0KYGBge3J9DQpkNiA8LSBoaXUxJT4lc2VsZWN0KCdZZWFyJywgJ0hDTScpDQpkNiAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEhDTSkpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gImdvbGQiLCBsaW5ld2lkdGggPSAxKSArDQogIGdlb21fcG9pbnQoY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnMoeCA9ICJZZWFyIiwgeSA9ICIoJSkiKSArDQogIGdndGl0bGUoIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gZMOibiBz4buRIOG7nyBUUC4gSOG7kyBDaMOtIE1pbmggIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkiKQ0KDQogICAgICAgICANCmBgYA0KDQpgYGB7cn0NCmQ2DQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IGdvbGQ7Ij4qKk5o4bqtbiB4w6l0OioqPC9zcGFuPg0KDQrhu54gVFAuIEjhu5MgQ2jDrSBNaW5oIHThuq1wIHRydW5nIMSRw7RuZyBkw6JuIHPhu5EgdsOgIHTEg25nIMSR4buBdSBo4bqxbmcgbsSDbSB2w6wgbsOzIGNo4buLdSDhuqNuaCBoxrDhu59uZyBi4budaSBuaOG7r25nIHnhur91IHThu5Egc2F1Og0KDQotICAgUGjDoXQgdHJp4buDbiBraW5oIHThur86IFRQLkhDTSBsw6AgdHJ1bmcgdMOibSBraW5oIHThur8sIHTDoGkgY2jDrW5oIHbDoCB0aMawxqFuZyBt4bqhaSBj4bunYSBWaeG7h3QgTmFtLiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgVFAuSENNIMSRw6MgxJHhuqF0IMSRxrDhu6NjIG3hu6ljIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gxJHDoW5nIGvhu4MsIHRodSBow7p0IG5oaeG7gXUgbmd14buTbiDEkeG6p3UgdMawIHbDoCB04bqhbyByYSBjxqEgaOG7mWkgdmnhu4djIGzDoG0uIMSQaeG7gXUgbsOgeSDEkcOjIHRodSBow7p0IG5nxrDhu51pIGTDom4gdOG7qyBjw6FjIHbDuW5nIG1p4buBbiBraMOhYyB2w6AgY8OhYyB04buJbmggbMOibiBj4bqtbiDEkeG6v24gVFAuSENNIMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSBzaW5oIHPhu5FuZyB2w6AgbMOgbSB2aeG7h2MgdOG7kXQgaMahbi4NCg0KLSAgIEPGoSBo4buZaSB2aeG7h2MgbMOgbTogVFAuSENNIGPDsyBz4buxIHBow6F0IHRyaeG7g24gxJFhIGThuqFuZyB0cm9uZyBjw6FjIG5nw6BuaCBjw7RuZyBuZ2hp4buHcCwgZOG7i2NoIHbhu6UgdsOgIGR1IGzhu4tjaC4gQ8OhYyBjw7RuZyB0eSwgZG9hbmggbmdoaeG7h3AsIHbDoCBraHUgY8O0bmcgbmdoaeG7h3AgdOG6oWkgVFAuSENNIHThuqFvIHJhIG5oaeG7gXUgY8ahIGjhu5lpIHZp4buHYyBsw6BtIHbDoCB0aHUgbmjhuq1wIHThu5F0IGjGoW4gc28gduG7m2kgY8OhYyB2w7luZyBtaeG7gW4ga2jDoWMuIMSQaeG7gXUgbsOgeSDEkcOjIHRodSBow7p0IG5nxrDhu51pIGxhbyDEkeG7mW5nIHThu6sga2jhuq9wIG7GoWkgxJHhur9uIFRQLkhDTSDEkeG7gyB0w6xtIGtp4bq/bSBjxqEgaOG7mWkgbmdo4buBIG5naGnhu4dwIHbDoCBj4bqjaSB0aGnhu4duIG3hu6ljIHPhu5FuZy4NCg0KLSAgIEjhuqEgdOG6p25nIHbDoCBk4buLY2ggduG7pTogVFAuSENNIMSRw6MgxJHhuqd1IHTGsCBs4bubbiB2w6BvIHBow6F0IHRyaeG7g24gaOG6oSB04bqnbmcgZ2lhbyB0aMO0bmcsIGdpw6FvIGThu6VjLCB5IHThur8gdsOgIGPDoWMgZOG7i2NoIHbhu6UgY8O0bmcgY+G7mW5nIGtow6FjLiDEkGnhu4F1IG7DoHkgbMOgbSB0xINuZyBjaOG6pXQgbMaw4bujbmcgY3Xhu5ljIHPhu5FuZyB2w6AgdGh1IGjDunQgbmfGsOG7nWkgZMOibiDhu58gbOG6oWkgVFAuSENNLiBI4bqhIHThuqduZyBnaWFvIHRow7RuZyDEkcaw4bujYyBuw6JuZyBj4bqlcCDEkcOhbmcga+G7gywgYmFvIGfhu5NtIG3hu58gcuG7mW5nIMSRxrDhu51uZywgeMOieSBk4buxbmcgaOG7hyB0aOG7kW5nIGdpYW8gdGjDtG5nIGPDtG5nIGPhu5luZywgdsOgIGPhuqNpIHRoaeG7h24gdGnhu4duIMOtY2ggY8O0bmcgY+G7mW5nIG5oxrAgY8O0bmcgdmnDqm4sIGtodSB2dWkgY2jGoWkgZ2nhuqNpIHRyw60sIGPDoWMgdHJ1bmcgdMOibSBtdWEgc+G6r20gdsOgIGdp4bqjaSB0csOtLg0KDQotICAgS2hvYSBo4buNYyB2w6AgY8O0bmcgbmdo4buHOiBUUC5IQ00gbMOgIHRydW5nIHTDom0gbmdoacOqbiBj4bupdSB2w6AgcGjDoXQgdHJp4buDbiBraG9hIGjhu41jIGPDtG5nIG5naOG7hywgdGh1IGjDunQgY8OhYyBjaHV5w6puIGdpYSB2w6AgbmjDoCBuZ2hpw6puIGPhu6l1LiBT4buxIHBow6F0IHRyaeG7g24gdHJvbmcgbMSpbmggduG7sWMgY8O0bmcgbmdo4buHIHRow7RuZyB0aW4sIHRyw60gdHXhu4cgbmjDom4gdOG6oW8sIGto4bufaSBuZ2hp4buHcCB2w6AgY8OhYyBuZ8OgbmggY8O0bmcgbmdo4buHIGNhbyBraMOhYyB04bqhbyByYSBuaGnhu4F1IGPGoSBo4buZaSB2aeG7h2MgbMOgbSB2w6AgdGh1IGjDunQgbmfGsOG7nWkgdHLhursgxJHhur9uIFRQLkhDTS4NCg0KLSAgIFbEg24gaMOzYSB2w6AgZ2nDoW8gZOG7pWM6IFRQLkhDTSBsw6AgdHJ1bmcgdMOibSB2xINuIGjDs2EsIGdpw6FvIGThu6VjLCB2w6AgZ2nhuqNpIHRyw60sIHbhu5tpIG5oaeG7gXUgdHLGsOG7nW5nIMSR4bqhaSBo4buNYywgdHJ1bmcgdMOibSBuZ2jhu4cgdGh14bqtdCwgYuG6o28gdMOgbmcsIHLhuqFwIGNoaeG6v3UgcGhpbSwgdsOgIHPhu7Ega2nhu4duIHbEg24gaMOzYS4gxJBp4buBdSBuw6B5IHRodSBow7p0IHNpbmggdmnDqm4sIG5naOG7hyBzxKksIHbDoCBuaOG7r25nIG5nxrDhu51pIHF1YW4gdMOibSDEkeG6v24gdsSDbiBow7NhIHbDoCBnacOhbyBk4bulYyDEkeG6v24gVFAuSENNIMSR4buDIGjhu41jIHThuq1wIHbDoCBwaMOhdCB0cmnhu4NuIHPhu7EgbmdoaeG7h3AuDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBwaW5rOyI+Kio3LiBEw6JuIHPhu5EgQW4gR2lhbmcqKjwvc3Bhbj4NCg0KYGBge3J9DQpkNyA8LSBoaXUxJT4lc2VsZWN0KCdZZWFyJywgJ0FHJykNCmQ3ICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gQUcpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJwaW5rIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGTDom4gc+G7kSDhu58gQW4gR2lhbmcgZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQoNCiAgICAgICAgICANCmBgYA0KDQpgYGB7cn0NCmQ3DQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHBpbms7Ij4qKk5o4bqtbiB4w6l0OioqPC9zcGFuPg0KDQpEw6JuIHPhu5Eg4bufIHThu4luaCBBbiBHaWFuZyDEkcaw4bujYyB4ZW0gbMOgIGtow6EgY2FvIHNvIHbhu5tpIMSRYSBz4buRIGPDoWMgdOG7iW5oIFZp4buHdCBOYW0gbmjGsG5nIGzhuqFpIGPDsyBz4buxIGdp4bqjbSBzw7p0IHRyb25nIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkgdsOsIGzDrSBkbzoNCg0KLSAgIFThu7cgbOG7hyBzaW5oIGdp4bqjbTogTuG6v3UgdOG7tyBs4buHIHNpbmggZMOibiDhu58gQW4gR2lhbmcgZ2nhuqNtIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCDEkWnhu4F1IG7DoHkgY8OzIHRo4buDIGThuqtuIMSR4bq/biBz4buxIGdp4bqjbSBkw6JuIHPhu5EuIEPDsyB0aOG7gyBjw7Mgbmhp4buBdSBuZ3V5w6puIG5ow6JuIGThuqtuIMSR4bq/biBz4buxIGdp4bqjbSB04bu3IGzhu4cgc2luaCwgYmFvIGfhu5NtIHRoYXkgxJHhu5VpIHRyb25nIHF1YW4gxJFp4buDbSB24buBIHNpbmggY29uLCBuw6JuZyBjYW8gbeG7qWMgc+G7kW5nIHbDoCBnaeG6o20gbeG7qWMgxJHhuqd1IHTGsCB2w6BvIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIHbDoCBk4buLY2ggduG7pSB5IHThur8uDQoNCi0gICBEaSBjxrAgdsOgIGRpIHRyw7o6IE3hu5l0IGzGsOG7o25nIGzhu5tuIG5nxrDhu51pIGTDom4gY8OzIHRo4buDIMSRw6MgY2h1eeG7g24gxJFpIHThu6sgQW4gR2lhbmcgxJHhur9uIGPDoWMgbsahaSBraMOhYyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeS4gQ8OhYyB54bq/dSB04buRIG5oxrAgY8ahIGjhu5lpIHZp4buHYyBsw6BtLCBnacOhbyBk4bulYywgc+G7qWMga2jhu49lIHbDoCBk4buLY2ggduG7pSBjw7RuZyBj4buZbmcgdOG7kXQgaMahbiDhu58gY8OhYyB2w7luZyBraMOhYyBjw7MgdGjhu4MgbMOgbSBjaG8gbmfGsOG7nWkgZMOibiBjaOG7jW4gZGkgY8awIMSR4buDIHTDrG0ga2nhur9tIGPGoSBo4buZaSB04buRdCBoxqFuLg0KDQotICAgS2luaCB04bq/IHbDoCB2aeG7h2MgbMOgbTogTuG6v3UgQW4gR2lhbmcgZ+G6t3Aga2jDsyBraMSDbiB0cm9uZyB2aeG7h2MgdOG6oW8gcmEgY8ahIGjhu5lpIHZp4buHYyBsw6BtIHbDoCBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgbmfGsOG7nWkgZMOibiBjw7MgdGjhu4MgdMOsbSBraeG6v20gY8ahIGjhu5lpIHNpbmggc+G7kW5nIHbDoCBsw6BtIHZp4buHYyDhu58gY8OhYyBuxqFpIGtow6FjLiBT4buxIHRoaeG6v3UgaOG7pXQgdmnhu4djIGzDoG0gdsOgIHRodSBuaOG6rXAgY8OzIHRo4buDIGzDoG0gZ2nhuqNtIHPhu7EgaOG6pXAgZOG6q24gY+G7p2EgQW4gR2lhbmcgdsOgIGfDonkgcmEgc+G7sSBnaeG6o20gZMOibiBz4buRLg0KDQotICAgWeG6v3UgdOG7kSB4w6MgaOG7mWkgdsOgIHbEg24gaMOzYTogTmjhu69uZyB54bq/dSB04buRIHjDoyBo4buZaSB2w6AgdsSDbiBow7NhIG5oxrAgeHUgaMaw4bubbmcgc2luaCBjb24gZ2nhuqNtLCBnaWEgxJHDrG5oIGPDsyBrw61jaCB0aMaw4bubYyBuaOG7jyBoxqFuIHbDoCBjw6FjIHnhur91IHThu5EgdsSDbiBow7NhIGtow6FjIGPDsyB0aOG7gyBnw7NwIHBo4bqnbiB2w6BvIHPhu7EgZ2nhuqNtIGTDom4gc+G7kS4NCg0KLSAgIEPDoWMgeeG6v3UgdOG7kSDEkeG7i2EgcGjGsMahbmc6IEPDoWMgeeG6v3UgdOG7kSDEkeG6t2MgdGjDuSBj4bunYSBBbiBHaWFuZyBuaMawIMSR4buLYSBow6xuaCwga2jDrSBo4bqtdSwgc+G7sSBiaeG6v24gxJHhu5luZyB0cm9uZyBuZ8OgbmggbsO0bmcgbmdoaeG7h3AgdsOgIHRo4buneSBs4bujaSBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIMSR4buZbmcgbOG7sWMgZMOibiBz4buRLiBWw60gZOG7pSwgbuG6v3UgY8OzIHPhu7EgdGhheSDEkeG7lWkgdHJvbmcgbsSDbmcgc3XhuqV0IG7DtG5nIG5naGnhu4dwIGhv4bq3YyBjw6FjIHnhur91IHThu5EgbcO0aSB0csaw4budbmcga2jDoWMsIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4MgbMOgbSBnaeG6o20gc+G7sSBo4bqlcCBk4bqrbiBj4bunYSBBbiBHaWFuZyB2w6AgZ8OieSByYSBz4buxIGdp4bqjbSBkw6JuIHPhu5EuDQoNCiMjIyAqKjEuMiBHaWFpIMSRb+G6oW4gMioqDQoNCioqSS4gVGnhur9uIGjDoG5oIHNvIHPDoW5oIGTDom4gc+G7kSB0cnVuZyBiw6xuaCBj4bunYSA3IHThu4luaCB0aMOgbmggxJHhuqFpIGRp4buHbiBjaG8gNyB2w7luZyBtaeG7gW4gVmnhu4d0IE5hbSB0cuG6o2kgZMOgaSB04burIELhuq9jIHh14buRbmcgTmFtIHRyb25nIGdpYWkgxJFv4bqhbiAyMDIwLTIwMjMuIEJhbyBn4buTbSBjw6FjIHThu4luaDogUXXhuqNuZyBOaW5oLCBIw6AgTuG7mWksIMSQw6AgTuG6tW5nLCBCw6xuaCDEkOG7i25oLCBHaWEgTGFpLCBUUC4gSOG7kyBDaMOtIE1pbmgsIEFuIEdpYW5nLioqDQoNCmBgYHtyfQ0KdGFibzIgPC0gdGFibyU+JSBmaWx0ZXIoWWVhciA9PSAyMDIwfCBZZWFyID09IDIwMjF8WWVhciA9PSAyMDIyfCBZZWFyID09IDIwMjMgKSU+JXNlbGVjdCgnWWVhcicsICdRTicsJ0hOJywnRE4nLCdCRCcsJ0dMJywnSENNJywnQUcnKQ0KZ2dwbG90KHRhYm8yLCBhZXMoeCA9IFllYXIpKSArDQogIGdlb21fbGluZShhZXMoeSA9IFFOLCBncm91cCA9IDEsIGNvbG9yID0gIlFOIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBRTiwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEhOLCBncm91cCA9IDEsIGNvbG9yID0gIkhOIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBITiwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEROLCBncm91cCA9IDEsIGNvbG9yID0gIsSQTiIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gRE4sIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBCRCwgZ3JvdXAgPSAxLCBjb2xvciA9ICJCxJAiKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEJELCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gR0wsIGdyb3VwID0gMSwgY29sb3IgPSAiR0wiKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEdMLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gSENNLCBncm91cCA9IDEsIGNvbG9yID0gIkhDTSIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gSENNLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gQUcsIGdyb3VwID0gMSwgY29sb3IgPSAiQUciKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEFHLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdOG7iSBs4buHICglKSBiaeG6v24gxJHhu5luZyBkw6JuIHPhu5EgZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSAoMjAxNiBsw6BtIGfhu5FjKSIsDQogICAgICAgeCA9ICJOxINtIiwNCiAgICAgICB5ID0gIlThu7cgdHLhu41uZyAoJSkiKSArDQogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSBjKCJRTiIgPSAicmVkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhOIiA9ICJsaWdodGJsdWUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAixJBOIiA9ICJwdXJwbGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQsSQIiA9ICJvcmFuZ2UiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR0wiID0gImxpZ2h0Z3JlZW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSENNIiA9ICJnb2xkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFHIiA9ICJwaW5rIiksDQogICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJBbiBHaWFuZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCw6xuaCDEkOG7i25oIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIsSQw6AgTuG6tW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdpYSBMYWkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVFAuIEjhu5MgQ2jDrSBNaW5oIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkjDoCBO4buZaSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJRdcOjbmcgTmluaCIpKSArDQogIHRoZW1lX21pbmltYWwoKSArDQogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iKQ0KDQoNCmBgYA0KDQoqKk5o4bqtbiB4w6l0KioNCg0KLSAgIEPFqW5nIGdp4buRbmcgbmjGsCBnaWFpIMSRb+G6oW4gMSB0csaw4bubYyDEkcOieSA3IHThu4luaCB0aMOgbmggY8WpbmcgY8OzIHPhu7EgY2jDqm5oIGzhu4djaCBs4bubbiB24buBIGTDom4gc+G7kS4gVOG6oWkgVFAuIEjhu5MgQ2jDrSBNaW5oIHbDoCBIw6AgTuG7mWkgduG6q24gbMOgIDIgbsahaSB0b3AgxJHhuqd1IHbhu4EgZMOibiBz4buRIGPhu6dhIFZp4buHdCBOYW0gdsOgIGtow7RuZyBjw7Mgc+G7sSB0aGF5IMSR4buVaSBxdWEgbOG7m24gduG7gSBz4buxIGdpYSB0xINuZyBoYXkgZ2nhuqNtIHPDunQuIFNhdSDEkcOzIGzDoCBjw6FjIHThu4luaCBjw7JuIGzhuqFpIHbhu5tpIGTDom4gc+G7kSB0cnVuZyBiw6xuaCB0aOG6pXAgaMahbiBuaGnhu4F1IHNvIHbhu5tpIHRo4bunIMSRw7QgSMOgIE7hu5lpIHbDoCB0aMOgbmggcGjhu5EgSOG7kyBDaMOtIE1pbmguDQoNCioqSUkuIMSQ4buDIGPDsyB0aOG7gyB0aOG6pXkgcsO1IGjGoW4geHUgaMaw4bubbmcgZGkgY2h1eeG7g24gY+G7p2EgYmnhu4N1IMSR4buTLCB0YSB0aeG6v24gaMOgbmggcGjDom4gdMOtY2ggdsOgIHbhur0gYmnhu4N1IMSR4buTIHThu6tuZyB04buJbmggY+G7pSB0aOG7gyBxdWEgZ2lhaSDEkW/huqFuIDIuKioNCg0KLSAgIEVtIHRp4bq/biBow6BuaCB0w61uaCB04buJIGzhu4cgcGjhuqduIHRyxINtIGTDom4gc+G7kSBjaG8gbmjhu69uZyBuxINtIHNhdSBzbyB24bubaSBuxINtIDIwMjAgKGzhuqV5IG7Eg20gMjAyMCBsw6AgbsSDbSBn4buRYyDEkeG7gyB0w61uaCAlKSBj4bunYSBjw6FjIHThu4luaCB0aMOgbmggdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkuDQoNCmBgYHtyfQ0KbGlicmFyeSh4bHN4KQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpkYXR0YWJvIDwtIHJlYWQueGxzeCgiQzovVXNlcnMvQURNSU4vRG93bmxvYWRzL2RhdHRhYm8ueGxzeCIsIHNoZWV0SW5kZXggPSAxLCBoZWFkZXIgPSBUKQ0KaGl1MiA8LSBkYXR0YWJvJT4lIGZpbHRlcihZZWFyID09IDIwMjB8IFllYXIgPT0gMjAyMXxZZWFyID09IDIwMjJ8IFllYXIgPT0gMjAyMyApJT4lc2VsZWN0KCdZZWFyJywgJ1FOJywnSE4nLCdETicsJ0JEJywnR0wnLCdIQ00nLCdBRycpDQpoaXUyDQoNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkodGlkeXZlcnNlKQ0KZ2dwbG90KGhpdTIsIGFlcyh4ID0gWWVhcikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gUU4sIGdyb3VwID0gMSwgY29sb3IgPSAiUU4iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IFFOLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gSE4sIGdyb3VwID0gMSwgY29sb3IgPSAiSE4iKSwgc2l6ZSA9IDEpICsNCiAgZ2VvbV9wb2ludChhZXMoeSA9IEhOLCBncm91cCA9IDEpLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gRE4sIGdyb3VwID0gMSwgY29sb3IgPSAixJBOIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBETiwgZ3JvdXAgPSAxKSwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fbGluZShhZXMoeSA9IEJELCBncm91cCA9IDEsIGNvbG9yID0gIkLEkCIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gQkQsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBHTCwgZ3JvdXAgPSAxLCBjb2xvciA9ICJHTCIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gR0wsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBIQ00sIGdyb3VwID0gMSwgY29sb3IgPSAiSENNIiksIHNpemUgPSAxKSArDQogIGdlb21fcG9pbnQoYWVzKHkgPSBIQ00sIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBBRywgZ3JvdXAgPSAxLCBjb2xvciA9ICJBRyIpLCBzaXplID0gMSkgKw0KICBnZW9tX3BvaW50KGFlcyh5ID0gQUcsIGdyb3VwID0gMSksIGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyB04buJIGzhu4cgKCUpIGJp4bq/biDEkeG7mW5nIGTDom4gc+G7kSBnaWFpIMSRb+G6oW4gMjAyMC0yMDIzICgyMDE2IGzDoG0gZ+G7kWMpIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiVOG7tyB0cuG7jW5nICglKSIpICsNCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoIlFOIiA9ICJyZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSE4iID0gImxpZ2h0Ymx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkE4iID0gInB1cnBsZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCxJAiID0gIm9yYW5nZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHTCIgPSAibGlnaHRncmVlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIQ00iID0gImdvbGQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQUciID0gInBpbmsiKSwNCiAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIkFuIEdpYW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkLDrG5oIMSQ4buLbmgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAixJDDoCBO4bq1bmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2lhIExhaSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUUC4gSOG7kyBDaMOtIE1pbmgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSMOgIE7hu5lpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlF1w6NuZyBOaW5oIikpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIpDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHJlZDsiPioqMS4gRMOibiBz4buRIFF14bqjbmcgTmluaCoqPC9zcGFuPg0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmQ4IDwtIGhpdTIlPiVzZWxlY3QoJ1llYXInLCAnUU4nKQ0KZDggJT4lIGdncGxvdChhZXMoeCA9IFllYXIsIHkgPSBRTikpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gInJlZCIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBkw6JuIHPhu5Eg4bufIFF14bqjbmcgTmluaCBnaWFpIMSRb+G6oW4gMjAyMC0yMDIzIikNCg0KYGBgDQoNCmBgYHtyfQ0KZDgNCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogcmVkOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KLSAgIE5ow6xuIGNodW5nLCBkw6JuIHPhu5Eg4bufIHThu4luaCBRdcOjbmcgTmluaCB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSB0xINuZyBraMOhIMSR4buBdSB2w6Aga2jDtG5nIGPDsyBz4buxIGNow6puaCBs4buHY2ggcXXDoSBs4bubbiwgbsSDbSAyMDIzIHTEg25nIDAsMDUlIHNvIHbhu5tpIG7Eg20gZ+G7kWMgMjAyMC4NCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IGxpZ2h0Ymx1ZTsiPioqMi4gRMOibiBz4buRIEjDoCBO4buZaSoqPC9zcGFuPg0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmQ5IDwtIGhpdTIlPiVzZWxlY3QoJ1llYXInLCAnSE4nKQ0KZDkgJT4lIGdncGxvdChhZXMoeCA9IFllYXIsIHkgPSBITikpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gImxpZ2h0Ymx1ZSIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBkw6JuIHPhu5Eg4bufIEjDoCBO4buZaSBnaWFpIMSRb+G6oW4gMjAyMC0yMDIzIikNCmBgYA0KDQpgYGB7cn0NCmQ5DQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IGxpZ2h0Ymx1ZTsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCi0gICBOaMOsbiBjaHVuZywgZMOibiBz4buRIOG7nyB0aOG7pyDEkcO0IEjDoCBO4buZaSB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSB0xINuZyBraMOhIMSR4buBdSB2w6Aga2jDtG5nIGPDsyBz4buxIGNow6puaCBs4buHY2ggcXXDoSBs4bubbiwgbsSDbSAyMDIzIHTEg25nIGtob+G6o25nIDAsMDQlIHNvIHbhu5tpIG7Eg20gZ+G7kWMgMjAyMC4NCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHB1cnBsZTsiPioqMy4gRMOibiBz4buRIMSQw6AgTuG6tW5nKio8L3NwYW4+DQoNCmBgYHtyfQ0KZDEwIDwtIGhpdTIlPiVzZWxlY3QoJ1llYXInLCAnRE4nKQ0KZDEwICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gRE4pKSArDQogIGdlb21fbGluZShjb2xvciA9ICJwdXJwbGUiLCBsaW5ld2lkdGggPSAxKSArDQogIGdlb21fcG9pbnQoY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnMoeCA9ICJZZWFyIiwgeSA9ICIoJSkiKSArDQogIGdndGl0bGUoIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gZMOibiBz4buRIOG7nyDEkMOgIE7Eg25nIGdpYWkgxJFv4bqhbiAyMDIwLTIwMjMiKQ0KDQpgYGANCg0KYGBge3J9DQpkMTANCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogcHVycGxlOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KLSAgIE5ow6xuIGNodW5nLCBkw6JuIHPhu5Eg4bufIHRow6BuaCBwaOG7kSDEkMOgIE7hurVuZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSB0xINuZyBraMOhIMSR4buBdSB2w6Aga2jDtG5nIGPDsyBz4buxIGNow6puaCBs4buHY2gga2jDoSBs4bubbiwgbsSDbSAyMDIzIHTEg25nIGtob+G6o25nIDAsMSUgc28gduG7m2kgbsSDbSBn4buRYyAyMDIwLg0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogb3JhbmdlOyI+Kio0LiBEw6JuIHPhu5EgQsOsbmggxJDhu4tuaCoqPC9zcGFuPg0KDQpgYGB7cn0NCmQxMSA8LSBoaXUyJT4lc2VsZWN0KCdZZWFyJywgJ0JEJykNCmQxMSAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEJEKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAib3JhbmdlIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGTDom4gc+G7kSDhu58gQsOsbmggxJDhu4tuaCBnaWFpIMSRb+G6oW4gMjAyMC0yMDIzIikNCg0KYGBgDQoNCmBgYHtyfQ0KZDExDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IG9yYW5nZTsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCi0gICBOaMOsbiB2w6BvIGJp4buDdSDEkeG7kyB0csOqbiwgdGEgdGjhuqV5IGTDom4gc+G7kSDhu58gdOG7iW5oIELDrG5oIMSQ4buLbmggY8OzIHPhu7EgYmnhur9uIMSR4buZbmcga2jDoSByw7UgcuG7h3QgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkuIE7Eg20gMjAyMC0yMDIxIGTDom4gc+G7kSB0xINuZyBraG/huqNuZyAwLDAxJSwgbsSDbSAyMDIxLTIwMjIgbOG6oWkgZ2nhuqNtIG5oxrBuZyBraMO0bmcgxJHDoW5nIGvhu4Mga2hv4bqjbmcgMCwwMTIlLCB2w6AgdOG7qyAyMDIyLTIwMjMgZMOibiBz4buRIOG7nyB04buJbmggbsOgeSBs4bqhaSB0xINuZyB2xrDhu6N0IHRy4buZaSBn4bqnbiAwLDA2NyUuDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBsaWdodGdyZWVuOyI+Kio1LiBEw6JuIHPhu5EgR2lhIExhaSoqPC9zcGFuPg0KDQpgYGB7cn0NCmQxMiA8LSBoaXUyJT4lc2VsZWN0KCdZZWFyJywgJ0dMJykNCmQxMiAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEdMKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAibGlnaHRncmVlbiIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBkw6JuIHPhu5Eg4bufIEdpYSBMYWkgZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQoNCmBgYA0KDQpgYGB7cn0NCmQxMg0KYGBgDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBsaWdodGdyZWVuOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KLSAgIE5ow6xuIHbDoG8gYmnhu4N1IMSR4buTIHRyw6puLCB0YSB0aOG6pXkgxJHGsOG7o2MgZMOibiBz4buRIOG7nyB04buJbmggR2lhIExhaSB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSB0xINuZyB0csaw4bufbmcga2jDoSBt4bqhbmggbeG6vS4gR2lhaSDEkW/huqFuIDIwMjAtMjAyMyB0xINuZyBjYW8gbMOqbiBraG/huqNuZyAwLDE1JSBzbyB24bubaSBuxINtIGfhu5FjIDIwMjAuDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBnb2xkOyI+Kio2LiBEw6JuIHPhu5EgVFAuIEjhu5MgQ2jDrSBNaW5oKio8L3NwYW4+DQoNCmBgYHtyfQ0KZDEzIDwtIGhpdTIlPiVzZWxlY3QoJ1llYXInLCAnSENNJykNCmQxMyAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEhDTSkpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gImdvbGQiLCBsaW5ld2lkdGggPSAxKSArDQogIGdlb21fcG9pbnQoY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnMoeCA9ICJZZWFyIiwgeSA9ICIoJSkiKSArDQogIGdndGl0bGUoIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gZMOibiBz4buRIOG7nyBUUC4gSOG7kyBDaMOtIE1pbmggIGdpYWkgxJFv4bqhbiAyMDIwLTIwMjMiKQ0KDQogICAgICAgICANCmBgYA0KDQpgYGB7cn0NCmQxMw0KYGBgDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBnb2xkOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KLSAgIEtoaSB0YSBxdWFuIHPDoXQga8SpIHRow6wgZ2lhaSDEkW/huqFuIHThu6sgbsSDbSAyMDIwLTIwMjEg4bufIFRQLiBI4buTIENow60gTWluaCBkw6JuIHPhu5EgY8OzIHPhu7EgZ2nhuqNtIHPDunQga2jDoSDEkcOhbmcga+G7gyB2w6Agc2F1IMSRw7MgZ2lhaSDEkW/huqFuIDIwMjEtMjAyMyBs4bqhaSB0xINuZyB0csaw4bufbmcgbeG6oW5oIG3hur0gdHLhu58gbOG6oWksIHTEg25nIGtob+G6o25nIGfhuqduIDAsMDIlIHNvIHbhu5tpIG7Eg20gMjAyMC4gU+G7sSBiaeG6v24gxJHhu5luZyDEkcOzIHjhuqN5IHJhIOG7nyBUUC4gSOG7kyBDaMOtIE1pbmggbMOgIHbDrDoNCg0KLSAgIFRyb25nIGdpYWkgxJFv4bqhbiBuw6B5IHRvw6BuIHRo4bq/IGdp4bubaSBwaOG6o2kgxJHDs24gY2jhu4t1IGPEg24gYuG7h25oIENPVklELTE5IG1hbmcgdMOtbmggdG/DoG4gY+G6p3UuIFZp4buHdCBOYW0gY2jDum5nIHRhIGPFqW5nIGtow7RuZyBuZ2/huqFpIGzhu4csIGThu4tjaCBi4buHbmggbMOieSBsYW4gbmhhbmggY2jDs25nIHbhu5tpIHBo4bqhbSB2aSB2w7QgY8O5bmcgcuG7mW5nIGzhu5tuLiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgY+G7pSB0aOG7gyBsw6AgdsOgbyDEkeG7o3QgZOG7i2NoIHRo4bupIDMgKHThu6sgxJHhuqd1IGN14buRaSB0aMOhbmcgNC8yMDE5KSB04bqhaSBUUCBI4buTIENow60gTWluaCDEkcOjIGLhu4sgYsO5bmcgZOG7i2NoIG3hu5l0IGPDoWNoIG7hurduZyBu4buBIHThu6sgxJHDsyDEkcOjIGzDoG0gZ2nhuqNtIG3huqFuaCB24buBIG3hurd0IGTDom4gc+G7kSBj4bunYSB0aMOgbmggcGjhu5EuDQoNCi0gICBEaSBjxrAgbmfGsOG7o2M6IEThu4tjaCBi4buHbmggQ09WSUQtMTkgxJHDoyB04bqhbyByYSBuaOG7r25nIGJp4buHbiBwaMOhcCBo4bqhbiBjaOG6vyBkaSBjaHV54buDbiB2w6AgZ2nhu5tpIGjhuqFuIGhv4bqhdCDEkeG7mW5nIGdpYW8gdGjDtG5nLiBOaGnhu4F1IG5nxrDhu51pIGTDom4sIMSR4bq3YyBiaeG7h3QgbMOgIG5o4buvbmcgbmfGsOG7nWkgZGkgY8awIHThu6sgY8OhYyB2w7luZyBraMOhYyB2w6BvIFRQLiBI4buTIENow60gTWluaCDEkeG7gyBsw6BtIHZp4buHYyBob+G6t2MgaOG7jWMgdOG6rXAsIGPDsyB0aOG7gyDEkcOjIHF1eeG6v3QgxJHhu4tuaCB0cuG7nyB24buBIHF1w6ogaMawxqFuZyBkbyBt4bqldCB2aeG7h2MgbMOgbSwgbeG6pXQgdGh1IG5o4bqtcCwgaG/hurdjIGxvIG5n4bqhaSB24buBIHTDrG5oIGjDrG5oIGThu4tjaCBi4buHbmguIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgxJHDoyBnw7NwIHBo4bqnbiB2w6BvIHPhu7EgZ2nhuqNtIHPDunQgZMOibiBz4buRIHThuqFpIHRow6BuaCBwaOG7kS4NCg0KLSAgIFTDoWMgxJHhu5luZyBraW5oIHThur86IEThu4tjaCBi4buHbmggQ09WSUQtMTkgxJHDoyBnw6J5IHJhIHTDoWMgxJHhu5luZyB0acOqdSBj4buxYyDEkeG6v24gbuG7gW4ga2luaCB04bq/LCBsw6BtIG3huqV0IHZp4buHYyBsw6BtIHbDoCB0aHUgbmjhuq1wIGPhu6dhIG5oaeG7gXUgbmfGsOG7nWkuIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgxJHDoyBraGnhur9uIG3hu5l0IHPhu5EgbmfGsOG7nWkgZMOibiwgxJHhurdjIGJp4buHdCBsw6Agbmjhu69uZyBuZ8aw4budaSBsYW8gxJHhu5luZyB04bqhbSB0aOG7nWkgaG/hurdjIGtow7RuZyBjw7MgbsahaSBsw6BtIHZp4buHYyDhu5VuIMSR4buLbmgsIHF1eeG6v3QgxJHhu4tuaCBkaSBjxrAgcmEga2jhu49pIFRQLiBI4buTIENow60gTWluaCDEkeG7gyB0w6xtIGtp4bq/bSBjxqEgaOG7mWkga2luaCBkb2FuaCBob+G6t2MgbMOgbSB2aeG7h2Mg4bufIG5o4buvbmcgbsahaSBraMOhYy4NCg0KLSAgIFTDoWMgxJHhu5luZyB0w6JtIGzDvSB2w6AgeMOjIGjhu5lpOiBE4buLY2ggYuG7h25oIENPVklELTE5IMSRw6MgZ8OieSByYSB0w6FjIMSR4buZbmcgdMOibSBsw70gdsOgIHjDoyBo4buZaSBs4bubbiDEkeG7kWkgduG7m2kgbmhp4buBdSBuZ8aw4budaSBkw6JuLiBMbyBuZ+G6oWkgduG7gSBz4bupYyBraOG7j2UsIG3huqV0IHZp4buHYyBsw6BtLCBraMOzIGtoxINuIHRyb25nIGN14buZYyBz4buRbmcgaMOgbmcgbmfDoHkgdsOgIGPDoWMgeeG6v3UgdOG7kSBraMOhYyBjw7MgdGjhu4MgxJHDoyBsw6BtIG3hu5l0IHPhu5EgbmfGsOG7nWkgcXV54bq/dCDEkeG7i25oIGRpIGNodXnhu4NuIMSRaSBjw6FjIHbDuW5nIG7DtG5nIHRow7RuIGhv4bq3YyB0cuG7nyB24buBIHF1w6ogaMawxqFuZyDEkeG7gyDEkcaw4bujYyDhu58gZ+G6p24gZ2lhIMSRw6xuaCwgY8OzIG3DtGkgdHLGsOG7nW5nIGFuIHRvw6BuIGjGoW4gdsOgIGNoaSBwaMOtIHPhu5FuZyB0aOG6pXAgaMahbi4NCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHBpbms7Ij4qKjcuIETDom4gc+G7kSBBbiBHaWFuZyoqPC9zcGFuPg0KDQpgYGB7cn0NCmQxNCA8LSBoaXUyJT4lc2VsZWN0KCdZZWFyJywgJ0FHJykNCmQxNCAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IEFHKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAicGluayIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBkw6JuIHPhu5Eg4bufIEFuIEdpYW5nIGdpYWkgxJFv4bqhbiAyMDIwLTIwMjMiKQ0KDQogICAgICAgICAgDQpgYGANCg0KYGBge3J9DQpkMTQNCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogcGluazsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNCi0gICBOaMOsbiBjaHVuZyBkw6JuIHPhu5EgdOG7iW5oIEFuIEdpYW5nIGtow7RuZyBjw7Mgc+G7sSBiaeG6v24gxJHhu5luZyBuaGnhu4F1IHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LiBU4burIG7Eg20gMjAyMC0yMDIyIGTDom4gc+G7kSBkxrDhu51uZyBuaMawIGtow7RuZyBjw7Mgc+G7sSB0aGF5IMSR4buVaSBs4bubbi4gTmjGsG5nIHThu6sgbsSDbSAyMDIyLTIwMjMgZMOibiBz4buRIGPDsyBz4buxIHTEg25nIHRyxrDhu59uZyBraMOhIHLDtSBy4buHdCwgdMSDbmcga2hv4bqjbmcgaMahbiAwLDAzJSBzbyB24bubaSBuxINtIDIwMjAuDQoNCiMjICoqMiBC4buYIEThu64gTEnhu4ZVIDI6IFBIw4JOIFTDjUNIIFbhu4AgVOG7iCBM4buGIEdJQSBUxIJORyBEw4JOIFPhu5Ag4bueIFZJ4buGVCBOQU0gR0lBSSDEkE/huqBOIDIwMTYtMjAyMioqDQoNCi0gICBUYSB0aeG6v24gaMOgbmggcGjDom4gdMOtY2ggduG7gSB04buJIGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSAoJSkg4bufIFZp4buHdCBOYW0gcXVhIDIgZ2lhaSDEkW/huqFuIGPhu6UgdGjhu4MgbMOgOiBnaWFpIMSRb+G6oW4gMSB04burIDIwMTYtMjAxOSB2w6AgZ2lhaSDEkW/huqFuIDIgdOG7qyAyMDE5LTIwMjIuDQoNCi0gICBNw6MgU1AuUE9QLkdST1cgxJHGsOG7o2MgdHLDrWNoIHThu6sgV29ybGQgQmFuayBsw6AgbeG7mXQgbcOjIHPhu5EgZMO5bmcgxJHhu4MgxJHhuqFpIGRp4buHbiBjaG8gY2jhu4kgc+G7kSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRIChQb3B1bGF0aW9uIGdyb3d0aCByYXRlKSB0cm9uZyBjxqEgc+G7nyBk4buvIGxp4buHdSBj4bunYSBXb3JsZCBCYW5rLiBDaOG7iSBz4buRIG7DoHkgdGjGsOG7nW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSRbyBsxrDhu51uZyB04bu3IGzhu4cgdMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kSBow6BuZyBuxINtIGPhu6dhIG3hu5l0IHF14buRYyBnaWEgaG/hurdjIGtodSB24buxYyBj4bulIHRo4buDLg0KDQotICAgTcOjIFNQLlBPUC5HUk9XIGzDoCBt4buZdCBtw6Mgc+G7kSBjaHXhuqluIGjDs2EgKHN0YW5kYXJkaXplZCBjb2RlKSB0cm9uZyBo4buHIHRo4buRbmcgcGjDom4gbG/huqFpIGThu68gbGnhu4d1IGPhu6dhIFdvcmxkIEJhbmssIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIGdoaSBuaOG6rW4gdsOgIHNvIHPDoW5oIGPDoWMgY2jhu4kgc+G7kSB0xINuZyB0csaw4bufbmcgZMOibiBz4buRIHRyw6puIHRvw6BuIGPhuqd1LiBLaGkgdMOsbSBraeG6v20gaG/hurdjIHRydXkgeHXhuqV0IGThu68gbGnhu4d1IHThu6sgV29ybGQgQmFuaywgbcOjIFNQLlBPUC5HUk9XIHPhur0gZ2nDunAgY2jDum5nIHRhIHjDoWMgxJHhu4tuaCB2w6AgdHJ1eSBj4bqtcCBjw6FjIGNo4buJIHPhu5EgdMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kSB0xrDGoW5nIOG7qW5nLg0KDQotICAgVOG7iSBs4buHIGdpYSB0xINuZyB04buxIG5oacOqbi8gdOG7iSBzdeG6pXQgZ2lhIHTEg25nIHThu7Egbmhpw6puIMSRw6MgxJHhu4EgY+G6rXAgxJHhur9uIHPhu7Ega2jDoWMgYmnhu4d0IGhheSBz4buxIGNow6puaCBs4buHY2ggZ2nhu69hIHThu4kgbOG7hyBzaW5oIHRow7QgdsOgIHThu4kgbOG7hyB04butIHZvbmcgdGjDtCBj4bunYSBt4buZdCBkw6JuIHPhu5EgbmjhuqV0IMSR4buLbmguDQoNCi0gICBT4buxIGdpYSB0xINuZyBkw6JuIHPhu5EgdOG7sSBuaGnDqm4gxJHGsOG7o2MgaGnhu4N1IGPGoSBi4bqjbiBsw6AgcXXDoSB0csOsbmggdMOhaSBz4bqjbiB4deG6pXQgZMOibiBjxrAsIHRo4bq/IGjhu4cgZ2nDoCDEkcaw4bujYyB0aGF5IHRo4bq/IGLhurFuZyB0aOG6vyBo4buHIHRy4bq7LiBU4buJIGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSB04buxIG5oacOqbiBjxaluZyBjaMOtbmggbMOgIHPhu5EgY2jDqm5oIGzhu4djaCBnaeG7r2EgdOG7iSBs4buHIHNpbmggdsOgIHThu60gdHJvbmcgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW4gdGjDtG5nIHRoxrDhu51uZyBz4bq9IGzDoCBt4buZdCBuxINtIHRyw6puIG3hu5l0IGzDo25oIHRo4buVIG5o4bqldCDEkeG7i25oLCB0w61uaCBi4bqxbmcgcGjhuqduIHRyxINtICglKS4NCg0KLSAgIFThu5UgY2jhu6ljIFkgdOG6vyBUaOG6vyBnaeG7m2kgKFdITykgY8OzIMSRxrDhu6NjIHThuqV0IGPhuqMgY8OhYyBnacOhIHRy4buLIMSRxrDhu6NjIHTDrW5oIHRvw6FuIGNobyBt4buXaSBxdeG7kWMgZ2lhIHRyw6puIHRvw6BuIHRo4bq/IGdp4bubaSDEkeG7gyB04burIMSRw7MgbMOqbiBr4bq/IGhv4bqhY2ggduG7gSBo4buXIHRy4bujIHThu6tuZyBxdeG7kWMgZ2lhLg0KDQotICAgV0hPIHPhu60gZOG7pW5nIGPDoWMgZ2nDoSB0cuG7iyBj4bunYSB04buRYyDEkeG7mSBnaWEgdMSDbmcgdOG7sSBuaGnDqm4gxJHhu4MgxJHDoW5oIGdpw6EgdGnhu4FuIHThu4csIG5ndeG7k24gbmjDom4gbOG7sWMgdsOgIHPhu7EgaOG7lyB0cuG7oyB24buBIG3hurd0IGvEqSB0aHXhuq10IGjhu40gxJHDoyBjdW5nIGPhuqVwIGNobyB04burbmcgcXXhu5FjIGdpYS4NCg0KKipDw7RuZyB0aOG7qWMgeMOhYyDEkeG7i25oIHThu4kgbOG7hyBnaWEgdMSDbmcgdOG7sSBuaGnDqm4gbmjGsCBzYXU6KioNCg0KLSAgIFThu4kgbOG7hyB0xINuZyB04buxIG5oacOqbiA9IChU4buJIGzhu4cgc2luaCB0aMO0IOKAkyBU4buJIGzhu4cgdOG7rSB2b25nIHRow7QpIC8gMTANCg0KLSAgIEPDoWMgZ2nDoSB0cuG7iyBj4bunYSB04buJIGzhu4cgc2luaCB0aMO0IHbDoCB04butIHZvbmcgdGjDtCBsw6AgdMOtbmggdHLDqm4gMTAwMCBuZ8aw4budaSB0dXkgbmhpw6puIGvhur90IHF14bqjIHTDrW5oIHRvw6FuIHThu4kgbOG7hyBnaWEgdMSDbmcgdOG7sSBuaGnDqm4gbMOgIOG7nyBk4bqhbmcgcGjhuqduIHRyxINtLg0KDQpWw60gZOG7pToNCg0KLSAgIE7hur91IG3hu5l0IHF14buRYyBnaWEgY8OzIHThu4kgbOG7hyBzaW5oIHRow7QgbMOgIDM2LDc5IHbDoCB04buJIGzhu4cgdOG7rSB2b25nIHRow7QgbMOgIDYsOTUgdGjDrDoNCg0KLSAgIFThu4kgbOG7hyB0xINuZyB04buxIG5oacOqbiA9IChU4buJIGzhu4cgc2luaCB0aMO0IOKAkyBU4buJIGzhu4cgdOG7rSB2b25nIHRow7QpIC8gMTAgPSA9ICgzNiw3OSDigJMgNiw5NSkgLyAxMCA9IDIuOTg0ICUNCg0KLSAgIERvIMSRw7MsIHThu4kgbOG7hyBnaWEgdMSDbmcgdOG7sSBuaGnDqm4gY+G7p2EgxJHhuqV0IG7GsOG7m2MgbMOgIDIuOTg0JS4NCg0KIyMjICoqMi4xIEdpYWkgxJFv4bqhbiAxKioNCg0KKipJLiBUYSB0aeG6v24gaMOgbmggcGjDom4gdMOtY2ggduG7gSB04buJIGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSAoJSkg4bufIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMTYtMjAxOS4qKg0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCnRjZDIgPC0gdGNkMSAlPiUgZmlsdGVyKCBDb3VudHJ5ID09ICdWaWV0IE5hbScsIFllYXIgPj0gMjAxNiAmIFllYXIgPD0gMjAxOSklPiUgc2VsZWN0KCdDb3VudHJ5JywnSXNvMmMnLCdZZWFyJywnVmFsdWUnKQ0KdGNkMiAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IFZhbHVlKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAicmVkIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJU4buJIGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSAoJSkg4bufIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQpgYGANCg0KYGBge3J9DQp0Y2QyDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IHJlZDsiPioqTmjhuq1uIHjDqXQ6Kio8L3NwYW4+DQoNClRyb25nIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTksIHThu4kgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRICglKSDhu58gVmnhu4d0IE5hbSDEkcOjIGdp4bqjbSBt4bqhbmggdOG7qyB0csOqbiAxJSB4deG7kW5nIGPDsm4ga2hv4bqjbmcgMC45JS4gTmjhu69uZyBsw60gZG8g4bqjbmggaMaw4bufbmcgxJHhur9uIHPhu7EgZ2nhuqNtIHPDunQgduG7gSB04buJIGzhu4cgbsOgeSBsw6A6DQoNCi0gICBHaeG6o20gdOG7tyBs4buHIHNpbmg6IFRyb25nIGdpYWkgxJFv4bqhbiDEkcOzLCBWaeG7h3QgTmFtIMSRw6MgZ2hpIG5o4bqtbiB24buBIHZp4buHYyBnaeG6o20gdOG7tyBs4buHIHNpbmggdOG7sSBuaGnDqm4sIHThu6ljIGzDoCB04bu3IGzhu4cgc2luaCB0cuG6uyBlbSB0csOqbiBt4buXaSBwaOG7pSBu4buvIHRyb25nIMSR4buZIHR14buVaSBzaW5oIHPhuqNuIMSRw6MgZ2nhuqNtLiBDw7MgbeG7mXQgc+G7kSB54bq/dSB04buRIGPDsyB0aOG7gyDEkcOzbmcgdmFpIHRyw7IgdHJvbmcgc+G7sSBnaeG6o20gbsOgeSwgYmFvIGfhu5NtIHPhu7EgZ2lhIHTEg25nIGPhu6dhIGNodeG7l2kgZ2nDoSB0cuG7iyBjw7RuZyBuZ2hp4buHcCwgc+G7sSBnaWEgdMSDbmcgY+G7p2EgY8O0bmcgxINuIHZp4buHYyBsw6BtIHRyb25nIGPDoWMgdGjDoG5oIHBo4buRIGzhu5tuIHbDoCBz4buxIGdpYSB0xINuZyBj4bunYSB0csOsbmggxJHhu5kgZ2nDoW8gZOG7pWMsIHThuqFvIMSRaeG7gXUga2nhu4duIGNobyBwaOG7pSBu4buvIHRoYW0gZ2lhIHbDoG8gbOG7sWMgbMaw4bujbmcgbGFvIMSR4buZbmcgdsOgIHF1eeG6v3QgxJHhu4tuaCBob8OjbiBzaW5oIGNvbiBob+G6t2MgZ2nhu5tpIGjhuqFuIHPhu5EgbMaw4bujbmcgY29uIGPDoWkuDQoNCi0gICBUxINuZyB0csaw4bufbmcga2luaCB04bq/IGNo4bqtbTogVOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgdGjGsOG7nW5nIGPDsyB4dSBoxrDhu5tuZyBnaeG6o20ga2hpIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gY2jhuq1tIGzhuqFpLiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgVmnhu4d0IE5hbSDEkcOjIGdoaSBuaOG6rW4gbeG7mXQgc+G7sSBnaeG6o20gdOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vyBzbyB24bubaSBjw6FjIG7Eg20gdHLGsOG7m2MgxJHDsy4gS2hpIGtpbmggdOG6vyBraMO0bmcgcGjDoXQgdHJp4buDbiBt4bqhbmgsIG5oaeG7gXUgbmfGsOG7nWkgY8OzIHRo4buDIHRyw6wgaG/Do24gdmnhu4djIHRow6BuaCBs4bqtcCBnaWEgxJHDrG5oIGhv4bq3YyBxdXnhur90IMSR4buLbmggY8OzIMOtdCBjb24gaMahbi4NCg0KLSAgIFRp4bq/biBi4buZIHRyb25nIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmg6IENow61uaCBwaOG7pyBWaeG7h3QgTmFtIMSRw6MgdHJp4buDbiBraGFpIGPDoWMgY2jDrW5oIHPDoWNoIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmggxJHhu4MgaOG6oW4gY2jhur8gdMSDbmcgdHLGsOG7n25nIGTDom4gc+G7kSB0cm9uZyBt4buZdCBz4buRIGdpYWkgxJFv4bqhbi4gQ8OhYyBjaMOtbmggc8OhY2ggbsOgeSBiYW8gZ+G7k20gxJHhuql5IG3huqFuaCBz4butIGThu6VuZyBiaeG7h24gcGjDoXAgaOG6oW4gY2jhur8gc2luaCBjb24gbmjGsCB0aeG6v3AgY+G6rW4gdsOgIHBow6JuIHBo4buRaSBjw6FjIGJp4buHbiBwaMOhcCB0csOhbmggdGhhaSwgdMSDbmcgY8aw4budbmcgZ2nDoW8gZOG7pWMgdsOgIHTGsCB24bqlbiB24buBIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmguIE5o4budIHbDoG8gY8OhYyBiaeG7h24gcGjDoXAgbsOgeSwgdOG7iSBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgxJHDoyBnaeG6o20gbeG6oW5oIHRyb25nIGdpYWkgxJFv4bqhbiAyMDE2LTIwMTkuDQoNCi0gICBUaeG6v24gYuG7mSB0cm9uZyB5IHThur8gdsOgIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lOiBWaeG7h3QgTmFtIMSRw6MgxJHhuqF0IMSRxrDhu6NjIHRp4bq/biBi4buZIMSRw6FuZyBr4buDIHRyb25nIGzEqW5oIHbhu7FjIHkgdOG6vyB2w6AgY2jEg20gc8OzYyBz4bupYyBraOG7j2UsIGJhbyBn4buTbSBjdW5nIGPhuqVwIGThu4tjaCB24bulIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIHNpbmggc+G6o24sIHTEg25nIGPGsOG7nW5nIHRpw6ptIGNo4bunbmcgdsOgIGPhuqNpIHRoaeG7h24gY2jhuqV0IGzGsOG7o25nIGThu4tjaCB24bulIHkgdOG6vy4gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gZ2nhuqNtIHThu7cgbOG7hyB04butIHZvbmcgdHLhursgZW0gdsOgIGdpYSB0xINuZyB0deG7lWkgdGjhu40sIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHThu4kgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRLg0KDQojIyMgKioyLjIgR2lhaSDEkW/huqFuIDIqKg0KDQoqKklJLiBUYSB0aeG6v24gaMOgbmggcGjDom4gdMOtY2ggduG7gSB04buJIGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSAoJSkg4bufIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMTktMjAyMi4qKg0KDQpgYGB7cn0NCnRjZDMgPC0gdGNkMSAlPiUgZmlsdGVyKCBDb3VudHJ5ID09ICdWaWV0IE5hbScsIFllYXIgPj0gMjAxOSAmIFllYXIgPD0gMjAyMiklPiUgc2VsZWN0KCdDb3VudHJ5JywnSXNvMmMnLCdZZWFyJywnVmFsdWUnKQ0KdGNkMyAlPiUgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IFZhbHVlKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAiYmx1ZSIsIGxpbmV3aWR0aCA9IDEpICsNCiAgZ2VvbV9wb2ludChjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlllYXIiLCB5ID0gIiglKSIpICsNCiAgZ2d0aXRsZSgiVOG7iSBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgKCUpIOG7nyBWaeG7h3QgTmFtIGdpYWkgxJFv4bqhbiAyMDE5LTIwMjIiKQ0KYGBgDQoNCmBgYHtyfQ0KdGNkMw0KYGBgDQoNCjxzcGFuIHN0eWxlID0iIGNvbG9yOiBibHVlOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KVHJvbmcgZ2lhaSDEkW/huqFuIDIwMTktMjAyMiwgdOG7iSBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgKCUpIOG7nyBWaeG7h3QgTmFtIMSRw6MgZ2nhuqNtIG3huqFuaCB04burIHRyw6puIDElIHh14buRbmcgY8OybiBraG/huqNuZyBkxrDhu5tpIDAuNzUlLiBCw6puIGPhuqFuaCDEkcOzIGPDsm4gY8OzIHPhu7EgYmnhur9uIMSR4buZbmcgduG7gSB04buJIGzhu4cgbsOgeSwgY+G7pSB0aOG7gzoNCg0KLSAgIFThu6sgbsSDbSAyMDE5LTIwMjAgdMSDbmcgbmjhurkgdOG7qyAwLjkwNCUgbMOqbiBraG/huqNuZyAwLDkwNiUNCg0KLSAgIFThu6sgbsSDbSAyMDIwLTIwMjIgbOG6oWkgZ2nhuqNtIHLhuqV0IG3huqFuaCB04burIGtob+G6o25nIDAsOTA2JSB4deG7kW5nIGtob+G6o25nIDAsNzM1JSBnaeG6o20gxJFpIHPhuqVwIHPhu4kgMCwxNyUNCg0KLSAgIEzDrSBkbyBk4bqrbiDEkeG6v24gc+G7sSBiaeG6v24gxJHhu5luZyB24buBIHThu4kgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5IGzDoCB2w6w6DQoNCi0gICDhuqJuaCBoxrDhu59uZyBj4bunYSBk4buLY2ggYuG7h25oOiBOxINtIDIwMjAgdsOgIDIwMjEgbMOgIHRo4budaSBnaWFuIG3DoCB0b8OgbiBj4bqndSBjaOG7qW5nIGtp4bq/bsSR4bqhaSBk4buLY2ggQ09WSUQtMTkuIEThu4tjaCBi4buHbmggbsOgeSBjw7MgdGjhu4MgxJHDoyDhuqNuaCBoxrDhu59uZyDEkeG6v24gdOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EuIEPDoWMgYmnhu4duIHBow6FwIGjhuqFuIGNo4bq/IGRpIGNodXnhu4NuLCBnacOjbiBjw6FjaCB4w6MgaOG7mWkgdsOgIGPDoWMgYmnhu4duIHBow6FwIHBow7JuZyBjaOG7kW5nIGThu4tjaCDEkcOjIGzDoG0gZ2nhuqNtIGto4bqjIG7Eg25nIHNpbmggc+G6o24gdsOgIGfDonkgcmEgc+G7sSBraMO0bmcgY2jhuq9jIGNo4bqvbiB24buBIHTGsMahbmcgbGFpLCBk4bqrbiDEkeG6v24gc+G7sSBnaeG6o20gdOG7tyBs4buHIHNpbmguDQoNCi0gICBUaGF5IMSR4buVaSB0cm9uZyBr4bq/IGhv4bqhY2ggZ2lhIMSRw6xuaDogVHJvbmcgbeG7mXQgc+G7kSBxdeG7kWMgZ2lhLCB4dSBoxrDhu5tuZyBnaeG6o20gdOG7tyBs4buHIHNpbmggY8OzIHRo4buDIGxpw6puIHF1YW4gxJHhur9uIHRoYXkgxJHhu5VpIHRyb25nIGvhur8gaG/huqFjaCBnaWEgxJHDrG5oIHbDoCBz4buxIHRoYXkgxJHhu5VpIHRyb25nIMO9IHRo4bupYyB24buBIHZp4buHYyBzaW5oIGNvbi4gTeG7mXQgc+G7kSBuZ8aw4budaSBjaOG7jW4gaG/Do24ga+G6vyBob+G6oWNoIHNpbmggY29uLCB04bqtcCB0cnVuZyB2w6BvIHPhu7EgbmdoaeG7h3AsIGdpw6FvIGThu6VjIGhv4bq3YyBjw6FjIHnhur91IHThu5Ega2jDoWMuIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgZOG6q24gxJHhur9uIHPhu7EgZ2nhuqNtIHThu7cgbOG7hyBzaW5oIHRyb25nIGdpYWkgxJFv4bqhbiDEkcOzLg0KDQotICAgS2luaCB04bq/IHbDoCB0w6BpIGNow61uaDogVMOsbmggdHLhuqFuZyBraW5oIHThur8gdsOgIHTDoGkgY2jDrW5oIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gcXV54bq/dCDEkeG7i25oIHNpbmggY29uIGPhu6dhIG3hu41pIG5nxrDhu51pLiBUcm9uZyBt4buZdCBtw7RpIHRyxrDhu51uZyBraW5oIHThur8ga2jDtG5nIOG7lW4gxJHhu4tuaCBob+G6t2Mga2hpIG3hu41pIG5nxrDhu51pIMSR4buRaSBt4bq3dCB24bubaSBz4buxIGtow7RuZyBjaOG6r2MgY2jhuq9uIHbhu4EgdMawxqFuZyBsYWksIG3hu5l0IHPhu5EgbmfGsOG7nWkgY8OzIHRo4buDIGNo4buNbiBob8OjbiBzaW5oIGNvbiBob+G6t2MgZ2nhu5tpIGjhuqFuIHPhu5EgbMaw4bujbmcgY29uIGPDoWkuDQoNCi0gICBUaGF5IMSR4buVaSB0cm9uZyBjxqEgY+G6pXUgdHXhu5VpIHTDoWM6IE5oaeG7gXUgcXXhu5FjIGdpYSDEkWFuZyB0cuG6o2kgcXVhIHF1w6EgdHLDrG5oIGdpw6AgaMOzYSBkw6JuIHPhu5EsIHRyb25nIMSRw7MgdOG7tyBs4buHIG5nxrDhu51pIGdpw6AgdMSDbmcgbMOqbiB0cm9uZyBraGkgdOG7tyBs4buHIG5nxrDhu51pIHRy4bq7IGdp4bqjbSDEkWkuIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgZOG6q24gxJHhur9uIHPhu7EgZ2nhuqNtIHThu7cgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIHThu7Egbmhpw6puLg0KDQojIyAqKjMgQuG7mCBE4buuIExJ4buGVSAzOiBQSMOCTiBUw41DSCBU4buIIEzhu4YgVFLhuqIgRU0gU0lOSCBSQSBUUlVORyBCw4xOSCBI4bqwTkcgTsSCTSDhu54gVknhu4ZUIE5BTSBHSUFJIMSQT+G6oE4gMjAxNi0yMDIyKioNCg0KLSAgIFRhIHRp4bq/biBow6BuaCBwaMOibiB0w61jaCB24buBIHThu4kgbOG7hyBzaW5oIHRydW5nIGLDrG5oIGjDoG5nIG7Eg20gKHPhu5EgdHLhursgZW0gc2luaCByYSBt4buXaSAxLjAwMCBuZ8aw4budaSkg4bufIFZp4buHdCBOYW0gcXVhIDIgZ2lhaSDEkW/huqFuIGPhu6UgdGjhu4MgbMOgOiBnaWFpIMSRb+G6oW4gMSB04burIDIwMTYtMjAxOSB2w6AgZ2lhaSDEkW/huqFuIDIgdOG7qyAyMDE5LTIwMjIuDQoNCi0gICBNw6MgIlNQLkRZTi5DQlJULklOIiB0csOqbiBXb3JsZCBCYW5rIGzDoCBtw6MgdGhhbSBjaGnhur91IGNobyBt4buZdCBjaOG7iSBz4buRIGRlbW9ncmFwaHkgKGTDom4gc+G7kSBo4buNYykgxJHGsOG7o2MgZ+G7jWkgbMOgICJDcnVkZSBCaXJ0aCBSYXRlIiAoQ0JSKSB0cm9uZyB0aeG6v25nIEFuaCwgY8OzIHTDqm4gZOG7i2NoIGzDoCAiVOG7tyBs4buHIHNpbmggc+G7kW5nIHThu7Egbmhpw6puIiB0cm9uZyB0aeG6v25nIFZp4buHdC4gxJDDonkgbMOgIG3hu5l0IGNo4buJIHPhu5EgdGjGsOG7nW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSRbyBsxrDhu51uZyBt4bupYyDEkeG7mSBzaW5oIMSR4bq7IGPhu6dhIG3hu5l0IHF14buRYyBnaWEgaG/hurdjIGtodSB24buxYy4NCg0KLSAgIFThu7cgbOG7hyBzaW5oIHPhu5FuZyB04buxIG5oacOqbiAoQ0JSKSBiaeG7g3UgdGjhu4sgc+G7kSB0cuG6uyBlbSDEkcaw4bujYyBzaW5oIHJhIHRyb25nIG3hu5l0IG7Eg20gY2hvIG3hu5dpIDEuMDAwIG5nxrDhu51pIGTDom4gdHJvbmcgZMOibiBz4buRLiBDaOG7iSBz4buRIG7DoHkgdGjGsOG7nW5nIMSRxrDhu6NjIHTDrW5oIGLhurFuZyBjw6FjaCBjaGlhIHThu5VuZyBz4buRIHRy4bq7IGVtIHNpbmggcmEgdHJvbmcgbeG7mXQgbsSDbSBjaG8gZMOibiBz4buRIHThu5VuZyB0aOG7gyB2w6AgbmjDom4gduG7m2kgMS4wMDAuDQoNCi0gICBDQlIgbMOgIG3hu5l0IHRyb25nIG5o4buvbmcgY2jhu4kgc+G7kSBxdWFuIHRy4buNbmcgxJHhu4MgxJHDoW5oIGdpw6EgdMOsbmggaMOsbmggZMOibiBz4buRIHbDoCB4dSBoxrDhu5tuZyBzaW5oIHPhuqNuIGPhu6dhIG3hu5l0IHF14buRYyBnaWEuIE7DsyBjdW5nIGPhuqVwIHRow7RuZyB0aW4gduG7gSBt4bupYyDEkeG7mSBzaW5oIMSR4bq7IHbDoCBjw7MgdGjhu4MgZ2nDunAgxJHDoW5oIGdpw6EgdMOsbmggaMOsbmggZ2lhIHTEg25nIGTDom4gc+G7kSwgxJFp4buBdSBjaOG7iW5oIGNow61uaCBzw6FjaCBkw6JuIHPhu5EsIGzhuq1wIGvhur8gaG/huqFjaCBnaWEgxJHDrG5oLCB2w6AgY8OhYyB24bqlbiDEkeG7gSBsacOqbiBxdWFuIMSR4bq/biB0xINuZyB0csaw4bufbmcgZMOibiBz4buRLg0KDQotICAgQ0JSIGPDsyB0aOG7gyB0aGF5IMSR4buVaSDEkcOhbmcga+G7gyBnaeG7r2EgY8OhYyBxdeG7kWMgZ2lhIHbDoCBraHUgduG7sWMga2jDoWMgbmhhdSwgcGjhuqNuIMOhbmggc+G7sSBraMOhYyBiaeG7h3QgduG7gSBt4bupYyDEkeG7mSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vywgZ2nDoW8gZOG7pWMsIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIHbDoCBjw6FjIHnhur91IHThu5EgeMOjIGjhu5lpIGtow6FjLiBDaOG6s25nIGjhuqFuLCBjw6FjIG7GsOG7m2MgxJFhbmcgcGjDoXQgdHJp4buDbiB0aMaw4budbmcgY8OzIHThu7cgbOG7hyBzaW5oIHPhu5FuZyB04buxIG5oacOqbiBjYW8gaMahbiBzbyB24bubaSBjw6FjIG7GsOG7m2MgcGjDoXQgdHJp4buDbiB2w6wgbeG7qWMgxJHhu5kgcGjDoXQgdHJp4buDbiBraW5oIHThur8gdsOgIHF1eeG7gW4gdHJ1eSBj4bqtcCB2w6BvIGThu4tjaCB24bulIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIGhp4buHdSBxdeG6oyB0aMaw4budbmcga2jDtG5nIMSRxrDhu6NjIMSR4bqjbSBi4bqjbyDEkeG6p3kgxJHhu6cuDQoNCi0gICBWw6wgduG6rXksIG3DoyAiU1AuRFlOLkNCUlQuSU4iIHRyw6puIFdvcmxkIEJhbmsgdGjhu4MgaGnhu4duIGNo4buJIHPhu5EgdOG7tyBs4buHIHNpbmggc+G7kW5nIHThu7Egbmhpw6puIChDcnVkZSBCaXJ0aCBSYXRlKSB2w6AgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgxJFvIGzGsOG7nW5nIG3hu6ljIMSR4buZIHNpbmggxJHhursgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSBob+G6t2Mga2h1IHbhu7FjIHRyb25nIG3hu5l0IG7Eg20uDQoNCi0gICBOw7NpIGPDoWNoIGtow6FjLCBTUC5EWU4uQ0JSVC5JTiBsw6AgdGjGsOG7m2MgxJFvIHThu7cgbOG7hyBs4bqhbSBwaMOhdCBow6BuZyBuxINtIMSRxrDhu6NjIHTDrW5oIHRvw6FuIGThu7FhIHRyw6puIHPhu7EgY2jDqm5oIGzhu4djaCBnaeG7r2EgY2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nIChDUEkpIGhp4buHbiB04bqhaSB2w6AgQ1BJIHRyb25nIHF1w6Ega2jhu6kuIEThu68gbGnhu4d1IG7DoHkgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDOg0KDQotICAgVGhlbyBkw7VpIHh1IGjGsOG7m25nIGzhuqFtIHBow6F0IHRoZW8gdGjhu51pIGdpYW4uDQoNCi0gICBTbyBzw6FuaCB04bu3IGzhu4cgbOG6oW0gcGjDoXQgZ2nhu69hIGPDoWMgcXXhu5FjIGdpYS4NCg0KLSAgIFBow6JuIHTDrWNoIHTDoWMgxJHhu5luZyBj4bunYSBjw6FjIGNow61uaCBzw6FjaCBraW5oIHThur8gxJHhu5FpIHbhu5tpIGzhuqFtIHBow6F0Lg0KDQotICAgxJDGsGEgcmEgcXV54bq/dCDEkeG7i25oIMSR4bqndSB0xrAgdsOgIGtpbmggZG9hbmguDQoNCiMjIyAqKjMuMSBHaWFpIMSRb+G6oW4gMSoqDQoNCioqSS4gVGEgdGnhur9uIGjDoG5oIHBow6JuIHTDrWNoIHbhu4EgdOG7iSBs4buHIHNpbmggdHJ1bmcgYsOsbmggaMOgbmcgbsSDbSAoc+G7kSB0cuG6uyBlbSBzaW5oIHJhIG3hu5dpIDEuMDAwIG5nxrDhu51pKSDhu58gVmnhu4d0IE5hbSBnaWFpIMSRb+G6oW4gMjAxNi0yMDE5LioqDQoNCmBgYHtyfQ0KYm8yIDwtIGJvMSAlPiUgZmlsdGVyKCBDb3VudHJ5ID09ICdWaWV0IE5hbScsIFllYXIgPj0gMjAxNiAmIFllYXIgPD0gMjAxOSklPiUgc2VsZWN0KCdDb3VudHJ5JywnSXNvMmMnLCdZZWFyJywnVmFsdWUnKQ0KYm8yICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gVmFsdWUpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJyZWQiLCBsaW5ld2lkdGggPSAxKSArDQogIGdlb21fcG9pbnQoY29sb3IgPSAiYmxhY2siKSArDQogIGxhYnMoeCA9ICJZZWFyIiwgeSA9ICIoJSkiKSArDQogIGdndGl0bGUoIlThu4kgbOG7hyBzaW5oIHRydW5nIGLDrG5oIGjDoG5nIG7Eg20g4bufIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMTYtMjAxOSIpDQpgYGANCg0KYGBge3J9DQpibzINCmBgYA0KDQo8c3BhbiBzdHlsZSA9IiBjb2xvcjogcmVkOyI+KipOaOG6rW4geMOpdDoqKjwvc3Bhbj4NCg0KLSAgIE5ow6xuIHbDoG8gYmnhu4N1IMSR4buTIHRyw6puLCB0YSB0aOG6pXkgxJHGsOG7o2MgeHUgaMaw4bubbmcgZGkgY2h1eeG7g24gY+G7p2EgxJHGsOG7nW5nIGxpbmUgbMOgIG3hu5l0IMSRxrDhu51uZyBrw6lvIGTDoGkgdOG7qyBnw7NjIHRyw6FpIGLDqm4gdHLDqm4geHXhu5FuZyBnw7NjIGTGsOG7m2kgYsOqbiBwaOG6o2kgdOG7qyDEkcOzIHRhIHRo4bqleSDEkcaw4bujYyB04buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBo4bqxbmcgbsSDbSDhu58gVmnhu4d0IE5hbSBjw7Mgc+G7sSBnaeG6o20gxJFpIMSRw6FuZyBr4buDIHThu6sgdHLDqm4gMTYsNCUgbsSDbSAyMDE2IGdp4bqjbSB4deG7kW5nIGPDsm4ga2hv4bqjbmcgMTUsNiUgbsSDbSAyMDE5LiBT4buxIGdp4bqjbSBzw7p0IG7DoHkgY8OzIHRo4buDIMSRxrDhu6NjIGvhu4MgxJHhur9uIGLhu59pIG5o4buvbmcgdMOhYyDEkeG7mW5nIHNhdSDEkcOieToNCg0KLSAgIENow61uaCBzw6FjaCBo4buXIHRy4bujIGdpYSDEkcOsbmg6IENow61uaCBwaOG7pyBWaeG7h3QgTmFtIMSRw6Mgw6FwIGThu6VuZyBjw6FjIGNow61uaCBzw6FjaCBo4buXIHRy4bujIGdpYSDEkcOsbmggbmjGsCBjaMOtbmggc8OhY2ggaMaw4bufbmcgbOG7o2kgdOG7qyB2aeG7h2Mgc2luaCBjb24gdGjhu6kgaGFpLCBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSB2w6AgZ2nDoW8gZOG7pWMgY2hvIHRy4bq7IGVtLiBDw6FjIGNow61uaCBzw6FjaCBuw6B5IGPDsyB0aOG7gyDEkcOjIOG6o25oIGjGsOG7n25nIMSR4bq/biBxdXnhur90IMSR4buLbmggc2luaCBjb24gY+G7p2EgY8OhYyBj4bq3cCB24bujIGNo4buTbmcgdsOgIGdp4bqjbSB04bu3IGzhu4cgc2luaCB0cnVuZyBiw6xuaC4NCg0KLSAgIE3hu6ljIMSR4buZIHBow6F0IHRyaeG7g24ga2luaCB04bq/OiBWaeG7h3QgTmFtIMSRw6MgY8OzIG3hu6ljIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gxJHDoW5nIGvhu4MgdHJvbmcgdGjhuq1wIGvhu7cgcXVhLiBW4bubaSBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/LCBuZ8aw4budaSBkw6JuIHRoxrDhu51uZyBjw7MgY8ahIGjhu5lpIHRp4bq/cCBj4bqtbiB04buRdCBoxqFuIMSR4bq/biBjw6FjIGThu4tjaCB24bulIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIHbDoCBnacOhbyBk4bulYywgY8WpbmcgbmjGsCBjw7MgxJHhu5luZyBs4buxYyBraW5oIHThur8gxJHhu4MgZ2lhIMSRw6xuaCBuaOG7jyBoxqFuLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIGThuqtuIMSR4bq/biBz4buxIGdp4bqjbSB04bu3IGzhu4cgc2luaCB0cnVuZyBiw6xuaC4NCg0KLSAgIFRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIGTDom4gc+G7kTogQ8OhYyBuxrDhu5tjIHRyb25nIHF1w6EgdHLDrG5oIHBow6F0IHRyaeG7g24gdGjGsOG7nW5nIHRy4bqjaSBxdWEgdGhheSDEkeG7lWkgY+G6pXUgdHLDumMgZMOibiBz4buRIHThu6sgZMOibiBz4buRIHRy4bq7IGjGsOG7m25nIMSR4bq/biBkw6JuIHPhu5EgZ2nDoCBoxqFuLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIGRvIHTEg25nIHR14buVaSB0aOG7jSwgZ2nhuqNtIHThu7cgbOG7hyB04butIHZvbmcsIHbDoCB0aGF5IMSR4buVaSB0cm9uZyBjw6FjIG3DtCBow6xuaCBnaWEgxJHDrG5oIHbDoCBxdXnhu4FuIHRydXkgY+G6rXAgdsOgbyBjw6FjIHBoxrDGoW5nIHRp4buHbiBo4buXIHRy4bujIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmguIFRoYXkgxJHhu5VpIG7DoHkgY8OzIHRo4buDIGfDs3AgcGjhuqduIHbDoG8gc+G7sSBnaeG6o20gdOG7tyBs4buHIHNpbmggdHJ1bmcgYsOsbmguDQoNCi0gICBUaGF5IMSR4buVaSB0cm9uZyBs4buxYSBjaOG7jW4gc+G7kSBjb246IFbhu5tpIHPhu7EgcGjDoXQgdHJp4buDbiBraW5oIHThur8gdsOgIG3hu58gcuG7mW5nIHF1eeG7gW4gdHJ1eSBj4bqtcCDEkeG6v24gY8OhYyBk4buLY2ggduG7pSBr4bq/IGhv4bqhY2ggaMOzYSBnaWEgxJHDrG5oLCBjw6FjIGPhurdwIHbhu6MgY2jhu5NuZyBjw7MgdGjhu4MgY8OzIG5oaeG7gXUgbOG7sWEgY2jhu41uIGjGoW4gduG7gSB2aeG7h2MgcXV54bq/dCDEkeG7i25oIHPhu5EgbMaw4bujbmcgY29uIGPDoWkuIFPhu7EgdGhheSDEkeG7lWkgdHJvbmcgw70gdGjhu6ljIHbDoCBs4buxYSBjaOG7jW4gbsOgeSBjw7MgdGjhu4MgZOG6q24gxJHhur9uIHPhu7EgZ2nhuqNtIHThu7cgbOG7hyBzaW5oIHRydW5nIGLDrG5oLg0KDQojIyMgKiozLjIgR2lhaSDEkW/huqFuIDIqKg0KDQoqKkkuIFRhIHRp4bq/biBow6BuaCBwaMOibiB0w61jaCB24buBIHThu4kgbOG7hyBzaW5oIHRydW5nIGLDrG5oIGjDoG5nIG7Eg20gKHPhu5EgdHLhursgZW0gc2luaCByYSBt4buXaSAxLjAwMCBuZ8aw4budaSkg4bufIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMTktMjAyMi4qKg0KDQotICAgVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIHRoZW8gc+G7kSBsaeG7h3UgdGjhu5FuZyBrw6ogdGjDrCBjaMawYSBjw7Mgc+G7kSBsaeG7h3UgduG7gSB04buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtIGNobyBuxINtIDIwMjIuIFbDrCB24bqteSwgY2jDum5nIHRhIHPhur0gdGnhur9uIGjDoG5oIHbhur0gYmnhu4N1IMSR4buTIGThu69hIHRyw6puIG5o4buvbmcgbsSDbSBjw7Mgc+G7kSBsaeG7h3UgY+G7pSB0aOG7gyDEkcOjIMSRxrDhu6NjIHRo4buRbmcga8OqIMSRw7MgbMOgIHThu6sgbsSDbSAyMDE5LTIwMjEuDQoNCmBgYHtyfQ0KYm8zIDwtIGJvMSAlPiUgZmlsdGVyKCBDb3VudHJ5ID09ICdWaWV0IE5hbScsIFllYXIgPj0gMjAxOSAmIFllYXIgPD0gMjAyMSklPiUgc2VsZWN0KCdDb3VudHJ5JywnSXNvMmMnLCdZZWFyJywnVmFsdWUnKQ0KYm8zICU+JSBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gVmFsdWUpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJibHVlIiwgbGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHggPSAiWWVhciIsIHkgPSAiKCUpIikgKw0KICBnZ3RpdGxlKCJU4buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtIOG7nyBWaeG7h3QgTmFtIGdpYWkgxJFv4bqhbiAyMDE5LTIwMjEiKQ0KYGBgDQoNCmBgYHtyfQ0KYm8zDQpgYGANCg0KPHNwYW4gc3R5bGUgPSIgY29sb3I6IGJsdWU7Ij4qKk5o4bqtbiB4w6l0OioqPC9zcGFuPg0KDQotICAgTmjDrG4gdsOgbyBiaeG7g3UgxJHhu5MgdHLDqm4sIHRhIGPFqW5nIG5ow6xuIG5o4bqtbiDEkcaw4bujYyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSB04buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBo4bqxbmcgbsSDbSDhu58gVmnhu4d0IE5hbSBjw7Mgc+G7sSBnaeG6o20gxJFpIG5oxrBuZyBraMO0bmcgxJHDoW5nIGvhu4MgdsOgIHThu4kgbOG7hyBnaeG6o20gdGjhuqVwIGjGoW4gc28gduG7m2kgZ2lhaSDEkW/huqFuIHRyxrDhu5tjLiBD4bulIHRo4buDIHRyb25nIGdpYWkgxJFv4bqhbiAyMDE5LTIwMjEgbsOgeSwgdOG7qyBraG/huqNuZyAxNSw2JSBuxINtIDIwMTkgZ2nhuqNtIHh14buRbmcgY8OybiAxNSUgbsSDbSAyMDIxLiBT4buxIGdp4bqjbSBzw7p0IHbhu4EgdOG7iSBs4buHIHNpbmggdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgbMOgIGRvOg0KDQotICAgVGnhur9wIGPhuq1uIHbDoCBxdXnhu4FuIHRydXkgY+G6rXAgxJHhur9uIGPDoWMgYmnhu4duIHBow6FwIGvhur8gaG/huqFjaCBow7NhIGdpYSDEkcOsbmg6IE7hur91IGPDsyBz4buxIGPhuqNpIHRoaeG7h24gdHJvbmcgdmnhu4djIGN1bmcgY+G6pXAgdGjDtG5nIHRpbiB2w6AgZOG7i2NoIHbhu6Uga+G6vyBob+G6oWNoIGjDs2EgZ2lhIMSRw6xuaCwgbmjGsCB2aeG7h2MgdMSDbmcgY8aw4budbmcgZ2nDoW8gZOG7pWMgdsOgIHTEg25nIGto4bqjIG7Eg25nIHRp4bq/cCBj4bqtbiBjw6FjIGJp4buHbiBwaMOhcCBr4bq/IGhv4bqhY2ggaMOzYSBnaWEgxJHDrG5oLCBuZ8aw4budaSBkw6JuIGPDsyB0aOG7gyBjw7Mgbmhp4buBdSBs4buxYSBjaOG7jW4gaMahbiB24buBIHF14bqjbiBsw70gc2luaCBz4bqjbiB2w6AgxJFp4buBdSBuw6B5IGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gZ2nhuqNtIHThu7cgbOG7hyBzaW5oLg0KDQotICAgVGhheSDEkeG7lWkgZ2nDoSB0cuG7iyBnaWEgxJHDrG5oIHbDoCDDvSB0aOG7qWMgY8OhIG5ow6JuOiBT4buxIHRoYXkgxJHhu5VpIHRyb25nIGdpw6EgdHLhu4sgZ2lhIMSRw6xuaCB2w6Agw70gdGjhu6ljIGPDoSBuaMOibiBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHF1eeG6v3QgxJHhu4tuaCBzaW5oIGNvbiBj4bunYSBjw6FjIGPhurdwIHbhu6MgY2jhu5NuZy4gTuG6v3UgY8OzIHPhu7EgdGhheSDEkeG7lWkgdHJvbmcgcXVhbiBuaeG7h20gduG7gSBz4buxIGPhuqduIHRoaeG6v3QgY+G7p2Egdmnhu4djIHNpbmggbmhp4buBdSBjb24gaG/hurdjIHPhu7EgdMSDbmcgY8aw4budbmcgbmjhuq1uIHRo4bupYyB24buBIHZp4buHYyBxdeG6o24gbMO9IHNpbmggc+G6o24sIHThu7cgbOG7hyBzaW5oIGPDsyB0aOG7gyBnaeG6o20uDQoNCi0gICBUaGF5IMSR4buVaSB0cm9uZyBj4bqldSB0csO6YyBkw6JuIHPhu5E6IE5oxrAgbeG7mXQgcXXhu5FjIGdpYSBwaMOhdCB0cmnhu4NuLCBWaeG7h3QgTmFtIGPDsyB0aOG7gyB0cuG6o2kgcXVhIHRoYXkgxJHhu5VpIHRyb25nIGPhuqV1IHRyw7pjIGTDom4gc+G7kSB04burIGTDom4gc+G7kSB0cuG6uyBoxrDhu5tuZyDEkeG6v24gZMOibiBz4buRIGdpw6AgaMahbi4gxJBp4buBdSBuw6B5IGPDsyB0aOG7gyBkbyB0xINuZyB0deG7lWkgdGjhu40sIGdp4bqjbSB04bu3IGzhu4cgdOG7rSB2b25nLCB2w6AgdGhheSDEkeG7lWkgdHJvbmcgY8OhYyBtw7QgaMOsbmggZ2lhIMSRw6xuaCB2w6AgcXV54buBbiB0cnV5IGPhuq1wIHbDoG8gY8OhYyBwaMawxqFuZyB0aeG7h24gaOG7lyB0cuG7oyBr4bq/IGhv4bqhY2ggaMOzYSBnaWEgxJHDrG5oLiBUaGF5IMSR4buVaSBuw6B5IGPDsyB0aOG7gyBnw7NwIHBo4bqnbiB2w6BvIHPhu7EgZ2nhuqNtIHThu7cgbOG7hyBzaW5oIHRydW5nIGLDrG5oLg0KDQojICoqUEjhuqZOIElJSTogVOG7lE5HIEvhur5UIELDgEkgVEnhu4JVIExV4bqsTioqDQoNCiMjIDEuIFThu5RORyBL4bq+VCBW4buAIETDgk4gU+G7kCB2SeG7hlQgTkFNIEdJQUkgxJBP4bqgTiAyMDE2LTIwMjMuDQoNClRyb25nIGdpYWkgxJFv4bqhbiB04burIDIwMTYgxJHhur9uIDIwMjMsIGTDom4gc+G7kSBWaeG7h3QgTmFtIMSRw6MgdHLhuqNpIHF1YSBt4buZdCBz4buRIGJp4bq/biDEkeG7lWkgdsOgIHh1IGjGsOG7m25nIHF1YW4gdHLhu41uZy4gRMaw4bubaSDEkcOieSBsw6AgbeG7mXQgdOG7lW5nIGvhur90IHbhu4EgZMOibiBz4buRIFZp4buHdCBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHk6DQoNCi0gICAqKlTEg25nIHRyxrDhu59uZyBkw6JuIHPhu5E6KiogRMOibiBz4buRIFZp4buHdCBOYW0gdGnhur9wIHThu6VjIHTEg25nIHRyxrDhu59uZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgbeG6t2MgZMO5IHThu5FjIMSR4buZIHTEg25nIMSRw6MgZ2nhuqNtIGThuqduLiBUaGVvIHRo4buRbmcga8OqIGPhu6dhIFThu5VuZyBj4bulYyBUaOG7kW5nIGvDqiBWaeG7h3QgTmFtLCBkw6JuIHPhu5EgbsSDbSAyMDE2IMaw4bubYyB0w61uaCBsw6Aga2hv4bqjbmcgOTIsNyB0cmnhu4d1IG5nxrDhu51pLCB2w6AgZMOibiBz4buRIG7Eg20gMjAyMyDGsOG7m2MgxJHhuqF0IGtob+G6o25nIDk3LDQgdHJp4buHdSBuZ8aw4budaS4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgc+G7sSBnaWEgdMSDbmcgZMOibiBz4buRIGPhu6dhIFZp4buHdCBOYW0gdHJvbmcgdGjhu51pIGdpYW4gbsOgeS4NCg0KLSAgICoqVOG7tyBs4buHIHNpbmggdsOgIHThu7cgbOG7hyB04butOioqIFRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCB04bu3IGzhu4cgc2luaCB2w6AgdOG7tyBs4buHIHThu60g4bufIFZp4buHdCBOYW0gxJHDoyBjw7Mgc+G7sSB0aGF5IMSR4buVaS4gVOG7tyBs4buHIHNpbmggxJHDoyBnaeG6o20gZOG6p24sIMSR4bqhdCBt4bupYyBraG/huqNuZyAyLDEgY29uL25nxrDhu51pIHbDoG8gbsSDbSAyMDE5LCB0aeG7h20gY+G6rW4gduG7m2kgbeG7qWMgc2luaCB0aGF5IHRo4bq/ICh04bupYyBsw6AgbeG7l2kgxJHDtGkgduG7oyBjaOG7k25nIGPDsyB0cnVuZyBiw6xuaCAyIGNvbikuIFRyb25nIGtoaSDEkcOzLCB04bu3IGzhu4cgdOG7rSBjxaluZyB0xINuZyBsw6puIGRvIHPhu7EgZ2lhIHTEg25nIHR14buVaSB0aOG7jSB2w6AgY+G6o2kgdGhp4buHbiB0cm9uZyBjaMSDbSBzw7NjIHPhu6ljIGto4buPZS4NCg0KLSAgICoqQ+G6o2kgdGhp4buHbiB24buBIHPhu6ljIGto4buPZSB2w6AgZ2nhuqNtIHThu7cgbOG7hyBuZ2jDqG8gxJHDs2k6KiogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIFZp4buHdCBOYW0gxJHDoyDEkeG6oXQgxJHGsOG7o2Mgbmjhu69uZyB0aeG6v24gYuG7mSDEkcOhbmcga+G7gyB0cm9uZyBsxKluaCB24buxYyBz4bupYyBraOG7j2UgdsOgIGdp4bqjbSB04bu3IGzhu4cgbmdow6hvIMSRw7NpLiBUdeG7lWkgdGjhu40gdHJ1bmcgYsOsbmggdMSDbmcgbMOqbiB2w6AgdOG7tyBs4buHIHThu60gdm9uZyBzxqEgc2luaCBnaeG6o20uIE5nb8OgaSByYSwgY2jDrW5oIHPDoWNoIGNoxINtIHPDs2Mgc+G7qWMga2jhu49lIGPFqW5nIMSRw6MgxJHGsOG7o2MgY+G6o2kgdGhp4buHbiwgxJHhuqNtIGLhuqNvIHRp4bq/cCBj4bqtbiBk4buLY2ggduG7pSB5IHThur8gY2hvIG5nxrDhu51pIGTDom4uIMSQaeG7gXUgbsOgeSDEkcOjIGfDs3AgcGjhuqduIGdp4bqjbSB04bu3IGzhu4cgbmdow6hvIMSRw7NpIHbDoCBuw6JuZyBjYW8gY2jhuqV0IGzGsOG7o25nIGN14buZYyBz4buRbmcgY+G7p2EgbmfGsOG7nWkgZMOibi4NCg0KLSAgICoqQ2h1eeG7g24gxJHhu5luZyBkw6JuIGPGsDoqKiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgc+G7sSBkaSBjxrAgbuG7mWkgxJHhu4thIHbDoCDEkcO0IHRo4buLIGjDs2EgdGnhur9wIHThu6VjIGRp4buFbiByYS4gQ8OhYyB0aMOgbmggcGjhu5EgbOG7m24gbmjGsCBIw6AgTuG7mWkgdsOgIFRQLkhDTSDEkcOjIHTEg25nIHRyxrDhu59uZyB24bubaSB04buRYyDEkeG7mSBuaGFuaCBjaMOzbmcsIHRodSBow7p0IMSRw7RuZyDEkeG6o28gbmfGsOG7nWkgZMOibiB04burIGPDoWMgdsO5bmcgbsO0bmcgdGjDtG4uIMSQaeG7gXUgbsOgeSBnw6J5IHJhIG3hu5l0IHPhu5EgdGjDoWNoIHRo4bupYyB24buBIHF14bqjbiBsw70gxJHDtCB0aOG7iywgaOG6oSB04bqnbmcgdsOgIHBow6JuIGLhu5EgZMOibiBjxrAuDQoNCi0gICAqKk3DtCBow6xuaCBnaWEgxJHDrG5oIHbDoCBj4bqldSB0csO6YyBkw6JuIHPhu5E6KiogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIG3DtCBow6xuaCBnaWEgxJHDrG5oIHbDoCBj4bqldSB0csO6YyBkw6JuIHPhu5EgY8WpbmcgxJHDoyBjw7Mgbmjhu69uZyB0aGF5IMSR4buVaS4gU+G7sSBnaWEgdMSDbmcgc+G7kSBsxrDhu6NuZyBnaWEgxJHDrG5oIGPDsyAxLTIgY29uIHbDoCBnaeG6o20gZOG6p24gc+G7kSBsxrDhu6NuZyBnaWEgxJHDrG5oIGPDsyAzIGNvbiB0cuG7nyBsw6puLiDEkOG7k25nIHRo4budaSwgdOG7tyBs4buHIG5nxrDhu51pIGdpw6AgdMSDbmcgbMOqbiBkbyB0xINuZyB0deG7lWkgdGjhu40gdsOgIGdp4bqjbSB04bu3IGzhu4cgc2luaC4gxJBp4buBdSBuw6B5IMSR4bq3dCByYSBjw6FjIHRow6FjaCB0aOG7qWMgduG7gSBjaMSDbSBzw7NjIG5nxrDhu51pIGNhbyB0deG7lWkgdsOgIHF14bqjbiBsw70gc+G7sSBnacOgIGjDs2EgZMOibiBz4buRLg0KDQojIyAyLiBU4buUTkcgS+G6vlQgVuG7gCBU4buIIEzhu4YgR0lBIFTEgk5HIETDgk4gU+G7kCB2SeG7hlQgTkFNIEdJQUkgxJBP4bqgTiAyMDE2LTIwMjMuDQoNClRyb25nIGdpYWkgxJFv4bqhbiB04burIDIwMTYgxJHhur9uIDIwMjMsIHThu4kgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIOG7nyBWaeG7h3QgTmFtIMSRw6MgZ2nhuqNtIHNvIHbhu5tpIGPDoWMgZ2lhaSDEkW/huqFuIHRyxrDhu5tjIMSRw7MsIG5oxrBuZyB24bqrbiBkdXkgdHLDrCDhu58gbeG7qWMg4buVbiDEkeG7i25oIHbDoCDEkcOhbmcga+G7gy4gRMaw4bubaSDEkcOieSBsw6AgbeG7mXQgdOG7lW5nIGvhur90IHbhu4EgdOG7iSBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHk6DQoNCi0gICAqKlThu7cgbOG7hyBnaWEgdMSDbmcgdOG7lW5nIGTDom4gc+G7kToqKiBU4bu3IGzhu4cgZ2lhIHTEg25nIHThu5VuZyBkw6JuIHPhu5Eg4bufIFZp4buHdCBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgZGFvIMSR4buZbmcgdOG7qyBraG/huqNuZyAxJSDEkeG6v24gMSwxJSBt4buXaSBuxINtLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgZMOibiBz4buRIFZp4buHdCBOYW0gdMSDbmcga2hv4bqjbmcgdOG7qyA5MDAuMDAwIMSR4bq/biAxIHRyaeG7h3UgbmfGsOG7nWkgbeG7l2kgbsSDbS4gVHV5IHThu7cgbOG7hyBuw6B5IMSRw6MgZ2nhuqNtIHNvIHbhu5tpIGPDoWMgZ2lhaSDEkW/huqFuIHRyxrDhu5tjIMSRw7MsIG5oxrBuZyB24bqrbiBjaG8gdGjhuqV5IHPhu7EgZ2lhIHTEg25nIGTDom4gc+G7kSDEkcOhbmcga+G7gy4NCg0KLSAgICoqVOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgdGhlbyDEkeG7mSB0deG7lWk6KiogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIHThu7cgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIOG7nyBjw6FjIMSR4buZIHR14buVaSBraMOhYyBuaGF1IGPDsyBz4buxIGJp4bq/biDEkeG7lWkuIFThu7cgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIHRy4bq7IChkxrDhu5tpIDE1IHR14buVaSkgxJHDoyBnaeG6o20gxJHDoW5nIGvhu4MsIHRyb25nIGtoaSB04bu3IGzhu4cgZ2lhIHTEg25nIGTDom4gc+G7kSDhu58gbmjDs20gdHXhu5VpIHRydW5nIG5pw6puICgxNS01OSB0deG7lWkpIHbDoCBuZ8aw4budaSBjYW8gdHXhu5VpICh0csOqbiA2MCB0deG7lWkpIGPDsyB4dSBoxrDhu5tuZyB0xINuZyBsw6puLiDEkGnhu4F1IG7DoHkgcGjhuqNuIMOhbmggc+G7sSB0aGF5IMSR4buVaSB0cm9uZyBj4bqldSB0csO6YyBkw6JuIHPhu5EgduG7m2kgc+G7sSBnacOgIGjDs2EgZMOibiBz4buRIGdpYSB0xINuZy4NCg0KLSAgICoqVMOhYyDEkeG7mW5nIGPhu6dhIGPDoWMgeeG6v3UgdOG7kSDEkeG7i2EgcGjGsMahbmc6KiogVOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5Eg4bufIGPDoWMgdsO5bmcgdsOgIMSR4buLYSBwaMawxqFuZyBjw7MgdGjhu4MgY8OzIHPhu7Ega2jDoWMgYmnhu4d0LiBDw6FjIHRow6BuaCBwaOG7kSBs4bubbiBuaMawIEjDoCBO4buZaSB2w6AgVFAuSENNIHRoxrDhu51uZyBjw7MgdOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgY2FvIGjGoW4gZG8gc+G7sSBkaSBjxrAgdOG7qyBjw6FjIHbDuW5nIG7DtG5nIHRow7RuIHbDoCB0aHUgaMO6dCDEkeG6p3UgdMawIGPDtG5nIHbDoCBraW5oIGRvYW5oLiBUcm9uZyBraGkgxJHDsywgbeG7mXQgc+G7kSB2w7luZyBuw7RuZyB0aMO0biBjw7MgdGjhu4MgZ+G6t3Aga2jDsyBraMSDbiB24buBIHThu7cgbOG7hyBnaWEgdMSDbmcgZMOibiBz4buRIGRvIHnhur91IHThu5Ega2luaCB04bq/IHbDoCBjxqEgc+G7nyBo4bqhIHThuqduZy4NCg0KLSAgICoqQ2jDrW5oIHPDoWNoIGjhuqFuIGNo4bq/IHNpbmg6KiogVHJvbmcgZ2lhaSDEkW/huqFuIG7DoHksIGNow61uaCBwaOG7pyBWaeG7h3QgTmFtIMSRw6Mgw6FwIGThu6VuZyBjw6FjIGNow61uaCBzw6FjaCBo4bqhbiBjaOG6vyBzaW5oIG5o4bqxbSBraeG7gW0gY2jhur8gdOG7kWMgxJHhu5kgZ2lhIHTEg25nIGTDom4gc+G7kS4gQ2jDrW5oIHPDoWNoIG7DoHkgYmFvIGfhu5NtIHZp4buHYyBraHV54bq/biBraMOtY2gga+G6vyBob+G6oWNoIGjDs2EgZ2lhIMSRw6xuaCwgdMSDbmcgY8aw4budbmcgdGjDtG5nIHRpbiBnacOhbyBk4bulYyB24buBIHPhu6ljIGto4buPZSBzaW5oIHPhuqNuIHbDoCB0xINuZyBjxrDhu51uZyBxdeG6o24gbMO9IHTDrG5oIGjDrG5oIGTDom4gc+G7kS4gTmjhu50gY8OhYyBjaMOtbmggc8OhY2ggbsOgeSwgdOG7tyBs4buHIGdpYSB0xINuZyBkw6JuIHPhu5EgxJHDoyBnaeG6o20gZOG6p24gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkuDQoNCiMjIDMuIFThu5RORyBL4bq+VCBW4buAIFThu4ggTOG7hiBTSU5IIFRSVU5HIELDjE5IIEjhurBORyBOxIJNIOG7niBWSeG7hlQgTkFNLg0KDQpUcm9uZyBnaWFpIMSRb+G6oW4gMjAxNi0yMDIzLCB04buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtIChz4buRIHRy4bq7IGVtIHNpbmggcmEgbeG7l2kgMS4wMDAgbmfGsOG7nWkpIOG7nyBWaeG7h3QgTmFtIMSRw6MgY8OzIHPhu7EgZ2nhuqNtIGThuqduLiBExrDhu5tpIMSRw6J5IGzDoCBt4buZdCB04buVbmcga+G6v3QgduG7gSB04buJIGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5Og0KDQotICAgKipU4bu3IGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtOioqIFThu7cgbOG7hyBzaW5oIHRydW5nIGLDrG5oIGjDoG5nIG7Eg20g4bufIFZp4buHdCBOYW0gxJHDoyBnaeG6o20gdOG7qyBraG/huqNuZyAxNi0xNyB0cuG6uyBlbSBzaW5oIHJhIG3hu5dpIDEuMDAwIG5nxrDhu51pIHbDoG8gbsSDbSAyMDE2IHh14buRbmcgY8OybiBraG/huqNuZyAxNC0xNSB0cuG6uyBlbSBzaW5oIHJhIG3hu5dpIDEuMDAwIG5nxrDhu51pIHbDoG8gbsSDbSAyMDIzLiDEkGnhu4F1IG7DoHkgY2hvIHRo4bqleSBt4buZdCB4dSBoxrDhu5tuZyBnaeG6o20gdOG7tyBs4buHIHNpbmggdHJvbmcgdGjhu51pIGdpYW4gbsOgeS4NCg0KLSAgICoqQ2jDrW5oIHPDoWNoIGjhuqFuIGNo4bq/IHNpbmg6KiogTeG7mXQgc+G7kSBjaMOtbmggc8OhY2ggaOG6oW4gY2jhur8gc2luaCDEkcOjIMSRxrDhu6NjIMOhcCBk4bulbmcgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgbmjhurFtIGtp4buBbSBjaOG6vyB04buRYyDEkeG7mSBnaWEgdMSDbmcgZMOibiBz4buRLiBDaMOtbmggc8OhY2ggbsOgeSBiYW8gZ+G7k20gdmnhu4djIGtodXnhur9uIGtow61jaCBr4bq/IGhv4bqhY2ggaMOzYSBnaWEgxJHDrG5oLCB0xINuZyBjxrDhu51uZyB0aMO0bmcgdGluIGdpw6FvIGThu6VjIHbhu4Egc+G7qWMga2jhu49lIHNpbmggc+G6o24gdsOgIHTEg25nIGPGsOG7nW5nIHF14bqjbiBsw70gdMOsbmggaMOsbmggZMOibiBz4buRLiBOaOG7nSBjw6FjIGNow61uaCBzw6FjaCBuw6B5LCB04bu3IGzhu4cgc2luaCB0cnVuZyBiw6xuaCBow6BuZyBuxINtIMSRw6MgY8OzIHh1IGjGsOG7m25nIGdp4bqjbS4NCg0KLSAgICoqVGhheSDEkeG7lWkgY+G6pXUgdHLDumMgZ2lhIMSRw6xuaDoqKiBUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgY+G6pXUgdHLDumMgZ2lhIMSRw6xuaCDhu58gVmnhu4d0IE5hbSBjxaluZyDEkcOjIGPDsyBuaOG7r25nIHRoYXkgxJHhu5VpLiBT4buxIGdpYSB0xINuZyBz4buRIGzGsOG7o25nIGdpYSDEkcOsbmggY8OzIDEtMiBjb24gdsOgIGdp4bqjbSBk4bqnbiBz4buRIGzGsOG7o25nIGdpYSDEkcOsbmggY8OzIDMgY29uIHRy4bufIGzDqm4gY8WpbmcgY8OzIHTDoWMgxJHhu5luZyDEkeG6v24gdOG7tyBs4buHIHNpbmggdHJ1bmcgYsOsbmggaMOgbmcgbsSDbS4gTmjhu69uZyBnaWEgxJHDrG5oIGPDsyDDrXQgY29uIGjGoW4gY8OzIHRo4buDIGzDoCBt4buZdCBr4bq/dCBxdeG6oyBj4bunYSBjw6FjIGNow61uaCBzw6FjaCBo4bqhbiBjaOG6vyBzaW5oIHbDoCBz4buxIHRoYXkgxJHhu5VpIHRyb25nIHTGsCBkdXkgduG7gSBr4bq/IGhv4bqhY2ggaMOzYSBnaWEgxJHDrG5oLg0KDQojICoqUEjhuqZOIElJSTogTOG7nEkgVFJJIMOCTioqDQoNCkzhu51pIHRyaSDDom4gxJHhur9uIFRo4bqneSBUcuG6p24gTeG6oW5oIFTGsOG7nW5nLA0KDQpFbSBtdeG7kW4gZ+G7rWkgbOG7nWkgdHJpIMOibiBjaMOibiB0aMOgbmggxJHhur9uIFRo4bqneSBUcuG6p24gTeG6oW5oIFTGsOG7nW5nLCBuZ8aw4budaSDEkcOjIHRy4buxYyB0aeG6v3AgaMaw4bubbmcgZOG6q24gdsOgIGdp4bqjbmcgZOG6oXkgYuG7mSBtw7RuIG5nw7RuIG5n4buvIGzhuq1wIHRyw6xuaCB0csOqbiBwaOG6p24gbeG7gW0gUnN0dWRpby4gTmjhu50gc+G7sSB04bqtbiB0w6JtIHbDoCBraeG6v24gdGjhu6ljIHPDonUgcuG7mW5nIGPhu6dhIFRo4bqneSwgZW0gxJHDoyDEkcaw4bujYyBo4buNYyBo4buPaSB2w6AgdHJhbmcgYuG7iyBuaOG7r25nIGvhu7kgbsSDbmcgcXVhbiB0cuG7jW5nIHRyb25nIGzEqW5oIHbhu7FjIG7DoHkuDQoNClRo4bqneSBraMO0bmcgY2jhu4kgdHJ1eeG7gW4gxJHhuqF0IGtp4bq/biB0aOG7qWMgbeG7mXQgY8OhY2ggcsO1IHLDoG5nIHbDoCBk4buFIGhp4buDdSwgbcOgIGPDsm4gdOG6oW8gxJFp4buBdSBraeG7h24gY2hvIHTDtGkgdsOgIGPDoWMgYuG6oW4gaOG7jWMgc2luaCBraMOhYyDEkeG7gyB0aOG7sWMgaMOgbmggdsOgIMOhcCBk4bulbmcga2nhur9uIHRo4bupYyB2w6BvIHRo4buxYyB04bq/LiBUaOG6p3kgxJHDoyBsdcO0biBz4bq1biBsw7JuZyBnaeG6o2kgxJHDoXAgbeG7jWkgdGjhuq9jIG3huq9jIGPhu6dhIGNow7puZyBlbSwgdOG6oW8gcmEgbeG7mXQgbcO0aSB0csaw4budbmcgaOG7jWMgdOG6rXAgdMOtY2ggY+G7sWMgdsOgIMSR4buZbmcgbOG7sWMuDQoNCk5o4budIHPhu7EgaMaw4bubbmcgZOG6q24gY+G7p2EgVGjhuqd5LCBlbSBoaeG7g3UgcsO1IGjGoW4gduG7gSBwaOG6p24gbeG7gW0gUnN0dWRpbyB2w6Agw6FwIGThu6VuZyBuw7MgdsOgbyBuZ2hpw6puIGPhu6l1IGNobyBjw7RuZyB2aeG7h2MgaOG7jWMgdOG6rXAgY+G7p2EgbcOsbmguIE5o4buvbmcga2nhur9uIHRo4bupYyB2w6Aga+G7uSBuxINuZyDEkcaw4bujYyBow6xuaCB0aMOgbmggZMaw4bubaSBz4buxIGNo4buJIGThuqtuIGPhu6dhIFRo4bqneSDEkcOjIGfDs3AgcGjhuqduIHF1YW4gdHLhu41uZyB2aeG7h2Mgw6FwIGThu6VuZyB2w6BvIGPDoWMgbcO0biBo4buNYyBsacOqbiBxdWFuIGtow6FjIGPhu6dhIGVtLg0KDQpFbSB4aW4gYsOgeSB04buPIGzDsm5nIGJp4bq/dCDGoW4gc8OidSBz4bqvYyB2w6AgdHJpIMOibiBUaOG6p3kgVHLhuqduIE3huqFuaCBUxrDhu51uZyDEkcOjIGTDoG5oIHRo4budaSBnaWFuLCBjw7RuZyBz4bupYyB2w6Aga2nhur9uIHRo4bupYyBj4bunYSBtw6xuaCDEkeG7gyB0cnV54buBbiDEkeG6oXQgdsOgIGjGsOG7m25nIGThuqtuIGNow7puZyBlbS4gRW0gc+G6vSBsdcO0biBtYW5nIHRoZW8gbmjhu69uZyBraeG6v24gdGjhu6ljIHbDoCBraW5oIG5naGnhu4dtIG3DoCBUaOG6p3kgxJHDoyB0cnV54buBbiDEkeG6oXQgdsOgIMOhcCBk4bulbmcgY2jDum5nIHbDoG8gY8O0bmcgdmnhu4djLCBo4buNYyB04bqtcCB2w6AgY3Xhu5ljIHPhu5FuZy4NCg0KTeG7mXQgbOG6p24gbuG7r2EsIGVtIHhpbiBjaMOibiB0aMOgbmggY+G6o20gxqFuIHbDoCB0cmkgw6JuIFRo4bqneSBUcuG6p24gTeG6oW5oIFTGsOG7nW5nIHbDrCBz4buxIGjGsOG7m25nIGThuqtuIHbDoCDEkcOzbmcgZ8OzcCBxdcO9IGLDoXUgY+G7p2EgVGjhuqd5IHRyb25nIHF1w6EgdHLDrG5oIGjhu41jIHThuq1wIGPhu6dhIGVtLg0KDQpD4bqjbSDGoW4gdGjhuqd5IFRy4bqnbiBN4bqhbmggVMaw4budbmcgxJHDoyBkw6BuaCB0aOG7nWkgZ2lhbiDEkeG7jWMgcXVhIGLDoGkgdGnhu4N1IGx14bqtbiBj4bunYSBlbS4gSHkgduG7jW5nIGLDoGkgdGnhu4N1IGx14bqtbiBuw6B5IHPhur0gY8OzIHRo4buDIGdpw7pwIMOtY2ggY2hvIG5o4buvbmcgYWkgbXXhu5FuIHTDrG0gaGnhu4N1IHbDoCBjw7MgdGjhu4MgaGnhu4N1IHLDtSBoxqFuIHbhu4Egc+G7sSBiaeG6v24gxJHhu5luZyBkw6JuIHPhu5EgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxNi0yMDIzLg0K