3021131 |.

Цена: 1 169руб. (¥55.3)
Артикул: 39058841324
Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товараPGltZyBjbGFzcz0iZGVzY19hbmNob3IiIGlkPSJkZXNjLW1vZHVsZS0xIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiI+PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMzYuMHB4O2NvbG9yOiAjY2MwMDAwOyI+PHN0cm9uZz7QmtC90LjQs9C4LCDQv9GA0L7QtNCw0LLQsNC10LzRi9C1INCyINGN0YLQvtC8INC80LDQs9Cw0LfQuNC90LUsINGP0LLQu9GP0Y7RgtGB0Y8g0L3QsNGB0YLQvtGP0YnQuNC80Lgg0LrQvdC40LPQsNC80Lg8L3N0cm9uZz48L3NwYW4+PC9wPjxkaXYgY2xhc3M9ImhsZ19yYW5kXzI5NjEwNDUyNCIgc3R5bGU9Im9wYWNpdHk6IDA7aGVpZ2h0OiAwO3dpZHRoOiAwOyI+MTY0NDg3Njg3ODwvZGl2PjxpbWcgY2xhc3M9ImRlc2NfYW5jaG9yIiBpZD0iZGVzYy1tb2R1bGUtMiIgc3JjPSJodHRwczovL2Fzc2V0cy5hbGljZG4uY29tL2tpc3N5LzEuMC4wL2J1aWxkL2ltZ2xhenlsb2FkL3NwYWNlYmFsbC5naWYiPjxkaXY+PGltZyBzcmM9Imh0dHBzOi8vaW1nLmFsaWNkbi5jb20vaW1nZXh0cmEvaTMvMjE3MDQyOTc2L1QyejMzVlhwQlhYWFhYWFhYWC0yMTcwNDI5NzYuanBnIiB3aWR0aD0iNzUwIiBoZWlnaHQ9IjYwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTAuMHB4OyI+PC9kaXY+PHRhYmxlIHdpZHRoPSI3NTAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIzLjBweDtmb250LXNpemU6IDE0LjBweDtjb2xvcjogIzY2NjY2NjttYXJnaW4tdG9wOiAxMC4wcHg7Ym9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMS4wcHggMCAwIDEuMHB4OyI+PHRyPjx0ZCB3aWR0aD0iMTE5IiBhbGlnbj0icmlnaHQiIGJnY29sb3I9IiNGQkZCRkIiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij7Ql9Cw0LPQvtC70L7QstC+0Lo6PC90ZD48dGQgd2lkdGg9IjYyOCIgc3R5bGU9ImJvcmRlcjogc29saWQgMS4wcHggI2NjY2NjYztib3JkZXItd2lkdGg6IDAgMS4wcHggMS4wcHggMDsiPuOAkNCf0L7QtNC70LjQvdC90YvQueOAkSBVbml4L0xpbnV4INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNC1INGD0YfQtdCx0L3QuNC6IHwgMzAyMTEzMTwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSIxMTkiIGFsaWduPSJyaWdodCIgYmdjb2xvcj0iI0ZCRkJGQiIgc3R5bGU9ImJvcmRlcjogc29saWQgMS4wcHggI2NjY2NjYztib3JkZXItd2lkdGg6IDAgMS4wcHggMS4wcHggMDsiPtCm0LXQvdCwINC60L3QuNCz0Lg6PC90ZD48dGQgd2lkdGg9IjYyOCIgc3R5bGU9ImJvcmRlcjogc29saWQgMS4wcHggI2NjY2NjYztib3JkZXItd2lkdGg6IDAgMS4wcHggMS4wcHggMDsiPjc5INCu0LDQvdGMPC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjExOSIgYWxpZ249InJpZ2h0IiBiZ2NvbG9yPSIjRkJGQkZCIiBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMCAxLjBweCAxLjBweCAwOyI+0JDQstGC0L7RgCDQutC90LjQs9C4OjwvdGQ+PHRkIHdpZHRoPSI2MjgiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij5aaGFvIEtlamlhOyBTaGVuIFpoaXl1PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjExOSIgYWxpZ249InJpZ2h0IiBiZ2NvbG9yPSIjRkJGQkZCIiBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMCAxLjBweCAxLjBweCAwOyI+0JjQt9C00LDRgtC10LvRjNGB0YLQstC+OjwvdGQ+PHRkIHdpZHRoPSI2MjgiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij7QnNCw0YjQuNC90L7RgdGC0YDQvtC40YLQtdC70YzQvdCw0Y8g0L/RgNC+0LzRi9GI0LvQtdC90L3QvtGB0YLRjCDQn9GA0LXRgdGB0LA8L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMTE5IiBhbGlnbj0icmlnaHQiIGJnY29sb3I9IiNGQkZCRkIiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij7QlNCw0YLQsCDQv9GD0LHQu9C40LrQsNGG0LjQuDo8L3RkPjx0ZCB3aWR0aD0iNjI4IiBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMCAxLjBweCAxLjBweCAwOyI+IDIwMTMvMS8xIDA6MDA6MDA8L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMTE5IiBhbGlnbj0icmlnaHQiIGJnY29sb3I9IiNGQkZCRkIiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij7QndC+0LzQtdGAIElTQk46PC90ZD48dGQgd2lkdGg9IjYyOCIgc3R5bGU9ImJvcmRlcjogc29saWQgMS4wcHggI2NjY2NjYztib3JkZXItd2lkdGg6IDAgMS4wcHggMS4wcHggMDsiPiA5Nzg3MTExNDAzODkwPC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjExOSIgYWxpZ249InJpZ2h0IiBiZ2NvbG9yPSIjRkJGQkZCIiBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMCAxLjBweCAxLjBweCAwOyI+0YTQvtGA0LzQsNGCOjwvdGQ+PHRkIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij4xNjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSIxMTkiIGFsaWduPSJyaWdodCIgYmdjb2xvcj0iI0ZCRkJGQiIgc3R5bGU9ImJvcmRlcjogc29saWQgMS4wcHggI2NjY2NjYztib3JkZXItd2lkdGg6IDAgMS4wcHggMS4wcHggMDsiPtCa0L7Qu9C40YfQtdGB0YLQstC+INGB0YLRgNCw0L3QuNGGOjwvdGQ+PHRkIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij40ODM8L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMTE5IiBhbGlnbj0icmlnaHQiIGJnY29sb3I9IiNGQkZCRkIiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDEuMHB4ICNjY2NjY2M7Ym9yZGVyLXdpZHRoOiAwIDEuMHB4IDEuMHB4IDA7Ij7QmNC30LTQsNC90LjQtTo8L3RkPjx0ZCBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxLjBweCAjY2NjY2NjO2JvcmRlci13aWR0aDogMCAxLjBweCAxLjBweCAwOyI+MS0xPC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSI3NTAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0iYm9yZGVyOiAxLjBweCBzb2xpZCAjY2NjY2NjO21hcmdpbi10b3A6IDEwLjBweDtsaW5lLWhlaWdodDogMjMuMHB4O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjNjY2NjY2OyI+PHRyPjx0ZCBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMS4wcHggZGFzaGVkICNjY2NjY2M7YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtmb250LXdlaWdodDogYm9sZDtjb2xvcjogIzk5MDAwMDsiPtCe0LEg0LDQstGC0L7RgNC1PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9InBhZGRpbmc6IDEwLjBweDsiPtCn0LbQsNC+INCa0LXQtNC20LjRjyAtINC40YHRgdC70LXQtNC+0LLQsNGC0LXQu9GMINCo0LrQvtC70Ysg0LrQvtC80L/RjNGO0YLQtdGA0L3Ri9GFINC90LDRg9C6INC4INGC0LXRhdC90L7Qu9C+0LPQuNC5INCd0LDRhtC40L7QvdCw0LvRjNC90L7Qs9C+INGD0L3QuNCy0LXRgNGB0LjRgtC10YLQsCDQvtCx0L7RgNC+0L3QvdGL0YUg0YLQtdGF0L3QvtC70L7Qs9C40Lkg0Lgg0L3QsNGB0LvQsNC20LTQsNC10YLRgdGPINGB0L/QtdGG0LjQsNC70YzQvdGL0LzQuCDQv9GA0LDQstC40YLQtdC70YzRgdGC0LLQtdC90L3Ri9C80Lgg0L3QsNC00LHQsNCy0LrQsNC80LguINCe0YHQvdC+0LLQvdGL0Lwg0L3QsNC/0YDQsNCy0LvQtdC90LjQtdC8INC40YHRgdC70LXQtNC+0LLQsNC90LjRjyDRj9Cy0LvRj9C10YLRgdGPINGP0LfRi9C6INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGPINC4INC10LPQviDRgdC40YHRgtC10LzQsCDQutC+0LzQv9C40LvRj9GG0LjQuC7QntC9INGD0YfQsNGB0YLQstC+0LLQsNC7INCyINGA0LDQt9GA0LDQsdC+0YLQutC1INC/0LXRgNCy0L7QuSDQs9C40LPQsNC90YLRgdC60L7QuSBHYWxheHktMSDQvNC+0LXQuSDRgdGC0YDQsNC90YssINCwINGC0LDQutC20LUg0LIg0YDQsNC30YDQsNCx0L7RgtC60LUg0LzQvdC+0LPQuNGFINC60L7QvNC/0YzRjtGC0LXRgNC90YvRhSDRgdC40YHRgtC10Lwg0L3QsNGG0LjQvtC90LDQu9GM0L3Ri9GFINC60LvRjtGH0LXQuS4g0J7QvSDQstGL0LjQs9GA0LDQuyDQv9C10YDQstGD0Y4g0L/RgNC10LzQuNGOINC90LDRhtC40L7QvdCw0LvRjNC90L7Qs9C+INC/0YDQvtCz0YDQtdGB0YHQsCDQsiDQvdCw0YPQutC1INC4INGC0LXRhdC90LjQutC1LCDQv9C10YDQstC+0Lkg0L/RgNC10LzQuNC4INC4INCy0YLQvtGA0L7QuSDQv9GA0LXQvNC40Lgg0L/QviDQvdCw0YPQutC1INC4INGC0LXRhdC90L7Qu9C+0LPQuNGP0Lwg0L3QsCDRg9GA0L7QstC90LUg0LzQuNC90LjRgdGC0LXRgNGB0YLQstCwLtCe0L0g0L3QsNC/0LjRgdCw0Lsg0Lgg0L/QtdGA0LXQstC10Lsg0YDRj9C0INCw0LrQsNC00LXQvNC40YfQtdGB0LrQuNGFINGA0LDQsdC+0YIg0L/QviDRgdC40YHRgtC10LzQsNC8INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGPINC4INC60L7QvNC/0LjQu9GP0YbQuNC4LCDQsiDRgtC+0Lwg0YfQuNGB0LvQtTogwqvQn9GA0LjQvdGG0LjQv9GLINC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGPINGP0LfRi9C60L7QstC+0LPQviDQutC+0LzQv9C40LvRj9GG0LjQuMK7LCDCq9Cf0YDQvtC10LrRgtC40YDQvtCy0LDQvdC40LUg0Lgg0YDQtdCw0LvQuNC30LDRhtC40Y8g0L/QtdGA0LXQtNC+0LLQvtCz0L4g0LrQvtC80L/QuNC70Y/RhtC40LjCuywgwqvQn9GA0LjQvdGG0LjQv9GLINGB0L7QstGA0LXQvNC10L3QvdC+0LPQviDQutC+0LzQv9C40LvRj9GG0LjQuDog0L7Qv9C40YHQsNC90LjQtSDRj9C30YvQutCwIEPCuyDQuCDRgi4g0JQuINCo0LXQvSDQltC40Y4sINC/0YDQvtGE0LXRgdGB0L7RgCDQqNC60L7Qu9GLINC60L7QvNC/0YzRjtGC0LXRgNC90YvRhSDQvdCw0YPQuiDQuCDRgtC10YXQvdC+0LvQvtCz0LjQuSDQndCw0YbQuNC+0L3QsNC70YzQvdC+0LPQviDRg9C90LjQstC10YDRgdC40YLQtdGC0LAg0L/QviDQvdCw0YPQutC1INC+INC30LDRidC40YLQtSDQuCDRgtC10YXQvdC40YfQtdGB0LrQuNGFINGC0LXRhdC90L7Qu9C+0LPQuNGP0YUg0Lgg0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YHQv9C10YbQuNCw0LvRjNC90YvQvNC4INC/0YDQsNCy0LjRgtC10LvRjNGB0YLQstCw0LzQuC7QntGB0L3QvtCy0L3Ri9C80Lgg0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C80Lgg0LjRgdGB0LvQtdC00L7QstCw0L3QuNGPINGP0LLQu9GP0Y7RgtGB0Y8g0L/QsNGA0LDQu9C70LXQu9GM0L3QsNGPINC+0LHRgNCw0LHQvtGC0LrQsCDQuCDQv9GA0L7Qs9GA0LDQvNC80L3QvtC1INC+0LHQtdGB0L/QtdGH0LXQvdC40LUg0LrQvtC80L/RjNGO0YLQtdGA0L3QvtC5INGB0LjRgdGC0LXQvNGLLiDQntC9INGD0YfQsNGB0YLQstC+0LLQsNC7INCyINGA0LDQt9GA0LDQsdC+0YLQutC1INC80L3QvtCz0LjRhSDQvdCw0YbQuNC+0L3QsNC70YzQvdGL0YUg0LrQu9GO0YfQtdCy0YvRhSDQv9GA0L7Qs9GA0LDQvNC80L3Ri9GFINC/0YDQvtCz0YDQsNC80LzQvdGL0YUg0YHQuNGB0YLQtdC8INCyINC80L7QtdC5INGB0YLRgNCw0L3QtSDQuCDQv9C+0LvRg9GH0LjQuyDQv9C10YDQstGL0Lkg0L/RgNC40Lcg0L3QsNGG0LjQvtC90LDQu9GM0L3QvtCz0L4g0L3QsNGD0YfQvdC+0LPQviDQuCDRgtC10YXQvdC+0LvQvtCz0LjRh9C10YHQutC+0LPQviDQv9GA0L7Qs9GA0LXRgdGB0LAsINC/0LXRgNCy0YPRjiDQv9GA0LXQvNC40Y4g0Lgg0LLRgtC+0YDRg9GOINC/0YDQtdC80LjRjiDQvNC40L3QuNGB0YLQtdGA0YHRgtCyINC4INC60L7QvNC40YHRgdC40Lku0KHQu9C10LTRg9GO0YnQuNC1INGD0YfQtdCx0L3QuNC60Lgg0Lgg0LzQvtC90L7Qs9GA0LDRhNC40Lgg0LHRi9C70Lgg0L3QsNC/0LjRgdCw0L3RiyDQuCDQv9C10YDQtdCy0LXQtNC10L3RizogwqvQn9Cw0YDQsNC70LvQtdC70YzQvdC+0LUg0L/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40LXCuywgwqvQnNC10YLQvtC0INC/0LDRgNCw0LvQu9C10LvRjNC90L7Qs9C+INC60L7QvNC/0LjQu9GP0YbQuNC4wrssIMKr0JDQvdCw0LvQuNC3INC30LDQstC40YHQuNC80L7RgdGC0LXQuSDQv9GA0Lgg0YHRg9C/0LXRgNC60L7QvNC/0YzRjtGC0LjQvdCz0LXCuyDQuCDCq9Cf0YDQvtC10LrRgtC40YDQvtCy0LDQvdC40LUg0Lgg0YDQtdCw0LvQuNC30LDRhtC40Y8g0YDQsNGB0YjQuNGA0LXQvdC90L7Qs9C+INC60L7QvNC/0LjQu9GP0YLQvtGA0LDCuyDQuCDRgi4g0JQuPC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSI3NTAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0iYm9yZGVyOiAxLjBweCBzb2xpZCAjY2NjY2NjO21hcmdpbi10b3A6IDEwLjBweDtsaW5lLWhlaWdodDogMjMuMHB4O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjNjY2NjY2OyI+PHRyPjx0ZCBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMS4wcHggZGFzaGVkICNjY2NjY2M7YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtmb250LXdlaWdodDogYm9sZDtjb2xvcjogIzk5MDAwMDsiPtCS0LLQtdC00LXQvdC40LUg0LIg0LrQvtC90YLQtdC90YI8L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0icGFkZGluZzogMTAuMHB4OyI+0KPRh9C10LHQvdC40LrQuCDQv9C+INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGOIFVuaXgvTGludXgg0YHQu9C10LTRg9GO0YIg0L/QvtGB0LvQtdC00L3QuNC8JmxkcXVvO1VuaWZpZWQgVW5peCBTcGVjaXphdGlvbiDQktC10YDRgdC40Y8gNCZyZHF1bzssINC90LAg0L7RgdC90L7QstC1IExpbnV4INCyINC60LDRh9C10YHRgtCy0LUg0L/Qu9Cw0YLRhNC+0YDQvNGLLCDRgdC40YHRgtC10LzQsNGC0LjRh9C10YHQutC4INC+0L/QuNGB0YvQstCw0LXRgiDQvNC10YLQvtC00Ysg0L/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40Y8g0YDQsNC30LvQuNGH0L3Ri9GFINGE0YPQvdC60YbQuNC5IEFQSSBVTklYLtCh0L7QtNC10YDQttCw0L3QuNC1INGN0YLQvtC5INC60L3QuNCz0Lgg0LLQutC70Y7Rh9Cw0LXRgiDQsiDRgdC10LHRjyDQuNGB0YLQvtGA0LjRjiDQuCDRgdGC0LDQvdC00LDRgNGC0Ysg0YDQsNC30LLQuNGC0LjRjyBVTklYLCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C1INCy0LLQvtC00Ysv0LLRi9Cy0L7QtNCwINC4INC90LjQt9C60L7Rg9GA0L7QstC90LXQstGL0Lkg0LLQstC+0LQt0LLRi9Cy0L7QtCwg0YTQsNC50LvQvtCy0YvQtSDQuCDQutCw0YLQsNC70L7Qs9C4LdC+0L/QtdGA0LDRhtC40LgsINGD0L/RgNCw0LLQu9C10L3QuNC1INGB0YDQtdC00L7QuSDQuCDQv9GA0L7RhtC10YHRgdCw0LzQuCwg0L7QsdGA0LDQsdC+0YLQutGDINGB0LjQs9C90LDQu9C+0LIsINCy0YDQtdC80Y8g0Lgg0LLRgNC10LzRjywg0YLQtdGA0LzQuNC90LDQuyDQstCy0L7QtNCwLdCy0YvQstC+0LTQsCwg0YDQsNGB0YjQuNGA0LXQvdC90L7QtSDQstCy0L7QtC3QstGL0LLQvtC0LCDRgdCy0Y/Qt9GMINC80LXQttC00YMg0L/RgNC+0YbQtdGB0YHQsNC80LgsINCz0L3QtdC30LTQviDQuCDRgdC10YLQtdCy0YvQvCDQutC+0LzQvNGD0L3QuNC60LDRhtC40LXQuSDQuCDQvNC90L7Qs9C+0L/QvtGC0L7Rh9C90L7QtSDQt9Cw0L/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40LUuPGJyPtCS0LLQvtC00Y8g0YTRg9C90LrRhtC40Lgg0Lgg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YDQsNC30LvQuNGH0L3Ri9GFINGE0YPQvdC60YbQuNC5IFVOSVggQVBJLCDCq9Cj0YfQtdCxINC/0L4g0L/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40Y4gVU5JWC9MaW51eMK7INGH0LXRgtC60L4g0L7QsdGK0Y/RgdC90Y/QtdGCINC+0YHQvdC+0LLQvdGL0LUg0L/RgNC40L3RhtC40L/RiyDQvtC/0LXRgNCw0YbQuNC+0L3QvdC+0Lkg0YHQuNGB0YLQtdC80YssINC60L7RgtC+0YDRg9GOINC+0L3QuCDQv9C+0LTRgNCw0LfRg9C80LXQstCw0Y7Rgi4g0JIg0LrQvdC40LPQtSDQv9GA0LjQstC10LTQtdC90L4g0LHQvtC70YzRiNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/RgNC+0LPRgNCw0LzQvCDQv9GA0L7QtdC60YLQuNGA0L7QstCw0L3QuNGPINC/0YDQvtCz0YDQsNC80LwsINGH0YLQviDQv9C+0LzQvtCz0LDQtdGCINGH0LjRgtCw0YLQtdC70Y/QvCDQu9GD0YfRiNC1INC+0LLQu9Cw0LTQtdGC0Ywg0YTRg9C90LrRhtC40Y/QvNC4LCDQvNC10YLQvtC00LDQvNC4INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINC4INC90LDQstGL0LrQvtCyINC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGPINGN0YLQuNGFINGE0YPQvdC60YbQuNC5Ljxicj7Cq9Cj0YfQtdCx0L3QvtC1INC/0L7RgdC+0LHQuNC1INC/0L4g0L/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40Y4gVW5peC9MaW51eMK7INC+0YHQvtCx0LXQvdC90L4g0L/QvtC00YXQvtC00LjRgiDQtNC70Y8g0YPRh9C40YLQtdC70LXQuSwg0YHRgtCw0YDRiNC40YUg0YHRgtGD0LTQtdC90YLQvtCyINC4INCw0YHQv9C40YDQsNC90YLQvtCyINCyINC60L7QvNC/0YzRjtGC0LXRgNC90YvRhSDRgdC/0LXRhtC40LDQu9C40YHRgtCw0YUg0LIg0LLRi9GB0YjQuNGFINGD0YfQtdCx0L3Ri9GFINC30LDQstC10LTQtdC90LjRj9GFINCyINC60LDRh9C10YHRgtCy0LUg0YPRh9C10LHQvdC40LrQvtCyINC4INGB0L/RgNCw0LLQvtGH0L3Ri9GFINC60L3QuNCzLCDQsCDRgtCw0LrQttC1INC+0YHQvtCx0LXQvdC90L4g0L/QvtC00YXQvtC00LjRgiDQtNC70Y8g0YLQtdGF0L3QuNGH0LXRgdC60L7Qs9C+INC4INGC0LXRhdC90LjRh9C10YHQutC+0LPQviDQv9C10YDRgdC+0L3QsNC70LAsINC30LDQvdC40LzQsNGO0YnQtdCz0L7RgdGPINC/0YDQvtCz0YDQsNC80LzQvdGL0Lwg0L7QsdC10YHQv9C10YfQtdC90LjQtdC8INC00LvRjyDQutC+0LzQv9GM0Y7RgtC10YDQvdGL0YUg0YHQuNGB0YLQtdC8INC4INGA0LDQt9GA0LDQsdC+0YLQutC4INC/0YDQvtCz0YDQsNC80LzQvdC+0LPQviDQvtCx0LXRgdC/0LXRh9C10L3QuNGPINC00LvRjyDQv9GA0LjQu9C+0LbQtdC90LjQuSDQsiDQutCw0YfQtdGB0YLQstC1INC/0YDQsNC60YLQuNGH0LXRgdC60LjRhSDRgNGD0LrQvtCy0L7QtNGB0YLQsiDQv9C+INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGOINC00LvRjyDRh9GC0LXQvdC40Y8uPC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSI3NTAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0iYm9yZGVyOiAxLjBweCBzb2xpZCAjY2NjY2NjO21hcmdpbi10b3A6IDEwLjBweDtsaW5lLWhlaWdodDogMjMuMHB4O2ZvbnQtc2l6ZTogMTQuMHB4O2NvbG9yOiAjNjY2NjY2OyI+PHRyPjx0ZCBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMS4wcHggZGFzaGVkICNjY2NjY2M7YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtmb250LXdlaWdodDogYm9sZDtjb2xvcjogIzk5MDAwMDsiPtCa0LDRgtCw0LvQvtCzPC90ZD48L3RyPjx0cj48dGQgc3R5bGU9InBhZGRpbmc6IDEwLjBweDsiPiLQo9GH0LXQsdC90L7QtSDQv9C+0YHQvtCx0LjQtSDQv9C+INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGOIFVuaXgvTGludXgiPGJyPtCf0YDQtdC00LjRgdC70L7QstC40LU8YnI+0JPQu9Cw0LLQsCAxIFVuaXgg0JLQstC10LTQtdC90LjQtSAxPGJyPjEuMSDQmtGA0LDRgtC60LDRjyDQuNGB0YLQvtGA0LjRjyBVbml4IDE8YnI+MS4xLjEg0KDQvtC20LTQtdC90LjQtSBVTklYIDE8YnI+MS4xLjIg0KDQsNC90L3QtdC1INGA0LDQt9Cy0LjRgtC40LUgVU5JWCAyPGJyPjEuMS4zIEJTRCBVbml4IDM8YnI+MS4xLjQg0KHQuNGB0YLQtdC80LAgViBVbml4IDM8YnI+MS4xLjUg0JrQvtC80LzQtdGA0YbQuNCw0LvQuNC30LDRhtC40Y8gVU5JWCA0PGJyPjEuMS42IExpbnV4IDQ8YnI+MS4yINCh0YLQsNC90LTQsNGA0YIgNTxicj4xLjIuMSBTVklEIDU8YnI+MS4yLjIgUG9zaXggNjxicj4xLjIuMyBVbmlmaWVkIFVuaXgg0YHQv9C10YbQuNGE0LjQutCw0YbQuNC4IDY8YnI+MS4yLjQgQyDQodGC0LDQvdC00LDRgNGCIDg8YnI+MS4zINCe0YHQvdC+0LLQvdGL0LUg0LrQvtC90YbQtdC/0YbQuNC4IFVuaXggODxicj4xLjMuMSDQn9GA0L7Qs9GA0LDQvNC80Ysg0Lgg0L/RgNC+0YbQtdGB0YHRiyA4PGJyPjEuMy4yINCv0LTRgCA5PGJyPjEuMy4zINC+0LHQvtC70L7Rh9C60LAgMTA8YnI+MS4zLjQg0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINCz0YDRg9C/0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQs9GA0YPQv9C/0YsgMTE8YnI+MS4zLjUg0J/RgNC40LLQuNC70LXQs9C40YDQvtCy0LDQvdC90YvQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwgMTI8YnI+MS4zLjYg0KHQuNGB0YLQtdC80L3Ri9C1INCy0YvQt9C+0LLRiyDQuCDQsdC40LHQu9C40L7RgtC10YfQvdGL0LUg0YTRg9C90LrRhtC40LggMTI8YnI+MS40INCh0LjRgdGC0LXQvNC90LDRjyDQsdC40LHQu9C40L7RgtC10LrQsCAxMzxicj4xLjQuMSDQpNCw0LnQuyDQt9Cw0LPQvtC70L7QstC60LAgMTQ8YnI+MS40LjIg0JfQsNGA0LXQt9C10YDQstC40YDQvtCy0LDQvdC90YvQtSDRgdC70L7QstCwIDE0PGJyPjEuNC4zPGJyPjEsNSDQn9GA0L7Qs9GA0LDQvNC80LAg0LLRi9Cx0L7RgNC60Lgg0Lgg0YHRgNC10LTQsCDQutC+0LzQv9C40LvRj9GG0LjQuCAxNjxicj4xLjYg0J7QsdGA0LDQsdC+0YLQutCwINC+0YjQuNCx0L7QuiAxNzxicj4xLjcg0JjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0YHQuNGB0YLQtdC80LUgMTk8YnI+MS43LjEg0JzQsNGI0LjQvdC90LDRjyDQvNCw0YDQutC40YDQvtCy0LrQsCAxOTxicj4xLjcuMiDQmNC00LXQvdGC0LjRhNC40LrQsNGG0LjRjyDQvtCx0L7RgNGD0LTQvtCy0LDQvdC40Y8v0YLQuNC/0LAg0L/RgNC+0LPRgNCw0LzQvNC90L7Qs9C+INC+0LHQtdGB0L/QtdGH0LXQvdC40Y8gMTk8YnI+MS44INCh0LjRgdGC0LXQvNC90LDRjyDQtdC80LrQvtGB0YLRjCAyMDxicj4xLjguMSDQntCx0YnQtdC1INC30L3QsNGH0LXQvdC40LUg0L/RgNC10LTQtdC70LAg0LLQvtC30LzQvtC20L3QvtGB0YLQtdC5IDIxPGJyPjEuOC4yINCf0LDRgNCw0LzQtdGC0YDRiyDRhNGD0L3QutGG0LjQuCDRgdC40YHRgtC10LzRiyDQuCDRhNCw0LnQu9CwIDIyPGJyPjEuOC4zIHN5c2NvbmYgKCksIHBhdGhjb25mICgpINC4IGZwYXRoQ29uZiAoKSDQpNGD0L3QutGG0LjQuCAyMzxicj4xLjkg0JzRi9GI0LvQtdC90LjQtSDQuCDRg9C/0YDQsNC20L3QtdC90LjRjyAyNzxicj7Qk9C70LDQstCwIDIg0KHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGF0L7QtCDQuCDQstGL0LLQvtC0IDI4PGJyPjIuMSDQntGB0L3QvtCy0L3Ri9C1INC/0L7QvdGP0YLQuNGPINCy0LLQvtC00LAg0Lgg0LLRi9Cy0L7QtNCwIFVuaXggMjg8YnI+Mi4yINCe0LHRitC10LrRgtGLINC/0L7RgtC+0LrQsCDQuCDRhNCw0LnQu9CwIDMwPGJyPjIuMyDQntGC0LrRgNGL0YLRjCDQuCDQt9Cw0LrRgNGL0YLRjCDQv9C+0YLQvtC6IDMxPGJyPjIuNCDQp9C40YLQsNGC0Ywg0Lgg0L3QsNC/0LjRgdCw0YLRjCDQv9C+0YLQvtC6IDMzPGJyPjIuNC4xLjxicj4yLjQuMiBMaW5lIEkvTyAzNDxicj4yLjQuMyDQp9GC0LXQvdC40LUg0Lgg0L7QsdGA0LDRidC10L3QuNC1IDM3PGJyPjIuNC40INCR0LvQvtC6INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDM4PGJyPjIuNSDQv9C+0LfQuNGG0LjQvtC90LjRgNC+0LLQsNC90LjQtSDRhNCw0LnQu9CwIDQwPGJyPjIuNiDQmNC90LTQuNC60LDRgtC+0YDRiyDQutC+0L3RhtCwINGE0LDQudC70LAg0Lgg0L7RiNC40LHQutC4IDQyPGJyPjIuNyDQkdGD0YTQtdGAINC/0L7RgtC+0LrQsCA0Mzxicj4yLjgg0KTQvtGA0LzQsNGCINCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDQ2PGJyPjIuOC4xINCS0YvRhdC+0LQg0YTQvtGA0LzQsNGC0LAgNDc8YnI+Mi44LjIg0JLRhdC+0LQg0YTQvtGA0LzQsNGC0LAgNTA8YnI+Mi45INCS0YDQtdC80LXQvdC90YvQuSDQtNC+0LrRg9C80LXQvdGCIDUzPGJyPjIuMTAg0JzRi9GI0LvQtdC90LjQtSDQuCDRg9C/0YDQsNC20L3QtdC90LjRjyA1NTxicj7Qk9C70LDQstCwIDMg0LLRhdC+0LQg0Lgg0LLRi9Cy0L7QtCDQvdC40LfQutC+0LPQviDRg9GA0L7QstC90Y8gNTY8YnI+My4xINCe0YLQutGA0YvRgtGMLCDRgdC+0LfQtNCw0YLRjCDQuCDQt9Cw0LrRgNGL0YLRjCDQvtC/0LjRgdCw0L3QuNC1INGE0LDQudC70LAg0YHQu9C+0LLQsCA1Njxicj4zLjIgcmVhZCAoKSDQuCB3cml0ZSAoKSDQpNGD0L3QutGG0LjQuCA2MDxicj4zLjMg0KPRgdGC0LDQvdC+0LLQuNGC0LUg0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtSDRhNCw0LnQu9CwINC+0L/QuNGB0LDQvdC40Y8gV29yZCA2MTxicj4zLjQg0YTRg9C90LrRhtC40LggRFVQICgpINC4IERVUDIgKCkgNjQ8YnI+My41IGZkb3BlbiAoKSDQuCBmaWxlbm8gKCkg0YTRg9C90LrRhtC40LggNjU8YnI+My42INCk0YPQvdC60YbQuNGPINGD0L/RgNCw0LLQu9C10L3QuNGPINGE0LDQudC70L7QvCBmY250bCAoKSA2NTxicj4zLjYuMSDQn9C+0LLRgtC+0YDQuNGC0LUg0KTQsNC50Lsg0J7Qv9C40YHQsNC90LjQtSDQodC70L7QstCwIDY2PGJyPjMuNi4yINCe0L/QuNGB0LDQvdC40LUg0YTQsNC50LvQsCDQnNC10YLQutCwIFdvcmQgNjc8YnI+My42LjMg0KLQtdCzINGB0L7RgdGC0L7Rj9C90LjRjyDRhNCw0LnQu9CwIDY4PGJyPjMuNyDQvdC1INCx0LvQvtC60LjRgNGD0Y7RidC40Lkg0LLQstC+0LQv0LLRi9Cy0L7QtCA3MTxicj4zLjggcmVhZHYgKCkg0Lggd3JpdGV2ICgpINCk0YPQvdC60YbQuNC4IDczPGJyPjMuOSBmc3luYyAoKSDQuCBmZGF0YXN5bmMgKCkg0YTRg9C90LrRhtC40LggNzQ8YnI+My4xMCDQnNGL0YjQu9C10L3QuNC1INC4INGD0L/RgNCw0LbQvdC10L3QuNGPIDc1PGJyPtCT0LvQsNCy0LAgNCDQpNCw0LnQu9GLINC4INC60LDRgtCw0LvQvtCz0LggNzc8YnI+NC4xINCU0L7QutGD0LzQtdC90YIgNzc8YnI+NC4xLjEgc3RhdCAoKSwgZnN0YXQgKCkg0LggbHN0YXQgKCkg0YTRg9C90LrRhtC40LggNzg8YnI+NC4yINCi0LjQvyDRhNCw0LnQu9CwIDc5PGJyPjQuMi4xINCe0LHRidC40Lkg0YTQsNC50LsgNzk8YnI+NC4yLjIg0KHQvtC00LXRgNC20LDQvdC40LUgODA8YnI+NC4yLjMg0KHRgdGL0LvQutCwINC4INGB0YHRi9C70LrQsCAoKSDQpNGD0L3QutGG0LjRjyA4MDxicj40LjIuNCDQodC40LzQstC+0LvRjNC90YvQtSDRgdGB0YvQu9C60Lgg0Lgg0YTRg9C90LrRhtC40LggU3ltbGluayAoKSDQuCByZWFkbGluayAoKSA4Mjxicj40LjIuNSDQodC/0LXRhtC40LDQu9GM0L3Ri9C5INC00L7QutGD0LzQtdC90YIgODM8YnI+NC4yLjYg0KLQuNC/0Ysg0YLQtdGB0YLQvtCy0YvRhSDRhNCw0LnQu9C+0LIgODQ8YnI+NC4zINCS0LvQsNC00LXQu9C10YYg0Lgg0LPRgNGD0L/Qv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INGE0LDQudC70LAgODU8YnI+NC4zLjEgQ2hvd24gKCksIEZDSE9XTiAoKSDQuCBMQ0hPV04gKCkg0KTRg9C90LrRhtC40LggODY8YnI+NC40INCc0LXRgtC+0LQg0LTQvtC60YPQvNC10L3RgtCwIDg3PGJyPjQuNC4xINCg0LDQt9GA0LXRiNC10L3QuNGPINC90LAg0LTQvtGB0YLRg9C/INC6INGE0LDQudC70YMgODg8YnI+NC40LjIuINCh0LTQtdC70LDQudGC0LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC4INC+0YLRgNC10LPRg9C70LjRgNGD0LnRgtC1INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCz0YDRg9C/0L/RiyA4OTxicj40LjQuMyDQu9C40L/QutC40Lkg0LHQuNGCIDkwPGJyPjQuNC40INCc0LXRgtC+0LQg0YTQsNC50LvQsCDQuCDRgNC10LfRjtC80LUg0LHQuNGC0LAgOTE8YnI+NC41INCe0L/RgNC10LTQtdC70LjRgtGMINC4INC40LfQvNC10L3QuNGC0Ywg0LzQtdGC0L7QtCDRhNCw0LnQu9CwIDkyPGJyPjQuNS4xIFVtYXNrICgpINCk0YPQvdC60YbQuNGPIDkyPGJyPjQuNS4yIENITU9EICgpINC4IEZDSE1PRCAoKSDQpNGD0L3QutGG0LjQuCA5NDxicj40LjUuMyBhY2Nlc3MgKCkg0KTRg9C90LrRhtC40Y8gOTQ8YnI+NC42INCg0LDQt9C80LXRgCDRhNCw0LnQu9CwIDk2PGJyPjQuNi4xINCk0LDQudC7INGD0YHQtdGH0LXQvdC40Y8gOTc8YnI+NC43INCS0YDQtdC80Y8g0YTQsNC50LvQsCA5OTxicj40LjcuMSBVdGltZSAoKSDQuCBVdGltZXMgKCkg0KTRg9C90LrRhtC40LggOTk8YnI+NC44INCj0LTQsNC70LXQvdC40LUg0YTQsNC50LvQsCDQuCDQuNC30LzQtdC90LXQvdC40LUg0LjQvNC10L3QuCAxMDE8YnI+NC44LjEg0KPQtNCw0LvQuNGC0Ywg0YTQsNC50LvRiyDQuCDQutCw0YLQsNC70L7Qs9C4IDEwMTxicj40LjguMiDQmNC30LzQtdC90LXQvdC40LUg0LjQvNC10L3QuCDRhNCw0LnQu9CwIDEwMzxicj40Ljkg0J7Qv9C10YDQsNGG0LjRjyDQutCw0YLQsNC70L7Qs9CwIDEwNDxicj40LjkuMSDQoNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyAxMDQ8YnI+NC45LjIg0KHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgMTA1PGJyPjQuOS4zINCn0LjRgtCw0YLRjCDQv9C+0YLQvtC6INC60LDRgtCw0LvQvtCz0L7QsiAxMDY8YnI+NC45LjQg0KHQu9GD0YfQsNC50L3Ri9C5INC00L7RgdGC0YPQvyDQuiDQv9C+0YLQvtC60LDQvCDQutCw0YLQsNC70L7Qs9C+0LIgMTA5PGJyPjQuMTAg0JzRi9GI0LvQtdC90LjQtSDQuCDRg9C/0YDQsNC20L3QtdC90LjRjyAxMDk8YnI+0JPQu9Cw0LLQsCA1INCh0YDQtdC00LAg0L/RgNC+0YbQtdGB0YHQsCAxMTE8YnI+NS4xIE1haW4gKCkg0YTRg9C90LrRhtC40Y8gMTExPGJyPjUuMiDQn9Cw0YDQsNC80LXRgtGA0Ysg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCAxMTE8YnI+NS4yLjEg0KHQuNC90YLQsNC60YHQuNGH0LXRgdC60LDRjyDQutC+0L3QstC10L3RhtC40Y8g0L/QsNGA0LDQvNC10YLRgNC+0LIg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCAxMTI8YnI+NS4yLjIg0J/QsNGA0LDQvNC10YLRgNGLINCyINC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LUg0YHQutCw0L3QuNGA0L7QstCw0L3QuNGPIDExMzxicj41LjMg0L/QtdGA0LXQvNC10L3QvdGL0LUg0YHRgNC10LTRiyAxMTU8YnI+NS4zLjEuINCi0LDQsdC70LjRhtCwIDExNjxicj41LjMuMiDQodGA0LXQtNCwINC00L7RgdGC0YPQv9CwIDExNzxicj41LjQg0JfQsNCy0LXRgNGI0LXQvdC40LUg0L/RgNC+0YbQtdGB0YHQsCAxMTg8YnI+NS40LjEg0KHRgtCw0YLRg9GBINCy0YvRhdC+0LTQsCAxMTk8YnI+NS40LjIg0J7Rh9C40YHRgtC60LAg0L/QtdGA0LXQtCDQt9Cw0LLQtdGA0YjQtdC90LjQtdC8IDExOTxicj41LjQuMyDQn9GA0L7RhtC10LTRg9GA0LAg0LDQsdC+0YDRgtCwIDEyMDxicj41LjUg0J/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyDRhdGA0LDQvdC10L3QuNGPINC/0YDQvtGG0LXRgdGB0L7QsiAxMjE8YnI+NS41LjEuINCQ0LTRgNC10YHQvdC+0LUg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC/0YDQvtGG0LXRgdGB0LAgMTIyPGJyPjUuNS4yINCU0LjQvdCw0LzQuNGH0LXRgdC60L7QtSDRgNCw0YHQv9GA0LXQtNC10LvQtdC90LjQtSDQuCDQstGL0L/Rg9GB0Log0LTQu9GPINC00LjQvdCw0LzQuNGH0LXRgdC60L7Qs9C+INGF0YDQsNC90LjQu9C40YnQsCAxMjM8YnI+NS41LjMuINCe0YLQv9GD0YHRgtC40YLQtSDQstGL0LTQtdC70LXQvdC90YPRjiDQtdC00LjQvdC40YbRgyDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyAxMjY8YnI+NS42IHNldGptcCAoKSDQuCBsb25nam1wICgpINGE0YPQvdC60YbQuNC4IDEyNzxicj41Ljcg0J/RgNC+0YbQtdGB0YEg0YDQtdGB0YPRgNGB0L7QsiAxMzA8YnI+NS43LjEg0J/RgNC+0YHQvNC+0YLRgNC10YLRjCDQuCDRg9GB0YLQsNC90L7QstC40YLRjCDQvtCz0YDQsNC90LjRh9C10L3QuNGPINGA0LXRgdGD0YDRgdC+0LIgMTMxPGJyPjUuNy4yINCh0YLQsNGC0LjRgdGC0LjQutCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGA0LXRgdGD0YDRgdC+0LIgMTMyPGJyPjUuOCDQmNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gMTMzPGJyPjUuOC4xINCY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gMTMzPGJyPjUuOC4yINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQsNGPINCx0LDQt9CwINC00LDQvdC90YvRhSAxMzQ8YnI+NS44LjMg0JPRgNGD0L/Qv9C+0LLQsNGPINCx0LDQt9CwINC00LDQvdC90YvRhSAxMzY8YnI+NS45INCj0YfQtdGC0L3Ri9C1INC00LDQvdC90YvQtSDQviDQu9C40YfQvdC+0YHRgtC4INC/0YDQvtGG0LXRgdGB0LAgMTM5PGJyPjUuMTAg0J7RgtGA0LXQs9GD0LvQuNGA0YPQudGC0LUg0LjQtNC10L3RgtC40YfQvdC+0YHRgtGMINC/0YDQvtGG0LXRgdGB0LAgMTQxPGJyPjUuMTEg0LzRi9GI0LvQtdC90LjQtSDQuCDRg9C/0YDQsNC20L3QtdC90LjRjyAxNDY8YnI+0JPQu9Cw0LLQsCA2INGD0L/RgNCw0LLQu9C10L3QuNC1INC/0YDQvtGG0LXRgdGB0L7QvCAxNDc8YnI+Ni4xINCY0LTQtdC90YLQuNGE0LjQutCw0YbQuNGPINC/0YDQvtGG0LXRgdGB0LAgMTQ3PGJyPjYuMiDQodC+0LfQtNCw0L3QuNC1INC/0YDQvtGG0LXRgdGB0LAgMTQ4PGJyPjYuMyDQstGL0L/QvtC70L3QuNGC0Ywg0L3QvtCy0YPRjiDQv9GA0L7Qs9GA0LDQvNC80YMgMTUxPGJyPjYuNCDQlNC+0LbQtNC40YLQtdGB0Ywg0LfQsNCy0LXRgNGI0LXQvdC40Y8g0L/RgNC+0YbQtdGB0YHQsCAxNTU8YnI+Ni41INCf0YDQvtGG0LXRgdGBINC/0YDQtdC60YDQsNGJ0LXQvdC40Y8g0L/RgNC+0YbQtdGB0YHQsCDQuCDRgdCx0L7RjyAxNTk8YnI+Ni42IFN5c3RlbSAoKSDQpNGD0L3QutGG0LjRjyAxNjM8YnI+Ni43LiDQk9GA0YPQv9C/0LAg0L/RgNC+0YbQtdGB0YHQsCAxNjQ8YnI+Ni44INCf0JXQoNCY0J7QlCDQnNCV0KDQldCS0JDQndCY0K8gMTY1PGJyPjYuOSDQmtC+0L3RgtGA0L7Qu9GM0L3Ri9C5INGC0LXRgNC80LjQvdCw0LsgMTY2PGJyPjYuMTAg0K3QutGB0L/Qu9GD0LDRgtCw0YbQuNGPINGD0L/RgNCw0LLQu9C10L3QuNGPIDE2ODxicj42LjExINCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gMTc0PGJyPtCT0LvQsNCy0LAgNyDQntCx0YDQsNCx0L7RgtC60LAg0YHQuNCz0L3QsNC70LAgMTc1PGJyPjcuMSDQmtC+0L3RhtC10L/RhtC40Y8g0YHQuNCz0L3QsNC70LAgMTc1PGJyPjcuMiBVbml4IFNpZ25hbCAxNzc8YnI+Ny4yLjEg0KHQuNCz0L3QsNC7INC+0YjQuNCx0LrQuCDQv9GA0L7Qs9GA0LDQvNC80YsgMTc5PGJyPjcuMi4yLiDQodC40LPQvdCw0Lsg0LDQsdC+0YDRgtCwINC/0YDQvtCz0YDQsNC80LzRiyAxODA8YnI+Ny4yLjMg0KHQuNCz0L3QsNC70YzQvdGL0Lkg0YHQuNCz0L3QsNC7INCx0YPQtNC40LvRjNC90LjQutCwIDE4MDxicj43LjIuNCDQodC40LPQvdCw0Lsg0LLQstC+0LTQsC/QstGL0LLQvtC00LAgMTgwPGJyPjcuMi41INCh0LjQs9C90LDQuyDRg9C/0YDQsNCy0LvQtdC90LjRjyDQvtC/0LXRgNCw0YbQuNC10LkgMTgxPGJyPjcuMi42Ljxicj43LjIuNyDQlNGA0YPQs9C40LUg0YHQuNCz0L3QsNC70YsgMTgyPGJyPjcuMy4g0KHQvtC30LTQsNC90LjQtSDRgdC40LPQvdCw0LvQsCAxODI8YnI+Ny4zLjEgRnVuY3Rpb24gKCkg0KTRg9C90LrRhtC40Y8gMTgyPGJyPjcuMy4yINCk0YPQvdC60YbQuNGPIEtpbGwgKCkgMTgzPGJyPjcuNCDQlNC10LnRgdGC0LLQuNGPINC/0L4g0YPRgdGC0LDQvdC+0LLQutC1INGB0LjQs9C90LDQu9C+0LIgMTg0PGJyPjcuNC4xINCk0YPQvdC60YbQuNGPINGB0LjQs9C90LDQu9CwICgpIDE4NDxicj43LjQuMiDQlNC10LnRgdGC0LLQuNGPINGB0LjQs9C90LDQu9CwLCDQutC+0LPQtNCwINC/0YDQvtGG0LXRgdGBINC90LDRh9C40L3QsNC10YLRgdGPIDE4Njxicj43LjQuMyDQndC10L3QsNC00LXQttC90YvQuSDRgdC40LPQvdCw0LsgMTg3PGJyPjcuNC40IFNpZ0FjdGlvbiAoKSDQpNGD0L3QutGG0LjRjyAxODg8YnI+Ny41INCg0YPRh9C60LAg0YHQuNCz0L3QsNC70LAgMTkxPGJyPjcuNS4xINCd0L7RgNC80LDQu9GM0L3Ri9C5INC00LXRgdC60YDQuNC/0YLQvtGAINGB0LjQs9C90LDQu9CwINCy0L7Qt9Cy0YDQsNGC0LAgMTkyPGJyPjcuNS4yINCg0YPRh9C60LAg0LTQu9GPINC/0YDQtdC60YDQsNGJ0LXQvdC40Y8g0L/RgNC+0YbQtdGB0YHQsCAxOTI8YnI+Ny42INCR0LvQvtC60LjRgNGD0Y7RidC40Lkg0YHQuNCz0L3QsNC7IDE5Mzxicj43LjYuMTxicj43LjYuMiDQo9GB0YLQsNC90L7QstC40YLQtSDQvNCw0YHQutC40YDQvtCy0LDQvdC40LUg0YHQuNCz0L3QsNC70LAgMTk0PGJyPjcuNi4zINCf0YDQvtCy0LXRgNGM0YLQtSDQstC40YHRj9GJ0LjQuSDRgdC40LPQvdCw0LsgMTk2PGJyPjcuNyDQkiDQvtC20LjQtNCw0L3QuNC4INGB0LjQs9C90LDQu9CwIDE5Nzxicj43LjcuMSDQn9Cw0YPQt9CwICgpINCk0YPQvdC60YbQuNGPIDE5Nzxicj43LjcuMiBTaWdzdXNwZW5kICgpINCk0YPQvdC60YbQuNGPIDE5ODxicj43Ljgg0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0L7RgtC00LXQu9GM0L3Ri9GFINGB0YLQtdC60L7QsiDRgdC40LPQvdCw0LvQvtCyIDIwMTxicj43Ljkg0J3QsNCy0YvQutC4INC/0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNGPINGB0LjQs9C90LDQu9CwIDIwNDxicj43LjkuMSDQndC10LvQvtC60LDQu9GM0L3Ri9C5INC60L7QvdGC0YDQvtC70YzQvdGL0Lkg0L/QtdGA0LXQvdC+0YEg0LIg0YDRg9GH0LrQtSAyMDQ8YnI+Ny45LjIg0KTRg9C90LrRhtC40Lgg0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LLRitC10LfQtNCwINC4INCw0YHQuNC90YXRgNC+0L3QvdGL0LUg0YTRg9C90LrRhtC40Lgg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4INGB0LjQs9C90LDQu9CwIDIwNzxicj43LjkuMyDQodC40YHRgtC10LzQvdGL0LUg0LLRi9C30L7QstGLINC/0YDQtdGA0LLQsNC90Ysg0YHQuNCz0L3QsNC70LDQvNC4IDIxMDxicj43LjkuNCDQkNGC0L7QvNC90YvQtSDQtNCw0L3QvdGL0LUgMjExPGJyPjcuMTAg0KHQuNCz0L3QsNC7INCyINGA0LXQsNC70YzQvdC+0Lwg0LLRgNC10LzQtdC90LggMjEyPGJyPjcuMTAuMSBTQV9TSUdJTkZPIEZMQUcgMjEzPGJyPjcuMTAuMiDQntGC0L/RgNCw0LLQuNGC0Ywg0YHQuNCz0L3QsNC7IDIxNyDQsiDRgNC10LbQuNC80LUg0YDQtdCw0LvRjNC90L7Qs9C+INCy0YDQtdC80LXQvdC4PGJyPjcuMTAuMyDQkiDQvtC20LjQtNCw0L3QuNC4INGB0LjQs9C90LDQu9CwIDIxOSDQsiDRgNC10LDQu9GM0L3QvtC8INCy0YDQtdC80LXQvdC4IDIxOTxicj43LjExINCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gMjIxPGJyPtCT0LvQsNCy0LAgOCDQstGA0LXQvNGPINC4INCy0YDQtdC80Y8gMjIyPGJyPjguMSDQodC40YHRgtC10LzQvdGL0LUg0YfQsNGB0YsgMjIyPGJyPjguMS4xIFRpbWUgKCkg0KTRg9C90LrRhtC40Y8gMjIyPGJyPjguMS4yIGdldFRpbWVPZkRheSAoKSDQpNGD0L3QutGG0LjRjyAyMjM8YnI+OC4yINCf0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40LUg0YTQvtGA0LzQsNGC0LAg0LLRgNC10LzQtdC90LggMjI0PGJyPjguMi4xINCg0LDQt9C70L7QttC40LLQvdC+0LUg0LrQsNC70LXQvdC00LDRgNC90L7QtSDQstGA0LXQvNGPIDIyNDxicj44LjIuMiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGE0L7RgNC80LDRgtCwIDIyNzxicj44LjMg0JLRgNC10LzRjyDQv9GA0L7RhtC10YHRgdC+0YDQsCDQuCDQvdCw0YHRgtC10L3QvdGL0LUg0YfQsNGB0YsgMjI5PGJyPjguMy4xIENsb2NrICgpINCk0YPQvdC60YbQuNGPIDIzMDxicj44LjMuMiDRgNCw0LcgKCkg0YTRg9C90LrRhtC40Y8gMjMxPGJyPjguNCDQodC+0L0g0Lgg0LLRgNC10LzRjyAyMzM8YnI+OC40LjEg0KTRg9C90LrRhtC40Y8gU2xlZXAgKCkgMjMzPGJyPjguNC4yINCj0YHRgtCw0L3QvtCy0LrQsCDRgtCw0LnQvNC10YDQsCAyMzM8YnI+OC41INCn0LDRgdGLINCyINGA0LXQsNC70YzQvdC+0Lwg0LLRgNC10LzQtdC90Lgg0Lgg0LLRgNC10LzRjyAyMzc8YnI+OC41LjEg0KfQsNGB0Ysg0LIg0YDQtdCw0LvRjNC90L7QvCDQstGA0LXQvNC10L3QuCAyMzg8YnI+OC41LjIg0KHQvtC9INCyINGA0LXQsNC70YzQvdC+0Lwg0LLRgNC10LzQtdC90LggMjQwPGJyPjguNS4zIFRpbWVyINCyINGA0LXQsNC70YzQvdC+0Lwg0LLRgNC10LzQtdC90LggMjQxPGJyPjguNS40INCh0L7Qt9C00LDQvdC40LUg0Lgg0YPQtNCw0LvQtdC90LjQtSDRgtCw0LnQvNC10YDQvtCyINCyINGA0LXQsNC70YzQvdC+0Lwg0LLRgNC10LzQtdC90LggMjQxPGJyPjguNS41INCj0YHRgtCw0L3QvtCy0LrQsCDRgtCw0LnQvNC10YDQsCAyNDMg0LIg0YDQtdCw0LvRjNC90L7QvCDQstGA0LXQvNC10L3QuCAyNDM8YnI+OC41LjYg0KHRgNC+0Log0LPQvtC00L3QvtGB0YLQuCDRgtCw0LnQvNC10YDQsCAyNDQ8YnI+OC42INCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gMjQ2PGJyPtCT0LvQsNCy0LAgOSDQotC10YDQvNC40L3QsNC7INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDI0Nzxicj45LjEg0J/RgNC40LzQtdGA0YssINCz0LTQtSDQvdC10L7QsdGF0L7QtNC40LzQviDQuNC30LzQtdC90LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCDRgtC10YDQvNC40L3QsNC70LAgMjQ3PGJyPjkuMiDQotC10YDQvNC40L3QsNC7INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwINCe0LHQt9C+0YAgMjQ5PGJyPjkuMi4xINCi0LXRgNC80LjQvdCw0LsgMjQ5PGJyPjkuMi4yINCh0LXRgNC40LnQvdGL0Lkg0L/QvtGA0YIgMjUwPGJyPjkuMi4zINCk0LDQudC7INGD0YHRgtGA0L7QudGB0YLQstCwINGC0LXRgNC80LjQvdCw0LvQsCAyNTI8YnI+OS4yLjQg0JLRhdC+0LTQvdC+0Lkg0Lgg0LLRi9GF0L7QtNC90L7QuSDQvtGH0LXRgNC10LTRjCAyNTI8YnI+OS4yLjUg0J7QsdGA0LDQsdC+0YLQutCwINC4INC90LUg0L7QsdGA0LDQsdC+0YLQutCwINC80LXRgtC+0LTQvtCyINCy0LLQvtC00LAgMjUzPGJyPjkuMyBHVEkg0LrQvtC90YLRgNC+0LvRjNC90YvQuSDQuNC90YLQtdGA0YTQtdC50YEgMjU0PGJyPjkuMy4xINCh0YLRgNGD0LrRgtGD0YDQsCDQtNCw0L3QvdGL0YUgVGVybWlvcyAyNTQ8YnI+OS4zLjIg0KTRg9C90LrRhtC40Y8g0YPQv9GA0LDQstC70LXQvdC40Y8gR1RJIDI1NTxicj45LjQg0KLQtdGA0LzQuNC90LDQu9GM0L3Ri9C1INCw0YLRgNC40LHRg9GC0YsgMjU2PGJyPjkuNC4xINCc0LXRgtC+0LQg0LLQstC+0LTQsCAyNTY8YnI+OS40LjIg0JzQtdGC0L7QtCDQstGL0LLQvtC00LAgMjU3PGJyPjkuNC4zINCc0LXRgtC+0LQg0YPQv9GA0LDQstC70LXQvdC40Y8gMjU4PGJyPjkuNC40INCc0LXRgdGC0L3Ri9C1INC80LXRgtC+0LTRiyAyNTk8YnI+OS40LjUg0KHQv9C10YbQuNCw0LvRjNC90YvQtSDRgdC40LzQstC+0LvRiyAyNjA8YnI+OS40LjYgU1RUWSBDb21tYW5kIDI2Mzxicj45LDUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQtdGA0LzQuNC90LDQu9CwIDI2Mzxicj45LjYg0JjQt9C80LXQvdC10L3QuNC1INGC0LXRgNC80LjQvdCw0LvRjNC90YvRhSDRgdCy0L7QudGB0YLQsiAyNjU8YnI+OS43INCc0LXRgtC+0LQg0L7QsdGA0LDQsdC+0YLQutC4INC4INC80LXRgtC+0LQg0L3QtSDQvtCx0YDQsNCx0L7RgtC60Lgg0LLQstC+0LTQsCAyNjY8YnI+OS43LjEg0JzQtdGC0L7QtCDQvtCx0YDQsNCx0L7RgtC60Lgg0LLQstC+0LQgMjY2PGJyPjkuNy4yINCc0LXRgtC+0LQg0L3QtSDQvtCx0YDQsNCx0L7RgtC60Lgg0LLRhdC+0LQgMjY3PGJyPjksOCDQo9GB0YLQsNC90L7QstC70LXQvdC90LDRjyDRgdC60L7RgNC+0YHRgtGMIDI3Mi48YnI+OS45INCk0YPQvdC60YbQuNGPINGD0L/RgNCw0LLQu9C10L3QuNGPINC70LjQvdC40Y/QvNC4IDI3Mzxicj45LjEwINCf0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNC1INC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtCz0L4g0L/QvtGA0YLQsCAyNzU8YnI+OS4xMSDQnNGL0YjQu9C10L3QuNC1INC4INGD0L/RgNCw0LbQvdC10L3QuNGPIDI3ODxicj7Qk9Cb0JDQktCQIDEwINCf0KDQntCU0JDQndCe0JLQmtCQ0K8g0JLQmNCi0JAv0J7QoSAyNzk8YnI+MTAuMSDQl9Cw0LzQvtC6INGE0LDQudC70LAgMjc5PGJyPjEwLjEuMSBmY250bCAoKSDQntC/0LXRgNCw0YbQuNGPINCx0LvQvtC60LjRgNC+0LLQutC4INGE0LDQudC70LAgMjgwPGJyPjEwLjEuMiDQotC10YHRgtC40YDQvtCy0LDQvdC40LUsINC30LDQv9GA0L7RgSDQuCDQstGL0L/Rg9GB0Log0LfQsNC80LrQvtCyIDI4Mjxicj4xMC4xLjMg0J7RgtC90L7RiNC10L3QuNGPINC80LXQttC00YMg0LHQu9C+0LrQuNGA0L7QstC60LDQvNC4INC4INC/0YDQvtGG0LXRgdGB0LDQvNC4INC4INGE0LDQudC70LDQvNC4INGE0LDQudC70LAgMjg2PGJyPjEwLjEuNCDRgtGD0L/QuNC6IDI4Nzxicj4xMC4xLjUg0KDQtdC60L7QvNC10L3QtNGD0LXQvNGL0LUg0LfQsNC80LrQuCDQuCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3Ri9C1INC30LDQvNC60LggMjg4PGJyPjEwLjIg0KHQuNCz0L3QsNC7INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDI4OTxicj4xMC4zINCc0L3QvtCz0L7QutCw0L3QsNC70YzQvdCw0Y8g0L/QtdGA0LXRgdGL0LvQutCwINCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDI5MTxicj4xMC4zLjEgU0VMRUNUICgpINCk0YPQvdC60YbQuNGPIDI5MTxicj4xMC4zLjIg0J7Qv9GA0L7RgSAoKSDQpNGD0L3QutGG0LjRjyAyOTQ8YnI+MTAuNCDQkNGB0LjQvdGF0YDQvtC90L3Ri9C5INCy0LLQvtC0L9Cy0YvQstC+0LQgMjk2PGJyPjEwLjQuMSDQkNGB0LjQvdGF0YDQvtC90L3Ri9C5INCx0LvQvtC6INGD0L/RgNCw0LLQu9C10L3QuNGPINCy0LLQvtC00LAv0LLRi9Cy0L7QtNC+0LwgMjk3PGJyPjEwLjQuMiDQlNC+0YHRgtCw0LLQutCwINGB0LjQs9C90LDQu9CwLCDQutC+0LPQtNCwINCy0LLQvtC00LjQvC/QstGL0LLQvtC0INC30LDQstC10YDRiNC10L0gMjk4PGJyPjEwLjQuMyDQn9GA0LjQvtGA0LjRgtC10YIg0LDRgdC40L3RhdGA0L7QvdC90L7Qs9C+INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDI5OTxicj4xMC40LjQg0JDRgdC40L3RhdGA0L7QvdC90YvQtSDRhNGD0L3QutGG0LjQuCDQstCy0L7QtNCwL9Cy0YvQstC+0LTQsCAyOTk8YnI+MTAuNC41INCf0YDQuNC80LXRgCDQsNGB0LjQvdGF0YDQvtC90L3QvtCz0L4g0LLQstC+0LTQsC/QstGL0LLQvtC00LAgMzA0PGJyPjEwLjQuNiDQnNC10YDRiyDQv9GA0LXQtNC+0YHRgtC+0YDQvtC20L3QvtGB0YLQuCDQtNC70Y8g0LDRgdC40L3RhdGA0L7QvdC90L7Qs9C+INCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDMwNzxicj4xMC41INCa0LDRgNGC0LjRgNC+0LLQsNC90LjQtSDRhdGA0LDQvdC10L3QuNGPINCy0LLQvtC00LAv0LLRi9Cy0L7QtNCwIDMwODxicj4xMC42INCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gMzE0PGJyPtCT0LvQsNCy0LAgMTEg0JzQtdC20L/RgNC+0YbQtdGB0YHQvdCw0Y8g0YHQstGP0LfRjCAzMTY8YnI+MTEuMSDQotGA0YPQsdC+0L/RgNC+0LLQvtC0IDMxNjxicj4xMS4xLjEg0KHQvtC30LTQsNGC0Ywg0LrQvtC90LLQtdC50LXRgCAzMTc8YnI+MTEuMS4yINCi0YDRg9Cx0L7Qv9GA0L7QstC+0LTQvdCw0Y8g0YHQstGP0LfRjCDQvNC10LbQtNGDINC+0YLRhtC+0Lwg0Lgg0YHRi9C90L7QvCDQv9GA0L7RhtC10YHRgdCw0LzQuCAzMTc8YnI+MTEuMS4zINCa0L7QvdCy0LXQudC10YAg0L/QvtC00LrQu9GO0YfQtdC90LjQtSDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLRhdC+0LTQsCDQuCDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLRi9GF0L7QtNCwIDMxOTxicj4xMS4xLjQg0KTRg9C90LrRhtC40LggUG9wZW4gKCkg0LggcGNsb3NlICgpIDMyMTxicj4xMS4xLjUg0JDRgtC+0LzQvdC+0YHRgtGMINGC0YDRg9Cx0L7Qv9GA0L7QstC+0LTQsCDQstCy0L7QtNCwL9Cy0YvQstC+0LTQsCAzMjI8YnI+MTEuMiDQodC/0LXRhtC40LDQu9GM0L3Ri9C5INC00L7QutGD0LzQtdC90YIgRklGTyAzMjM8YnI+MTEuMi4xINCh0L7Qt9C00LDQvdC40LUgRklGTyAzMjM8YnI+MTEuMi4yINCe0L/QtdGA0LDRhtC40Y8gRklGTyAzMjU8YnI+MTEuMi4zIEZJRk8g0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyBDdXN0b21lci9TZXJ2aWNlIENvbW11bmljYXRpb24gMzI4PGJyPjExLjMg0KHQuNGB0YLQtdC80LAgViBJUEMgMzMxPGJyPjExLjMuMSDQmtC70Y7Rh9C10LLRi9C1INGB0LvQvtCy0LAg0Lgg0LvQvtCz0L7RgtC40L/RiyAzMzI8YnI+MTEuMy4yINCh0YLRgNGD0LrRgtGD0YDQsCDQvtC/0LjRgdCw0L3QuNGPINGA0LXRgdGD0YDRgdCwIElQQyDQuCDRjdC70LXQvNC10L3RgiBJUENfUEVSTSAzMzM8YnI+MTEuMy4zINCa0L7QvNCw0L3QtNGLIElQQ1Mg0LggSVBDUk0gMzM0PGJyPjExLjQg0L7Rh9C10YDQtdC00Ywg0YHQvtC+0LHRidC10L3QuNC5IDMzNDxicj4xMS40LjEg0KHQvtC30LTQsNC90LjQtSDQuCDQv9C+0LvRg9GH0LXQvdC40LUg0L7Rh9C10YDQtdC00LXQuSDRgdC+0L7QsdGJ0LXQvdC40LkgMzM2PGJyPjExLjQuMiDQl9Cw0L/RgNC+0YEsINC90LDRgdGC0YDQvtC50LrQuCDQuCDRg9C00LDQu9C10L3QuNC1INC+0YfQtdGA0LXQtNC10Lkg0YHQvtC+0LHRidC10L3QuNC5IDMzNzxicj4xMS40LjMg0J7RgtC/0YDQsNCy0LjRgtGMINC4INC/0L7Qu9GD0YfQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNGPIDMzOTxicj4xMSw1INGB0LXQs9C80LXQvdGCINC+0LHRidC10LPQviDRhdGA0LDQvdC10L3QuNGPIDM0Mzxicj4xMS41LjEg0KHQvtC30LTQsNC90LjQtSDQuCDQv9C+0LvRg9GH0LXQvdC40LUg0L7QsdGJ0LjRhSDRgdC10LPQvNC10L3RgtC+0LIg0YXRgNCw0L3QtdC90LjRjyAzNDM8YnI+MTEuNS4yINCX0LDQv9GA0L7RgSwg0L3QsNGB0YLRgNC+0LnQutC4INC4INGD0LTQsNC70LXQvdC40LUg0L7QsdGJ0LjRhSDRgdC10LPQvNC10L3RgtC+0LIg0YXRgNCw0L3QtdC90LjRjyAzNDQ8YnI+MTEuNS4zINCh0L7QtdC00LjQvdC10L3QuNC1INC4INGA0LDQt9C00LXQu9C10L3QuNC1INGB0LXQs9C80LXQvdGC0L7QsiDQvtCx0YnQtdCz0L4g0YXRgNCw0L3QtdC90LjRjyAzNDU8YnI+MTEsNiDQodC10LzRhNC+0YAgMzQ3PGJyPjExLjYuMSDQodC+0LfQtNCw0L3QuNC1INC4INC/0L7Qu9GD0YfQtdC90LjQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC+0LIg0YHQtdC80LDRhNC+0YDQsCAzNDg8YnI+MTEuNi4yINCX0LDQv9GA0L7RgSwg0L3QsNGB0YLRgNC+0LnQutCwINC4INGD0LTQsNC70LXQvdC40LUg0YHQtdC80LDRhNC+0YDQvtCyIDM1MDxicj4xMS42LjMg0J7Qv9C10YDQsNGG0LjRjyBTRU1BUEhPUkUgMzUyPGJyPjExLjcg0JzRi9GI0LvQtdC90LjQtSDQuCDRg9C/0YDQsNC20L3QtdC90LjRjyAzNTc8YnI+0JPQu9Cw0LLQsCAxMiDRgNCw0LfRgNGL0LLQvtCyINC4INGB0LXRgtC10LLQvtC5INGB0LLRj9C30LggMzU4PGJyPjEyLjEgVENQL0lQIC3Qv9GA0L7RgtC+0LrQvtC7IDM1ODxicj4xMi4yINGB0L7QutC10YIgMzYwPGJyPjEyLjMg0KHRgtGA0YPQutGC0YPRgNCwINCw0LTRgNC10YHQsCDQs9C90LXQt9C00LAgMzY0PGJyPjEyLjMuMSBJUCAt0LDQtNGA0LXRgSAzNjQ8YnI+MTIuMy4yINCQ0LTRgNC10YEg0LTQvtC80LXQvdC90L7Qs9C+INC40LzQtdC90LggMzY2PGJyPjEyLjMuMyDQodC10YDQstC40YEg0Lgg0L3QvtC80LXRgCDQv9C+0YDRgtCwIDM2OTxicj4xMi4zLjQg0KHRgtGA0YPQutGC0YPRgNCwINC00LDQvdC90YvRhSDQs9C90LXQt9C00LAgMzcxPGJyPjEyLjMuNSDQsdCw0LnRgiAt0LfQsNC60LDQtyAzNzM8YnI+MTIuNCDQvdCw0LfQstCw0L3QvdGL0LUg0YHQvtC60LXRgtGLIDM3NDxicj4xMi41INCg0LXQttC40Lwg0YHQstGP0LfQuCAzNzc8YnI+MTIuNjxicj4xMi42LjEg0JfQsNC/0YDQvtGBINC90LAg0YHQvtC10LTQuNC90LXQvdC40LUgMzc5PGJyPjEyLjYuMiDQn9GA0LjQtdC80LAg0L/QvtC00LrQu9GO0YfQtdC90LjRjyAzODE8YnI+MTIuNi4zIGdldFNvY2tOYW1lICgpINC4IGdldFBlZXJOYW1lICgpINCk0YPQvdC60YbQuNC4IDM4NTxicj4xMi42LjQgTXVsdGktQ3VzdG9tZXIgU2VydmljZSAzODY8YnI+MTIuNi41IFNlbmQgKCkg0LggcmVjdiAoKSDQpNGD0L3QutGG0LjQuCAzODg8YnI+MTIuNyDQntC/0YbQuNC4INGB0L7QutC10YLQsCAzOTA8YnI+MTIuOCDQlNCw0L3QvdGL0LUg0LLQvdC1INC/0L7Qu9C+0YHRiyAzOTI8YnI+MTIuOC4xIFRDUCDQlNCw0L3QvdGL0LUgMzkyPGJyPjEyLjguMiDQntGC0L/RgNCw0LLQuNGC0Ywg0Lgg0L/QvtC70YPRh9C40YLRjCDQtNCw0L3QvdGL0LUg0LLQvdC1INC/0L7Qu9C+0YHRgtC4IDM5Mzxicj4xMi44LjMgRmxhZyBEYXRhIEZsYWcgMzk3PGJyPjEyLjk8YnI+MTIuOS4xIFNlbmR0byAoKSDQuCByZWN2ZnJvbSAoKSDQpNGD0L3QutGG0LjQuCAzOTk8YnI+MTIuOS4yINCf0YDQuNC80LXRgNGLIERhdGFncmFtIFNvY2tldCBDdXN0b21lci9TZXJ2aWNlIDQwMDxicj4xMi45LjMg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRhNGD0L3QutGG0LjRjiBDb25uZWN0ICgpIDQwMzxicj4xMi4xMCDQntCx0YDQsNCx0L7RgtC60LAg0YLQsNC50LwgLdCw0YPRgtCwIDQwNDxicj4xMi4xMSDQnNGL0YjQu9C10L3QuNC1INC4INGD0L/RgNCw0LbQvdC10L3QuNGPIDQwNTxicj7Qk9C70LDQstCwIDEzINCi0LXQvNCwIDQwNjxicj4xMy4xINCa0L7QvdGG0LXQv9GG0LjRjyDQv9C+0YLQvtC60LAgNDA2PGJyPjEzLjEuMSDQp9GC0L4g0YLQsNC60L7QtSDQvdC40YLRjCA0MDY8YnI+MTMuMS4yINCf0YDQtdC40LzRg9GJ0LXRgdGC0LLQsCDQv9C+0YLQvtC60L7QsiA0MDk8YnI+MTMuMS4zIFB0aHJlYWRzIFRocmVhZCA0MTI8YnI+MTMuMS40INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0L7RgtC+0LrQsCA0MTM8YnI+MTMuMiDQodC+0LfQtNCw0L3QuNC1INC/0L7RgtC+0LrQsCA0MTQ8YnI+MTMuMyDQl9Cw0LLQtdGA0YjQtdC90LjQtSDQv9C+0YLQvtC60LAgNDE1PGJyPjEzLjMuMSDQkiDQvtC20LjQtNCw0L3QuNC4INC30LDQstC10YDRiNC10L3QuNGPINC/0L7RgtC+0LrQsCA0MTY8YnI+MTMuMy4yINC/0L7RgtC+0LrQuCwg0LrQvtGC0L7RgNGL0LUg0LzQvtCz0YPRgiDQsdGL0YLRjCDQvtCx0YrQtdC00LjQvdC10L3RiyDQuCDRgNCw0LfQtNC10LvQtdC90YsgNDE4PGJyPjEzLjQg0KHQvtC30LTQsNC90LjQtSDQv9C+0YLQvtC60LAg0YHQviDRgdC/0LXRhtC40LDQu9GM0L3Ri9C80Lgg0LDRgtGA0LjQsdGD0YLQsNC80LggNDIwPGJyPjEzLDUg0L/QtdGA0LXQvNC10L3QvdGL0LUgbXV0ZXggNDI1PGJyPjEzLjUuMSDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDQuCDRgNCw0LfRgNGD0YjQtdC90LjQtSDQv9C10YDQtdC80LXQvdC90YvRhSDQvNGD0YLQtdC60YEgNDI3PGJyPjEzLjUuMiDQkNGC0YDQuNCx0YPRgtGLINC/0LXRgNC10LzQtdC90L3QvtC5INC80YPRgtC10LrRgSA0Mjg8YnI+MTMuNS4zINCX0LDQsdC70L7QutC40YDQvtCy0LDQvdC40LUg0Lgg0YDQsNC30LHQu9C+0LrQuNGA0L7QstC60LAg0L/QtdGA0LXQvNC10L3QvdGL0YUgTXV0ZXggNDMxPGJyPjEzLjUuNCBNdXRleCDQn9C10YDQtdC80LXQvdC90YvQtSDQuCDRgdC/0LjQvdC+0LLRi9C1INC30LDQvNC60LggNDMzPGJyPjEzLjYg0KfQuNGC0LDRgtGMINC4INC30LDQv9C40YHQsNGC0Ywg0LHQu9C+0LrQuNGA0L7QstC60YMgNDM1PGJyPjEzLjYuMSDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDQuCDRgNCw0LfRgNGD0YjQtdC90LjQtSDQsdC70L7QutC40YDQvtCy0LrQuCDRh9GC0LXQvdC40Y8g0Lgg0LfQsNC/0LjRgdC4IDQzNTxicj4xMy42LjIg0JfQsNCx0LvQvtC60LjRgNC+0LLQsNC90LjQtSDQuCDRgNCw0LfQsdC70L7QutC40YDQvtCy0LrQsCDRh9GC0LXQvdC40Y8g0Lgg0LfQsNC/0LjRgdC4INCx0LvQvtC60LjRgNC+0LLQutC4IDQzNjxicj4xMy43INCj0YHQu9C+0LLQvdGL0LUg0L/QtdGA0LXQvNC10L3QvdGL0LUgNDM5PGJyPjEzLjcuMSDQodC+0LfQtNCw0L3QuNC1INC4INGD0L3QuNGH0YLQvtC20LXQvdC40LUg0L/QtdGA0LXQvNC10L3QvdGL0YUg0YHQvtGB0YLQvtGP0L3QuNGPIDQ0MTxicj4xMy43LjIg0JDRgtGA0LjQsdGD0YLRiyDRg9GB0LvQvtCy0L3QvtC5INC/0LXRgNC10LzQtdC90L3QvtC5IDQ0MTxicj4xMy43LjMg0JIg0L7QttC40LTQsNC90LjQuCDRg9GB0LvQvtCy0LjRjyDQv9C10YDQtdC80LXQvdC90LDRjyA0NDM8YnI+MTMuNy40INCSINC+0LbQuNC00LDQvdC40Lgg0L/QtdGA0LXQvNC10L3QvdGL0YUg0YHQvtGB0YLQvtGP0L3QuNGPIDQ0NTxicj4xMy44INCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gNDQ4PGJyPtCT0LvQsNCy0LAgMTQg0KPRgdC+0LLQtdGA0YjQtdC90YHRgtCy0L7QstCw0L3QvdGL0LUg0YTRg9C90LrRhtC40Lgg0L/QvtGC0L7QutC+0LIgNDUwPGJyPjE0LjEgRGF0YSBEYXRhIDQ1MCA0NTA8YnI+MTQuMS4xINCh0L7Qt9C00LDQvdC40LUg0Lgg0YPQtNCw0LvQtdC90LjQtSDQtNCw0L3QvdGL0YUg0YEg0LTQsNC90L3Ri9C80LgsINGB0L/QtdGG0LjRhNC40YfQvdGL0LzQuCDQtNC70Y8g0L/QvtGC0L7QutCwLCA0NTE8YnI+MTQuMS4yINCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC00LDQvdC90YvRhSwg0YHQv9C10YbQuNGE0LjRh9C90YvRhSDQtNC70Y8g0L/QvtGC0L7QutCwIDQ1NDxicj4xNC4yINCe0YLQvNC10L3QsCDQv9C+0YLQvtC60LAgNDU2PGJyPjE0LjIuMSDQntGC0LzQtdC90LAg0LDRgtGA0LjQsdGD0YLQsCDQv9C+0YLQvtC60LAgNDU3PGJyPjE0LjIuMiDQntGC0LzQtdC90LAg0L/QvtGC0L7QutCwINC4INGC0L7Rh9C60LAg0L7RgtC80LXQvdGLIDQ1ODxicj4xNC4yLjMg0JHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINCw0YHQuNC90YXRgNC+0L3QvdC+0Lkg0L7RgtC80LXQvdGLIDQ2MTxicj4xNC4yLjQg0J7Rh9C40YHRgtC60LAg0L3QsCDQvNC10YHRgtC1IDQ2Mjxicj4xNC4zINCf0LvQsNC90LjRgNC+0LLQsNC90LjQtSDQv9C+0YLQvtC60L7QsiA0NjQ8YnI+MTQuMy4xINCf0LvQsNC90LjRgNC+0LLQsNC90LjQtSDQv9C+0YLQvtC60L7QsiDRgdC+0YDQtdCy0L3QvtCy0LDQvdC40LUgNDY1PGJyPjE0LjMuMiDQodGC0YDQsNGC0LXQs9C40Y8g0L/Qu9Cw0L3QuNGA0L7QstCw0L3QuNGPINC4INC/0YDQuNC+0YDQuNGC0LXRgiA0Njc8YnI+MTQuMy4zINCh0LLQvtC50YHRgtCy0LAg0L/Qu9Cw0L3QuNGA0L7QstCw0L3QuNGPINC/0L7RgtC+0LrQvtCyIDQ2OTxicj4xNC4zLjQg0JTQuNC90LDQvNC40YfQtdGB0LrQuCDQuNC30LzQtdC90LjRgtGMINGB0YLRgNCw0YLQtdCz0LjRjiDQv9C70LDQvdC40YDQvtCy0LDQvdC40Y8g0Lgg0L/RgNC40L7RgNC40YLQtdGCINC/0L7RgtC+0LrQvtCyIDQ3MTxicj4xNC40INCd0LjQtNGLINC4INGB0LjQs9C90LDQu9GLIDQ3NDxicj4xNC40LjEg0JTQtdC50YHRgtCy0LjQtSDRgdC40LPQvdCw0LvQsCA0NzQ8YnI+MTQuNC4yINCR0LvQvtC60LjRgNC+0LLQutCwINGB0LjQs9C90LDQu9CwIDQ3NTxicj4xNC40LjMg0J7RgtC/0YDQsNCy0LjRgtGMINGB0LjQs9C90LDQu9GLINCyINC/0L7RgtC+0LrQuCA0NzY8YnI+MTQuNC40INCSINC+0LbQuNC00LDQvdC40Lgg0YHQuNCz0L3QsNC70LAgNDc3PGJyPjE0LjQuNSDQndC+0LLRi9C5INC80LXRgtC+0LQg0YPQstC10LTQvtC80LvQtdC90LjRjyDQviDRgdC+0LHRi9GC0LjQuDogU2lnZXZfdGhyZWFkIDQ4MDxicj4xNC41INCc0YvRiNC70LXQvdC40LUg0Lgg0YPQv9GA0LDQttC90LXQvdC40Y8gNDgzPGJyPtCh0YHRi9C70LrQuCA0ODQ8YnI+PC90ZD48L3RyPjwvdGFibGU+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTAuMHB4OyI+PGltZyBzcmM9Imh0dHBzOi8vaW1nLmFsaWNkbi5jb20vaW1nZXh0cmEvaTIvMjE3MDQyOTc2L1QyMllrT1h1cGFYWFhYWFhYWC0yMTcwNDI5NzYuZ2lmIiB3aWR0aD0iNzUwIiBoZWlnaHQ9IjQ3Ij48L2Rpdj48ZGl2IGNsYXNzPSJobGdfcmFuZF8yOTYxMDQ1MjQiIHN0eWxlPSJvcGFjaXR5OiAwO2hlaWdodDogMDt3aWR0aDogMDsiPjE2NDQ4NzY4Nzg8L2Rpdj4=
Продавец:奥维博世图书专营店
Адрес:Пекин
Рейтинг:

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

