fork download
  1. exec("import re;import base64");print((lambda p,y:(lambda o,b,f:re.sub(o,b,f))(r"([0-9a-f]+)",lambda m:p(m,y),base64.b64decode("IyEvMzVjLzM0NC8yYmIKIyAtKi0gMmI4OiAzNmUtOCAtKi0KM2UgMTIyLDRlLDEwOSwzNjgsYjksMmJkCjNlIDM3CjNlIDg4LGY0CjNlIDIyMSwyZDEsMmZlCjNlIDIwYgozZSAxNGMKM2UgZWMKMWI0IDI2ZSAzZSAxMjQsIDI2ZSwgMTgyIDIxZSAzNmIKM2UgMWU4IDIxZSAzMGYKMWI0IDg4IDNlIDFmZgoxYjQgODggM2UgZgozZSAyYTQgMjFlIDIxNQozZSA3NwoxYmU9InxmYi0yMDU9YjEvNS4wICgyYzA7IDEwYSAxYmEpIDZkL2NmLjExICgxMDIsIDEzOSBmYSkgZGQvMjMuMC4yNTAuNjQgZTAvY2YuMTEnKSwoJzdlJywgJzZlL2FlLDFjYy8xNTUrMTIzLDFjYy8xMjM7MjU4PTAuOSwqLyo7MjU4PTAuOCcpLCgnN2UtMTM4JywgJzI1YicpLCgnN2UtMTQxJywgJzE3Ni0zMDYsMTc2OzI1OD0wLjgnKSwoJzEwYicsICcyNGUtMWQ3JykiCjFmNCA9ICdiMS81LjAgKDE2MSAzMDUgNi4yOyAxZGYpIDZkL2NmLjM2ICgxMDIsIDEzOSBmYSkgZGQvMzkuMC4yMjUuOTkgZTAvY2YuMzYnCjI5NCA9ICc2ZS9hZSwxY2MvMTU1KzEyMywxY2MvMTIzOzI1OD0wLjksMmQ3LzMwOSwqLyo7MjU4PTAuOCcKCjk4ID0gJzM2MS4xMy4zM2EnCjJjID0gYjkuMWZkKDEzYz05OCkKMWI1ID0gMmMuMTI2CjFhID0gMmMuMzExKCcxMGUnKQozNTggPSAyYmQuN2IoIDIyMS4xMGUuMWIyKCAxYSwgJzM1OC4xZWMnICkgKQpjID0gMmJkLjdiKCAyMjEuMTBlLjFiMiggMWEsICdjLjI1NScgKSApCjE2ZSA9IDJiZC43YigyMjEuMTBlLjFiMigxYSwgJzIxNycsICczNTInKSkKMTRjLjEwZS4xMmYoMTZlKQo5ZiAgICA9IDJjLjMxMSgnMzU4JykKCjI4ID0gMmJkLjllKCkKMjguMjNkKCkKMjU0ID0gMmJkLjM3NigyYmQuNTgpCjI1NC5jNigpCjlmICAgID0gMmMuMzExKCczNTgnKQpjMSA9ICAgYjkuMWZkKCkuMzExKCIyODkiKQoKCjFmMiAxOWMoKToKCWM4ID0gJzM1NS4yZDgvMTJhL2YxLmQxLy86OTYnWzo6LTFdCgkyMTM9MTcoYzgpCgkyN2QgPSAzNy5jNSgyN2QnMTU5ID0iMzMyIicsMjEzKQoJNGYgMjdkOgoJCTE2MigpCgk0ZDoKCQkxODYKCQoxZjIgMTA2KCk6CgkJIDE5YygpCgkJIDEwZD1bXQoJCSAxZjM9W10KCQkgMjE1LjI0ZCgxMGQsIDFmMykKCQkgMjE1LjIwNCgpCgkJIDEzYiA9IDJjLjdhKCAiMmYzIiApCgkJIDEyZCA9IDJjLjdhKCAiMzNkIiApCgkJIDEyYyA9IDJjLjdhKCAiMmQzIiApCgkJIDEyYiA9IDJjLjdhKCAiMjhmIiApCgkJIDg4LjEzMSgnWzdkIDJhXTIxNlsvN2RdJywiNWUoKSIsMiwnMzI1Oi8vMTAuMWUvMzdhLzIxMS4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCQkgODguMTMxKCdbN2QgMWIwXTI3MVsvN2RdJywiMTUxKCkiLDMsJzMyNTovLzEwLjFlLzM3YS9iNS4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkJIDg4LjEzMSgnWzdkIDMwMV0yZWYgMjFmWy83ZF0nLCJhMygpIiw0LCczMjU6Ly8xMC4xZS8zN2EvMWYxLjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgMzAxXTE3NSAyMmJbLzdkXScsIjE1OCgpIiwxMDUsJzMyNTovLzEwLjFlLzM3YS8yZGQuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCgkJIDg4LjEzMSgnWzdkIDExM10yMzcgMzJkWy83ZF0nLCJkZigpIiwxLCczMjU6Ly8xMC4xZS8zN2EvMWE5LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgMjRhXTJkNiA1ZVsvN2RdJywiMmU4KCkiLDYyLCczMjU6Ly8xMC4xZS8zN2EvMjE4LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgNmZdMzJhIDM0OS8yMWRbLzdkXScsIjJiMigpIiw3NiwnMzI1Oi8vMTAuMWUvMzdhLzJiMi4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkJIDg4LjEzMSgnWzdkIDI0YV0yZjkgMjc5Wy83ZF0nLCIyOGEoKSIsMjE5LCczMjU6Ly8xMC4xZS8zN2EvMjY1LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgNGYgMTNiID09ICIxZGMiIDNkIDEyZCAhPSAxMmMgM2QgMTJiID09ICIxZGMiOgoJCQkgMTg2CgkJIDRkOgoJCQkgODguMTMxKCdbN2QgMzRdKzE4Wy83ZF0nLCIzNzUoKSIsMTYsJzMyNTovLzEwLjFlLzM3YS8yOGUuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScgKQoJCSAyYmQuMzIoJzgzLjcwKDE5NyknKQpjOCA9ICdmNS4yOTkvMTJhL2YxLmQxLy86OTYnWzo6LTFdCjIxMz04OC4xNyhjOCkKMTY0PTIxMwo0ZiAyYmQuODAoICIxMTQuODEiIClbOjJdID09ICcxNCc6Cgk4OC5iNigpCjRkOgoJMTg2CgoxZWEgMTYyKCk6CgkyMDIgPSAyZjUKCWMzID0gMQoJOWIgPSA1CgkxZjIgMjJmKCA2MywgKjMyMywgKioyYmMgKToKCQkyYmQuMzIoICIxNzAoJWQpIiAlICggNjMuMjAyLCApICkKCQk2My4xMjcgPSAzNjguMmI1KCA2My4yMDIgKQoJCTJiZC4yZmQoIDEwMCApCgkJNjMuZWIoKQoJMWYyIGViKCA2MyApOgoJCWI0LCA2ZSA9IDYzLjViKCkKCQk2My4xMjcuZmYoIDYzLmMzICkuMjQxKCAiJTExZiAtICUxMWYiICUgKCBiNCwgOTggKyItIDI1OToiK2MxKSApCgkJNjMuMTI3LmZmKCA2My45YiApLjI3YiggNmUgKQoJMWYyIDViKCA2MyApOgoJCWY1ID0gMjkxKDE2NCkKCQk5ZCAiMmE2ICIsZjUKIzIKMWYyIDVlKCk6CgkJODguMTMxKCdbN2QgNmZdISA1ZSAxICogMTQ4ICogIVsvN2RdJywiOGQoKSIsNSwnMzI1Oi8vMTAuMWUvMzdhLzhkLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCQk4OC4xMzEoJ1s3ZCA2Zl0hIDVlIDIgKiAxNDggKiAhWy83ZF0nLCJhYSgpIiw2LCczMjU6Ly8xMC4xZS8zN2EvYWEuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFjXTVlIDNbLzdkXScsIjhjKCkiLDcsJzMyNTovLzEwLjFlLzM3YS84Yy4xZWMnLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IiApCgkJMmJkLjMyKCc4My43MCgxOTcpJykKIzMKMWYyIDE1MSgpOgoJODguMTMxKCdbN2QgM2ZdMTUxIDEgKiAyOTUgMjdlICpbLzdkXScsIjEwMygpIiw4LCczMjU6Ly8xMC4xZS8zN2EvMTAzLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCTg4LjEzMSgnWzdkIDZmXTE1MSAyICMjIDI5NSAjI1svN2RdJywiMTBmKCkiLDksJzMyNTovLzEwLjFlLzM3YS8xMGYuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJMmJkLjMyKCc4My43MCgxOTcpJykKIzQKMWYyIGEzKCk6CgkJODguMTMxKCdbN2QgMWNdMTA4IDIyMCAxWy83ZF0nLCIxMTkoKSIsMTEsJzMyNTovLzEwLjFlLzM3YS8yMzAuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFiMF0xMDggMjIwIDIqIDE0OCAqWy83ZF0nLCIxMWEoKSIsMTIsJzMyNTovLzEwLjFlLzM3YS8yMzEuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFjXTEwOCAyMjAgM1svN2RdJywiMTFiKCkiLDE4LCczMjU6Ly8xMC4xZS8zN2EvMjMyLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCQk4OC4xMzEoJ1s3ZCAzZl0qIDEwOCAyMjAgNCAqIDE0OCAqWy83ZF0nLCIxMWMoKSIsMjcsJzMyNTovLzEwLjFlLzM3YS8yMmUuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTJiZC4zMignODMuNzAoMTk3KScpCgojLS0jCjFmMiAxNyhjOCk6CgkJN2YgPSA0ZS5iMihjOCkKCQk3Zi43OSgnZmItMmYxJywgJ2IxLzUuMCAoMmMwOyAxMGEgMWJhOyAyOGIpIDZkL2NmLjExICgxMDIsIDEzOSBmYSkgZGQvMjMuMC4yNTAuNjQgZTAvY2YuMTEnKSwoJzdlJywgJzZlL2FlLDFjYy8xNTUrMTIzLDFjYy8xMjM7MjU4PTAuOSwqLyo7MjU4PTAuOCcpLCgnN2UtMTM4JywgJzI1YicpLCgnN2UtMTQxJywgJzE3Ni0zMDYsMTc2OzI1OD0wLjgnKSwoJzEwYicsICcyNGUtMWQ3JykKCQkyYTggPSA0ZS5hZCg3ZikKCQkyMTM9MmE4LjEzYSgpCgkJMmE4LmY3KCkKCQk5ZCAyMTMKCiM4CjFmMiAxMDMoKToKCWM4PSczMjU6Ly8zMy4xMzQuMjkwLycjWzo6LTFdCgk4OC4xMzEoJ1s3ZCAzNF0+Pj5bLzdkXSBbN2QgM2ZdOGIvMjFkWy83ZF0nLGM4LDE0LCczMjU6Ly8xMC4xZS8zN2EvNWQuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgMzAxXTFmYiA3MyBiNSBbLzdkXScsYzgsMTksIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCI1NyIsIHsiMTNjIjogIjIzZi1kYy0xNzEifSkKCTI1ZT0yNmUoMjkxKDJlNSkpCgkxZiA1NyAyYmUgMjVlLjFkKCc1NycpOgoJCWE9NTcuMmQoJ2EnKQoJCWM4PSBhWyczMjgnXQoJCTFlMT01Ny42ZQoJCTFlMT1mNC4yMmEoMWUxKQoJCTFlMT0xZTEuMzUoJzIyZCcpCgkJMjFiPSIiCgkJNGYgIjkzIGI1IiAyYmUgMWUxOgoJCQkxODYKCQk0ZDoKCQkJODguMTMxKCdbN2QgMWNdPicrMWUxKydbLzdkXScsYzgsMTksJycsJycpCiMxNAoxZjIgOGIoKToKCQkxZTI9Jy9mMS4xNjcuMzMvLzo5NidbOjotMV0KCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQljOCA9ICgxZTIrJy8/MTFmPScrMzMzKQoJCQk5MyhjOCkKIzI3CjFmMiAxMWMoKToKCWM4PSdmNS4zNGIvMjY4LzMwZS4yNjYvLzo5NidbOjotMV0KCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwyOWI+KC4qPyktLSguKj8pPC8yOWI+XGFmLio/PDIxMz4oLio/KVw/Lio/PC8yMTM+JykuYzUoMjEzKQoJMWYgMWUxLDM3NyxkMyAyYmUgMjRiOgoJCTg4LjEzMSgnWzdkIDFjXVs3ZCAxMTNdPj5bLzdkXSAgJysxZTErJ1svN2RdJyxkMyw5MSwzNzcsMzc3KQoJMjlhPTM3LjJiNygnPDI5Yj4oLio/KS0tKC4qPyk8LzI5Yj5cYWYuKj88MjEzPjMyNTovLzI2MiguKj8pPC8yMTM+JykuYzUoMjEzKQoJMWYgMWUxLDM3NyxkMyAyYmUgMjlhOgoJCWQzPSczMjU6Ly8yNjInK2QzCgkJODguMTMxKCdbN2QgMWNdWzdkIDNmXT4+Wy83ZF0gICcrMWUxKydbLzdkXScsZDMsMTE2LDM3NywzNzcpCiM5MQoxZjIgMTlmKDFlMSxjOCk6CgkyOCA9IDJiZC45ZSgpCgkyOC4yM2QoKQoJM2UgNzcgMjFlIDc3IzJkMAoJMzYzPSczNTM9MzZmPzJhMi4yZjQvZjEuMjk2LjMzLy86OTYnWzo6LTFdCgkyMTM9MTcoMzYzKQoJMjRiPTM3LjJiNygnMjI4PSIuKj9cP2U0XD0oLio/KSI+JykuYzUoMjEzKQoJMWYgY2QgMmJlIDI0YjoKCQkyZWMgIjIwZSIKCWM4PWM4Kyc/ZTQ9JytjZCMrMWJlCgk4OC5kMCgxZTEsYzgpCiMxOQoxZjIgOTMoYzgpOgoJMjEzPTE3KGM4KQoJMmFlID0gMjZlKDIxMykKCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMjcyLTFiYyJ9LDNhPTMxMCkKCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxZWEiOiAiMTM1LTIxMCJ9KQoJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgnMzc3JylbJzIyOCddLjM1KCczNmUtOCcsICczYicpCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIwLDIxYiwyMWIpCgkzNjk9MzcuMmI3KCc+Lio/PC8yZj48YSAxZWE9IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgMWFmLDFlMSAyYmUgMzY5OgoJCQk4OC4xMzEoJ1s3ZCAyYV1hMSA+PlsvN2RdJysnWzdkIDM0XScrMWUxKydbLzdkXScsMWFmLDE5LCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiMyMAoxZjIgYWIoYzgsMWUxKToKCTg4LjEzMSgnWzdkIDFjXT4+Wy83ZF0nKydbN2QgNmZdJysnMSAuIDE3OSAnKydbLzdkXScsYzgsMjIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikJCQoJYTU6CgkJMjEzPTE3KGM4KQoJCTJhZSA9IDI2ZSgyMTMpCgkJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIyMDYifSkKCQkyNWU9MjZlKDI5MSgyZTUpKQoJCTUyPTM3LjJiNygnPGEgMzI4PSIoLio/KSI+PDJmIDFlYT1cJ2VhXCc+KC4qPyk8LzJmPicpLmM1KDI5MSgyNWUpKQoJCTFmIGM4LGEyIDJiZSA1MjoKCQkJODguMTMxKCdbN2QgNmZdPj5bLzdkXScrJ1s3ZCAxY10nK2EyKydbLzdkXScsYzgsMjIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikJCQoJCTFiNj0zNy4yYjcoJzxhIDMyOD0iKC4qPykiPjwyZiAxZWE9ImVhIj4oLio/KTwnKS5jNSgyOTEoMjVlKSkKCQkxZiBjOCxhMiAyYmUgMWI2OgoJCQk4OC4xMzEoJ1s3ZCA2Zl0+PlsvN2RdJysnWzdkIDFjXScrYTIrJ1svN2RdJyxjOCwyMiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQkJCgkKCTIyOToKCQkxODYKCiM5CjFmMiAxMGYoKToKCQljOD0nMzI1Oi8vMzMuZDYuMTJlLycKCQk4OC4xMzEoJ1s3ZCAzNF0+Pj4+Pj4+Wy83ZF0gWzdkIDNmXThiLzIxZFsvN2RdJyxjOCwyNSwiMzI1Oi8vMTAuMWUvMzdhLzVkLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCAzMDFdMWZiIDczIGI1IFsvN2RdJyxjOCwyMSwiMzI1Oi8vMTAuMWUvMzdhLzJiLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkzNjM9JzMyNTovLzMzLmQ2LjEyZS8nCgkJMjEzPTE3KDM2MykKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxM2MiOiAiMjhjIn0pCgkJMjVlPTI2ZSgyOTEoMmU1KSkKCQkxZiA1NyAyYmUgMjVlLjFkKCc1NycpOgoJCQlhPTU3LjJkKCdhJykKCQkJYzg9IGFbJzMyOCddCgkJCTFlMT01Ny42ZQoJCQkxZTE9ZjQuMjJhKDFlMSkKCQkJMWUxPTFlMS4zNSgnMjJkJykKCQkJMjFiPSIiCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzZl0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIxLDIxYiwyMWIpCiMyNQoxZjIgMWFhKCk6CgkJMWY1PSdmMS4xYWQuMzMvLzo5NidbOjotMV0KCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQljOCA9ICgxZjUrJy8/MTFmPScrMzMzKQoJCQkxNWIoYzgpCgojMjEKMWYyIDE1YihjOCk6CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIzMTMtMzQ1In0sM2E9MzEwKQoJMmU1ID0gMmU1WzBdLjFkKCIxODUiLCB7IjFlYSI6ICIyNDgifSkKCTFmIDcxIDJiZSA1ZiAoMTk4ICgyZTUpKToKCQkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCQkxZTE9MmU1WzcxXS4yZCgnYScpWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgnMzc3JylbJzIyOCddLjM1KCczNmUtOCcsICczYicpCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDI2LDIxYiwyMWIpCgkzNjk9MzcuMmI3KCdcJ2IzXCc+Lio/PC8uKj89IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgMWFmLDFlMSAyYmUgMzY5OgoJCQk4OC4xMzEoJ1s3ZCAyYV1hMSA+PlsvN2RdJysnWzdkIDM0XScrMWUxKydbLzdkXScsMWFmLDIxLCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiMyNgoxZjIgYTcoYzgsMWUxKToKCQkzNjU9JycKCQkxOGU9MzM1CgkJYzg9YzgrJy8xMScKCQkyMTM9MTcoYzgpCgkJMmFlID0gMjZlKDIxMykKCQkyZTUgPSAyYWUuMWQoIjE4NSIsIHsiMWVhIjogIjEzLTMxZSJ9KQoJCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxM2MiOiAiMzFkIn0pCgkJMjVlPTI2ZSgyOTEoMmU1KSkKCQk1Mj0zNy4yYjcoJzMyOD0iKC4qPykiPjwyZj4uKj88LzJmPicpLmM1KDI5MSgyNWUpKQoJCTFmIGYzIDJiZSA1MjoKCQkJCTRmICI8IiAyYmUgZjM6CgkJCQkJCTE4NgoJCQkJNGQ6CgkJCQkJCTM2NT0zNjUrZjMKCQkJCQkJMzY1PTM2NSsnOjsnCgkJYzg9YzguNGMoJy8xMScsJy8nKQoJCTFkNT1jOCsnOjsnKzM2NQoJCWY2ID0gMzY4LjE3OCgpCgkJMzU3ID0gZjYuMmFhKCcyNmQgMzcwLi4uJykKCQkyNGIgPSAxZDUuMTRkKCc6OycpCgkJMzViIDI0YlstMV0KCQkyMTQgPSAxOTgoMjRiKQoJCWU2ID0gMAoJCThmID0nWzdkIDMwMV0nKycyZjcgMjczIDFmYyAyYTEnKyc9CScrJycgKzI5MShlNikrJ1svN2RdJysnWzdkIDJhXScrJyAvICcrJ1svN2RdJysnWzdkIDJlZV0nKzI5MSgyMTQpKycnKydbLzdkXScrJ1s3ZCAxZjldJysnICAgJysnMWZjIDI3YycrJ1svN2RdJwoJCTI0Nz0nWzdkIDFiMF0nKyczMjU6Ly8xMC4xZScrJ1svN2RdJysnCSAgJysnWzdkIDFjXScrJzE3NSAzMTQnKydbLzdkXScKCQlmNi4yOTcoMCwnWzdkIDM0XScrJzI0MyAxN2YuLi4gMjhkIDIzOScrJ1svN2RdJyw4ZiwyNDcpCgkJNzE9MAoJCTFmIGM4IDJiZSAyNGI6CgkJCQk3MSs9MQoJCQkJYTI9MjkxKDcxKSsnLiAxNzknCgkJCQk4OC4xMzEoJ1s3ZCA2Zl0+PlsvN2RdJysnWzdkIDFjXScrYTIrJ1svN2RdJyxjOCwyMiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQkJCgkJICAKIzUKMWYyIDhkKCk6CgkxM2Y9JzMyNTovLzMzLjE3Yy4yOTAvJwoJODguMTMxKCdbN2QgMzAxXThiLzIxZFsvN2RdJywxM2YsMzgsJzMyNTovLzEwLjFlLzM3YS81ZC4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZmXSoqIDFkMyA4ZSAqKiBbLzdkXScsMzc5JzMyNTovLzMzLjE3Yy4yOTAvMTQ0LzMyMi0yNDAnLDY3LCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCA2YV05MyA3MyA4ZSBbLzdkXScsMTNmLDY3LCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkyMTM9MTcoMTNmKQoJMjRiPTM3LjJiNygnPDU3IDFlYT0iMmM1LWRjIDJjNS1kYy0uKj8iPjxhIDMyOD0iKC4qPykiIDI5Yj0iLio/Ij4oLio/KTwvYT48LzU3PicpLmM1KDIxMykKCTFmIGM4LDFlMSAyYmUgMjRiOgoJCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDNmXScrMWUxKydbLzdkXScsYzgsNjcsIiIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojMzgKMWYyIDM2YSgpOgoJMzc0PSIzMjU6Ly8zMy5iYS4yMGYiCgkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJMWIuNzQoKQoJNGYgMWIuMjkyKCk6CgkJMzMzID0gMWIuNWIoKQoJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJNWEoYzgpCiM2NwoxZjIgNWEoYzgpOgoJMTNlPWM4CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIxMTIifSwzYT0zMTApCgkyNWU9MjZlKDI5MSgyZTUpKQoJMWYgNzEgMmJlIDVmICgxOTgoMmU1KSk6CgkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCTIxYj0yZTVbNzFdLjJkKCczNzcnKVsnMjI4J10KCQkxZTE9MmU1WzcxXS4yZCgnMzc3JylbJ2Y4J10uMzUoJzM2ZS04JywgJzNiJykKCQkxZTE9MWUxLjRjKCcmIzE5YTsnLCcmJykuNGMoJyYjMmNjOycsJycpCgkJODguMTMxKCdbN2QgMWNdWzdkIDM0XT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIwMCwyMWIsMjFiKQoJMzY5PTM3LjJiNygnYjNcJz4uKj88LzJmPjxhIDFlYT0iMzY5IGQyIiAzMjg9IiguKj8pIj4oLio/KTwvYT4nKS5jNSgyMTMpCgkxZiAzNjMsMWUxIDJiZSAzNjk6CgkJMzYzPTM2My40YygnIiBkOS0xYTAtMjEzPSJkNycsJycpCgkJODguMTMxKCdbN2QgMmFdYWMgYTEgPj5bLzdkXScrICdbN2QgMzRdJysxZTErJ1svN2RdJywzNjMsNjcsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKIzIwMAoxZjIgMThhKGM4KToKCTIxMz0xNyhjOCkKCTJhZSA9IDI2ZSgyMTMpCgkyZTU9MmFlLjJkKCIxODUiLCB7IjFlYSI6ICIyMjQifSkKCTI1ZT0yNmUoMjkxKDJlNSkpCgkyOWE9MzcuMmI3KCc8MmY+KC4qPykzNTAgMTwvMmY+JykuYzUoMjkxKDI1ZSkpCgkxZiAxZTEgMmJlIDI5YToKCQkxZTE9IjIzYiAxIgoJCWM4PWM4CgkJODguMTMxKCdbN2QgMWNdWzdkIDM0XT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDI5LCIiLCIiKQoJMjRiPTM3LjJiNygnMzI4PSIoLio/KSI+PDJmPiguKj8pPC8yZj4nKS5jNSgyOTEoMjVlKSkKCTFmIGM4LDFlMSAyYmUgMjRiOgoJCWM4PWM4LjRjKCciIGQ5LTFhMC0yMTM9ImQ3JywnJykKCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsMjksIiIsIiIpCgkyNGI9MzcuMmI3KCc8MWI4PiguKj8pMjc1Lio/PC8xYjg+JykuYzUoMjEzKQoJMWYgMWUxIDJiZSAyNGI6CgkJMWUxPScyNzQnCgkJYzg9YzguNGMoJyIgZDktMWEwLTIxMz0iZDcnLCcnKQoJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzNF0+PlsvN2RdJysxZTErJ1svN2RdJyxjOCwyOSwiIiwiIikKIzQwCjFmMiBlZihjOCk6CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIzMTYiLCB7IjFlYSI6ICIzNWEtMmNlIDJhNyJ9KQoJNTI9MzcuMmI3KCc8LzJmPlxhZlwxOGZcMThmXDE4ZlwxOGZcMThmXGFmXDE4ZlwxOGZcMThmXDE4ZlwxOGYoLio/KTwyZiAxM2M9IjM3MSguKj8pIicpLmM1KDI5MSgyZTUpKQoJMWYgMWUxLDE0YSAyYmUgNTI6CgkJNGYgIjJhMyIgMmJlIDFlMToKCQkJMTg2CgkJNGQ6CgkJCTFjNyhjOCwxZTEsMTRhKQojNgoxZjIgYWEoKToKCWM4PScvZjEuMTUwLjMzLy86OTYnWzo6LTFdCgk4OC4xMzEoJ1s3ZCAzMDFdOGIvMjFkWy83ZF0nLGM4LDQ0LCczMjU6Ly8xMC4xZS8zN2EvNWQuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCAzNF0qKiAxZDMgOGUgKiogWy83ZF0nLCczMjU6Ly8zMy4zYy4yOTAvMTM1LTE0NS0yZjYnLDQzLCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCA2YV05MyA3MyA4ZSBbLzdkXScsYzgsNDMsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCTIxMz0xNyhjOCkKCTJhZSA9IDI2ZSgyMTMpCgkyZTUgPSAyYWUuMWQoIjMxNiIsIHsiMWVhIjogIjM3My0yNWUifSwzYT0zMTApCgkyNWU9MjZlKDI5MSgyZTUpKQoJMWYgNTcgMmJlIDI1ZS4xZCgnNTcnKToKCQlhPTU3LjJkKCdhJykKCQljOD0gYVsnMzI4J10KCQljOD0nMzI1Oi8vMzMuM2MuMjkwJytjOAoJCTFlMT01Ny42ZS4zNSgnMzZlLTgnLCAnM2InKQoJCTFlMT0xZTEuNGMoJyYzMTg7JywiICIpCgkJNGYgIjJmYiIgMmJlIDFlMToKCQkJMTg2CgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDNmXScrMWUxKydbLzdkXScsYzgsNDMsIiIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNDQKMWYyIDE3NCgpOgoJMzc0PSIzMjU6Ly8zMy4zYy4yOTAiCgkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJMWIuNzQoKQoJNGYgMWIuMjkyKCk6CgkJMzMzID0gMWIuNWIoKQoJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJMTgzKGM4KQkJCQkJCQkJCQkJCSAgCiM0MwoxZjIgZTgoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxM2MiOiAiMWFlIn0sM2E9MzEwKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMTM1LTM3ZCAyNDgtMWFlIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCQkJYzg9IjMyNTovLzMzLjNjLjI5MCIrYzgKCQkJCTIxYj0yZTVbNzFdLjJkKCczNzcnKVsnMjI4J10uMzUoJzM2ZS04JywgJzNiJykKCQkJCTIxYj0iMzI1Oi8vMzMuM2MuMjkwIisyMWIKCQkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJMWUxPTFlMS40YygnJiMxOWE7JywnIC0gJykuNGMoJyYjMmNjOycsJyAnKS40YygnJiMyYWY7JywnICcpCgkJCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsNDUsMjFiLDIxYikKCQkxZDA9MzcuMmI3KCcxZWE9IjI4NS0xNTMiIDMyOD0iIzE1My0oLio/KSI+YWM8L2E+JykuYzUoMjEzKQoJCTFmIDM2OSAyYmUgMWQwOgoJCQljOD0nMzI1Oi8vMzMuM2MuMjkwLzJmOC4yYTI/MTUzPTEnCgkJCTI3ZCA9IDc3LjIyMyhjOCwgZDk9eycxM2QnOiAzNjl9KQoJCQkyYWUgPSAyNmUoMjdkLjZlKQoJCQk4OC4xMzEoJ1s3ZCAyYV1hYyBhMSA+PlsvN2RdJysgJ1s3ZCAzNF0nKycnKydbLzdkXScsYzgsNDMsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCiM0NQoxZjIgZjAoYzgpOgoJMTNlPWM4CgkyMTM9MTcoMTNlKQoJMjRiPTM3LjJiNygnPC8yZj5cYWYoLio/KTwyZiAxM2M9IjM3MSguKj8pIiAxZWE9IjE5YiI+PC8yZj4nKS5jNSgyMTMpCgkxZiAxZTEsMTRhIDJiZSAyNGI6CgkJMjdkID0gNzcuMjIzKDEzZSwgZDk9eycxNGEnOiAxNGF9KQoJCTJhZSA9IDI2ZSgyN2QuNmUpCgkJMjRiPTM3LjJiNygnPDJjNCAyMjg9IiguKj8pIicpLmM1KDI5MSgyYWUpKQoJCTFmIDM2MyAyYmUgMjRiOgoJCQk0ZiAiMTRlIiAyYmUgMzYzOgoJCQkJMTg2CgkJCTRkOgoJCQkJMzYzPTM2My40YygnLy8xOGUnLCczMjU6Ly8xOGUnKS40YygnLy8zMy4xNjAuMjkwJywnMzI1Oi8vMzMuMTYwLjI5MCcpCgkJCQk4OC4xMzEoJ1s3ZCBlN10nKzFlMSsnWy83ZF0nLDM2Myw5OSwnJywnJykKCiM3CjFmMiA4YygpOgoJMzc0PSczMjU6Ly8zMy5kZS4xMmUnCgk4OC4xMzEoJ1s3ZCAzMDFdPj5bLzdkXSBbN2QgMzRdPj4gLSA4Yi8yMWQgLTw8IFsvN2RdJywzNzQsNDgsIjMyNTovLzEwLjFlLzM3YS81ZC4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkzNzQ9Mzc0KyIvP2YyPTI2YSIKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZhXTkzIDczIDhlIFsvN2RdJywzNzQsNDcsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCWM4PTM3NAoJMjEzPTE3KGM4KQoJMmFlID0gMjZlKDIxMykKCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMjZiLTJkYiJ9KQoJMjVlPTI2ZSgyOTEoMmU1KSkKCTFmIDU3IDJiZSAyNWUuMWQoJzU3Jyk6CgkJYT01Ny4yZCgnYScpCgkJYzg9IGFbJzMyOCddCgkJMWUxPSA1Ny42ZQoJCTFlMT0xZTEuMzUoJzM2ZS04JywgJzNiJykKCQkxZTE9ZjQuMjJhKDFlMSkKCQk0ZiAxZTE9PSIyMWEgZDQgMmQ5IjNkIDFlMT09IjJlZCIzZCAxZTE9PSIyNTYgMzRhIjNkIDFlMT09ImRhIDE1ZmAxMWYgMmIxIjNkIDFlMT09IjI5ZiIzZCAxZTE9PSIyOWQgMzU5IjNkIDFlMT09IjJiYSIzZCAxZTE9PSIyZDIiM2QgMWUxPT0iMmZmIjNkIDFlMT09IjgyIDEwMCIzZCAxZTE9PSI4MiAyMGQgMzJiIjNkIDFlMT09IjgyIGI3IjNkIDFlMT09IjMwOC4gMjRjIjNkIDFlMT09IjI3OCAyYzMgZDQiM2QgMWUxPT0iMjllIjNkIDFlMT09IjJjZCIzZCAxZTE9PSIyYzkgMmMzIDI2MSIzZCAxZTE9PSIyYzIgMmQ1IjNkIDFlMT09IjM1MSAyZjIiM2QgMWUxPT0iMWQyIjNkIDFlMT09IjIzNiIzZCAxZTE9PSIyYzEiM2QgMWUxPT0iMjljIjNkIDFlMT09IjMwNCAzM2M6IDMwMCAyMGMiM2QgMWUxPT0iMzJlIDMzOSIzZCAxZTE9PSIxZjc6IDgyIDJkYyAyYTAgMWNiIjNkIDFlMT09IjgyIDJlMiIzZCAxZTE9PSI4MiAyMGEiM2QgMWUxPT0iODIgMjg2IjNkIDFlMT09IjgyIDI4OCIzZCAxZTE9PSI4MiAyNDQiM2QgMWUxPT0iODIgMjZmIDI4NyIzZCAxZTE9PSI4MiAyODEgMzBjIjNkIDFlMT09IjM1ZCAyYzMgMzQ3IDMwMyIzZCAxZTE9PSIyZWEiM2QgMWUxPT0iMmU3IDgyIDMzNCIzZCAxZTE9PSIyNmMiM2QgMWUxPT0iMzJmIDMyNCIzZCAxZTE9PSIzMDguIDI0YyIgM2QgMWUxPT0iMjdhIGEwIGQ0IDg2IDFlMyAxNWZgMTFmIDg0IDZjIDFiMSAyMGQgMTY1IGI3IjNkIDFlMT09IjE4OSAxYzUgMTkzIDE5MiAxYTQgMTk0IDFhNSAxZDYgMWIzIDMwZCAxOGIgMTVjIDEzMCAxMzYgYTggMmQ0IGE0IDE4OCAxMzcgMTZmIGUyIDE1ZCAxMzMgMWI3IDcuMCszMWMgMzU2IDE4MSAxNjMgZTMgOWEgMTlkIDE4NCAxYzggMTdlIDFjMiAxNDMgMmM2IDE2ZCAxOGMgMTUyIGEwIGQ0IDg2IDFlMyAxNWZgMTFmIDg0IDZjIDFiMSAyMGQgMTY1IGI3IjoKCQkJMTg2CgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzZl0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDQ3LCcnLCcnKQoJCQkgCiM0NwoxZjIgYTkoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMmRhIn0sM2E9MzEwKQoJCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxZWEiOiAiMTEyIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9ZjQuMjJhKDFlMSkKCQkJMjFiPTJlNVs3MV0uMmQoJzM3NycpWycyMjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9MWUxLjRjKCczNjcnLCcnKS40YygnMzFhJywnJykKCQkJODguMTMxKCdbN2QgM2ZdPj5bN2QgMWNdJysxZTErJ1svN2RdJyxjOCw0OSwyMWIsMjFiKQoJCTM2OT0zNy4yYjcoJ2IzXCc+Lio/PC8yZj48YSAxZWE9IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJCTFmIGM4LDFlMSAyYmUgMzY5OgoJCQkJODguMTMxKCdbN2QgMmFdMmUxID4+Wy83ZF0nKydbN2QgMzRdJysxZTErJ1svN2RdJyxjOCw0NywiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQoJCTFlOT0zNy4yYjcoJzwvYT48YSAzMjg9XCcoLio/KVwnIDFlYT1cJzM2OSAyODBcJz4uKj88L2E+PDJmIDFlYT1cJ2IzXCc+Lio/PC8yZj4nKS5jNSgyMTMpCgkJMWYgYzggMmJlIDFlOToKCQkJCTg4LjEzMSgnWzdkIDM0XTI5OCBhMVsvN2RdJyxjOCw0NywiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNDgKMWYyIDMxMigpOiAKCQkzNzQ9JzMyNTovLzMzLmRlLjEyZScKCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJCTMzMyA9IDFiLjViKCkKCQkJCTMzMz0zMzMuNGMoJyAnLCcrJykKCQkJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJCQlhOShjOCkKCQk4OC4xMzEoJ1s3ZCAzMDFdMzBhIDJlOSAzNTRbLzdkXScsYzgsNDgsIiIsIiIpCiM0OQoxZjIgZWUoYzgsMWUxKToKCQljOD1jOCsnMTUnCgkJOTc9W10KCQkxMjk9W10KCQkyMTM9MTcoYzgpCgkJMmFlID0gMjZlKDIxMykKCQkyZTU9MmFlLjJkKCIxODUiLCB7IjFlYSI6ICIyMjQifSkKCQkyNWU9MjZlKDI5MSgyZTUpKQoJCTI0Yj0zNy4yYjcoJzMyOD0iKC4qPykiPjwyZj4oLio/KTwvMmY+JykuYzUoMjkxKDI1ZSkpCgkJMWYgYzgsMWUxIDJiZSAyNGI6CgkJCTRmICIzMjkiIDJiZSAxZTE6CgkJCQkxODYKCQkJNGQ6CgkJCQk5Ny4xMmYoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScpCgkJCQkxMjkuMTJmKGM4KQoJCWNiID0gMzY4LjE5NSgpCgkJMTczID0gY2IuMmNhKCcyYmYgMWMwLi4uJyw5NykKCQkxZiA3MSAyYmUgNWYoMTk4KDk3KSk6CgkJIDRmIDE3MyA9PSA3MToKCQkgICBjOD0xMjlbNzFdCgkJICAgODguZTUoMWUxLGM4KQoJCSAgIDlkIGM4CgkJIDRkOgoJCQkgMTg2CgoKIzEKMWYyIGRmKCk6CgkzNzQgPSczMjU6Ly8zMy4yYjQuMjYzLycKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZhXTkzIDczIDFjMVsvN2RdJywzNzQsNTAsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCTIxMz0xNygzNzQpCgkyNGI9MzcuMmI3KCcxNDQgMjNmLWRjLS4qPyI+PGEgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgYzgsMWUxIDJiZSAyNGI6CgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzNF0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDUwLCIiLCIiKQojNTAKMWYyIDE3NyhjOCk6CgkJMjEzPTE3KGM4KQoJCTJhZSA9IDI2ZSgyMTMpCgkJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIyNzcifSwzYT0zMTApCgkJMmU1ID0gMmU1WzBdLjFkKCIxODUiLCB7IjFlYSI6ICIxMzUifSkKCQkxZiA3MSAyYmUgNWYgKDE5OCAoMmU1KSk6CgkJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCQkxZTE9MmU1WzcxXS4yZCgnYScpWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJMjFiPTJlNVs3MV0uMmQoJzM3NycpWycyMjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJODguMTMxKCdbN2QgMzM4XScrMWUxKydbLzdkXScsYzgsNTEsMjFiLDIxYikKCQkzNjk9MzcuMmI3KCc8MmYgMTNjPSIyNDkiPjxhIDMyOD0iKC4qPykiJykuYzUoMjEzKQoJCTFmIGM4IDJiZSAzNjk6CgkJCQk4OC4xMzEoJ1s3ZCAyYV1hYyBhMSA+PlsvN2RdJyxjOCw1MCwiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNTEKMWYyIGM0KGM4KToKCTg4LjEzMSgnWzdkIDJhXTIzNCA+PlsvN2RdJyxjOCw0MSwiIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkyMTM9MTcoYzgpCgkyNGI9MzcuMmI3KCcgPGEgMzI4PSIoLio/KSI+PDJmPiguKj8pPC8yZj48L2E+JykuYzUoMjEzKQoJMWYgYzgsMWUxIDJiZSAyNGI6CgkJODguMTMxKCdbN2QgMmFdJysxZTErJ1svN2RdJyxjOCw0MSwiIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiAKMWYyIDFmMCgyZTQpOgoJYTU6CgkJMmU0PTJlNC40YygnXDM1ZScsJyInKS40YygnXDM2MCcsIiciKS40YygnXDM1ZicsJyInKS40YygnLycsIi0iKS40YygnLScsIiIpLjRjKCczN2InLCIgIikuNGMoIiciLCInIikuNGMoJyYjMTlhOycsJyYnKS40YygnJiMyY2M7JywnYCcpLjRjKCcmIzJhZjsnLCdgJykuNGMoJ1wzNGMnLCcuLi4nKS40YygnXDM0OCcsIiciKQoJMjI5OgoJCTE4NgoJOWQgMmU0WzBdLjFjZigpICsgMmU0WzE6XQojMTYKMWYyIDM3NSgpOgoJCWM4PSczMjU6Ly8xNzYuZTEuY2MvMzM2LycKCQk4OC4xMzEoJ1s3ZCAzNF0+PlsvN2RdWzdkIDMwMV0zMTVbLzdkXVs3ZCAzNF0gPDxbLzdkXScsIjE4MCIsNTYsIiIsIiIpCgkJODguMTMxKCdbN2QgMmFdMTQ4IDJlMD4+Wy83ZF0nLGM4LDc4LCIiLCIiKQoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTdiIiwgeyIxZWEiOiAiYmMtMWJjIDI1Ny0yNGYifSkKCQkyZTUgPSAyZTVbMF0uMWQoIjE4NSIsIHsiMWVhIjogIjExZS0zMzEtMyAxMWUtMzJjLTQgMTFlLTMyMC02IGJjLWRjIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCJhIiwgeyIxZWEiOiAiMTQ3LTIxMyJ9KVsnMzI4J10KCQkJMWUxPTJlNVs3MV0uMmQoImEiLCB7IjFlYSI6ICIxNDctMjEzIn0pWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgiMzc3IiwgeyIxZWEiOiAiMTQ3LTMzZSJ9KVsnMjI4J10KCQkJYzg9MWZmK2M4CgkJCTIxYj0xZmYrMjFiCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+PlsvN2RdJysxZTErJ1svN2RdJyxjOCw1MywyMWIsMjFiKQojNzgKMWYyIDEwNChjOCk6CgkJMjEzPTE3KGM4KQoJCTI0Yj0zNy4yYjcoJzMyOD0iKC4qPykiIFxhZgkJCQkJMjliPSIuKj8iPlxhZgkJCQkJCTwyZiAxZWE9Ii4qPyI+Lio/PC8yZj5cYWYJCQkJCQk8MmYgMWVhPSIuKj8iPlxhZgkJCQkJCQk8Mzc3IDIyOD0iKC4qPykiIGY4PSIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzgsMjFiLDFlMSAyYmUgMjRiOgoJCQljOD0xZmYrYzgKCQkJMjFiPTFmZisyMWIKCQkJODguMTMxKCdbN2QgMWNdWzdkIDJhXT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDU0LDIxYiwyMWIpCgkJMzY5PTM3LjJiNygnPDU3IDFlYT0iMzY5IDFiOSI+PGEgMzI4PSIuKj8iPi4qPzwvYT48LzU3PlxhZjw1NyAxZWE9IjM2OSI+PGEgMzI4PSIoLio/KSI+KC4qPyk8L2E+PC81Nz4nKS5jNSgyMTMpCgkJMWYgYzgsMWUxIDJiZSAzNjk6CgkJCQljOD0xZmYrYzgKCQkJCTg4LjEzMSgnWzdkIDJhXTIzZSAyNDYgPj5bLzdkXScrICdbN2QgMzRdJysxZTErJ1svN2RdJyxjOCw3OCwiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQoKIzUzCjFmMiAyMDcoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTdiIiwgeyIxZWEiOiAiYmMtMWJjIDI1Ny0yNGYifSkKCQkyZTUgPSAyZTVbMF0uMWQoIjE4NSIsIHsiMWVhIjogIjExZS0zMzEtMyAxMWUtMzJjLTQgMTFlLTMyMC02IGJjLWRjIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCJhIiwgeyIxZWEiOiAiMTQ3LTIxMyJ9KVsnMzI4J10KCQkJMWUxPTJlNVs3MV0uMmQoImEiLCB7IjFlYSI6ICIxNDctMjEzIn0pWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9MWUxLjRjKCIxNWUgMmZjIDJiMyIsIiIpCgkJCTIxYj0yZTVbNzFdLjJkKCIzNzciLCB7IjFlYSI6ICIyNTIifSlbJzIyOCddCgkJCTIxYj0xZmYrMjFiCgkJCWM4PTFmZitjOAoJCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMmFdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsNTQsMjFiLDIxYikKCQkzNjk9MzcuMmI3KCc8NTcgMWVhPSIzNjkgMWI5Ij48YSAzMjg9Ii4qPyI+Lio/PC9hPjwvNTc+XGFmPDU3IDFlYT0iMzY5Ij48YSAzMjg9IiguKj8pIj4oLio/KTwvYT48LzU3PicpLmM1KDIxMykKCQkxZiBjOCwxZTEgMmJlIDM2OToKCQkJCWM4PTFmZitjOAoJCQkJODguMTMxKCdbN2QgMmFdMjNlIDI0NiA+PlsvN2RdJysgJ1s3ZCAzNF0nKzFlMSsnWy83ZF0nLGM4LDUzLCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiM1NAoxZjIgYmIoYzgpOgoJCTIxMz0xNyhjOCkJIAoJCTI0Yj0zNy4yYjcoJzM0MCAyZjBcPSAiMzI1OlwvXC8oLio/KS4yYzgiJykuYzUoMjEzKQoJCTFmIGM4IDJiZSAyNGI6CgkJCQljOD0nMzI1Oi8vJytjOCsnLjJjOCcKCQkJCTFlMT0nIDJjZicKCQkJCTg4LjEzMSgnWzdkIDM0XTE1ZSAnKzFlMSsnWy83ZF0nLGM4LDQ0LDE4ZiwxOGYpCgkJMjEzPTE3KGM4KQoJCTI5YT0zNy4yYjcoIjMyNTpcL1wvKC4qPykxZWYoLio/KS4xYmIiKS5jNSgyMTMpCgkJMWYgYzgsMWUxIDJiZSAyOWE6CgkJCQljOD0nMzI1Oi8vJytjOCsnMWVmJysxZTErJy4xYmInCgkJCQk4OC4xMzEoJ1s3ZCAzNF0yM2IgJysxZTErJ1svN2RdJyxjOCw1NSwiIiwiIikKCQkyMTM9MTcoYzgpCgkJNTI9MzcuMmI3KCIzMjU6XC9cLyguKj8pLjFiYiIpLmM1KDIxMykKCQkxZiBjOCAyYmUgNTI6CgkJCQljOD0nMzI1Oi8vJytjOCsnLjFiYicKCQkJCTFlMT0nIDJjZicKCQkJCTg4LjEzMSgnWzdkIDM0XTE1ZScrMWUxKydbLzdkXScsYzgsNTUsIiIsIiIpCQkJICAgCiM1NQoxZjIgYzAoMWUxLGM4KToKCQljOD1jOCsifDI3MD0zMjU6Ly8zMy5lMS4yNjMvMjkzL2ZlL2ZlLjI4Mi0zLjIuOS4zNGQiICAKCQkyOCA9IDJiZC45ZSgpCgkJMjU0ID0gMmJkLjM3NigyYmQuNTgpCgkJMjU0LmM2KCkKCQk4OC43MignODcgZGIgPDwgJywnJywnJykKCQk2MSA9IDM2OC5jZSgxZTEpCgkJMjU0LjIwMyhjOCwgNjEpCgkJMjguYjAoMjU0KQoJCTJhYiA9IDFkMSgyOTEoMmJkLjgwKCIxMTQuODEiKSlbMDo0XSkKCQk0ZiAyYWIgPCAxNC4wOgoJCQkJODguMzcwKCkKCQk0ZDoKCQkJCTg4LmI2KCkKIzU2CjFmMiAxNmMoYzgpOgogIGE1OgoJCTM3NSgpCgkJY2IgPSAzNjguMTk1KCkKCQk3MSA9IGNiLjE4ZShjOCwgIls3ZCAxY10yYWQgMjY3Wy83ZF0sWzdkIDMwMV0xZWQgMTQ5Wy83ZF0gIiwiWzdkIDMwMV0zM2YgMWM2IDFjM1svN2RdIikKICAyMjk6CgkJMTg2CiM2MgoxZjIgMTg3KCk6CgkzNzQ9JzMyNTovLzM3Mi4xMWQvJwoJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgNmZdICEgMzMwIDJmYSAhWy83ZF0nLDM3NCw2NSwiMzI1Oi8vMTAuMWUvMzdhLzJiLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnKQoJMjEzPTE3KDM3NCkKCTI0Yj0zNy4yYjcoJzw1Nz48YSAzMjg9Ii8xOWIoLio/KSI+KC4qPyk8L2E+PC81Nz4nKS5jNSgyMTMpCgkxZiBjOCwxZTEgMmJlIDI0YjoKCQljOD0nMzI1Oi8vMzcyLjExZC8xOWInK2M4CgkJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgNmFdJysxZTErJ1svN2RdJyxjOCw2NSwiIiwnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCQkJCSAgIAojNjUKMWYyIGVkKGM4KToKCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwxODUgMWVhPSIyMjYiPlxhZiA8YSAzMjg9Ii4qPyI+PDM3NyAyMjg9IiguKj8pIiBmOD0iIj48L2E+XGFmIDwvMTg1PlxhZiA8MTg1IDFlYT0iMmFjIj5cYWYgPDM2ND48YSAzMjg9IiguKj8pIj4oLio/KTwvYT4nKS5jNSgyMTMpCgkxZiAyMWIsYzgsMWUxIDJiZSAyNGI6CgkJMjFiPSczMjU6Ly8zNzIuMTFkJysyMWIKCQljOD0nMzI1Oi8vMzcyLjExZCcrYzgKCQk4OC4xMzEoJ1s3ZCAzZl0+Pls3ZCAxY10nKzFlMSsnWy83ZF0nLGM4LDIwMSwyMWIsMjFiKQoJMzY5PTM3LjJiNygnPGIgMWVhPSIxZTYiPjwyZj4uKj88LzJmPjwvYj4gPGEgMWVhPSIyMDkiIDMyOD0iKC4qPykiIDE2OScpLmM1KDIxMykKCTFmIDM2MyAyYmUgMzY5OgoJCWM4PSczMjU6Ly8zNzIuMTFkLycrMzYzCgkJODguMTMxKCdbN2QgMTEzXT4+JysnMzFmIDMwYiAtPiBbLzdkXScsYzgsNjUsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKIzIwMQoxZjIgMWRiKGM4KToKCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzIyOD0iMzI1Oi8vMzcyLjExZC8xZWIvKC4qPykuMWVjIiA4YT0iLio/IiA5Yz0iLio/Ij48LzMxOT48L2I+PC8yY2I+PDM2Nj48MTg1IDFlYT0iLio/Ij5cYWYgPDJkZiAxNjk9Ii4qPyIgMmRlPSIuKj8iIDMyMT0iYi4qPyI+XGFmIDwxODUgMWVhPSIuKj8iIDFkZT0iLio/Ij5cYWZcYWY8YSAxYTE9Ii4qPyIgMzI4PSJcYWZcYWYoLio/KVxhZlxhZiI+JykuYzUoMjEzKQoJMWYgMWUxLGM4IDJiZSAyNGI6CgkJODguMTMxKCdbN2QgZTddJysxZTErJ1svN2RdJyxjOCw5OSwnJywnJykKCiM2NgoxZjIgYzIoYzgpOgoJCTIxMz0xNyhjOCkKCQkxYTI9MzcuMmI3KCc8Mzc3IDFkZT0iMmE1OjA7MjdmOjA7MWFiOjA7IiAyMjg9IiguKj8pIicpLmM1KDIxMykKCQkxZiAyMWIgMmJlIDFhMjoKCQkJODguMTMxKCIzMTcgLSAyODMiLGM4LDk5LCczMjU6Ly8zMy4xZTQtMTY4LjI5MCcrMjFiLCczMjU6Ly8zMy4xZTQtMTY4LjI5MCcrMjFiKSAgIAoJCTI5YT0zNy4yYjcoJzMyNVw6XC9cLyguKj8pLjMyNlwvKC4qPykuYWUnKS5jNSgyMTMpCgkJMWYgMWUxLGM4IDJiZSAyOWE6CgkJCWM4PSczMjU6Ly8xYzkuMzI2LycrYzgrJy5hZScKCQkJODguMTMxKCcyMzQgLSA+ICcrMWUxLGM4LDk5LCIiLCIiKQoKIzc2CjFmMiAyYjIoKToKCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQkzMzM9MzMzLjRjKCcgJywnKycpCgkJCTMzMz04OC4yNTEoMzMzKQoJCWE1OgoJCQkzNzQ9JzMyNTovLzMzLmJhLjIwZicKCQkJODguMTMxKCdbN2QgMWNdMzZkWzdkIDM0XTE5NiAxWzdkIDFjXTM2ZFsvN2RdJywzNzQsJycsIjMyNTovLzEwLjFlLzM3YS84ZC4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCQkJMzc0PSczMjU6Ly8zMy5iYS4yMGYnCgkJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJCTVhKGM4KQoJCTIyOToKCQkJMmJkLjMyKCc4NSgiWzdkIDE1NF0xNGJbN2QgMTU0XTIxY1svN2RdIiwiWzdkIDMwMV01ZSAxIDE0ZlsvN2RdIiknKSAKCQlhNToKCQkJMzc0PSczMjU6Ly8zMy5kZS4xMmUnCgkJCTg4LjEzMSgnWzdkIDFjXTM2ZFs3ZCAzNF0xOTYgM1s3ZCAxY10zNmRbLzdkXScsMzc0LDQ4LCIzMjU6Ly8xMC4xZS8zN2EvOGMuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkJCTM3ND0nMzI1Oi8vMzMuZGUuMTJlJwoJCQljOCA9ICgzNzQrJy8/MTFmPScrMzMzKQoJCQlhOShjOCkKCQkyMjk6CgkJCTJiZC4zMignODUoIls3ZCAxNTRdMTRiWzdkIDM0XTIxY1svN2RdIiwiWzdkIDMwMV01ZSAzIDE0ZlsvN2RdIiknKQoKCgojMTEKMWYyIDExOSgpOgoJMjI3PSczMjU6Ly9mYy03MS4xZTUuMjkwL2ZjLzE5ZS8yNDUuMTQ2JwoJODguNzIoJ1s3ZCAxY10gPj4gMzRlIDIxY1svN2RdJywyMjcsJycpCgkyM2E9JzMyNTovLzMzLjRhLjI5MC8nCgkyMTM9MTcoMjNhKQoJMjRiPTM3LjJiNygnPGEgMzI4PSIoLio/KSI+PDM3NyAxMTc9IjE5MToxNTYiIDIyOD0iKC4qPykiIDljPSIxOTAiIDhhPSIxMjAiJykuYzUoMjEzKQoJMWYgYzgsMjFiIDJiZSAyNGI6CgkJMWUxPWM4LjRjKCcyMTInLCcnKS40YygnLScsJyAnKS40YygnLycsJycpLjRjKCcxMTAnLCcnKS40YygnMTQ1JywnJykuNGMoJzE1NycsJycpCgkJYzg9JzMyNTovLzMzLjRhLjI5MCcrYzgKCQk4OC4xMzEoJ1s3ZCAzZl0+IC0gJysxZTErJ1svN2RdJyxjOCwxMDcsMjFiLCcnKQoJMWRhPSczMjU6Ly8zMy40YS4yOTAvPzM2OT0xJwoJMjEzPTE3KDFkYSkKCTI0Yj0zNy4yYjcoJzxhIDMyOD0iKC4qPykiPjwzNzcgMTE3PSIxOTE6MTU2IiAyMjg9IiguKj8pIiA5Yz0iMTkwIiA4YT0iMTIwIicpLmM1KDIxMykKCTFmIGM4LDIxYiAyYmUgMjRiOgoJCTFlMT1jOC40YygnMjEyJywnJykuNGMoJy0nLCcgJykuNGMoJy8nLCcnKS40YygnMTEwJywnJykuNGMoJzE0NScsJycpLjRjKCcxNTcnLCcnKQoJCWM4PSczMjU6Ly8zMy40YS4yOTAnK2M4CgkJODguMTMxKCdbN2QgM2ZdPiAtICcrMWUxKydbLzdkXScsYzgsMTA3LDIxYiwnJykKCTFkND0nMzI1Oi8vMzMuNGEuMjkwLz8zNjk9MicKCTIxMz0xNygxZDQpCgkyNGI9MzcuMmI3KCc8YSAzMjg9IiguKj8pIj48Mzc3IDExNz0iMTkxOjE1NiIgMjI4PSIoLio/KSIgOWM9IjE5MCIgOGE9IjEyMCInKS5jNSgyMTMpCgkxZiBjOCwyMWIgMmJlIDI0YjoKCQkxZTE9YzguNGMoJzIxMicsJycpLjRjKCctJywnICcpLjRjKCcvJywnJykuNGMoJzExMCcsJycpLjRjKCcxNDUnLCcnKS40YygnMTU3JywnJykKCQljOD0nMzI1Oi8vMzMuNGEuMjkwJytjOAoJCTg4LjEzMSgnWzdkIDNmXT4gLSAnKzFlMSsnWy83ZF0nLGM4LDEwNywyMWIsJycpIAojMTAwCjFmMiAyMzgoMWUxLGM4KToKCWE1OgoJCTdmID0gNGUuYjIoYzgpCgkJN2YuNzkoImZiLTIwNSIsIjFiZC8xLjYuMCAoMTBhOyAzNjI7IDE2YSA0LjIuMjsgMjNjIDFjZS8xZTApIGJlLzI1YS0xLjE7IDFmNiAyMmMvMmI5LzQuMi4iKQoJCTJhOCA9IDRlLmFkKDdmKQoJCTIxMz0yYTguMTNhKCkKCQkyYTguZjcoKQoJCTI0YiA9IDM3LjJiNygnMjMzOiIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzggMmJlIDI0YjoKCQkJNGYgYzg6CgkJCQljOD1jOCsxYmUKCQkJCTI4LmIwKGM4KQoJCQk4OC4xMzEoJ1s3ZCAzNF04NyBkYiA8PCBbLzdkXScsJycsMTEsJzMyNTovLzFlYy00LjZiLjI5MC9jNy9jOS9mOS8xZDkvMTI4LzY5LjFlYycpCgkJMjlhPSAzNy4yYjcoIjIzMzogXCczMjUoLio/KTE0NlwuJyIpLmM1KDIxMykKCQkxZiBjOCAyYmUgMjlhOgoJCQk0ZiBjODoKCQkJCWM4PSczMjUnK2M4KycxNDYnKzFiZQoJCQkJMjguYjAoYzgpCgkJCTg4LjEzMSgnWzdkIDM0XTg3IGRiIDw8IFsvN2RdJywnJywxMSwnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCQk1Mj0gMzcuMmI3KCcyNjQ9ICIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzggMmJlIDUyOgoJCQk0ZiBjODoKCQkJCWM4PWM4KzFiZQoJCQkJMjguYjAoYzgpCgkJCTg4LjEzMSgnWzdkIDM0XTg3IGRiIDw8IFsvN2RdJywnJywxMSwnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCTIyOToKCQkyYzcoJ1s3ZCAxY10xNGJbLzdkXVs3ZCAzNF0yMWNbLzdkXScsJ1s3ZCAzNF0zNDMgMjYwIDJlNiEhIVsvN2RdJykKCQk4OC4xMzEoJ1s3ZCAzNF04NyBkYiA8PCBbLzdkXScsJycsMTEsJzMyNTovLzFlYy00LjZiLjI5MC9jNy9jOS9mOS8xZDkvMTI4LzY5LjFlYycpIAojMTIKMWYyIDExYSgpOgojIwkxZmE9JzMyNTovLzEwLjFlLzE3YS8yLjIuZjUnCiMjCTIxMz0xNygxZmEpCiMjCTI0Yj0zNy4yYjcoJ2NhOi8vMWFjLjMwMi8xNzYvMTQyLyguKj8pXGFmJykuYzUoMjEzKQojIwkxZiAxZTEgMmJlIDI0YjoKIyMJCWM4PSdjYTovLzFhYy4zMDIvMTc2LzE0Mi8nKzFlMQojIwkJMWUxPTFlMS40YygnJTIwJywnICAnKQojIwkJODguMTMxKCdbN2QgMWNdPiAtICcrMWUxKydbLzdkXScsYzgsMTAxLCcnLCcnKQoJMzYzPSczMjU6Ly8zMy45Mi4xMWQvMTQ1LzMzYi0yNjMuYWUnCgk3ZiA9IDRlLmIyKDM2MykKCTdmLjc5KCJmYi0yMDUiLCIxYmQvMS42LjAgKDEwYTsgMzYyOyAxNmEgNC4yLjI7IDIzYyAxY2UvMWUwKSBiZS8yNWEtMS4xOyAxZjYgMjJjLzJiOS80LjIuIikKCTJhOCA9IDRlLmFkKDdmKQoJMjEzPTJhOC4xM2EoKQoJMmE4LmY3KCkKCTI0Yj0zNy4yYjcoJzxhIDMyOD0iMzI1Oi8vMWE3LjkyLjExZC8xNDUvKC4qPykiIDI5Yj0iLio/Ij48Mzc3IDFlYT0iLio/IiBkOS0yMjg9IiguKj8pIiA5Yz0iMTAwIiA4YT0iNzUiJykuYzUoMjEzKQoJMWYgYzgsMjFiIDJiZSAyNGI6CgkJMWUxPWM4CgkJMWUxPTFlMS40YygnLmFlJywnJykuNGMoJy0nLCcgJykuNGMoJzExMCcsJycpLjRjKCcxNDUnLCcnKQoJCTFlMT1mNC4yMmEoMWUxKQoJCWM4PSczMjU6Ly8xYTcuOTIuMTFkLzE0NS8nK2M4CgkJODguMTMxKCdbN2QgNmZdPiAtICcrMWUxKydbLzdkXScsYzgsMTAwLDIxYiwnJykKCQkKIzEwMQoxZjIgMjM1KGM4KToKCWM4PWM4LjRjKCdjYScsJzMyNScpCgk3ZiA9IDRlLmIyKGM4KQoJN2YuNzkoImZiLTIwNSIsImIxLzUuMCAoMTYxIDMwNSA2LjI7IDFkZikgNmQvY2YuMzYgKDEwMiwgMTM5IGZhKSBkZC8zOS4wLjIyNS45OSBlMC9jZi4zNiIpCgkyYTggPSA0ZS5hZCg3ZikKCTIxMz0yYTguMTNhKCkKCTJhOC5mNygpCgkyNGI9MzcuMmI3KCcyMjg9Y2E6Ly8xMjEoLio/KVxhZicpLmM1KDIxMykKCTFmIGM4IDJiZSAyNGI6CgkJNGYgYzg6CgkJCWM4PSdjYTovLzEyMScrYzgrMWJlCgkJCTg4LmQwKDFlMSxjOCkKCiMxOAoxZjIgMTFiKCk6CgljOD0nZjUuMzI3L2IvZjEuZDEvLzo5NidbOjotMV0KCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwxZTE+KC4qPylcYWY8MjFiPiguKj8pXGFmPDIxMz4oLio/KVxhZicpLmM1KDIxMykJICAgCgkxZiAxZTEsYjgsYzggMmJlIDI0YjoKCQkxZTE9ZjQuMjJhKDFlMSkKCQk0ZiAiMzRmLTI2MyIgMmJlIDFlMToKCQkJYzg9JzMyNTovL2ZjLTcxLjFlNS4yOTAvZmMvMTllLzI0NS4xNDYnCgkJCTg4LjcyKCdbN2QgMmFdID4+Wy83ZF0nKyAnWzdkIDFjXScrMWUxKydbLzdkXScsYzgsJycpCgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDJhXSA+PlsvN2RdJysgJ1s3ZCAxY10nKzFlMSsnWy83ZF0nLGM4LDEwMCxiOCxiOCkKCQkJICAgCgojMTk5CjFmMiAxMjUoMWUxLGM4KToKCQk0ZiAiMjUzLiIgMmJlIGM4OgoJCQk4OC5iZihjOCkKCQkxYTYgIjM2Yy4iMmJlIGM4OgoJCQkxZGQoMWUxLGM4KQoJCTFhNiAiMThlLiIgMmJlIGM4OgoJCQk4OC4xZDgoYzgpCgkJMWE2ICIzNDYuIjJiZSAgYzg6CgkJCTFkZCgxZTEsYzgpCgkJNGQ6CgkJCTI4ID0gMmJkLjllKCkgCgkJCTI1NCA9IDJiZC4zNzYoMmJkLjU4KSAKCQkJMjU0LmM2KCkgCgkJCTg4LjcyKDFlMSxjOCwnJykKCQkJNjEgPSAzNjguY2UoMWUxKSAKCQkJMjU0LjIwMyhjOCwgNjEpIAoJCQkyOC5iMCgyNTQpCiAKICAKCiMxMDUKMWYyIDE1OCgpOgoJYzg9IjMyNTovLzEwLjFlLzE3YS8zNDIuZjUiCgkyMTM9MTcoYzgpCgkyNGI9MzcuMmI3KCc8YSAzMjg9IiguKj8pIiAxYTE9Ii4qPyI+PDM3NyBmOD0iKC4qPykiIDFhYj0iLio/IiA5Yz0iLio/IiA4YT0iLio/IiAyMjg9IiguKj8pIiAyOWI9Ii4qPyInKS5jNSgyMTMpCgkxZiBjOCwxZTEsMjFiIDJiZSAyNGI6CgkJODguMTMxKCdbN2QgMWNdPj4nKzFlMSsnWy83ZF0nLGM4LDEwNywyMWIsMjFiKQoKCgkJCjFmMiAyYzcoYjQ9JzMwNycsIDE3MiA9ICcnLCAxZjggPSAyNWYsIDI1ZCA9IDlmKToKCQlhNTogMmJkLjMyKCczMzcuODUoIiUxMWYiLCAiJTExZiIsICUxMWYsICIlMTFmIiknICUgKGI0LCAxNzIsIDFmOCwgMjVkKSkKCQkyMjkgMWZlLCBlOgoJCQkyYmQuMzQxKCAnWyUxMWZdOiAyYzc6IDMxYiAyYjAgWyUxMWZdJyAlICg5OCwgZSksIDIgKQoKIzExNgoxZjIgMTE1KDFlMSxjOCk6CgkyOCA9IDJiZC45ZSgpCgkyNTQgPSAyYmQuMzc2KDJiZC41OCkKCTI1NC5jNigpCgk4OC43MignWzdkIDJhXScrJzg3IGRiIDw8JysnIFsvN2RdJywnJywnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCTYxID0gMzY4LmNlKDFlMSkKCTI1NC4yMDMoYzgsIDYxKQoJMjguYjAoMjU0KQoJMmFiID0gMWQxKDI5MSgyYmQuODAoIjExNC44MSIpKVswOjRdKQoJNGYgMmFiIDwgMTQuMDoKCQkJODguMzcwKCkKCTRkOgoJCQk4OC5iNigpCiM5OQoxZjIgMWRkKDFlMSxjOCk6Cgk0ZiAiMzMuMWNhLjI5MCIgMmJlIGM4OgoJCTg4LjIwOCgxZTEsYzgpCgkxYTYgIjI1My4iIDJiZSBjODoKCQk4OC5iZihjOCkKCTFhNiAiMThlLiIgMmJlIGM4OgoJCTg4LjFkOChjOCkKCTRkOgoJCTM3OCA9IGM4CgkJMjU0LmM2KCkKCQkxNGUgPSBlYy4xNWEoMzc4KQoJCTExOCA9IDE0ZQoJCTRmIDExODoKCQkJCWM4ID0gMTE4LjI3NigpCgkJCQk4OC43MigxZTEsYzgsJycpCgkJCQk4OC4xOGQoMjU0LDFlMSxjOCkKCQkJCTI4LmIwKDI1NCkKCjFmMiAxMGMoKToKCQlmZD1bXQoJCWU5PTE0Yy4xYThbMl0KCQk0ZiAxOTgoZTkpPj0yOgoJCQkJNGI9MTRjLjFhOFsyXQoJCQkJYmQ9NGIuNGMoJz8nLCcnKQoJCQkJNGYgKDRiWzE5OCg0YiktMV09PScvJyk6CgkJCQkJCTRiPTRiWzA6MTk4KDRiKS0yXQoJCQkJN2M9YmQuMTRkKCcmJykKCQkJCWZkPXt9CgkJCQkxZiA3MSAyYmUgNWYoMTk4KDdjKSk6CgkJCQkJCTVjPXt9CgkJCQkJCTVjPTdjWzcxXS4xNGQoJz0nKQoJCQkJCQk0ZiAoMTk4KDVjKSk9PTI6CgkJCQkJCQkJZmRbNWNbMF1dPTVjWzFdCgkJOWQgZmQKNGI9MTBjKCkKYzg9MzEwCjFlMT0zMTAKMmI2PTMxMAphNToKCQljOD0xMjIuZDgoNGJbImM4Il0pCjIyOToKCQkxODYKYTU6CgkJMWUxPTEyMi5kOCg0YlsiMWUxIl0pCjIyOToKCQkxODYKYTU6CgkJMmI2PTJhOSg0YlsiMmI2Il0pCjIyOToKCQkxODYKCjRmIDJiNj09MzEwIDNkIGM4PT0zMTAgM2QgMTk4KGM4KTwxOgoKCTEwNigpCjFhNiAyYjY9PTE6IGRmKCkJCQoxYTYgMmI2PT0yOiA1ZSgpCjFhNiAyYjY9PTM6IDE1MSgpCjFhNiAyYjY9PTQ6IGEzKCkKMWE2IDJiNj09NTogOGQoKQoxYTYgMmI2PT02OiBhYSgpCjFhNiAyYjY9PTc6IDhjKCkKMWE2IDJiNj09ODogMTAzKCkKMWE2IDJiNj09OTogMTBmKCkKMWE2IDJiNj09MTE6IDExOSgpCjFhNiAyYjY9PTEyOiAxMWEoKQoxYTYgMmI2PT0xNDogOGIoKQoxYTYgMmI2PT0xNTogMWM0KCkKMWE2IDJiNj09MTY6IDM3NSgpCjFhNiAyYjY9PTE4OiAxMWIoKQoxYTYgMmI2PT0xOTogOTMoYzgpCjFhNiAyYjY9PTIwOiBhYihjOCwxZTEpCjFhNiAyYjY9PTIxOiAxNWIoYzgpCjFhNiAyYjY9PTIyOiA4OC4yZTMoYzgpCjFhNiAyYjY9PTI0OiA4OC4xZWUoYzgpCjFhNiAyYjY9PTI1OiAxYWEoKQoxYTYgMmI2PT0yNjogYTcoYzgsMWUxKQoxYTYgMmI2PT0yNzogMTFjKCkKMWE2IDJiNj09Mjk6IDg4LjFjZChjOCkKMWE2IDJiNj09MzA6IDFlNygpCjFhNiAyYjY9PTMxOiAyZWIoYzgpCjFhNiAyYjY9PTM4OiAzNmEoKQoxYTYgMmI2PT00MDogZWYoYzgpCjFhNiAyYjY9PTQxOiA4OC5lNSgxZTEsYzgpCjFhNiAyYjY9PTQyOiA4OC5kMCgxZTEsYzgpCjFhNiAyYjY9PTQzOiBlOChjOCkKMWE2IDJiNj09NDQ6IDE3NCgpCjFhNiAyYjY9PTQ1OiBmMChjOCkKMWE2IDJiNj09NDY6IDFiZigpCjFhNiAyYjY9PTQ3OiBhOShjOCkKMWE2IDJiNj09NDg6IDMxMigpCjFhNiAyYjY9PTQ5OiBlZShjOCwxZTEpCjFhNiAyYjY9PTUwOiAxNzcoYzgpCjFhNiAyYjY9PTUxOiBjNChjOCkKMWE2IDJiNj09NTM6IDIwNyhjOCkKMWE2IDJiNj09NTQ6IGJiKGM4KQoxYTYgMmI2PT01NTogYzAoMWUxLGM4KQoxYTYgMmI2PT01NjogMTZjKGM4KQoxYTYgMmI2PT01OTogMTY2KDFlMSxjOCkKMWE2IDJiNj09NjA6IDI0MihjOCkKMWE2IDJiNj09NjI6IDE4NygpCjFhNiAyYjY9PTY1OiBlZChjOCkKMWE2IDJiNj09NjY6IGMyKGM4KQoxYTYgMmI2PT02NzogNWEoYzgpCjFhNiAyYjY9PTc2OiAyYjIoKQoxYTYgMmI2PT03ODogMTA0KGM4KQoxYTYgMmI2PT04OTogMjVjKGM4KQoxYTYgMmI2PT05MDogMTExKGM4KQoxYTYgMmI2PT05MTogMTlmKDFlMSxjOCkKMWE2IDJiNj09OTQ6IDE3ZChjOCkKMWE2IDJiNj09OTU6IDEzMigxZTEsYzgpCjFhNiAyYjY9PTk5OiAxZGQoMWUxLGM4KQoxYTYgMmI2PT0xMDA6IDIzOCgxZTEsYzgpCjFhNiAyYjY9PTEwMTogMjM1KGM4KQoxYTYgMmI2PT0xMDU6IDE1OCgpCjFhNiAyYjY9PTEwNzogODguMjIyKGM4KQoxYTYgMmI2PT0yNWY6IDI2OShjOCkKMWE2IDJiNj09MTE2OiAxMTUoMWUxLGM4KQoxYTYgMmI2PT0xNDA6IDI4NCgpCjFhNiAyYjY9PTE5OTogMTI1KDFlMSxjOCkKMWE2IDJiNj09MjAwOiAxOGEoYzgpCjFhNiAyYjY9PTIwMTogMWRiKGM4KQoxYTYgMmI2PT0yMTk6IDJjLjFhMygpCgoxMDkuMTZiKDJhOSgxNGMuMWE4WzFdKSk=")))(lambda a,b:b[int("0x"+a.group(1),16)],"0|1|2|3|4|5|6|7|8|9|a|b|fanart|d|e|f|dreamtr|11|12|video|14|15|16|get_url|18|19|home|keyboard|beige|findAll|club|for|20|21|22|23|24|25|26|27|xbmcPlayer|29|blue|yenieklenenler|__settings__|find|sonrakisayfa|span|30|31|executebuiltin|www|red|encode|36|re|38|39|smartQuotesTo|ignore|baglanfilmiizle|or|import|orange|40|41|42|43|44|45|46|47|48|49|onlinetvler|params|replace|else|urllib2|if|50|51|match2|53|54|55|56|li|PLAYLIST_VIDEO|59|sinemaRecent12|getText|splitparams|aramasearch|Sinema|range|60|listitem|62|self|64|65|66|67|Keyboard|edit_undo|lightblue|findicons|WhoFringeGothamLostThe|AppleWebKit|text|gold|SetViewMode|i|addLink|Eklenen|doModal|75|76|requests|78|add_header|getSetting|translatePath|pairsofparams|COLOR|Accept|req|getInfoLabel|BuildVersion|The|Container|DemonsDexterDoctor|Notification|StoryArrowBreaking|RETURN|xbmctools|89|height|Arama|Sinema3|Sinema1|Filmler|remaining_display|90|91|canlitvlive|Yeni|94|95|ptth|listeler|addon_id|99|FilmlerPolitikPsikolojikRomantik|CONTROL_TEXTBOX|width|return|Player|addon_icon|DizilerAmerican|Sayfa|name2|canliyayin|FilmleriBiyografiCasuslukCizgi|try|False|dizivideolinks2|FilmleriAnimeBelgesellerBilim|Recent3|Sinema2|dizivideolinks|Sonraki|urlopen|html|n|play|Mozilla|Request|current|heading|Diziler|playlist2|Originals|Thumbnail|xbmcaddon|filmiizle|ayrisdirmayet|bc|cleanedparams|Configuration|MailRu_Player|VideoLinksyet|adonversiyonu|Linkleralman1|CONTROL_LABEL|BELayrisdirma|findall|clear|files|url|icons|https|dialog|cc|cd|ListItem|537|yenical4|enisened|larger|url2|Horror|special|canlidizihd5|internal|unquote_plus|data|Da|List|item|Chrome|bicaps|Belgesel|Safari|paradisehill|OnerisiFantastikGenclik|FilmleriMuzikalPolisiye|wmsAuthSign|VIDEOLINKS1|loadedLinks|lightyellow|Yenisinema2|paramstring|safirButton|setControls|urlresolver|Yeni2alman1|videolinks3|ayrisdirma1|ayrisdirma2|moc|am_force_theme_layout|partUrl|fix|txt|pDialog|close|alt|1714|Gecko|User|foxtv|param|flowplayer|getControl|100|101|KHTML|Dizi1|RecentyetA|105|CATEGORIES|107|Canli|xbmcplugin|Linux|Connection|get_params|threadName|path|Dizi2|canli|ulkeleregoresinema5|moviefilm|purple|System|Calcanli6|116|typeof|source|Canli1|Canli2|Canli3|Canli4|co|col|s|120|streaming|urllib|xml|BeautifulStoneSoup|yenical44|getLocalizedString|window|128|urller|golegnahc|gizlilik4|gizlilik3|gizlilik2|net|append|FilmleriAltyazili|addDir|ayrisdirmasinema5|FilmleriGizemHint|hdsonbolumizleyin|film|FilmlerAnimasyon|FilmleriDansDram|Encoding|like|read|gizlilik|id|anasayfa_sayfano|urla|urlY|140|Language|channels|250WesternTurkce|category|izle|m3u8|bci|New|Izlenemeyebilir|pid|Dream|sys|split|media|Acilamadi|elziimlifnalgab|Dizi|FilmleriYabanci|sayfa|white|xhtml|Image|yayin|radyo|DUYURUPENCERESI|HostedMediaFile|Yeni2|FilmleriAksiyon|FilmleriGerilim|Watch|Vinci|youtube|Windows|windows|FilmleriMacera|konumuz|ShipThe|VideoLinksyet2|elzimulobnosdh|streams|onclick|Android|endOfDirectory|INFOyet|FilmlerYabanci|folders|FilmleriEditor|ActivateWindow|171|message|secenek|Search2|DreamTR|en|BRecent|DialogProgress|Secenek|aZambak|section|dijifem|Recentsinema5|FilmleriTarih|Olusturuluyor|BILGILENDIRME|FilmleriKorku|BeautifulSOAP|sinemaRecent1|FilmleriSpor|div|pass|AlmanS|FilmlerCocuk|Filmler1080p|ayyris|FilmleriAile|FilmlerZombi|playlist_yap|ok|t|190|foaf|Filmleri2012|Filmleri2011|Filmleri2014|Dialog|SINEMA|500|len|199|8211|load|acilis|FilmlerSavas|foxtv3|de_get|wpel|target|match0|openSettings|Filmleri2013|Filmleri2015|elif|mobile|argv|belgeselizle|Arama2|border|livetv|2dhizidilnac|icerik|Url|pink|100The|join|FilmlerAamir|from|__language__|match3|FilmleriIMDB|strong|active|x86_64|mp4|list|Dalvik|tk|Kategoriler2|Secenekleri|Belgeseller|FilmleriTop|girilebilir|Kategoriler|Filmler2010|Ayarlariyla|Baglanvideo|FilmleriSuc|streamcloud|dailymotion|Chronicles|application|ayrisdirm1|Build|capitalize|pages|float|Revolution|Yerli|urlO3|total|Filmleri3D|alive|ok_ru|dropline_neu|urlO2|a6666|false|magix_player|style|WOW64|JDQ39|name|dizi1|BadDa|szene|mncdn|swchItemA1|yerlidizi3|simplejson|page2|class|anbieter01|png|Turkiyeden|dizividcal|part_|sembol_fix|CanliTVler|def|delay|USER_AGENT|dizi2|Opera|Terminator|times|lightgreen|urlaz|Enson|Video|Addon|Exception|z|200|201|WINDOW|add|playlist3|Agent|pagelinks|Recentyet|daily_sec|swchItem1|Following|mechanize|Savaslari|Last|hosgeldin|org|container|Sinemalar|tag|link|totalLinks|mem|SiNEMALAR|resources|almanlar|2000|American|thumbnail|TR|Search|as|YAYINLAR|Tv|os|radyocal|post|keremiya_part|2171|s_poster|urlF|src|except|decode_fix|Radyolar|Mini|utf8|Canlitv4|__init__|Canlitv1|Canlitv2|Canlitv3|file|Play|ctv2|Sherlock|BELGESEL|ctv1|Bekleyin|urlO|Part|A850|stop|NEXT|menu|filmleri|setLabel|INFOyet2|Videolar|Sopranos|chunklist_w757713564|Page|note|kutu|pagSonra|grey|match|Omer|baslamak|keep|catg|1271|name_fix|item_img|mail|playList|jpg|Breaking|sect|q|Versiyon|CLDC|none|yeniler3|pics|liste|5000|Seyirler|Interest|roku|tv|filexxx|ayarlar|rtmaerd|icindir|kabmaZa|calinma|desktop|sidebar|Vikings|Loading|BeautifulSoup|Vampire|referer|DiZiLER|article|Yapilan|Fragman|YAKINDA|resolve|solBlok|Masters|AYARLAR|Yabanci|setText|Bulundu|r|Edition|padding|smaller|Walking|content|Picture|Diziara|sonraki|Killing|Diaries|Pacific|version|Ayarlar|SmartTV|diziler|Lutfen|adult1|adult2|com|str|isConfirmed|static|ACCEPT|NEW|okinig|update|Onceki|2maerd|match1|title|Slider|Doctor|Mayday|Dexter|Connor|Sayisi|php|ragman|member|margin|DUYURU|dropit|response|int|create|exec_version|s_info|Uyeler|soup|038|failed|Demons|genelarama|online|belgun|Window|mode|compile|coding|att|Fringe|python|kwargs|xbmc|in|Izleme|X11|Sinbad|Prison|of|iframe|cat|Dublaj|showMessage|flv|Person|select|legend|8217|Merlin|baslik|Now|halktv|base64|Gotham|code2|Kurgu|Break|ALMAN|image|maerd|Story|leftC|right|Sarah|Radyo|value|input|Movie|SAYFA|Bible|frame|x|panel|Diler|Under|Alman|ARAMA|Touch|Yeni3|print|Arrow|green|CANLI|films|agent|Widow|adult|hctaw|10147|yerli|Islem|index|DREAM|Filme|rotik|porno|sleep|time|Lost|Klon|yellow|az|Lake|Star|NT|US|IPTV|Hz|webp|YENI|PaGe|Dead|Khan|bulc|json|None|getAddonInfo|Aramasinema3|orta|Team|Info|ul|INFO|nbsp|font|Izle|exec|Kisa|part|alan|NeXt|xs|type|turk|args|Hour|http|eu|3vtc|href|netu|Film|Ship|sm|iZLE|Teen|Zero|Neue|md|ACIK|query|Dome|True|porn|XBMC|cyan|Wolf|dreAM|star|Wars|code|pic|DNS|var|log|Rdy|Iyi|bin|ici|vid|the|xb4|ARA|Bad|nig|x85|swf|FOX|Fox|art|Red|lib|882|YAP|lmx|FilmKomediKore|ret|icon|Who|tab|del|usr|Top|x93|x94|x92|plugin|U|url1|h2|urlList|br|HD|xbmcgui|page|Aramasinema1|BS|vk|vvvvvvvvvvvvvvvvvvvvvvvvvvvv|utf|di|playlist|g|view4u|ek|sinema|yetiskin|PlayList|img|UrlResolverPlayer|u|resimler|_|addons|k".split("|")))
