1. Giới thiệu về khái quát về FDI và INDICATOR

  • FDI là thước đo để đánh giá sức khỏe của một nền kinh tế và đại diện cho tổng giá trị của hàng hóa và dịch vụ được sản xuất trong một nền kinh tế. Mục đích của nhiệm vụ này là phân tích FDI theo quốc gia và dữ liệu trước khi xử lý bằng cách sử dụng kiến thức thu được trong suốt mô-đun tiền xử lý dữ liệu.

1.1 Giới thiệu về BX.KLT.DINV.WD.GD.ZS trích xuất từ WorldBank

  • Sử dụng hàm WDIsearch để tìm kiếm các chỉ báo liên quan đến “Tổng vốn đầu tư nước ngoài” (Total) trong cơ sở dữ liệu World Development Indicators (WDI).

  • Bộ dữ liệu được lưu trữ trong biến ind.

  • Sử dụng hàm WDI để truy xuất dữ liệu cho một chỉ báo cụ thể từ cơ sở dữ liệu WDI.

    • Indicator: Mã định danh của chỉ số bạn muốn tải xuống. Trong trường hợp này, mã là “BX.KLT.DINV.WD.GD.ZS”.

    • Country: Một vectơ chứa tên các quốc gia bạn muốn lấy dữ liệu. Trong trường hợp này, vectơ chỉ chứa một phần tử “VNM” là Việt Nam

  • Hàm WDI sẽ trả về một data frame chứa dữ liệu thực tế cho chỉ số được chỉ định và quốc gia được chọn.

library(tidyverse)
library(WDI)
library(data.table)
fdi <- WDI(indicator = 'BX.KLT.DINV.WD.GD.ZS',country = c('VNM'))
  • Đoạn mã “BX.KLT.DINV.WD.GD.ZS” là mã chỉ báo cho Tổng vốn đầu tư trực tiếp nước ngoài (FDI) ròng, theo giá trị hiện tại

(USD) trong bộ dữ liệu World Development Indicators (WDI).

  • Phân tích:

    • BX: Mã khu vực (Bank code) - “BX” đại diện cho “East Asia & Pacific” (Đông Á & Thái Bình Dương).

    • KLT: Nhóm chủ đề (Indicator group) - “KLT” đại diện cho “National Accounts”.

    • DINV: Chủ đề (Topic) - “DINV” đại diện cho “Direct investment, net inflows”.

    • WD: Loại dữ liệu (Data type) - “WD” đại diện cho “Current US”. - GD: Biến thể (Variant) - “GD” đại diện cho “Gross”. - ZS: Loại giá trị (Value type) - “ZS” đại diện cho “Z-scores”. Ý nghĩa: Mã này cho biết dữ liệu

được yêu cầu là: - Tổng vốn đầu tư trực tiếp nước ngoài (FDI) ròng (Net inflows) - Được tính theo giá trị hiện tại (Current US)

  • Bộ dữ liệu có 63 quan sát và 5 biến:

    • Country: khu vực

    • iso2c: mã quốc gia trong bộ dữ liệu.

    • iso3c: tên quốc gia.

    • year: năm của mỗi quan sát.

    • BX.KLT.DINV.WD.GD.ZS: Tổng vốn đầu tư nước ngoài(USD)

1.2 Giới thiệu về INDICATOR PCPIO_IX từ IFM

library(imf.data)
tmp <- load_datasets('CPI')
cpi <- tmp$get_series(freq = 'M', ref_area = 'VN', indicator = 'PCPIO_IX')
cpi <- na.omit(cpi)
names(cpi) <- c('ThoiGian','NamGoc','CPI')
cpi <- head(cpi,20)
  • Giải thích các câu lệnh:
    • library(imf.data): Tải gói imf.data để truy cập và tải dữ liệu từ Quỹ Tiền tệ Quốc tế (IMF).
    • freq = ‘M’: Tần suất dữ liệu theo tháng (Monthly).
    • ref_area = ‘VN’: Khu vực tham chiếu là Việt Nam.
    • indicator = ‘NfdiNPI_EUR’: Chỉ số giá tiêu dùng với đồng tiền cơ sở là Euro.
    • Lưu kết quả vào biến cpi.
    • cpi <- na.omit(cpi): Xóa các dòng chứa giá trị thiếu (NA) trong bảng dữ liệu cpi.
    • names(cpi) <- c(‘ThoiGian’,‘NamGoc’,‘CPI’): Đổi tên các cột trong bảng dữ liệu cpi:
    • Cột thứ nhất: ThoiGian (có thể chứa thời gian hoặc mã thời gian).
    • Cột thứ hai: NamGoc (năm gốc của chỉ số CPI).
    • Cột thứ ba: CPI (giá trị CPI).
    • head(cpi): Hiển thị 6 dòng đầu tiên của bảng dữ liệu cpi để xem tổng quan dữ liệu đã được xử lý.

2. Phân tích về BX.KLT.DINV.WD.GD.ZS theo giai đoạn

2.1 Lượt bỏ các số liệu thiếu ra khỏi dữ liệu để phân tích

library(ggplot2)
fdi <- na.omit(fdi)
  • na.omit(d): Hàm na.omit được sử dụng để loại bỏ các giá trị thiếu (NA) khỏi data frame pmc.

2.1 Phân tích giai đoạn 1885- 2000

fdi %>% filter(year >= 1885 & year <= 2000) %>%
  ggplot(aes(x=year, y=BX.KLT.DINV.WD.GD.ZS)) +
  geom_line(color='red', linewidth =1) +
  labs(title = 'Biểu đồ thể hiện tốc độ tăng trưởng vốn đầu tư nước ngoài từ 1885- 2000')

  • Biểu đồ đường thể hiện tốc độ tăng trưởng của tổng vốn đầu tư giai đoạn 1885-2000 ta thấy:

    • Trục tung thể hiện số liệu tổng vốn đầu tư

    • Trục hoành thể hiện năm

    • Năm 1990-1993 có sự phát triển vượt bật trong giai đoạn này cho thấy các nước chú trọng đầu tư vào nền kinh tế của Việt Nam cho thấy tiềm lực phát triển của Việt Nam

    • Năm 1994- 2000 là giai đoạn có mức độ phát triển chậm và tươgn đối giảm so với giai đoạn trước

2.2 Phân tích giai đoạn 2001- 2011

