- 1
IT Оффтоп #71
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #71
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
#60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
#61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
#62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
#63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
#64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
#65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
#66: https://govnokod.ru/27040 https://govnokod.xyz/_27040
#67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
#68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
#69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
#70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
nepeKamHblu_nemyx # 0
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
oaoaoammm # 0 ⇈
gost # 0 ⇈
oaoaoammm # 0 ⇈
Tpeg # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
rotoeb # 0
gost # 0 ⇈
guest # 0 ⇈
Tpeg # 0
https://pbs.twimg.com/media/Em37nOBWEAA_Bg8.jpg
bootcamp_dropout # 0
Какая девушка-программист )))
О, она же и автор https://m.habr.com/ru/post/470337/ который мы уже обсуждали. Или не обсуждали
MAPTbIwKA # 0 ⇈
* Не работайте с мудаками
* Если второй муж бьет вас по роже, то дело не в муже, а в роже
Причем оба варианта могут быть одновременно.
>На свой день рождения я заказала кучу пицц и осетинских пирогов в офис.
она же вроде на JS, а не на дельфи?
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Если ты видишь нытика, которому насрало в штаны жадное хуёвое начальство, проклятые капиталисты, и бессердечные менеджеры не оценили его огромный вклад в продукт, и так было несколько раз, то скорее всего перед нами анскил:/
Хотя вот тут пиздец обоюдный
Тут я стала замечать подозрительное отсутствие новых задачи в Jira. К тому же, от меня попросили zip архив сайта, над которым я работаю. Я не смогла сжать проект из-за кириллицы в названиях папок и спросила у ПМ, зачем он им, если можно скачать код с repository? Пм ответил, что выходит новый разработчик и он пока не получил доступов.
Какой ротоёб ))
gost # 0 ⇈
>>> сегодня в 13:48 Я потратила 60к на юристов, но меня все равно уволили
Какой багор )))
MAPTbIwKA # 0 ⇈
gost # 0 ⇈
> На первой работе меня заставили написать по собственному.
> В другую компанию требовался опыт работы на VueJS.
> Ровно в 18 мне позвонил ПМ и начальник, в звонке также была начальница отдела рекрутинга и куратор от аутстаффера. Босс объявил мне, что
>> Слишком много багов, плохие отзывы от коллег, слишком много вопросов бизнесу
То есть её уже как минимум три раза увольняли!
MAPTbIwKA # 0 ⇈
этож трекается
1024-- # 0 ⇈
P.S. и накормят ими генератор психозы.
MAPTbIwKA # 0 ⇈
нужно знать оргинал
1024-- # 0 ⇈
> начальник мог сделать фотографию нас распивающих
> нормально работать из дома или приходить к 12, если было устное согласие от начальства.
> 1-2 дня работать из дома
> уволят за прогул
Что за питушня? Звучит как подстава со стороны конторы.
Ну или она накосячила, и подвернувшиеся фото использовали как формальную причину, а если бы от неё была польза, можно было работать хоть с 12 до 14 и при этом бухать.
> Теперь отслеживать время начала работы стали по статусу в чате. Если он желтый, то тебя нет, а если зеленый, то ты на работе.
> Нужно было подключаться к удаленному рабочему столу через RDP, потом вводить магические цифры из Mobile Pass. И повторять так каждые полчаса.
Это уже совсем питушня. Я ещё понимаю, посещаемость онлайн занятий отмечать по наличию в зуме/гугломите/голосовом чате дискорда, но смотреть по чатику пердолить работников раз в полчаса - это зашквар.
> Я ощущала, что с моими задачами справится и стажер и не понимала, зачем взяли меня на роль ведущего разработчика, чтобы выполнять рутинные простейшие таски и копипаст.
Вот это тоже непонятно. Почему ей прямо не сказали "ты не справляешься, нам нужен человек вот с такой квалификацией - сначала посадим на флешку голого оклада, а потом ещё что-нибудь", а начали мутную тему про прогулы? Или говорили, но она не поняла?
> Я поняла, что я ввязалась в какую-то войну, где с меня будут требовать объяснительные за опоздания на каждые полчаса
> Что меня просто уволят за опоздания даже без 1 оклада.
Ну тут сразу валить надо. Специалисту дешевле устроиться и получать зарплату, чем тратить время и деньги на лотерею с юристами против целой компании.
OCETuHCKuu_nemyx # 0 ⇈
1024-- # 0 ⇈
defecate-plusplus # 0 ⇈
guest # 0 ⇈
defecate-plusplus # 0 ⇈
guest # 0 ⇈
bootcamp_dropout # 0 ⇈
1024-- # 0 ⇈
Может, к ней каждый день подходили и напоминали о возможном увольнении.
gost # 0 ⇈
oaoaoammm # 0 ⇈
— Сколько времени вам понадобится, чтобы вот тут немного сдвинуть текст вправо?
— Ну, давайте проанализируем поставленную задачу, чтобы я могла провести структурную декомпозицию и разбить её на конкретные подзадачи. Кроме того, с точки зрения бизнеса, это будет плохим решением в долгосрочной перспективе, потому что вы – проблемное место в этом бизнесе, только не обижайтесь. А теперь, кстати, я иду выпивать и есть осетинские пироги с тимлидом, чао-какао (';
bormand # 0 ⇈
Так хотелось ещё немного поработать с мудаками?)
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
bormand # 0 ⇈
А можно было просто уйти в декрет. И хуй кто уволит.
bootcamp_dropout # 0 ⇈
bormand # 0 ⇈
jojaxon # 0 ⇈
О чем баба говорит, они не понимали!
oaoaoammm # 0 ⇈
Шлюха! Кстати, она ещё и в зашкварные крупные компании ходит.
«Но не все так радужно. Не успела я проработать и месяц, как Сбер объявил о прекращении финансирования Bringly, проект оказался убыточным»
Какое занятное стечение обстоятельств )))
***
«Это была стандартная аутсорс-фирма. Я сидела в полном шоке, я проработала в небольшой компании из 5 человек год. Мы отмечали дни рождения с пиццей, колой и алкогольными напитками. Тогда я еще не знала, что начальник мог сделать фотографию нас распивающих прямо в офисе и уволить по статье. В фирме насаждалась дружно-семейная атмосфера с анекдотами про евреев (начальник был еврей)»
Сукааа, так ей и надо, я бы её ещё и на зарплату кинул. Вообще, компания ей попалась скотская, но она бы в другую всё равно не попала.
«На свой день рождения я заказала кучу пицц и осетинских пирогов в офис»
Блять. Чем дальше читаю тем мне смешнее и хуёвее.
gost # 0 ⇈
oaoaoammm # 0 ⇈
MAPTbIwKA # 0 ⇈
ocemuHckuu_nupor # 0 ⇈
MAPTbIwKA # 0 ⇈
Особенно с мясом
В нем тесто тонкое, а мяса дохуя
defecate-plusplus # 0 ⇈
MAPTbIwKA # 0 ⇈
я только с сыром и с мясом знаю
oaoaoammm # 0 ⇈
jojaxon # 0 ⇈
oaoaoammm # 0 ⇈
MAPTbIwKA # 0 ⇈
oaoaoammm # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
MAPTbIwKA # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
MAPTbIwKA # 0 ⇈
Приятная, добрая, пожилая продавщица:
- Цы уæ хъæуы, лæппутæ?
Валерик: Иу, æртæ килæйы нын хъæдындзтæ абар.
Продавщица: Уый уын мæ бар.
Валерик: Сæ дзæбæхтæ нын авзар, больницæмæ нæ хъæуынц...
Продавщица: Хорз, хорз, мæ къонатæ.
И давай отбирать. Через минуту останавливается, потом медленно оборачивавется и с удивлëнным видом:
Кæææдæææм уæææ хъæææуынц?!
gost # 0 ⇈
CO6AKA_CTPALLIHA9I # 0 ⇈
Зашли [мы с другом] в один из ларьков купить лук — тот крупный, ровный, который привозили тогда корейцы.
Приятная, добрая, пожилая продавщица:
- Гав ав гав-гав, гав-гав-гав?
Валерик: Ав, ав-гав гав-гав-гав гав гав-гав-гав ав-ав.
Продавщица: Ав ав гав гав.
Валерик: Гав гав-гав-гав гав ав-гав, больница-гав гав гав-гав...
Продавщица: Гав, гав, гав гав-гав-гав.
И давай отбирать. Через минуту останавливается, потом медленно оборачивавется и с удивлëнным видом:
Гааав-гааав ааав гааав-гав?!
MAPTbIwKA # 0 ⇈
oaoaoammm # 0 ⇈
bootcamp_dropout # 0 ⇈
>Да я и сама могла нанять кого-то за меньший прайс на мою работу, если бы не Mobile Pass.
Какая трудовая этика )))
MAPTbIwKA # 0 ⇈
bootcamp_dropout # 0 ⇈
Co6a4ka # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bootcamp_dropout # 0 ⇈
какой трап (((
MAPTbIwKA # 0 ⇈
bootcamp_dropout # 0 ⇈
MAPTbIwKA # 0 ⇈
bootcamp_dropout # 0 ⇈
MAPTbIwKA # 0 ⇈
https://govnokod.ru/27115#comment595506
bootcamp_dropout # 0 ⇈
вон даже с буткемпа выгнали
MAPTbIwKA # 0 ⇈
bootcamp_dropout # 0 ⇈
FreeBSD # 0 ⇈
Co6a4ka # 0 ⇈
bormand # 0 ⇈
CO6AKA_CTPALLIHA9I # 0 ⇈
gost # 0 ⇈
>>> Я не смогла сжать проект из-за кириллицы в названиях папок и спросила у ПМ, зачем он им, если можно скачать код с repository?
Какой нинужен )))
MAPTbIwKA # 0 ⇈
j123123 # 0 ⇈
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Заверни чонить лоулевелного
bootcamp_dropout # 0 ⇈
oaoaoammm # 0 ⇈
Ну, если ты, конечно, не дальнобойщик из Германии, который после работы играет в Truck Simulator.
bormand # 0 ⇈
З.Ы. Нет, не на этот, к сожалению.
bormand # 0 ⇈
* организации, запрещённой на территории РФ.
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Иногда пишут с адреса krupnaja_companija2020@gmail.com и приглашают в крупную международную компанию, правда не всегда говорят, в какую именно
gost # 0 ⇈
Ого, наверное, серьёзная компания.
Заметил, что у многих госучреждений в моём Дальнезалупинске контактные адреса выглядят как «gosrosrogakopyta_dalnezalupinsk228@mail .ru». Интересно, как к этому законы относятся.
bormand # 0 ⇈
Да, недосмотрели... Столько бабла можно было бы распилить на выделенных почтовых серверах для каждого усть-зажопинского сельсовета.
Намекни им, я думаю они поддержут твою инициативу.
MAPTbIwKA # 0 ⇈
Пачку серверов можно расположить в нужных регионах (их хватит десятка на страну).
MAPTbIwKA # 0 ⇈
Надо с точки зрения фронтендера излить свою боль и пожаловаться, что у вот у бэкендеров можно с C# .net core перейти на Java Spring, а у нас нос воротят, если ты работал с React Native и не знаешь Styled Components, которые используются в веб версии React.
[/quote]
лол
MAPTbIwKA # 0
Филип открыл для себя, что динамическая типизация менее ценна, чем статическая
Юля не согласна:
JS был создан таким, какой он есть и никаким иначе. Нужно использовать его фичи с умом. Да, мне было удобнее писать на C# или Java благодаря типам, интерфейсам, абстрактным классам. Но это не значит, что в любом проекте нужно городить огород из TS/Flow поверх JS.
https://habr.com/en/post/500926/
bormand # 0 ⇈
Юлю надо познакомить с Ротоёбычем, я думаю они найдут общий язык.
gost # 0 ⇈
> общий язык
Бля…
nihau # 0 ⇈
jojaxon # 0 ⇈
MAPTbIwKA # 0 ⇈
весь путь его взросления описан
oaoaoammm # 0 ⇈
Это целых пять IT-оффтопов. Как жаль, что мне, простому смертному, не судьба это почитать.
nihau # 0 ⇈
Человек несколько абзацев посвящает тому, как со своими огромными яйцами отказался от префикса I в имени интерфейса. Дурка ебать.
каков багор...
jojaxon # 0 ⇈
"как вы вообще выясняете ориентацию программистов на Haskell или C++?"
"Нанимают сишников-системщиков и заставляют их монадки моноидировать."
"В языке «ться» и «тся» не различаются,..."
Походу там пиздец-оффтоп мощнее местного.
bormand # 0 ⇈
Всё кроме свифта и объективного си.
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
j123123 # 0 ⇈
Вот да, если б он был создан каким-то не таким, каким он создан, то он ведь тоже был создан таким, каким он есть, правда ведь? Т.е. что-то, созданное каким-то - оно создано так, как оно создано, и никак иначе. Какая глубокая мысль!
bormand # 0 ⇈
MAPTbIwKA # 0
Он легко читаемый, удобный и современный.
А С++ старый, сложный, и нечитаемый.
Не перепутай, анон
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAKAKA # 0 ⇈
И это делается вглубину рекурсией, так что если в А у тебя есть поле типа C, а в B есть поле типа D, то получается и их пересечение тоже.
jojaxon # 0 ⇈
FreeBSD # 0
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0
Какой анскилл )))
oaoaoammm # 0
Какой сайт )))
Под IE лучше не заходить, кстати.
«Не все версии PHP одинаково полезны, некоторые генерируют невалидные WEBP изображения. История (с хорошим финалом) о том, как я чуть не отказался от использования WEBP на этом блоге. На примере показываем, в разработке не существует безвыходных ситуаций»
Наверное, что-то интересное. Но я не знаю пхп, а потому мне название статьи но о чем не говорит.
MAPTbIwKA # 0 ⇈
http://jcup.ru/images/php/chinim-generaciyu-webp-v-php/bag-generacii-webp-v-php.webp
nihau # 0 ⇈
MAPTbIwKA # 0 ⇈
какой хакер ))
во-первых mysql, торчащий наружу с аунтенифмикацией по паролю это сразу кал
во-вторых нахуя боксить примитив в джаве? чтобы кучу засрать и добавить косвенного доступа?
в-троетьих пять букв в пароле это пиздец
в-четвертых
>перебор миллиарда комбинаций занимает в среднем 10 сек :
не перебор, а генерация. Попробуй послать миллиард запросов на чужой сервер за 10 секунд
и
>несколько потоков.
тебе тут не сильно помогуть
nihau # 0 ⇈
Еще один свидетель секты /hw/зион.
oaoaoammm # 0 ⇈
Собрать охуенный комп, это, получается, пипец дорого, я думал намного дешевле...
MAPTbIwKA # 0 ⇈
oaoaoammm # 0 ⇈
«Сборкой ПК не увлекаюсь, так что просто поделюсь с вами ссылочками на инфу, найденную в сети»
Смотрите, это же я отвечаю на вопросы гуеста про C++!
Ладно, давайте посмотрим что там по ссылкам.
«Итак, если вы собираетесь купить компьютер за 25 тысяч, то намерения у вас уже серьезные»
Статью писали, видимо, для syomы.
«Начнем. Компьютер за 25000 рублей не будет существенно отличаться от того, что я рекомендовал в предыдущей статье, где верхней планкой было только 15 тысяч»
Ладно похуй, не такие уж и дорогие эти ваши игровые ПК.
defecate-plusplus # 0 ⇈
nihau # 0 ⇈
defecate-plusplus # 0 ⇈
и это за 1 видеокарту из верхнего сегмента, без сли всяких
defecate-plusplus # 0 ⇈
если чуть лучше чем печатная машинка, то и $1000
но если 7-9 рязань, 64 рам, 1+ТБ не всратый ссд, не всратый кулер, не всратый корпус, не всратый БП, ну и похуй какая видеокарта (не играть же на компе в самом деле), то уже дороже, и это без периферии притом
nihau # 0 ⇈
И это только чтобы хром нормально работал.
defecate-plusplus # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
Плюс для конпеляторов лучше иметь запас, иначе не получится раскрыть все ядра на параллельной конпеляции.
Ну и IDE с браузерами, да.
MAPTbIwKA # 0 ⇈
4 гига CLionу или Студии с решарпером
16 гигов виртуалке
а еще?
bormand # 0 ⇈
З.Ы. Ну и как кеш. Файлов то дохуя, чем больше оперативки -- тем быстрее всякие grep'ы да git'ы. Хотя с nvme это уже не так актуально.
defecate-plusplus # 0 ⇈
Несколько интелий идей, браузер, а также фигма, камунда, ПОЧТОВЫЙ КЛИЕНТ на электроне - хуяк хуяк, и вот уже не кажется, что в системе 2% занято.
Раньше 32 покупал разрабам, а сейчас 32 уже не оч.
j123123 # 0 ⇈
bormand # 0 ⇈
> прошивки под контроллеры
Не стыдно тебе? Деды на форте в 64кб могли упихать прошивку телескопа, ui для неё и конпелятор с редактором.
j123123 # 0 ⇈
CHayT # 0 ⇈
Широко жил партизан Боснюк!
defecate-plusplus # 0 ⇈
bormand # 0 ⇈
Xepyc_DJIuHyc # 0 ⇈
defecate-plusplus # 0 ⇈
Ваш днс совсем уже что-ли?
Xepyc_DJIuHyc # 0 ⇈
Ну джа, я пол года назад такую брал, до отрицательного роста рубля
operativnaa-pamat
defecate-plusplus # 0 ⇈
MAKAKA # 0 ⇈
nihau # 0 ⇈
bormand # 0 ⇈
Блядь, опять обновляться, а я думал 32 хватит на пару лет хотя бы ;(
FreeBSD # 0 ⇈
Эрзянь мастор.
https://youtu.be/FKEHCTzccrQ
defecate-plusplus # 0 ⇈
nihau # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
Дык это лайвхак такой. Списанный зеон из датацентров и адаптированная под десктоп материнка. Стоит копейки по сравнению с аналогичным камнем.
MAPTbIwKA # 0 ⇈
jojaxon # 0 ⇈
oaoaoammm # 0 ⇈
https://youtu.be/b85h_ujZ_vg
MAPTbIwKA # 0 ⇈
кстати, кто помнит этого чела?
https://www.youtube.com/watch?v=jGbuhssT9R8
(инью, можешь посмотреть кстати, там полезные советы)
oaoaoammm # 0 ⇈
https://memepedia.ru/wp-content/uploads/2020/03/devochka-sosochka-pochemu-odna-5.jpg
guest # 0 ⇈
Какой совет я должен был подчерпнуть?
MAPTbIwKA # 0 ⇈
guest # 0 ⇈
ovnokod # 0 ⇈
во вторых) Ага да, забоксили английский алфавит и израсходовали всю память
в третьих) Статья учебная, научишься делать это на 5, сделаешь и на 15)
4) Перебирается либа, нет там никакой задержки
потоки) В представленном примере помогут, т.к. перебирается либа
[email protected] # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
да ну ёбтвою мать
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
Просто тут товарищ мануал написал
http://jcup.ru/java/keylistener-swing-java
jojaxon # 0 ⇈
jojaxon # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
ВКонтакте?
MAPTbIwKA # 0 ⇈
https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html#VK_1
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
oaoaoammm # 0
Там у чувака греется ноут до 90° С, потому что он на нём гоняет какие-то скрипты... И поэтому он его хочет вынести на балкон, где -20° С )))
MAPTbIwKA # 0 ⇈
хотя я не зна что унего за камень, может у кого-то это и рабочая температура
OCETuHCKuu_nemyx # 0 ⇈
bormand # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
Пусть тогда будет 2 вопроса:
1) В пхп
2) В себе
MAPTbIwKA # 0 ⇈
TOPT # 0 ⇈
jojaxon # 0 ⇈
MAPTbIwKA # 0 ⇈
Алгоритм вывода не занятых таймслотов с шагом по 30 минут
oaoaoammm # 0 ⇈
Каждый получасовой интервал определяется 1 значением - временем начала.
Напиши функцию isBusy, которая будет определять - является ли этот получасовой интервал занятым.
Пробежись в цикле по всем получасовым интервалам от начала рабочего дня до окончания.
Если интервал свободен - увеличивай счетчик свободных на 1. Если счетчик =3 - выводи интервал (3 последних), и уменьшай счетчик на 1.
Если интервал занят - сбрасывай счетчик на 0.
профит...»
А потом рабочий день станет на пять минут короче и придётся всё переписывать (т.е. все охуеют).
bormand # 0 ⇈
В деда мороза ты тоже веришь?
MAPTbIwKA # 0 ⇈
nihau # 0 ⇈
MAPTbIwKA # 0
https://m.habr.com/ru/company/skyeng/blog/479568/comments/#comment_21043918
А суслик зеленый еще, да и не существует его
rotoeb # 0
guest # 0
guest # 0 ⇈
Ты видимо параметр с ссылки удалил.
oaoaoammm # 0 ⇈
bootcamp_dropout # 0 ⇈
rotoeb # 0 ⇈
bormand # 0 ⇈
rotoeb # 0 ⇈
https://ru.wikipedia.org/wiki/403-й_гаубичный_артиллерийский_полк_большой_мощности
guest # 0 ⇈
rotoeb # 0 ⇈
gEKA6PbCKuu_nemyx # 0 ⇈
https://sun9-61.userapi.com/7ekmcRygTXwBdtJTRwcmdGJw7RpbbZya20JqVA/I0FNtuAFddo.jpg
guest # 0 ⇈
gEKA6PbCKuu_nemyx # 0 ⇈
guest # 0 ⇈
gost # 0
oaoaoammm # 0 ⇈
rotoeb # 0 ⇈
guest # 0 ⇈
Как-то икарус кидал сайт, где в урле зашит исходный код страницы.
Такое сайт могут заблокировать, если я буду срать ссылками «гаш, мет, вторчермет»?
gost # 0 ⇈
Если товарищ майор (на самом деле, конечно, не майор, а тётенька предпенсионного возраста, которая за миску каши сидит на откровенно паршивой работе — несколько лет назад видел статейку про «экспертов» «Роскомнадзора») заходит со своей рабочей ПЭВМ по ссылке и видит там вторчермет — он эту ссылку отправляет в Реестр (предварительно отослав уведомление куда-то в направлении хостера сайта). Всё.
И вот потом, после отправки письма счастья, уже ты сам будешь объяснять товарищу майору (или суду), где у тебя там что зашито и почему твой сайт, на котором вторчермет (нотариально заверенный скриншот прилагается), на самом деле законов не нарушает. Если он не нарушает.
MAPTbIwKA # 0
oaoaoammm # 0 ⇈
bootcamp_dropout # 0
Какой "10х инженер" )))
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
там по lldb тоже учебник
вообще для общего развития полезно посмотреть на гуепостроитель в икскоде, например на сигвеи или аутолейаут
j123123 # 0 ⇈
> там по lldb тоже учебник
Про lldb там нихуя нет по-сути, просто написали что какие-то хоткеи есть.
guest # 0 ⇈
Конечно, лучше бы он написал про скриптование lldb, или про работу с instruments (это гуй обертка вокруг dtrace, довольно мощная), но и и так статья может оказаться полезна яблопрогеру
j123123 # 0 ⇈
Вообще эту хуйню я давно еще видел, когда справочник ПДД читал, такой знак в Украине есть в правилах. http://pdd.ua/33/6.24/
https://ilenta.com/news/misc/misc_8458.html и как раз оттуда он и был подсмотрен. Но макоебы наверняка подумают, что это наоборот кто-то у Apple спиздих эту хуйню с завитушками и втулил знак. Типа "ууу смотрите, эта хуета с завитушками прямо как на клавиатуре у меня в макпуке!!! Всё у эппл сплагиатили!"
MAPTbIwKA # 0 ⇈
самая полезная функия для инженера
нос праведливости ради: знать шорткаты и хотки IDE и дебагера и правда полезно
guest # 0
bootcamp_dropout # 0 ⇈
впрочем, также вероятно что у тебя низкая самооценка или похая социальная адаптированность
guest # 0 ⇈
Ну вот я сказал что-то на диктофон, прослушал - мне не понравилось (такое звучание от другого человека мне бы не понравилось, я бы даже сказал: как долбоеб какой-то). Сказал чуть по другому с другой интонацией - понравилось больше. Значит, и большинству людей так же воспримет?
Стоит ли заморачиваться? Понятно, что над дикцией всякой нужно работать, но тут именно голос не нравится.
bormand # 0 ⇈
З.Ы. Попробуй через нормальный микрофон если есть возможность. С поп-фильтром и всей хуйнёй.
guest # 0 ⇈
1024-- # 0 ⇈
С микрофоном получше просто перестаёт шуметь на фоне и пердеть, а этот говённый голос всё равно остаётся. Всё равно будет как долбоеб какой-то, но в супер качестве.
Видимо, надо слушать и переслушивать, знакомиться с собой и учиться воспринимать со стороны.
bormand # 0 ⇈
Пердящий голос на "п", "щ" и т.п. -- это именно от отсутствия фильтра. В реале ты всё-таки людям напрямую в уши не говоришь.
1024-- # 0 ⇈
Не факт. Сказали же выше, что свой голос кости искажают, а мозг привык к этому и как-то подкрутил эквалайзер.
Может быть, тут вообще работает эффект зловещей долины, когда голос вроде бы похож, но из-за распространения по воздуху слышится совсем иначе. Соответственно, чтобы понять, как другие воспринимают твой голос, надо выломать себе уши из головы, поставить микрофоны в паре метров от себя, пустить результат в мозг прямо по нервам, и так пожить некоторое время.
Ну и у каждого могут быть свои предпочтения. Может быть, с одной интонацией будет нравиться одним, а с другой - другим.
guest # 0 ⇈
Кости искажают какой голос, в записи или реальный?
1024-- # 0 ⇈
Интересная питушня, выглядит логично. Как раз у некоторых есть возможность проверить на самоизоляции. Кто попробует - отпишитесь.
> Кости искажают какой голос, в записи или реальный?
Кости искажают реальный, поскольку обычно мы слышим наружные голоса через воздух, а внутренний - через воздух и через кости, но в воздухе он, по идее, должен сильно затухать.
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
1024-- # 0 ⇈
1024-- # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
CHayT # 0 ⇈
guest # 0 ⇈
1024-- # 0 ⇈
Я считаю, слушать можно, но судить о прослушанном без подготовки - не всегда правильно.
1024-- # 0 ⇈
Во время разговора человек слышит себя в риалтайме, когда процессорные мощности мозга тратятся на то, чтобы сформулировать мысль, её высказать и одновременно воспринять высказанное через кости. Может быть, там как в скайпе или в зуме свой выхлоп из динамиков вырезается
Во время прослушивания записи человек тратит мозг только на восприятие речи извне.
Соответственно, я в разговоре не слышу, как растягиваю некоторые гласные (а это уже не искажение частот и гармоник костями, это искажение времени), а в записи это меня раздражает.
guest # 0
Один питух в джаваговне через JNA устанавливает multi threading model для COM, а другой на том же самом треде из JNI делает single thread apartment, получает от винды залупу RPC_E_CHANGED_MODE, забивает на это, и при попытке CoCreateInstance получает E_NOINTERFACE, и роняет всю JVM нахуй.
windgb не понимает жабьего стека разумеется, и потому при бряке на CoInitializeEx показывает просто пачку каких-то jna1231324234.dll (их высирает джава для JNA).
Приходится анфризить остальные джаватреды и делать jstack.
Интересно, реально написать windbg extentsion, чтобы смотреть и на джавастек тоже?
Алсо, windbg не умеет ставить бряку на тред по его имени (или я не нашел как) и приходится сначала смотреть все треды, потом узнавать нужный номер, и ставить бряку именно на него, потому что CoInitializeEx вызывает еще на стасорокапицот тредах.
bormand # 0 ⇈
У тредов есть имя?! З.Ы. А, в десятке добавили.
> windbg extension
Я думаю да, в конце-концов это просто ковыряние в памяти. Но там поди придётся как-то у джита выяснить структуру фреймов? Х.з. как там стек у джавы устроен.
MAKAKA # 0 ⇈
да, именно
https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setthreaddescription
джавка свое имя треда (оно там со времен царя гороха есть) туда пхает.
Оно где-то в TEB лежит, думаю. Причем хз есть ли оно на уровне ядра или в Win32API. Скорее второе.
>ковыряние в памяти
ну да, но нужно ведь понимать формат.
У джавки есть API для дебагера, можно взять через него, потому что в памяти действтелно джит может насрать..
в теории наверное можно так: колнуть функцию джавки, и получить от нее структуры фрейма. Но я хз, можно ли экстешеном так сделать, то есть не просто память считать, а прыгнуть процом в нужное место, что-то выполнить, и вернуться
bormand # 0 ⇈
Вай нот? Это же отладчик: ты регистры контролируешь, бряки можешь ставить. Вызов на основе этого вылепить не так уж сложно.
MAKAKA # 0 ⇈
* реализовать колнвенцию
* сохранить все регистры
* прыгнуть
после рет все прочитать и сохранить где-то или вывести на икран
восстановить все регистры
причем для x64 и x32 по разному написать
ну по идее можно, наверное
MAKAKA # 0 ⇈
сюда нужно копать
https://docs.oracle.com/javase/7/docs/technotes/guides/jvmti/index.html
gost # 0 ⇈
Оно пихается системным вызовом , где unicode_string_ptr — это уко-ко-козатель на https://docs.microsoft.com/en-us/windows/win32/api/ntdef/ns-ntdef-_unicode_string (см. RtlInitUnicodeStringEx()), а достаётся — системным же вызовом
return_ptr — это память под UNICODE_STRING (выделять саму строку не нужно), out_return_len — опциональный уко-ко-козатель на выходной аргумент-размер записанных данных.
guest # 0 ⇈
guest # 0 ⇈
официально можно тока
ThreadPriority, ThreadBasePriority, ThreadPagePriority, or ThreadPowerThrottlingState,
а 0x26 нельзя
как ты вообще это нашел? ходил дебагером за вызовом SetThreadDescription?
gost # 0 ⇈
Подтверждаю. У меня для таких целей под рукой лежит простенький hello world, на котором можно по-быстрому ставить вычислительные эксперименты.
Вот код SetThreadDescription(): https://i.imgur.com/BxIZymG.png.
Я ещё для проверки вызвал SetInformation/QueryInformation прямо из дебаггера (Ctrl+* на начало функции и вручную поправить регистры; не забыть выровнять rsp): работает нормально.
guest # 0 ⇈
так ведь после следующего обновления хуйню могут и сломать же, интерфейс ядра не обязан быть стабильным
gost # 0 ⇈
Ну и в любом случае, всегда можно использовать вполне документированную пару SetThreadDescription()/GetThreadDescription().
bormand # 0 ⇈
Кстати, я из-за этого свои чистые треды создавал для работы с COM. Потому что хуй знает, что там вызывающий код накрутит.
MAKAKA # 0 ⇈
если уносить в другой тред, то придется много чего синронизировать
я лучше завтра у питузов узнаю, зачем им вообще мультитред
bormand # 0 ⇈
З.Ы. Ну хотя у тебя event dispatch thread, в нём норм должно работать.
guest # 0 ⇈
STA это означает "я потоконебезопасный, пожалуйста синхронизируй все вызовы меня". Ну и вызовы тебя из других тредов или процессов прилетают через виндомесседжи
bormand # 0 ⇈
Неспроста эта ось называется windows )))
FreeBSD # 0 ⇈
https://govnokod.ru/24655
bormand # 0 ⇈
FreeBSD # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
но вообще неблокирующие сокеты ненужны же, есть completion ports
guest # 0 ⇈
А потом ты запускаешь spy++, а у тебя 100500 каких-то левых окон)
Но вообще COM просто оче древнее говно, времен примерно второй половины 90-х, отсюда и тяжкое наследие
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
- Каждый STA тред имеет свои апартаменты.
- Все MTA треды живут в одних общих апартаментах.
- Между апартаментами интерфейс можно передать только через Stream, иначе UB.
- none (древнее говнище, которое не знает о тредах) создаётся только в главном (первом) STA, если ты создаёшь его из другого треда, то автоматом получаешь прокси.
- apartment создаётся только на STA тредах, если ты создаёшь его из MTA треда, то он создаётся на главном STA и ты получешь прокси.
- free создаётся только на MTA тредах, если ты создаёшь его из STA, то он создаётся на MTA пуле и ты получаешь прокси.
- both создаётся где угодно.
MAPTbIwKA # 0 ⇈
ну сталобыть я верно понял: если class both, то я просто создаю его где угодно, и теку. Мне вообще думать про треды не нужно.
bormand # 0 ⇈
Ну да, создаёшь где угодно, но юзать можешь только в пределах апартаментов, в которых он был создан. Иначе надо явно прокидывать через Stream чтобы он в прокси завернулся.
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
Охуеть.
MAPTbIwKA # 0 ⇈
Охуенная же технология. Где питухам ссаным со своими рестами
Кстати, маршалинг упростили еще больше с 8.1: RoGetAgileReference
* https://devblogs.microsoft.com/oldnewthing/20151020-00/?p=91321
CHayT # 0 ⇈
MAPTbIwKA # 0 ⇈
На прыщах, разумеется, точно также можно делать.
Почти как ctypes и P/Invoke
defecate-plusplus # 0 ⇈
gost # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
MAKAKA # 0 ⇈
gost # 0 ⇈
admin # 0
MAPTbIwKA # 0 ⇈
j123123 # 0 ⇈
rotoeb # 0 ⇈
YpaHeLI_ # 0
Вот ASCII и UTF-8 - совместимые кодировки, все коды символов в ASCII совпадают с UTF-8.
Но если для нас целевая кодировка UTF-8, то без конвертации мы ведь всё равно не правильно интерпретируем ASCII-строку?
Ведь UTF-8 - двубайтная, а ASCII - однобайтная.
То есть, мы пихнули ASCII строку в std::string, и теперь читаем её как UTF-8, мы ведь будем считывать двубайтно. (хотя и UTF-8 надо хранить в wstring)
В чем подвох?
bormand # 0 ⇈
YpaHeLI_ # 0 ⇈
https://ru.wikipedia.org/wiki/UTF-8#Алгоритм_кодирования
bormand # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
А строки с полностью декодированными кодепоинтами (из char32_t) редко кто юзает. Я ни разу не видел.
guest # 0 ⇈
gost # 0 ⇈
bormand # 0 ⇈
Самый длинный юникодный символ, емнип, 3 байта. И он кодируется как 6 байт в utf-8 или 4 байта в utf-16.
Но крестовым "строкам" похуй, они всё равно не умеют парсить юникод и тем более работать с ним.
guest # 0 ⇈
defecate-plusplus # 0 ⇈
> Я ни разу не видел
полагаю, в азии 32 битные чары это норма жизни
bormand # 0 ⇈
Я про работу со строками, состоящими из char32_t (ну или wchar_t на линуксе). std::basic_string<char32_t>, в общем.
Сами то символы в utf-8 или utf-16 прекрасно кодируются.
MAKAKA # 0 ⇈
Если старше -- то это начала двубайтовой последоватльности
Все английские буквы и цифры в ASCII младше 127 (ASCII 7-ми битный так-то), так что они трактуются UTF правильно
А вот если ты возьмешь восьмибитную кордировку (cp866, koi8r, cp1251) то русские буквы сломаются
bormand # 0 ⇈
Почему двухбайтовой то? Многобайтовой же. Ну и все остальные символы тоже больше 127, не только первый.
guest # 0 ⇈
bormand # 0 ⇈
gost # 0
guest # 0 ⇈
gost # 0 ⇈
MAKAKA # 0 ⇈
gost # 0 ⇈
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/51bbfbb1-08e2-4c13-a95e-1eaa7d310670
MAKAKA # 0 ⇈
YpaHeLI_ # 0 ⇈
Да еще и знаковый?
jojaxon # 0 ⇈
gost # 0 ⇈
Большое количество локальных булевых переменных или какие-то крупные массивы буль-булей, когда лишние байтики могут напрячь память — это слишком экзотические кейсы, но, видимо, под них и сделали «BOOLEAN».
guest # 0 ⇈
я вообще не могу себе представить, чтоб сишнек по другому сделал)
gost # 0 ⇈
Разве что поехавшие, вроде тех, кто std::vector<bool> делал. Ну или когда нужен не просто массив, а набор связанных флагов.
Битовые буль-були тормозят. В современном мире в общем случае экономить ими память — маразм.
guest # 0 ⇈
>экономить память
ну если у тебя выбор между 4 байта и 1 байт то да, наверное не имеет смысла, а если их стопицот?
gost # 0 ⇈
Откуда ты возьмёшь иммидейт?
Более того, для получения значения тебе придётся ещё сильнее ебаться с масками и сдвигами. Как, например, ты передашь значение пятого флага в функцию?
> а если их стопицот?
И даже если стопицот — тоже не имеет. И даже если миллион — всё равно не имеет. Причём скорее не по соображениям производительности, а просто потому, что ебаться с масками и сдвигами на уровне языка — крайне сомнительное удовольствие, при неосторожном обращении приводящее к баграм и говну (см. std::vector<bool>).
guest # 0 ⇈
захардкожу?
Поднял флажок, проверь
>Как, например, ты передашь значение пятого флага в функцию?
ок, не передеам, придется копировать
Поднять, опустить и проверить флаг достаточно просто. А вот вынуть его сдвигом уже сложнее, это да
guest # 0 ⇈
что тормозит, мне вот н е понятно
bormand # 0 ⇈
guest # 0 ⇈
ДВигать нужно чтобы высосать в отдельную переменную (например, я хочу пятый флаг вытащить в переменную BOOLEAN)
gost # 0 ⇈
Передал во время компиляции?
Вот примерно это будет выглядеть в реальности (не тестировал, если что):
https://gcc.godbolt.org/z/sse5xE
Разница очевидна.
guest # 0 ⇈
ну да
Если ты в рантайме хочешь выбрать поле, то тут конечно всё хуже
gost # 0 ⇈
Это только если твой массив целиком влезает в один инт. В противном случае тебе ещё нужно дополнительно получить индекс ячейки, в которой лежит нужный тебе флаг. А когда добавляется рантайм — всё вообще летит в пизду, см. мой реальный пример.
guest # 0 ⇈
ну так
адрес же считается в каком-нить LEA тупо base+sizeof(element)*num_of_elements, не?
А вот с рантаймом жопа, а вы с бормандом очевдино про него и говорили
Но я думал про битовые поля как про такие SETы из паскаля, когда пользователь всегда явно в компиляции указваает какой флаг задрать
gost # 0 ⇈
Откуда ты получил это число? У тебя его нет, у тебя есть только задача — установить флаг номер 3216000 в истинное значение. Чтобы это сделать, тебе нужно сначала узнать, в каком по счёту инте этот флаг лежит, и уже потом вычислять значение маски:
gost # 0 ⇈
jojaxon # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
конечно, если иф немного поменять, то убдет понятнее
bormand # 0 ⇈
Шта. Обращения к байтам всегда выровнены. Ну не попадёшь ты одним байтом в джва кешлайна как не крутись.
gost # 0 ⇈
bormand # 0 ⇈
То ли я еще не проснулся... То ли ты про какую-то архитектуру, которая только словами читает. Ну не вижу я других кейсов когда инт быстрее байта.
gost # 0 ⇈
>>> Read and write operations to the DDR4 SDRAM are burst oriented. It starts at a selected location (as specified by the user provided address), and continues for a burst length of eight or a ‘chopped’ burst of four.
guest # 0 ⇈
Из DDR читает префетчер (точнее DRAM контроллер по его указке) в кешлайны, из кешлайнов читает процессор.
Бёрстами память читает уже очень давно, и еще 286-й умел читать из памяти по два байта. Это не мешало ему считать один байт (просто второй выкидывался на помойку).
или ты об изменении одного байта?
bormand # 0 ⇈
С восьмибитной шиной инт читался несколько циклов.
А если у памяти 16 или 32 битная шина, то там есть дополнительные сигналы под bytemask чтобы не делать read-modify-write ради записи байта.
Т.е. в целом обращение к байту быстрее чем к инту. В худшем случае такое же.
jojaxon # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
Или там проблема в том, что всё переупорядочица?
Так тогда "одну операцию" тут не причем
gost # 0 ⇈
guest # 0 ⇈
Например в джаве int и bool атомарны, а long нет.
В С++ бул не атомарен? а char?
gost # 0 ⇈
Стандарт гарантирует только наличие специализаций std::atomic для char, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, char16_t, char32_t, wchar_t и всех типов из <cstdint>.
guest # 0 ⇈
bormand # 0 ⇈
Легко, 16 или 32-битная шина до памяти без линий byte select. Запись байта будет read-modify-write операцией.
З.Ы. Хотя я какую-то хуйню пишу.
guest # 0 ⇈
Если я записал байт 0xCA вместо байта 0x00, то там или 0 или CA. Там не может быть DD ни в какой момент, нет?
bormand # 0 ⇈
Блин, дичь какая-то. Зачем я этот пример придумал...
guest # 0 ⇈
разумаеется, если я пишу байт, процессор пишет инт, то я расхуячу соседей
Если у меня два потока пишут в соседние байты, то там мясо получаетчя, лол
теперь я понял, почему даже байт не атомарен без лочка шины
как это сделано в джавке, интересно
bormand # 0 ⇈
Ну вот, к слову, именно поэтому гонка это UB. И вот это упидорашивание соседних байтов вполне соответствует духу стандарта.
bormand # 0 ⇈
На нормальных процах всё-таки есть byte select, поэтому они просто пишут в оперативку байт и текут (лишние линии данных в этот момент игнорятся).
guest # 0 ⇈
и выравнивание не нужно
и вообще всю книжку Криса про оптимизацию доступа к апамяти можно выкинуть
gost # 0 ⇈
UPD: «ECC DDR» не предлагать, так не интересно.
jojaxon # 0 ⇈
guest # 0 ⇈
1. Неатомарное чтение. Например, поток1 уже записал два байта из твоей сорокабайтовой структуры, а поток2 видит в ней два нормальных байта, а в остальных мусор.
Bool не подвержен скорее всего этой проблеме, так как слишком мал, и его чтение атмарно.
2. Переупорядочивание компилятором или процессором. Если поток1 писнул в B1 а потом B2, то поток2 может увидеть B2, а B1 не увидеть.
Тут bool ничуть не лучше любого другого типа. Нужно делать синхроназиацию. На уровне CPU это делают заборы (фенсы)
На уровне компилятора -- volatile.
Но есть и более высокоуровневые примитивы конечно, и у ОС и в стандартных либах языков и в самих языках
bormand # 0 ⇈
Только в студии.
По стандарту volatile никак не влияет на не volatile обращения, он только с другими volatile и сайд-эффектами упорядочен. Т.е. такой бул, к примеру, нельзя юзать как флаг завершения задачи. Что-то может недописаться в структуру, а другой тред уже увидит взведённый бул.
MAKAKA # 0 ⇈
я имел ввиду что они оба должны быть волатайл.
Если B1 и B2 у меня оба волатильные, то разве компилятор не гарантирует мне что запись в B1 будет видна к моменту, когда станет видна B2?
bormand # 0 ⇈
Никаких гарантий про отношения между тредами volatile не даёт.
MAKAKA # 0 ⇈
* НЕ писать в B2 до B1, потому что запись имеет сайд эффект
* значит, он пишет в B1 прежде, чем в B2.
Разумеется, есть проблема с тем, что B2 может флашнуться раньше, а B1 может застрять в буферах
Но это уже проблема уровня CPU, которую нужно решать заборами або флашами.
А вот переупорядочивание записи компилятором я отключил
нет?
bormand # 0 ⇈
Для этих переменных и их зависимостей по данным - да.
Но это реально всё волатайлами обмазывать и постоянно просыпаться в ужасе что что-то ещё забыл, нахуй так жить.
З.Ы. Ну и да, волатайл - преждевременная пессимизация.
MAKAKA # 0 ⇈
Ну или взять высокооуровневый притив, и не ебсти мозгу.
bormand # 0 ⇈
bormand # 0 ⇈
З.Ы. Но в атомиках конпеляторные барьеры более тонкие и оптимальные.
gost # 0 ⇈
В этом и есть коварство UB: работает годами, а потом феерично выстреливает. Или не выстреливает — как повезёт.
bormand # 0 ⇈
С volatile - ну такое, как какой-нибудь флажок остановки на популярных архитектурах обычно работает. Гарантий нету, само собой. В особенности на состояние остальных переменных, если ты их собрался читать после установки флажка.
gost # 0 ⇈
Реальный пример: https://gcc.godbolt.org/z/hnzh41.
Функция f1() скомпилировалась (полностью в соответствии со Стандартом) в:
gost # 0 ⇈
Если флаг изначально не установлен — функция просто уходит в бесконечный цикл.
defecate-plusplus # 0 ⇈
/color
зря не сделали битовые регистры в x86, какой анскил
bormand # 0 ⇈
1024-- # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
Придрались просто ко всему.
Можно же просто посмеяться типа "хаха, оказывается и ещё хуже бывает" и остаться с хорошим настроением, а не "доказывать_что_в_интернете_ктото_непрпа в"жпг»
А по моему всё по делу. Правда комментарии там убого оформляют.
gost # 0 ⇈
oaoaoammm # 0 ⇈
«Ну например, когда указатель на бул стал указывать из за другого бага на какой либо мусор.
Или когда парсишь бинарный протокол и пришол из за физического сбоя мусор и пролез в бул»
Страшно жить в мире, когда физический сбой в процессоре превращает true в false и всё ломается (((
Именно поэтому я против наклеек с магнитами на блоке питания.
bormand # 0 ⇈
true && true == false можно получить, и я видел такой баг на практике.
guest # 0 ⇈
oaoaoammm # 0 ⇈
А что делать, чтобы мусор не пролез?
Имхо, если читаешь что-то в бул, неплохо бы сделать статик каст, чтобы и -1, и 0, и 100500 оно превратило в true/false.
Но вообще, если в любую пельменную пролез мусор, то логике/арифметике пизда, так что сценарий какой-то надуманный: надо всегда проводить валидацию данных.
gost # 0 ⇈
bormand # 0 ⇈
А ты не можешь, логике уже пизда.
Именно поэтому крестовый бул нельзя юзать во внешних структурах данных.
guest # 0 ⇈
bormand # 0 ⇈
А вот инт с мусором из файла или сокета -- нет (ну по крайней мере на всех практических архитектурах у него нет невалидных значений). А бул -- да.
guest # 0 ⇈
Любое сочетание бит валидно для int, но не для bool
Есть ли еще типы, в которых валидно не любое сочетание?
Я удивлен, так как мне казалось, что любое сочетание валидно только для char/std::byte, а для int МОЖЕТ БЫТЬ не валидно, и это всё равно УБ
bormand # 0 ⇈
И не путай невалидное с неинициализированным.
З.Ы. а так - бул, флоат, енум. Вон от флоата тачка в стену въехала.
guest # 0 ⇈
Считать рендомное говно в int это UB или ID?
>не путай
А разве проблема неинициализированного не в том, что он именно что невалиден внутри?
Или какие-то компиляторы могут вообще физически не иметь доступ к той памяти, которую они не писали?
bormand # 0 ⇈
С неинициализированным это не работает. Например конпелятор может выкинуть код т.к. ну не будет же корректный код crc'шить неинициализированную память.
guest # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
§ 6.8/4 [basic.types], N4842
§ 6.8.1/1 [basic.fundamental], N4842
§ 6.8.1/4 [basic.fundamental], N4842
То есть произвольный инт шириной N бит состоит из, собственно, N значащих бит, могущих принимать произвольные значения (иначе бы мы не влезли в требуемый диапазон), и какого-то количества произвольных бит паддинга, которые тоже могут принимать любое значение. Так что на первый взгляд всё в порядке.
bormand # 0 ⇈
Вообще говоря да. Были же процы с тегированной памятью, сразу словишь сегфолт о том, что эту память не писали.
bormand # 0 ⇈
oaoaoammm # 0 ⇈
bormand # 0 ⇈
Во вторых даже если он ее не выкинет, он ее упростит и через неё пролезут кривые значения (например 4 вместо 1). А в других местах он будет на 146% уверен, что там 0 или 1.
oaoaoammm # 0 ⇈
guest # 0 ⇈
01111101b
и на архитектуре FOO input будет не равен ни тру, ни фолс
gost # 0 ⇈
Проблема в том, что компилятор попросту выкинет это условие и будет совершенно прав.
Если parseShit() возвращает int, то тут будет всё правильно и никаких UB не возникнет (int неявно преобразуется в bool, Стандарт это разрешает), а если parseShit() читает что-то из сети, пишет считанное в память, занимаемую переменной типа bool, а потом её возвращает, то… это, ЕМНИП, в любом случае получается UB, лол.
bormand # 0 ⇈
gost # 0 ⇈
bormand # 0 ⇈
Короче я в любом случае не стал бы юзать.
MPA3b # 0 ⇈
bormand # 0 ⇈
!= true оптимизнется в ==0 и дальше по коду что-нибудь разнесет.
Не надо с этим шутить.
MPA3b # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
А потом петухи про оптимизацию начали подкукарекивать.
Это, блядь, не влияние сильной оптимизации! Это UB, это знать надо!!!
guest # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
Смерть водителя наступила из-за оптимизации удара головой о руль, но ведь причиной-то всё равно будет служить UB ДТП.
bormand # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
Скриптушок один раз слышал от мужа сестры, что С++ это сложно, там течка памяти и "вляние сильной потимизации", и форсит это всюду и везде, а сам ничего кроме пхп и не знает
runnonomaM # 0 ⇈
MAKAKA # 0 ⇈
1024-- # 0 ⇈
gost # 0
> Самое старое рабочее селфи (старая работа 2016й) vs селфи в офисе сегодня
IT меняет людей.
MAKAKA # 0 ⇈
gost # 0 ⇈
oaoaoammm # 0 ⇈
Как вы думаете, на каком языке он пишет?
gost # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
А ты посмотрел картинку?
Если посмотрел, то:
Там было что-то про то, что ему больше шло быть мужчиной, Так что пусть он обратно переделывается )))
guest # 0 ⇈
MPA3b # 0 ⇈
runnonomaM # 0 ⇈
bormand # 0 ⇈
Что-то я передумал знакомиться с тян-программистками.
runnonomaM # 0 ⇈
https://tunnel.ru/media/images/2019-09/post/132034/432432.jpg
bormand # 0 ⇈
... если можно самому стать тян-программисткой.
runnonomaM # 0 ⇈
oaoaoammm # 0 ⇈
Так вот в чём секрет успеха!
bormand # 0 ⇈
Challenge accepted.
runnonomaM # 0 ⇈
Сишников и ассемблерщиков IT так не меняет.
Вообще считаю, что «скриптовые» языки программирования нужно запретить на законодательном уровне.
bormand # 0 ⇈
runnonomaM # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
от руби можно малость тронуться, но это даже хорошо
oaoaoammm # 0 ⇈
https://stackoverflow.com/questions/3278077/difference-between-getattr-vs-getattribute
MAKAKA # 0 ⇈
bormand # 0 ⇈
MAKAKA # 0 ⇈
bormand # 0 ⇈
MAKAKA # 0 ⇈
В руби всё объект. У объекта есть "class", который тоже обьъект.
Если ты добавишь метод в объект, то он только у этого объекта и будет.
Мы -- обезьяны -- называем это обезъяними заплатками.
Если ты добавишь метод в "class" объекта -- это будет обычный метод, который появится у всех инстансов. Но это будет инстанс метод, а не метод "класса"
Как добавить "статический" метод в класс?
У класса есть свой "class" это тоже объект специального анонгимного уникального класса, который и назхывают Айгенклассом класса. В него и добавляется "статический метод".
bormand # 0 ⇈
MAKAKA # 0 ⇈
Если метод хранится в конкретном инстансе -- это его личный метод
Если метод хранится в классе -- это метод всех его инстансов
Если метод хранится в айген классе класса, то это статический метод
Короче, метод всегда хранится у родаков: методы инстанса -- у класса, методы класса у его "родака" -- айгена
----
Теперь предлагаю понять разницу между модулями, классами и миксинами
oaoaoammm # 0 ⇈
> In Ruby, a class is an object. Indeed, a class is literally an instance of the class Class.
Почти как в питоне.
> So, how a class makes the difference between class-level and object-level methods, variables & constants?
By using the eigenclass (a.k.a meta-class, shadow-class, singleton class, etc..).
Что за питушня такая... Непонятная. В питоне без ЕвгенКлассов всё нормально работает.
«To keep it simple — and related to this article — let’s assume that singleton methods are class methods.
But what if I tell you that a singleton method is also an instance method ?
Well, this makes sense as (almost) everything in Ruby is an object. What you commonly call a class method is, behind the scene, an instance method of the eigenclass.
By the way, the eigenclass is also referred as singleton class.
Ok.. But what exactly is the eigenclass?
Let’s access the eigenclass and inspect what it contains»
Блять. Какой-то поток психозы.
> The eigenclass tends to be pretty difficult to apprehend.
Тут я, пожалуй, соглашусь с мистером «Мехди Фарси», гордым французом и основателем «Руби кадемии».
> The eigenclass is an unnamed instance of the class Class attached to an object and which instance methods are used as singleton methods of the defined object.
Если бы он написал вот это в самом начале, то в статье можно было писать не про пять минут, а всего про одну.
Ладно, тут я соглашусь, руби повеселее питона будет )))
CHayT # 0 ⇈
bormand # 0 ⇈
CHayT # 0 ⇈
MAKAKA # 0 ⇈
В руби еще и вызовы методов можно легко передавать, ведь вызов метода это просто сообщение (привет, смоллток)
Есть модуль Forwardable, делающий это вообще декларативно
Вызов [] мы форварднули в проперти @petuhs, которое просто массив строк (ну тут моя любимая %w, как qw в перле)
rotoeb # 0 ⇈
bormand # 0 ⇈
А чем веселее? Ну в питоне точно также есть инстанс класса Class type на каждый класс. Статики в нём и лежат.
З.Ы. И статьи об этой очевидной хуйне, я думаю, там тоже пишут.
MAKAKA # 0 ⇈
Ширяевский .size
Студент МЭТТ Ширяев Денис на одном из зачётов предложил использовать метод .size в качестве итератора. Он использовал его для подсчёта количества элементов массива, удовлетворяющих условию. По сути, он предложил укоротить связку ```.find_all{ … }.size```. Вот как будет выглядеть программа подсчёта количества чётных элементов массива:
Чтобы заставить работать данную программу, необходимо перед использованием метода .size переопределить его, написав следующий код, который будет реализовывать эту функциональность:
Крестушки и перлоёбы должны ощутить красоту
1024-- # 0 ⇈
Мне ближе жс, где функция - питух первого класса, и её можно передать/вернуть куда/откуда угодно когда угодно. Возню с огрызками кода и сорта функциоподобных объектов (блок, проц, ещё какой питух) в руби я так и не осилил.
MediumGovno # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
Да ладно, Lynn Conway вообще процы хуярил(а) в IBM.
bormand # 0 ⇈
MAKAKA # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
О как.
j123123 # 0 ⇈
https://cs10.pikabu.ru/images/big_size_comm/2020-04_2/158627199117788529.jpg
runnonomaM # 0 ⇈
bormand # 0 ⇈
1024-- # 0 ⇈
https://youtu.be/NOpoyd-i6L4
bormand # 0 ⇈
1024-- # 0 ⇈
bormand # 0 ⇈
bootcamp_dropout # 0 ⇈
MAKAKA # 0 ⇈
Хз, работает ли тут обратная совместимость: можно ли остаться с жабрами, например
bormand # 0 ⇈
Такие сбои скорее всего фатальные.
А вот хвост и ушки наверное можно отрастить если в нужный момент нужные градиенты какого-нибудь вещества будут.
Код обезьяньего хвоста всяко остался на память в бинаре. Хотя, с другой стороны, мог и испортиться, раз давно не юзали.
bormand # 0 ⇈
gost # 0 ⇈
bormand # 0 ⇈
jojaxon # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
Мейби, всё-таки распределённая отказоустойчивая система, в которой триллионы простых нод общаются друг с другом.
j123123 # 0 ⇈
> Так, блять. Я на тег "программист" подписался, и видеть вот это было неожиданно. Но раз уж я тут тот пошучу.
> я бы не стал с тобой заниматься экстремальным программированием.
частенько ли ты рефакторишь с другими парнями?
> я так понимаю, любимый язык это питон.
> И мне интересно познание какого языка тебя до этого довело?
> Без обид, просто тупые шутки
Какой багор )))
oaoaoammm # 0 ⇈
1. Какую функцию транссексуалы-пхпшники используют в два раза чаще чем обычные пыхеры? die();
2. Как определить, пол транса? Посадите его в опенспейс: если он начал кодить, то он кун, а если начала, то тян.
3. Сколько трансов нужно, чтобы написать программу? Как минимум столько, сколько требует квота на трансов.
4. Какой тип данных нужен, чтобы представить все возможные гендеры? Boolean.
Ну это так, просто глупые шутки. Без обид, ладно?)
bormand # 0 ⇈
BOOL из винапи вполне норм для этого. Через него иногда реально нон-бинари значения возвращаются (не TRUE и не FALSE).
jojaxon # 0 ⇈
bormand # 0 ⇈
oaoaoammm # 0 ⇈
runnonomaM # 0 ⇈
guest # 0
MAKAKA # 0 ⇈
Затуманились речные перекаты
Мы в школе (или даже в саду?) на уроке пения пели
runnonomaM # 0 ⇈
Шли домой с войны советские солдаты.
gost # 0 ⇈
А летом лучше, чем зимой.
С войной покончили мы счеты,
С войной покончили мы счеты,
С войной покончили мы счеты, –
Бери шинель, пошли домой!
bormand # 0 ⇈
Кстати, кому-нибудь реально пригодилось на практике?
MAKAKA # 0 ⇈
До сих пор помню, как писал на уроке биологии: "кольраби -- ценная овощная культура"
Зачем?
guest # 0 ⇈
MAKAKA # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
1024-- # 0 ⇈
Вкусная же штука (для тех, у кого осталось хоть несколько зубов или тёрка, у которой осталось хоть несколько зубов).
MAKAKA # 0 ⇈
Вики пишет, что в кольраби больше витамина цэ, чем в лимоне
nepeKamHblu_nemyx # 0
https://govnokod.ru/27120
https://govnokod.xyz/_27120/
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0