Success #stdin #stdout 0.01s 24632KB
stdin
Standard input is empty
stdout
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib,urllib2,xbmcplugin,xbmcgui,xbmcaddon,xbmc
import re
import xbmctools,fix
import os,base64,time
import mechanize
import sys
import urlresolver
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP as BS
import simplejson as json
from xbmctools import z
from xbmctools import f
import member as mem
import requests
tk="|User-Agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'),('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),('Accept-Encoding', 'none'),('Accept-Language', 'en-US,en;q=0.8'),('Connection', 'keep-alive')"
USER_AGENT = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36'
ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'

addon_id = 'plugin.video.dreAM'
__settings__ = xbmcaddon.Addon(id=addon_id)
__language__ = __settings__.getLocalizedString
home = __settings__.getAddonInfo('path')
icon = xbmc.translatePath( os.path.join( home, 'icon.png' ) )
fanart = xbmc.translatePath( os.path.join( home, 'fanart.jpg' ) )
folders = xbmc.translatePath(os.path.join(home, 'resources', 'lib'))
sys.path.append(folders)
addon_icon    = __settings__.getAddonInfo('icon')

xbmcPlayer = xbmc.Player()
xbmcPlayer.stop()
playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
playList.clear()
addon_icon    = __settings__.getAddonInfo('icon')
adonversiyonu =   xbmcaddon.Addon().getAddonInfo("version")


