Login
    
Login

31 January 2009 ~ 11 Comments

pfSense and OpenDNS ภาค 2 (VDO Tutorial)

เนื่องจากมี end user ถามผมว่าจะป้องกันและตรวจสอบอินเตอร์เน็ทที่บ้านไม่ให้เด็กๆ เข้าเว็บที่ไม่เหมาะสมได้อย่างไร ครั้งจะให้ติดตั้ง pfSense + proxy + url content filter ก็คงเป็นเรื่องลำบากพอสมควร ก็เลยตัดสินใจทำภาค 2 ออกมาต่อยอดจากของเดิม และเพิ่มเติมส่วนต่างๆ เข้าไปตาม Content ด้านล่างนี้

หัวข้อการบรรยาย

OpenDNS Setting
– Customization
– Advance settings
OpenDNS Shortcuts
การติดตั้ง OpenDNS on ADSL Router
การติดตั้ง OpenDNS สำหรับ Home user

โหลดไฟล์คุณภาพสูง วีดีโอสอน pfSense Firewall and OpenDNS ภาค 2 Link-1 | Link-2

บทความที่เกี่ยวข้อง

 

11 Responses to “pfSense and OpenDNS ภาค 2 (VDO Tutorial)”

  1. karamung 3 February 2009 at 11:36 pm Permalink

    สุดยอดครับ ตามหามานานแล้ว แล้วถ้าเราจะใช้pfsense จำกัดความเร็วในการdownload ควรจะตั้งค่า เซตยังไงอ่ะครับ

  2. laontalk 4 February 2009 at 12:38 am Permalink

    ใช้ squid proxy หรือ Traffic Shaper ก็ได้ครับ แนะนำว่าเป็น Traffic Shaper จะดีกว่า เพราะสามารถกรองได้ละเอียดถึงระดับ Application เลยทีเดียว นอกจากนี้ยังระบุให้ App นั้นๆ สามารถใช้ traffic มากหรือน้อยแตกต่างกันได้อีกด้วย

    ลองเล่นดูก่อนครับ เดี๋ยวว่างๆ ผมจะทำ VDO Tutorial มา Post ไว้เพื่อเป็นแนวทาง..

    การติดตั้งแบบ wizard ไปที่ Firewall -> Traffic Shaper

  3. laontalk 4 February 2009 at 12:42 am Permalink

    Traffic Shaping Guide
    http://devwiki.pfsense.org/TrafficShapingGuide

  4. karamung 4 February 2009 at 8:11 pm Permalink

    ขอบคุณมากครับ สำหรับความรู้ดีๆ จะค่อยติดตามผลงานท่านตลอดเลยครับ จากคนโคตรละอ่อน

  5. karamung 4 February 2009 at 8:17 pm Permalink

    TrafficShaping เครียดเลย เป็นภาษาอังกฤษ คงต้องเปิดดิกจนนิ้วแข็งแน่ๆ แต่ก็ขอบคุณสำหรับเว๊ปดีๆครับ

  6. dr.noi 7 April 2009 at 4:14 pm Permalink

    PFSene มันเก็บ Log ยังไง แนะนำที ครับ พอรีสตาร์ท Log มันก็หายหมดเลย ต้องไป Config ตรงไหน หรือ ต้องลงโปรแกรมเสริม

  7. laontalk 8 April 2009 at 2:42 pm Permalink

    ได้ดูคลิปบทความนี้หรือยัง ลองดูนะครับ
    ตอนที่3: การติดตั้ง Squid Proxy + Lightsquid

  8. 1978_papaya 27 May 2009 at 4:07 pm Permalink

    สนใจการ การทำ Captive portal แนะนำด้วยครับ
    เนื้อหาดีมากเลย ขอบคุณมากนะครับ

  9. laontalk 30 May 2009 at 6:15 am Permalink

    การทำ Captive Portal ตามนี้เลยครับ ติดตรงไหนแล้วค่อยสอบถามอีกที

    http://doc.pfsense.org/smiller/Captive_Portal.htm

  10. jaded999 16 June 2009 at 12:42 pm Permalink

    กำลังจะทำเน็ต 3 สายน่ะครับ พอจะอธิบายได้มั๊ยครับ ว่าควรทำการ config อย่างไรดีครับ เพราะหาอ่านในเว็ป แล้วยังไม่ค่อยเข้าใจเลยครับ

    • laontalk 21 June 2009 at 2:31 pm Permalink

      การทำ Mult-WAN ยังไม่ต้องถึงขั้น Loadbalance Failover นะครับ ให้นึกสถานการณ์ง่ายๆ คือ

      1. การต่อ 3WAN, 1LAN แสดงว่าเราต้องมี Lan interface 4 ports
      2. การเชื่อมต่อ WAN ให้ทำตามปกติ เช่น 1 x PPPoE, 2 x DHCP หรือ 1 PPPoE, 2 X Fixed IP Addresss หรือ 3 x DHCP หรือ 3 x Fixed IP Address
      3. เมื่อเรามี 3 WAN แสดงว่าเรามี 3 Gateway
      4. การกำหนด LAN Rule อาจจะใช้หลักการแยกเน็ต, แยกเกมส์, VDO Streaming
      5. เลือกกำหนด LAN Rule ในส่วนของ Destination ports และ Gateway ที่ต้องการให้ออก เช่น

      port: 1024 – 5000 —> Gateway 2
      port: 5001 – 65535 —> Gateway 3
      port: Any —> Gateway 1

      แค่นี้ก็ได้ Multi-WAN ครับ

      ลองศึกษาวิธีการทำ Muti-WAN จากลิงค์นี้ดูก่อนนะครับ

      http://doc.pfsense.org/index.php/MultiWanVersion1.2