Книги, продаваемые в этом магазине, являются настоящими книгами
1644876878


| Заголовок: | 【Подлинный】 Unix/Linux программирование учебник | 3021131 |
| Цена книги: | 79 Юань |
| Автор книги: | Zhao Kejia; Shen Zhiyu |
| Издательство: | Машиностроительная промышленность Пресса |
| Дата публикации: | 2013/1/1 0:00:00 |
| Номер ISBN: | 9787111403890 |
| формат: | 16 |
| Количество страниц: | 483 |
| Издание: | 1-1 |
| Об авторе |
| Чжао Кеджия - исследователь Школы компьютерных наук и технологий Национального университета оборонных технологий и наслаждается специальными правительственными надбавками. Основным направлением исследования является язык программирования и его система компиляции.Он участвовал в разработке первой гигантской Galaxy-1 моей страны, а также в разработке многих компьютерных систем национальных ключей. Он выиграл первую премию национального прогресса в науке и технике, первой премии и второй премии по науке и технологиям на уровне министерства.Он написал и перевел ряд академических работ по системам программирования и компиляции, в том числе: «Принципы программирования языкового компиляции», «Проектирование и реализация передового компиляции», «Принципы современного компиляции: описание языка C» и т. Д. Шен Жию, профессор Школы компьютерных наук и технологий Национального университета по науке о защите и технических технологиях и пользуется специальными правительствами.Основными направлениями исследования являются параллельная обработка и программное обеспечение компьютерной системы. Он участвовал в разработке многих национальных ключевых программных программных систем в моей стране и получил первый приз национального научного и технологического прогресса, первую премию и вторую премию министерств и комиссий.Следующие учебники и монографии были написаны и переведены: «Параллельное программирование», «Метод параллельного компиляции», «Анализ зависимостей при суперкомпьютинге» и «Проектирование и реализация расширенного компилятора» и т. Д. |
| Введение в контент |
| Учебники по программированию Unix/Linux следуют последним“Unified Unix Specization Версия 4”, на основе Linux в качестве платформы, систематически описывает методы программирования различных функций API UNIX.Содержание этой книги включает в себя историю и стандарты развития UNIX, стандартные вводы/вывода и низкоуровневый ввод-вывод, файловые и каталоги-операции, управление средой и процессами, обработку сигналов, время и время, терминал ввода-вывода, расширенное ввод-вывод, связь между процессами, гнездо и сетевым коммуникацией и многопоточное запрограммирование. Вводя функции и использование различных функций UNIX API, «Учеб по программированию UNIX/Linux» четко объясняет основные принципы операционной системы, которую они подразумевают. В книге приведено большое количество программ проектирования программ, что помогает читателям лучше овладеть функциями, методами использования и навыков программирования этих функций. «Учебное пособие по программированию Unix/Linux» особенно подходит для учителей, старших студентов и аспирантов в компьютерных специалистах в высших учебных заведениях в качестве учебников и справочных книг, а также особенно подходит для технического и технического персонала, занимающегося программным обеспечением для компьютерных систем и разработки программного обеспечения для приложений в качестве практических руководств по программированию для чтения. |
| Каталог |
| "Учебное пособие по программированию Unix/Linux" Предисловие Глава 1 Unix Введение 1 1.1 Краткая история Unix 1 1.1.1 Рождение UNIX 1 1.1.2 Раннее развитие UNIX 2 1.1.3 BSD Unix 3 1.1.4 Система V Unix 3 1.1.5 Коммерциализация UNIX 4 1.1.6 Linux 4 1.2 Стандарт 5 1.2.1 SVID 5 1.2.2 Posix 6 1.2.3 Unified Unix спецификации 6 1.2.4 C Стандарт 8 1.3 Основные концепции Unix 8 1.3.1 Программы и процессы 8 1.3.2 Ядр 9 1.3.3 оболочка 10 1.3.4 Имя пользователя и идентификатор пользователя, группа пользователей и идентификатор группы 11 1.3.5 Привилегированный пользователь 12 1.3.6 Системные вызовы и библиотечные функции 12 1.4 Системная библиотека 13 1.4.1 Файл заголовка 14 1.4.2 Зарезервированные слова 14 1.4.3 1,5 Программа выборки и среда компиляции 16 1.6 Обработка ошибок 17 1.7 Информация о системе 19 1.7.1 Машинная маркировка 19 1.7.2 Идентификация оборудования/типа программного обеспечения 19 1.8 Системная емкость 20 1.8.1 Общее значение предела возможностей 21 1.8.2 Параметры функции системы и файла 22 1.8.3 sysconf (), pathconf () и fpathConf () Функции 23 1.9 Мышление и упражнения 27 Глава 2 Стандартный вход и вывод 28 2.1 Основные понятия ввода и вывода Unix 28 2.2 Объекты потока и файла 30 2.3 Открыть и закрыть поток 31 2.4 Читать и написать поток 33 2.4.1. 2.4.2 Line I/O 34 2.4.3 Чтение и обращение 37 2.4.4 Блок ввода/вывода 38 2.5 позиционирование файла 40 2.6 Индикаторы конца файла и ошибки 42 2.7 Буфер потока 43 2.8 Формат ввода/вывода 46 2.8.1 Выход формата 47 2.8.2 Вход формата 50 2.9 Временный документ 53 2.10 Мышление и упражнения 55 Глава 3 вход и вывод низкого уровня 56 3.1 Открыть, создать и закрыть описание файла слова 56 3.2 read () и write () Функции 60 3.3 Установите местоположение файла описания Word 61 3.4 функции DUP () и DUP2 () 64 3.5 fdopen () и fileno () функции 65 3.6 Функция управления файлом fcntl () 65 3.6.1 Повторите Файл Описание Слова 66 3.6.2 Описание файла Метка Word 67 3.6.3 Тег состояния файла 68 3.7 не блокирующий ввод/вывод 71 3.8 readv () и writev () Функции 73 3.9 fsync () и fdatasync () функции 74 3.10 Мышление и упражнения 75 Глава 4 Файлы и каталоги 77 4.1 Документ 77 4.1.1 stat (), fstat () и lstat () функции 78 4.2 Тип файла 79 4.2.1 Общий файл 79 4.2.2 Содержание 80 4.2.3 Ссылка и ссылка () Функция 80 4.2.4 Символьные ссылки и функции Symlink () и readlink () 82 4.2.5 Специальный документ 83 4.2.6 Типы тестовых файлов 84 4.3 Владелец и группа пользователей файла 85 4.3.1 Chown (), FCHOWN () и LCHOWN () Функции 86 4.4 Метод документа 87 4.4.1 Разрешения на доступ к файлу 88 4.4.2. Сделайте идентификатор пользователя и отрегулируйте идентификатор группы 89 4.4.3 липкий бит 90 4.4.4 Метод файла и резюме бита 91 4.5 Определить и изменить метод файла 92 4.5.1 Umask () Функция 92 4.5.2 CHMOD () и FCHMOD () Функции 94 4.5.3 access () Функция 94 4.6 Размер файла 96 4.6.1 Файл усечения 97 4.7 Время файла 99 4.7.1 Utime () и Utimes () Функции 99 4.8 Удаление файла и изменение имени 101 4.8.1 Удалить файлы и каталоги 101 4.8.2 Изменение имени файла 103 4.9 Операция каталога 104 4.9.1 Рабочий каталог 104 4.9.2 Создать каталог 105 4.9.3 Читать поток каталогов 106 4.9.4 Случайный доступ к потокам каталогов 109 4.10 Мышление и упражнения 109 Глава 5 Среда процесса 111 5.1 Main () функция 111 5.2 Параметры командной строки 111 5.2.1 Синтаксическая конвенция параметров командной строки 112 5.2.2 Параметры в командной строке сканирования 113 5.3 переменные среды 115 5.3.1. Таблица 116 5.3.2 Среда доступа 117 5.4 Завершение процесса 118 5.4.1 Статус выхода 119 5.4.2 Очистка перед завершением 119 5.4.3 Процедура аборта 120 5.5 Пространство для хранения процессов 121 5.5.1. Адресное пространство процесса 122 5.5.2 Динамическое распределение и выпуск для динамического хранилища 123 5.5.3. Отпустите выделенную единицу для хранения 126 5.6 setjmp () и longjmp () функции 127 5.7 Процесс ресурсов 130 5.7.1 Просмотреть и установить ограничения ресурсов 131 5.7.2 Статистика использования ресурсов 132 5.8 Информация пользователя 133 5.8.1 Имя пользователя 133 5.8.2 Пользовательская база данных 134 5.8.3 Групповая база данных 136 5.9 Учетные данные о личности процесса 139 5.10 Отрегулируйте идентичность процесса 141 5.11 мышление и упражнения 146 Глава 6 управление процессом 147 6.1 Идентификация процесса 147 6.2 Создание процесса 148 6.3 выполнить новую программу 151 6.4 Дождитесь завершения процесса 155 6.5 Процесс прекращения процесса и сбоя 159 6.6 System () Функция 163 6.7. Группа процесса 164 6.8 ПЕРИОД МЕРЕВАНИЯ 165 6.9 Контрольный терминал 166 6.10 Эксплуатация управления 168 6.11 Мышление и упражнения 174 Глава 7 Обработка сигнала 175 7.1 Концепция сигнала 175 7.2 Unix Signal 177 7.2.1 Сигнал ошибки программы 179 7.2.2. Сигнал аборта программы 180 7.2.3 Сигнальный сигнал будильника 180 7.2.4 Сигнал ввода/вывода 180 7.2.5 Сигнал управления операцией 181 7.2.6. 7.2.7 Другие сигналы 182 7.3. Создание сигнала 182 7.3.1 Function () Функция 182 7.3.2 Функция Kill () 183 7.4 Действия по установке сигналов 184 7.4.1 Функция сигнала () 184 7.4.2 Действия сигнала, когда процесс начинается 186 7.4.3 Ненадежный сигнал 187 7.4.4 SigAction () Функция 188 7.5 Ручка сигнала 191 7.5.1 Нормальный дескриптор сигнала возврата 192 7.5.2 Ручка для прекращения процесса 192 7.6 Блокирующий сигнал 193 7.6.1 7.6.2 Установите маскирование сигнала 194 7.6.3 Проверьте висящий сигнал 196 7.7 В ожидании сигнала 197 7.7.1 Пауза () Функция 197 7.7.2 Sigsuspend () Функция 198 7.8 Использование отдельных стеков сигналов 201 7.9 Навыки программирования сигнала 204 7.9.1 Нелокальный контрольный перенос в ручке 204 7.9.2 Функции повторного въезда и асинхронные функции безопасности сигнала 207 7.9.3 Системные вызовы прерваны сигналами 210 7.9.4 Атомные данные 211 7.10 Сигнал в реальном времени 212 7.10.1 SA_SIGINFO FLAG 213 7.10.2 Отправить сигнал 217 в режиме реального времени 7.10.3 В ожидании сигнала 219 в реальном времени 219 7.11 Мышление и упражнения 221 Глава 8 время и время 222 8.1 Системные часы 222 8.1.1 Time () Функция 222 8.1.2 getTimeOfDay () Функция 223 8.2 Преобразование формата времени 224 8.2.1 Разложивное календарное время 224 8.2.2 Дата и время формата 227 8.3 Время процессора и настенные часы 229 8.3.1 Clock () Функция 230 8.3.2 раз () функция 231 8.4 Сон и время 233 8.4.1 Функция Sleep () 233 8.4.2 Установка таймера 233 8.5 Часы в реальном времени и время 237 8.5.1 Часы в реальном времени 238 8.5.2 Сон в реальном времени 240 8.5.3 Timer в реальном времени 241 8.5.4 Создание и удаление таймеров в реальном времени 241 8.5.5 Установка таймера 243 в реальном времени 243 8.5.6 Срок годности таймера 244 8.6 Мышление и упражнения 246 Глава 9 Терминал ввода/вывода 247 9.1 Примеры, где необходимо изменить настройки терминала 247 9.2 Терминал ввода/вывода Обзор 249 9.2.1 Терминал 249 9.2.2 Серийный порт 250 9.2.3 Файл устройства терминала 252 9.2.4 Входной и выходной очередь 252 9.2.5 Обработка и не обработка методов ввода 253 9.3 GTI контрольный интерфейс 254 9.3.1 Структура данных Termios 254 9.3.2 Функция управления GTI 255 9.4 Терминальные атрибуты 256 9.4.1 Метод ввода 256 9.4.2 Метод вывода 257 9.4.3 Метод управления 258 9.4.4 Местные методы 259 9.4.5 Специальные символы 260 9.4.6 STTY Command 263 9,5 идентификатор терминала 263 9.6 Изменение терминальных свойств 265 9.7 Метод обработки и метод не обработки ввода 266 9.7.1 Метод обработки ввод 266 9.7.2 Метод не обработки вход 267 9,8 Установленная скорость 272. 9.9 Функция управления линиями 273 9.10 Программирование последовательного порта 275 9.11 Мышление и упражнения 278 ГЛАВА 10 ПРОДАНОВКАЯ ВИТА/ОС 279 10.1 Замок файла 279 10.1.1 fcntl () Операция блокировки файла 280 10.1.2 Тестирование, запрос и выпуск замков 282 10.1.3 Отношения между блокировками и процессами и файлами файла 286 10.1.4 тупик 287 10.1.5 Рекомендуемые замки и принудительные замки 288 10.2 Сигнал ввода/вывода 289 10.3 Многоканальная пересылка ввода/вывода 291 10.3.1 SELECT () Функция 291 10.3.2 Опрос () Функция 294 10.4 Асинхронный ввод/вывод 296 10.4.1 Асинхронный блок управления ввода/выводом 297 10.4.2 Доставка сигнала, когда вводим/вывод завершен 298 10.4.3 Приоритет асинхронного ввода/вывода 299 10.4.4 Асинхронные функции ввода/вывода 299 10.4.5 Пример асинхронного ввода/вывода 304 10.4.6 Меры предосторожности для асинхронного ввода/вывода 307 10.5 Картирование хранения ввода/вывода 308 10.6 Мышление и упражнения 314 Глава 11 Межпроцессная связь 316 11.1 Трубопровод 316 11.1.1 Создать конвейер 317 11.1.2 Трубопроводная связь между отцом и сыном процессами 317 11.1.3 Конвейер подключение стандартного входа и стандартного выхода 319 11.1.4 Функции Popen () и pclose () 321 11.1.5 Атомность трубопровода ввода/вывода 322 11.2 Специальный документ FIFO 323 11.2.1 Создание FIFO 323 11.2.2 Операция FIFO 325 11.2.3 FIFO используется для Customer/Service Communication 328 11.3 Система V IPC 331 11.3.1 Ключевые слова и логотипы 332 11.3.2 Структура описания ресурса IPC и элемент IPC_PERM 333 11.3.3 Команды IPCS и IPCRM 334 11.4 очередь сообщений 334 11.4.1 Создание и получение очередей сообщений 336 11.4.2 Запрос, настройки и удаление очередей сообщений 337 11.4.3 Отправить и получать сообщения 339 11,5 сегмент общего хранения 343 11.5.1 Создание и получение общих сегментов хранения 343 11.5.2 Запрос, настройки и удаление общих сегментов хранения 344 11.5.3 Соединение и разделение сегментов общего хранения 345 11,6 Семфор 347 11.6.1 Создание и получение идентификаторов семафора 348 11.6.2 Запрос, настройка и удаление семафоров 350 11.6.3 Операция SEMAPHORE 352 11.7 Мышление и упражнения 357 Глава 12 разрывов и сетевой связи 358 12.1 TCP/IP -протокол 358 12.2 сокет 360 12.3 Структура адреса гнезда 364 12.3.1 IP -адрес 364 12.3.2 Адрес доменного имени 366 12.3.3 Сервис и номер порта 369 12.3.4 Структура данных гнезда 371 12.3.5 байт -заказ 373 12.4 названные сокеты 374 12.5 Режим связи 377 12.6 12.6.1 Запрос на соединение 379 12.6.2 Приема подключения 381 12.6.3 getSockName () и getPeerName () Функции 385 12.6.4 Multi-Customer Service 386 12.6.5 Send () и recv () Функции 388 12.7 Опции сокета 390 12.8 Данные вне полосы 392 12.8.1 TCP Данные 392 12.8.2 Отправить и получить данные вне полости 393 12.8.3 Flag Data Flag 397 12.9 12.9.1 Sendto () и recvfrom () Функции 399 12.9.2 Примеры Datagram Socket Customer/Service 400 12.9.3 Используйте функцию Connect () 403 12.10 Обработка тайм -аута 404 12.11 Мышление и упражнения 405 Глава 13 Тема 406 13.1 Концепция потока 406 13.1.1 Что такое нить 406 13.1.2 Преимущества потоков 409 13.1.3 Pthreads Thread 412 13.1.4 идентификатор потока 413 13.2 Создание потока 414 13.3 Завершение потока 415 13.3.1 В ожидании завершения потока 416 13.3.2 потоки, которые могут быть объединены и разделены 418 13.4 Создание потока со специальными атрибутами 420 13,5 переменные mutex 425 13.5.1 Инициализация и разрушение переменных мутекс 427 13.5.2 Атрибуты переменной мутекс 428 13.5.3 Заблокирование и разблокировка переменных Mutex 431 13.5.4 Mutex Переменные и спиновые замки 433 13.6 Читать и записать блокировку 435 13.6.1 Инициализация и разрушение блокировки чтения и записи 435 13.6.2 Заблокирование и разблокировка чтения и записи блокировки 436 13.7 Условные переменные 439 13.7.1 Создание и уничтожение переменных состояния 441 13.7.2 Атрибуты условной переменной 441 13.7.3 В ожидании условия переменная 443 13.7.4 В ожидании переменных состояния 445 13.8 Мышление и упражнения 448 Глава 14 Усовершенствованные функции потоков 450 14.1 Data Data 450 450 14.1.1 Создание и удаление данных с данными, специфичными для потока, 451 14.1.2 Использование данных, специфичных для потока 454 14.2 Отмена потока 456 14.2.1 Отмена атрибута потока 457 14.2.2 Отмена потока и точка отмены 458 14.2.3 Безопасность асинхронной отмены 461 14.2.4 Очистка на месте 462 14.3 Планирование потоков 464 14.3.1 Планирование потоков соревнование 465 14.3.2 Стратегия планирования и приоритет 467 14.3.3 Свойства планирования потоков 469 14.3.4 Динамически изменить стратегию планирования и приоритет потоков 471 14.4 Ниды и сигналы 474 14.4.1 Действие сигнала 474 14.4.2 Блокировка сигнала 475 14.4.3 Отправить сигналы в потоки 476 14.4.4 В ожидании сигнала 477 14.4.5 Новый метод уведомления о событии: Sigev_thread 480 14.5 Мышление и упражнения 483 Ссылки 484 |
1644876878