def acilis():
	url = 'lmx.maerd/golegnahc/moc.enisened//:ptth'[::-1]
	link=get_url(url)
	r = re.findall(r'DUYURUPENCERESI ="ACIK"',link)
	if r:
		windows()
	else:
		pass
	
def CATEGORIES():
		 acilis()
		 threadName=[]
		 delay=[]
		 mem.baslamak(threadName, delay)
		 mem.playlist3()
		 gizlilik = __settings__.getSetting( "adult" )
		 gizlilik2 = __settings__.getSetting( "code" )
		 gizlilik3 = __settings__.getSetting( "code2" )
		 gizlilik4 = __settings__.getSetting( "adult2" )
		 xbmctools.addDir('[COLOR blue]SiNEMALAR[/COLOR]',"Sinema()",2,'http://d...content-available-to-author-only...r.club/resimler/Sinemalar.png','special://home/addons/plugin.video.dreAM/fanart.jpg')
		 xbmctools.addDir('[COLOR pink]DiZiLER[/COLOR]',"Dizi()",3,'http://d...content-available-to-author-only...r.club/resimler/Diziler.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmctools.addDir('[COLOR yellow]CANLI YAYINLAR[/COLOR]',"canliyayin()",4,'http://d...content-available-to-author-only...r.club/resimler/CanliTVler.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmctools.addDir('[COLOR yellow]DreamTR Radyolar[/COLOR]',"radyo()",105,'http://d...content-available-to-author-only...r.club/resimler/Radyo.png','special://home/addons/plugin.video.dreAM/fanart.jpg')
		 xbmctools.addDir('[COLOR purple]BELGESEL iZLE[/COLOR]',"Belgesel()",1,'http://d...content-available-to-author-only...r.club/resimler/belgeselizle.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmctools.addDir('[COLOR grey]ALMAN Sinema[/COLOR]',"Alman()",62,'http://d...content-available-to-author-only...r.club/resimler/almanlar.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmctools.addDir('[COLOR gold]Film ARA/Search[/COLOR]',"genelarama()",76,'http://d...content-available-to-author-only...r.club/resimler/genelarama.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmctools.addDir('[COLOR grey]DREAM AYARLAR[/COLOR]',"Ayarlar()",2000,'http://d...content-available-to-author-only...r.club/resimler/ayarlar.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 if gizlilik == "false" or gizlilik2 != gizlilik3 or gizlilik4 == "false":
			 pass
		 else:
			 xbmctools.addDir('[COLOR red]+18[/COLOR]',"yetiskin()",16,'http://d...content-available-to-author-only...r.club/resimler/adult1.png','special://home/addons/plugin.video.dreAM/fanart.jpg' )
		 xbmc.executebuiltin('Container.SetViewMode(500)')
url = 'txt.2maerd/golegnahc/moc.enisened//:ptth'[::-1]
link=xbmctools.get_url(url)
konumuz=link
if xbmc.getInfoLabel( "System.BuildVersion" )[:2] == '14':
	xbmctools.playlist2()
else:
	pass

class windows():
	WINDOW = 10147
	CONTROL_LABEL = 1
	CONTROL_TEXTBOX = 5
	def __init__( self, *args, **kwargs ):
		xbmc.executebuiltin( "ActivateWindow(%d)" % ( self.WINDOW, ) )
		self.window = xbmcgui.Window( self.WINDOW )
		xbmc.sleep( 100 )
		self.setControls()
	def setControls( self ):
		heading, text = self.getText()
		self.window.getControl( self.CONTROL_LABEL ).setLabel( "%s - %s" % ( heading, addon_id +"- Versiyon:"+adonversiyonu) )
		self.window.getControl( self.CONTROL_TEXTBOX ).setText( text )
	def getText( self ):
		txt = str(konumuz)
		return "DUYURU ",txt
#2
def Sinema():
		xbmctools.addDir('[COLOR gold]! Sinema 1 * New * ![/COLOR]',"Sinema1()",5,'http://d...content-available-to-author-only...r.club/resimler/Sinema1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmctools.addDir('[COLOR gold]! Sinema 2 * New * ![/COLOR]',"Sinema2()",6,'http://d...content-available-to-author-only...r.club/resimler/Sinema2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmctools.addDir('[COLOR beige]Sinema 3[/COLOR]',"Sinema3()",7,'http://d...content-available-to-author-only...r.club/resimler/Sinema3.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmc.executebuiltin('Container.SetViewMode(500)')
#3
def Dizi():
	xbmctools.addDir('[COLOR orange]Dizi 1 * NEW Edition *[/COLOR]',"Dizi1()",8,'http://d...content-available-to-author-only...r.club/resimler/Dizi1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
	xbmctools.addDir('[COLOR gold]Dizi 2 ## NEW ##[/COLOR]',"Dizi2()",9,'http://d...content-available-to-author-only...r.club/resimler/Dizi2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
	xbmc.executebuiltin('Container.SetViewMode(500)')
#4
def canliyayin():
		xbmctools.addDir('[COLOR beige]Canli Tv 1[/COLOR]',"Canli1()",11,'http://d...content-available-to-author-only...r.club/resimler/Canlitv1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmctools.addDir('[COLOR pink]Canli Tv 2* New *[/COLOR]',"Canli2()",12,'http://d...content-available-to-author-only...r.club/resimler/Canlitv2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmctools.addDir('[COLOR beige]Canli Tv 3[/COLOR]',"Canli3()",18,'http://d...content-available-to-author-only...r.club/resimler/Canlitv3.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmctools.addDir('[COLOR orange]* Canli Tv 4 * New *[/COLOR]',"Canli4()",27,'http://d...content-available-to-author-only...r.club/resimler/Canlitv4.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
		xbmc.executebuiltin('Container.SetViewMode(500)')

#--#
def get_url(url):
		req = urllib2.Request(url)
		req.add_header('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; SmartTV) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'),('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),('Accept-Encoding', 'none'),('Accept-Language', 'en-US,en;q=0.8'),('Connection', 'keep-alive')
		response = urllib2.urlopen(req)
		link=response.read()
		response.close()
		return link

#8
def Dizi1():
	url='http://w...content-available-to-author-only...n.com/'#[::-1]
	xbmctools.addDir('[COLOR red]>>>[/COLOR] [COLOR orange]Arama/Search[/COLOR]',url,14,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" )
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR yellow]Enson Eklenen Diziler [/COLOR]',url,19,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' )
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("li", {"id": "menu-item-171"})
	liste=BeautifulSoup(str(panel))
	for li in liste.findAll('li'):
		a=li.find('a')
		url= a['href']
		name=li.text
		name=fix.decode_fix(name)
		name=name.encode('utf8')
		thumbnail=""
		if "Yeni Diziler" in name:
			pass
		else:
			xbmctools.addDir('[COLOR beige]>'+name+'[/COLOR]',url,19,'','')
#14
def Arama():
		dizi1='/moc.elzimulobnosdh.www//:ptth'[::-1]
		keyboard = xbmc.Keyboard("", 'Search', False)
		keyboard.doModal()
		if keyboard.isConfirmed():
			query = keyboard.getText()
			url = (dizi1+'/?s='+query)
			Yeni(url)
#27
def Canli4():
	url='txt.nig/kabmaZa/bulc.rtmaerd//:ptth'[::-1]
	link=get_url(url)
	match=re.compile('<title>(.*?)--(.*?)</title>\n.*?<link>(.*?)\?.*?</link>').findall(link)
	for name,img,url2 in match:
		xbmctools.addDir('[COLOR beige][COLOR purple]>>[/COLOR]  '+name+'[/COLOR]',url2,91,img,img)
	match1=re.compile('<title>(.*?)--(.*?)</title>\n.*?<link>http://roku(.*?)</link>').findall(link)
	for name,img,url2 in match1:
		url2='http://roku'+url2
		xbmctools.addDir('[COLOR beige][COLOR orange]>>[/COLOR]  '+name+'[/COLOR]',url2,116,img,img)
#91
def de_get(name,url):
	xbmcPlayer = xbmc.Player()
	xbmcPlayer.stop()
	import requests as requests#halktv
	url1='882=di?php.hctaw/moc.okinig.www//:ptth'[::-1]
	link=get_url(url1)
	match=re.compile('src=".*?\?wmsAuthSign\=(.*?)">').findall(link)
	for cd in match:
		print "hosgeldin"
	url=url+'?wmsAuthSign='+cd#+tk
	xbmctools.yenical4(name,url)
#19
def Yeni(url):
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("div", {"class": "article-list"},smartQuotesTo=None)
	panel = panel[0].findAll("div", {"class": "film-container"})
	for i in range (len (panel)):
			url=panel[i].find('a')['href']
			name=panel[i].find('img')['alt'].encode('utf-8', 'ignore')
			thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore')
			xbmctools.addDir('[COLOR beige][COLOR blue]>[/COLOR]'+name+'[/COLOR]',url,20,thumbnail,thumbnail)
	page=re.compile('>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link)
	for Url,name in page:
			xbmctools.addDir('[COLOR blue]Sayfa >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',Url,19,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#20
def dizivideolinks(url,name):
	xbmctools.addDir('[COLOR beige]>>[/COLOR]'+'[COLOR gold]'+'1 . Secenek '+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg")		
	try:
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"class": "pagelinks"})
		liste=BeautifulSoup(str(panel))
		match2=re.compile('<a href="(.*?)"><span class=\'safirButton\'>(.*?)</span>').findall(str(liste))
		for url,name2 in match2:
			xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg")		
		match3=re.compile('<a href="(.*?)"><span class="safirButton">(.*?)<').findall(str(liste))
		for url,name2 in match3:
			xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg")		
	
	except:
		pass

#9
def Dizi2():
		url='http://w...content-available-to-author-only...5.net/'
		xbmctools.addDir('[COLOR red]>>>>>>>[/COLOR] [COLOR orange]Arama/Search[/COLOR]',url,25,"http://d...content-available-to-author-only...r.club/resimler/aramasearch.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' )
		xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR yellow]Enson Eklenen Diziler [/COLOR]',url,21,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' )
		url1='http://w...content-available-to-author-only...5.net/'
		link=get_url(url1)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"id": "diziler"})
		liste=BeautifulSoup(str(panel))
		for li in liste.findAll('li'):
			a=li.find('a')
			url= a['href']
			name=li.text
			name=fix.decode_fix(name)
			name=name.encode('utf8')
			thumbnail=""
			xbmctools.addDir('[COLOR beige][COLOR orange]>[/COLOR]'+name+'[/COLOR]',url,21,thumbnail,thumbnail)
#25
def Arama2():
		dizi2='moc.2dhizidilnac.www//:ptth'[::-1]
		keyboard = xbmc.Keyboard("", 'Search', False)
		keyboard.doModal()
		if keyboard.isConfirmed():
			query = keyboard.getText()
			url = (dizi2+'/?s='+query)
			Yeni2(url)

#21
def Yeni2(url):
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("div", {"class": "orta-ici"},smartQuotesTo=None)
	panel = panel[0].findAll("div", {"class": "kutu"})
	for i in range (len (panel)):
			url=panel[i].find('a')['href']
			name=panel[i].find('a')['title'].encode('utf-8', 'ignore')
			thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore')
			xbmctools.addDir('[COLOR beige][COLOR blue]>[/COLOR]'+name+'[/COLOR]',url,26,thumbnail,thumbnail)
	page=re.compile('\'current\'>.*?</.*?="page larger" href="(.*?)">(.*?)</a>').findall(link)
	for Url,name in page:
			xbmctools.addDir('[COLOR blue]Sayfa >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',Url,21,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#26
def dizivideolinks2(url,name):
		urlList=''
		ok=True
		url=url+'/11'
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"class": "video-alan"})
		panel = panel[0].findAll("div", {"id": "part"})
		liste=BeautifulSoup(str(panel))
		match2=re.compile('href="(.*?)"><span>.*?</span>').findall(str(liste))
		for partUrl in match2:
				if "<" in partUrl:
						pass
				else:
						urlList=urlList+partUrl
						urlList=urlList+':;'
		url=url.replace('/11','/')
		total=url+':;'+urlList
		pDialog = xbmcgui.DialogProgress()
		ret = pDialog.create('Loading playlist...')
		match = total.split(':;')
		del match[-1]
		totalLinks = len(match)
		loadedLinks = 0
		remaining_display ='[COLOR yellow]'+'Islem Yapilan Video Sayisi'+'=	'+'' +str(loadedLinks)+'[/COLOR]'+'[COLOR blue]'+' / '+'[/COLOR]'+'[COLOR green]'+str(totalLinks)+''+'[/COLOR]'+'[COLOR lightgreen]'+'   '+'Video Bulundu'+'[/COLOR]'
		note='[COLOR pink]'+'http://d...content-available-to-author-only...r.club'+'[/COLOR]'+'	  '+'[COLOR beige]'+'DreamTR Team'+'[/COLOR]'
		pDialog.update(0,'[COLOR red]'+'Videolar Olusturuluyor... Lutfen Bekleyin'+'[/COLOR]',remaining_display,note)
		i=0
		for url in match:
				i+=1
				name2=str(i)+'. Secenek'
				xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg")		
		  
#5
def Sinema1():
	urlY='http://w...content-available-to-author-only...m.com/'
	xbmctools.addDir('[COLOR yellow]Arama/Search[/COLOR]',urlY,38,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png','special://home/addons/plugin.video.dreAM/fanart.jpg')
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR gold]** Yerli Filmler ** [/COLOR]',u'http://w...content-available-to-author-only...m.com/category/turk-filmleri',67,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',urlY,67,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
	link=get_url(urlY)
	match=re.compile('<li class="cat-item cat-item-.*?"><a href="(.*?)" title=".*?">(.*?)</a></li>').findall(link)
	for url,name in match:
		xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR orange]'+name+'[/COLOR]',url,67,"","special://home/addons/plugin.video.dreAM/fanart.jpg")
#38
def Aramasinema1():
	sinema="http://w...content-available-to-author-only...e.org"
	keyboard = xbmc.Keyboard("", 'Search', False)
	keyboard.doModal()
	if keyboard.isConfirmed():
		query = keyboard.getText()
		url = (sinema+'/?s='+query)
		sinemaRecent12(url)
#67
def sinemaRecent12(url):
	urla=url
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("div", {"class": "moviefilm"},smartQuotesTo=None)
	liste=BeautifulSoup(str(panel))
	for i in range (len(panel)):
		url=panel[i].find('a')['href']
		thumbnail=panel[i].find('img')['src']
		name=panel[i].find('img')['alt'].encode('utf-8', 'ignore')
		name=name.replace('&#8211;','&').replace('&#8217;','')
		xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,200,thumbnail,thumbnail)
	page=re.compile('current\'>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link)
	for url1,name in page:
		url1=url1.replace('" data-wpel-link="internal','')
		xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url1,67,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#200
def ayyris(url):
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel=soup.find("div", {"class": "keremiya_part"})
	liste=BeautifulSoup(str(panel))
	match1=re.compile('<span>(.*?)art 1</span>').findall(str(liste))
	for name in match1:
		name="Part 1"
		url=url
		xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","")
	match=re.compile('href="(.*?)"><span>(.*?)</span>').findall(str(liste))
	for url,name in match:
		url=url.replace('" data-wpel-link="internal','')
		xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","")
	match=re.compile('<strong>(.*?)YAKINDA.*?</strong>').findall(link)
	for name in match:
		name='Fragman'
		url=url.replace('" data-wpel-link="internal','')
		xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","")
#40
def ayrisdirma1(url):
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("ul", {"class": "tab-baslik dropit"})
	match2=re.compile('</span>\n\t\t\t\t\t\n\t\t\t\t\t(.*?)<span id="g(.*?)"').findall(str(panel))
	for name,pid in match2:
		if "ragman" in name:
			pass
		else:
			Baglanvideo(url,name,pid)
#6
def Sinema2():
	url='/moc.elziimlifnalgab.www//:ptth'[::-1]
	xbmctools.addDir('[COLOR yellow]Arama/Search[/COLOR]',url,44,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png','special://home/addons/plugin.video.dreAM/fanart.jpg')
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR red]** Yerli Filmler ** [/COLOR]','http://w...content-available-to-author-only...e.com/film-izle-yerli',43,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',url,43,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("ul", {"class": "ek-liste"},smartQuotesTo=None)
	liste=BeautifulSoup(str(panel))
	for li in liste.findAll('li'):
		a=li.find('a')
		url= a['href']
		url='http://w...content-available-to-author-only...e.com'+url
		name=li.text.encode('utf-8', 'ignore')
		name=name.replace('&nbsp;'," ")
		if "rotik" in name:
			pass
		else:
			xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR orange]'+name+'[/COLOR]',url,43,"","special://home/addons/plugin.video.dreAM/fanart.jpg")
#44
def Search2():
	sinema="http://w...content-available-to-author-only...e.com"
	keyboard = xbmc.Keyboard("", 'Search', False)
	keyboard.doModal()
	if keyboard.isConfirmed():
		query = keyboard.getText()
		url = (sinema+'/?s='+query)
		sinemaRecent1(url)												  
#43
def Yenisinema2(url):
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"id": "icerik"},smartQuotesTo=None)
		panel = soup.findAll("div", {"class": "film-k kutu-icerik"})
		for i in range (len (panel)):
				url=panel[i].find('a')['href']
				url="http://w...content-available-to-author-only...e.com"+url
				thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore')
				thumbnail="http://w...content-available-to-author-only...e.com"+thumbnail
				name=panel[i].find('img')['alt'].encode('utf-8', 'ignore')
				name=name.replace('&#8211;',' - ').replace('&#8217;',' ').replace('&#038;',' ')
				xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,45,thumbnail,thumbnail)
		pages=re.compile('class="sonraki-sayfa" href="#sayfa-(.*?)">Sonraki</a>').findall(link)
		for page in pages:
			url='http://w...content-available-to-author-only...e.com/index.php?sayfa=1'
			r = requests.post(url, data={'anasayfa_sayfano': page})
			soup = BeautifulSoup(r.text)
			xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]'+ '[COLOR red]'+''+'[/COLOR]',url,43,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")