Leave a Reply

คุณสามารถแทรกลิงค์รูปภาพประกอบ ความกว้างไม่เกิน 550px คลิกที่นี่.

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIOC4o+C4seC4geC4geC4seC4meC5hOC4p+C5ieC5gOC4luC4tOC4lCDguYDguKPguLLguYDguIHguLTguJTguKPguYjguKfguKHguYHguJTguJnguYTguJfguKIg4LiI4Liw4LmA4LiB4Li04LiU4Lig4Liy4LiE4LmE4Lir4LiZ4LiB4LmH4LmE4LiX4Lii4LiU4LmJ4Lin4Lii4LiB4Lix4LiZIOC5gOC4iuC4t+C5ieC4reC4quC4suC4ouC4m+C4o+C4sOC5gOC4nuC4k+C4teC5hOC4oeC5iOC4oeC4teC4geC4seC4lOC4geC4seC5ieC4mSDguYDguIHguLTguJTguYPguJXguYnguJjguIfguYTguJfguKLguJnguLHguYnguJnguJvguKfguIfguIrguJnguJfguLjguIHguITguJnguITguLfguK3guYTguJfguKIsIOC4l+C5ieC4reC4h+C4luC4tOC5iOC4meC5geC4q+C4peC4oeC4l+C4reC4hyDguYDguKvguKHguLfguK3guJnguJfguYnguK3guIfguILguK3guIfguYHguKHguYgg4LmA4LiB4Li04LiU4LiW4Li04LmI4LiZ4LmA4LiU4Li14Lii4Lin4LiB4Lix4LiZ4LmB4LiX4LmJ4LmA4Lir4Lih4Li34Lit4LiZ4LmB4Lih4LmI4LmA4LiU4Li14Lii4Lin4LiB4Lix4LiZ4LmD4LiK4LmI4LmE4Lir4LihIOC4ouC4suC4oeC4ieC4seC4meC4oeC4reC4h+C4leC4suC4hOC4uOC4kyDguK3guJrguK3guLjguYjguJnguJTguKfguIfguYPguIgg4LmA4Lir4LmH4LiZ4Liq4Liy4Lii4LmA4Lil4Li34Lit4LiU4LmE4LiX4LiiIOC5g+C4meC4quC4suC4ouC4leC4suC4muC4reC4geC4quC4suC4ouC4quC4seC4oeC4nuC4seC4meC4mOC5jCwg4LiX4Liw4LmA4Lil4LmB4Liq4LiZ4LiH4Liy4LihIOC5g+C4meC4meC5ieC4s+C4oeC4teC4m+C4peC4siDguJ7guLfguIrguJ7guLHguJnguJjguLjguYzguYDguIHguKXguLfguYjguK3guJnguJXguLLguJXguLLguKHguYTguKPguYjguJnguLLguKPguKfguIfguJfguK3guIfguYTguKrguKcg4Liq4Li04LiZ4LiX4Lij4Lix4Lie4Lii4LmM4Lih4Li14LmA4LiB4Lil4Li34LmI4Lit4LiZ4LiB4Lil4LmI4LiZIOC4muC4o+C4o+C4nuC4iuC4meC5g+C4q+C5ieC5hOC4p+C5iSDguYDguKPguLLguKXguLnguIHguKvguKXguLLguJnguYTguJfguKLguIjguIfguKPguYjguKfguKHguYPguIjguKPguLHguIHguKnguLLguYPguKvguYnguKHguLHguYjguJkuLi48L2xpPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF9hZHNlbnNlPC9zdHJvbmc+IC0gPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+PCEtLQ0KZ29vZ2xlX2FkX2NsaWVudCA9IFwicHViLTI2ODI5ODQ3MjYxMzMwMzBcIjsNCi8qIDI1MHgyNTAsIOC4luC4ueC4geC4quC4o+C5ieC4suC4h+C4guC4tuC5ieC4meC5geC4peC5ieC4pyAxMi8yOS8wOCAqLw0KZ29vZ2xlX2FkX3Nsb3QgPSBcIjI5MDE2NjI4MThcIjsNCmdvb2dsZV9hZF93aWR0aCA9IDI1MDsNCmdvb2dsZV9hZF9oZWlnaHQgPSAyNTA7DQovLy0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIg0Kc3JjPVwiaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qc1wiPg0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMjUweDI1MC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF8yNTBfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF9hZHNlbnNlPC9zdHJvbmc+IC0gPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+PCEtLQ0KZ29vZ2xlX2FkX2NsaWVudCA9IFwicHViLTI2ODI5ODQ3MjYxMzMwMzBcIjsNCi8qIDQ2OHg2MCwg4LiW4Li54LiB4Liq4Lij4LmJ4Liy4LiH4LiC4Li24LmJ4LiZ4LmB4Lil4LmJ4LinIDEyLzI5LzA4ICovDQpnb29nbGVfYWRfc2xvdCA9IFwiMzA5OTY4MzM5MlwiOw0KZ29vZ2xlX2FkX3dpZHRoID0gNDY4Ow0KZ29vZ2xlX2FkX2hlaWdodCA9IDYwOw0KLy8tLT4NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCINCnNyYz1cImh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanNcIj4NCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vaW1nLmJsdWVob3N0LmNvbS8xMjV4MTI1LzMuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly9pbWcuaG9zdG1vbnN0ZXIuY29tLzEyNXgxMjUvMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sdW5hcnBhZ2VzLmNvbS9iYW5uZXJzL2ltYWdlcy9iYW5uZXJfYWRzXzEyNXgxMjVfMDIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93cHdlYmhvc3QuY29tL2FmZmlsaWF0ZS9iYW5uZXJzL3dwYmFubmVyMTI1eDEyNS0xM2suZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3BhZ2U8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LmJsdWVob3N0LmNvbS90cmFjay9haXNob3AvYmxvZzAxPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmhvc3Rtb25zdGVyLmNvbS90cmFjay94aXJiaXQvYmxvZzAxPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmx1bmFycGFnZXMuY29tL2lkL3NlYXRlY2g8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93cHdlYmhvc3QuY29tL2FmZmlsaWF0ZS9pZGV2YWZmaWxpYXRlLnBocD9pZD0yOTdfMF8xXzE5PC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZGVmYXVsdC5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hcmNoaXZlc19wYWdlPC9zdHJvbmc+IC0gQXJjaGl2ZXM8L2xpPjxsaT48c3Ryb25nPndvb19hc2lkZXNfY2F0ZWdvcnk8L3N0cm9uZz4gLSBGZWF0dXJlZDwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19lbnRyaWVzPC9zdHJvbmc+IC0gMTwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dG9faW1nPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19iZ3I8L3N0cm9uZz4gLSBkZWZhdWx0LmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdF9leDwvc3Ryb25nPiAtIDE1PC9saT48bGk+PHN0cm9uZz53b29fY2F0X21lbnU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9ob21lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mYWNlYm9vazwvc3Ryb25nPiAtIG1hc2UudGI8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfZW50cmllczwvc3Ryb25nPiAtIDM8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9wb3N0czwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gMjc5NTM0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gaHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0xhb250YWxrPC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2VudHJpZXM8L3N0cm9uZz4gLSA2PC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2lkPC9zdHJvbmc+IC0gMzUzNjgxMzRATjA2PC9saT48bGk+PHN0cm9uZz53b29fZm9vdF9jYXRfbWVudTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdF9uYXZfZXhjbHVkZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpbmtfZGVzYzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGlua190ZXh0PC9zdHJvbmc+IC0gSG9tZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX2hlaWdodDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGF5b3V0PC9zdHJvbmc+IC0gZGVmYXVsdC5waHA8L2xpPjxsaT48c3Ryb25nPndvb19sb2dvPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vaW1hZ2VzL2xhb250YWxrX2xvZ28ucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9tYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gNDwvbGk+PGxpPjxzdHJvbmc+d29vX290aGVyX2hlYWRsaW5lczwvc3Ryb25nPiAtIDQ8L2xpPjxsaT48c3Ryb25nPndvb19wcm9maWxlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWRzX2JvdHRvbTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19mZWF0dXJlZDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X3ZpZGVvPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfd2lkdGg8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBNYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190d2l0dGVyPC9zdHJvbmc+IC0gbGFvbnRhbGs8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTo2OntpOjA7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnIjtpOjE7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy83LXRoYWkwMV9yZXNpemUuanBnIjtpOjI7czo2MzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LXdlbG92ZXRoYWkuanBnIjtpOjM7czo1NzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LXRoYWkucG5nIjtpOjQ7czo2NToiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy80LWlhbV9sYW9udGFsay5qcGciO2k6NTtzOjY1OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtaWFtX2xhb250YWxrLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX2NhdGVnb3J5PC9zdHJvbmc+IC0gVmlkZW9zPC9saT48L3VsPg==