[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page\u002Fid\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation":3,"page-\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation-id":382,"surroundings\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation-id":2246},[4],{"title":5,"ignore":6,"path":7,"stem":8,"children":9,"page":26},"Dokumentasi",true,"\u002Fid\u002Fdocs","id\u002F01.docs",[10,27,373],{"title":11,"path":12,"stem":13,"children":14,"page":-1},"Bahasa Indonesia","\u002Fid\u002Fdocs\u002Fwelcome","id\u002F01.docs\u002F01.welcome\u002F01.index",[15,17],{"title":16,"path":12,"stem":13},"Welcome",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Get Started","\u002Fid\u002Fdocs\u002Fwelcome\u002Fget-started","id\u002F01.docs\u002F01.welcome\u002F01.get-started",[22],{"title":23,"path":24,"stem":25},"Instalasi","\u002Fid\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation","id\u002F01.docs\u002F01.welcome\u002F01.get-started\u002F02.installation",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Alat Utama","\u002Fid\u002Fdocs\u002Fcore","id\u002F01.docs\u002F02.core",[32,57,69,78,87,110,142,151,159,168,176,185,206,234,263,290,317,344],{"title":33,"path":34,"stem":35,"children":36,"page":26},"MD5","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5","id\u002F01.docs\u002F02.core\u002F01.md5",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Pengenalan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F01.md5\u002F01.introduction",{"title":42,"path":43,"stem":44},"Penggunaan Dasar","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F01.md5\u002F02.basic-usage",{"title":46,"path":47,"stem":48},"Fitur Lanjutan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F01.md5\u002F03.advanced-features",{"title":50,"path":51,"stem":52},"Pertimbangan Keamanan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F01.md5\u002F04.security-considerations",{"title":54,"path":55,"stem":56},"Referensi API","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F01.md5\u002F05.api-reference",{"title":58,"path":59,"stem":60,"children":61,"page":26},"UUID","\u002Fid\u002Fdocs\u002Fcore\u002Fuuid","id\u002F01.docs\u002F02.core\u002F02.uuid",[62,65],{"title":38,"path":63,"stem":64},"\u002Fid\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F02.uuid\u002F01.introduction",{"title":66,"path":67,"stem":68},"API","\u002Fid\u002Fdocs\u002Fcore\u002Fuuid\u002Fapi","id\u002F01.docs\u002F02.core\u002F02.uuid\u002F02.api",{"title":70,"path":71,"stem":72,"children":73,"page":26},"Clock","\u002Fid\u002Fdocs\u002Fcore\u002Fclock","id\u002F01.docs\u002F02.core\u002F06.clock",[74],{"title":75,"path":76,"stem":77},"Clock Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fclock\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.clock\u002F0.introduction",{"title":79,"path":80,"stem":81,"children":82,"page":26},"Screenshot Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fscreenshot-tool","id\u002F01.docs\u002F02.core\u002F07.screenshot-tool",[83],{"title":84,"path":85,"stem":86},"Introduction","\u002Fid\u002Fdocs\u002Fcore\u002Fscreenshot-tool\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F07.screenshot-tool\u002F0.introduction",{"title":88,"path":89,"stem":90,"children":91,"page":26},"Area Converter","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter","id\u002F01.docs\u002F02.core\u002F08.area-converter",[92,96,99,102,106],{"title":93,"path":94,"stem":95},"Konverter Luas","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F0.introduction",{"title":42,"path":97,"stem":98},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F02.basic-usage",{"title":46,"path":100,"stem":101},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F03.advanced-features",{"title":103,"path":104,"stem":105},"Contoh","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fexamples","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F04.examples",{"title":107,"path":108,"stem":109},"Pertanyaan yang Sering Diajukan","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Ffaq","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F05.faq",{"title":111,"path":112,"stem":113,"children":114,"page":26},"Camera Recorder","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder","id\u002F01.docs\u002F02.core\u002F08.camera-recorder",[115,118,122,126,130,134,138],{"title":84,"path":116,"stem":117},"\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F0.introduction",{"title":119,"path":120,"stem":121},"Basic Usage","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F02.basic-usage",{"title":123,"path":124,"stem":125},"Advanced Features","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F03.advanced-features",{"title":127,"path":128,"stem":129},"Examples","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fexamples","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F04.examples",{"title":131,"path":132,"stem":133},"Frequently Asked Questions","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Ffaq","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F05.faq",{"title":135,"path":136,"stem":137},"Related Tools","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F06.related-tools",{"title":139,"path":140,"stem":141},"Security Considerations","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F07.security-considerations",{"title":143,"path":144,"stem":145,"children":146,"page":26},"Keycode Info","\u002Fid\u002Fdocs\u002Fcore\u002Fkeycode-info","id\u002F01.docs\u002F02.core\u002F13.keycode-info",[147],{"title":148,"path":149,"stem":150},"Informasi Kode Tombol - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Fkeycode-info\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F13.keycode-info\u002F0.introduction",{"title":152,"path":153,"stem":154,"children":155,"page":26},"Xml To Json","\u002Fid\u002Fdocs\u002Fcore\u002Fxml-to-json","id\u002F01.docs\u002F02.core\u002F16.xml-to-json",[156],{"title":84,"path":157,"stem":158},"\u002Fid\u002Fdocs\u002Fcore\u002Fxml-to-json\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F16.xml-to-json\u002F0.introduction",{"title":160,"path":161,"stem":162,"children":163,"page":26},"Text Replacer","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-replacer","id\u002F01.docs\u002F02.core\u002F19.text-replacer",[164],{"title":165,"path":166,"stem":167},"Alat Pengganti Teks - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-replacer\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F19.text-replacer\u002F01.introduction",{"title":169,"path":170,"stem":171,"children":172,"page":26},"Temperature Converter","\u002Fid\u002Fdocs\u002Fcore\u002Ftemperature-converter","id\u002F01.docs\u002F02.core\u002F20.temperature-converter",[173],{"title":84,"path":174,"stem":175},"\u002Fid\u002Fdocs\u002Fcore\u002Ftemperature-converter\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F20.temperature-converter\u002F0.introduction",{"title":177,"path":178,"stem":179,"children":180,"page":26},"Black Wallpaper","\u002Fid\u002Fdocs\u002Fcore\u002Fblack-wallpaper","id\u002F01.docs\u002F02.core\u002F23.black-wallpaper",[181],{"title":182,"path":183,"stem":184},"Generator Wallpaper Hitam","\u002Fid\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F0.introduction",{"title":186,"path":187,"stem":188,"children":189,"page":26},"Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff","id\u002F01.docs\u002F02.core\u002F23.text-diff",[190,194,198,202],{"title":191,"path":192,"stem":193},"Alat Text Diff - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F0.introduction",{"title":195,"path":196,"stem":197},"Penggunaan Dasar - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F02.basic-usage",{"title":199,"path":200,"stem":201},"Fitur Lanjutan - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F03.advanced-features",{"title":203,"path":204,"stem":205},"Contoh - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F04.examples",{"title":207,"path":208,"stem":209,"children":210,"page":26},"M3u8 Player","\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player","id\u002F01.docs\u002F02.core\u002F26.m3u8-player",[211,214,217,220,223,227,230],{"title":84,"path":212,"stem":213},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F0.introduction",{"title":42,"path":215,"stem":216},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F02.basic-usage",{"title":46,"path":218,"stem":219},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F03.advanced-features",{"title":54,"path":221,"stem":222},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F05.api-reference",{"title":224,"path":225,"stem":226},"Contoh Kode","\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fexamples","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F06.examples",{"title":107,"path":228,"stem":229},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Ffaq","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F07.faq",{"title":231,"path":232,"stem":233},"Alat Terkait","\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F08.related-tools",{"title":235,"path":236,"stem":237,"children":238,"page":26},"Screen Dead Pixel Detector","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector",[239,243,246,249,253,256,260],{"title":240,"path":241,"stem":242},"Detektor Piksel Mati Layar","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F0.introduction",{"title":42,"path":244,"stem":245},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F02.basic-usage",{"title":46,"path":247,"stem":248},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F03.advanced-features",{"title":250,"path":251,"stem":252},"Keamanan & Privasi","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F04.security-considerations",{"title":103,"path":254,"stem":255},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fexamples","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F06.examples",{"title":257,"path":258,"stem":259},"FAQ","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Ffaq","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F07.faq",{"title":231,"path":261,"stem":262},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F08.related-tools",{"title":264,"path":265,"stem":266,"children":267,"page":26},"Survey Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool","id\u002F01.docs\u002F02.core\u002F31.survey-tool",[268,272,275,278,281,284,287],{"title":269,"path":270,"stem":271},"Alat Survei","\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F0.introduction",{"title":42,"path":273,"stem":274},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F02.basic-usage",{"title":46,"path":276,"stem":277},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F03.advanced-features",{"title":50,"path":279,"stem":280},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F04.security-considerations",{"title":103,"path":282,"stem":283},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fexamples","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F06.examples",{"title":257,"path":285,"stem":286},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Ffaq","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F07.faq",{"title":231,"path":288,"stem":289},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F08.related-tools",{"title":291,"path":292,"stem":293,"children":294,"page":26},"Vue Office","\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office","id\u002F01.docs\u002F02.core\u002F32.vue-office",[295,299,302,305,308,311,314],{"title":296,"path":297,"stem":298},"Penampil Dokumen Vue Office","\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F0.introduction",{"title":42,"path":300,"stem":301},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F02.basic-usage",{"title":46,"path":303,"stem":304},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F03.advanced-features",{"title":50,"path":306,"stem":307},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F04.security-considerations",{"title":103,"path":309,"stem":310},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fexamples","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F06.examples",{"title":257,"path":312,"stem":313},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Ffaq","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F07.faq",{"title":231,"path":315,"stem":316},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F08.related-tools",{"title":318,"path":319,"stem":320,"children":321,"page":26},"Event Calendar","\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar","id\u002F01.docs\u002F02.core\u002F33.event-calendar",[322,326,329,332,335,338,341],{"title":323,"path":324,"stem":325},"Kalender Acara","\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F0.introduction",{"title":42,"path":327,"stem":328},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F02.basic-usage",{"title":46,"path":330,"stem":331},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F03.advanced-features",{"title":50,"path":333,"stem":334},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F04.security-considerations",{"title":103,"path":336,"stem":337},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fexamples","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F06.examples",{"title":257,"path":339,"stem":340},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Ffaq","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F07.faq",{"title":231,"path":342,"stem":343},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F08.related-tools",{"title":345,"path":346,"stem":347,"children":348,"page":26},"Base64","\u002Fid\u002Fdocs\u002Fcore\u002Fbase64","id\u002F01.docs\u002F02.core\u002Fbase64",[349,352,355,358,361,364,367,370],{"title":84,"path":350,"stem":351},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fintroduction","id\u002F01.docs\u002F02.core\u002Fbase64\u002F0.introduction",{"title":42,"path":353,"stem":354},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002Fbase64\u002F02.basic-usage",{"title":46,"path":356,"stem":357},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002Fbase64\u002F03.advanced-features",{"title":50,"path":359,"stem":360},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002Fbase64\u002F04.security-considerations",{"title":54,"path":362,"stem":363},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002Fbase64\u002F05.api-reference",{"title":103,"path":365,"stem":366},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fexamples","id\u002F01.docs\u002F02.core\u002Fbase64\u002F06.examples",{"title":107,"path":368,"stem":369},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Ffaq","id\u002F01.docs\u002F02.core\u002Fbase64\u002F07.faq",{"title":231,"path":371,"stem":372},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002Fbase64\u002F08.related-tools",{"title":374,"path":375,"stem":376,"children":377,"page":26},"Troubleshooting","\u002Fid\u002Fdocs\u002Ftroubleshooting","id\u002F01.docs\u002F06.troubleshooting",[378],{"title":379,"path":380,"stem":381},"Pertanyaan Umum","\u002Fid\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","id\u002F01.docs\u002F06.troubleshooting\u002F01.common-issues",{"id":383,"title":23,"body":384,"description":2240,"extension":2241,"meta":2242,"navigation":6,"path":24,"seo":2243,"sitemap":2244,"stem":25,"__hash__":2245},"content_id\u002Fid\u002F01.docs\u002F01.welcome\u002F01.get-started\u002F02.installation.md",{"type":385,"value":386,"toc":2172},"minimark",[387,392,396,401,406,434,438,454,458,469,473,477,497,501,665,669,673,681,685,768,772,776,826,830,892,896,900,968,972,995,999,1003,1051,1055,1070,1074,1078,1103,1107,1127,1131,1135,1150,1154,1215,1219,1223,1238,1242,1262,1266,1270,1316,1320,1376,1380,1384,1399,1402,1506,1510,1514,1528,1532,1618,1621,1625,1674,1678,1734,1737,1741,1746,1796,1800,1846,1850,1883,1887,1927,1931,1935,1986,1990,2037,2041,2045,2068,2072,2102,2106,2155,2158,2168],[388,389,391],"h1",{"id":390},"panduan-instalasi","Panduan Instalasi",[393,394,395],"p",{},"Selamat datang di platform kami. Panduan ini akan membantu Anda mengatur dan mulai menggunakan semua alat dan fungsionalitas yang tersedia.",[397,398,400],"h2",{"id":399},"persyaratan-sistem","Persyaratan Sistem",[402,403,405],"h3",{"id":404},"browser-yang-didukung","Browser yang Didukung",[407,408,409,417,423,429],"ul",{},[410,411,412,416],"li",{},[413,414,415],"strong",{},"Chrome"," 90+",[410,418,419,422],{},[413,420,421],{},"Firefox"," 88+",[410,424,425,428],{},[413,426,427],{},"Safari"," 14+",[410,430,431,416],{},[413,432,433],{},"Edge",[402,435,437],{"id":436},"perangkat-mobile","Perangkat Mobile",[407,439,440,445,451],{},[410,441,442,428],{},[413,443,444],{},"iOS",[410,446,447,450],{},[413,448,449],{},"Android"," 8+",[410,452,453],{},"Browser mobile modern",[402,455,457],{"id":456},"persyaratan-jaringan","Persyaratan Jaringan",[407,459,460,463,466],{},[410,461,462],{},"Koneksi internet stabil",[410,464,465],{},"Bandwidth minimum: 1 Mbps",[410,467,468],{},"Direkomendasikan: 5+ Mbps untuk pengalaman yang lebih baik",[397,470,472],{"id":471},"instalasi-lokal-pengembang","Instalasi Lokal (Pengembang)",[402,474,476],{"id":475},"prasyarat","Prasyarat",[407,478,479,485,491],{},[410,480,481,484],{},[413,482,483],{},"Node.js"," 18.0+",[410,486,487,490],{},[413,488,489],{},"pnpm"," 8.0+",[410,492,493,496],{},[413,494,495],{},"Git"," 2.30+",[402,498,500],{"id":499},"langkah-instalasi","Langkah Instalasi",[502,503,504,545,562,589,642],"ol",{},[410,505,506,509],{},[413,507,508],{},"Clone Repository",[510,511,516],"pre",{"className":512,"code":513,"language":514,"meta":515,"style":515},"language-bash shiki shiki-themes github-light github-light dark-plus","git clone https:\u002F\u002Fgithub.com\u002Fyour-org\u002Fwokerjob-tools.git\ncd wokerjob-tools\n","bash","",[517,518,519,535],"code",{"__ignoreMap":515},[520,521,524,528,532],"span",{"class":522,"line":523},"line",1,[520,525,527],{"class":526},"sqMzV","git",[520,529,531],{"class":530},"sjj1j"," clone",[520,533,534],{"class":530}," https:\u002F\u002Fgithub.com\u002Fyour-org\u002Fwokerjob-tools.git\n",[520,536,538,542],{"class":522,"line":537},2,[520,539,541],{"class":540},"symQ-","cd",[520,543,544],{"class":530}," wokerjob-tools\n",[410,546,547,550],{},[413,548,549],{},"Instal Dependensi",[510,551,553],{"className":512,"code":552,"language":514,"meta":515,"style":515},"pnpm install\n",[517,554,555],{"__ignoreMap":515},[520,556,557,559],{"class":522,"line":523},[520,558,489],{"class":526},[520,560,561],{"class":530}," install\n",[410,563,564,567],{},[413,565,566],{},"Konfigurasi Variabel Lingkungan",[510,568,570],{"className":512,"code":569,"language":514,"meta":515,"style":515},"cp .env.example .env\n# Edit .env dengan konfigurasi Anda\n",[517,571,572,583],{"__ignoreMap":515},[520,573,574,577,580],{"class":522,"line":523},[520,575,576],{"class":526},"cp",[520,578,579],{"class":530}," .env.example",[520,581,582],{"class":530}," .env\n",[520,584,585],{"class":522,"line":537},[520,586,588],{"class":587},"sLEZ0","# Edit .env dengan konfigurasi Anda\n",[410,590,591,594],{},[413,592,593],{},"Mulai Layanan",[510,595,597],{"className":512,"code":596,"language":514,"meta":515,"style":515},"# Mulai backend\npnpm --filter back-end dev\n\n# Di terminal lain, mulai frontend\npnpm --filter web dev\n",[517,598,599,604,618,624,630],{"__ignoreMap":515},[520,600,601],{"class":522,"line":523},[520,602,603],{"class":587},"# Mulai backend\n",[520,605,606,608,612,615],{"class":522,"line":537},[520,607,489],{"class":526},[520,609,611],{"class":610},"sLV08"," --filter",[520,613,614],{"class":530}," back-end",[520,616,617],{"class":530}," dev\n",[520,619,621],{"class":522,"line":620},3,[520,622,623],{"emptyLinePlaceholder":6},"\n",[520,625,627],{"class":522,"line":626},4,[520,628,629],{"class":587},"# Di terminal lain, mulai frontend\n",[520,631,633,635,637,640],{"class":522,"line":632},5,[520,634,489],{"class":526},[520,636,611],{"class":610},[520,638,639],{"class":530}," web",[520,641,617],{"class":530},[410,643,644,647],{},[413,645,646],{},"Verifikasi Instalasi",[407,648,649,658],{},[410,650,651,652],{},"Backend: ",[653,654,655],"a",{"href":655,"rel":656},"http:\u002F\u002Flocalhost:3000",[657],"nofollow",[410,659,660,661],{},"Frontend: ",[653,662,663],{"href":663,"rel":664},"http:\u002F\u002Flocalhost:3001",[657],[397,666,668],{"id":667},"konfigurasi-pengembangan","Konfigurasi Pengembangan",[402,670,672],{"id":671},"struktur-proyek","Struktur Proyek",[510,674,679],{"className":675,"code":677,"language":678},[676],"language-text","wokerjob-tools\u002F\n├── apps\u002F\n│   ├── back-end\u002F     # API NestJS\n│   └── web\u002F          # Frontend Nuxt.js\n├── packages\u002F         # Paket bersama\n└── docs\u002F            # Dokumentasi\n","text",[517,680,677],{"__ignoreMap":515},[402,682,684],{"id":683},"script-yang-tersedia","Script yang Tersedia",[510,686,688],{"className":512,"code":687,"language":514,"meta":515,"style":515},"# Pengembangan\npnpm dev              # Mulai semua layanan\npnpm build            # Build untuk produksi\npnpm test             # Jalankan test\npnpm lint             # Periksa kode\n\n# Manajemen konten\npnpm content:check    # Verifikasi sinkronisasi multibahasa\npnpm content:init     # Inisialisasi struktur bahasa\n",[517,689,690,695,705,715,725,735,740,746,757],{"__ignoreMap":515},[520,691,692],{"class":522,"line":523},[520,693,694],{"class":587},"# Pengembangan\n",[520,696,697,699,702],{"class":522,"line":537},[520,698,489],{"class":526},[520,700,701],{"class":530}," dev",[520,703,704],{"class":587},"              # Mulai semua layanan\n",[520,706,707,709,712],{"class":522,"line":620},[520,708,489],{"class":526},[520,710,711],{"class":530}," build",[520,713,714],{"class":587},"            # Build untuk produksi\n",[520,716,717,719,722],{"class":522,"line":626},[520,718,489],{"class":526},[520,720,721],{"class":530}," test",[520,723,724],{"class":587},"             # Jalankan test\n",[520,726,727,729,732],{"class":522,"line":632},[520,728,489],{"class":526},[520,730,731],{"class":530}," lint",[520,733,734],{"class":587},"             # Periksa kode\n",[520,736,738],{"class":522,"line":737},6,[520,739,623],{"emptyLinePlaceholder":6},[520,741,743],{"class":522,"line":742},7,[520,744,745],{"class":587},"# Manajemen konten\n",[520,747,749,751,754],{"class":522,"line":748},8,[520,750,489],{"class":526},[520,752,753],{"class":530}," content:check",[520,755,756],{"class":587},"    # Verifikasi sinkronisasi multibahasa\n",[520,758,760,762,765],{"class":522,"line":759},9,[520,761,489],{"class":526},[520,763,764],{"class":530}," content:init",[520,766,767],{"class":587},"     # Inisialisasi struktur bahasa\n",[397,769,771],{"id":770},"konfigurasi-produksi","Konfigurasi Produksi",[402,773,775],{"id":774},"docker-direkomendasikan","Docker (Direkomendasikan)",[510,777,779],{"className":512,"code":778,"language":514,"meta":515,"style":515},"# Build image\ndocker build -t wokerjob-tools .\n\n# Jalankan container\ndocker run -p 3000:3000 wokerjob-tools\n",[517,780,781,786,802,806,811],{"__ignoreMap":515},[520,782,783],{"class":522,"line":523},[520,784,785],{"class":587},"# Build image\n",[520,787,788,791,793,796,799],{"class":522,"line":537},[520,789,790],{"class":526},"docker",[520,792,711],{"class":530},[520,794,795],{"class":610}," -t",[520,797,798],{"class":530}," wokerjob-tools",[520,800,801],{"class":530}," .\n",[520,803,804],{"class":522,"line":620},[520,805,623],{"emptyLinePlaceholder":6},[520,807,808],{"class":522,"line":626},[520,809,810],{"class":587},"# Jalankan container\n",[520,812,813,815,818,821,824],{"class":522,"line":632},[520,814,790],{"class":526},[520,816,817],{"class":530}," run",[520,819,820],{"class":610}," -p",[520,822,823],{"class":530}," 3000:3000",[520,825,544],{"class":530},[402,827,829],{"id":828},"deploy-manual","Deploy Manual",[502,831,832,849,865],{},[410,833,834,837],{},[413,835,836],{},"Build Aplikasi",[510,838,840],{"className":512,"code":839,"language":514,"meta":515,"style":515},"pnpm build\n",[517,841,842],{"__ignoreMap":515},[520,843,844,846],{"class":522,"line":523},[520,845,489],{"class":526},[520,847,848],{"class":530}," build\n",[410,850,851,854],{},[413,852,853],{},"Konfigurasi Server",[407,855,856,859,862],{},[410,857,858],{},"Node.js 18+",[410,860,861],{},"PM2 atau serupa untuk manajemen proses",[410,863,864],{},"Nginx untuk reverse proxy",[410,866,867,870],{},[413,868,869],{},"Variabel Lingkungan Produksi",[510,871,875],{"className":872,"code":873,"language":874,"meta":515,"style":515},"language-env shiki shiki-themes github-light github-light dark-plus","NODE_ENV=production\nDATABASE_URL=your_database_url\nJWT_SECRET=your_jwt_secret\n","env",[517,876,877,882,887],{"__ignoreMap":515},[520,878,879],{"class":522,"line":523},[520,880,881],{},"NODE_ENV=production\n",[520,883,884],{"class":522,"line":537},[520,885,886],{},"DATABASE_URL=your_database_url\n",[520,888,889],{"class":522,"line":620},[520,890,891],{},"JWT_SECRET=your_jwt_secret\n",[397,893,895],{"id":894},"konfigurasi-database","Konfigurasi Database",[402,897,899],{"id":898},"postgresql-direkomendasikan","PostgreSQL (Direkomendasikan)",[510,901,903],{"className":512,"code":902,"language":514,"meta":515,"style":515},"# Instal PostgreSQL\nsudo apt-get install postgresql postgresql-contrib\n\n# Buat database\nsudo -u postgres createdb woker_job\n\n# Jalankan migrasi\npnpm migration:run\n",[517,904,905,910,927,931,936,952,956,961],{"__ignoreMap":515},[520,906,907],{"class":522,"line":523},[520,908,909],{"class":587},"# Instal PostgreSQL\n",[520,911,912,915,918,921,924],{"class":522,"line":537},[520,913,914],{"class":526},"sudo",[520,916,917],{"class":530}," apt-get",[520,919,920],{"class":530}," install",[520,922,923],{"class":530}," postgresql",[520,925,926],{"class":530}," postgresql-contrib\n",[520,928,929],{"class":522,"line":620},[520,930,623],{"emptyLinePlaceholder":6},[520,932,933],{"class":522,"line":626},[520,934,935],{"class":587},"# Buat database\n",[520,937,938,940,943,946,949],{"class":522,"line":632},[520,939,914],{"class":526},[520,941,942],{"class":610}," -u",[520,944,945],{"class":530}," postgres",[520,947,948],{"class":530}," createdb",[520,950,951],{"class":530}," woker_job\n",[520,953,954],{"class":522,"line":737},[520,955,623],{"emptyLinePlaceholder":6},[520,957,958],{"class":522,"line":742},[520,959,960],{"class":587},"# Jalankan migrasi\n",[520,962,963,965],{"class":522,"line":748},[520,964,489],{"class":526},[520,966,967],{"class":530}," migration:run\n",[402,969,971],{"id":970},"sqlite-pengembangan","SQLite (Pengembangan)",[510,973,975],{"className":512,"code":974,"language":514,"meta":515,"style":515},"# Konfigurasi di .env\nDATABASE_URL=\"file:.\u002Fdev.db\"\n",[517,976,977,982],{"__ignoreMap":515},[520,978,979],{"class":522,"line":523},[520,980,981],{"class":587},"# Konfigurasi di .env\n",[520,983,984,988,992],{"class":522,"line":537},[520,985,987],{"class":986},"szTj3","DATABASE_URL",[520,989,991],{"class":990},"sGmsN","=",[520,993,994],{"class":530},"\"file:.\u002Fdev.db\"\n",[397,996,998],{"id":997},"konfigurasi-autentikasi","Konfigurasi Autentikasi",[402,1000,1002],{"id":1001},"oauth-20","OAuth 2.0",[502,1004,1005,1021],{},[410,1006,1007,1010],{},[413,1008,1009],{},"Konfigurasi Provider",[407,1011,1012,1015,1018],{},[410,1013,1014],{},"Google OAuth",[410,1016,1017],{},"GitHub OAuth",[410,1019,1020],{},"Microsoft OAuth",[410,1022,1023,1026],{},[413,1024,1025],{},"Variabel Lingkungan",[510,1027,1029],{"className":872,"code":1028,"language":874,"meta":515,"style":515},"GOOGLE_CLIENT_ID=your_google_client_id\nGOOGLE_CLIENT_SECRET=your_google_client_secret\nGITHUB_CLIENT_ID=your_github_client_id\nGITHUB_CLIENT_SECRET=your_github_client_secret\n",[517,1030,1031,1036,1041,1046],{"__ignoreMap":515},[520,1032,1033],{"class":522,"line":523},[520,1034,1035],{},"GOOGLE_CLIENT_ID=your_google_client_id\n",[520,1037,1038],{"class":522,"line":537},[520,1039,1040],{},"GOOGLE_CLIENT_SECRET=your_google_client_secret\n",[520,1042,1043],{"class":522,"line":620},[520,1044,1045],{},"GITHUB_CLIENT_ID=your_github_client_id\n",[520,1047,1048],{"class":522,"line":626},[520,1049,1050],{},"GITHUB_CLIENT_SECRET=your_github_client_secret\n",[402,1052,1054],{"id":1053},"jwt","JWT",[510,1056,1058],{"className":872,"code":1057,"language":874,"meta":515,"style":515},"JWT_SECRET=your_jwt_secret_key\nJWT_EXPIRES_IN=7d\n",[517,1059,1060,1065],{"__ignoreMap":515},[520,1061,1062],{"class":522,"line":523},[520,1063,1064],{},"JWT_SECRET=your_jwt_secret_key\n",[520,1066,1067],{"class":522,"line":537},[520,1068,1069],{},"JWT_EXPIRES_IN=7d\n",[397,1071,1073],{"id":1072},"konfigurasi-email","Konfigurasi Email",[402,1075,1077],{"id":1076},"smtp","SMTP",[510,1079,1081],{"className":872,"code":1080,"language":874,"meta":515,"style":515},"SMTP_HOST=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USER=your_email@gmail.com\nSMTP_PASS=your_app_password\n",[517,1082,1083,1088,1093,1098],{"__ignoreMap":515},[520,1084,1085],{"class":522,"line":523},[520,1086,1087],{},"SMTP_HOST=smtp.gmail.com\n",[520,1089,1090],{"class":522,"line":537},[520,1091,1092],{},"SMTP_PORT=587\n",[520,1094,1095],{"class":522,"line":620},[520,1096,1097],{},"SMTP_USER=your_email@gmail.com\n",[520,1099,1100],{"class":522,"line":626},[520,1101,1102],{},"SMTP_PASS=your_app_password\n",[402,1104,1106],{"id":1105},"layanan-email","Layanan Email",[407,1108,1109,1115,1121],{},[410,1110,1111,1114],{},[413,1112,1113],{},"SendGrid",": Untuk pengiriman massal",[410,1116,1117,1120],{},[413,1118,1119],{},"Mailgun",": Untuk transaksional",[410,1122,1123,1126],{},[413,1124,1125],{},"AWS SES",": Untuk skalabilitas",[397,1128,1130],{"id":1129},"konfigurasi-penyimpanan","Konfigurasi Penyimpanan",[402,1132,1134],{"id":1133},"lokal","Lokal",[510,1136,1138],{"className":872,"code":1137,"language":874,"meta":515,"style":515},"STORAGE_TYPE=local\nSTORAGE_PATH=.\u002Fuploads\n",[517,1139,1140,1145],{"__ignoreMap":515},[520,1141,1142],{"class":522,"line":523},[520,1143,1144],{},"STORAGE_TYPE=local\n",[520,1146,1147],{"class":522,"line":537},[520,1148,1149],{},"STORAGE_PATH=.\u002Fuploads\n",[402,1151,1153],{"id":1152},"cloud-storage","Cloud Storage",[510,1155,1157],{"className":872,"code":1156,"language":874,"meta":515,"style":515},"# AWS S3\nSTORAGE_TYPE=s3\nAWS_ACCESS_KEY_ID=your_access_key\nAWS_SECRET_ACCESS_KEY=your_secret_key\nAWS_REGION=us-east-1\nAWS_BUCKET=your_bucket_name\n\n# Google Cloud Storage\nSTORAGE_TYPE=gcs\nGCS_PROJECT_ID=your_project_id\nGCS_BUCKET=your_bucket_name\n",[517,1158,1159,1164,1169,1174,1179,1184,1189,1193,1198,1203,1209],{"__ignoreMap":515},[520,1160,1161],{"class":522,"line":523},[520,1162,1163],{},"# AWS S3\n",[520,1165,1166],{"class":522,"line":537},[520,1167,1168],{},"STORAGE_TYPE=s3\n",[520,1170,1171],{"class":522,"line":620},[520,1172,1173],{},"AWS_ACCESS_KEY_ID=your_access_key\n",[520,1175,1176],{"class":522,"line":626},[520,1177,1178],{},"AWS_SECRET_ACCESS_KEY=your_secret_key\n",[520,1180,1181],{"class":522,"line":632},[520,1182,1183],{},"AWS_REGION=us-east-1\n",[520,1185,1186],{"class":522,"line":737},[520,1187,1188],{},"AWS_BUCKET=your_bucket_name\n",[520,1190,1191],{"class":522,"line":742},[520,1192,623],{"emptyLinePlaceholder":6},[520,1194,1195],{"class":522,"line":748},[520,1196,1197],{},"# Google Cloud Storage\n",[520,1199,1200],{"class":522,"line":759},[520,1201,1202],{},"STORAGE_TYPE=gcs\n",[520,1204,1206],{"class":522,"line":1205},10,[520,1207,1208],{},"GCS_PROJECT_ID=your_project_id\n",[520,1210,1212],{"class":522,"line":1211},11,[520,1213,1214],{},"GCS_BUCKET=your_bucket_name\n",[397,1216,1218],{"id":1217},"konfigurasi-monitoring","Konfigurasi Monitoring",[402,1220,1222],{"id":1221},"logs","Logs",[510,1224,1226],{"className":872,"code":1225,"language":874,"meta":515,"style":515},"LOG_LEVEL=info\nLOG_FORMAT=json\n",[517,1227,1228,1233],{"__ignoreMap":515},[520,1229,1230],{"class":522,"line":523},[520,1231,1232],{},"LOG_LEVEL=info\n",[520,1234,1235],{"class":522,"line":537},[520,1236,1237],{},"LOG_FORMAT=json\n",[402,1239,1241],{"id":1240},"metrik","Metrik",[407,1243,1244,1250,1256],{},[410,1245,1246,1249],{},[413,1247,1248],{},"Prometheus",": Untuk metrik sistem",[410,1251,1252,1255],{},[413,1253,1254],{},"Grafana",": Untuk visualisasi",[410,1257,1258,1261],{},[413,1259,1260],{},"Sentry",": Untuk monitoring error",[397,1263,1265],{"id":1264},"konfigurasi-keamanan","Konfigurasi Keamanan",[402,1267,1269],{"id":1268},"https","HTTPS",[510,1271,1273],{"className":512,"code":1272,"language":514,"meta":515,"style":515},"# Generate sertifikat SSL\nopenssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365\n",[517,1274,1275,1280],{"__ignoreMap":515},[520,1276,1277],{"class":522,"line":523},[520,1278,1279],{"class":587},"# Generate sertifikat SSL\n",[520,1281,1282,1285,1288,1291,1294,1297,1300,1303,1306,1309,1312],{"class":522,"line":537},[520,1283,1284],{"class":526},"openssl",[520,1286,1287],{"class":530}," req",[520,1289,1290],{"class":610}," -x509",[520,1292,1293],{"class":610}," -newkey",[520,1295,1296],{"class":530}," rsa:4096",[520,1298,1299],{"class":610}," -keyout",[520,1301,1302],{"class":530}," key.pem",[520,1304,1305],{"class":610}," -out",[520,1307,1308],{"class":530}," cert.pem",[520,1310,1311],{"class":610}," -days",[520,1313,1315],{"class":1314},"sewGd"," 365\n",[402,1317,1319],{"id":1318},"security-headers","Security Headers",[510,1321,1325],{"className":1322,"code":1323,"language":1324,"meta":515,"style":515},"language-javascript shiki shiki-themes github-light github-light dark-plus","\u002F\u002F Konfigurasi di Nuxt.js\nexport default {\n  serverMiddleware: [{ path: \"\u002Fapi\", handler: \"~\u002Fserver-middleware\u002Fsecurity.js\" }],\n};\n","javascript",[517,1326,1327,1332,1345,1371],{"__ignoreMap":515},[520,1328,1329],{"class":522,"line":523},[520,1330,1331],{"class":587},"\u002F\u002F Konfigurasi di Nuxt.js\n",[520,1333,1334,1338,1341],{"class":522,"line":537},[520,1335,1337],{"class":1336},"srAhW","export",[520,1339,1340],{"class":1336}," default",[520,1342,1344],{"class":1343},"svVIm"," {\n",[520,1346,1347,1350,1353,1356,1359,1362,1365,1368],{"class":522,"line":620},[520,1348,1349],{"class":986},"  serverMiddleware:",[520,1351,1352],{"class":1343}," [{ ",[520,1354,1355],{"class":986},"path:",[520,1357,1358],{"class":530}," \"\u002Fapi\"",[520,1360,1361],{"class":1343},", ",[520,1363,1364],{"class":986},"handler:",[520,1366,1367],{"class":530}," \"~\u002Fserver-middleware\u002Fsecurity.js\"",[520,1369,1370],{"class":1343}," }],\n",[520,1372,1373],{"class":522,"line":626},[520,1374,1375],{"class":1343},"};\n",[397,1377,1379],{"id":1378},"konfigurasi-cache","Konfigurasi Cache",[402,1381,1383],{"id":1382},"redis","Redis",[510,1385,1387],{"className":872,"code":1386,"language":874,"meta":515,"style":515},"REDIS_URL=redis:\u002F\u002Flocalhost:6379\nREDIS_PASSWORD=your_redis_password\n",[517,1388,1389,1394],{"__ignoreMap":515},[520,1390,1391],{"class":522,"line":523},[520,1392,1393],{},"REDIS_URL=redis:\u002F\u002Flocalhost:6379\n",[520,1395,1396],{"class":522,"line":537},[520,1397,1398],{},"REDIS_PASSWORD=your_redis_password\n",[402,1400,1379],{"id":1401},"konfigurasi-cache-1",[510,1403,1405],{"className":1322,"code":1404,"language":1324,"meta":515,"style":515},"\u002F\u002F Konfigurasi di NestJS\nimport { CacheModule } from \"@nestjs\u002Fcache-manager\";\nimport { redisStore } from \"cache-manager-redis-store\";\n\nCacheModule.register({\n  store: redisStore,\n  host: \"localhost\",\n  port: 6379,\n});\n",[517,1406,1407,1412,1435,1453,1457,1470,1481,1491,1501],{"__ignoreMap":515},[520,1408,1409],{"class":522,"line":523},[520,1410,1411],{"class":587},"\u002F\u002F Konfigurasi di NestJS\n",[520,1413,1414,1417,1420,1423,1426,1429,1432],{"class":522,"line":537},[520,1415,1416],{"class":1336},"import",[520,1418,1419],{"class":1343}," { ",[520,1421,1422],{"class":986},"CacheModule",[520,1424,1425],{"class":1343}," } ",[520,1427,1428],{"class":1336},"from",[520,1430,1431],{"class":530}," \"@nestjs\u002Fcache-manager\"",[520,1433,1434],{"class":1343},";\n",[520,1436,1437,1439,1441,1444,1446,1448,1451],{"class":522,"line":620},[520,1438,1416],{"class":1336},[520,1440,1419],{"class":1343},[520,1442,1443],{"class":986},"redisStore",[520,1445,1425],{"class":1343},[520,1447,1428],{"class":1336},[520,1449,1450],{"class":530}," \"cache-manager-redis-store\"",[520,1452,1434],{"class":1343},[520,1454,1455],{"class":522,"line":626},[520,1456,623],{"emptyLinePlaceholder":6},[520,1458,1459,1461,1464,1467],{"class":522,"line":632},[520,1460,1422],{"class":986},[520,1462,1463],{"class":1343},".",[520,1465,1466],{"class":526},"register",[520,1468,1469],{"class":1343},"({\n",[520,1471,1472,1475,1478],{"class":522,"line":737},[520,1473,1474],{"class":986},"  store:",[520,1476,1477],{"class":986}," redisStore",[520,1479,1480],{"class":1343},",\n",[520,1482,1483,1486,1489],{"class":522,"line":742},[520,1484,1485],{"class":986},"  host:",[520,1487,1488],{"class":530}," \"localhost\"",[520,1490,1480],{"class":1343},[520,1492,1493,1496,1499],{"class":522,"line":748},[520,1494,1495],{"class":986},"  port:",[520,1497,1498],{"class":1314}," 6379",[520,1500,1480],{"class":1343},[520,1502,1503],{"class":522,"line":759},[520,1504,1505],{"class":1343},"});\n",[397,1507,1509],{"id":1508},"konfigurasi-job-queue","Konfigurasi Job Queue",[402,1511,1513],{"id":1512},"bull-queue","Bull Queue",[510,1515,1517],{"className":872,"code":1516,"language":874,"meta":515,"style":515},"REDIS_URL=redis:\u002F\u002Flocalhost:6379\nQUEUE_PREFIX=wokerjob-tools\n",[517,1518,1519,1523],{"__ignoreMap":515},[520,1520,1521],{"class":522,"line":523},[520,1522,1393],{},[520,1524,1525],{"class":522,"line":537},[520,1526,1527],{},"QUEUE_PREFIX=wokerjob-tools\n",[402,1529,1531],{"id":1530},"konfigurasi-queue","Konfigurasi Queue",[510,1533,1535],{"className":1322,"code":1534,"language":1324,"meta":515,"style":515},"\u002F\u002F Konfigurasi di NestJS\nimport { BullModule } from \"@nestjs\u002Fbull\";\n\nBullModule.registerQueue({\n  name: \"email\",\n  redis: {\n    host: \"localhost\",\n    port: 6379,\n  },\n});\n",[517,1536,1537,1541,1559,1563,1574,1584,1591,1600,1609,1614],{"__ignoreMap":515},[520,1538,1539],{"class":522,"line":523},[520,1540,1411],{"class":587},[520,1542,1543,1545,1547,1550,1552,1554,1557],{"class":522,"line":537},[520,1544,1416],{"class":1336},[520,1546,1419],{"class":1343},[520,1548,1549],{"class":986},"BullModule",[520,1551,1425],{"class":1343},[520,1553,1428],{"class":1336},[520,1555,1556],{"class":530}," \"@nestjs\u002Fbull\"",[520,1558,1434],{"class":1343},[520,1560,1561],{"class":522,"line":620},[520,1562,623],{"emptyLinePlaceholder":6},[520,1564,1565,1567,1569,1572],{"class":522,"line":626},[520,1566,1549],{"class":986},[520,1568,1463],{"class":1343},[520,1570,1571],{"class":526},"registerQueue",[520,1573,1469],{"class":1343},[520,1575,1576,1579,1582],{"class":522,"line":632},[520,1577,1578],{"class":986},"  name:",[520,1580,1581],{"class":530}," \"email\"",[520,1583,1480],{"class":1343},[520,1585,1586,1589],{"class":522,"line":737},[520,1587,1588],{"class":986},"  redis:",[520,1590,1344],{"class":1343},[520,1592,1593,1596,1598],{"class":522,"line":742},[520,1594,1595],{"class":986},"    host:",[520,1597,1488],{"class":530},[520,1599,1480],{"class":1343},[520,1601,1602,1605,1607],{"class":522,"line":748},[520,1603,1604],{"class":986},"    port:",[520,1606,1498],{"class":1314},[520,1608,1480],{"class":1343},[520,1610,1611],{"class":522,"line":759},[520,1612,1613],{"class":1343},"  },\n",[520,1615,1616],{"class":522,"line":1205},[520,1617,1505],{"class":1343},[397,1619,646],{"id":1620},"verifikasi-instalasi",[402,1622,1624],{"id":1623},"test-otomatis","Test Otomatis",[510,1626,1628],{"className":512,"code":1627,"language":514,"meta":515,"style":515},"# Test unit\npnpm test:unit\n\n# Test integrasi\npnpm test:integration\n\n# Test end-to-end\npnpm test:e2e\n",[517,1629,1630,1635,1642,1646,1651,1658,1662,1667],{"__ignoreMap":515},[520,1631,1632],{"class":522,"line":523},[520,1633,1634],{"class":587},"# Test unit\n",[520,1636,1637,1639],{"class":522,"line":537},[520,1638,489],{"class":526},[520,1640,1641],{"class":530}," test:unit\n",[520,1643,1644],{"class":522,"line":620},[520,1645,623],{"emptyLinePlaceholder":6},[520,1647,1648],{"class":522,"line":626},[520,1649,1650],{"class":587},"# Test integrasi\n",[520,1652,1653,1655],{"class":522,"line":632},[520,1654,489],{"class":526},[520,1656,1657],{"class":530}," test:integration\n",[520,1659,1660],{"class":522,"line":737},[520,1661,623],{"emptyLinePlaceholder":6},[520,1663,1664],{"class":522,"line":742},[520,1665,1666],{"class":587},"# Test end-to-end\n",[520,1668,1669,1671],{"class":522,"line":748},[520,1670,489],{"class":526},[520,1672,1673],{"class":530}," test:e2e\n",[402,1675,1677],{"id":1676},"verifikasi-manual","Verifikasi Manual",[502,1679,1680,1698,1717],{},[410,1681,1682,1685],{},[413,1683,1684],{},"Verifikasi API",[510,1686,1688],{"className":512,"code":1687,"language":514,"meta":515,"style":515},"curl http:\u002F\u002Flocalhost:3000\u002Fhealth\n",[517,1689,1690],{"__ignoreMap":515},[520,1691,1692,1695],{"class":522,"line":523},[520,1693,1694],{"class":526},"curl",[520,1696,1697],{"class":530}," http:\u002F\u002Flocalhost:3000\u002Fhealth\n",[410,1699,1700,1703],{},[413,1701,1702],{},"Verifikasi Frontend",[407,1704,1705,1711,1714],{},[410,1706,1707,1708],{},"Buka ",[653,1709,663],{"href":663,"rel":1710},[657],[410,1712,1713],{},"Verifikasi semua halaman dimuat",[410,1715,1716],{},"Test fungsionalitas dasar",[410,1718,1719,1722],{},[413,1720,1721],{},"Verifikasi Database",[510,1723,1725],{"className":512,"code":1724,"language":514,"meta":515,"style":515},"pnpm db:test\n",[517,1726,1727],{"__ignoreMap":515},[520,1728,1729,1731],{"class":522,"line":523},[520,1730,489],{"class":526},[520,1732,1733],{"class":530}," db:test\n",[397,1735,374],{"id":1736},"troubleshooting",[402,1738,1740],{"id":1739},"masalah-umum","Masalah Umum",[1742,1743,1745],"h4",{"id":1744},"error-port-sudah-digunakan","Error Port Sudah Digunakan",[510,1747,1749],{"className":512,"code":1748,"language":514,"meta":515,"style":515},"# Temukan proses yang menggunakan port\nlsof -i :3000\n\n# Hentikan proses\nkill -9 \u003CPID>\n",[517,1750,1751,1756,1767,1771,1776],{"__ignoreMap":515},[520,1752,1753],{"class":522,"line":523},[520,1754,1755],{"class":587},"# Temukan proses yang menggunakan port\n",[520,1757,1758,1761,1764],{"class":522,"line":537},[520,1759,1760],{"class":526},"lsof",[520,1762,1763],{"class":610}," -i",[520,1765,1766],{"class":530}," :3000\n",[520,1768,1769],{"class":522,"line":620},[520,1770,623],{"emptyLinePlaceholder":6},[520,1772,1773],{"class":522,"line":626},[520,1774,1775],{"class":587},"# Hentikan proses\n",[520,1777,1778,1781,1784,1787,1790,1793],{"class":522,"line":632},[520,1779,1780],{"class":540},"kill",[520,1782,1783],{"class":610}," -9",[520,1785,1786],{"class":990}," \u003C",[520,1788,1789],{"class":530},"PI",[520,1791,1792],{"class":1343},"D",[520,1794,1795],{"class":990},">\n",[1742,1797,1799],{"id":1798},"error-dependensi","Error Dependensi",[510,1801,1803],{"className":512,"code":1802,"language":514,"meta":515,"style":515},"# Bersihkan cache\npnpm store prune\n\n# Reinstal dependensi\nrm -rf node_modules\npnpm install\n",[517,1804,1805,1810,1820,1824,1829,1840],{"__ignoreMap":515},[520,1806,1807],{"class":522,"line":523},[520,1808,1809],{"class":587},"# Bersihkan cache\n",[520,1811,1812,1814,1817],{"class":522,"line":537},[520,1813,489],{"class":526},[520,1815,1816],{"class":530}," store",[520,1818,1819],{"class":530}," prune\n",[520,1821,1822],{"class":522,"line":620},[520,1823,623],{"emptyLinePlaceholder":6},[520,1825,1826],{"class":522,"line":626},[520,1827,1828],{"class":587},"# Reinstal dependensi\n",[520,1830,1831,1834,1837],{"class":522,"line":632},[520,1832,1833],{"class":526},"rm",[520,1835,1836],{"class":610}," -rf",[520,1838,1839],{"class":530}," node_modules\n",[520,1841,1842,1844],{"class":522,"line":737},[520,1843,489],{"class":526},[520,1845,561],{"class":530},[1742,1847,1849],{"id":1848},"error-database","Error Database",[510,1851,1853],{"className":512,"code":1852,"language":514,"meta":515,"style":515},"# Verifikasi koneksi\npnpm db:ping\n\n# Reset database\npnpm db:reset\n",[517,1854,1855,1860,1867,1871,1876],{"__ignoreMap":515},[520,1856,1857],{"class":522,"line":523},[520,1858,1859],{"class":587},"# Verifikasi koneksi\n",[520,1861,1862,1864],{"class":522,"line":537},[520,1863,489],{"class":526},[520,1865,1866],{"class":530}," db:ping\n",[520,1868,1869],{"class":522,"line":620},[520,1870,623],{"emptyLinePlaceholder":6},[520,1872,1873],{"class":522,"line":626},[520,1874,1875],{"class":587},"# Reset database\n",[520,1877,1878,1880],{"class":522,"line":632},[520,1879,489],{"class":526},[520,1881,1882],{"class":530}," db:reset\n",[402,1884,1886],{"id":1885},"log-debug","Log Debug",[510,1888,1890],{"className":512,"code":1889,"language":514,"meta":515,"style":515},"# Lihat log real-time\npnpm logs\n\n# Lihat log spesifik\npnpm logs:api\npnpm logs:web\n",[517,1891,1892,1897,1904,1908,1913,1920],{"__ignoreMap":515},[520,1893,1894],{"class":522,"line":523},[520,1895,1896],{"class":587},"# Lihat log real-time\n",[520,1898,1899,1901],{"class":522,"line":537},[520,1900,489],{"class":526},[520,1902,1903],{"class":530}," logs\n",[520,1905,1906],{"class":522,"line":620},[520,1907,623],{"emptyLinePlaceholder":6},[520,1909,1910],{"class":522,"line":626},[520,1911,1912],{"class":587},"# Lihat log spesifik\n",[520,1914,1915,1917],{"class":522,"line":632},[520,1916,489],{"class":526},[520,1918,1919],{"class":530}," logs:api\n",[520,1921,1922,1924],{"class":522,"line":737},[520,1923,489],{"class":526},[520,1925,1926],{"class":530}," logs:web\n",[397,1928,1930],{"id":1929},"update","Update",[402,1932,1934],{"id":1933},"update-otomatis","Update Otomatis",[510,1936,1938],{"className":512,"code":1937,"language":514,"meta":515,"style":515},"# Update dependensi\npnpm update\n\n# Update aplikasi\ngit pull origin main\npnpm install\npnpm build\n",[517,1939,1940,1945,1952,1956,1961,1974,1980],{"__ignoreMap":515},[520,1941,1942],{"class":522,"line":523},[520,1943,1944],{"class":587},"# Update dependensi\n",[520,1946,1947,1949],{"class":522,"line":537},[520,1948,489],{"class":526},[520,1950,1951],{"class":530}," update\n",[520,1953,1954],{"class":522,"line":620},[520,1955,623],{"emptyLinePlaceholder":6},[520,1957,1958],{"class":522,"line":626},[520,1959,1960],{"class":587},"# Update aplikasi\n",[520,1962,1963,1965,1968,1971],{"class":522,"line":632},[520,1964,527],{"class":526},[520,1966,1967],{"class":530}," pull",[520,1969,1970],{"class":530}," origin",[520,1972,1973],{"class":530}," main\n",[520,1975,1976,1978],{"class":522,"line":737},[520,1977,489],{"class":526},[520,1979,561],{"class":530},[520,1981,1982,1984],{"class":522,"line":742},[520,1983,489],{"class":526},[520,1985,848],{"class":530},[402,1987,1989],{"id":1988},"migrasi-database","Migrasi Database",[510,1991,1993],{"className":512,"code":1992,"language":514,"meta":515,"style":515},"# Generate migrasi\npnpm migration:generate\n\n# Jalankan migrasi\npnpm migration:run\n\n# Revert migrasi\npnpm migration:revert\n",[517,1994,1995,2000,2007,2011,2015,2021,2025,2030],{"__ignoreMap":515},[520,1996,1997],{"class":522,"line":523},[520,1998,1999],{"class":587},"# Generate migrasi\n",[520,2001,2002,2004],{"class":522,"line":537},[520,2003,489],{"class":526},[520,2005,2006],{"class":530}," migration:generate\n",[520,2008,2009],{"class":522,"line":620},[520,2010,623],{"emptyLinePlaceholder":6},[520,2012,2013],{"class":522,"line":626},[520,2014,960],{"class":587},[520,2016,2017,2019],{"class":522,"line":632},[520,2018,489],{"class":526},[520,2020,967],{"class":530},[520,2022,2023],{"class":522,"line":737},[520,2024,623],{"emptyLinePlaceholder":6},[520,2026,2027],{"class":522,"line":742},[520,2028,2029],{"class":587},"# Revert migrasi\n",[520,2031,2032,2034],{"class":522,"line":748},[520,2033,489],{"class":526},[520,2035,2036],{"class":530}," migration:revert\n",[397,2038,2040],{"id":2039},"dukungan","Dukungan",[402,2042,2044],{"id":2043},"sumber-bantuan","Sumber Bantuan",[407,2046,2047,2054,2061],{},[410,2048,2049],{},[653,2050,2053],{"href":2051,"rel":2052},"https:\u002F\u002Fdocs.example.com",[657],"Dokumentasi Lengkap",[410,2055,2056],{},[653,2057,2060],{"href":2058,"rel":2059},"https:\u002F\u002Fgithub.com\u002Fyour-org\u002Fwokerjob-tools\u002Fissues",[657],"GitHub Issues",[410,2062,2063],{},[653,2064,2067],{"href":2065,"rel":2066},"https:\u002F\u002Fdiscord.gg\u002Fexample",[657],"Discord Community",[402,2069,2071],{"id":2070},"kontak","Kontak",[407,2073,2074,2084,2093],{},[410,2075,2076,2079,2080],{},[413,2077,2078],{},"Email",": ",[653,2081,2083],{"href":2082},"mailto:support@example.com","support@example.com",[410,2085,2086,2079,2089],{},[413,2087,2088],{},"Dukungan Teknis",[653,2090,2092],{"href":2091},"mailto:tech@example.com","tech@example.com",[410,2094,2095,2079,2098],{},[413,2096,2097],{},"Komersial",[653,2099,2101],{"href":2100},"mailto:sales@example.com","sales@example.com",[397,2103,2105],{"id":2104},"langkah-selanjutnya","Langkah Selanjutnya",[502,2107,2108,2124,2139],{},[410,2109,2110,2113],{},[413,2111,2112],{},"Konfigurasi Domain",[407,2114,2115,2118,2121],{},[410,2116,2117],{},"Konfigurasi DNS",[410,2119,2120],{},"Konfigurasi SSL",[410,2122,2123],{},"Konfigurasi CDN",[410,2125,2126,2128],{},[413,2127,1218],{},[407,2129,2130,2133,2136],{},[410,2131,2132],{},"Konfigurasi alert",[410,2134,2135],{},"Konfigurasi dashboard",[410,2137,2138],{},"Konfigurasi backup",[410,2140,2141,2144],{},[413,2142,2143],{},"Konfigurasi Skalabilitas",[407,2145,2146,2149,2152],{},[410,2147,2148],{},"Konfigurasi load balancer",[410,2150,2151],{},"Konfigurasi auto-scaling",[410,2153,2154],{},"Konfigurasi microservices",[2156,2157],"hr",{},[393,2159,2160,2163,2164,2167],{},[413,2161,2162],{},"Pembaruan Terakhir:"," Desember 2024\n",[413,2165,2166],{},"Versi:"," 1.0.0",[2169,2170,2171],"style",{},"html pre.shiki code .sqMzV, html code.shiki .sqMzV{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#DCDCAA}html pre.shiki code .sjj1j, html code.shiki .sjj1j{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#CE9178}html pre.shiki code .symQ-, html code.shiki .symQ-{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#DCDCAA}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sLEZ0, html code.shiki .sLEZ0{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A9955}html pre.shiki code .sLV08, html code.shiki .sLV08{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#569CD6}html pre.shiki code .szTj3, html code.shiki .szTj3{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#9CDCFE}html pre.shiki code .sGmsN, html code.shiki .sGmsN{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#D4D4D4}html pre.shiki code .sewGd, html code.shiki .sewGd{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#B5CEA8}html pre.shiki code .srAhW, html code.shiki .srAhW{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#C586C0}html pre.shiki code .svVIm, html code.shiki .svVIm{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#D4D4D4}",{"title":515,"searchDepth":537,"depth":537,"links":2173},[2174,2179,2183,2187,2191,2195,2199,2203,2207,2211,2215,2219,2223,2227,2231,2235,2239],{"id":399,"depth":537,"text":400,"children":2175},[2176,2177,2178],{"id":404,"depth":620,"text":405},{"id":436,"depth":620,"text":437},{"id":456,"depth":620,"text":457},{"id":471,"depth":537,"text":472,"children":2180},[2181,2182],{"id":475,"depth":620,"text":476},{"id":499,"depth":620,"text":500},{"id":667,"depth":537,"text":668,"children":2184},[2185,2186],{"id":671,"depth":620,"text":672},{"id":683,"depth":620,"text":684},{"id":770,"depth":537,"text":771,"children":2188},[2189,2190],{"id":774,"depth":620,"text":775},{"id":828,"depth":620,"text":829},{"id":894,"depth":537,"text":895,"children":2192},[2193,2194],{"id":898,"depth":620,"text":899},{"id":970,"depth":620,"text":971},{"id":997,"depth":537,"text":998,"children":2196},[2197,2198],{"id":1001,"depth":620,"text":1002},{"id":1053,"depth":620,"text":1054},{"id":1072,"depth":537,"text":1073,"children":2200},[2201,2202],{"id":1076,"depth":620,"text":1077},{"id":1105,"depth":620,"text":1106},{"id":1129,"depth":537,"text":1130,"children":2204},[2205,2206],{"id":1133,"depth":620,"text":1134},{"id":1152,"depth":620,"text":1153},{"id":1217,"depth":537,"text":1218,"children":2208},[2209,2210],{"id":1221,"depth":620,"text":1222},{"id":1240,"depth":620,"text":1241},{"id":1264,"depth":537,"text":1265,"children":2212},[2213,2214],{"id":1268,"depth":620,"text":1269},{"id":1318,"depth":620,"text":1319},{"id":1378,"depth":537,"text":1379,"children":2216},[2217,2218],{"id":1382,"depth":620,"text":1383},{"id":1401,"depth":620,"text":1379},{"id":1508,"depth":537,"text":1509,"children":2220},[2221,2222],{"id":1512,"depth":620,"text":1513},{"id":1530,"depth":620,"text":1531},{"id":1620,"depth":537,"text":646,"children":2224},[2225,2226],{"id":1623,"depth":620,"text":1624},{"id":1676,"depth":620,"text":1677},{"id":1736,"depth":537,"text":374,"children":2228},[2229,2230],{"id":1739,"depth":620,"text":1740},{"id":1885,"depth":620,"text":1886},{"id":1929,"depth":537,"text":1930,"children":2232},[2233,2234],{"id":1933,"depth":620,"text":1934},{"id":1988,"depth":620,"text":1989},{"id":2039,"depth":537,"text":2040,"children":2236},[2237,2238],{"id":2043,"depth":620,"text":2044},{"id":2070,"depth":620,"text":2071},{"id":2104,"depth":537,"text":2105},"Panduan instalasi lengkap untuk memulai dengan platform kami","md",{},{"title":23,"description":2240},{"loc":24},"xkoQ17sPFvCCDYjnF2Ly7CN4HwpErQl6t4Ko9G7Nmhs",[2247,2247],null]