#45
def ayrisdirma2(url):
	urla=url
	link=get_url(urla)
	match=re.compile('</span>\n(.*?)<span id="g(.*?)" class="load"></span>').findall(link)
	for name,pid in match:
		r = requests.post(urla, data={'pid': pid})
		soup = BeautifulSoup(r.text)
		match=re.compile('<iframe src="(.*?)"').findall(str(soup))
		for url1 in match:
			if "media" in url1:
				pass
			else:
				url1=url1.replace('//ok','http://ok').replace('//www.youtube.com','http://w...content-available-to-author-only...e.com')
				xbmctools.addDir('[COLOR lightyellow]'+name+'[/COLOR]',url1,99,'','')

#7
def Sinema3():
	sinema='http://w...content-available-to-author-only...s.net'
	xbmctools.addDir('[COLOR yellow]>>[/COLOR] [COLOR red]>> - Arama/Search -<< [/COLOR]',sinema,48,"http://d...content-available-to-author-only...r.club/resimler/aramasearch.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' )
	sinema=sinema+"/?am_force_theme_layout=desktop"
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',sinema,47,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg')
	url=sinema
	link=get_url(url)
	soup = BeautifulSoup(link)
	panel = soup.findAll("div", {"class": "sidebar-right"})
	liste=BeautifulSoup(str(panel))
	for li in liste.findAll('li'):
		a=li.find('a')
		url= a['href']
		name= li.text
		name=name.encode('utf-8', 'ignore')
		name=fix.decode_fix(name)
		if name=="American Horror Story"or name=="Arrow"or name=="Breaking Bad"or name=="Da Vinci`s Demons"or name=="Dexter"or name=="Doctor Who"or name=="Fringe"or name=="Gotham"or name=="Lost"or name=="The 100"or name=="The Last Ship"or name=="The Originals"or name=="Hz. Omer"or name=="Masters of Horror"or name=="Mayday"or name=="Merlin"or name=="Person of Interest"or name=="Prison Break"or name=="Red Widow"or name=="Revolution"or name=="Sherlock"or name=="Sinbad"or name=="Slider"or name=="Star Wars: Klon Savaslari"or name=="Teen Wolf"or name=="Terminator: The Sarah Connor Chronicles"or name=="The Bible"or name=="The Following"or name=="The Killing"or name=="The Pacific"or name=="The Sopranos"or name=="The Vampire Diaries"or name=="The Walking Dead"or name=="Top of the Lake"or name=="Touch"or name=="Under The Dome"or name=="Vikings"or name=="Zero Hour"or name=="Hz. Omer" or name=="Yabanci DizilerAmerican Horror StoryArrowBreaking BadDa Vinci`s DemonsDexterDoctor WhoFringeGothamLostThe 100The Last ShipThe Originals"or name=="Filmler1080p Filmler2010 Filmleri2011 Filmleri2012 Filmleri2013 Filmleri2014 Filmleri2015 Filmleri3D FilmlerAamir Khan FilmleriAile FilmleriAksiyon FilmleriAltyazili FilmlerAnimasyon FilmleriAnimeBelgesellerBilim Kurgu FilmleriBiyografiCasuslukCizgi FilmlerCocuk FilmleriDansDram FilmleriEditor OnerisiFantastikGenclik FilmleriGerilim FilmleriGizemHint FilmleriIMDB 7.0+Kisa FilmKomediKore FilmleriKorku FilmleriMacera FilmleriMuzikalPolisiye FilmlerPolitikPsikolojikRomantik FilmlerSavas FilmleriSpor FilmleriSuc FilmleriTarih FilmleriTop 250WesternTurkce Dublaj FilmlerYabanci FilmlerZombi FilmleriYabanci DizilerAmerican Horror StoryArrowBreaking BadDa Vinci`s DemonsDexterDoctor WhoFringeGothamLostThe 100The Last ShipThe Originals":
			pass
		else:
			xbmctools.addDir('[COLOR beige][COLOR orange]>[/COLOR]'+name+'[/COLOR]',url,47,'','')
			 