fdi %>% filter(year >= 2001 & year <= 2011) %>%
  ggplot(aes(x=year, y=BX.KLT.DINV.WD.GD.ZS)) +
  geom_line(color='green', linewidth =1) +
  labs(title = 'Biểu đồ thể hiện tốc độ tăng trưởng vốn đầu tư nước ngoài từ 2001- 2011')

  • Biểu đồ đường thể hiện tốc độ tăng trưởng của tổng vốn đầu tư giai đoạn 2001-2011 ta thấy:

    • Trục tung thể hiện số liệu tổng vốn đầu tư

    • Trục hoành thể hiện năm

    • Năm 2006-2008 có sự phát triển vượt bật trong giai đoạn này cho thấy các nước chú trọng đầu tư vào nền kinh tế của Việt Nam cho thấy tiềm lực phát triển của Việt Nam

    • Năm 2008- 2011 là giai đoạn có mức độ phát triển chậm và tương đối giảm so với giai đoạn trước

    • Năm 2001- 2006 là giai đoạn mức độ đầu tư của nước ngoài nằm ở mức ổn định ko có sự bứt phá hay sụt giảm

2.3 Phân tích giai đoạn 2012-2022

fdi %>% filter(year >= 2012 & year <= 2022) %>%
  ggplot(aes(x=year, y=BX.KLT.DINV.WD.GD.ZS)) +
  geom_line(color='purple', linewidth =1) +
  labs(title = 'Biểu đồ thể hiện tốc độ tăng trưởng vốn đầu tư nước ngoàitừ 2001- 2011')

  • Biểu đồ đường thể hiện tốc độ tăng trưởng của tổng vốn đầu tư giai đoạn 2012-2022 ta thấy:

    • Trục tung thể hiện số liệu tổng vốn đầu tư

    • Trục hoành thể hiện năm

    • Năm 2014-2018 có sự phát triển vượt bật trong giai đoạn này cho thấy các nước chú trọng đầu tư vào nền kinh tế của Việt Nam cho thấy tiềm lực phát triển của Việt Nam

    • Năm 2012- 2014 là giai đoạn có mức độ phát triển chậm và tương đối giảm so với giai đoạn trước

    • Năm 2018- 2022 là giai đoạn mức độ đầu tư của nước ngoài nằm giảm mạnh so với giai đoạn trước

2.4 Các yếu tố ảnh hưởng tới quyết định chi tiêu của chính phủ ở nước ta ảnh hưởng tới nguồn đầu tư nước ngoài:

  • Môi trường đầu tư:

  • Chính sách đầu tư:

    • Mức độ ưu đãi thuế, chính sách hỗ trợ nhà đầu tư.

    • Hệ thống pháp luật minh bạch, ổn định và dễ dự đoán.

    • Thủ tục hành chính đơn giản, nhanh chóng.

  • Cơ sở hạ tầng:

    • Hệ thống giao thông, thông tin liên lạc, năng lượng phát triển.

    • Khu công nghiệp, khu chế xuất được quy hoạch bài bản.

  • Chất lượng nguồn nhân lực:

    • Lực lượng lao động trẻ, dồi dào, có trình độ học vấn và kỹ năng ngày càng cao.

    • Chi phí lao động cạnh tranh.

  • Thị trường:

  • Quy mô thị trường:

    • Dân số Việt Nam đông, trẻ và đang tăng trưởng.

    • Nhu cầu tiêu dùng ngày càng cao.

    • Mức độ hội nhập kinh tế quốc tế:

  • Việt Nam tham gia nhiều Hiệp định thương mại tự do (FTA), tạo điều kiện thuận lợi cho xuất nhập khẩu.

  • Thị trường Việt Nam được kết nối với thị trường của các nước khác trong khu vực và trên thế giới.

  • Yếu tố bên ngoài:

    • Sự ổn định chính trị:

    • Môi trường chính trị ổn định, an ninh đảm bảo.

  • Văn hóa và phong tục tập quán:

    -Văn hóa thân thiện, cởi mở, chào đón nhà đầu tư nước ngoài.

3. Phân tích về PCPIO_IX từ IMF

  • PCPIO_IX là viết tắt của Personal Consumption Expenditures Price Index, Excluding Food and Energy, hay Chỉ số giá chi tiêu tiêu dùng cá nhân, loại trừ thực phẩm và năng lượng.
ggplot(data = cpi, aes(x = `ThoiGian`, y = CPI)) +
  geom_col(fill = "orange", color = "black") +
  labs(x = "ThoiGian",y = "Chỉ số giá tiêu dùng (CPI)") +
  ggtitle("Biểu đồ chỉ số giá tiêu dùng (CPI) so với năm 2019 (2002 - 2005)") +
  theme_minimal() + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))

- Nhận xét: - Chỉ số gía tiêu dùng của các tháng qua từng năm là không đồng đều - Từ đây các doanh nghiệp có thể phân tích hành vi người tiêu dùng để có thể đưa ra các chiế lược sản xuất phù hợp với thị trường

3.2 Phân tích chỉ số giá tiêu dùng (CPI) của tất cả các mặt hàng của nước ta

  • Để phân tích chi tiết chỉ số giá tiêu dùng (CPI) của tất cả các mặt hàng tại Việt Nam, chúng ta cần dựa vào các đặc điểm sau:

  • Biểu hiện chung:

    • Mức tăng/giảm của CPI: So sánh CPI của tháng/quý/năm hiện tại với tháng/quý/năm trước để đánh giá mức độ tăng/giảm chung của giá cả hàng hóa và dịch vụ.
    • So sánh với mục tiêu lạm phát: Xem xét mức tăng/giảm của CPI so với mục tiêu lạm phát do Chính phủ đề ra để đánh giá mức độ kiểm soát lạm phát.
    • Xu hướng biến động: Phân tích xu hướng biến động của CPI trong thời gian qua để dự đoán xu hướng trong tương lai.
    • Phân tích theo nhóm hàng hóa và dịch vụ:
    • Mức tăng/giảm của từng nhóm: So sánh mức tăng/giảm của từng nhóm hàng hóa và dịch vụ để xác định nhóm nào có mức tăng/giảm cao nhất, thấp nhất.
    • So sánh mức tăng/giảm giữa các nhóm: Phân tích mức tăng/giảm của các nhóm hàng hóa và dịch vụ để đánh giá mức độ ảnh hưởng của từng nhóm đến CPI chung.
    • Phân tích nguyên nhân: Xác định nguyên nhân dẫn đến mức tăng/giảm của từng nhóm hàng hóa và dịch vụ.
    • Phân tích theo khu vực: Mức tăng/giảm của từng khu vực: So sánh mức tăng/giảm của CPI giữa các khu vực (thành thị, nông thôn, vùng miền) để đánh giá mức độ chênh lệch giá cả giữa các khu vực. Phân tích nguyên nhân: Xác định nguyên nhân dẫn đến mức tăng/giảm của CPI giữa các khu vực.
    • Phân tích theo đối tượng: Mức tăng/giảm theo nhóm thu nhập: So sánh mức tăng/giảm của CPI giữa các nhóm thu nhập (cao, trung bình, thấp) để đánh giá mức độ ảnh hưởng của lạm phát đến từng nhóm thu nhập.
    • Phân tích nguyên nhân: Xác định nguyên nhân dẫn đến mức tăng/giảm của CPI giữa các nhóm thu nhập.
