Авторитетное руководство по безопасности программного обеспечения Android Fengshengqiang Zero Basic Self -Strawudent Computer Android Программное программное обеспечение режим проектирования программного обеспечения

Цена: 1 004руб. (¥47.5)
Артикул: 588964847260
Цена указана со скидкой: 50%
Старая цена: 2008р.
Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товараPHA+PGltZyBjbGFzcz0iZGVzY19hbmNob3IiIGlkPSJkZXNjLW1vZHVsZS0xIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiI+PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PGJyPjwvc3Bhbj48L3A+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PC9zcGFuPjx0YWJsZSB3aWR0aD0iNzkwIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNiIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ym9yZGVyLXNwYWNpbmc6IDAuMHB4O2JvcmRlcjogMS4wcHggc29saWQgI2NjY2NjYztjb2xvcjogIzQwNDA0MDtmb250LXNpemU6IDEyLjBweDsiPjx0ciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0ibGVmdCIgc3R5bGU9ImJvcmRlci1jb2xvcjogIzAwMDAwMCAjMDAwMDAwICNkOWQ5ZDk7Zm9udC1zaXplOiAxNS4wcHg7Y29sb3I6ICM5OTAwMDA7Zm9udC13ZWlnaHQ6IGJvbGQ7Ym9yZGVyLWJvdHRvbS13aWR0aDogMS4wcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE2LjBweDsiPiAmYW1wO25ic3A7JmFtcDtuYnNwOzxzcGFuIGNsYXNzPSJTVFlMRTEiPtCe0YHQvdC+0LLQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8sINC+0LHRgNCw0YLQuNGC0LXRgdGMINC6INGB0LvQtdC00YPRjtGJ0LXQvNGDINCy0LLQtdC00LXQvdC40Y48L3NwYW4+PC9zcGFuPjwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgd2lkdGg9IjEwNyIgYWxpZ249InJpZ2h0IiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOTtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzY2NjY2Njtib3JkZXItYm90dG9tLXdpZHRoOiAxLjBweDtib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+0J3QsNC30LLQsNC90LjQtSDQutC90LjQs9C4Ojwvc3Bhbj48L3RkPjx0ZCB3aWR0aD0iNjEyIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOSAjZDlkOWQ5O2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1sZWZ0LXdpZHRoOiAxLjBweDtib3JkZXItbGVmdC1zdHlsZTogc29saWQ7Zm9udC1zaXplOiAxNC4wcHg7Y29sb3I6ICMwMDAwMDA7Ij7QkNCy0YLQvtGA0LjRgtC10YLQvdC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjyBBbmRyb2lkPC90ZD48L3RyPjx0ciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjx0ZCB3aWR0aD0iMTA3IiBhbGlnbj0icmlnaHQiIHN0eWxlPSJib3JkZXItY29sb3I6ICMwMDAwMDAgIzAwMDAwMCAjZDlkOWQ5O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjNjY2NjY2O2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNi4wcHg7Ij7QkNCy0YLQvtGAOjwvc3Bhbj48L3RkPjx0ZCB3aWR0aD0iNjEyIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOSAjZDlkOWQ5O2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1sZWZ0LXdpZHRoOiAxLjBweDtib3JkZXItbGVmdC1zdHlsZTogc29saWQ7Zm9udC1zaXplOiAxNC4wcHg7Y29sb3I6ICMwMDAwMDA7Ij5GZW5nc2hlbmdxaWFuZzwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgd2lkdGg9IjEwNyIgYWxpZ249InJpZ2h0IiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOTtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzY2NjY2Njtib3JkZXItYm90dG9tLXdpZHRoOiAxLjBweDtib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+0KbQtdC90Ys6PC9zcGFuPjwvdGQ+PHRkIHdpZHRoPSI2MTIiIHN0eWxlPSJib3JkZXItY29sb3I6ICMwMDAwMDAgIzAwMDAwMCAjZDlkOWQ5ICNkOWQ5ZDk7Ym9yZGVyLWJvdHRvbS13aWR0aDogMS4wcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7Ym9yZGVyLWxlZnQtd2lkdGg6IDEuMHB4O2JvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzAwMDAwMDsiPiA5NS4wMDwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgd2lkdGg9IjEwNyIgYWxpZ249InJpZ2h0IiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOTtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzY2NjY2Njtib3JkZXItYm90dG9tLXdpZHRoOiAxLjBweDtib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+0J3QvtC80LXRgCBJU0JOOjwvc3Bhbj48L3RkPjx0ZCB3aWR0aD0iNjEyIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOSAjZDlkOWQ5O2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1sZWZ0LXdpZHRoOiAxLjBweDtib3JkZXItbGVmdC1zdHlsZTogc29saWQ7Zm9udC1zaXplOiAxNC4wcHg7Y29sb3I6ICMwMDAwMDA7Ij4gOTc4NzEyMTM1NTIwMjwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgd2lkdGg9IjEwNyIgYWxpZ249InJpZ2h0IiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOTtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzY2NjY2Njtib3JkZXItYm90dG9tLXdpZHRoOiAxLjBweDtib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+0JjQt9C00LDRgtC10LvRjNGB0YLQstC+Ojwvc3Bhbj48L3RkPjx0ZCB3aWR0aD0iNjEyIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOSAjZDlkOWQ5O2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1sZWZ0LXdpZHRoOiAxLjBweDtib3JkZXItbGVmdC1zdHlsZTogc29saWQ7Zm9udC1zaXplOiAxNC4wcHg7Y29sb3I6ICMwMDAwMDA7Ij7QrdC70LXQutGC0YDQvtC90L3QsNGPINC/0YDQvtC80YvRiNC70LXQvdC90LDRjyDQv9GA0LXRgdGB0LA8L3RkPjwvdHI+PC90YWJsZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNC4wcHg7Ij48YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Y29sb3I6ICM0MDQwNDA7bGluZS1oZWlnaHQ6IDE5LjA5MDlweDsiPjxpbWcgY2xhc3M9ImRlc2NfYW5jaG9yIGltZy1rcy1sYXp5bG9hZCIgaWQ9ImRlc2MtbW9kdWxlLTIiIHNyYz0iaHR0cHM6Ly9hc3NldHMuYWxpY2RuLmNvbS9raXNzeS8xLjAuMC9idWlsZC9pbWdsYXp5bG9hZC9zcGFjZWJhbGwuZ2lmIiBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDtoZWlnaHQ6IDEuMHB4O2Rpc3BsYXk6IGJsb2NrO2NsZWFyOiBib3RoO29wYWNpdHk6IDE7Y29sb3I6ICM0MDQwNDA7bGluZS1oZWlnaHQ6IDE5LjA5MDlweDsiPjwvc3Bhbj48dGFibGUgd2lkdGg9Ijc5MCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjYiIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4O2JvcmRlci1zcGFjaW5nOiAwLjBweDtib3JkZXI6IDEuMHB4IHNvbGlkICNjY2NjY2M7Y29sb3I6ICM0MDQwNDA7Zm9udC1zaXplOiAxMi4wcHg7Ij48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImxlZnQiIHN0eWxlPSJib3JkZXItY29sb3I6ICMwMDAwMDAgIzAwMDAwMCAjZDlkOWQ5O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjOTkwMDAwO2ZvbnQtd2VpZ2h0OiBib2xkO2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hlZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+ICZhbXA7bmJzcDsmYW1wO05CU1A7INCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGA0LXQutC+0LzQtdC90LTQsNGG0LjRjjwvc3Bhbj48L3RkPjwvdHI+PHRyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiBzdHlsZT0icGFkZGluZzogMTAuMHB4O2JvcmRlci1jb2xvcjogIzAwMDAwMDtsaW5lLWhlaWdodDogMjAuMHB4O2NvbG9yOiAjNjY2NjY2OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PHNwYW4gc3R5bGU9ImNvbG9yOiAjNjU2NTY1OyI+0K3RgtCwINC60L3QuNCz0LAg0LIg0L7RgdC90L7QstC90L7QvCDQv9GA0LXQtNGB0YLQsNCy0LvRj9C10YIg0YLQtdGF0L3QvtC70L7Qs9C40Lgg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4INC/0YDQvtCz0YDQsNC80LzQvdC+0LPQviDQvtCx0LXRgdC/0LXRh9C10L3QuNGPINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNC1IEFuZHJvaWQu0J3QsNGH0LjQvdCw0Y8g0YEg0YTQvtC90LTQsCDQv9C+0YHRgtGA0L7QtdC90LjRjyDQv9C70LDRgtGE0L7RgNC80Ysg0Lgg0Y/Qt9GL0LrQsCwg0L7QvSDQv9C+0YHRgtC10L/QtdC90L3QviDQvtCx0YrRj9GB0L3QuNC7INC/0YDQvtCz0YDQsNC80LzQvdGD0Y4g0LDRgtCw0LrRg9GO0YnRg9GOINC4INC+0LHQvtGA0L7QvdC40YLQtdC70YzQvdGD0Y4g0YLQtdGF0L3QvtC70L7Qs9C40Y4g0L3QsCDQv9C70LDRgtGE0L7RgNC80LUgQW5kcm9pZC7QkiDRjdGC0L7QuSDQutC90LjQs9C1INC10YHRgtGMIDEyINCz0LvQsNCyLCDQutC+0YLQvtGA0YvQtSDRgdC40YHRgtC10LzQsNGC0LjRh9C10YHQutC4INC+0LHRitGP0YHQvdGP0Y7RgiDQutC+0L3RgdGC0YDRg9C60YbQuNGOINC+0LrRgNGD0LbQsNGO0YnQtdC5INGB0YDQtdC00YssINGE0L7RgNC80LDRgiDRhNCw0LnQu9C+0LIsINGB0YLQsNGC0LjRh9C10YHQutC40Lkg0LDQvdCw0LvQuNC3LCDQtNC40L3QsNC80LjRh9C10YHQutCw0Y8g0L7RgtC70LDQtNC60LAsINGC0LXRhdC90L7Qu9C+0LPQuNGPINC30LDRidC40YLRiyDQutGA0Y7Rh9C60L7QsiDQuCDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjywg0L7QsdC+0LvQvtGH0LrQuCDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjywg0YLQsNC60LjQtSDQutCw0Log0YTQvtGA0LzQsNGC0Ysg0YTQsNC50LvQvtCyLCDRgdGC0LDRgtC40YfQtdGB0LrQuNC5INCw0L3QsNC70LjQtywg0LTQuNC90LDQvNC40YfQtdGB0LrQsNGPINC+0YLQu9Cw0LTQutCwLCDQutGA0Y7Rh9C60L7QstGL0LUg0Lgg0L/RgNC+0LPRgNCw0LzQvNC90YvQtSDQvtCx0L7Qu9C+0YfQutC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEgQW5kcm9pZCBTb2Z0d2FyZSBTZWN1cml0eS7QrdGC0LAg0LrQvdC40LPQsCDQuNC80LXQtdGCINCx0L7Qu9GM0YjQtdC1INC+0LHQvdC+0LLQu9C10L3QuNC1INC/0L4g0YHRgNCw0LLQvdC10L3QuNGOINGBINC/0LXRgNCy0YvQvCDQuNC30LTQsNC90LjQtdC8LtCa0YDQvtC80LUg0YLQvtCz0L4sINGN0YLQsCDQutC90LjQs9CwINC+0LHQvdC+0LLQu9GP0LXRgiDRgdGC0YDRg9C60YLRg9GA0YMg0LrQsNGC0LDQu9C+0LPQvtCyLCDQvtCx0YrRj9GB0L3Rj9GPINGC0LXRhdC90L7Qu9C+0LPQuNGOINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjyBKYXZhINC4INC90LDRgtC40LLQvdGL0YUg0YHQu9C+0LXQsiwg0Lgg0L7QvdCwINCx0L7Qu9C10LUg0L/QvtC00YDQvtCx0L3QviDQuCDRgNCw0LfRg9C80L3QviDQsiDRgNCw0YHQv9C+0LvQvtC20LXQvdC40Lgg0LrQvtC90YLQtdC90YLQsC7QkiDRgtC+INC20LUg0LLRgNC10LzRjyDQv9C+0L/Rg9C70Y/RgNC90YvQtSDQs9C70LDQstGLINC/0YDQvtCz0YDQsNC80LzQvdC+0LPQviDQvtCx0LXRgdC/0LXRh9C10L3QuNGPINC00L7QsdCw0LLQu9GP0Y7RgtGB0Y8g0LIg0L3QsNGB0YLQvtGP0YnQtdC1INCy0YDQtdC80Y8sINCx0L7Qu9GM0YjQuNC90YHRgtCy0L4g0LjQtyDQutC+0YLQvtGA0YvRhSDRj9Cy0LvRj9GO0YLRgdGPINGC0LXRhdC90L7Qu9C+0LPQuNGP0LzQuCwg0LrQvtGC0L7RgNGL0LUg0LXRidC1INC90LUg0LHRi9C70Lgg0YDQsNGB0LrRgNGL0YLRiy7QmtGA0L7QvNC1INGC0L7Qs9C+LCDQutCw0LbQtNCw0Y8g0LPQu9Cw0LLQsCDQsiDQutC90LjQs9C1INC+0LHRitGP0YHQvdGP0LXRgtGB0Y8g0LIg0L/RgNC40LzQtdGA0LUg0L7QsdGK0Y/RgdC90LXQvdC40Y8sINC60L7RgtC+0YDQvtC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQvtC70LXQtSDQv9GA0LDQutGC0LjRh9C90YvQvC48L3NwYW4+PGJyPjxicj48L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4O2NvbG9yOiAjNDA0MDQwO2xpbmUtaGVpZ2h0OiAxOS4wOTA5cHg7Ij48aW1nIGNsYXNzPSJkZXNjX2FuY2hvciBpbWcta3MtbGF6eWxvYWQiIGlkPSJkZXNjLW1vZHVsZS00IiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7aGVpZ2h0OiAxLjBweDtkaXNwbGF5OiBibG9jaztjbGVhcjogYm90aDtvcGFjaXR5OiAxO2NvbG9yOiAjNDA0MDQwO2xpbmUtaGVpZ2h0OiAxOS4wOTA5cHg7Ij48L3NwYW4+PHRhYmxlIHdpZHRoPSI3OTAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI2IiBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDtib3JkZXItc3BhY2luZzogMC4wcHg7Ym9yZGVyOiAxLjBweCBzb2xpZCAjY2NjY2NjO2NvbG9yOiAjNDA0MDQwO2ZvbnQtc2l6ZTogMTIuMHB4OyI+PHRyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiBzdHlsZT0iYm9yZGVyLWNvbG9yOiAjMDAwMDAwICMwMDAwMDAgI2Q5ZDlkOTtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzk5MDAwMDtmb250LXdlaWdodDogYm9sZDtib3JkZXItYm90dG9tLXdpZHRoOiAxLjBweDtib3JkZXItYm90dG9tLXN0eWxlOiBkYXNoZWQ7YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE2LjBweDsiPiAmYW1wO25ic3A7JmFtcDtuYnNwOzxzcGFuIGNsYXNzPSJTVFlMRTEiPtCS0LLQtdC00LXQvdC40LUg0LIg0LrQvtC90YLQtdC90YI8L3NwYW4+PC9zcGFuPjwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImxlZnQiIHN0eWxlPSJwYWRkaW5nOiAxMC4wcHg7Ym9yZGVyLWNvbG9yOiAjMDAwMDAwO2xpbmUtaGVpZ2h0OiAyMC4wcHg7Y29sb3I6ICM2NjY2NjY7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNC4wcHg7Ij48c3BhbiBzdHlsZT0iY29sb3I6ICM2NTY1NjU7Ij7QuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJnF1b3Q70J3QldCf0J7QoNCv0J3QndCr0JkmYW1wO1JkcXVvO9ChIDIwMDgg0LPQvtC00LAg0LzQvdC+0LPQuNC1INGC0LXRhdC90LjRh9C10YHQutC40LUg0YHRgtCw0YLRjNC4INCx0YvQu9C4INC+0L/Rg9Cx0LvQuNC60L7QstCw0L3RiyDQsiDRhdC+0YDQvtGI0L4g0LjQt9Cy0LXRgdGC0L3QvtC8INC20YPRgNC90LDQu9C1INCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCAiSGFja2VyIERlZmVuc2UiLjwvc3Bhbj48YnI+PGJyPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNC4wcHg7Ij48YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Y29sb3I6ICM0MDQwNDA7bGluZS1oZWlnaHQ6IDE5LjA5MDlweDsiPjxpbWcgY2xhc3M9ImRlc2NfYW5jaG9yIGltZy1rcy1sYXp5bG9hZCIgaWQ9ImRlc2MtbW9kdWxlLTUiIHNyYz0iaHR0cHM6Ly9hc3NldHMuYWxpY2RuLmNvbS9raXNzeS8xLjAuMC9idWlsZC9pbWdsYXp5bG9hZC9zcGFjZWJhbGwuZ2lmIiBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDtoZWlnaHQ6IDEuMHB4O2Rpc3BsYXk6IGJsb2NrO2NsZWFyOiBib3RoO29wYWNpdHk6IDE7Y29sb3I6ICM0MDQwNDA7bGluZS1oZWlnaHQ6IDE5LjA5MDlweDsiPjwvc3Bhbj48dGFibGUgd2lkdGg9Ijc5MCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjYiIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4O2JvcmRlci1zcGFjaW5nOiAwLjBweDtib3JkZXI6IDEuMHB4IHNvbGlkICNjY2NjY2M7Y29sb3I6ICM0MDQwNDA7Zm9udC1zaXplOiAxMi4wcHg7Ij48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImxlZnQiIHN0eWxlPSJib3JkZXItY29sb3I6ICMwMDAwMDAgIzAwMDAwMCAjZDlkOWQ5O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjOTkwMDAwO2ZvbnQtd2VpZ2h0OiBib2xkO2JvcmRlci1ib3R0b20td2lkdGg6IDEuMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hlZDtiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTYuMHB4OyI+ICZhbXA7bmJzcDsmYW1wO25ic3A7PHNwYW4gY2xhc3M9IlNUWUxFMSI+0JrQsNGC0LDQu9C+0LM8L3NwYW4+PC9zcGFuPjwvdGQ+PC90cj48dHIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImxlZnQiIHN0eWxlPSJwYWRkaW5nOiAxMC4wcHg7Ym9yZGVyLWNvbG9yOiAjMDAwMDAwO2xpbmUtaGVpZ2h0OiAyMC4wcHg7Y29sb3I6ICM2NjY2NjY7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNC4wcHg7Ij48c3BhbiBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDtjb2xvcjogIzY1NjU2NTsiPtCT0LvQsNCy0LAgMS4g0KHQvtC30LTQsNC90LjQtSDRgdGA0LXQtNGLINCw0L3QsNC70LjQt9CwINC/0YDQvtCz0YDQsNC80LwgQW5kcm9pZDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEuMSDQodC+0LfQtNCw0L3QuNC1INGB0YDQtdC00Ysg0LDQvdCw0LvQuNC30LAgV2luZG93cyAxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS4xLjEg0KPRgdGC0LDQvdC+0LLQuNGC0YwgSkRLIDE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjEuMiDQo9GB0YLQsNC90L7QstC40YLRjCBBbmRyb2lkIFNESyAyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS4xLjMg0KPRgdGC0LDQvdC+0LLQuNGC0LUgQW5kcm9pZCBOREsgNTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEuMS40IEFuZHJvaWQgU3R1ZGlvINCY0L3RgtC10LPRgNC40YDQvtCy0LDQvdC90LDRjyDRgdGA0LXQtNCwINGA0LDQt9GA0LDQsdC+0YLQutC4IDY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjEuNSDQodC+0LfQtNCw0YLRjCBBbmRyb2lkIFNpbXVsYXRvciA3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDEuMS42IEN5Z3dpbiA5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDEuMS43IEJhc2ggb24gVWJ1bnR1IG9uIFdpbmRvd3MgMTE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjIg0J/QvtGB0YLRgNC+0LjRgtGMINGB0YDQtdC00YMg0LDQvdCw0LvQuNC30LAgbWFjT1MgMTI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjIuMSDQo9GB0YLQsNC90L7QstC40YLRjCBKREsgMTI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjIuMiDQo9GB0YLQsNC90L7QstC40YLQtSBBbmRyb2lkIFNESyAxNDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEuMi4zINCj0YHRgtCw0L3QvtCy0LjRgtC1IEFuZHJvaWQgTkRLIDE0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS4yLjQgQW5kcm9pZCBTdHVkaW8g0JjQvdGC0LXQs9GA0LjRgNC+0LLQsNC90L3QsNGPINGB0YDQtdC00LAg0YDQsNC30YDQsNCx0L7RgtC60LggMTU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjMg0KHRgtGA0L7QuNGC0LXQu9GM0L3QsNGPINGB0YDQtdC00LAg0LDQvdCw0LvQuNC30LAgVWJ1bnR1IDE1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS4zLjEg0KPRgdGC0LDQvdC+0LLQuNGC0YwgSkRLIDE2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS4zLjIg0KPRgdGC0LDQvdC+0LLQuNGC0LUgQW5kcm9pZCBTREsgMTc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xLjMuMyDQo9GB0YLQsNC90L7QstC40YLQtSBBbmRyb2lkIE5ESyAxNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEuMy40IEFuZHJvaWQgU3R1ZGlvINCY0L3RgtC10LPRgNC40YDQvtCy0LDQvdC90LDRjyDRgdGA0LXQtNCwINGA0LDQt9GA0LDQsdC+0YLQutC4IDE4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS40INCe0LHRidC40Lkg0LjQvdGB0YLRgNGD0LzQtdC90YIg0L7QsdGA0LDRgtC90L7Qs9C+INCw0L3QsNC70LjQt9CwIDE5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MSw1INCe0LHRi9GH0L3QsNGPINC60L7QvNCw0L3QtNCwIExpbnV4IFNoZWxsIDE5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS42INCh0YDQtdC00LAg0LDQvdCw0LvQuNC30LAg0LjRgdGC0L7Rh9C90LjQutCwINGB0YLRgNC+0LjRgtC10LvRjNGB0YLQstCwIDIwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS42LjEg0JrQvtC80L/QuNC70LjRgNC+0LLQsNC90LjQtSDQuNGB0YXQvtC00L3QvtCz0L4g0LrQvtC00LAgQW5kcm9pZCDQsiBNYWNPUyAyMDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEuNi4yINCa0L7QvNC/0LjQu9C40YDQvtCy0LDQvdC40LUg0LjRgdGF0L7QtNC90L7Qs9C+INC60L7QtNCwIEFuZHJvaWQg0LIgVWJ1bnR1IDI2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS42LjMg0JrQvtC80L/QuNC70LjRgNC+0LLQsNC90LjQtSDQuNGB0YXQvtC00L3QvtCz0L4g0LrQvtC00LAgQW5kcm9pZCAyNiDQsiBXaW5kb3dzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MS43INCg0LXQt9GO0LzQtSDRjdGC0L7QuSDQs9C70LDQstGLIDI3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+0JPQu9Cw0LLQsCAyLiDQmtCw0Log0LDQvdCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGLIEFuZHJvaWQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjEg0J3QsNC/0LjRgdCw0L3QuNC1INC/0LXRgNCy0L7QuSBBbmRyb2lkLdC/0YDQvtCz0YDQsNC80LzRiyAyODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjIuMS4xINCh0L7Qt9C00LDQvdC40LUgQW5kcm9pZCBQcm9qZWN0IDI4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Mi4xLjIg0JrQvtC80L/QuNC70Y/RhtC40Y8g0Lgg0YHQvtC30LTQsNC90LjQtSBBUEst0YTQsNC50LvQvtCyIDMwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Mi4yINCS0LfQu9C+0LzQsNGC0Ywg0L/QtdGA0LLRg9GOIEFuZHJvaWQt0L/RgNC+0LPRgNCw0LzQvNGDIDM1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Mi4yLjEgQ3JhY2sg0Lgg0L3QsNGH0L3QuNGC0LUg0YEgMzU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjIuMiDQkNC90YLQuCAt0LrQvtC80L/QuNC70Y/RhtC40L7QvdC90YvQuSDRhNCw0LnQuyBBUEsgMzU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjIuMyDQkNC90LDQu9C40LcgQVBLIC3RhNCw0LnQuyAzNjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjIuMi40INCY0LfQvNC10L3QuNGC0LUg0LrQvtC0INGE0LDQudC70LAgU21hbGkgNDQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjIuNSByZSAtY29tcGlsZSDRhNCw0LnQuyBBUEsg0Lgg0LfQvdCw0LogNDU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjIuNiDQo9GB0YLQsNC90L7QstC60LAg0Lgg0YLQtdGB0YIgNDc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjIuNyDQoNC10LfRjtC80LUgNDg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4yLjMg0KDQtdC30Y7QvNC1INGN0YLQvtC5INCz0LvQsNCy0YsgNDg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij48YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij7Qk9C70LDQstCwIDMg0KTQvtGA0LzQsNGCINC40YHQv9C+0LvQvdGP0LXQvNC+0LPQviDRhNCw0LnQu9CwIERhbHZpayDQuCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0LHQsNC50YIt0LrQvtC00LA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjEgRGFsdmlrIFZpcnR1YWwgTWFjaGluZSA0OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMS4xIERhbHZpayBWaXJ0dWFsIE1hY2hpbmUg0LjQvNC10LXRgiA0OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMS4yIERhcnZpayBWaXJ0dWFsIE1hY2hpbmUg0LggSmF2YSBWaXJ0dWFsIE1hY2hpbmUgNDk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjEuMyDQn9GA0L7RhtC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyDQstC40YDRgtGD0LDQu9GM0L3QvtC5INC80LDRiNC40L3RiyA1NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMS40INCc0LXRgtC+0LQg0LLRi9C/0L7Qu9C90LXQvdC40Y8g0LLQuNGA0YLRg9Cw0LvRjNC90L7QuSDQvNCw0YjQuNC90YsgNTY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjIgRGFsdmlrIExhbmd1YWdlIEJhc2UgNTY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjIuMSDQpNC+0YDQvNCw0YIg0LjQvdGB0YLRgNGD0LrRhtC40LggRGFsdmlrIDU3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4yLjIg0JjQvdGB0YLRgNGD0LzQtdC90YIg0LrQvtC80L/QuNC70Y/RhtC40LggRGV4IENhcGl0YWwgNTg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjIuMyBEYWx2aWsgUmVnaXN0ZXIgNTk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjIuNCDQnNC10YLQvtC0INC40LzQtdC90L7QstCw0L3QuNGPINGA0LXQs9C40YHRgtGA0LDRhtC40LggNjE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjIuNSDQkdCw0LnRgi3QutC+0LQgRGFsdmlrIDYyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zINCd0LDQsdC+0YAg0LjQvdGB0YLRgNGD0LrRhtC40LkgRGFsdmlrIDYzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjEg0KLQuNC/0Ysg0LjQvdGB0YLRgNGD0LrRhtC40LkgNjQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjMuMiDQmNC90YHRgtGA0YPQutGG0LjQuCDQv9C+INGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQuCDQstC+0LfQtNGD0YXQsCA2NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy4zINCY0L3RgdGC0YDRg9C60YbQuNC4INC/0L4g0YDQsNCx0L7RgtC1INGBINC00LDQvdC90YvQvNC4IDY0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjQg0JjQvdGB0YLRgNGD0LrRhtC40Y8g0LLQvtC30LLRgNCw0YLQsCA2NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy41INCY0L3RgdGC0YDRg9C60YbQuNGPINC/0L4g0L7Qv9GA0LXQtNC10LvQtdC90LjRjiDQtNCw0L3QvdGL0YUgNjU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjMuNiDQmNC90YHRgtGA0YPQutGG0LjRjyDQsdC70L7QutC40YDQvtCy0LrQuCA2NjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy43INCf0YDQuNC80LXRgCDQuNC90YHRgtGA0YPQutGG0LjQuCDQv9C+INGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQuCA2NjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy44INCY0L3RgdGC0YDRg9C60YbQuNGPINC/0L4g0Y3QutGB0L/Qu9GD0LDRgtCw0YbQuNC4INC80LDRgdGB0LjQstCwIDY2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjkg0JjQvdGB0YLRgNGD0LrRhtC40LggT0RYIDY3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjEwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjExINCY0L3RgdGC0YDRg9C60YbQuNGPINGB0YDQsNCy0L3QtdC90LjRjyA2ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy4xMiDQmNC90YHRgtGA0YPQutGG0LjQuCDQv9C+INGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQuCDQv9C+0LvRjyA2OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuMy4xMyDQnNC10YLQvtC0INCY0L3RgdGC0YDRg9C60YbQuNGPINC/0L4g0LLRi9C30L7QstGDIDY5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My4zLjE0INCY0L3RgdGC0YDRg9C60YbQuNGPINC/0L4g0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjiDQtNCw0L3QvdGL0YUgNzA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjMuMTUg0JjQvdGB0YLRgNGD0LrRhtC40Y8g0L/QviDQstGL0YfQuNGB0LvQtdC90LjRjiDQtNCw0L3QvdGL0YUgNzA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4zLjQgRGFsdmlrINCY0L3RgdGC0YDRg9C60YbQuNGPINGD0L/RgNCw0LbQvdC10L3QuNGPIDcxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My40LjEg0JfQsNC/0LjRgdCw0YLRjCBTbWFsaSBGaWxlIDcxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My40LjIg0KHQutC+0LzQv9C40LvQuNGA0YPQudGC0LUgU21hbGkgRmlsZSA3MzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjMuNC4zPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+My41INCh0LLQvtC00LrQsCDRjdGC0L7QuSDQs9C70LDQstGLIDczPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+0JPQu9Cw0LLQsCA0LiDQoNCw0YHQv9GA0L7RgdGC0YDQsNC90LXQvdC90YvQtSDRhNC+0YDQvNCw0YLRiyDRhNCw0LnQu9C+0LIgQW5kcm9pZDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMSDQpNCw0LnQuyDQsdC40LHQu9C40L7RgtC10LrQuCA3NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMS4xIEphciBQYWNrYWdlIDc0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC4xLjIgQUFSIFBBQ0sgNzU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gNC4yIEFQSyA3ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMi4xINCh0YLRgNGD0LrRgtGD0YDQsCDRhNCw0LnQu9CwIEFQSyA3ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMi4yINCf0YDQvtGG0LXRgdGBINCz0LXQvdC10YDQsNGG0LjQuCDRhNCw0LnQu9CwIEFQSyA3OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMi4zINCf0YDQvtGG0LXRgdGBINGD0YHRgtCw0L3QvtCy0LrQuCBBUEsgODQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gNC4zIGNsYXNzZXMuZGV4IDkwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC4zLjEgREVYINCh0YLRgNGD0LrRgtGD0YDQsCDRhNCw0LnQu9CwIDkwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC4zLjIg0J/RgNC+0LLQtdGA0LrQsCDQuCDQvtC/0YLQuNC80LjQt9Cw0YbQuNGPINGE0LDQudC70LAgREVYIDEwNDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuMy4zINCc0L7QtNC40YTQuNC60LDRhtC40Y8g0YTQsNC50LvQsCBERVggMTA4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDQuMy40IE11bHRpRGV4IDExMTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA0LjQgQW5kcm9pZE1hbmlmZXN0LnhtbCAxMTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij40LjQuMSDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsCBBbmRyb2lkTWFuaWZlc3QueG1sIDExMzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuNC4yINCk0L7RgNC80LDRgiDRhNCw0LnQu9CwIGF4bWwgMTE0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC40LjMg0JzQvtC00LjRhNC40LrQsNGG0LjRjyDRhNCw0LnQu9CwIEFYTUwgMTIxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDQuNSByZXNvdXJjZXMuYXJzYyAxMjE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij40LjUuMSDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsCBBUlNDIDEyMjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuNS4yINCc0L7QtNC40YTQuNC60LDRhtC40Y8g0YTQsNC50LvQsCBBUlNDIDEyODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuNiDQnNC10YLQsC3QutCw0YLQsNC70L7QsyAxMjg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gNC42LjEgQ0VSVC5SU0EgMTI4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDQuNi4yIE1BTklGRVNULk1GIDEyOTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA0LjYuMyBDRVJULlNGIDEzMDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA0LjcgT0RFWCAxMzI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij40LjcuMSDQodCz0LXQvdC10YDQuNGA0L7QstCw0YLRjCDRhNCw0LnQuyBvZGV4IDEzMjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuNy4yINCk0L7RgNC80LDRgiDRhNCw0LnQu9CwIE9ERVggMTMyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC43LjMg0JrQvtC90LLQtdGA0YLQuNGA0L7QstCw0YLRjCDRhNCw0LnQuyBPREVYINCyINGE0LDQudC7IERFWCAxMzY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gNC44IE9BVCAxMzc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij40LjguMSBBcnQgVmlydHVhbCBNYWNoaW5lIDEzNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuOC4yINCh0LPQtdC90LXRgNC40YDQvtCy0LDRgtGMINC+0LLRgdGP0L3Ri9C5INGE0LDQudC7IDEzNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjQuOC4zINCk0L7RgNC80LDRgiDQvtCy0YHRj9C90L7Qs9C+INGE0LDQudC70LAgMTM4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC44LjQg0JrQvtC90LLQtdGA0YLQuNGA0L7QstCw0YLRjCDRhNCw0LnQuyDQvtCy0YHQsCDQsiDRhNCw0LnQuyBERVggMTQxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NC45INCh0LLQvtC00LrQsCDRjdGC0L7QuSDQs9C70LDQstGLIDE0MzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPtCT0LvQsNCy0LAgNSDQodGC0LDRgtC40YfQtdGB0LrQuNC5INCw0L3QsNC70LjQtyDQv9GA0L7Qs9GA0LDQvNC8IEFuZHJvaWQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjEg0KHRgtCw0YLQuNGH0LXRgdC60LjQuSDQsNC90LDQu9C40Lcg0JLQstC10LTQtdC90LjQtSAxNDU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjIg0KfRgtC10L3QuNC1INC60L7QtNCwIFNtYWxpIDE0NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuMi4xINCh0YLRgNGD0LrRgtGD0YDQsCDRhNCw0LnQu9CwIFNtYWxpIDE0NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuMi4yLiDQktC10LvQvtGB0LjQv9C10LTQvdC+0LUg0L/RgNC10LTQu9C+0LbQtdC90LjQtSAxNDg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjIuMyDQn9C10YDQtdC60LvRjtGH0LXQvdC40LUg0LLQtdGC0LLQuC4g0J/RgNC10LTQu9C+0LbQtdC90LjQtSAxNTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjIuNC4g0J/QvtC/0YDQvtCx0YPQudGC0LUv0J/QvtC50LzQsNC50YLQtSDQt9Cw0Y/QstC70LXQvdC40LUgMTU4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS4zINCn0LjRgtCw0YLRjCDQutC+0LQgSmF2YSAxNjM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjMuMSDQmtC+0L3QstC10YDRgtC40YDQvtCy0LDRgtGMINGE0LDQudC7IERFWCDQsiDQv9Cw0LrQtdGCIEpBUiAxNjM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjMuMiDQmNC90YHRgtGA0YPQvNC10L3RgiDQsNC90LDQu9C40LfQsCBKQVIgMTYzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS40INCi0LXRhdC90LjQutCwINC/0L7Qt9C40YbQuNC+0L3QuNGA0L7QstCw0L3QuNGPINC60L7QtNCwIDE2NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuNC4xINCc0LXRgtC+0LQg0LDQvdCw0LvQuNC30LAg0LLRhdC+0LTQsCAxNjQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjQuMiDQnNC10YLQvtC0INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCDRgSDQuNC90YTQvtGA0LzQsNGG0LjQtdC5IDE2NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuNC4zINCc0LXRgtC+0LQg0YTRg9C90LrRhtC40Lgg0YTRg9C90LrRhtC40LggMTY1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS41INCY0YHQv9C+0LvRjNC30YPQudGC0LUgSkVCINC00LvRjyDRgdGC0LDRgtC40YfQtdGB0LrQvtCz0L4g0LDQvdCw0LvQuNC30LAgMTY1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS41LjEg0KPRgdGC0LDQvdC+0LLQuNGC0YwgSkVCIDE2NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuNS4yINCh0YLQsNGC0LjRh9C10YHQutC+0LUg0LDQvdCw0LvQuNC3INCk0YPQvdC60YbQuNGPIEpFQiAxNjY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjUuMyDQodGG0LXQvdCw0YDQuNC5INCU0LbQtdCx0LAg0Lgg0L/Qu9Cw0LPQuNC9IC1JTiAxNjk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjYg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBJREEgUHJvINC00LvRjyDRgdGC0LDRgtC40YfQtdGB0LrQvtCz0L4g0LDQvdCw0LvQuNC30LAgMTcwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS42LjEg0J/QvtC00LTQtdGA0LbQutCwIElEQSBQcm8g0LTQu9GPIEFuZHJvaWQgMTcwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS42LjIg0JDQvdCw0LvQuNC3INGE0LDQudC7IERFWCAxNzA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41LjYuMyDQmtC+0LQg0L/QvtC30LjRhtC40L7QvdC40YDQvtCy0LDQvdC40Y8gMTcyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS43INCY0YHQv9C+0LvRjNC30YPQudGC0LUgQW5kcm9ndWFyZCDQtNC70Y8g0YHRgtCw0YLQuNGH0LXRgdC60L7Qs9C+INCw0L3QsNC70LjQt9CwIDE3NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuNy4xINCj0YHRgtCw0L3QvtCy0LjRgtGMIEFuZHJvZ3VhcmQgMTc1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+NS43LjIg0JrQsNC6INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCBBbmRyb2d1YXJkIDE3NTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjUuNy4zINCY0YHQv9C+0LvRjNC30YPQudGC0LUgYW5kcm9seXplLnB5INC00LvRjyDQsNC90LDQu9C40LfQsCAxNzk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij41Ljgg0KDQtdC30Y7QvNC1INGN0YLQvtC5INCz0LvQsNCy0YsgMTgyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+0JPQu9Cw0LLQsCA2LiDQlNC40L3QsNC80LjRh9C10YHQutC40Lkg0LDQvdCw0LvQuNC3INC/0YDQvtCz0YDQsNC80LwgQW5kcm9pZDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjYuMSDQlNC40L3QsNC80LjRh9C10YHQutCw0Y8g0YHRgtGA0YPQutGC0YPRgNCwINCw0L3QsNC70LjQt9CwIDE4MzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjYuMiDQndCw0LLRi9C60Lgg0LTQuNC90LDQvNC40YfQtdGB0LrQvtCz0L4g0LDQvdCw0LvQuNC30LAgMTg5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ni4yLjEg0JzQtdGC0L7QtCDQuNC90YrQtdC60YbQuNC4INC60L7QtNCwIDE4OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjYuMi4yINCc0LXRgtC+0LQg0YHRgtC10LrQsCAxOTI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij42LjIuMyDQn9GA0L7RhNC40LvQuNGA0L7QstCw0L3QuNC1INC80LXRgtC+0LTQsCAxOTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij42LjIuNCDQn9GA0L7QstC10YDQutCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0LjQvdGC0LXRgNGE0LXQudGB0LAgMTk2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ni4zINCY0YHQv9C+0LvRjNC30YPQudGC0LUgSkRCIER5bmFtaWMgRGVidWcgQVBLIDE5ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjYuNCDQmNGB0L/QvtC70YzQt9GD0LnRgtC1IEpFQiBEeW5hbWljIERlYnVnIEFQSyAyMDA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij42LjUg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBJREEgUHJvIER5bmFtaWNhbCBEZXZ1ZyBBUEsgMjAxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ni42INCg0LXQt9GO0LzQtSDRjdGC0L7QuSDQs9C70LDQstGLIDIwMzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPtCT0LvQsNCy0LAgNy4g0J7RgdC90L7QstGLINGA0LDQt9Cx0L7RgNC60LggQVJNPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny4xIEFuZHJvaWQg0LggQXJtIFByb2Nlc3NvciAyMDQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjEuMSDQntCx0LfQvtGAINCw0YDRhdC40YLQtdC60YLRg9GA0Ysg0L/RgNC+0YbQtdGB0YHQvtGA0LAgQVJNIDIwNDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuMS4yINCQ0YDRhdC40YLQtdC60YLRg9GA0LAg0L/RgNC+0YbQtdGB0YHQvtGA0LAsINC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8gQW5kcm9pZCAyMDU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gNy4yIEFuZHJvaWQgQVJNIEVBQkkgMjA2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDcuMi4xIGFybWVhYmkgMjA2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDcuMi4yIGFybWVhYmktdjdhIDIwNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA3LjIuMyBhcm02NC12OGEgMjA4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny4zLiDQk9C10L3QtdGA0LDRhtC40Y8g0LPQtdC90LXRgNCw0YbQuNC4INC90LDRgtC40LLQvdC+0Lkg0L/RgNC+0LPRgNCw0LzQvNGLIEFSTSAyMDg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjMuMSDQn9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdCw0Y8g0L7QsdGA0LDQsdC+0YLQutCwIDIxMDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuMy4yINCa0L7QvNC/0LjQu9C40YDQvtCy0LDQvdC40LUgMjExPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny4zLjMg0KHQsdC+0YDQutCwIDIxNTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuMy40INCh0YHRi9C70LrQsCAyMTU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjQg0K/Qt9GL0Log0JDRgdGB0LDQvNCx0LvQtdC4IDIxNjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNC4xINCh0YLRgNGD0LrRgtGD0YDQsCDQv9GA0L7Qs9GA0LDQvNC80Ysg0YHQsdC+0YDQutC4IEFSTSAyMTY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjQuMiDQmNC90YHRgtGA0YPQutGG0LjQuCDQv9C+INGB0LHQvtGA0LrQtSAyMjE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjQuMyDQoNC10LPQuNGB0YLRgNCw0YbQuNGPIDIyMzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNC40INCc0LXRgtC+0LQg0L7QsdGA0LDRidC10L3QuNGPINC/0YDQvtGG0LXRgdGB0L7RgNCwIDIyNDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNC41LiDQn9Cg0J7QktCV0KDQmtCQINCf0JDQoNCQ0JzQldCi0KDQkCAyMjcg0J/QvtC00L/RgNC+0LPRgNCw0LzQvNGLIDIyNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNSDQndCw0LHQvtGAINC40L3RgdGC0YDRg9C60YbQuNC5INC/0L4g0YHQsdC+0YDQutC1INGA0YPQuiAyMzA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjUuMSDQmtC70LDRgdGB0LjRhNC40LrQsNGG0LjRjyDQvdCw0LHQvtGA0LAg0LjQvdGB0YLRgNGD0LrRhtC40LkgQVJNIDIzMDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNS4yINCa0L7QtNC40YDQvtCy0LrQsCDQuNC90YHRgtGA0YPQutGG0LjQuCAyMzE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjUuMyDQkNC90LDQu9C40Lcg0YTQvtGA0LzQsNGC0LAg0LjQvdGB0YLRgNGD0LrRhtC40LggQVJNIDIzMzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNS40LjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNiDQndCw0LHQvtGAINC40L3RgdGC0YDRg9C60YbQuNC5INC/0L4g0LrQvtC80L/QuNC70Y/RhtC40Lgg0LHQvtC70YzRiNC+0LPQviDQv9Cw0LvRjNGG0LAgMjQwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny42LjEgMTYgLdCx0LjRgtC90LDRjyDQuNC90YHRgtGA0YPQutGG0LjRjyDQutC+0LTQuNGA0YPQtdGCIDI0MDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNi4yIDE2IC3QsdC40YLQvdGL0Lkg0LDQvdCw0LvQuNC3INC40L3RgdGC0YDRg9C60YbQuNC5IDI0MTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjcuNi4zIDMyIC1iaXQgcGxpZ2luZyDQmNC90YHRgtGA0YPQutGG0LjRjywg0LrQvtC00LjRgNGD0Y7RidCw0Y8gMjQyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny42LjQgMzIgLWJpdCBwaGluIHRodW1iINCQ0J3QkNCb0JjQlyDQpNC+0YDQvNCw0YLQsCAyNDQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij43LjcgQUFSQ0g2NCDQodCx0L7RgCDQutC+0LzQsNC90LQg0LrQvtC80L/QuNC70Y/RhtC40LggMjQ2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny43LjEgQWFyY2g2NCDQmNC90YHRgtGA0YPQutGG0LjRjywg0LrQvtC00LjRgNGD0Y7RidCw0Y8gMjQ2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny43LjIgQWFyY2g2NCDQkNC90LDQu9C40Lcg0YTQvtGA0LzQsNGC0LAg0LjQvdGB0YLRgNGD0LrRhtC40LkgMjQ3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+Ny44INCg0LXQt9GO0LzQtSDRjdGC0L7QuSDQs9C70LDQstGLIDI1MDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPtCT0LvQsNCy0LAgOC4g0KDQsNC30YDQsNCx0L7RgtC60LAg0YHQvtCx0YHRgtCy0LXQvdC90YvRhSDQv9GA0L7Qs9GA0LDQvNC8IEFuZHJvaWQg0Lgg0L7QsdGA0LDRgtC90YvQuSDQsNC90LDQu9C40Lc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjEg0KDQsNC30YDQsNCx0L7RgtC60LAg0L3QsNGC0LjQstC90L7QuSDQv9GA0L7Qs9GA0LDQvNC80YsgMjUxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC4xLjEgTmF0aXZlIFByb2dyYW0gRW5naW5lZXJpbmcgMjUyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC4xLjIgU1RMIENob2ljZSAyNTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gOC4xLjMgSk5JIDI1NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguMS40INCe0L/RhtC40Lgg0LrQvtC80L/QuNC70Y/RhtC40Lgg0Lgg0Y3Qu9C10LzQtdC90YLRiyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMjU2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC4yINCi0YDQsNC90YHQv9C70LDQvdGC0LDRhtC40Y8g0L3QsNGC0LjQstC90L7QuSDQv9GA0L7Qs9GA0LDQvNC80YsgMjU2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC4yLjEg0KLRgNCw0L3RgdC/0LvQsNC90YLQsNGG0LjRjyDQv9GA0L7QtdC60YLQsCBBRFQgMjU3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC4yLjIg0KLRgNCw0L3RgdC/0LvQsNC90YLQsNGG0LjRjyDQv9GA0L7QtdC60YLQsCDRgSDQvtGC0LrRgNGL0YLRi9C8INC40YHRhdC+0LTQvdGL0Lwg0LrQvtC00L7QvCAyNTg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjIuMyDQotGA0LDQvdGB0L/Qu9Cw0L3RgtCw0YbQuNGPINC/0YDQvtC10LrRgtCwIENNQUtFIDI2MjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguMi40INCi0YDQsNC90YHQv9C70LDQvdGC0LDRhtC40Y8g0LTRgNGD0LPQuNGFINGC0LjQv9C+0LIg0L/RgNC+0LXQutGC0L7QsiAyNjQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjMg0KTRg9C90LrRhtC40Y8g0LLRhdC+0LTQsCDQvdCw0YLQuNCy0L3QvtCz0L4g0L/RgNC+0LPRgNCw0LzQvNGLIDI2NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguMy4xINCQ0L3QsNC70LjQtyDQstGB0YLRgNC+0LXQvdC90L7QuSDRhNGD0L3QutGG0LjQuCDQstGF0L7QtNCwINCyINC/0YDQvtCz0YDQsNC80LzRgyAyNjQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjMuMiDQsNC90LDQu9C40Lcg0YTRg9C90LrRhtC40Lgg0LLRhdC+0LTQsCAyNjk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjQg0KTQvtGA0LzQsNGCINC90LDRgtC40LLQvdC+0LPQviDQv9GA0L7Qs9GA0LDQvNC80YsgMjcxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC40LjEg0KLQuNC/0Ysg0YTQsNC50LvQvtCyINC90LDRgtC40LLQvdGL0YUg0L/RgNC+0LPRgNCw0LzQvCAyNzE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjQuMiBBYXJjaDY0IEZpbGUgRmlsZSBGb3JtYXQgMjc0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDguNC4zIFByb2dyYW0gSGVhZGVyIFRhYmxlIDI3ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA4LjQuNCBTZWN0aW9uIEhlYWRlciBUYWJsZSAyODE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjQuNS5keW5hbWljINCg0LDQt9C00LXQuyAyODM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjQuNiDQodGC0YDQvtC60LAg0KLQsNCx0LvQuNGG0LAgMjg1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC40Ljcg0KHQuNC80LLQvtC7INCi0LDQsdC70LjRhtCwIDI4NjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNC44INCf0L7Qu9GD0YfQtdC90L3QsNGPINGC0LDQsdC70LjRhtCwINC4INGC0LDQsdC70LjRhtCwIFBMVCAyODc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjQuOSDQoNC10LrQvtC90YHRgtGA0YPQutGG0LjRjyDQsNC00YDQtdGB0LAg0KLQsNCx0LvQuNGG0LAgMjkxPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC41INCY0L3RgdGC0YDRg9C80LXQvdGCINC+0LHRgNCw0YLQvdC+0LPQviDQsNC90LDQu9C40LfQsCDQvdCw0YLQuNCy0L3QvtC5INC/0YDQvtCz0YDQsNC80LzRiyAyOTU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gOC41LjEgTkRLIFRvb2xjaGFpbiAyOTU8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gOC41LjIgSURBIFBybyAyOTc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gOC41LjMgSG9wcGVyIDMwMTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNiDQndCw0YLQuNCy0L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsCBDINCf0YDQvtCz0YDQsNC80LzQsCDQvtCx0YDQsNGC0L3Ri9C5INCw0L3QsNC70LjQtyAzMDI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjYuMSDQmtC+0LzQv9C40LvQuNGA0YPQudGC0LUg0L3QsNGC0LjQstC90YvQtSBDINC/0YDQvtCz0YDQsNC80LzRiyAzMDM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjYuMiDQlNC70Y8g0YHRgtGA0YPQutGC0YPRgNGLINGG0LjRgNC60YPQu9C40YDRg9GO0YnQtdC5INCy0LXRgtCy0LggMzA1PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OC42LjMg0J/RgNC4INGG0LjRgNC60YPQu9C40YDRg9GO0YnQtdC5INGB0YLRgNGD0LrRgtGD0YDQtSDQstC10YLQstC4IDMwOTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiA4LjYuNCBpZiZhbXA7aGVsbGlwOyZhbXA7SGVsbGlwOzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNi41INCh0YLRgNGD0LrRgtGD0YDQsCDRhtC40YDQutGD0LvQuNGA0YPRjtGJ0LXQuSDQstC10YLQstC4IDMxNjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNi42INCe0L/RgtC40LzQuNC30LjRgNC+0LLQsNC90L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsCBDIDMxOTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNyDQndCw0YLQuNCyIEMgKysg0J/RgNC+0LPRgNCw0LzQvNCwINC+0LHRgNCw0YLQvdGL0Lkg0LDQvdCw0LvQuNC3IDMyMTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNy4xINCe0LHRgNCw0YLQvdGL0Lkg0LDQvdCw0LvQuNC3IEMgKysgU1RMIDMyMjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguNy4yINCe0LHRgNCw0YLQvdGL0Lkg0LDQvdCw0LvQuNC3INC60LvQsNGB0YHQvtCyIEMrKyAzMjY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44LjcuMyBDICsrINCf0YDQvtCz0YDQsNC80LzQsCBSVFRJIDMzMjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjguOCDQndCw0YLQuNCy0L3Ri9C1LCDRgtCw0Log0LTQuNC90LDQvNC40YfQtdGB0LrQuNC1INCx0LjQsdC70LjQvtGC0LXQutC4LCDQvtCx0YDQsNGC0L3Ri9C5INCw0L3QsNC70LjQtyAzMzY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij44Ljkg0K3RgtCwINCz0LvQsNCy0LAgLSDRgdCw0LzQvNC40YIgMzM3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+0JPQu9Cw0LLQsCA5LiDQlNC40L3QsNC80LjRh9C10YHQutCw0Y8g0L7RgtC70LDQtNC60LAg0L3QsNGC0LjQstC90YvRhSDQv9GA0L7Qs9GA0LDQvNC8IEFuZHJvaWQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjEg0L7RgtC70LDQtNGH0LjQuiBHREIgMzM4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OS4xLjEg0KHRhtC10L3QsNGA0LjQuSBOREstR0RCIDMzODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjkuMS4yINCd0LDRgdGC0YDQvtC50LrQsCDQvtGC0LvQsNC00YfQuNC60LAgR0RCIDMzOTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjkuMS4zINCe0LHRidC40LUg0LrQvtC80LDQvdC00Ysg0L7RgtC70LDQtNGH0LjQutCwIEdEQiAzNDA8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjEuNCDQmNGB0L/QvtC70YzQt9GD0LnRgtC1IEdEQiDQtNC70Y8g0L7RgtC70LDQtNC60Lgg0L3QsNGC0LjQstC90YvRhSDQv9GA0L7Qs9GA0LDQvNC8IEFuZHJvaWQgMzQyPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OS4xLjUg0KTRgNC+0L3RgiAt0LrQvtC90YbQvtC8IEdEQiDQvtGC0LvQsNC00YfQuNC60LAgMzQ0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OS4yIExMREIg0L7RgtC70LDQtNGH0LjQuiAzNDY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjIuMSDQndCw0YHRgtGA0L7QudC60LAgTExEQiBEZWJ1Z2dlciAzNDY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjIuMiDQntCx0YnQuNC1INC60L7QvNCw0L3QtNGLINC+0YLQu9Cw0LTRh9C40LrQsCBMTERCIDM0ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjkuMi4zINCY0YHQv9C+0LvRjNC30YPQudGC0LUgTExEQiDQtNC70Y8g0L7RgtC70LDQtNC60Lgg0L3QsNGC0LjQstC90YvRhSDQv9GA0L7Qs9GA0LDQvNC8IEFuZHJvaWQgMzUwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+OS4yLjQg0J/QtdGA0LXQtNC90LjQuSDQs9GA0LDRhNC40YfQtdGB0LrQuNC5INC40L3RgtC10YDRhNC10LnRgSDQvtGC0LvQsNC00YfQuNC60LAgTExEQiAzNTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjMg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBJREEgUHJvINC00LvRjyDQvtGC0LvQsNC00LrQuCDQvdCw0YLQuNCy0L3Ri9GFINC/0YDQvtCz0YDQsNC80LwgQW5kcm9pZCAzNTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij45LjQg0KDQtdC30Y7QvNC1INGN0YLQvtC5INCz0LvQsNCy0YsgMzU4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+0JPQu9Cw0LLQsCAxMC4g0JrRgNGO0YfQvtC6INC4INC40L3RitC10LrRhtC40Y88YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMC4xINCi0LjQvyDQutGA0Y7QutCwIDM1OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiAxMC4xLjEgRGFsdmlrIEhvb2sgMzU5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+IDEwLjEuMiBBUlQgSG9vayAzNjI8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gMTAuMS4zIExEX1BSRUxPQUQgSG9vayAzNjQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4gMTAuMS40IEdPVCBIb29rIDM2NjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPiAxMC4xLjUgSW5saW5lIEhvb2sgMzY3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTAuMiDQpdGD0Log0YTRgNC10LnQvNCy0L7RgNC60LAgWHBvc2VkIDM2ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjMg0KHRhtC10L3QsCDQuCDQv9GA0LjQu9C+0LbQtdC90LjQtSBIb29rIDM3MjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjMuMSDQktC60LvRjtGH0LXQvdC40LUg0LLRi9Cy0L7QtNCwINC+0YLQu9Cw0LTQutC4INC20YPRgNC90LDQu9CwIDM3MjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjMuMiBBUEsg0L/Qu9Cw0LPQuNC9IDM3MzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjMuMyDQntCx0YXQvtC0INC30LDQutGA0LXQv9C70LXQvdC40Y8gU1NMIDM3MzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjQg0JTQuNC90LDQvNC40YfQtdGB0LrQsNGPINC40L3RitC10LrRhtC40Y8gMzc0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTAuNC4xLCDQv9C+0Y3RgtC+0LzRgyDQstC90LXQtNGA0LXQvdC40LUg0LTQuNC90LDQvNC40YfQtdGB0LrQvtC5INCx0LjQsdC70LjQvtGC0LXQutC4IDM3NDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjQuMiDQmNC90YrQtdC60YbQuNGPIERFWCAzNzY8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMC41INC40L3RitC10LrRhtC40L7QvdC90LDRjyDRgNCw0LzQutCwIEZyaWRhIDM3NzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjUuMSDQo9GB0YLQsNC90L7QstC60LAg0Lgg0L3QsNGB0YLRgNC+0LnQutCwIEZyaWRhIDM3NzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjUuMiDQktC90LXQtNGA0LXQvdC40LUg0LLRi9C/0L7Qu9C90LXQvdC40Y8g0Lgg0YXRg9C6IDM3ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEwLjUuMyDQntGC0YHQu9C10LbQuNCy0LDQvdC40LUg0YHQvtCx0YHRgtCy0LXQvdC90YvRhSDQvNC10YLQvtC00L7QsiAzODQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMC42INCt0YLQsCDQs9C70LDQstCwIC0g0YHQsNC80LzQuNGCIDM4NjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPtCT0LvQsNCy0LAgMTEuINCi0LXRhdC90L7Qu9C+0LPQuNGPINC30LDRidC40YLRiyDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjEg0KLQtdGF0L3QvtC70L7Qs9C40Y8g0LfQsNGJ0LjRgtGLINC/0YDQvtCz0YDQsNC80LzQvdC+0LPQviDQvtCx0LXRgdC/0LXRh9C10L3QuNGPINCS0LLQtdC00LXQvdC40LUgMzg3PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuMiDQotC10YXQvdC+0LvQvtCz0LjRjyDQv9GD0YLQsNC90LjRhtGLINC/0YDQvtCz0YDQsNC80LzQvdC+0LPQviDQvtCx0LXRgdC/0LXRh9C10L3QuNGPIDM4ODxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjIuMSDQntCx0YTRg9GB0LrQsNGG0LjRjyDQuNGB0YXQvtC00L3QvtCz0L4g0LrQvtC00LAgMzg5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuMi4yINCe0LHRhNGD0YHQutCw0YbQuNGPINGI0LDQsdC70L7QvdCwIDM4OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjIuMyDQn9GD0YLQsNC90LjRhtCwIEFTVCAzOTE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMS4yLjQg0J/Rg9GC0LDQvdC40YbQsCDQsiDQmNCaIDM5NzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjIuNSDQn9GD0YLQsNC90LjRhtCwIERFWCAzOTc8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMS4yLjYg0JLRgtC+0YDQuNGH0L3QsNGPINC/0YPRgtCw0L3QuNGG0LAgREVYIDM5OTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjMg0JfQsNGJ0LjRgtCwINC+0YIg0YDQtdGB0YPRgNGB0L7QsiA0MDE8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMS40INCf0YDQvtCy0LXRgNC60LAg0LjQvdGC0LXQs9GA0LDRhtC40LggNDAzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuNSDQkNC90YLQuNGG0LXRhtC60LDRjyDRgtC10YXQvdC+0LvQvtCz0LjRjyA0MDQ8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMS41LjEg0J7QsdC90LDRgNGD0LbQtdC90LjQtSDRgdGC0LDRgtGD0YHQsCDQvtGC0LvQsNC00YfQuNC60LAgNDA0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuNS4yINCe0LHQvdCw0YDRg9C20LXQvdC40LUg0L/QvtGA0YLQsCDQvtGC0LvQsNC00YfQuNC60LAgNDA0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuNS4zINCe0LHQvdCw0YDRg9C20LXQvdC40LUg0YHQvtGB0YLQvtGP0L3QuNGPINC/0YDQvtGG0LXRgdGB0LAgNDA2PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuNiDQntCx0L3QsNGA0YPQttC10L3QuNC1INC+0L/QtdGA0LDRhtC40L7QvdC90L7QuSDRgdGA0LXQtNGLIDQwNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjYuMSDQntCx0L3QsNGA0YPQttC10L3QuNC1INGB0LjQvNGD0LvRj9GC0L7RgNCwIDQwNzxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjExLjYuMiDQntCx0L3QsNGA0YPQttC10L3QuNC1INC60L7RgNC90Y8gNDA5PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTEuNi4zINCe0LHQvdCw0YDRg9C20LXQvdC40LUg0LrRgNGO0LrQsCA0MDk8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMS43INCg0LXQt9GO0LzQtSDRjdGC0L7QuSDQs9C70LDQstGLIDQxMTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPtCT0LvQsNCy0LAgMTIg0J/RgNC+0LPRgNCw0LzQvNC90LDRjyDQvtCx0L7Qu9C+0YfQutCwPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTIuMSBBbmRyb2lkIFNvZnR3YXJlIFNoZWxsIDQxMjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEyLjIg0KXQsNGA0LDQutGC0LXRgNC40YHRgtC40LrQuCDQuCDRgNCw0LfQstC10LTQutCwIDQxMyDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjyA0MTM8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMi4yLjEg0J7RgtC/0LXRh9Cw0YLQvtC6INC60L7QvNC/0LjQu9GP0YLQvtGA0LAgNDEzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTIuMi4yINCl0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC60Lgg0L/RgNC+0LPRgNCw0LzQvNC90YvRhSDQvtCx0L7Qu9C+0YfQtdC6IDQxNjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEyLjIuMyDQmNC90YHRgtGA0YPQvNC10L3RgiDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuCDQutC+0YDQv9GD0YHQsCA0MTg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMi4zINCU0LjQvdCw0LzQuNGH0LXRgdC60LDRjyDQvdCw0LPRgNGD0LfQvtGH0L3QsNGPINC+0LHQvtC70L7Rh9C60LAgNDE4PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTIuMy4xINCc0LXRgtC+0LQg0L7QsdGB0YLRgNC10LvQsCDQutGN0YjQsCA0MTg8YnIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7Ij4xMi4zLjIg0KHQv9C+0YHQvtCxINGA0LDRgdC/0LDQutC+0LLQutC4INC00LDQvNC/0LAg0L/QsNC80Y/RgtC4IDQxOTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEyLjMuMyDQnNC10YLQvtC0INC00LjQvdCw0LzQuNGH0LXRgdC60L7QuSDQvtGC0LvQsNC00LrQuCDQvtCx0L7Qu9C+0YfQutC4IDQyMDxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEyLjMuNCDQnNC10YLQvtC0INC+0LHRgdGC0YDQtdC70LAg0LrRgNGO0YfQutC+0LwgNDIzPGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTIuMy41INCc0LXRgtC+0LQg0L7QsdC+0LvQvtGH0LrQuCDQvdCw0YHRgtGA0L7QudC60Lgg0YHQuNGB0YLQtdC80YsgNDI0PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4OyI+MTIuNCDQmtC+0LTQvtCy0LDRjyDQvtCx0L7Qu9C+0YfQutCwIDQyNTxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDsiPjEyLjQuMSDQoNC10L7RgNCz0LDQvdC40LfQsNGG0LjRjyDQv9Cw0LzRj9GC0Lgg0Lgg0LzQtdGC0L7QtCDRgNCw0YHQv9Cw0LrQvtCy0LrQuDwvc3Bhbj48ZGl2IGNsYXNzPSJzZWN0aW9uX3Nob3dfbW9yZSIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMTUuMHB4IDAuMHB4IDAuMHB4O2xpc3Qtc3R5bGUtdHlwZTogbm9uZTtib3JkZXI6IDAuMHB4O3RleHQtYWxpZ246IHJpZ2h0O2hlaWdodDogMjQuMHB4O292ZXJmbG93OiBoaWRkZW47Y29sb3I6ICM2NTY1NjU7Ij4gJmFtcDtuYnNwOzwvZGl2Pjxicj48L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PGJyIHN0eWxlPSJtYXJnaW46IDAuMHB4O3BhZGRpbmc6IDAuMHB4O2NvbG9yOiAjNDA0MDQwO2xpbmUtaGVpZ2h0OiAxOS4wOTA5cHg7Ij48aW1nIGNsYXNzPSJkZXNjX2FuY2hvciBpbWcta3MtbGF6eWxvYWQiIGlkPSJkZXNjLW1vZHVsZS01IiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7aGVpZ2h0OiAxLjBweDtkaXNwbGF5OiBibG9jaztjbGVhcjogYm90aDtvcGFjaXR5OiAxO2NvbG9yOiAjNDA0MDQwO2xpbmUtaGVpZ2h0OiAxOS4wOTA5cHg7Ij48L3NwYW4+PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTQuMHB4OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE0LjBweDsiPjxiciBzdHlsZT0ibWFyZ2luOiAwLjBweDtwYWRkaW5nOiAwLjBweDtjb2xvcjogIzQwNDA0MDtsaW5lLWhlaWdodDogMTkuMDkwOXB4OyI+PC9zcGFuPjwvcD48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNC4wcHg7Ij48aW1nIGNsYXNzPSJkZXNjX2FuY2hvciBpbWcta3MtbGF6eWxvYWQiIGlkPSJkZXNjLW1vZHVsZS01IiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiIgc3R5bGU9Im1hcmdpbjogMC4wcHg7cGFkZGluZzogMC4wcHg7aGVpZ2h0OiAxLjBweDtkaXNwbGF5OiBibG9jaztjbGVhcjogYm90aDtvcGFjaXR5OiAxO2NvbG9yOiAjNDA0MDQwO2xpbmUtaGVpZ2h0OiAxOS4wOTA5cHg7Ij48L3NwYW4+PC9wPg==
Продавец:墨马图书专营店
Адрес:Хэнань
Рейтинг:

Всего отзывов:0
Положительных:0
Добавить в корзину
- Информация о товаре
- Фотографии

| Основная информация, обратитесь к следующему введению | |
| Название книги: | Авторитетное руководство по безопасности программного обеспечения Android |
| Автор: | Fengshengqiang |
| Цены: | 95.00 |
| Номер ISBN: | 9787121355202 |
| Издательство: | Электронная промышленная пресса |

|   Редактировать рекомендацию | |
| Эта книга в основном представляет технологии безопасности программного обеспечения на платформе Android.Начиная с фонда построения платформы и языка, он постепенно объяснил программную атакующую и оборонительную технологию на платформе Android.В этой книге есть 12 глав, которые систематически объясняют конструкцию окружающей среды, формат файлов, статический анализ, динамическая отладка, технология защиты крючков и программного обеспечения, оболочки программного обеспечения, такие как форматы файлов, статический анализ, динамическая отладка, крючковые и программные оболочки, связанные с Android Software Security.Эта книга имеет большее обновление по сравнению с первым изданием.Кроме того, эта книга обновляет структуру каталогов, объясняя технологию безопасности программного обеспечения Java и нативных слоев, и она более подробно и разумно в расположении контента.В то же время популярные главы программного обеспечения добавляются в настоящее время, большинство из которых являются технологиями, которые еще не были раскрыты.Кроме того, каждая глава в книге объясняется в примере объяснения, которое является более практичным. |