#47
def Recent3(url):
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"class": "leftC"},smartQuotesTo=None)
		panel = panel[0].findAll("div", {"class": "moviefilm"})
		for i in range (len (panel)):
			url=panel[i].find('a')['href']
			name=panel[i].find('img')['alt'].encode('utf-8', 'ignore')
			name=fix.decode_fix(name)
			thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore')
			name=name.replace('HD','').replace('Izle','')
			xbmctools.addDir('[COLOR orange]>>[COLOR beige]'+name+'[/COLOR]',url,49,thumbnail,thumbnail)
		page=re.compile('current\'>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link)
		for url,name in page:
				xbmctools.addDir('[COLOR blue]SAYFA >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',url,47,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
		page2=re.compile('</a><a href=\'(.*?)\' class=\'page smaller\'>.*?</a><span class=\'current\'>.*?</span>').findall(link)
		for url in page2:
				xbmctools.addDir('[COLOR red]Onceki Sayfa[/COLOR]',url,47,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#48
def Aramasinema3(): 
		sinema='http://w...content-available-to-author-only...s.net'
		keyboard = xbmc.Keyboard("", 'Search', False)
		keyboard.doModal()
		if keyboard.isConfirmed():
				query = keyboard.getText()
				query=query.replace(' ','+')
				url = (sinema+'/?s='+query)
				Recent3(url)
		xbmctools.addDir('[COLOR yellow]YENI ARAMA YAP[/COLOR]',url,48,"","")
#49
def videolinks3(url,name):
		url=url+'15'
		listeler=[]
		urller=[]
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel=soup.find("div", {"class": "keremiya_part"})
		liste=BeautifulSoup(str(panel))
		match=re.compile('href="(.*?)"><span>(.*?)</span>').findall(str(liste))
		for url,name in match:
			if "netu" in name:
				pass
			else:
				listeler.append('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]')
				urller.append(url)
		dialog = xbmcgui.Dialog()
		secenek = dialog.select('Izleme Secenekleri...',listeler)
		for i in range(len(listeler)):
		 if secenek == i:
		   url=urller[i]
		   xbmctools.VIDEOLINKS1(name,url)
		   return url
		 else:
			 pass


#1
def Belgesel():
	sinema ='http://w...content-available-to-author-only...n.tv/'
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Belgeseller[/COLOR]',sinema,50,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
	link=get_url(sinema)
	match=re.compile('category menu-item-.*?"><a href="(.*?)">(.*?)</a>').findall(link)
	for url,name in match:
			xbmctools.addDir('[COLOR beige][COLOR red]>[/COLOR]'+name+'[/COLOR]',url,50,"","")
#50
def BRecent(url):
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("div", {"class": "solBlok"},smartQuotesTo=None)
		panel = panel[0].findAll("div", {"class": "film"})
		for i in range (len (panel)):
				url=panel[i].find('a')['href']
				name=panel[i].find('a')['title'].encode('utf-8', 'ignore')
				thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore')
				xbmctools.addDir('[COLOR cyan]'+name+'[/COLOR]',url,51,thumbnail,thumbnail)
		page=re.compile('<span id="pagSonra"><a href="(.*?)"').findall(link)
		for url in page:
				xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]',url,50,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#51
def BELayrisdirma(url):
	xbmctools.addDir('[COLOR blue]Play >>[/COLOR]',url,41,"","special://home/addons/plugin.video.dreAM/fanart.jpg")
	link=get_url(url)
	match=re.compile(' <a href="(.*?)"><span>(.*?)</span></a>').findall(link)
	for url,name in match:
		xbmctools.addDir('[COLOR blue]'+name+'[/COLOR]',url,41,"","special://home/addons/plugin.video.dreAM/fanart.jpg")
 
def sembol_fix(x):
	try:
		x=x.replace('\x93','"').replace('\x92',"'").replace('\x94','"').replace('/',"-").replace('-',"").replace('_'," ").replace("'","'").replace('&#8211;','&').replace('&#8217;','`').replace('&#038;','`').replace('\x85','...').replace('\xb4',"'")
	except:
		pass
	return x[0].capitalize() + x[1:]
#16
def yetiskin():
		url='http://e...content-available-to-author-only...l.cc/porn/'
		xbmctools.addDir('[COLOR red]>>[/COLOR][COLOR yellow]Info[/COLOR][COLOR red] <<[/COLOR]',"BILGILENDIRME",56,"","")
		xbmctools.addDir('[COLOR blue]New Movie>>[/COLOR]',url,78,"","")
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("section", {"class": "bc-list sect-catg"})
		panel = panel[0].findAll("div", {"class": "col-md-3 col-sm-4 col-xs-6 bc-item"})
		for i in range (len (panel)):
			url=panel[i].find("a", {"class": "bci-link"})['href']
			name=panel[i].find("a", {"class": "bci-link"})['title'].encode('utf-8', 'ignore')
			thumbnail=panel[i].find("img", {"class": "bci-pic"})['src']
			url=z+url
			thumbnail=z+thumbnail
			xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,53,thumbnail,thumbnail)
#78
def RecentyetA(url):
		link=get_url(url)
		match=re.compile('href="(.*?)" \n					title=".*?">\n						<span class=".*?">.*?</span>\n						<span class=".*?">\n							<img src="(.*?)" alt="(.*?)"').findall(link)
		for url,thumbnail,name in match:
			url=z+url
			thumbnail=z+thumbnail
			xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,54,thumbnail,thumbnail)
		page=re.compile('<li class="page active"><a href=".*?">.*?</a></li>\n<li class="page"><a href="(.*?)">(.*?)</a></li>').findall(link)
		for url,name in page:
				url=z+url
				xbmctools.addDir('[COLOR blue]NEXT Page >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url,78,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")

#53
def Recentyet(url):
		link=get_url(url)
		soup = BeautifulSoup(link)
		panel = soup.findAll("section", {"class": "bc-list sect-catg"})
		panel = panel[0].findAll("div", {"class": "col-md-3 col-sm-4 col-xs-6 bc-item"})
		for i in range (len (panel)):
			url=panel[i].find("a", {"class": "bci-link"})['href']
			name=panel[i].find("a", {"class": "bci-link"})['title'].encode('utf-8', 'ignore')
			name=name.replace("Watch porno online","")
			thumbnail=panel[i].find("img", {"class": "item_img"})['src']
			thumbnail=z+thumbnail
			url=z+url
			xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,54,thumbnail,thumbnail)
		page=re.compile('<li class="page active"><a href=".*?">.*?</a></li>\n<li class="page"><a href="(.*?)">(.*?)</a></li>').findall(link)
		for url,name in page:
				url=z+url
				xbmctools.addDir('[COLOR blue]NEXT Page >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url,53,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#54
def ayrisdirmayet(url):
		link=get_url(url)	 
		match=re.compile('var films\= "http:\/\/(.*?).flv"').findall(link)
		for url in match:
				url='http://'+url+'.flv'
				name=' Now'
				xbmctools.addDir('[COLOR red]Watch '+name+'[/COLOR]',url,44,t,t)
		link=get_url(url)
		match1=re.compile("http:\/\/(.*?)part_(.*?).mp4").findall(link)
		for url,name in match1:
				url='http://'+url+'part_'+name+'.mp4'
				xbmctools.addDir('[COLOR red]Part '+name+'[/COLOR]',url,55,"","")
		link=get_url(url)
		match2=re.compile("http:\/\/(.*?).mp4").findall(link)
		for url in match2:
				url='http://'+url+'.mp4'
				name=' Now'
				xbmctools.addDir('[COLOR red]Watch'+name+'[/COLOR]',url,55,"","")			   
#55
def VideoLinksyet(name,url):
		url=url+"|referer=http://w...content-available-to-author-only...l.tv/static/flowplayer/flowplayer.content-3.2.9.swf"  
		xbmcPlayer = xbmc.Player()
		playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
		playList.clear()
		xbmctools.addLink('RETURN List << ','','')
		listitem = xbmcgui.ListItem(name)
		playList.add(url, listitem)
		xbmcPlayer.play(playList)
		exec_version = float(str(xbmc.getInfoLabel("System.BuildVersion"))[0:4])
		if exec_version < 14.0:
				xbmctools.playlist()
		else:
				xbmctools.playlist2()
#56
def INFOyet(url):
  try:
		yetiskin()
		dialog = xbmcgui.Dialog()
		i = dialog.ok(url, "[COLOR beige]Uyeler icindir[/COLOR],[COLOR yellow]Turkiyeden Izlenemeyebilir[/COLOR] ","[COLOR yellow]DNS Ayarlariyla girilebilir[/COLOR]")
  except:
		pass
#62
def AlmanS():
	sinema='http://v...content-available-to-author-only...u.co/'
	xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR gold] ! Neue Filme ![/COLOR]',sinema,65,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg')
	link=get_url(sinema)
	match=re.compile('<li><a href="/load(.*?)">(.*?)</a></li>').findall(link)
	for url,name in match:
		url='http://v...content-available-to-author-only...u.co/load'+url
		xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]'+name+'[/COLOR]',url,65,"",'special://home/addons/plugin.video.dreAM/fanart.jpg')				   