LS0tDQp0aXRsZTogIk5oaeG7h20gduG7pSA2Ig0KYXV0aG9yOiAiTMO9IFbEqW5oIE5naGkiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBkZl9wcmludDoga2FibGUNCiAgICBoaWdobGlnaHQ6IHRhbmdvDQogIHBkZl9kb2N1bWVudDoNCiAgICBleHRyYV9kZXBlbmRlbmNpZXM6DQogICAgICB2aWV0bmFtOiB1dGY4DQogICAgdG9jOiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGNsYXNzLnNvdXJjZSA9ICJudW1iZXJMaW5lcyBsaW5lQW5jaG9ycyIsIA0KICBjbGFzcy5vdXRwdXQgPSBjKCJudW1iZXJMaW5lcyBsaW5lQW5jaG9ycyBjaHVua291dCIpIA0KKQ0KYGBgDQoNCmBgYHtjc3MsIGVjaG8gPSBGQUxTRX0NCmRpdi5zb3VyY2VDb2RlIHByZS5jaHVua291dCB7DQogIGJhY2tncm91bmQ6IHdoaXRlOw0KfQ0KYGBgDQoNCiMgMS4gR2nhu5tpIHRoaeG7h3UgduG7gSBraMOhaSBxdcOhdCB24buBIEZESSB2w6AgSU5ESUNBVE9SIA0KLSBGREkgbMOgIHRoxrDhu5tjIMSRbyDEkeG7gyDEkcOhbmggZ2nDoSBz4bupYyBraOG7j2UgY+G7p2EgbeG7mXQgbuG7gW4ga2luaCB04bq/IHbDoCDEkeG6oWkgZGnhu4duIGNobyB04buVbmcgZ2nDoSB0cuG7iyBj4bunYSBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pSDEkcaw4bujYyBz4bqjbiB4deG6pXQgdHJvbmcgbeG7mXQgbuG7gW4ga2luaCB04bq/LiBN4bulYyDEkcOtY2ggY+G7p2Egbmhp4buHbSB24bulIG7DoHkgbMOgIHBow6JuIHTDrWNoIEZESSB0aGVvIHF14buRYyBnaWEgdsOgIGThu68gbGnhu4d1IHRyxrDhu5tjIGtoaSB44butIGzDvSBi4bqxbmcgY8OhY2ggc+G7rSBk4bulbmcga2nhur9uIHRo4bupYyB0aHUgxJHGsOG7o2MgdHJvbmcgc3Xhu5F0IG3DtC3EkXVuIHRp4buBbiB44butIGzDvSBk4buvIGxp4buHdS4NCg0KIyMgMS4xIEdp4bubaSB0aGnhu4d1IHbhu4EgQlguS0xULkRJTlYuV0QuR0QuWlMgdHLDrWNoIHh14bqldCB04burIFdvcmxkQmFuaw0KDQotIFPhu60gZOG7pW5nIGjDoG0gV0RJc2VhcmNoIMSR4buDIHTDrG0ga2nhur9tIGPDoWMgY2jhu4kgYsOhbyBsacOqbiBxdWFuIMSR4bq/biDigJxU4buVbmcgduG7kW4gxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaeKAnSAoVG90YWwpIHRyb25nIGPGoSBz4bufIGThu68gbGnhu4d1IFdvcmxkIERldmVsb3BtZW50IEluZGljYXRvcnMgKFdESSkuDQoNCi0gQuG7mSBk4buvIGxp4buHdSDEkcaw4bujYyBsxrB1IHRy4buvIHRyb25nIGJp4bq/biBpbmQuDQoNCi0gU+G7rSBk4bulbmcgaMOgbSBXREkgxJHhu4MgdHJ1eSB4deG6pXQgZOG7ryBsaeG7h3UgY2hvIG3hu5l0IGNo4buJIGLDoW8gY+G7pSB0aOG7gyB04burIGPGoSBz4bufIGThu68gbGnhu4d1IFdESS4NCg0KICAtICoqSW5kaWNhdG9yKio6IE3DoyDEkeG7i25oIGRhbmggY+G7p2EgY2jhu4kgc+G7kSBi4bqhbiBtdeG7kW4gdOG6o2kgeHXhu5FuZy4gVHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHksIG3DoyBsw6Ag4oCcQlguS0xULkRJTlYuV0QuR0QuWlPigJ0uDQoNCiAgLSAqKkNvdW50cnkqKjogTeG7mXQgdmVjdMahIGNo4bupYSB0w6puIGPDoWMgcXXhu5FjIGdpYSBi4bqhbiBtdeG7kW4gbOG6pXkgZOG7ryBsaeG7h3UuIFRyb25nIHRyxrDhu51uZyBo4bujcCBuw6B5LCB2ZWN0xqEgY2jhu4kgY2jhu6lhIG3hu5l0IHBo4bqnbiB04butICJWTk0iIGzDoCBWaeG7h3QgTmFtDQoNCi0gSMOgbSBXREkgc+G6vSB0cuG6oyB24buBIG3hu5l0IGRhdGEgZnJhbWUgY2jhu6lhIGThu68gbGnhu4d1IHRo4buxYyB04bq/IGNobyBjaOG7iSBz4buRIMSRxrDhu6NjIGNo4buJIMSR4buLbmggdsOgIHF14buRYyBnaWEgxJHGsOG7o2MgY2jhu41uLg0KDQogIA0KYGBge3IgbWVzc2FnZT1GQUxTRSwgLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KFdESSkNCmxpYnJhcnkoZGF0YS50YWJsZSkNCmZkaSA8LSBXREkoaW5kaWNhdG9yID0gJ0JYLktMVC5ESU5WLldELkdELlpTJyxjb3VudHJ5ID0gYygnVk5NJykpDQpgYGANCg0KLSDEkG/huqFuIG3DoyAqKiJCWC5LTFQuRElOVi5XRC5HRC5aUyIqKiBsw6AgbcOjIGNo4buJIGLDoW8gY2hvIFThu5VuZyB24buRbiDEkeG6p3UgdMawIHRy4buxYyB0aeG6v3Agbsaw4bubYyBuZ2/DoGkgKEZESSkgcsOybmcsIHRoZW8gZ2nDoSB0cuG7iyBoaeG7h24gdOG6oWkgDQoNCihVU0QpIHRyb25nIGLhu5kgZOG7ryBsaeG7h3UgV29ybGQgRGV2ZWxvcG1lbnQgSW5kaWNhdG9ycyAoV0RJKS4NCg0KLSBQaMOibiB0w61jaDoNCiANCiAgLSBCWDogTcOjIGtodSB24buxYyAoQmFuayBjb2RlKSAtICJCWCIgxJHhuqFpIGRp4buHbiBjaG8gIkVhc3QgQXNpYSAmIFBhY2lmaWMiICjEkMO0bmcgw4EgJiBUaMOhaSBCw6xuaCBExrDGoW5nKS4NCiANCiAgLSBLTFQ6IE5ow7NtIGNo4bunIMSR4buBIChJbmRpY2F0b3IgZ3JvdXApIC0gIktMVCIgxJHhuqFpIGRp4buHbiBjaG8gIk5hdGlvbmFsIEFjY291bnRzIi4NCiANCiAgLSBESU5WOiBDaOG7pyDEkeG7gSAoVG9waWMpIC0gIkRJTlYiIMSR4bqhaSBkaeG7h24gY2hvICJEaXJlY3QgaW52ZXN0bWVudCwgbmV0IGluZmxvd3MiLg0KIA0KICAtIFdEOiBMb+G6oWkgZOG7ryBsaeG7h3UgKERhdGEgdHlwZSkgLSAiV0QiIMSR4bqhaSBkaeG7h24gY2hvICJDdXJyZW50IFVTPHNwYW4gY2xhc3M9Im1hdGgtaW5saW5lIj4iLiAtICoqR0QqKjogQmnhur9uIHRo4buDIChWYXJpYW50KSAtICJHRCIgDQrEkeG6oWkgZGnhu4duIGNobyAiR3Jvc3MiLiAtICoqWlMqKjogTG/huqFpIGdpw6EgdHLhu4sgKFZhbHVlIHR5cGUpIC0gIlpTIiDEkeG6oWkgZGnhu4duIGNobyAiWi1zY29yZXMiLiAqKsOdIG5naMSpYToqKiBNw6MgbsOgeSBjaG8gYmnhur90IGThu68gbGnhu4d1IA0KDQrEkcaw4bujYyB5w6p1IGPhuqd1IGzDoDogLSBU4buVbmcgduG7kW4gxJHhuqd1IHTGsCB0cuG7sWMgdGnhur9wIG7GsOG7m2Mgbmdvw6BpIChGREkpIHLDsm5nIChOZXQgaW5mbG93cykgLSDEkMaw4bujYyB0w61uaCB0aGVvIGdpw6EgdHLhu4sgaGnhu4duIHThuqFpIChDdXJyZW50IFVTKQ0KDQotIELhu5kgZOG7ryBsaeG7h3UgY8OzIDYzIHF1YW4gc8OhdCB2w6AgNSBiaeG6v246DQoNCiAgLSAqKkNvdW50cnkqKjoga2h1IHbhu7FjDQoNCiAgLSAqKmlzbzJjKio6IG3DoyBxdeG7kWMgZ2lhIHRyb25nIGLhu5kgZOG7ryBsaeG7h3UuDQoNCiAgLSAqKmlzbzNjKio6IHTDqm4gcXXhu5FjIGdpYS4NCg0KICAtICoqeWVhcioqOiBuxINtIGPhu6dhIG3hu5dpIHF1YW4gc8OhdC4NCg0KICAtICoqQlguS0xULkRJTlYuV0QuR0QuWlMqKjogVOG7lW5nIHbhu5FuIMSR4bqndSB0xrAgbsaw4bubYyBuZ2/DoGkoVVNEKQ0KDQojIyAxLjIgR2nhu5tpIHRoaeG7h3UgduG7gSBJTkRJQ0FUT1IgUENQSU9fSVggdOG7qyBJRk0NCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShpbWYuZGF0YSkNCnRtcCA8LSBsb2FkX2RhdGFzZXRzKCdDUEknKQ0KY3BpIDwtIHRtcCRnZXRfc2VyaWVzKGZyZXEgPSAnTScsIHJlZl9hcmVhID0gJ1ZOJywgaW5kaWNhdG9yID0gJ1BDUElPX0lYJykNCmNwaSA8LSBuYS5vbWl0KGNwaSkNCm5hbWVzKGNwaSkgPC0gYygnVGhvaUdpYW4nLCdOYW1Hb2MnLCdDUEknKQ0KY3BpIDwtIGhlYWQoY3BpLDIwKQ0KYGBgDQotIEdp4bqjaSB0aMOtY2ggY8OhYyBjw6J1IGzhu4duaDoNCiAgLSBsaWJyYXJ5KGltZi5kYXRhKTogVOG6o2kgZ8OzaSBpbWYuZGF0YSDEkeG7gyB0cnV5IGPhuq1wIHbDoCB04bqjaSBk4buvIGxp4buHdSB04burIFF14bu5IFRp4buBbiB04buHIFF14buRYyB04bq/IChJTUYpLg0KICAgLSBmcmVxID0gJ00nOiBU4bqnbiBzdeG6pXQgZOG7ryBsaeG7h3UgdGhlbyB0aMOhbmcgKE1vbnRobHkpLg0KICAgLSByZWZfYXJlYSA9ICdWTic6IEtodSB24buxYyB0aGFtIGNoaeG6v3UgbMOgIFZp4buHdCBOYW0uDQogICAtIGluZGljYXRvciA9ICdOZmRpTlBJX0VVUic6IENo4buJIHPhu5EgZ2nDoSB0acOqdSBkw7luZyB24bubaSDEkeG7k25nIHRp4buBbiBjxqEgc+G7nyBsw6AgRXVyby4NCiAgIC0gTMawdSBr4bq/dCBxdeG6oyB2w6BvIGJp4bq/biBjcGkuDQogIC0gY3BpIDwtIG5hLm9taXQoY3BpKTogWMOzYSBjw6FjIGTDsm5nIGNo4bupYSBnacOhIHRy4buLIHRoaeG6v3UgKE5BKSB0cm9uZyBi4bqjbmcgZOG7ryBsaeG7h3UgY3BpLg0KICAtIG5hbWVzKGNwaSkgPC0gYygnVGhvaUdpYW4nLCdOYW1Hb2MnLCdDUEknKTogxJDhu5VpIHTDqm4gY8OhYyBj4buZdCB0cm9uZyBi4bqjbmcgZOG7ryBsaeG7h3UgY3BpOg0KICAgLSBD4buZdCB0aOG7qSBuaOG6pXQ6IFRob2lHaWFuIChjw7MgdGjhu4MgY2jhu6lhIHRo4budaSBnaWFuIGhv4bq3YyBtw6MgdGjhu51pIGdpYW4pLg0KICAgLSBD4buZdCB0aOG7qSBoYWk6IE5hbUdvYyAobsSDbSBn4buRYyBj4bunYSBjaOG7iSBz4buRIENQSSkuDQogICAtIEPhu5l0IHRo4bupIGJhOiBDUEkgKGdpw6EgdHLhu4sgQ1BJKS4NCiAgLSBoZWFkKGNwaSk6IEhp4buDbiB0aOG7iyA2IGTDsm5nIMSR4bqndSB0acOqbiBj4bunYSBi4bqjbmcgZOG7ryBsaeG7h3UgY3BpIMSR4buDIHhlbSB04buVbmcgcXVhbiBk4buvIGxp4buHdSDEkcOjIMSRxrDhu6NjIHjhu60gbMO9Lg0KDQoNCiMgMi4gUGjDom4gdMOtY2ggduG7gSBCWC5LTFQuRElOVi5XRC5HRC5aUyB0aGVvIGdpYWkgxJFv4bqhbiANCiMjIDIuMSBMxrDhu6N0IGLhu48gY8OhYyBz4buRIGxp4buHdSB0aGnhur91IHJhIGto4buPaSBk4buvIGxp4buHdSDEkeG7gyBwaMOibiB0w61jaCANCmBgYHtyIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNCmZkaSA8LSBuYS5vbWl0KGZkaSkNCmBgYA0KDQotIG5hLm9taXQoZCk6IEjDoG0gbmEub21pdCDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyBsb+G6oWkgYuG7jyBjw6FjIGdpw6EgdHLhu4sgdGhp4bq/dSAoTkEpIGto4buPaSBkYXRhIGZyYW1lIHBtYy4NCg0KIyMgMi4xIFBow6JuIHTDrWNoIGdpYWkgxJFv4bqhbiAxODg1LSAyMDAwDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpmZGkgJT4lIGZpbHRlcih5ZWFyID49IDE4ODUgJiB5ZWFyIDw9IDIwMDApICU+JQ0KICBnZ3Bsb3QoYWVzKHg9eWVhciwgeT1CWC5LTFQuRElOVi5XRC5HRC5aUykpICsNCiAgZ2VvbV9saW5lKGNvbG9yPSdyZWQnLCBsaW5ld2lkdGggPTEpICsNCiAgbGFicyh0aXRsZSA9ICdCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyB24buRbiDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpIHThu6sgMTg4NS0gMjAwMCcpDQpgYGANCg0KLSBCaeG7g3UgxJHhu5MgxJHGsOG7nW5nIHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgY+G7p2EgdOG7lW5nIHbhu5FuIMSR4bqndSB0xrAgZ2lhaSDEkW/huqFuIDE4ODUtMjAwMCB0YSB0aOG6pXk6DQoNCiAgLSBUcuG7pWMgdHVuZyB0aOG7gyBoaeG7h24gc+G7kSBsaeG7h3UgdOG7lW5nIHbhu5FuIMSR4bqndSB0xrANCiAgIA0KICAtIFRy4bulYyBob8OgbmggdGjhu4MgaGnhu4duIG7Eg20NCiAgDQogIC0gTsSDbSAxOTkwLTE5OTMgY8OzIHPhu7EgcGjDoXQgdHJp4buDbiB2xrDhu6N0IGLhuq10IHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5IGNobyB0aOG6pXkgY8OhYyBuxrDhu5tjIGNow7ogdHLhu41uZyDEkeG6p3UgdMawIHbDoG8gbuG7gW4ga2luaCB04bq/IGPhu6dhIFZp4buHdCBOYW0gDQpjaG8gdGjhuqV5IHRp4buBbSBs4buxYyBwaMOhdCB0cmnhu4NuIGPhu6dhIFZp4buHdCBOYW0NCiAgDQogIC0gTsSDbSAxOTk0LSAyMDAwIGzDoCBnaWFpIMSRb+G6oW4gY8OzIG3hu6ljIMSR4buZIHBow6F0IHRyaeG7g24gY2jhuq1tIHbDoCB0xrDGoWduIMSR4buRaSBnaeG6o20gc28gduG7m2kgZ2lhaSDEkW/huqFuIHRyxrDhu5tjDQogIA0KIyMgMi4yIFBow6JuIHTDrWNoIGdpYWkgxJFv4bqhbiAyMDAxLSAyMDExDQoNCmBgYHtyIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmZkaSAlPiUgZmlsdGVyKHllYXIgPj0gMjAwMSAmIHllYXIgPD0gMjAxMSkgJT4lDQogIGdncGxvdChhZXMoeD15ZWFyLCB5PUJYLktMVC5ESU5WLldELkdELlpTKSkgKw0KICBnZW9tX2xpbmUoY29sb3I9J2dyZWVuJywgbGluZXdpZHRoID0xKSArDQogIGxhYnModGl0bGUgPSAnQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgduG7kW4gxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaSB04burIDIwMDEtIDIwMTEnKQ0KYGBgDQoNCi0gQmnhu4N1IMSR4buTIMSRxrDhu51uZyB0aOG7gyBoaeG7h24gdOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGPhu6dhIHThu5VuZyB24buRbiDEkeG6p3UgdMawIGdpYWkgxJFv4bqhbiAyMDAxLTIwMTEgdGEgdGjhuqV5Og0KDQogIC0gVHLhu6VjIHR1bmcgdGjhu4MgaGnhu4duIHPhu5EgbGnhu4d1IHThu5VuZyB24buRbiDEkeG6p3UgdMawDQogICANCiAgLSBUcuG7pWMgaG/DoG5oIHRo4buDIGhp4buHbiBuxINtDQogIA0KICAtIE7Eg20gMjAwNi0yMDA4IGPDsyBz4buxIHBow6F0IHRyaeG7g24gdsaw4bujdCBi4bqtdCB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSBjaG8gdGjhuqV5IGPDoWMgbsaw4bubYyBjaMO6IHRy4buNbmcgxJHhuqd1IHTGsCB2w6BvIG7hu4FuIGtpbmggdOG6vyBj4bunYSBWaeG7h3QgTmFtIA0KY2hvIHRo4bqleSB0aeG7gW0gbOG7sWMgcGjDoXQgdHJp4buDbiBj4bunYSBWaeG7h3QgTmFtDQogIA0KICAtIE7Eg20gMjAwOC0gMjAxMSBsw6AgZ2lhaSDEkW/huqFuIGPDsyBt4bupYyDEkeG7mSBwaMOhdCB0cmnhu4NuIGNo4bqtbSB2w6AgdMawxqFuZyDEkeG7kWkgZ2nhuqNtIHNvIHbhu5tpIGdpYWkgxJFv4bqhbiB0csaw4bubYw0KICANCiAgLSBOxINtIDIwMDEtIDIwMDYgbMOgIGdpYWkgxJFv4bqhbiBt4bupYyDEkeG7mSDEkeG6p3UgdMawIGPhu6dhIG7GsOG7m2Mgbmdvw6BpIG7hurFtIOG7nyBt4bupYyDhu5VuIMSR4buLbmgga28gY8OzIHPhu7EgYuG7qXQgcGjDoSBoYXkgc+G7pXQgZ2nhuqNtIA0KICANCiMjIDIuMyBQaMOibiB0w61jaCBnaWFpIMSRb+G6oW4gMjAxMi0yMDIyDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpmZGkgJT4lIGZpbHRlcih5ZWFyID49IDIwMTIgJiB5ZWFyIDw9IDIwMjIpICU+JQ0KICBnZ3Bsb3QoYWVzKHg9eWVhciwgeT1CWC5LTFQuRElOVi5XRC5HRC5aUykpICsNCiAgZ2VvbV9saW5lKGNvbG9yPSdwdXJwbGUnLCBsaW5ld2lkdGggPTEpICsNCiAgbGFicyh0aXRsZSA9ICdCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyB24buRbiDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpdOG7qyAyMDAxLSAyMDExJykNCmBgYA0KDQotIEJp4buDdSDEkeG7kyDEkcaw4budbmcgdGjhu4MgaGnhu4duIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBj4bunYSB04buVbmcgduG7kW4gxJHhuqd1IHTGsCBnaWFpIMSRb+G6oW4gMjAxMi0yMDIyIHRhIHRo4bqleToNCg0KICAtIFRy4bulYyB0dW5nIHRo4buDIGhp4buHbiBz4buRIGxp4buHdSB04buVbmcgduG7kW4gxJHhuqd1IHTGsA0KICAgDQogIC0gVHLhu6VjIGhvw6BuaCB0aOG7gyBoaeG7h24gbsSDbQ0KICANCiAgLSBOxINtIDIwMTQtMjAxOCBjw7Mgc+G7sSBwaMOhdCB0cmnhu4NuIHbGsOG7o3QgYuG6rXQgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgY2hvIHRo4bqleSBjw6FjIG7GsOG7m2MgY2jDuiB0cuG7jW5nIMSR4bqndSB0xrAgdsOgbyBu4buBbiBraW5oIHThur8gY+G7p2EgVmnhu4d0IE5hbSANCmNobyB0aOG6pXkgdGnhu4FtIGzhu7FjIHBow6F0IHRyaeG7g24gY+G7p2EgVmnhu4d0IE5hbQ0KICANCiAgLSBOxINtIDIwMTItIDIwMTQgbMOgIGdpYWkgxJFv4bqhbiBjw7MgbeG7qWMgxJHhu5kgcGjDoXQgdHJp4buDbiBjaOG6rW0gdsOgIHTGsMahbmcgxJHhu5FpIGdp4bqjbSBzbyB24bubaSBnaWFpIMSRb+G6oW4gdHLGsOG7m2MNCiAgDQogIC0gTsSDbSAyMDE4LSAyMDIyIGzDoCBnaWFpIMSRb+G6oW4gbeG7qWMgxJHhu5kgxJHhuqd1IHTGsCBj4bunYSBuxrDhu5tjIG5nb8OgaSBu4bqxbSBnaeG6o20gbeG6oW5oIHNvIHbhu5tpIGdpYWkgxJFv4bqhbiB0csaw4bubYw0KDQojIyAyLjQgQ8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIHThu5tpIHF1eeG6v3QgxJHhu4tuaCBjaGkgdGnDqnUgY+G7p2EgY2jDrW5oIHBo4bunIOG7nyBuxrDhu5tjIHRhIOG6o25oIGjGsOG7n25nIHThu5tpIG5ndeG7k24gxJHhuqd1IHTGsCBuxrDhu5tjIG5nb8OgaToNCi0gTcO0aSB0csaw4budbmcgxJHhuqd1IHTGsDoNCg0KLSBDaMOtbmggc8OhY2ggxJHhuqd1IHTGsDoNCg0KICAtIE3hu6ljIMSR4buZIMawdSDEkcOjaSB0aHXhur8sIGNow61uaCBzw6FjaCBo4buXIHRy4bujIG5ow6AgxJHhuqd1IHTGsC4NCiAgDQogIC0gSOG7hyB0aOG7kW5nIHBow6FwIGx14bqtdCBtaW5oIGLhuqFjaCwg4buVbiDEkeG7i25oIHbDoCBk4buFIGThu7EgxJFvw6FuLg0KICANCiAgLSBUaOG7pyB04bulYyBow6BuaCBjaMOtbmggxJHGoW4gZ2nhuqNuLCBuaGFuaCBjaMOzbmcuDQogIA0KLSBDxqEgc+G7nyBo4bqhIHThuqduZzoNCg0KICAtIEjhu4cgdGjhu5FuZyBnaWFvIHRow7RuZywgdGjDtG5nIHRpbiBsacOqbiBs4bqhYywgbsSDbmcgbMaw4bujbmcgcGjDoXQgdHJp4buDbi4NCiAgDQogIC0gS2h1IGPDtG5nIG5naGnhu4dwLCBraHUgY2jhur8geHXhuqV0IMSRxrDhu6NjIHF1eSBob+G6oWNoIGLDoGkgYuG6o24uDQogIA0KLSBDaOG6pXQgbMaw4bujbmcgbmd14buTbiBuaMOibiBs4buxYzoNCg0KICAtIEzhu7FjIGzGsOG7o25nIGxhbyDEkeG7mW5nIHRy4bq7LCBk4buTaSBkw6BvLCBjw7MgdHLDrG5oIMSR4buZIGjhu41jIHbhuqVuIHbDoCBr4bu5IG7Eg25nIG5nw6B5IGPDoG5nIGNhby4NCiAgDQogIC0gQ2hpIHBow60gbGFvIMSR4buZbmcgY+G6oW5oIHRyYW5oLg0KICANCi0gVGjhu4sgdHLGsOG7nW5nOg0KDQotIFF1eSBtw7QgdGjhu4sgdHLGsOG7nW5nOg0KDQogIC0gRMOibiBz4buRIFZp4buHdCBOYW0gxJHDtG5nLCB0cuG6uyB2w6AgxJFhbmcgdMSDbmcgdHLGsOG7n25nLg0KICANCiAgLSBOaHUgY+G6p3UgdGnDqnUgZMO5bmcgbmfDoHkgY8OgbmcgY2FvLg0KICANCiAgLSBN4bupYyDEkeG7mSBo4buZaSBuaOG6rXAga2luaCB04bq/IHF14buRYyB04bq/Og0KLSBWaeG7h3QgTmFtIHRoYW0gZ2lhIG5oaeG7gXUgSGnhu4dwIMSR4buLbmggdGjGsMahbmcgbeG6oWkgdOG7sSBkbyAoRlRBKSwgdOG6oW8gxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSBjaG8geHXhuqV0IG5o4bqtcCBraOG6qXUuDQoNCi0gVGjhu4sgdHLGsOG7nW5nIFZp4buHdCBOYW0gxJHGsOG7o2Mga+G6v3QgbuG7kWkgduG7m2kgdGjhu4sgdHLGsOG7nW5nIGPhu6dhIGPDoWMgbsaw4bubYyBraMOhYyB0cm9uZyBraHUgduG7sWMgdsOgIHRyw6puIHRo4bq/IGdp4bubaS4NCg0KLSBZ4bq/dSB04buRIGLDqm4gbmdvw6BpOg0KDQogIC0gU+G7sSDhu5VuIMSR4buLbmggY2jDrW5oIHRy4buLOg0KICANCiAgLSBNw7RpIHRyxrDhu51uZyBjaMOtbmggdHLhu4sg4buVbiDEkeG7i25oLCBhbiBuaW5oIMSR4bqjbSBi4bqjby4NCiAgDQotIFbEg24gaMOzYSB2w6AgcGhvbmcgdOG7pWMgdOG6rXAgcXXDoW46DQoNCiAgLVbEg24gaMOzYSB0aMOibiB0aGnhu4duLCBj4bufaSBt4bufLCBjaMOgbyDEkcOzbiBuaMOgIMSR4bqndSB0xrAgbsaw4bubYyBuZ2/DoGkuDQogIA0KICANCiMgMy4gUGjDom4gdMOtY2ggduG7gSBQQ1BJT19JWCB04burIElNRiANCg0KLSBQQ1BJT19JWCBsw6Agdmnhur90IHThuq90IGPhu6dhIFBlcnNvbmFsIENvbnN1bXB0aW9uIEV4cGVuZGl0dXJlcyBQcmljZSBJbmRleCwgRXhjbHVkaW5nIEZvb2QgYW5kIEVuZXJneSwgaGF5ICoqQ2jhu4kgc+G7kSBnacOhIGNoaSB0acOqdSB0acOqdSBkw7luZyBjw6EgbmjDom4sIGxv4bqhaSB0cuG7qyB0aOG7sWMgcGjhuqltIHbDoCBuxINuZyBsxrDhu6NuZy4qKg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KZ2dwbG90KGRhdGEgPSBjcGksIGFlcyh4ID0gYFRob2lHaWFuYCwgeSA9IENQSSkpICsNCiAgZ2VvbV9jb2woZmlsbCA9ICJvcmFuZ2UiLCBjb2xvciA9ICJibGFjayIpICsNCiAgbGFicyh4ID0gIlRob2lHaWFuIix5ID0gIkNo4buJIHPhu5EgZ2nDoSB0acOqdSBkw7luZyAoQ1BJKSIpICsNCiAgZ2d0aXRsZSgiQmnhu4N1IMSR4buTIGNo4buJIHPhu5EgZ2nDoSB0acOqdSBkw7luZyAoQ1BJKSBzbyB24bubaSBuxINtIDIwMTkgKDIwMDIgLSAyMDA1KSIpICsNCiAgdGhlbWVfbWluaW1hbCgpICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgdmp1c3QgPSAxLCBoanVzdD0xKSkNCmBgYA0KLSBOaOG6rW4geMOpdDoNCiAgLSBDaOG7iSBz4buRIGfDrWEgdGnDqnUgZMO5bmcgY+G7p2EgY8OhYyB0aMOhbmcgcXVhIHThu6tuZyBuxINtIGzDoCBraMO0bmcgxJHhu5NuZyDEkeG7gXUgDQogIC0gVOG7qyDEkcOieSBjw6FjIGRvYW5oIG5naGnhu4dwIGPDsyB0aOG7gyBwaMOibiB0w61jaCBow6BuaCB2aSBuZ8aw4budaSB0acOqdSBkw7luZyDEkeG7gyBjw7MgdGjhu4MgxJHGsGEgcmEgY8OhYyBjaGnhur8gbMaw4bujYyBz4bqjbiB4deG6pXQgcGjDuSBo4bujcCB24bubaSB0aOG7iyB0csaw4budbmcgDQoNCiMjIDMuMiBQaMOibiB0w61jaCBjaOG7iSBz4buRIGdpw6EgdGnDqnUgZMO5bmcgKENQSSkgY+G7p2EgdOG6pXQgY+G6oyBjw6FjIG3hurd0IGjDoG5nIGPhu6dhIG7GsOG7m2MgdGENCi0gxJDhu4MgcGjDom4gdMOtY2ggY2hpIHRp4bq/dCBjaOG7iSBz4buRIGdpw6EgdGnDqnUgZMO5bmcgKENQSSkgY+G7p2EgdOG6pXQgY+G6oyBjw6FjIG3hurd0IGjDoG5nIHThuqFpIFZp4buHdCBOYW0sIGNow7puZyB0YSBj4bqnbiBk4buxYSB2w6BvIGPDoWMgxJHhurdjIMSRaeG7g20gc2F1Og0KDQotIEJp4buDdSBoaeG7h24gY2h1bmc6IA0KICAtIE3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSBDUEk6IFNvIHPDoW5oIENQSSBj4bunYSB0aMOhbmcvcXXDvS9uxINtIGhp4buHbiB04bqhaSB24bubaSB0aMOhbmcvcXXDvS9uxINtIHRyxrDhu5tjIMSR4buDIMSRw6FuaCBnacOhIG3hu6ljIMSR4buZIHTEg25nL2dp4bqjbSBjaHVuZyBj4bunYSBnacOhIGPhuqMgaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UuDQogIC0gU28gc8OhbmggduG7m2kgbeG7pWMgdGnDqnUgbOG6oW0gcGjDoXQ6IFhlbSB4w6l0IG3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSBDUEkgc28gduG7m2kgbeG7pWMgdGnDqnUgbOG6oW0gcGjDoXQgZG8gQ2jDrW5oIHBo4bunIMSR4buBIHJhIMSR4buDIMSRw6FuaCBnacOhIG3hu6ljIMSR4buZIGtp4buDbSBzb8OhdCBs4bqhbSBwaMOhdC4NCiAgLSBYdSBoxrDhu5tuZyBiaeG6v24gxJHhu5luZzogUGjDom4gdMOtY2ggeHUgaMaw4bubbmcgYmnhur9uIMSR4buZbmcgY+G7p2EgQ1BJIHRyb25nIHRo4budaSBnaWFuIHF1YSDEkeG7gyBk4buxIMSRb8OhbiB4dSBoxrDhu5tuZyB0cm9uZyB0xrDGoW5nIGxhaS4NCiAgLSBQaMOibiB0w61jaCB0aGVvIG5ow7NtIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulOg0KICAtIE3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSB04burbmcgbmjDs206IFNvIHPDoW5oIG3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSB04burbmcgbmjDs20gaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UgxJHhu4MgeMOhYyDEkeG7i25oIG5ow7NtIG7DoG8gY8OzIG3hu6ljIHTEg25nL2dp4bqjbSBjYW8gbmjhuqV0LCB0aOG6pXAgbmjhuqV0Lg0KICAtIFNvIHPDoW5oIG3hu6ljIHTEg25nL2dp4bqjbSBnaeG7r2EgY8OhYyBuaMOzbTogUGjDom4gdMOtY2ggbeG7qWMgdMSDbmcvZ2nhuqNtIGPhu6dhIGPDoWMgbmjDs20gaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UgxJHhu4MgxJHDoW5oIGdpw6EgbeG7qWMgxJHhu5kg4bqjbmggaMaw4bufbmcgY+G7p2EgdOG7q25nIG5ow7NtIMSR4bq/biBDUEkgY2h1bmcuDQogIC0gUGjDom4gdMOtY2ggbmd1ecOqbiBuaMOibjogWMOhYyDEkeG7i25oIG5ndXnDqm4gbmjDom4gZOG6q24gxJHhur9uIG3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSB04burbmcgbmjDs20gaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UuDQogIC0gUGjDom4gdMOtY2ggdGhlbyBraHUgduG7sWM6IE3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSB04burbmcga2h1IHbhu7FjOiBTbyBzw6FuaCBt4bupYyB0xINuZy9naeG6o20gY+G7p2EgQ1BJIGdp4buvYSBjw6FjIGtodSB24buxYyAodGjDoG5oIHRo4buLLCBuw7RuZyB0aMO0biwgdsO5bmcgbWnhu4FuKSDEkeG7gyDEkcOhbmggZ2nDoSBt4bupYyDEkeG7mSBjaMOqbmggbOG7h2NoIGdpw6EgY+G6oyBnaeG7r2EgY8OhYyBraHUgduG7sWMuDQpQaMOibiB0w61jaCBuZ3V5w6puIG5ow6JuOiBYw6FjIMSR4buLbmggbmd1ecOqbiBuaMOibiBk4bqrbiDEkeG6v24gbeG7qWMgdMSDbmcvZ2nhuqNtIGPhu6dhIENQSSBnaeG7r2EgY8OhYyBraHUgduG7sWMuDQogIC0gUGjDom4gdMOtY2ggdGhlbyDEkeG7kWkgdMaw4bujbmc6IE3hu6ljIHTEg25nL2dp4bqjbSB0aGVvIG5ow7NtIHRodSBuaOG6rXA6IFNvIHPDoW5oIG3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSBDUEkgZ2nhu69hIGPDoWMgbmjDs20gdGh1IG5o4bqtcCAoY2FvLCB0cnVuZyBiw6xuaCwgdGjhuqVwKSDEkeG7gyDEkcOhbmggZ2nDoSBt4bupYyDEkeG7mSDhuqNuaCBoxrDhu59uZyBj4bunYSBs4bqhbSBwaMOhdCDEkeG6v24gdOG7q25nIG5ow7NtIHRodSBuaOG6rXAuDQogIC0gUGjDom4gdMOtY2ggbmd1ecOqbiBuaMOibjogWMOhYyDEkeG7i25oIG5ndXnDqm4gbmjDom4gZOG6q24gxJHhur9uIG3hu6ljIHTEg25nL2dp4bqjbSBj4bunYSBDUEkgZ2nhu69hIGPDoWMgbmjDs20gdGh1IG5o4bqtcC4NCg0K