| Введение в контент | |
| имя пользователя"НЕПОРЯННЫЙ&Rdquo;С 2008 года многие технические статьи были опубликованы в хорошо известном журнале безопасности "Hacker Defense". |

| Каталог | |
| Глава 1. Создание среды анализа программ Android 1.1 Создание среды анализа Windows 1 1.1.1 Установить JDK 1 1.1.2 Установить Android SDK 2 1.1.3 Установите Android NDK 5 1.1.4 Android Studio Интегрированная среда разработки 6 1.1.5 Создать Android Simulator 7 1.1.6 Cygwin 9 1.1.7 Bash on Ubuntu on Windows 11 1.2 Построить среду анализа macOS 12 1.2.1 Установить JDK 12 1.2.2 Установите Android SDK 14 1.2.3 Установите Android NDK 14 1.2.4 Android Studio Интегрированная среда разработки 15 1.3 Строительная среда анализа Ubuntu 15 1.3.1 Установить JDK 16 1.3.2 Установите Android SDK 17 1.3.3 Установите Android NDK 17 1.3.4 Android Studio Интегрированная среда разработки 18 1.4 Общий инструмент обратного анализа 19 1,5 Обычная команда Linux Shell 19 1.6 Среда анализа источника строительства 20 1.6.1 Компилирование исходного кода Android в MacOS 20 1.6.2 Компилирование исходного кода Android в Ubuntu 26 1.6.3 Компилирование исходного кода Android 26 в Windows 1.7 Резюме этой главы 27 Глава 2. Как анализировать программы Android 2.1 Написание первой Android-программы 28 2.1.1 Создание Android Project 28 2.1.2 Компиляция и создание APK-файлов 30 2.2 Взломать первую Android-программу 35 2.2.1 Crack и начните с 35 2.2.2 Анти -компиляционный файл APK 35 2.2.3 Анализ APK -файл 36 2.2.4 Измените код файла Smali 44 2.2.5 re -compile файл APK и знак 45 2.2.6 Установка и тест 47 2.2.7 Резюме 48 2.3 Резюме этой главы 48 Глава 3 Формат исполняемого файла Dalvik и спецификации байт-кода 3.1 Dalvik Virtual Machine 49 3.1.1 Dalvik Virtual Machine имеет 49 3.1.2 Darvik Virtual Machine и Java Virtual Machine 49 3.1.3 Процесс выполнения виртуальной машины 54 3.1.4 Метод выполнения виртуальной машины 56 3.2 Dalvik Language Base 56 3.2.1 Формат инструкции Dalvik 57 3.2.2 Инструмент компиляции Dex Capital 58 3.2.3 Dalvik Register 59 3.2.4 Метод именования регистрации 61 3.2.5 Байт-код Dalvik 62 3.3 Набор инструкций Dalvik 63 3.3.1 Типы инструкций 64 3.3.2 Инструкции по эксплуатации воздуха 64 3.3.3 Инструкции по работе с данными 64 3.3.4 Инструкция возврата 65 3.3.5 Инструкция по определению данных 65 3.3.6 Инструкция блокировки 66 3.3.7 Пример инструкции по эксплуатации 66 3.3.8 Инструкция по эксплуатации массива 66 3.3.9 Инструкции ODX 67 3.3.10 3.3.11 Инструкция сравнения 68 3.3.12 Инструкции по эксплуатации поля 69 3.3.13 Метод Инструкция по вызову 69 3.3.14 Инструкция по преобразованию данных 70 3.3.15 Инструкция по вычислению данных 70 3.4 Dalvik Инструкция упражнения 71 3.4.1 Записать Smali File 71 3.4.2 Скомпилируйте Smali File 73 3.4.3 3.5 Сводка этой главы 73 Глава 4. Распространенные форматы файлов Android 4.1 Файл библиотеки 74 4.1.1 Jar Package 74 4.1.2 AAR PACK 75 4.2 APK 78 4.2.1 Структура файла APK 78 4.2.2 Процесс генерации файла APK 79 4.2.3 Процесс установки APK 84 4.3 classes.dex 90 4.3.1 DEX Структура файла 90 4.3.2 Проверка и оптимизация файла DEX 104 4.3.3 Модификация файла DEX 108 4.3.4 MultiDex 111 4.4 AndroidManifest.xml 113 4.4.1 Формат файла AndroidManifest.xml 113 4.4.2 Формат файла axml 114 4.4.3 Модификация файла AXML 121 4.5 resources.arsc 121 4.5.1 Формат файла ARSC 122 4.5.2 Модификация файла ARSC 128 4.6 Мета-каталог 128 4.6.1 CERT.RSA 128 4.6.2 MANIFEST.MF 129 4.6.3 CERT.SF 130 4.7 ODEX 132 4.7.1 Сгенерировать файл odex 132 4.7.2 Формат файла ODEX 132 4.7.3 Конвертировать файл ODEX в файл DEX 136 4.8 OAT 137 4.8.1 Art Virtual Machine 137 4.8.2 Сгенерировать овсяный файл 137 4.8.3 Формат овсяного файла 138 4.8.4 Конвертировать файл овса в файл DEX 141 4.9 Сводка этой главы 143 Глава 5 Статический анализ программ Android 5.1 Статический анализ Введение 145 5.2 Чтение кода Smali 145 5.2.1 Структура файла Smali 145 5.2.2. Велосипедное предложение 148 5.2.3 Переключение ветви. Предложение 153 5.2.4. Попробуйте/Поймайте заявление 158 5.3 Читать код Java 163 5.3.1 Конвертировать файл DEX в пакет JAR 163 5.3.2 Инструмент анализа JAR 163 5.4 Техника позиционирования кода 164 5.4.1 Метод анализа входа 164 5.4.2 Метод обратной связи с информацией 165 5.4.3 Метод функции функции 165 5.5 Используйте JEB для статического анализа 165 5.5.1 Установить JEB 165 5.5.2 Статическое анализ Функция JEB 166 5.5.3 Сценарий Джеба и плагин -IN 169 5.6 Используйте IDA Pro для статического анализа 170 5.6.1 Поддержка IDA Pro для Android 170 5.6.2 Анализ файл DEX 170 5.6.3 Код позиционирования 172 5.7 Используйте Androguard для статического анализа 174 5.7.1 Установить Androguard 175 5.7.2 Как использовать Androguard 175 5.7.3 Используйте androlyze.py для анализа 179 5.8 Резюме этой главы 182 Глава 6. Динамический анализ программ Android 6.1 Динамическая структура анализа 183 6.2 Навыки динамического анализа 189 6.2.1 Метод инъекции кода 189 6.2.2 Метод стека 192 6.2.3 Профилирование метода 193 6.2.4 Проверка пользовательского интерфейса 196 6.3 Используйте JDB Dynamic Debug APK 198 6.4 Используйте JEB Dynamic Debug APK 200 6.5 Используйте IDA Pro Dynamical Devug APK 201 6.6 Резюме этой главы 203 Глава 7. Основы разборки ARM 7.1 Android и Arm Processor 204 7.1.1 Обзор архитектуры процессора ARM 204 7.1.2 Архитектура процессора, поддерживаемая Android 205 7.2 Android ARM EABI 206 7.2.1 armeabi 206 7.2.2 armeabi-v7a 207 7.2.3 arm64-v8a 208 7.3. Генерация генерации нативной программы ARM 208 7.3.1 Предварительная обработка 210 7.3.2 Компилирование 211 7.3.3 Сборка 215 7.3.4 Ссылка 215 7.4 Язык Ассамблеи 216 7.4.1 Структура программы сборки ARM 216 7.4.2 Инструкции по сборке 221 7.4.3 Регистрация 223 7.4.4 Метод обращения процессора 224 7.4.5. ПРОВЕРКА ПАРАМЕТРА 227 Подпрограммы 227 7.5 Набор инструкций по сборке рук 230 7.5.1 Классификация набора инструкций ARM 230 7.5.2 Кодировка инструкции 231 7.5.3 Анализ формата инструкции ARM 233 7.5.4. 7.6 Набор инструкций по компиляции большого пальца 240 7.6.1 16 -битная инструкция кодирует 240 7.6.2 16 -битный анализ инструкций 241 7.6.3 32 -bit pliging Инструкция, кодирующая 242 7.6.4 32 -bit phin thumb АНАЛИЗ Формата 244 7.7 AARCH64 Сбор команд компиляции 246 7.7.1 Aarch64 Инструкция, кодирующая 246 7.7.2 Aarch64 Анализ формата инструкций 247 7.8 Резюме этой главы 250 Глава 8. Разработка собственных программ Android и обратный анализ 8.1 Разработка нативной программы 251 8.1.1 Native Program Engineering 252 8.1.2 STL Choice 253 8.1.3 JNI 254 8.1.4 Опции компиляции и элементы конфигурации 256 8.2 Трансплантация нативной программы 256 8.2.1 Трансплантация проекта ADT 257 8.2.2 Трансплантация проекта с открытым исходным кодом 258 8.2.3 Трансплантация проекта CMAKE 262 8.2.4 Трансплантация других типов проектов 264 8.3 Функция входа нативного программы 264 8.3.1 Анализ встроенной функции входа в программу 264 8.3.2 анализ функции входа 269 8.4 Формат нативного программы 271 8.4.1 Типы файлов нативных программ 271 8.4.2 Aarch64 File File Format 274 8.4.3 Program Header Table 278 8.4.4 Section Header Table 281 8.4.5.dynamic Раздел 283 8.4.6 Строка Таблица 285 8.4.7 Символ Таблица 286 8.4.8 Полученная таблица и таблица PLT 287 8.4.9 Реконструкция адреса Таблица 291 8.5 Инструмент обратного анализа нативной программы 295 8.5.1 NDK Toolchain 295 8.5.2 IDA Pro 297 8.5.3 Hopper 301 8.6 Нативная программа C Программа обратный анализ 302 8.6.1 Компилируйте нативные C программы 303 8.6.2 Для структуры циркулирующей ветви 305 8.6.3 При циркулирующей структуре ветви 309 8.6.4 if…&Hellip; 8.6.5 Структура циркулирующей ветви 316 8.6.6 Оптимизированная программа C 319 8.7 Натив C ++ Программа обратный анализ 321 8.7.1 Обратный анализ C ++ STL 322 8.7.2 Обратный анализ классов C++ 326 8.7.3 C ++ Программа RTTI 332 8.8 Нативные, так динамические библиотеки, обратный анализ 336 8.9 Эта глава - саммит 337 Глава 9. Динамическая отладка нативных программ Android 9.1 отладчик GDB 338 9.1.1 Сценарий NDK-GDB 338 9.1.2 Настройка отладчика GDB 339 9.1.3 Общие команды отладчика GDB 340 9.1.4 Используйте GDB для отладки нативных программ Android 342 9.1.5 Фронт -концом GDB отладчика 344 9.2 LLDB отладчик 346 9.2.1 Настройка LLDB Debugger 346 9.2.2 Общие команды отладчика LLDB 348 9.2.3 Используйте LLDB для отладки нативных программ Android 350 9.2.4 Передний графический интерфейс отладчика LLDB 353 9.3 Используйте IDA Pro для отладки нативных программ Android 353 9.4 Резюме этой главы 358 Глава 10. Крючок и инъекция 10.1 Тип крюка 359 10.1.1 Dalvik Hook 359 10.1.2 ART Hook 362 10.1.3 LD_PRELOAD Hook 364 10.1.4 GOT Hook 366 10.1.5 Inline Hook 367 10.2 Хук фреймворка Xposed 368 10.3 Сцена и приложение Hook 372 10.3.1 Включение вывода отладки журнала 372 10.3.2 APK плагин 373 10.3.3 Обход закрепления SSL 373 10.4 Динамическая инъекция 374 10.4.1, поэтому внедрение динамической библиотеки 374 10.4.2 Инъекция DEX 376 10.5 инъекционная рамка Frida 377 10.5.1 Установка и настройка Frida 377 10.5.2 Внедрение выполнения и хук 378 10.5.3 Отслеживание собственных методов 384 10.6 Эта глава - саммит 386 Глава 11. Технология защиты программного обеспечения 11.1 Технология защиты программного обеспечения Введение 387 11.2 Технология путаницы программного обеспечения 388 11.2.1 Обфускация исходного кода 389 11.2.2 Обфускация шаблона 389 11.2.3 Путаница AST 391 11.2.4 Путаница в ИК 397 11.2.5 Путаница DEX 397 11.2.6 Вторичная путаница DEX 399 11.3 Защита от ресурсов 401 11.4 Проверка интеграции 403 11.5 Антицецкая технология 404 11.5.1 Обнаружение статуса отладчика 404 11.5.2 Обнаружение порта отладчика 404 11.5.3 Обнаружение состояния процесса 406 11.6 Обнаружение операционной среды 407 11.6.1 Обнаружение симулятора 407 11.6.2 Обнаружение корня 409 11.6.3 Обнаружение крюка 409 11.7 Резюме этой главы 411 Глава 12 Программная оболочка 12.1 Android Software Shell 412 12.2 Характеристики и разведка 413 программного обеспечения 413 12.2.1 Отпечаток компилятора 413 12.2.2 Характеристики программных оболочек 416 12.2.3 Инструмент для проверки корпуса 418 12.3 Динамическая нагрузочная оболочка 418 12.3.1 Метод обстрела кэша 418 12.3.2 Способ распаковки дампа памяти 419 12.3.3 Метод динамической отладки оболочки 420 12.3.4 Метод обстрела крючком 423 12.3.5 Метод оболочки настройки системы 424 12.4 Кодовая оболочка 425 12.4.1 Реорганизация памяти и метод распаковки |