#65
def Yeni2alman1(url):
	link=get_url(url)
	match=re.compile('<div class="s_poster">\n <a href=".*?"><img src="(.*?)" alt=""></a>\n </div>\n <div class="s_info">\n <h2><a href="(.*?)">(.*?)</a>').findall(link)
	for thumbnail,url,name in match:
		thumbnail='http://v...content-available-to-author-only...u.co'+thumbnail
		url='http://v...content-available-to-author-only...u.co'+url
		xbmctools.addDir('[COLOR orange]>>[COLOR beige]'+name+'[/COLOR]',url,201,thumbnail,thumbnail)
	page=re.compile('<b class="swchItemA1"><span>.*?</span></b> <a class="swchItem1" href="(.*?)" onclick').findall(link)
	for url1 in page:
		url='http://v...content-available-to-author-only...u.co/'+url1
		xbmctools.addDir('[COLOR purple]>>'+'NeXt PaGe -> [/COLOR]',url,65,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
#201
def a6666(url):
	link=get_url(url)
	match=re.compile('src="http://v...content-available-to-author-only...u.co/anbieter01/(.*?).png" height=".*?" width=".*?"></font></b></legend><br><div class=".*?">\n <input onclick=".*?" value=".*?" type="b.*?">\n <div class=".*?" style=".*?">\n\n<a target=".*?" href="\n\n(.*?)\n\n">').findall(link)
	for name,url in match:
		xbmctools.addDir('[COLOR lightyellow]'+name+'[/COLOR]',url,99,'','')

#66
def Linkleralman1(url):
		link=get_url(url)
		match0=re.compile('<img style="margin:0;padding:0;border:0;" src="(.*?)"').findall(link)
		for thumbnail in match0:
			xbmctools.addDir("INFO - Picture",url,99,'http://w...content-available-to-author-only...s.com'+thumbnail,'http://w...content-available-to-author-only...s.com'+thumbnail)   
		match1=re.compile('http\:\/\/(.*?).eu\/(.*?).html').findall(link)
		for name,url in match1:
			url='http://s...content-available-to-author-only...d.eu/'+url+'.html'
			xbmctools.addDir('Play - > '+name,url,99,"","")

#76
def genelarama():
		keyboard = xbmc.Keyboard("", 'Search', False)
		keyboard.doModal()
		if keyboard.isConfirmed():
			query = keyboard.getText()
			query=query.replace(' ','+')
			query=xbmctools.name_fix(query)
		try:
			sinema='http://w...content-available-to-author-only...e.org'
			xbmctools.addDir('[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[COLOR red]SINEMA 1[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[/COLOR]',sinema,'',"http://d...content-available-to-author-only...r.club/resimler/Sinema1.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
			sinema='http://w...content-available-to-author-only...e.org'
			url = (sinema+'/?s='+query)
			sinemaRecent12(url)
		except:
			xbmc.executebuiltin('Notification("[COLOR white]Dream[COLOR white]TR[/COLOR]","[COLOR yellow]Sinema 1 Acilamadi[/COLOR]")') 
		try:
			sinema='http://w...content-available-to-author-only...s.net'
			xbmctools.addDir('[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[COLOR red]SINEMA 3[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[/COLOR]',sinema,48,"http://d...content-available-to-author-only...r.club/resimler/Sinema3.png","special://home/addons/plugin.video.dreAM/fanart.jpg")
			sinema='http://w...content-available-to-author-only...s.net'
			url = (sinema+'/?s='+query)
			Recent3(url)
		except:
			xbmc.executebuiltin('Notification("[COLOR white]Dream[COLOR red]TR[/COLOR]","[COLOR yellow]Sinema 3 Acilamadi[/COLOR]")')



#11
def Canli1():
	urlF='http://f...content-available-to-author-only...n.com/foxtv/foxtv3/chunklist_w757713564.m3u8'
	xbmctools.addLink('[COLOR beige] >> FOX TR[/COLOR]',urlF,'')
	urlO='http://w...content-available-to-author-only...r.com/'
	link=get_url(urlO)
	match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link)
	for url,thumbnail in match:
		name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','')
		url='http://w...content-available-to-author-only...r.com'+url
		xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'')
	urlO2='http://w...content-available-to-author-only...r.com/?page=1'
	link=get_url(urlO2)
	match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link)
	for url,thumbnail in match:
		name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','')
		url='http://w...content-available-to-author-only...r.com'+url
		xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'')
	urlO3='http://w...content-available-to-author-only...r.com/?page=2'
	link=get_url(urlO3)
	match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link)
	for url,thumbnail in match:
		name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','')
		url='http://w...content-available-to-author-only...r.com'+url
		xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'') 
#100
def ctv1(name,url):
	try:
		req = urllib2.Request(url)
		req.add_header("User-Agent","Dalvik/1.6.0 (Linux; U; Android 4.2.2; A850 Build/JDQ39) Configuration/CLDC-1.1; Opera Mini/att/4.2.")
		response = urllib2.urlopen(req)
		link=response.read()
		response.close()
		match = re.compile('file:"(.*?)"').findall(link)
		for url in match:
			if url:
				url=url+tk
				xbmcPlayer.play(url)
			xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png')
		match1= re.compile("file: \'http(.*?)m3u8\.'").findall(link)
		for url in match1:
			if url:
				url='http'+url+'m3u8'+tk
				xbmcPlayer.play(url)
			xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png')
		match2= re.compile('filexxx= "(.*?)"').findall(link)
		for url in match2:
			if url:
				url=url+tk
				xbmcPlayer.play(url)
			xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png')
	except:
		showMessage('[COLOR beige]Dream[/COLOR][COLOR red]TR[/COLOR]','[COLOR red]Iyi Seyirler Diler!!![/COLOR]')
		xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') 
#12
def Canli2():
##	urlaz='http://d...content-available-to-author-only...r.club/aZambak/2.2.txt'
##	link=get_url(urlaz)
##	match=re.compile('https://l...content-available-to-author-only...v.az/en/channels/(.*?)\n').findall(link)
##	for name in match:
##		url='https://l...content-available-to-author-only...v.az/en/channels/'+name
##		name=name.replace('%20','  ')
##		xbmctools.addDir('[COLOR beige]> - '+name+'[/COLOR]',url,101,'','')
	url1='http://w...content-available-to-author-only...e.co/izle/star-tv.html'
	req = urllib2.Request(url1)
	req.add_header("User-Agent","Dalvik/1.6.0 (Linux; U; Android 4.2.2; A850 Build/JDQ39) Configuration/CLDC-1.1; Opera Mini/att/4.2.")
	response = urllib2.urlopen(req)
	link=response.read()
	response.close()
	match=re.compile('<a href="http://m...content-available-to-author-only...e.co/izle/(.*?)" title=".*?"><img class=".*?" data-src="(.*?)" width="100" height="75"').findall(link)
	for url,thumbnail in match:
		name=url
		name=name.replace('.html','').replace('-',' ').replace('canli','').replace('izle','')
		name=fix.decode_fix(name)
		url='http://m...content-available-to-author-only...e.co/izle/'+url
		xbmctools.addDir('[COLOR gold]> - '+name+'[/COLOR]',url,100,thumbnail,'')
		
#101
def ctv2(url):
	url=url.replace('https','http')
	req = urllib2.Request(url)
	req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36")
	response = urllib2.urlopen(req)
	link=response.read()
	response.close()
	match=re.compile('src=https://streaming(.*?)\n').findall(link)
	for url in match:
		if url:
			url='https://streaming'+url+tk
			xbmctools.yenical4(name,url)

#18
def Canli3():
	url='txt.3vtc/b/moc.enisened//:ptth'[::-1]
	link=get_url(url)
	match=re.compile('<name>(.*?)\n<thumbnail>(.*?)\n<link>(.*?)\n').findall(link)	   
	for name,Thumbnail,url in match:
		name=fix.decode_fix(name)
		if "Fox-tv" in name:
			url='http://f...content-available-to-author-only...n.com/foxtv/foxtv3/chunklist_w757713564.m3u8'
			xbmctools.addLink('[COLOR blue] >>[/COLOR]'+ '[COLOR beige]'+name+'[/COLOR]',url,'')
		else:
			xbmctools.addDir('[COLOR blue] >>[/COLOR]'+ '[COLOR beige]'+name+'[/COLOR]',url,100,Thumbnail,Thumbnail)
			   

#199
def yenical44(name,url):
		if "mail." in url:
			xbmctools.MailRu_Player(url)
		elif "vk."in url:
			magix_player(name,url)
		elif "ok." in url:
			xbmctools.ok_ru(url)
		elif "vid."in  url:
			magix_player(name,url)
		else:
			xbmcPlayer = xbmc.Player() 
			playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) 
			playList.clear() 
			xbmctools.addLink(name,url,'')
			listitem = xbmcgui.ListItem(name) 
			playList.add(url, listitem) 
			xbmcPlayer.play(playList)
 
  

#105
def radyo():
	url="http://d...content-available-to-author-only...r.club/aZambak/Rdy.txt"
	link=get_url(url)
	match=re.compile('<a href="(.*?)" target=".*?"><img alt="(.*?)" border=".*?" width=".*?" height=".*?" src="(.*?)" title=".*?"').findall(link)
	for url,name,thumbnail in match:
		xbmctools.addDir('[COLOR beige]>>'+name+'[/COLOR]',url,107,thumbnail,thumbnail)


		
def showMessage(heading='IPTV', message = '', times = 5000, pics = addon_icon):
		try: xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s, "%s")' % (heading, message, times, pics))
		except Exception, e:
			xbmc.log( '[%s]: showMessage: exec failed [%s]' % (addon_id, e), 2 )

#116
def Calcanli6(name,url):
	xbmcPlayer = xbmc.Player()
	playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
	playList.clear()
	xbmctools.addLink('[COLOR blue]'+'RETURN List <<'+' [/COLOR]','','http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png')
	listitem = xbmcgui.ListItem(name)
	playList.add(url, listitem)
	xbmcPlayer.play(playList)
	exec_version = float(str(xbmc.getInfoLabel("System.BuildVersion"))[0:4])
	if exec_version < 14.0:
			xbmctools.playlist()
	else:
			xbmctools.playlist2()
#99
def magix_player(name,url):
	if "www.dailymotion.com" in url:
		xbmctools.daily_sec(name,url)
	elif "mail." in url:
		xbmctools.MailRu_Player(url)
	elif "ok." in url:
		xbmctools.ok_ru(url)
	else:
		UrlResolverPlayer = url
		playList.clear()
		media = urlresolver.HostedMediaFile(UrlResolverPlayer)
		source = media
		if source:
				url = source.resolve()
				xbmctools.addLink(name,url,'')
				xbmctools.playlist_yap(playList,name,url)
				xbmcPlayer.play(playList)

def get_params():
		param=[]
		paramstring=sys.argv[2]
		if len(paramstring)>=2:
				params=sys.argv[2]
				cleanedparams=params.replace('?','')
				if (params[len(params)-1]=='/'):
						params=params[0:len(params)-2]
				pairsofparams=cleanedparams.split('&')
				param={}
				for i in range(len(pairsofparams)):
						splitparams={}
						splitparams=pairsofparams[i].split('=')
						if (len(splitparams))==2:
								param[splitparams[0]]=splitparams[1]
		return param
params=get_params()
url=None
name=None
mode=None
try:
		url=urllib.unquote_plus(params["url"])
except:
		pass
try:
		name=urllib.unquote_plus(params["name"])
except:
		pass
try:
		mode=int(params["mode"])
except:
		pass

if mode==None or url==None or len(url)<1:

	CATEGORIES()
elif mode==1: Belgesel()		
elif mode==2: Sinema()
elif mode==3: Dizi()
elif mode==4: canliyayin()
elif mode==5: Sinema1()
elif mode==6: Sinema2()
elif mode==7: Sinema3()
elif mode==8: Dizi1()
elif mode==9: Dizi2()
elif mode==11: Canli1()
elif mode==12: Canli2()
elif mode==14: Arama()
elif mode==15: Kategoriler()
elif mode==16: yetiskin()
elif mode==18: Canli3()
elif mode==19: Yeni(url)
elif mode==20: dizivideolinks(url,name)
elif mode==21: Yeni2(url)
elif mode==22: xbmctools.frame(url)
elif mode==24: xbmctools.dizividcal(url)
elif mode==25: Arama2()
elif mode==26: dizivideolinks2(url,name)
elif mode==27: Canli4()
elif mode==29: xbmctools.ayrisdirm1(url)
elif mode==30: yerlidizi3()
elif mode==31: Yeni3(url)
elif mode==38: Aramasinema1()
elif mode==40: ayrisdirma1(url)
elif mode==41: xbmctools.VIDEOLINKS1(name,url)
elif mode==42: xbmctools.yenical4(name,url)
elif mode==43: Yenisinema2(url)
elif mode==44: Search2()
elif mode==45: ayrisdirma2(url)
elif mode==46: Kategoriler2()
elif mode==47: Recent3(url)
elif mode==48: Aramasinema3()
elif mode==49: videolinks3(url,name)
elif mode==50: BRecent(url)
elif mode==51: BELayrisdirma(url)
elif mode==53: Recentyet(url)
elif mode==54: ayrisdirmayet(url)
elif mode==55: VideoLinksyet(name,url)
elif mode==56: INFOyet(url)
elif mode==59: VideoLinksyet2(name,url)
elif mode==60: INFOyet2(url)
elif mode==62: AlmanS()
elif mode==65: Yeni2alman1(url)
elif mode==66: Linkleralman1(url)
elif mode==67: sinemaRecent12(url)
elif mode==76: genelarama()
elif mode==78: RecentyetA(url)
elif mode==89: yeniler3(url)
elif mode==90: ulkeleregoresinema5(url)
elif mode==91: de_get(name,url)
elif mode==94: Recentsinema5(url)
elif mode==95: ayrisdirmasinema5(name,url)
elif mode==99: magix_player(name,url)
elif mode==100: ctv1(name,url)
elif mode==101: ctv2(url)
elif mode==105: radyo()
elif mode==107: xbmctools.radyocal(url)
elif mode==5000: calinma(url)
elif mode==116: Calcanli6(name,url)
elif mode==140: Diziara()
elif mode==199: yenical44(name,url)
elif mode==200: ayyris(url)
elif mode==201: a6666(url)
elif mode==2000: __settings__.openSettings()

xbmcplugin.endOfDirectory(int(sys.argv[1]))