-- CeetOS signed release. Generated; do not edit.
-- CEETOS_RELEASE_MANIFEST:e2NoYW5uZWw9InJlbGVhc2UiLHByb2ZpbGU9InJlY2lwZS1zZXJ2ZXIiLHZlcnNpb249IjAuMTYuMCIsc2l6ZT04MDkwNTUsZGlnZXN0PSI3MWFhZWI0YWUzYWZkOTJmMzM3OWU2ZTM3YTg4YzFkMmE0N2UxN2Q1NGUzNjIwNWMyYjQyODc4YzM3ZmQ0MzYzIixrZXlfaWQ9InJlY2lwZS1zZXJ2ZXItcmVsZWFzZS0wLjE1LjMiLG5leHRfa2V5X2lkPSJyZWNpcGUtc2VydmVyLXJlbGVhc2UtMC4xNi4wIixuZXh0X3B1YmxpYz0iRUpObyt6SmVRS3YvVWQ2T1FNN3VPNnRiOUE2TTk2bnBNSTJ2dU9TVksyVm1YOHk5aitNVGdwTkNMTTdyK0J4M3dxUmhLa0sxZjBQWWJQTGZ0RzJYb2k5STM2KytCTXk2azhGY1lPbkZaT1pwTmlYbEhFc2EyTnJ0S3pEa1plU01nRUwrbXM1MzM2dEhYTjJ2d214NDBBM3pScS9UckY0cTdIaDdSQmEzZ1dXRnBFTGNKdm52YWxCSXg2WGNxYnZPWWhPNmc3ODRYSGlEL0t3eHgrZHVHcDUzK2tCYmJtVDlsWXh6Qy84SjRrc3NZQnFzL3EyQTBWSklxaHQ0THRJejhKanNZZUtXRFZ2KzlaMDNiM3hFTU5ITkY3RkltdURiSmxyaVBEMzBWUXBaektyb2ZXVzI3M3dxcGhYaWdQenJvejRZQ0JTYU13eXIxb1lsUG96WjZLRlNvbmg3YVc5K1ZRQ2hqUHFoR3VEMW5iT1dxYjRhdzJxZit1VUd4eWhZSUoveXBoWTFyNm5SUDhGU3VKVDFKdloyMW5MSUVVNmlEYnpqbUFyRmYzajZtOEErcmJoRllpYTZiSTJkSDY2SW10OG9QTEE4WGFJTms4YWFyRms0OWYzRktoQmJERXlOTFJVMStWbVZpbjViZWxOWUNVcExOTkxBV1hXSmdYTFFoMVNubFZhS1JNaXdybUNZK242Zys1VEdUT3hna1J6eWplSGhvWUtzdkpBU0x3dWoxMlI2M3RqbFkwVzl6bG5vaFdMdUZjTWJ1UUJkTlJLOVF6THBOZ1NjTlRUMHNaQjluVnJIYmZaSlU3dU1POVdIU2RxUTk2eDc4d2wyaDdrQ1FjMEdjODg0NmRtQVpUdEE3T011VTdrTlNvQis3SjFzdERsVTQyY0ljdWVZRC9rWE80QkJwSU5IdVk4c0NEeUNNbEJTc3JhR0VXTlVKdFdlSGlOYVVWUGFscGFsYTk5eWZNQ01ieTZJWkY4V3dvSjEyUVVIYU9yOGJXNHlaWXc3QlY5Skc1T0pEeW5ZUGpjOS9EanpBVFh5UzRIc0JSZ0hOQkdrd1hqaHA5cGtlbis4cVBqTHZWbXhpeFkrQy9uK2FXNzNORlBRUU96M1ZOaktDSU1hWm43MTByeHlublVQVGFDbVhIcUphQ0Z5bjhvMWEwZ1ZNeE5xU3UvdUdRbU5sU1JZTDl6bGdvK1l2WThYRjhUZTVIWUEvckE0UlpYeTlMSWVMYTJEMTFzenRLK0dYOXExNkxlYkRSRnVYTHExV0thd2Q0c1VWUlRjNldYS2hGOWd6SDVPQWZ3WTA1RVQycFRBUmpURlFEa2dnc1luTVB4YmszbW5zQW8xYzNwVkR4SDlFOTdzd0kzTWR0SUdCNmJFR3htVTA5cllCZ1pPMC8xR2tLaTFMamhTejRibjNzc2w5Q1VZMkVUY21hNjk0bjZxcjRWVTRPUjUyN3prS0tMNGlpYU9CVDk4bkFiN2lYTCtlK3JweCtFQUF3dUdGMHp1YWgxMTFTU01ETnJ2SXc5SDhibEhXRForWHYwakRSQUN3T0pFenhOYmN4OHVHRGVWWFhXQmhXUTRYbXNPRWFDckFZSkkzT2tQY2ZtTHJyd3FMazAxWFZjVzYxU2tpcndWelFZL1lDYit1N0tkNk9LU25KOVA1QUFtR2V6RmIrclNOZkhBUXRveGJuY0RYbnkwSXBWa01yNHFpcVFxaHZ2dHBuTFM5aUx0VllRUzZBWTlOWlA0aEtjeDkrWnpqMmFaVVlya09USjAyb2MrUElzS002Mk14MUhmNDhoMys3aEtjcjdaWTBOUVZ4R2ErRlZ6ZDlXVEp1WktnT29MS1hlOGxhZ2s5cUtsR29uc2xia1NJTUtrUHppTmIxbkJnOHk1emRtTFRheUxncHQyMXZzVTdsdHBJdklXelF4WGQ4Z1J5c0hmWHB4NVFLcWZQdW1ERjdHNWVOckpraFhBYXFUV2F2Z2RMUC9OQkhGVUJ4TFk2MDZFdm1Oa0hFd2JBSHhZWXpGRlZzS2J1ak9lK2dydm9jRWlTbWY3bHZsZ2szNTg4bkJwUk96M1NGbE0wRmgyc3RVVmg4N3d4QVVraWhiOW41NzNVUFRvTHNKeFJxNlcveXI2NE1GVWdZUkM3cFl2ZHZTb0w5M0ZuZ1JuaDZlekRoNG0xeXBHbEJCMk9ZYkxGNElLdHVKOHlXWk56bEtYNWlzaU5WeU5JUWZiL1BtRHlqcXE5ZVMvcys2WVZIS2pHbnUzVHZRbVdzOWhHSHZManZKVTZyY2lwYmxqcEd1ODhYb090VUs5OU51ZEhTZ0NIYWtPTnF6T1pLWXdDNWxtZ3BobkxmTVVLdTdEMjhDQndoY2M5N252Ynh0NUkrVk1YQWpnT1Bta1ljcHRhb3grTDVOb2EvK1BVOWxSWk9IVUMxa1ZiTThBcGlVSlB0aEJ0OU12bHlnT0F5NWdteENUNURza2dxZ3JlSkdsM2FmSVpRRFVHTFZDL1hGQU1ZVTNYTTYyOHVNcHRCR0dMSDJzUnBlZTZrUzJ4MURqbmQ1T3FFMGo5bS9RV2hOT1NsNDQrVm5IamF0NDFrYUNGNmlTQVRhNVFqQzdlVFA2emplTXNaY1JYTVRhUlBQa3o1YWhDWGF3OE5SOXU1SG4zRmFkOXVZYm1PVUZKaWJoUUE2YmJyWUFWNThYbVNCMWdWTERjNHJvdURUR2dncThaaUFNNklEYXRyd0NkSXVWOHdPblFwTkJ6YVhwNFIwSGdXRmRZODBYemdiUWcwSHlwdGtrTVJZZ2E2SmNFQ1EydHZjbTdMNWpkVzAyL2R6QU5iaVc2RnJYcE9IeWxiSnRuR2VEckE0Z3Z4MGpPU2RvMGtKMis1U01XdnhDVTFwV0NHQW05N1dzUDdKMDJDR0JxZHArT0dQODVKUnA5RndRc28vQTdIbFJmSVhGV2EweGRxRy96QUtJTCtXYnM2WXN5RVNaSGNwT1lacGcyQVgzMTVHVjh1WURKWDEvN0k2NGpNSTd2Z0ZkZElyaHBkY0drSWtZUFBYRUttT3dWdDNMbTNSVzIzU3dNRFJnMER5U0t3NE9EaFFqaUFDVXNsdW1acndQVVdsMWY4R1UyQkNnWE9qZ01URjFUR2I1OXZDVjMxWWdDdWZqZ28rZkpqMDZvTEdEUG5iTjhNNWl4YzAycGdwSzBoWGtGamk0TzFsaXBLUGx1dDNpNVpma3JSWENiSTM3ajNrM2hVYkFlMWVvTjBBVk0rWVVQVnVrUWY0MDRGck1SMlBsTlJrOGVIU2Myek1TOW45YkVFZnpHWGFLdDJlYTNtbWpvQmVta1RyUGE5L09uNjlmQWdoZitNNER0dHplQzdqYTZIbVpXWVRXQyt0dVVRTU9mc1IySGVCRlZyTWNZblNrSWRydXN6VG5nc29lZlNhZnJBbHpFZ2tnblFEZUpkZFh3dGZOM0o1ZnBGOTcrekFOcUhiOU1rbHp5SG41ME9OYXRKQjk3NCswSUNZM2dDdlBKd0sxSEZBRU9SSlUrYkZqTlQ2TTFJcEYxeGZMMzgyRmxndkk1NjZvaHVUa0NOSTZoZ21EeE1NaWxNbUVpQ1d3TXBOYm9LeERyK0hpNlpvcmV4amw4dVdHMnQrRjJiWWNrK2FDbDk2Z1oyQURqSmtHNlJLeGVQWkNyUzVpRDdtUkhXMUVpRU90cWMxaW9QY281dCtRVlk0aGhZRTJVc3VyQnMzMUpySFVrWWc2NGhyckprV25PemJVQWtyUDcwSk5tVlZxTlRmaXRabExTN0VKTndUeHFNUUNqNXBwb3ZFK2tGNjBxbXRnVU84M2FXelhXM2p0TmdFMmdBVnBRaVVxNjhZVk5tcUd6SG9NV0lDY1NLM3FlY2Vyb2FVVjhiS0Y1TWlheTFNMG5GNmxOV1Btclc1VnhhU09FUU9XVGYxWis4UGJnREcrZkNaZzNXdStSNklVNkpCVDl0eTgrTTdvV2hNTk5oS1lVcS84azZrOWtLM3JNVWVVU09NaktoQlJMVDFkcjM4Vk9rTWFyaDNaL3lhUU9iTGlDN0t1Vjc1MGltQWgzQUdITUxCcVBnbUtJNFpzejZ0eit5OFBnSTJvOUNNRHljU0JWNWZmNncvQi9NcmVuRS9IY0tkYnY5RVhUSzhZNmJXaFVBNDRqbU5GVEN2c1lsNGczbDFqUmM4dCtGMStNeVpIckhtNndZa0NJbzNZam9Gd0NGWGNMSkFHeG9pbFRTRlQrSDhaRkRYVkg0bEZ6V2puaTIwQ2lscDlqcWJET09CRzVQSFRFVGV1ZUlXdXRCRlM1U1BLZXBTaXRnbDBDbFZ0d211Rm9ZRDY3TjY1L3pYc3BYMExZME11b0JQaWVIVEhGdEZNR3FhR203RHByRS9CRUlkaUgzVjM2QzJ3MkNLYlVCUldNUURRTkhUOEhxNGhvTVJpMmVjNkZaNHROS0E5clgwVGJCdm5uZG9XL0wrQ0ViTGlMWFUzcjlNVVhITk00YzZyUlVGUC81djV5UEFkcU5WMGFpeXlhU0ExUm5ZUFRjK1BvNk1Lb1ZGdXF3TWJPWUVvWFZOQjR3dnhqRWxnWTZ0MlhqWXpFYVdoMy9OWDNxSlVBUno4djVWclJSRTJ4SGI0S1hSSUdOSUEvb1dBenU5VGRBNm1KY05iNjNLem9XS2YxaTMzWGxMa0hUa3lrTjBtMlFsZVBtb3VQeW85K1U2SmxGT2psVlMxNjdGL25yZE1wN1ZGOXFuOHYxWVlWaGZvVU5lcnBmbjNBL2JMdnpkNUFqaEh0L01RV29qSHR5dFd6Z2tYZ1NibGNuWFpkT2xMODNwL2wyYUpkUEdwMENNTkt2eVFLUUpaL2VkaS9RV25nRmFUejdwUVFBeGVKYXpFby9CQ1pvMjh2MkgzclQwT2R2cVlvZFM0eFNobDYvV3B1UlJ0NlRnWU8zelJtZTNmTWhXRGJSQVFFbno2R29vUzJFZStqS051L2JVN1h4ZVMzaGFvaUIxYjc1Um0zOFE2OCtZcU5EVzdpQ0NhWkVqb1ZqQXZXRXVVWmpZS1MvK1U1THRPRFFmaElBZlVldTJXY0hEbEFtTndrbDl4ZDdwSEI5VFJOL0FtUmxSb3BNblhGQkVKRW9mVlRyb2VIenExaTZFNERpZ1k1dGFNUVpJVEMvbTFtT0d1UFVXQWVZRm94VW5VWWhDSDhGWDJyRGhQemxCdE80bHpSc0ZuV2pnTHc1b09VdTBEQkprbDR2bzR5YmtoK2JoWkVMc3E1bTNTQ2s3bnZJV0h3OGIvMkxNTGpLYTNLL2RCcFY1a2Z2RGVvYXJweDZ5bVFLSGpZMm9XSE5Mb2JhTTBOQ085aHprV2lpVE5ZZ3lxWVhtUms5RjFqRS9UditzSHQ4bm5hWmh4RW1CckpZcHlVOENaTEk1azhVMWorMmo0cUg1UkFYekVvQ0UxdC9NdTVidWZFRW9DcS9XTUx2c3lzdGx0eU9mMFJhY1o0UnpsVGRuTDA4UUVqcHdJQnMzcWtuaHhEZFMwS0h4b3RTaTkvMFUraFBlRlZUWmhSTGhwS2hMQjd4TTFPRkhiVDN6bmVYUU5oN29OZGlNTk5oZVBVSzN3UzBKTnZHRDh3WEZjeGxHWE9vTFZYVTdJQ0FCUzJNUU5WWEtHMFRwdVpYK29UQmh2Zzh5bklsMFR0SlQ0aVRIY2RvOFJXOTZGWjRlUWUzYzFWeTB5Uy9LU2QxNlB5TE5iSllLNjZ6VzRib05pOEZ4dWVKcWhYSFhaSk0xN3JBN2VlYnRwTVlZcXVYc1lFZmZuMmZRNXV0K05yektoTXlCdTlVWFNJZHA1Y09peXJEblR5bXNZQjZ0UXNMWC92dTA0eHNaYjQrZnYybGV5ZnJLaCtGdDBjSE9DckVsUXRTR1paUW5ORDEzSmRHZEhnWFB5YUg2QlRheHByMGhaMEdSbkF1WVpOdnRvOWRjb3ZMQXZJSE1ST05CRWlUNUpTN1FCdHEzcFVXZFh0OGdnZTdldm94ZVVhNU1EK3hZa29UZDFvbDB1dU1JR2ZLSVhQRTdraDRoUGdKTXA3QnB5ZFB5cWVFMWt0VnNHUnQwWHM2SXZ0QWhhaUlYelptQTBFZUh2anBuNlpvMG1TeDZLYzZpdG8rdmZvT0xYRmF6bmpzR3k0WmZzS0FIdUpTc0UrazZCYWlqY0Z0UUM5SjFSM1lWemZqY1BHTmYvc0E1emhvTjVuYm13UmRqQWlsN1ZOYjB1Z1pHRzVGM3g3Mnc1RVZzakZHd3phMytNQWxLQkdXWWd0VkFtK3RvVmE1WGdzcVBaWEhvditrZDR0SVJ0bWNBdW5uSDRUTWVhb1VEekNpOXFrTG1hdHRnMEU4UjlUaEtxNGV6SU9WQkJHL3ZwaDhXb09Cd0QzNkJCZzdGdUwrR0llWTh3WWVLa29RdUwvMVM1UUtRVnVULzdxRWxISGFkT2dvNWNaQmhlTi96dzBzRk5LUERqanMyRXlYTUFvSXF3NU9rVmplenlnRllQREhqaEhWV1BCR2JMVkFVSHFVNlRCMy9ycTJSVWRzS3gwRjl2L3cxY0NjaEtZR3l5YU0xNjlvUXhjZWFzc2hqRFBaWklwSnZMV2t0c3Y5YnhjVGpUQTdXeXBYcHBDa2g5c21sQnNOU0loR0RtRTl6SG1Mc01GVWNQSngvU3FaYXpZU2Rtb1hoaVpjbVRRa01QbjBEWVl4RW5WbTNqVlVkZWE5ODlsZlVxaHJLRU53c2E1VmVCQVVGQmV5WU85bGU5TEpJcC9aeXpzeTA3QW1NWjU2eW56MCtIKzNpYjhUMWRXVnZGWU42dGNObnBUOHduVGxBS2piOUNudlp2VzJyRzgrZ1o2WWFkd2FDcXBYV1QzTkRJS1NCV1dQY0NacVBXcmlTelJYanJoVkVVVHJsdHZ5R2lqdkh5cCtFTkRoUkV4bVJiZGVCSUJ4ZEpROThnNVlQRytvUTg2NGNwdHZBRHRCbStUeHlGOWQrMUppTHMzSVpUcktRTElXTFhnb1kxekJSQXI2ZmFYNU5acmMzaHFKTm83OG5BUTlyZTBhZGtMOTlBYmhnb095T2dXWnV2ZEpoSHJsTWhUSDdRYkcxVmZQNTNOdTZjOUQxazQ3V3ZtTUFkbDFRQVMrMmFpUVRRcmtBYWFFREs4NFJZWFpid0xDaWxkRk9JMS80TWc2QlNYQlR1WVdTS0taU1NFc2Y5dWMrb2VoMVBVSGJQMTdVcHdQb1NGQ3JDVlhiaXkyVWJuNThQaXZrSXNBcys3WkZFZVlwZkNld2JYL3ZRRm5oaVR3NUlpaVFCWHpyOVVuUnpDVitFcm1DaDd4QmROb1JuZjNDaXo3NGk0L1pPdExvWnE4YkhEMk01bmNEamNXVkVzSnRTc0tBcGI5L2txUjlLQTJEVzk5TElibWYrVE1wSmJEODE2OEZUeEk0Z0tLcmZGZjdlU1lWcFZ0b2hVdjFuWktJekJrekhwa2VqMlpna01GTE1KOEZYMFlyYWJ6dWdIMjlDaW5CQ1BkZjVPY0d5U1N3ZmJHMXpqVTNMWE5RaFd4dGJRb2RPYlBzYitMNThnbW0vbzM3WGs3WGV0bkl5RGZ3c1RlK2pRWW5DWkNZc1JNaXM0bVJ5eEtwclVPamdCOHZxZ0hGMVg0d1hHNFl3anJsRUw4K3FHbVpHVGtGOUNGOFFLcU5iVGJOT3lRV0JudVpIMnV5MzMrL1Qva1FGSTIrYjZyYmJMVkhEZ3MwYkhFVTUreDhtYStzOXdsZHJBZFhPeVE3NXFCeHVNVXZDSFF3Tks0TlkxcVZZOHJLMXBCTDIrMW5OSjRjbklpd05UUW5QS25hV2lVbUJXUklKYzdWWjU4eU5vcEY5RThQWHpDZ3NaeklVWEIzQll1WWxPUFY1RU9pbFBtZTZxczZYQWdidDRxWlJYcDhDYkhFOEZDazNMbkRMMUFMVXNsd1U4eng0b2lSTXo3VjdWTUh3a1pTc3VSZlREeVN3OXI5VzBQQTlJK2RHZFRkWjF3Q1hwdUdjYzI4UTFFQkJaWHpITzJBKzFrMnZ4QnpYVTJiYVhDK09KUWdFNHFwOEVFVXY5alNhRTVsbzFyR0cwejlpM0F1YndWRjlZMGU1ZW9oZElJbytBQmttZTVkamNtNmhyV0Y3NVRUR014Y0liNlV4VEt1WGk0TWtxdWZnU090ZFQvanYxaWEyNmM2NThZbVllVklGcGN5RnhQd2tXYklkT2N1WHFEZnF0RHYzZ0hHNnl2eWYrbEFpWk5LWG9EUFBiN3lvMGFRYi9mUXIwTlQ2WGVzTndrSlpYQXhNUVN5S2drWTgwTnpKUTdlYjdYS0pNSVU0QWhCdEFuQTNZVVIzL2IzSTAyRGpZaTczallOVFFFTkowWmFyd0VxdUZNNmVGbW5rcHlyakRCY253bTFxRWJ2RjFYS1MvTHd0bElJYStJR3d0UGpnbGU5Y1JNOGFXcUg3YlB0eDNsU1ViazFvNW9xNmxIelI1QkFJQUhhanJqVUZoSmludmJXWnBaME1lV0wvcDNORldsbWM2RFN5eUZ0c0U5azhjTGhBOGZJbURWU1BKbUEyZWNNditTZ0swdDd2S1JNS0dmR0ZhWjY3dGRKU1F4SHZCWk5SbHB1eE9lbktERi9yK0pQcUxlZlFRWElOTit5azkraEpPczljcW55M3ZHN0QzK29HQUZPUmtYYnk0SDZ3enE1cjFublM1eUNpUm1rcFQzQjgwcUUzUGtLMlJYcFBLVjhUTW90VSs3N3NNVmRqOXJ4M2lSWXZ2aFFPeHYvNXNNRERhamYydVVWcjE1SnNDS21nN2tHUmc5R3BQeERZMkFFeEJoWTE4VTdYYktpVUR5eTFZNGkwck44bXYzYUZReHBmRE4zS2NUZlZrVzhYVzEvV3pNVTZpWEdvNUFVMTk2cGhSV29mdm1UZ1hUbHVOcUxzUlVZcmlDdTJPdDFrSWR1dEJxTW9tbENVV2NnNStiNktyZzRVM1RPV1JiMjYrb2hBNGxTaExyTGllK2hDdlVQMlljWEs5T2pGWXEyR2VhVkpybkNCUG5OV1VQYThqZGtzSVpDNlFkYThqcHhra1JzM2ZoWExjVVZVS093TWEzMW1kbUZMWE9RV29ISUhxMFN6V1VoUzB0TkdldkxHMTNzd2kxWHdLY0dPNWhnTWtpandwbkZMUFlGUjZiOHRsRHhHSDQzRDc4VVd4TXJ1MjZjNXpnaTZXODgyMkR4V200bE1hRFM1V3JkSzVxK3ZZR0lHbCttNm9qcG1rc1Ewc1pmYW83WmQ5YkVmNW5FVWlhWkE1UlVOZXdNdWtiY2FZRlEydGlOU2FpeFdoR3k0QkFHTzJYMW9SSnVmSFFIQ2JnTUgwQTdmaHBYUm0vM1liN2tLMmxTU21KV3FXZmhpb256dFdpQlkvY1dhZzlwejdrSXo0dmdGNFA2cG9PWEYrL2NZQjJKeXA0Skt5V1d5eUZDWS9IdnMvaE1zc1lSOG5pcm5KUjZ0REM4djVuVVp6NGsrcjAwK0pFQndBS3YyRmNTVjg4c3pza3ZzNmV3ZmRhNXRUSDJyYXZLNFpYR29sLy9ZbFM2V3JLd0ZFZFhkTndlRWEzOUdjamd6V0RHZkorNWFreW5NUFFvcFlsejRaMVJvaXN2UGNYL3AyV2ZVZ2ZsbUpoV1AyY2NMT05iZ20rSFJVYjA1aXFaME9GUG56eUhRaUhROGozbzFRcm4ySThkekpUYlpRYVF6Wm9wY09TM1hCZG9PbWlNRXpJN3hKZ0FVK0ZUUlR4Z0dZb3dGT0pGYXQxZ0lOSmJkZGYycG1DR3UzbWhXbkw1K2w3Vlp2a1BvVzRQQmtQbE1LMEFYRzBkbXFzTUFEMU1jd0hCbGZMMkVwdkpLWUY2N1FVVFpaSkRvZVZZMjlnQUVUY0VXYzFDYlZrTGxDeENBZGtELzl5aWlnaVNvTCtjVlkzbkY3dlhZMXJ2YXhFNHpRcmRUYUVOS2ZySFVnZkZsNmkyNEdWUXBNMlZLanBNTUMwdTRFanBMZHZPck85d0VFY2tjd1VEbGc3MlIvakhqSzVqRnVMdG5hSHJlQ3U4b2xXSDd1MTlOQ3VkNFBNbjNtcFJFRG9HQ3E4dXRZaXZDN0pUanp5K29RVG5vOUtndUkxSkN6N0VHUE50V1Q4V0h0RERiSGhlNzBpVmlhRHllOVU1eUtvMDQrN3VoVklpbG95UEw5WFA1M0ZtbUN3RFU5TXdraUplbDNKOGEwK045UFJ5WllxdUN2TnBoNUE5SlRQTU1CZ0ZMcGsyeDBTMEhJQ1RmSGQxdVVqYmZTUnFkZmdUUEhuQlV3elFPNGRDYytiTThKZXp6cm5iZElKTFMreGcxaUF2ZEpmTG9xMUN4cjZCOXQwSmlCbXFxL2ZwWmRtcWo3ZHFFdWRMTWZtdk0zbk5ENkViRmNKamREaC8weTg1V1N2NXpRVS9pK2FmT0xHVERaK2hvcG1hVmY4dVgwUDN6SHk4VWZpQUZPeGdJL0I2UFZiU09GSlZXTTl6VFh0MHU3Kzg0dEFlZ1BxaU5oQWJrbGFVRHZISHFEZlhseERwb1ljOVRRQnhNUmRrOHV0ZlV6cU5PMjRJM2tHVlFsK1VkbjVYUzNqRnVCSFZHdERualRLOTBJMTV4bnJhVWhjNUluRnAvK3hqNFp4WnhJekRCWXZKRXltQy9EZHl6SnFkV3FWTEt2d3NKQW82eVRkWEw2Tmo2d2VSVGxSQld5cWhzeGJjSThIODBWTUg1M1hRK3E5TjV4RUNzZDk1TEpBM0I5blAvQnJwelY4eWpHUjJHTVI2MTdBWVpTMm02QThXSHFnd0RXeFd1d0Z0NDZpb3FLQ0tOekZvMFNoNWczMlRWMUhXRFgydUQvTWZIZDBNVnV5VWUweWFvVzNiWGVTRzlxREJiUHIwOHNRODczaHlCWHJkUzNldDMxdWcwZ1VZNm9LOW1LeThIN01QbHJ1TTgxaUtCNzgrUDRCeEpVbHdyNmtwTHdremNiTC9PWnZ3c2NpTk10cGE0a01CamhQQUMyOVhRbEszSnB6NHJ2eXZDeXBiRkt1Sk4zR0k2aHgvNW9qSEZoUHRKUGNBUjRINEhWWW9kYVY2M0RFRVhDNVUwNkZqeTVacExnaDljWXRZVldGYXJvNG9uVTEwZlp5UGhrd2pxM0JmMmRUY1BVdVpERHZieDhRQTFjeThZenQ2YmZlN2puMlBJMTBaQ0lNcnViWjJrbXVOcHY2N1dvL2QyZTdKYlpLeStxS2RHUTU1akJJL09QYWpDeWVtN3JsNVh0eWVqeXpqM2p6Z0pnRTA5djlCekdzMk9ybGxDc0wyRzVqTGczL1VJSlJ4bVRPTFZZT0s0eVZWVmkwSDc3RWg1blMzcVlSU3pxT2RFY21sOXltNmcyeFNkYmV4OWNDeUo1cHZxM2svd09zeXZoYk5HZVVJc29FZHZ0dWZjS2t2Q1FlV3dVcHpHS3kxYXJDc2R6ZzdnWkVFdHlGeFN1S1d5U3FlbUt0cTAvL1dBQjZUdjVPL1ZLMjJPTWFEZ3AwbE9mV1JzY2c3RFZSalRiNGI5NDlVK2E3QzRJMytvZ3AzNnB4NnRpSStoUWxUcnBONmNRVUU5WTUwQnhmQkQvLzZBaDdxNXNtNW5HeS9XMmpDNjlEbVFDVE1KaFlSNjg3NXNuZVlVYUlxbjZ5em1QdkgwNCtvVjN6YWsreTNvMy9oWGx0UmErV2lubElOU1B2SE8zaEZML0ZXUVgxcVFGQ3lHaVl3U0Y3RXJ0NUdrWGdWaHhEZWpSRW5ROW4yWStuaXY2L2pWcGFmWW8veWhhcW5VQWo5cmVnSTVRcStMakJzNGZ6VDRlVmJIVlNndEJFSU02M2FJclpJZWNZZWdkZUt2WVB5anhGVjZqUWExUWdVMjcybTBNOTVtR3UyTnRhRnNVek1kdGV1WlZsbEdJdldRNFNTSTVQZTlJeDU0TldaZzg0Y0VhS0prN3ZPQVpoU0JLL2RkVDlXVUkxMVI1VmJwWWMzTm9FR3pIMU0vcDJzV2I1RmZZMkpibU1zSXB6T3dTVUQvRXNUS0ExaGJ2MDNTL2dhM01aNWtHc21LUnc3SUNWVHZackx2Z20weG1YQ2J1Y2phSUFHWlczR3gvcm8wMEFGUVBWZndXM1BHTVRsUTJ3R1UyVTZXeHpDaDN5U1BobE5DVmJ0emVwTURRZmtmZ0s4bUtKYmdWaDlMSDFRZ3ZBWXh1ZmZKa1NaRFl2SVFRZTFZTHFOWHh5UnVPWktzL2tRUVdvQmREN084cTkxVVF4b3I4ZHJQMXdLcnRmbGdueFRIOVpqVTF0TXlEaEdQekNLRzJrbUpUUVcwaEI5b2ZLbUdxV2l5aXA3S1BqbWlJeEtROG5wbkIvYXRLbHZ4YzFyRUN4Nlo4ZWZyTFYyTHhKZCtrOW53U0pxOXhJKzVhZEYyK2UyV3ordFpnV0NybFV6dFVjNGthT2szWklnTFltWDdWYXE5WHkvaDhiOSt1bVFnMDdjQVBiTWltZ1lYb1Vidm1nRnRPeEtsbGdacDV4L3FraGw0cDMxbXBubXQzVkZDYXZBcDJmenQ3Y2djTmxENWpaZHdQd3BVSXpuR01mSU1CTGhkTkJEVy9rVlMyWisvUHZrN0NNUERLMW9HTkpwQUFMM0RCOVNlVjd6UmhNNktiWCtIczVKN2F5K0IwV1hUcTQrb2FTYnVqZkJ2WnpmcWhhVGZySS9VSFVlby9iMFF3VFBVSXEyb2FpWUJheFNOZGdTdUZPRnFGdUN5OGo2Z2ZNWHU5RVRnMlRlVkNXbU5GbVB1OWRGU0NwWFNXNzRONG91Wi9iSS9uZzJSaVZFekxhUWRySGFoUHd0Zzc5U2VDSk1sZXZIMGpXQWN5dHpUaU0rRHdVYkNTQTlIWHBPRHg5UjVKMHh3cEpzbTVYaEdGM0dtU2tvR3JRLys3YmpkallqVk1KUSt3VTE0MVdTQ01HRzQ0eWdCV09sRDY1YUJMUEpjTzZya2Q4Z0ZOdU1aRlNDdllaUGxqNzk4TG4wMHpVL0J4WjVvMG92eGgydWw2M0I5aFZhcTZYQ2UvaWNZZWgrSHlOaXpINXBrbVYxSVBWc296MTc3TnlySHZ0ZzJOVjg0MFUyaWNPd041YjFSc3JnMU91dkI4eUJaRHVlMHRZNFpYTkFrb005RTZiZzdZT1VpQ0VubThwTmtzTTB2aUg2UmJLY2xUYWJZYi84ZmVQNDFyWm9oWTlCS3l4SGEwQTVjR2hLTWhRU2ZxK0M2bU95VDZkK2lJWUhuditCb2lMejIwb2puclZFQWkxTXA3TDErMlo3R0ZkdFdyNnhkNmtqQ2cycDlpL3FhN05SZFFFeWp6UUxud3lNS293ejl5aWJxVFJUZ0N1MFhucmdNY09xcG04b3FpVXlodk9ocHFsc2ZlUEFRc3hQR0RuRjROUkRnUTVEeWtVU1ozK01iaTRFS1Vla1c0amJleTBNemJCZWljNWdPWlA3UDdaUlRxRlA4RDhOT1l3Qm9RTGt2R1VLcmdNM2J4c2wzRGtwZnFraXozTXJWbE1RYTdvUm5tQnpzNXZqWTh1SlFoVGN6YmVya01yNnVNNmFaeTUwZzh4dGN4MGNJWU8wNDRIOGV1bW0vRGdSN2lTOElIaHhrVThsS0dEU05FNitYU1pkbWluV05zblFCOCszeGpad2VTb3NqQUFOam1XczBHQjI1YktNVzVZNHhoWHc5amJsM1FUTnhoT0E5bmsrUXBiWjlxaWtLbElwbi82NExOcGFwUG9KUmlXV0lNSlNwZ244dTduYjF6bTN3YjZJUTdGUmFUTHVtbkxNOEtYRFVrU3FyZlUrNS9LUDEwQ2EraG9xNmZLb1NkYmlJaVpoY0x6U0d3T2tCbnNGM0tyUmNHL2d2b3lYclBlSWxlWkp5WEM4K0F5dXFrbEMrWVF0cFFDa0hHandBakRqUVFKUTVFWFQ5UDUzN1hMcEMwOHZDRUdUbEJET25abWJOOXBtYWdhandGOU00cHhnSFNhTk9lKzJ1SndEaWRBRXdiNzZZYXRoWmxKMG5PWTRYZ1cxUzhFWUhKTXFlY0NidnlVaE0vbW8zNDdGZTVNdTdlK0lFanZsU3JGR2l6cTg3Z1lsUVpvWHRCNjBWUVpzdXhvQjc4d1BLSElXeWFHb29vMFlLQS9ab0NJcjlaVXVHUVlYUFFrZ0RHeHVGa2doWERoS0ViV250VU00dUFrTmRmVnJEUjUzMVBUVHpRdFp1S2ZPRjRraVhGR0tOS3FqbHdHc3lMQ0JndmFqVmxET004Y2ZLeS9yMzZDRzJ6YTEvMngrdUN0U0xJbG1SWXFibGZ4RitUS1ZiZ1gyWUV2OEtyMHFMUWdadUVWcWkrQjQ2dDJCbW9KL1RBZW11Rk9SZFQyRSt4QVFVcXhuVWJqOEtNOER0OGZMMzZhYm8yRVZmSDZSdFB1ZlJKeWFyeWRKb3hpUU1VNUZ3cXdFOXd2OEU2alNSQVNaYlQ5RkdBaTNTL0QvL2l4YzhvcTA1QmdnWkxXK3NiUGJJMWJZQ0pWaVlvVUczOTVBWC9CZklYdGRmZ0xDQ0R0M1FleVFGcGwvRFlkNFA5aXdQQ3lycTRWZWJPeXJ0RXd1aFdQeU1MaktMdkxmOGx5bXdLN0NiSzdLZ2hNKzBIaXNOZ0RMUHRCRGd0RCs5dC85T25OTFNRemk2Ky9jR3kxUHFoNDhlM1A1OCsvYlp3aXJYY1dva25IbVllQSswWTB0UXZ4ZjduRXQyMzNpb3VNcUNDSGV5eU1ieTRhV2pITDc2d1gxdzhmYnhNeEtLWHkrRXUxZXprUTFkVnV2TG1FemRZQk4zbW9qa1h4dUg2OWRoTGFKcGkxODdTdGN4VThSVXdpbHdUbk41OHc2R0RGbFFLK2JHWVNQcCtvYUZBS3FtczhvVk9rdlY5QkZsRytsVzA4cC9ET0RjRi9zSk9ySFlrSnVDaUJZZTNEUGs2RFR6djlKTTFYcW0xQndqNFdhWHVmejVINW1sRDhzVkNEM0dsY2tLR3krWTFGL08rajlBNFFaTHFwQXFIbWtwbTdtZytNbmxnUVplTWYwa0poS3FpK1l6QXJia2tOVmREUlZXWDVWd1l3c0Z3T1VlOFpPbmpDeGVlZlROSHY2NkVhcnRRaUdBSi9KTU1Fa2tLTjZKNjA4a3dJRGR0ZHM4Umx6RWJqWUg0K2I0eDlYSUZSUm45R0svOUFIQUlxdkFHYk4zWVhPT1BXL2VsY0oreGZad0Q0dERHbmdvSld4RnBUcFlGZmZNZTZPYmd6WU1yRGlTRStIOS9UUm80bVNIdmZoTmNEUWNoK1Fic3ExNFRjYzZiV2xzcklYK05WQVVaRGlFd0hMV0RiVUZ6cUJ5OUQxSGhxY3FIWk85V1pMVmxXRnFoVTdVZUptQ3oyS28reDVJK2pBTEg0RnMybWl3aWIwNUpBbHc0TXpiY29qYUF2OVV1QmpOYS9hd1pCT3hSbDlZRUtpTWYwN2YyTTBVZWI2bGprSHZNQWcyMnlEaWp3Vm0yTnhOYUhrQW9wNmVONDhlZ1Q1R1ZqbUpHbTdYMUZSY1dtdnVBOUpoL3VJWUFoV1B6akpQVEQrRzF1VHpkb2IwOU9HTzZNREN0T0RDOTJCbkZXVkk5eTFDVzVhbkNMZXJWcVMvdW0xMGV5a1RXbDBLajgwaHVLN0hXd3pBL0dWLzFHQ2docGNCczZMeVh2OERHMUJ5VDNmb0s4c0xaVzdmSGltSlBNOSt0VTUzY3BTTS9CMXc3U3FpRDgxTHpRYmU2TkxMaktzZW5MSEdzN2ZpTnZhQ2ZkZ29JOVR1RVRWVU4zMVRjWWVJWkR3d2E2MTJIeG50Q2dDRlRYOFN0bU55blZSM1MvcktrSXNVSENtMnp2WXpxNHFZZUI4Y09VdVhteGZjY1E0MGtwT0ZrZU03WEFGMlV4WTlJc2lZaFNudENGS0tKKzh1WDByTDhZd3JaQ0lwWkpCazVPcUU0OUJEOFlYUzF3dURzcWdLV016ODZIZFhHR0tUQ2lFNE9QUW1idmRwRXVXenU1Vi90cEpSZUdOeTRMeTN0anVmUlkya1cxSlVTU0Q1a2NCcVRDb3BSa1ZNZHdJNE1BQTNvbExYeUJQNnF0WXRScExwOGhTTEN3MEdHYVVTVUdUazQ1MVdvTUZKZUMxODM2N3FTN1NmbnhDdW5lZnRYdUZURXArelcvZmFaMnRBTUJ1Rmd4Y2lvM3RKLzNhK253NjRXMDl5eFdwVkZGZnRCWTI2RnlWb3Q1OFd5Mis5eXl0cE5pM1dScGdNcDJFcnlvQlQ4SFBscHB1aUZackN6MU9nVjlOZ3V3WW45OHhNajVCMElULzB1ZDZwMEVzQUFPVFJ1bFNWRlNnZXc2M0lEcTd2L3dPZE1mcEc1WVFNUElxbk5wMFhyWXJtVmlwWEQzSXJmSHA4dGg5aExhR2JPdUZMSkRXVEpFQWhvMC9pUzVFb0pwaXg5UEZaMG8xVnZ1dmc2d3JlamkwWVFNc3RNZExURUdyVGNHSUtMQkdWV0NOTlUzZ2FOUmdqckM2QkhyaGpnblVTR2hpMmdRNmxBbjU0NmZ1SG1ONW5ZRy9lVVI4aGNjUnVucXBaVjd2NVZiclhJUENtaFF0V0kzcTJPekxvNlR5TkVYWStnaVBIVDlLdDBSKzNndzBzdVlYMjJMUEM4OWRLU0NPS2w2Sjh1YXpWOFBObG5SZ3B6QUU1OHhFZG5qTHRWMEswc2c4Q3hmd0twaytRL0hWbGlJU0phSFVZWk9XWllHU2FlNFpJeEd3QUt0M21HR1NVaFZiWElKc2hxQkFCZ05SNFQ1QTVDcUljQ01kRnJNNTZQUlZTcDFiVW1kWVAzU1VrM0JlQTdvL2VwWWlEQXJIN1VmQ3hCbExRTElFaFN6UXZVVXQ2R3BSRjA3WUNweFRjc3pzdmxUWGpLZld6ckwvOENUbXlEV1RBK2tlbGRSdzdxUGp4NjJCbkkyYXo2U1d6Q0dlMFBVWXI2SUlMUnFSdjQzZWlCSFdESmt0VVYxNEY4NW13WWVlT0N3Z3p5REFqaXdzblVPZWRsUjdmd1lFa3JkaTZRSnhNSUFqK0tGb0tHL0ZSU0hQbGJaSk85M2lkam83YXcyK3RqTXllbms2QUlOa252dE50eXpKYU92UXZteHBTVjRSZXZMQXVaMjRUZHhFTkNUb0x2cTNJWUQ4a3k3QUliTWhyVlJNVkpJQmw4VzNxQ200TFhXdDZjVktQSWVOQUJTN1BrbGpFaXBFZzd4d1VPUDR2MTRON2ROYklTVFJhSzg1SUJJWEwrVVpMODJ6S1JrKzVPMXcxZ0RlV1ZlMGU3czhtM3ZoSnI3M05HV2lIYU9sNmtudWpTdjVIS0pRRlJVbG9rdGEzSnB3YVVXd1NZZEFiWjJXRHdhSDRvYmIvUUYyS0FTbjVjc2tlbDMwTUExUkpJdHJMRUZpTTQwQTZQMlkxRkIwbThGQTF3RE5vamk5aFVpYWRTZTBPYm1nV0pHVTZzSkpxcmYxdXVrbnhMOGZhcWdxdjR5eGNDa00wbUR3N29iVTFEYlFaMWJ0R1FZVHErT3Z3RUxKdEFHbzlhMmJwMUt2NnVCMWlGbG5oT0hPR1lhTnVWRWQyZ0YwbTBkS2lVMGI5cHk4SVpJS2w1OVRoSzZLeUFaSURzWGp0amlZdDdTUEg3RG84aGVxQUhPbEZJcmRxb1lLcG1JY3FBSmwvQjZWYi9GQmpTV0tqRjFReEZac0dGSXArWlNxTWpVV3ZCS0ovR1AwTnMxQUNZVWdkVmx3cmFTUXhQR3ZKa05UY0dMK0lNbG91TjRMMFVRYjQ3UEJhdVAzdTRVM2JIb1Y2WlFzZ2xjUnBjZlVhTnBKdHhTSUJLS2lqV2JjSC9RQkxFM2xucUFuOFN4OGFpNnd3K2ZPVWw3a3ZjUkpqN0JZdUZST2xFNS9IQkxtYjIxcVNYelVFR0lhNG1IVHNDTU1NY2ZaYVlLVlJMNEYwU1kvQTV2YmM4VzlQcWMvQzd1bE5NazREbUlBZHZEckxRUVlNSkRvcTAzR090U2lrRGlHeWxrMjNjSVNmc09Jbm1tNm9XRmUwWS9CWU1WT2Vnc1JoczRTWkVCSmhrYU9KL3lwcHU0d0hNM2RXRDNJOThRNWtvK2hqbmJFWnhoc0hLTWdNVWhqcmcrUHY0Um54U0w4dkh2SFkvVTJTOUVHR3phai9Sd0dXNlVoWUlDRXFTTlBPQS9qTFZRNTg0bUpSWnpiOG90N2s0Mjd5dzBJSEdkWFVmMWcvelR5V29ZMHlKSlRtdlVwbWpRMTFIVWdjYUNYZmx6aFpVVXdvVHB2VGNVeGtvR2xxbU5EaVlBaHBpd0E0WXUzOFQwTE1OV3FMYVV2aU5LVXRyMWhzaGRJWTZsYnc1WUw3Q1l4ZG8wTi9yU3VqTC9xbnR1eVVmTVB6ckRqQVZWYlMrWFhiWWlRU3RFZFY3UTEzZWx3ZHdPUkhVbXlKU3paMHUzbldEckJkSnRyc3VNclJrUXcwZ2huWDh6bUlMeFZRVHpEOEdIcTJYMHAyeXFneUxMYjdtclBlUWFWUUJKRlllSTdSNFpBYWxVeW0vZTJMV1lXYWxDVm5YTTNvdHhwVGpaTTBNWTAxOGlSR2s0czhlcXljNWpOZ0ViQ3Y1TGk3RnkyQk1EZ1RDRzRMVkpBZlNVVWgyVHVIS1ZEbkNzZDJmN3NEQkxlR2FLaTh3UHdvd2hJRmNHRFp4THVCc3Z1NC9XMWtlcVRIS3RSY3ZzWk81MFZHMjljUitrMXdWL2Jpa3p2WFVsZm5oMzBvMjhnSExHdGZBa1BzQTN4TXBkb1dwRWx0U3pzaHViRFI2T2UrRkRKZ0dVWjdkVUxOcWVaU1dUVDVweFJ5dW92M1l6Mzh4YThHZngrUS9oTi84bHYvNDIrNXFXcWNPOFlWQjBwTUJEMUwyUEpEWmYzM01peUthcmFuNVd0SEVyMWFnSWxvdloxTnBFdmw4OFVZb214YWFlc2lMWDFWTXFWRlV3NFUrUmN1LzhJMWlmdFZMbjc2dXFSNHhDcjRvZmlYbFNHMDkrcDlFd0FVVVVWVkYzMnZDWTNYSHZ2YTNXUGJXeXNyYUs1QTRuaTRXNnV5Sk45T3ZJdEJwVW9MUjU1TVJrY0FhNWQyVWNaK1FyVjcrUXU1NnZWbWxQcFdqOHlrZDZZcWROSVcxZzgvQ2F6NEFDeFlUVnFWWkFLZXlkS2dYKzl4RHh6SnVtYzYyaFk4LzY4L2U3QUxZbW83dlhqZ2tUOG5LOEp5N1lkRG84Z1llZXpFU3AveC8wSWZ1WTZtMkR4MW5jTEpKMWNEcnFITmFDazB3akErRnQvRFdXT3dGdHIvcE1VV2I5ZmFhTkZDZUNMU2RNQkdFcUgvRHVsdWg2a0NWZ1ExM093QlcwajdZVVd6U1FwNkQwWHg2SSs2ZHRnTmlKdnRHL3c4TUdncXU3ZjhmbU1rUDFLanNWdTZNRTlHYllGd2NPZzRGZzZGcVNQSmV3WVVRdm4rNGNBdmJqZjZOMGtXU3FzbEdQbVhZeUlwOVlUbzdWWnZOK215UE4vS1V6RmFoOWNLdmV0azZsTXBJZkExdGdLaVM1Nnk5cVgyNW9oU0RDVTZZQ1JCNSt6MnlaWENzZXdZV0FmL3VZajIrMXYzcGZISWxQcFV5Sk9jdllGa1pXMDNERktYZGVlNnlxeXVrNzUyRzAyS1dmbE43ME45SVNiQXBiOTg2ZEFmZ1ZOR2g3WVRnVjNuN20xelVwTExJa3ZKT2o4Y0pFc3ZLMlNBOXNROXNac2doNGExUHFyOENzTWpqYmYzWkRIQk1qekp4S201YTBWdEszUUE5dWhiZW94eXhOQkRaRFpEQjh3MnQ4YmFKNlpIeDE1WlFNMW9ZM0NFcXRUZktOK1ZCSElVVjR6bndQZ1hOeUIzYXAzSHRvZWxxSWs2QUFNU1VPZVI1Mzh2UnEwd0I5M05lZnk5Nk9POHJ6WEJJbnIrcmpyVGxITnc0VlZzZUZ0Vk9ETk5FSVpsaVlUNnRiM3prVGNvdjRsN3RLVjJLTm8rOGlUNm9iV01LQnM3UTNhL2FyWUNZV0xBUE0zakg3eGxyMm1VaHdtODkvekl0QkdUVm0yV1p1OGNIeDluM0c2WWZwTW9uZVh4YnlLSk5IL0pDWUJ5YTByVjJxbWRLT0o5V2UrUmhvYmVtSXBvRGJyd05iY1dWZStEaWg3ZERZamtpZEJ6SkNBOEZRTUZHZ3dWcUFRMUp2WWwzUkM3bllhMlFsS2xIdWdSc0hvc1F1YW1VUG9oTXhmMkVwSlU4ZXRJdllncUs0QXl6dTJ2WjRRcy9LV2Urb0dEbWdxNlFMc0pYY0RhZDIvYlpkcnhxZTNZUTdRakFpa0NnTlNLNXBrcEtlZUgwWktON25hV2FKOHhXd3RPQTV4NkMrdzQwNnhBdXdlamZQLzVDRzdHRjQ0R1A5Z29WNEVBYldWSmkyYjZjSHBNVmJ3ZjFrb3Racy9Jc1gxMVVuV1dua0N6eklQV3k0NnBsZzAzNG1iWCtRaFRzalVpaWFTeldVREpZV3dJYVZ4RkkyK0pUWHlGTms4NHZveFR2SVRFY0h0VmIxOHdMbVJUUzhlNEN3cmFJNCtZOTl5ZW9Va0dLOEljR2hOWjRFZVluT1JhTm9rN2dTZHN1WFZKWnFlUHB4Q3NPRDFPT0paRFNFVU9yWEowOGVHZWFQK05yVkN2d0ZpMGI4dUw1RVEyNlFXUitVNzRxOENrVDRqVmhYTXZ3WHZoeXBXdnNxRm5RVUtGdUEyMHVuSmR2UWNDWXhOOTIyV2NZNUh6S3Q2RzJHRXNrSzlMeDQ2OTdIeHRqQmhjTFpMaFhMeUxEcTF5bXlVbVhnR2c4bE1FRHAwTEQ1VHRaNXZjTUdyQUgydzdqT2FYNm1vS0orZms5WTQ1bVNZNjAxU1YxSW96NmdoRERzQ2tmU0ZLL2Myckd6SmFjNXV5WHdDYXZLN3lQdVV4K2hzSUtGTm9XR0Y1RUtYeDVUNDhNSXByNHpya0pIckpRVWYyR1dsUmkzWXRuWDlWRjFiOC9WQzZHM0E4TVlUTWRabCtvVnlCQTRsUnc5VHdPTlE1WFhTc1BnZmNsOXJkVFNiSS9ldzhIaWlWcXdVc3A4SlYwbGFVc01KWXlCRnpHMDM0aGJjR01NbFZsNHMweFlKakRtNTl4amF2cVhRUWMzYi91NXNmanFsb1BoOGlnbG1tdFk3MEovUDdrSDkxcktHY2V6bGx1S0pqL0xsaEt5Q1FuK1RSMDY0ZXd2NmptZ1hXSjFqUEdBVGVYTEJ1QnF6Sy80SERTdTZQdTRhaCttSzQvK1l2SWw5eW5mQWNPT1p2VXROL1AvbjhzMkFhZlNkZTFhOUZjbk8wTWoyVHFtcDZrQUlIWnBzazI4bFA2T2R6WWJyS1kzYXBLMis4bnhwY2tLa0F0R082RkZENWhYRGpnZy9IbUFUUUQzY3BaUW1EdjRCQnk2S0RpMWlhU1ZyYTJjcHJHbngzRm9RQ1AwdEZYem1xK0dTVXluUnQvMW5pNlhYM3o3UXBmYXNIcmFMSS9vQzB2QTZmMzZqTmY2UklNellPM1owTlA1SGtETXM4Uk1wRFNOZ2hlM1haV0d2dDJib2QrYVFFbTRhVnBCNHNQWWNQYTFzeXhocGZ5S3EzM1ZPVWEwY3JKbDJtbzkyS1BiQUFYUVVmTW9tMVo2OEc5dXp3ekViU0RJR0lnaGxqMXhyZGpaZUp5Y3NtOGRZYm1scXBGOElVNlZVYzc2UzBleElFNjdKMmFKNmZORlpMMk5RcHhpQVhZRlhXMFl3dGNNZDBIYjhUU3VPNFZlTFFwV1ErdlhETGpWd1B6UUxRZHBrbGs3NmF6bFQ1ZHJueHh3eTR4ZlVWRTg3TWpxSUI3dFVIVEFnOS9hcUdCZXI2eVNYeE81OTJxNDE4SnNNMVN3TGVTTEgwZERXQy9JTXROOElxRUJ0Y3gzWVRjQjZweXVTQThFaFQwSkxPSlBwR1BLckNOL3lSUlhRZEtKN1NaTlRGRmxxMzV4MTNyUDFGeTY1TU1wMnBUbkxPMXdHZk1EUHl1NnlxaG1TMGE4RCtCVlgreUlDNTRiejJmUjVSRnVuTkxLTDliZzRqS3c0c1F3Tk93TGpHdjJFbGQ4MFArbWZvczNvckRSVEF5SEg1YkRGVnB2MEVOQTFEM0xpV09tbWlyWjErYUt1b2xvSW5EL0htREhRdjZWcnhSbkVEYVdjd3k4dFYxVHJnSHB4Ky9iR2kvMkwxUTFxUk84YjVuWXBVZ2xyTEVqTVBjOWVyZ2ZiQmpodUp6b0loTE9lU0VkSmVGc0k5THVUQVZRSnpYbHV6YmNMQWZ3di9pOTlJRUxRMnRtODg5dVo5SFZObXE5Rzg5UVlNK3hQeUtlZkx2ajdKWFBpbGJwbm03Z2U2ZzBMaElWb2RCeENCNjFDMFhJWFJ4Z0hMU3RGd2RQRlltK0dYcEMyT2REdTNCeUpPZXNJS3RibmNyc0ZIdUhyKzFxcHNUU0w3ZDNpSlcvdy96MENLMnE4NTJvbFo4WkZUV3NYUG5Db2llWDVOZ3lhVnpWTDBxSk83dmMyaXFrNGFtWXlUR1FFUHpsaWZaTCtncDlFSVVpbE9SRzMyaXJTL3ZzUThVdUFBT04zWUlPYisyK2ZudzVMUlRTMC90a1VFKzJUcVUxdGdnNWxJZlQrNGdIR1czME5PbXBmNWkyYVBGVjQrNEFIU0RBU3ViWlVhS3Z6MHVxYVRhcWdJRFMwallZbDI0amRPb0psZGxIaWUxdlNXTEtVWC9MRC8zbytXdWlBQ0l0aUdCazdIQmMveE9MM1M0YXllcTd0RnFwMUU4UW5wOUsyODVVY2FIcTVzOG5Qd3kxN2g4czhGeTJ1T1BYTkJYSmo5c0lteS9FNk1LQ2VReFZvdmhnTmxGanFtNmNyMXdTejlqTHdqWTJoZ2pSOXlGNWcvVndJZE1uc20vVytmN3Q4UVp0NXhuZXVSMlRFWFQ2U3RjQUEyREk0T0pxVEhpc1hLRitpVXIwQloxTG40TUJHR2xVSklKVXJTeVdqM0tRSWlBRjlnc3hlQ2JXc29GUjVSRDNTMGFLMmlmRmxmc2llNldOaU1jTXRGZ3JHR1pXdGplWEtZdXZ6Lzd4bUJDYkx1V1IwQjd6V3RDQjJiUzU4c3lLRDNWZzEyTGt4OGdWZnFKWDhoTTVaSVdvSEZYdW52d0RqMzF2T0srY0Rxd3FCWXI4azI4MUVMekIwelVwd2QrQkhvWG9lbFhLWUltY1FNd3NCajRIOHErVkZOby9jNEQ1aTFRY1M0SDFyckM4ODVPd3hSdnd6R09qQ0l6U3VvQ2lhUHlqTGREelZPdzQzQVBhaDNzSTBrVjV5TnRtTmpwVzNJbHZTbnMzZkZTTFExb3JVSERGSHM0TzlsWlN3bmVJZW5Vbmc4WWh4NksxRW00aUR1WlY2N0ttc21PUGFMUjlibE9KRW9TTFc5TTk5czI4azBEN2hkRnRuRllydGtqTUp4amFXNGMrYXdYMEg0M3lzbGZrYmNOeWp0V2wwYVRENlR5THFnMlZyVG0yT0ZNdHpMeVVRRmc5YkJZTTdvSmVpRkxOZWM2K1ppUXNzcG5JNjJEbXZxSzladlIwUmtNTk4ySW1oQkpSMHVLUHBmUzgzN3dKVmYwNjZxOVFxY1VtNG9XV1YyL2FEZ0ZHQzJIRmFKV21iM0JLWjRtTjMyQnJ5MHhkMkFzZk03Z2x6SjFwSzB5bURGdk9CcWFRc0FQZW04dzRKMjJRMU9aWjdFdUFnNks3N2JFVGJPeksxZlhMMDhPcTJZOWEyWnR3ZEllWW1pQ0x6WHF2L2tOMzJIbmZyNGJIdmcySmlvb0x2MVVzYS83MVZHbDVoQ0JsYjRtclB2bnA4YzhlTlltRmt3cG5kaisvWWEyYmM2RTB0cnBiUk0zcklhRTk0TzMrcE85aERWM2o5Mi9EL3Ntek9pZ29xenQ1Q0R1TW9BdkZKRGxJM3o2cmZIZzBmV1RpYnBtbWJaT0cycTNZRERqMGxYaEo3SGl6aThSaE5KZ1B0b0hRaDY3WGlOTWdFWnlrMUlRQ2IwVGFYWjdZallibEdKUHdQSjhZWm1WeWxNeVN0V1hRZklUUlBCSDAzUHI5SmZ6SUZad0IzTHVhUUZvOFlTUEI4dVRleXlQajE2eG5FQ3ArK1hDaUN3azVvZXZlbHlKTVBMR0JySnlZTkRkSzZZTk8xOVpKMkl4Y0tpa3JpT09waFk1MFl6TEZRVy84eUNOcGdQODJTelZLdmlQM2o2VkZyQ2ltbjEvQWM4NVAzSjF1QklleDhBM0pqdlpKUTkwRFBiMkJMbm5GeFJCUVZpdzRqb2lIdmllY3lobTYxZDZYZk1YallwWWRHVWllMFhXcEEwRmtJUWI2LzdSNDNadCtXM3dqMkl4Q1UwMk1QaTB0Y2RIZUZubytIT1hzV3VaQ3lvRXM0NmUzOFdtOVI3ZTZZT1k5QUpVQnJRb05xUGxNSG5GTlZCUm5SbUZrSzdLaHB6bFlEN3JsTEducFFlOE5reXhWdnNreTdUMUxETVNKQzF5Z3U4SHlMbjVtU0F3RGMxTEVQZkRoN3NGejlERWFmd0VRcGJMeGxHM0ViYU1IOElPbitqTXJuTUhpTHYxeXhDZWhJbXlvVGhvdEhaWXpncWdsV2R4WVdid3piK1lwNUtRZ0ExeGJlYXo3emEybDgySXdSUmxnUG1lcDIyNDhqTEtPRE9wM3o1VVhZS2FhT3BwKy9RNWc0MVVlMjV6cUxFbWR6Vlh6cTcvWlZZQ1ZpcXh4YXdndnFtakVmUlcrc1dzQnVJMEtBcGwwWnFzUmdadnpmV2x3VVk4ZFA2OGcrOUNHcmRNZGVUYjVSdSttMmptRGVUblpMNGtROVhJbUUvNVVQNzJDVFozM243eWlaRVdnMndwUHlKMDl2RmdWNzAvem1LZEYvZ1FocWNhT2h4R1ErM0hSbmFtQ1BJa3htNzBkclBwY3hicnJ4c2o1UHlGM3RDQ3RkcnFQcFQycGZiT3pXd0x0TUNiOHN5VU9UcG5lMi9OanpxUDlHRnA5d2ovNWcvTUE1U0RmY2lxVDlwV0dIVnF5S1czU2ZLemJydnNkbnU1U21yak52a3JBRjFIOEFTNE5LL2xpaXMwZTZlVWNEeHoxMXFmQ1dPN1QxMk9vYzA4WU8rMEhFMWo2QzhjMFNEeHJWMUdFSzRaREpWOTBuZnlzZEtNMm5zeWpUSXI1ZTJrblA2Kzh3ci9hTlBKY3dVa2F5dWlpNll5TTRXeDJ2bXFnWVRiQU9kalYvZ1VGUkhTNUo0WWdlSXpQU3Q1bmQzclB6WjhuRVE2cWZBbzFqenYwK3VYVk5aa2M0UVZuck93alBJWmliNDcxVzlrRytNck5aSGtEYjlqTUZ6WUk3eTUzcDdTQzNOSCtJRmF2RXppNHE1N3NUMGdKdTljS2NlUkdFN3hnWmcyWVU0d2VXZXJCalRhZGVTSS9wYVFDWjJXUkg0Sk50cC9odTZCWHhxODdhTDFLMlA3Ui9EcXI1OUlwTU5SQlRiTVU2NWZ2QjdoZ3Nhb1FpeDBYOW9wTFppb0l6UU8wRUtCbUpQRURpRy9PZjJINGRldTJKeDZvZ1FYVCt4UGNkbEhTb1U1Q05rY1JydFZzZlB4dURHc1FQSDFmSzk5RnUyUkNQNW9jWnl0UDBMclZDNUszaFFSTVhBSG1hR2FBVWxoc3hhYXZoK2FjblQ4WXI2WlcvVWNaUjg1dHBDOG96ZWc1U2dSUTZ3SUorOUlYU2NldE52QlBJam9ldm5iRElERElhb055UzVkRkhrSTR1RUJ2Q3lhV0dsSXI3UWdCSmRwS0FpYVNwUHlacE1TdmpNaXJhU0dCdVlUTjZad0pCNkEyMlNyNXNQc2pCMVpPSEc1VEtoTGJLUiswdmZRUGdrM3dSQmlZL0lnRlVIL2FEQ2hBVEpBM20zRWk0UlRKSGJEWTF0YnVSRDVRRzJWSFFGMHlDUXFRSitUQ0xoU1FXdFR3akh5VW11L0MxY0w5UVdKOGkzOVpwVHlWdmRudXBtVC8zRVQ3WlBWcDlvaiszcnVuL1pJaGVQU09IaVVuUnFRcTVrTm5ENm9Sbko3c3ZxTDFlSlMzakFCUmN4S1RNY3BJeU93cVI1WS9ZMG9oMVhIa2hmK0lxd2tOc2I2aEtqZ1VtTkEyQUFpTlFBWU9TdHlGYmlxdkswUjVheXZVcDRieXVSLzNRemxVcVZSMFhtYndrYWlLa1kvTk5lcHBCQUE4QkkzR3Y1bEx0cGpuZlRUK2t5Qmx4Q0kyU0VCcTZqZlRSdzdCYnc0bXQvZnU4dVFxalZHTnlid0ZSWnJNbUdjdm9TMzFweGh4OE9ub25wRVBQVFN0T21ocEpJbWV3bGptVnpjY0ZnUWNpRE0vOWlkVHEvNGNaT0MxUnd3dnlESFhrRjhnWkVTOUx1YkJYaWh6cEw0VzZrYVJsTEJGMFUrN0o0RlNrb0VDNCtjR0xTekJMc1lSNkdzN0xvUDVyenlKQTNWQTdIaWxnTFNoUVZESTlwNW5UR0kwSFUxTlhFbzFnSmRGdVVmWjAvYjFVNGFESzYrZHl5YlVVSzlub2lJQjA3cTVjSUJyTXlJTjBxVFVNL1FoV29vaGdVL2NZbHNsVk5VOHMrZmJjN1FLcmtKbW5XdmF2MzN6WjNEVVEzSWVBUU5PQVdDQkVTL1dkTi9JK1AzbHVKZ1F0cVlCTmphbmZYZWF0MzNQRTZmem9pZ2MybzBjdlRXSnVyUEZCeW16cDRtZ0wrWktWcnpzMDVVMDFCQ01XcTNDNjRnRWJPTkRIbkdVSGZkRy9vUTVUTXpMcWZxeVNDQ3U3S242VlgyV0xmaHkwcUhWUzAzZEhDc1JRWW9mM09zSENtYldsOVp2YkdLL0NoMk5ZblBBZGw0SmVYM2RSWjFIOTFQbm9mbk11dUlOdEVkL3lqYzRTbVQyNU5VNWpJdFZKdnZYQmpKSFhGUHU2TkpIL0txL0p0c1p2MUoweDNpQWR1bERCS1d5Ulp1V3NxdEJNWmpQbVJFUW5zekFzOHVHdmR0Sk1mRm5TNDZoWGpKNHlhZ0xJS1JtTlFxb2VxQ3dIc2lPR2JRZFYxK21GMGR4dFNFTFNldCtuUHRZZm5ibGVlRUpZTG8xRlROWTYyZEpCN2tTdzBvTERBR2R4c2c4ZW40ZHo4Kzc3U0JNTnRMY2EzazhyMXVVTTh3d2oveVZvODNBcjVtTXRhUWR2WjhsSUsxcDJCUmxtWmlYU2QrZDRIN01EMVdyZmJtRUxQalN3UFFvZUwxN2JRdDdHZUxiZjJJOXVVbFJUSmtSQTJ3dDRTSnhpdnJPem15M0RPMmttYSt5dHlycXVZcUgvcStoZVFkcGFXKzlLNjd0WnlXSGlqQzdTVXMzbm1XWFBWOFRGSVAwTnZjTFhFdnFyRC9zbXFyVFBjQkRSR2l1eGlwSjAwRk1DTWxWWUcxbUtwSlRZdDV1ckxoN0FBbHd0T2paNXdTT2RkRFJ2QVhyTkpXY24wZDZRSkNrYmZPeXNaelBsc1lqWEhDZ0hxNmZ1cm8wTjAwaGhYNWtvaVVJYW1XU0xaSDNxbUtZUmJHV3lQMlZWS0R1a01WeW5yYmNQMTduMWVhWGNHTWQ1bzBVTHpDakJUMEtSZjdqcnhSeHVqR29PMytJdG1PM3E4b2JWNEVXUDA5ZldkakVDMEJGbjJqRmVZS3B6WFlDWDlITjVSdTJwTXlsVU1IVzVkd1FCTVJ5L3JjdGhtOE9vaEV6UExzRUZEQVdWT2w3b2I4aWorSVdiWXpHdTJ6RUtZandib3hFSVZTU2JwVFVBVDIrM1U3VFlmcDJBN3ozNXhKYzlzRzd6c0tHRDN3V1JaWE9UaVJkRmJBNmtnUDk0TWk2bWRzMGNDZ0wvcHZTeEI1UzRLY3NwNDl5ZFhXV1RuSnQydHlZbFhkaEh2amd5RFA4ajZmeGxxbW1YL053K2tEWGpDbEN0RUxOWjNUZVpQTVhJWmplZTg3ZU9wRVZxMmY1WWVRMkJsK0Z4SzlFd0NFcHpXMStVRXVkOXFJME5IYlJQbjVuZ2wxUVAxRld0SnJGWE1WLzhTemlXQk1uQ0ZESnRubDhlK3g2cHBNSEFna280eW1lbldKeS93c1hHd3ZITmpSWk80L2dnM1dQYXBYRUE2b1Fpcmc3U1RoWlZuaTJLc2I3MkdaaENSbUlOUnlCWnFGbzcyaVgvVkx5QjI4SzlSdnM5RC8xc0JsQ0JPblNCR2luMGtlanI2enQyQi9ReERpeWwrdUV0OEt6Umxla0lqdm9lSUw4Qk1PTXIxTmNGdkJjTkI0eTY5ZitUVHFFc3dKcHNwOFlFRmVteGlSUjE5bHhXdFNjUGtZTkJoajhkQ0lmSGZnZ1Y0MnZISDliVFJPdkFHaTdkMWE4aWJlSkxyY25tQWgwZHhRcGhhT0xMOWxsakF5U2xuZkxlSzZIRGJJSVV1cW95K0pOZytGZVh6LzVnam9SMkY0SStRWUxoNXkyTUtvS0QwTjNrWDBIS1Bpd1VwQk9OT1hjR0MxN0ErWGpDZkN1TGFPMS9XNHhiZWtpZHFtTk4vUWV1ekZLblpYYitJUzd2M0hFQkNzdzBYZVc2dEtNcDNzS2ZPbW8xTUtsb3E1TU5mOUxVcUlkNWpPMXZ2M1g2aFFHMnJjaUh4enZzMmdzanJhb2RaTVpMV1RFbzFzRU9wY2tWcVp2RWUvWGVHQXJyd0tBcmoyelAzUnptVDdqaDJqQVFvZ1NUS2lLSWhJRWpkbk9qcVBhY2RscTBCbnhaaUF6WjVObFpGdGFmb3lLK1F3bk9vdm9ta3liclpsVmNMOGtwQlcxN1laVnl5UG5ZclFwZ1dvNWcxNW9JeW1RPT0ifQ==
-- CEETOS_RELEASE_SIGNATURE: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
-- CEETOS_RELEASE_PAYLOAD_BEGIN
-- CeetOS installer. Generated; do not edit.
local files = {
  ["startup.lua"] = "local pendingPath,releasePath=\"/ceetos-updates/pending.lua\",\"/ceetos-updates/release.lua\"local pending if fs.exists(pendingPath)then local loader=loadfile(pendingPath)if loader then local ok,value=pcall(loader)if ok and type(value)==\"table\"then pending=value end end end if pending and pending.state==\"apply\"and fs.exists(releasePath)then shell.run(releasePath,\"--ceetos-apply\")elseif fs.exists(\"/ceetos/startup.lua\")then shell.run(\"/ceetos/startup.lua\")else shell.run(\"shell\")end",
  ["ceetos/startup.lua"] = "local root=\"/ceetos\"local profile={id=\"desktop\"}if fs.exists(root..\"/profile.lua\")then local loader=loadfile(root..\"/profile.lua\")if loader then local ok,value=pcall(loader);if ok and type(value)==\"table\"then profile=value end end end if profile.id~=\"desktop\"and fs.exists(root..\"/server.lua\")then shell.run(root..\"/server.lua\")elseif fs.exists(root..\"/ceet.lua\")then shell.run(root..\"/ceet.lua\")else printError(\"CeetOS is incomplete; starting CraftOS shell.\")shell.run(\"shell\")end",
  ["ceetos/profile.lua"] = "return {schema=1,id=\"recipe-server\"}",
  ["ceetos/lib/store.lua"] = "local M={}local cache={}local function internalPath(path)return type(path)~=\"string\"or path:sub(-4)==\".new\"or path:sub(-4)==\".bak\"end local function call(fn,...)local result={pcall(fn,...)}if not result[1]then return false,tostring(result[2])end if result[2]==false then return false,tostring(result[3]or\"operation failed\")end return true,result[2],result[3]end local function exists(path)local ok,value=call(fs.exists,path)return ok and value==true end local function remove(path)if not exists(path)then return true end local ok,err=call(fs.delete,path)return ok,err end local function ensureDirectory(path)local dir=fs.getDir(path)if dir==\"\"or exists(dir)then return true end local ok,err=call(fs.makeDir,dir)return ok,err end local function readRaw(path)local ok,handleOrErr=call(fs.open,path,\"r\")if not ok or not handleOrErr then return false,nil,tostring(handleOrErr or\"could not open file\")end local handle=handleOrErr local readOk,content=call(handle.readAll)local closeOk,closeErr=call(handle.close)if not readOk then return false,nil,content end if not closeOk then return false,nil,closeErr end return true,content end local function writeRaw(path,content)local ok,handleOrErr=call(fs.open,path,\"w\")if not ok or not handleOrErr then return false,tostring(handleOrErr or\"could not open file\")end local handle=handleOrErr local writeOk,writeErr=call(handle.write,content)local closeOk,closeErr=call(handle.close)if not writeOk then return false,writeErr end if not closeOk then return false,closeErr end return true end local function move(source,destination)local ok,err=call(fs.move,source,destination)return ok,err end local function decode(raw)local ok,value=pcall(textutils.unserialise,raw)if not ok or value==nil then return false,nil,\"invalid serialised value\"end return true,value end local function readValue(path)local ok,raw,err=readRaw(path)if not ok then return false,nil,err end return decode(raw)end local function recoverValue(path)local activeOk,activeValue=false,nil if exists(path)then activeOk,activeValue=readValue(path)end if activeOk then remove(path..\".new\")remove(path..\".bak\")return true,activeValue end local backupOk,backupValue=false,nil if exists(path..\".bak\")then backupOk,backupValue=readValue(path..\".bak\")end if backupOk then if exists(path)then remove(path)end if not exists(path)then move(path..\".bak\",path)end remove(path..\".new\")return true,backupValue end remove(path..\".new\")return false,nil end local function validLines(raw)for line in(raw..\"\\n\"):gmatch(\"(.-)\\n\")do if line~=\"\"then local ok,value=pcall(textutils.unserialise,line)if not ok or value==nil then return false,\"invalid appended value\"end end end return true end local function recoverAppend(path)if exists(path)then local activeOk,raw=readRaw(path)if activeOk then local valid=validLines(raw)if valid then remove(path..\".new\")remove(path..\".bak\")return true,raw end end end if exists(path..\".bak\")then local backupOk,raw=readRaw(path..\".bak\")if backupOk and validLines(raw)then if exists(path)then remove(path)end if not exists(path)then move(path..\".bak\",path)end remove(path..\".new\")return true,raw end end remove(path..\".new\")return false,\"no valid appended value\"end local function commitRaw(path,raw,validator)local dirOk,dirErr=ensureDirectory(path)if not dirOk then return false,dirErr end local temporary,backup=path..\".new\",path..\".bak\"local removeOk,removeErr=remove(temporary)if not removeOk then return false,removeErr end local writeOk,writeErr=writeRaw(temporary,raw)if not writeOk then remove(temporary);return false,writeErr end local checkOk,checkedRaw,checkErr=readRaw(temporary)if not checkOk then remove(temporary);return false,checkErr end local valid,validErr=validator(checkedRaw)if not valid then remove(temporary);return false,validErr or\"temporary validation failed\"end local backupRemoveOk,backupRemoveErr=remove(backup)if not backupRemoveOk then remove(temporary);return false,backupRemoveErr end if exists(path)then local backupOk,backupErr=move(path,backup)if not backupOk then remove(temporary);return false,backupErr end local activateOk,activateErr=move(temporary,path)if not activateOk then if not exists(path)then move(backup,path)end remove(temporary)return false,activateErr end else local activateOk,activateErr=move(temporary,path)if not activateOk then remove(temporary);return false,activateErr end end return true end function M.readCached(path,fallback)if internalPath(path)then return fallback end local entry=cache[path]if entry~=nil then return entry.value end return M.readFresh(path,fallback)end function M.readFresh(path,fallback)if internalPath(path)then return fallback end local ok,value=recoverValue(path)if not ok then value=fallback end cache[path]={value=value}return value end function M.read(path,fallback)return M.readCached(path,fallback)end function M.writeAtomic(path,value)if internalPath(path)then return false,\"cannot write store temporary or backup path\"end if value==nil then return false,\"cannot store nil\"end local serialisedOk,raw=pcall(textutils.serialise,value,{compact=true})if not serialisedOk or type(raw)~=\"string\"then return false,tostring(raw or\"could not serialise value\")end local valid=decode(raw)if not valid then return false,\"could not validate serialised value\"end recoverValue(path)local ok,err=commitRaw(path,raw,decode)if ok then cache[path]={value=value}end return ok,err end function M.write(path,value)return M.writeAtomic(path,value)end function M.append(path,value,limits)if internalPath(path)then return false,\"cannot append to store temporary or backup path\"end if value==nil then return false,\"cannot append nil\"end local serialisedOk,line=pcall(textutils.serialise,value,{compact=true})if not serialisedOk or type(line)~=\"string\"then return false,tostring(line or\"could not serialise value\")end local valid=validLines(line..\"\\n\")if not valid then return false,\"could not validate appended value\"end local recovered,current=recoverAppend(path)if not recovered then if exists(path)or exists(path..\".bak\")then return false,current end current=\"\"end local lines={}for existing in(current..\"\\n\"):gmatch(\"(.-)\\n\")do if existing~=\"\"then lines[#lines+1]=existing end end lines[#lines+1]=line local maxEntries=limits and tonumber(limits.maxEntries)local maxBytes=limits and tonumber(limits.maxBytes)if maxEntries then maxEntries=math.max(1,math.floor(maxEntries))end if maxBytes then maxBytes=math.max(1,math.floor(maxBytes))end while maxEntries and#lines>maxEntries do table.remove(lines,1)end local raw=table.concat(lines,\"\\n\")if#raw>0 then raw=raw..\"\\n\"end while maxBytes and#raw>maxBytes and#lines>1 do table.remove(lines,1)raw=table.concat(lines,\"\\n\")..\"\\n\"end if maxBytes and#raw>maxBytes then return false,\"appended value exceeds byte limit\"end local ok,err=commitRaw(path,raw,validLines)if ok then cache[path]=nil end return ok,err end function M.readAppend(path)if internalPath(path)then return\"\"end local ok,raw=recoverAppend(path)return ok and raw or\"\"end function M.invalidate(path)cache[path]=nil end return M",
  ["ceetos/lib/profile.lua"] = "local store=require(\"ceetos.lib.store\")local M={}M.PATH=\"/ceetos/profile.lua\"M.IDS={desktop=true,[\"recipe-server\"]=true,[\"router-server\"]=true,[\"auth-server\"]=true}local cache local function normalise(value)if type(value)~=\"table\"then value={}end local id=tostring(value.id or value.profile or\"desktop\")if not M.IDS[id]then id=\"desktop\"end return{schema=1,id=id,installedAt=tonumber(value.installedAt)or 0}end function M.current()if not cache then cache=normalise(store.read(M.PATH,{id=\"desktop\"}))end return cache end function M.id()return M.current().id end function M.is(id)return M.id()==id end function M.isServer()return M.id()~=\"desktop\"end function M.set(id)assert(M.IDS[id],\"invalid CeetOS profile\")cache={schema=1,id=id,installedAt=os.epoch(\"utc\")}return store.write(M.PATH,cache)end function M.capability(name)local id=M.id()local tableFor={desktop={desktop=true,craftingClient=true,orders=true},[\"recipe-server\"]={server=true,recipes=true,recipeImport=true,recipePlan=true},[\"router-server\"]={server=true,routing=true},[\"auth-server\"]={server=true,authAuthority=true},}return tableFor[id][name]==true end return M",
  ["ceetos/lib/auth.lua"] = "local store=require(\"ceetos.lib.store\")local password=require(\"ceetos.lib.password\")local audit=require(\"ceetos.lib.audit\")local M={current=nil}local USERS=\"/ceetos/data/users.lua\"local SESSION=\"/ceetos/data/session.lua\"local TOMBSTONES=\"/ceetos/data/user-tombstones.lua\"local THROTTLE=\"/ceetos/data/login-throttle.lua\"local RECOVERY=\"/ceetos/data/recovery.lua\"local AUTHORITY=\"/ceetos/data/auth-authority.lua\"local CENTRAL_SESSION=\"/ceetos/data/auth-session.lua\"local DIRECTORY=\"/ceetos/data/auth-directory.lua\"local rank={viewer=1,operator=2,admin=3}M.SESSION_TTL_MS=8*60*60*1000 M.LOGIN_THROTTLE={failures=5,windowMs=5*60*1000,lockMs=60*1000,maxEntries=64}local configuredWorkFactor=password.DEFAULT_WORK_FACTOR local sessionPathDelete local function now()return os.epoch(\"utc\")end local function accountName(name)return type(name)==\"string\"and name:match(\"^[%w_%-]+$\")and#name<=32 end local function users()store.invalidate(USERS);return store.read(USERS,{})end local function save(value)return store.write(USERS,value)end local function tombstones()store.invalidate(TOMBSTONES);return store.read(TOMBSTONES,{})end local function saveTombstones(value)return store.write(TOMBSTONES,value)end local function authority()store.invalidate(AUTHORITY)local value=store.read(AUTHORITY,nil)return type(value)==\"table\"and value.active==true and type(value.id)==\"string\"and value or nil end function M.authority()return authority()end function M.centralActive()return authority()~=nil end local function centralDirectory()store.invalidate(DIRECTORY)local value=store.read(DIRECTORY,{})return type(value)==\"table\"and type(value.users)==\"table\"and value or{users={}}end function M.acceptAuthority(record)assert(type(record)==\"table\"and type(record.id)==\"string\"and#record.id<=64,\"invalid auth authority\")local public={schema=1,active=true,id=record.id,term=math.max(0,math.floor(tonumber(record.term)or 0)),revision=math.max(0,math.floor(tonumber(record.revision)or 0)),seen=now()}assert(store.write(AUTHORITY,public),\"could not save auth authority\")if type(record.directory)==\"table\"then assert(store.write(DIRECTORY,{schema=1,revision=public.revision,users=record.directory}),\"could not save account directory\")end local loaded,profile=pcall(require,\"ceetos.lib.profile\")if not loaded or not profile.is(\"auth-server\")then if fs.exists(USERS)then fs.delete(USERS)end if fs.exists(TOMBSTONES)then fs.delete(TOMBSTONES)end sessionPathDelete()end return public end function M.updateDirectory(directory,revision)if type(directory)~=\"table\"then return false,\"invalid account directory\"end return store.write(DIRECTORY,{schema=1,revision=math.max(0,math.floor(tonumber(revision)or 0)),users=directory})end function M.saveCentralSession(value)if type(value)~=\"table\"or not accountName(value.name)or type(value.role)~=\"string\"then return false,\"invalid central session\"end local session={sessionVersion=3,name=value.name,role=value.role,token=value.token,issued=value.issued,expires=value.expires,accountRevision=value.accountRevision,authority=value.authority}if type(session.token)~=\"string\"or#session.token<16 then return false,\"invalid central session token\"end store.write(CENTRAL_SESSION,session)M.current=nil return true end local function safeAudit(action,detail)pcall(audit.log,\"auth\",action,detail or{})end local function stamp(account)account.updated=now()account.origin=tostring(os.getComputerID())account.revision=math.max(0,math.floor(tonumber(account.revision)or 0))+1 return account end local function makeAccount(role,plainPassword,context)local record,err=password.record(plainPassword,password.newSalt(context),configuredWorkFactor)assert(record,err)record.role=role return stamp(record)end sessionPathDelete=function()if fs.exists(SESSION)then fs.delete(SESSION)end store.invalidate(SESSION)end local function saveSession()if M.current==nil then sessionPathDelete();return end local durable={sessionVersion=2,name=M.current.name,nonce=M.current.nonce,issued=M.current.issued,expires=M.current.expires,accountRevision=M.current.accountRevision,}store.write(SESSION,durable)end local function makeSession(name,account)local issued=now()M.current={name=name,role=account.role,nonce=password.newSalt(\"session:\"..name),issued=issued,expires=issued+M.SESSION_TTL_MS,accountRevision=tonumber(account.revision)or 0,}saveSession()return M.current end local function liveAccount(name)local all=users()return all[name],all end local function normaliseSession(saved,account)if type(saved)~=\"table\"or not account or account.disabled then return nil end if saved.sessionVersion==2 then local issued,expires,revision=tonumber(saved.issued),tonumber(saved.expires),tonumber(saved.accountRevision)if type(saved.nonce)~=\"string\"or#saved.nonce<16 or not issued or not expires or not revision then return nil end if expires<=now()or revision~=(tonumber(account.revision)or 0)then return nil end return{name=saved.name,role=account.role,nonce=saved.nonce,issued=issued,expires=expires,accountRevision=revision}end if saved.sessionVersion==nil and type(saved.role)==\"string\"then return\"legacy\"end return nil end function M.refreshSession()local central=authority()if central then store.invalidate(CENTRAL_SESSION)local saved=store.read(CENTRAL_SESSION,nil)local entry=type(saved)==\"table\"and centralDirectory().users[saved.name]or nil if type(saved)~=\"table\"or saved.sessionVersion~=3 or saved.authority~=central.id or type(saved.token)~=\"string\"or(tonumber(saved.expires)or 0)<=now()or type(entry)~=\"table\"or entry.disabled==true or saved.accountRevision~=entry.revision then M.current=nil if fs.exists(CENTRAL_SESSION)then fs.delete(CENTRAL_SESSION)end return nil end M.current={name=saved.name,role=entry.role,nonce=saved.token,issued=saved.issued,expires=saved.expires,accountRevision=saved.accountRevision,authority=central.id,central=true}return M.current end store.invalidate(SESSION)local saved=store.read(SESSION,nil)if type(saved)~=\"table\"or not accountName(saved.name)then M.current=nil;return nil end local account=liveAccount(saved.name)local session=normaliseSession(saved,account)if session==\"legacy\"then return makeSession(saved.name,account)end if not session then M.current=nil sessionPathDelete()return nil end M.current=session return M.current end local function throttleState()store.invalidate(THROTTLE)local data=store.read(THROTTLE,{})return type(data)==\"table\"and data or{}end local function saveThrottle(data)local entries={}for name,entry in pairs(data)do if accountName(name)and type(entry)==\"table\"and type(entry.last)==\"number\"then entries[#entries+1]={name=name,last=entry.last}end end table.sort(entries,function(a,b)return a.last>b.last end)local kept={}for index,entry in ipairs(entries)do if index<=M.LOGIN_THROTTLE.maxEntries then kept[entry.name]=data[entry.name]end end store.write(THROTTLE,kept)end local function locked(name)if not accountName(name)then return false end local entry=throttleState()[name]return entry and(tonumber(entry.lockedUntil)or 0)>now()or false end local function noteFailure(name,reason)if not accountName(name)then return end local data,entry,time=throttleState(),nil,now()entry=data[name]or{failures=0,first=time}if time-(tonumber(entry.first)or 0)>M.LOGIN_THROTTLE.windowMs then entry.failures,entry.first=0,time end entry.failures=math.max(0,math.floor(tonumber(entry.failures)or 0))+1 entry.last=time if entry.failures>=M.LOGIN_THROTTLE.failures then entry.lockedUntil=time+M.LOGIN_THROTTLE.lockMs end data[name]=entry saveThrottle(data)safeAudit(\"login.failure\",{account=name,reason=reason or\"invalid\",throttled=(entry.lockedUntil or 0)>time})end local function clearFailures(name)local data=throttleState()if data[name]~=nil then data[name]=nil;saveThrottle(data)end end function M.throttleStatus(name)local entry=accountName(name)and throttleState()[name]or nil if not entry then return{failures=0,lockedUntil=0}end return{failures=tonumber(entry.failures)or 0,lockedUntil=tonumber(entry.lockedUntil)or 0}end function M.setPasswordWorkFactor(value)local work,err=password.normaliseWorkFactor(value)assert(work,err)configuredWorkFactor=work return work end function M.passwordWorkFactor()return configuredWorkFactor end function M.bootstrap(initialPassword)if authority()then return false end local all=users()if next(all)then return false end local plainPassword=initialPassword if plainPassword==nil then term.write(\"Create CeetOS admin password: \");plainPassword=read(\"*\")end local account=makeAccount(\"admin\",plainPassword,\"admin\")all.admin=account assert(save(all),\"could not save administrator account\")makeSession(\"admin\",account)safeAudit(\"bootstrap\",{account=\"admin\"})return true end function M.login(name,plainPassword)if authority()then local client=require((\"ceetos.lib.auth_client\"))return client.login(name,plainPassword)end if not accountName(name)or type(plainPassword)~=\"string\"then noteFailure(name,\"invalid\")return false,\"invalid credentials\"end if locked(name)then safeAudit(\"login.failure\",{account=name,reason=\"throttled\",throttled=true})return false,\"too many failed attempts; try again later\"end local account,all=liveAccount(name)if not account or account.disabled then noteFailure(name,\"invalid\")return false,\"invalid credentials\"end local valid,state=password.verify(account,plainPassword)if not valid then noteFailure(name,\"invalid\")return false,\"invalid credentials\"end if state==\"legacy\"then local upgraded=makeAccount(account.role,plainPassword,\"upgrade:\"..name)upgraded.updated=account.updated or upgraded.updated upgraded.origin=account.origin or upgraded.origin upgraded.revision=math.max(tonumber(account.revision)or 0,upgraded.revision)stamp(upgraded)all[name]=upgraded assert(save(all),\"could not upgrade password record\")account=upgraded safeAudit(\"password.upgraded\",{account=name})end clearFailures(name)makeSession(name,account)safeAudit(\"login.success\",{account=name})return true end function M.logout()M.current=nil sessionPathDelete()if fs.exists(CENTRAL_SESSION)then fs.delete(CENTRAL_SESSION)end end function M.add(name,role,plainPassword)if authority()then assert(rank[role]and accountName(name),\"invalid user or role\")local record,err=makeAccount(role,plainPassword,\"central:\"..name)assert(record,err)return require((\"ceetos.lib.auth_client\")).mutate(\"add\",{name=name,role=role,record=record})end M.require(\"operator\")assert(rank[role],\"invalid role\")if role==\"admin\"then M.require(\"admin\")end assert(accountName(name),\"invalid user name\")local all=users()assert(not all[name],\"user exists\")all[name]=makeAccount(role,plainPassword,name)assert(save(all),\"could not save user\")safeAudit(\"user.add\",{account=name,role=role})end local function adminCount(all)local count=0 for _,account in pairs(all)do if account.role==\"admin\"and not account.disabled then count=count+1 end end return count end function M.setRole(name,role)if authority()then return require((\"ceetos.lib.auth_client\")).mutate(\"role\",{name=name,role=role})end M.require(\"operator\")assert(accountName(name)and rank[role],\"invalid user or role\")local all,account=users(),users()[name]assert(account,\"unknown user\")if role==\"admin\"or account.role==\"admin\"then M.require(\"admin\")end assert(not(M.current and M.current.name==name),\"cannot change the active account role\")assert(not(account.role==\"admin\"and role~=\"admin\"and adminCount(all)<=1),\"cannot remove the last administrator\")account.role=role stamp(account)all[name]=account assert(save(all),\"could not save account role\")safeAudit(\"user.role\",{account=name,role=role})end function M.setDisabled(name,disabled)if authority()then return require((\"ceetos.lib.auth_client\")).mutate(\"disable\",{name=name,disabled=disabled==true})end M.require(\"admin\")assert(accountName(name),\"invalid user name\")local all,account=users(),users()[name]assert(account,\"unknown user\")assert(not(M.current and M.current.name==name),\"cannot disable the active account\")if disabled then assert(not(account.role==\"admin\"and adminCount(all)<=1),\"cannot disable the last administrator\")end account.disabled=disabled==true stamp(account)all[name]=account assert(save(all),\"could not save account state\")safeAudit(\"user.disabled\",{account=name,disabled=account.disabled})end function M.remove(name)if authority()then return require((\"ceetos.lib.auth_client\")).mutate(\"remove\",{name=name})end M.require(\"operator\")assert(accountName(name),\"invalid user name\")local all,account=users(),users()[name]assert(account,\"unknown user\")if account.role==\"admin\"then M.require(\"admin\")end assert(not(M.current and M.current.name==name),\"cannot delete the active account\")assert(not(account.role==\"admin\"and adminCount(all)<=1),\"cannot delete the last administrator\")all[name]=nil local removed=tombstones()removed[name]=now()assert(saveTombstones(removed),\"could not save account tombstone\")assert(save(all),\"could not remove account\")safeAudit(\"user.remove\",{account=name})end local function recoveryActive()store.invalidate(RECOVERY)local recovery=store.read(RECOVERY,{})return type(recovery)==\"table\"and(tonumber(recovery.until_ts)or 0)>now()end local function setPassword(name,plainPassword)assert(accountName(name),\"invalid user name\")local all,account=users(),users()[name]assert(account,\"unknown user\")local replacement=makeAccount(account.role,plainPassword,\"reset:\"..name)replacement.updated=account.updated or replacement.updated replacement.origin=account.origin or replacement.origin replacement.revision=math.max(tonumber(account.revision)or 0,replacement.revision)replacement.disabled=account.disabled==true stamp(replacement)all[name]=replacement assert(save(all),\"could not save password\")if M.current and M.current.name==name then M.current=nil;sessionPathDelete()end safeAudit(\"password.reset\",{account=name})return true end function M.resetPassword(name,plainPassword)if authority()then local account=centralDirectory().users[name];assert(account,\"unknown user\")local record,err=makeAccount(account.role,plainPassword,\"central-reset:\"..name);assert(record,err)return require((\"ceetos.lib.auth_client\")).mutate(\"reset\",{name=name,record=record})end if not M.allowed(\"admin\")and not recoveryActive()then error(\"permission denied (requires admin or active recovery window)\",2)end return setPassword(name,plainPassword)end function M.adminResetPassword(name,plainPassword)if authority()then local account=centralDirectory().users[name];assert(account,\"unknown user\")local record,err=makeAccount(account.role,plainPassword,\"central-reset:\"..name);assert(record,err)return require((\"ceetos.lib.auth_client\")).mutate(\"reset\",{name=name,record=record})end M.require(\"operator\")local account=users()[name]assert(account,\"unknown user\")if account.role==\"admin\"then M.require(\"admin\")end return setPassword(name,plainPassword)end function M.allowed(role)if not rank[role]then return false end local current=M.refreshSession()return current~=nil and rank[current.role]>=rank[role]end function M.require(role)if not M.allowed(role)then error(\"permission denied (requires \"..tostring(role)..\")\",2)end end function M.list()local out={}local source=authority()and centralDirectory().users or users()for name,account in pairs(source)do out[#out+1]={name=name,role=account.role,disabled=account.disabled==true,revision=account.revision}end table.sort(out,function(a,b)return a.name<b.name end)return out end function M.snapshot()if authority()then return{users={},tombstones={},source=tostring(os.getComputerID()),schema=3,central=true}end return M.authoritySnapshot()end function M.authoritySnapshot()local copy={users={},tombstones={},source=tostring(os.getComputerID()),schema=2}for name,account in pairs(users())do copy.users[name]={role=account.role,salt=account.salt,verifier=account.verifier,passwordVersion=account.passwordVersion,scheme=account.scheme,workFactor=account.workFactor,revision=tonumber(account.revision)or 0,disabled=account.disabled==true,updated=account.updated or 0,origin=account.origin or copy.source,}end for name,removed in pairs(tombstones())do copy.tombstones[name]=removed end return copy end local function validIncomingPassword(account)if password.isModern(account)then local work=password.normaliseWorkFactor(account.workFactor)return work~=nil and type(account.verifier)==\"string\"and#account.verifier==64 and account.verifier:match(\"^[0-9a-f]+$\")~=nil end return type(account.salt)==\"string\"and#account.salt>0 and#account.salt<=256 and type(account.verifier)==\"string\"and account.verifier:match(\"^[0-9a-fA-F]+$\")~=nil and#account.verifier==8 end function M.merge(snapshot,authoritySeed)if authority()and authoritySeed~=true then return false,\"distributed account sync is disabled by central authority\"end if type(snapshot)~=\"table\"or type(snapshot.users)~=\"table\"then return false,\"invalid account sync\"end local all,removed,changed=users(),tombstones(),false for name,deletedAt in pairs(snapshot.tombstones or{})do if accountName(name)and type(deletedAt)==\"number\"and deletedAt>(removed[name]or 0)then local localAccount=all[name]if not localAccount or(localAccount.updated or 0)<=deletedAt then all[name],removed[name],changed=nil,deletedAt,true end end end for name,account in pairs(snapshot.users)do if accountName(name)and type(account)==\"table\"and rank[account.role]and validIncomingPassword(account)then local updated=tonumber(account.updated)or 0 local localAccount,incomingOrigin=all[name],tostring(account.origin or snapshot.source or\"\")local localOrigin=localAccount and tostring(localAccount.origin or os.getComputerID())or\"\"local wins=not localAccount or updated>(localAccount.updated or 0)or(updated==(localAccount.updated or 0)and incomingOrigin~=\"\"and incomingOrigin<localOrigin)if(removed[name]==nil or updated>removed[name])and wins then all[name]={role=account.role,salt=account.salt,verifier=account.verifier,passwordVersion=account.passwordVersion,scheme=account.scheme,workFactor=account.workFactor,revision=math.max(0,math.floor(tonumber(account.revision)or 0)),disabled=account.disabled==true,updated=updated,origin=incomingOrigin,}changed=true end end end if changed then assert(save(all),\"could not save account sync\")assert(saveTombstones(removed),\"could not save account tombstones\")M.refreshSession()end return changed end function M.authorityAccount(name)if not accountName(name)then return nil end return users()[name]end function M.authorityDirectory()local out={}for name,account in pairs(users())do out[name]={role=account.role,disabled=account.disabled==true,revision=tonumber(account.revision)or 0}end return out end function M.authorityMutate(action,fields)fields=type(fields)==\"table\"and fields or{}local name=fields.name assert(accountName(name),\"invalid user name\")local all,account=users(),users()[name]if action==\"add\"then assert(not account,\"user exists\")assert(rank[fields.role],\"invalid role\")local record=fields.record assert(type(record)==\"table\"and password.isModern(record),\"central account mutation requires a verifier record\")record.role,record.disabled=fields.role,false;all[name]=stamp(record);assert(save(all),\"could not save user\")elseif action==\"role\"then assert(account and rank[fields.role],\"unknown user or invalid role\")if account.role==\"admin\"and fields.role~=\"admin\"then local admins=0;for _,candidate in pairs(all)do if candidate.role==\"admin\"and not candidate.disabled then admins=admins+1 end end assert(admins>1,\"cannot demote the last active admin\")end account.role=fields.role;stamp(account);all[name]=account;assert(save(all),\"could not save role\")elseif action==\"disable\"then if account and account.role==\"admin\"and fields.disabled==true then local admins=0;for _,candidate in pairs(all)do if candidate.role==\"admin\"and not candidate.disabled then admins=admins+1 end end assert(admins>1,\"cannot disable the last active admin\")end assert(account,\"unknown user\");account.disabled=fields.disabled==true;stamp(account);all[name]=account;assert(save(all),\"could not save user state\")elseif action==\"remove\"then assert(account,\"unknown user\")if account.role==\"admin\"and not account.disabled then local admins=0;for _,candidate in pairs(all)do if candidate.role==\"admin\"and not candidate.disabled then admins=admins+1 end end assert(admins>1,\"cannot remove the last active admin\")end all[name]=nil;local removed=tombstones();removed[name]=now();assert(saveTombstones(removed),\"could not save tombstone\");assert(save(all),\"could not remove user\")elseif action==\"reset\"then assert(account,\"unknown user\")local replacement=fields.record assert(type(replacement)==\"table\"and password.isModern(replacement),\"central password reset requires a verifier record\")replacement.role,replacement.disabled=account.role,account.disabled==true;all[name]=stamp(replacement);assert(save(all),\"could not save password\")else error(\"unsupported account mutation\")end safeAudit(\"authority.\"..action,{account=name})return M.authorityDirectory()end M.refreshSession()return M",
  ["ceetos/lib/password.lua"] = "local M={}M.SCHEME=\"pbkdf2-hmac-sha256\"M.PASSWORD_VERSION=2 M.DEFAULT_WORK_FACTOR=256 M.MIN_WORK_FACTOR=64 M.MAX_WORK_FACTOR=2048 M.MIN_LENGTH=8 M.MAX_LENGTH=128 local MOD=4294967296 local band,bor,bxor,bnot=bit32.band,bit32.bor,bit32.bxor,bit32.bnot local rshift,lshift=bit32.rshift,bit32.lshift local unpack=table.unpack or unpack local K={0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2,}local initial={0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19,}local function add(...)local value=0 for i=1,select(\"#\",...)do value=(value+(select(i,...)or 0))%MOD end return value end local function rrotate(value,amount)if bit32.rrotate then return bit32.rrotate(value,amount)end return bor(rshift(value,amount),lshift(value,32-amount))end local function word(bytes,index)return bytes:byte(index)*16777216+bytes:byte(index+1)*65536+bytes:byte(index+2)*256+bytes:byte(index+3)end local function packWord(value)return string.char(band(rshift(value,24),0xff),band(rshift(value,16),0xff),band(rshift(value,8),0xff),band(value,0xff))end local function sha256Raw(value)local bitLength=#value*8 value=value..string.char(0x80)value=value..string.rep(\"\\0\",(56-(#value%64))%64)value=value..packWord(math.floor(bitLength/MOD))..packWord(bitLength%MOD)local h={unpack(initial)}for offset=1,#value,64 do if#value>16384 and offset>1 and((offset-1)/64)%128==0 and type(sleep)==\"function\"then sleep(0)end local w={}for i=1,16 do w[i]=word(value,offset+(i-1)*4)end for i=17,64 do local x,y=w[i-15],w[i-2]local s0=bxor(rrotate(x,7),rrotate(x,18),rshift(x,3))local s1=bxor(rrotate(y,17),rrotate(y,19),rshift(y,10))w[i]=add(w[i-16],s0,w[i-7],s1)end local a,b,c,d,e,f,g,hh=unpack(h)for i=1,64 do local s1=bxor(rrotate(e,6),rrotate(e,11),rrotate(e,25))local choice=bxor(band(e,f),band(bnot(e),g))local t1=add(hh,s1,choice,K[i],w[i])local s0=bxor(rrotate(a,2),rrotate(a,13),rrotate(a,22))local majority=bxor(band(a,b),band(a,c),band(b,c))local t2=add(s0,majority)hh,g,f,e,d,c,b,a=g,f,e,add(d,t1),c,b,a,add(t1,t2)end h[1],h[2],h[3],h[4]=add(h[1],a),add(h[2],b),add(h[3],c),add(h[4],d)h[5],h[6],h[7],h[8]=add(h[5],e),add(h[6],f),add(h[7],g),add(h[8],hh)end local result={}for i=1,8 do result[i]=packWord(h[i])end return table.concat(result)end local function hmac(key,message)if#key>64 then key=sha256Raw(key)end key=key..string.rep(\"\\0\",64-#key)local inner,outer={},{}for i=1,64 do local byte=key:byte(i)inner[i],outer[i]=string.char(bxor(byte,0x36)),string.char(bxor(byte,0x5c))end return sha256Raw(table.concat(outer)..sha256Raw(table.concat(inner)..message))end local function xorBytes(left,right)local out={}for i=1,#left do out[i]=string.char(bxor(left:byte(i),right:byte(i)))end return table.concat(out)end local function cooperate(round)if round%32~=0 or not(os and os.queueEvent and os.pullEvent)then return end os.queueEvent(\"ceetos_password_yield\")os.pullEvent(\"ceetos_password_yield\")end local function toHex(value)return(value:gsub(\".\",function(byte)return string.format(\"%02x\",byte:byte())end))end local function constantEqual(left,right)if type(left)~=\"string\"or type(right)~=\"string\"then return false end local differing=bxor(#left,#right)local length=math.max(#left,#right)for i=1,length do differing=bor(differing,bxor(left:byte(i)or 0,right:byte(i)or 0))end return differing==0 end function M.hmacSha256(key,message)if type(key)~=\"string\"or type(message)~=\"string\"then return nil,\"HMAC key and message must be strings\"end return toHex(hmac(key,message))end function M.sha256(value)if type(value)~=\"string\"then return nil,\"SHA-256 input must be a string\"end return toHex(sha256Raw(value))end function M.constantTimeEqual(left,right)return constantEqual(left,right)end function M.legacyDigest(value)local h=2166136261 for i=1,#value do h=bxor(h,value:byte(i))h=(h*16777619)%MOD end return string.format(\"%08x\",h)end function M.normaliseWorkFactor(value)value=tonumber(value)if not value or value%1~=0 then return nil,\"invalid password work factor\"end if value<M.MIN_WORK_FACTOR or value>M.MAX_WORK_FACTOR then return nil,\"password work factor must be \"..M.MIN_WORK_FACTOR..\"-\"..M.MAX_WORK_FACTOR end return value end function M.policy(password)if type(password)~=\"string\"then return false,\"password is required\"end if#password<M.MIN_LENGTH or#password>M.MAX_LENGTH then return false,\"password must contain \"..M.MIN_LENGTH..\"-\"..M.MAX_LENGTH..\" characters\"end if password:find(\"[%z\\1-\\31\\127]\")then return false,\"password contains control characters\"end return true end function M.derive(password,salt,workFactor)local work,err=M.normaliseWorkFactor(workFactor)if not work then return nil,err end if type(password)~=\"string\"or type(salt)~=\"string\"or#salt<16 or#salt>256 then return nil,\"invalid password record\"end local block=string.char(0,0,0,1)local value=hmac(password,salt..block)local result=value for _=2,work do value=hmac(password,value)result=xorBytes(result,value)cooperate(_)end return toHex(result)end local saltCounter=0 function M.newSalt(context)saltCounter=saltCounter+1 local now=os.epoch and os.epoch(\"utc\")or 0 local computer=os.getComputerID and os.getComputerID()or 0 local label=os.getComputerLabel and os.getComputerLabel()or\"\"local random=math.random and math.random(0,2147483647)or 0 return toHex(sha256Raw(table.concat({tostring(now),tostring(computer),tostring(label),tostring(context or\"\"),tostring(saltCounter),tostring(random)},\":\"))):sub(1,32)end function M.record(password,salt,workFactor)local valid,err=M.policy(password)if not valid then return nil,err end local work,workErr=M.normaliseWorkFactor(workFactor or M.DEFAULT_WORK_FACTOR)if not work then return nil,workErr end salt=salt or M.newSalt()local verifier,deriveErr=M.derive(password,salt,work)if not verifier then return nil,deriveErr end return{passwordVersion=M.PASSWORD_VERSION,scheme=M.SCHEME,salt=salt,verifier=verifier,workFactor=work,}end function M.isModern(record)return type(record)==\"table\"and record.passwordVersion==M.PASSWORD_VERSION and record.scheme==M.SCHEME end function M.verify(record,password)if type(record)~=\"table\"or type(password)~=\"string\"or type(record.salt)~=\"string\"or type(record.verifier)~=\"string\"then return false,\"invalid password record\"end if M.isModern(record)then local verifier,err=M.derive(password,record.salt,record.workFactor)if not verifier then return false,err end return constantEqual(record.verifier,verifier),nil end return constantEqual(record.verifier,M.legacyDigest(record.salt..password)),\"legacy\"end return M",
  ["ceetos/lib/release_keys.lua"] = "return{algorithm=\"lamport-sha256-v1\",roots={[\"auth-server-release-0.15.2\"]={public=\"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\",profile=\"auth-server\"},[\"auth-server-release-0.15.3\"]={public=\"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\",profile=\"auth-server\"},[\"desktop-release-0.15.3\"]={public=\"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\",profile=\"desktop\"},[\"desktop-release-0.16.0\"]={public=\"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\",profile=\"desktop\"},[\"recipe-server-release-0.15.2\"]={public=\"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\",profile=\"recipe-server\"},[\"recipe-server-release-0.15.3\"]={public=\"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\",profile=\"recipe-server\"},[\"router-server-release-0.15.2\"]={public=\"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\",profile=\"router-server\"},[\"router-server-release-0.15.3\"]={public=\"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\",profile=\"router-server\"},},}",
  ["ceetos/lib/release_verify.lua"] = "local password=require(\"ceetos.lib.password\")local roots=require(\"ceetos.lib.release_keys\")local profile=require(\"ceetos.lib.profile\")local M={}M.CACHE_ROOT=\"/ceetos-updates\"M.CACHE_FILE=\"/ceetos-updates/release.lua\"M.META_FILE=\"/ceetos-updates/cache.lua\"M.PART_FILE=\"/ceetos-updates/release.part\"M.PENDING_FILE=\"/ceetos-updates/pending.lua\"M.MAX_PACKAGE_BYTES=1024*1024 M.MAX_MANIFEST_BYTES=48*1024 M.CHUNK_BYTES=3072 M.KEY_PARTS=256 local alphabet=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"local decodeMap={}for i=1,#alphabet do decodeMap[alphabet:sub(i,i)]=i-1 end local function read(path)if not fs.exists(path)or fs.isDir(path)then return nil end local handle=fs.open(path,\"r\")if not handle then return nil end local value=handle.readAll();handle.close()return value end local function write(path,value)local parent=fs.getDir(path)if parent~=\"\"and not fs.exists(parent)then fs.makeDir(parent)end local temporary=path..\".tmp\"if fs.exists(temporary)then fs.delete(temporary)end local handle=assert(fs.open(temporary,\"w\"),\"could not create temporary release state\")handle.write(value);handle.close()if fs.exists(path)then fs.delete(path)end fs.move(temporary,path)end local function encode(value)local out,index={},1 while index<=#value do local a,b,c=value:byte(index,index+2)local n=(a or 0)*65536+(b or 0)*256+(c or 0)out[#out+1]=alphabet:sub(math.floor(n/262144)%64+1,math.floor(n/262144)%64+1)out[#out+1]=alphabet:sub(math.floor(n/4096)%64+1,math.floor(n/4096)%64+1)out[#out+1]=b and alphabet:sub(math.floor(n/64)%64+1,math.floor(n/64)%64+1)or\"=\"out[#out+1]=c and alphabet:sub(n%64+1,n%64+1)or\"=\"index=index+3 end return table.concat(out)end local function decode(value)if type(value)~=\"string\"or#value%4~=0 or#value>M.MAX_MANIFEST_BYTES*2 then return nil,\"invalid base64\"end local out={}for index=1,#value,4 do local a,b,c,d=value:sub(index,index),value:sub(index+1,index+1),value:sub(index+2,index+2),value:sub(index+3,index+3)if not decodeMap[a]or not decodeMap[b]or(c~=\"=\"and not decodeMap[c])or(d~=\"=\"and not decodeMap[d])then return nil,\"invalid base64\"end if(c==\"=\"and d~=\"=\")or((c==\"=\"or d==\"=\")and index+3~=#value)then return nil,\"invalid base64 padding\"end local n=decodeMap[a]*262144+decodeMap[b]*4096+(decodeMap[c]or 0)*64+(decodeMap[d]or 0)out[#out+1]=string.char(math.floor(n/65536)%256)if c~=\"=\"then out[#out+1]=string.char(math.floor(n/256)%256)end if d~=\"=\"then out[#out+1]=string.char(n%256)end end return table.concat(out)end local function unhex(value)if type(value)~=\"string\"or#value%2~=0 or value:find(\"[^%x]\")then return nil end return(value:gsub(\"..\",function(pair)return string.char(tonumber(pair,16))end))end local function semver(value)if type(value)~=\"string\"then return nil end local major,minor,patch=value:match(\"^(%d+)%.(%d+)%.(%d+)$\")if not major then return nil end return tonumber(major),tonumber(minor),tonumber(patch)end function M.compareVersions(left,right)local a,b,c=semver(left);local x,y,z=semver(right)if not a or not x then return nil,\"invalid semantic version\"end if a~=x then return a<x and-1 or 1 end if b~=y then return b<y and-1 or 1 end if c~=z then return c<z and-1 or 1 end return 0 end local function canonical(manifest)if manifest._legacyProfile==true then return table.concat({\"ceetos-release-v1\",tostring(manifest.channel),tostring(manifest.version),tostring(manifest.size),tostring(manifest.digest),tostring(manifest.key_id),tostring(manifest.next_key_id),tostring(manifest.next_public),},\"|\")end return table.concat({\"ceetos-release-v2\",tostring(manifest.channel),tostring(manifest.profile),tostring(manifest.version),tostring(manifest.size),tostring(manifest.digest),tostring(manifest.key_id),tostring(manifest.next_key_id),tostring(manifest.next_public),},\"|\")end local function unpackKey(value)local raw,err=decode(value)if not raw or#raw~=M.KEY_PARTS*2*32 then return nil,err or\"invalid public key\"end local parts={}for index=1,M.KEY_PARTS*2 do parts[index]=raw:sub((index-1)*32+1,index*32)end return parts end function M.validPublicKey(value)return unpackKey(value)end local function lookupKey(keyId)local saved=M.trustedKeys()local value=saved[keyId]if value then return unpackKey(value)end value=roots.roots and roots.roots[keyId]if type(value)==\"table\"and type(value.public)==\"string\"then value=value.public end return unpackKey(value)end local function bitAt(digest,index)local byte=digest:byte(math.floor((index-1)/8)+1)return bit32.band(bit32.rshift(byte,7-((index-1)%8)),1)end local function decodeSignature(value)local raw,err=decode(value)if not raw or#raw~=M.KEY_PARTS*32 then return nil,err or\"invalid signature\"end local parts={}for index=1,M.KEY_PARTS do parts[index]=raw:sub((index-1)*32+1,index*32)end return parts end local function verifySignature(manifest,signature)if roots.algorithm~=\"lamport-sha256-v1\"then return false,\"unsupported release signing algorithm\"end local public,publicErr=lookupKey(manifest.key_id)local parts,signatureErr=decodeSignature(signature)if not public or not parts then local prefix=not public and\"invalid release public key: \"or\"invalid release signature: \"return false,prefix..tostring(publicErr or signatureErr or\"unknown release key\")end local digest=unhex(password.sha256(canonical(manifest))or\"\")if not digest then return false,\"could not hash release manifest\"end for index=1,M.KEY_PARTS do local expected=public[(index-1)*2+bitAt(digest,index)+1]local candidate=unhex(password.sha256(parts[index])or\"\")if not candidate or not password.constantTimeEqual(candidate,expected)then return false,\"invalid release signature\"end end return true end local function validateManifest(manifest)if type(manifest)~=\"table\"or manifest.channel~=\"release\"then return nil,\"only signed release packages are accepted\"end if manifest.profile==nil then manifest.profile,manifest._legacyProfile=\"desktop\",true end if type(manifest.profile)~=\"string\"or not profile.IDS[manifest.profile]then return nil,\"invalid release profile\"end if not semver(manifest.version)or type(manifest.size)~=\"number\"or manifest.size<1 or manifest.size>M.MAX_PACKAGE_BYTES then return nil,\"invalid release manifest size or version\"end if type(manifest.digest)~=\"string\"or#manifest.digest~=64 or manifest.digest:find(\"[^%x]\")then return nil,\"invalid release digest\"end if type(manifest.key_id)~=\"string\"or#manifest.key_id<1 or#manifest.key_id>64 then return nil,\"invalid release key id\"end if type(manifest.next_key_id)~=\"string\"or#manifest.next_key_id<1 or#manifest.next_key_id>64 then return nil,\"invalid next release key id\"end local nextKey=unpackKey(manifest.next_public)if not nextKey then return nil,\"invalid successor release key\"end return manifest end function M.parse(source)if type(source)~=\"string\"or#source>M.MAX_PACKAGE_BYTES then return nil,\"release package is too large\"end local encodedManifest,encodedSignature=source:match(\"^%-%- CEETOS_RELEASE_MANIFEST:([^\\r\\n]+)[\\r\\n]+%-%- CEETOS_RELEASE_SIGNATURE:([^\\r\\n]+)\")if not encodedManifest then encodedManifest,encodedSignature=source:match(\"^%-%- CeetOS signed release%. Generated; do not edit%.[\\r\\n]+%-%- CEETOS_RELEASE_MANIFEST:([^\\r\\n]+)[\\r\\n]+%-%- CEETOS_RELEASE_SIGNATURE:([^\\r\\n]+)\")end local first=source:find(\"%-%- CEETOS_RELEASE_PAYLOAD_BEGIN[\\r\\n]+\")if not encodedManifest or not encodedSignature or not first then return nil,\"not a signed CeetOS release package\"end local decoded,decodeErr=decode(encodedManifest)if not decoded then return nil,\"invalid release manifest encoding: \"..tostring(decodeErr)end local loader=load(\"return \"..decoded,\"=release-manifest\",\"t\",{})if not loader then return nil,\"invalid release manifest\"end local ok,manifest=pcall(loader)if not ok then return nil,\"invalid release manifest\"end local valid,manifestErr=validateManifest(manifest)if not valid then return nil,manifestErr end local start=source:find(\"\\n\",first)+1 local finish=start+valid.size-1 local payload=source:sub(start,finish)local suffix=source:sub(finish+1)if suffix~=\"\\n-- CEETOS_RELEASE_PAYLOAD_END\\n\"and suffix~=\"\\n-- CEETOS_RELEASE_PAYLOAD_END\"and suffix~=\"\\r\\n-- CEETOS_RELEASE_PAYLOAD_END\\r\\n\"and suffix~=\"\\r\\n-- CEETOS_RELEASE_PAYLOAD_END\"then return nil,\"release payload boundary mismatch\"end if#payload~=valid.size or not password.constantTimeEqual(password.sha256(payload)or\"\",valid.digest)then return nil,\"release payload digest mismatch\"end local signed,signatureErr=verifySignature(valid,encodedSignature)if not signed then return nil,signatureErr end return{manifest=valid,signature=encodedSignature,payload=payload,source=source}end function M.trustedKeys()local raw=read(M.CACHE_ROOT..\"/trusted-keys.lua\")if not raw then return{}end local loader=load(raw,\"=trusted-release-keys\",\"t\",{})if not loader then return{}end local ok,value=pcall(loader)return ok and type(value)==\"table\"and value or{}end local function saveKeys(value)local encoded=textutils.serialise(value,{compact=true})write(M.CACHE_ROOT..\"/trusted-keys.lua\",\"return \"..encoded)end function M.metadata()local raw=read(M.META_FILE)if not raw then return nil end local loader=load(raw,\"=release-cache\",\"t\",{})if not loader then return nil end local ok,value=pcall(loader)return ok and type(value)==\"table\"and value or nil end function M.cache(source,provider)local package,err=M.parse(source)if not package then return nil,err end if fs.exists(M.CACHE_ROOT)and fs.isDir(M.CACHE_ROOT)then if fs.exists(M.PART_FILE)then fs.delete(M.PART_FILE)end elseif not fs.exists(M.CACHE_ROOT)then fs.makeDir(M.CACHE_ROOT)end write(M.CACHE_FILE,package.source)local metadata={schema=2,channel=package.manifest.channel,profile=package.manifest.profile,version=package.manifest.version,size=package.manifest.size,digest=package.manifest.digest,keyId=package.manifest.key_id,nextKeyId=package.manifest.next_key_id,source=provider and tostring(provider)or\"local\",cachedAt=os.epoch(\"utc\"),}write(M.META_FILE,\"return \"..textutils.serialise(metadata,{compact=true}))local keys=M.trustedKeys();keys[package.manifest.next_key_id]=package.manifest.next_public;saveKeys(keys)return metadata end function M.promotePart(path,provider)if type(path)~=\"string\"or path~=M.PART_FILE then return nil,\"invalid release staging path\"end local source=read(path)local package,err=M.parse(source)if not package then return nil,err end if not fs.exists(M.CACHE_ROOT)then fs.makeDir(M.CACHE_ROOT)end if fs.exists(M.CACHE_FILE)then fs.delete(M.CACHE_FILE)end fs.move(M.PART_FILE,M.CACHE_FILE)local metadata={schema=2,channel=package.manifest.channel,profile=package.manifest.profile,version=package.manifest.version,size=package.manifest.size,digest=package.manifest.digest,keyId=package.manifest.key_id,nextKeyId=package.manifest.next_key_id,source=provider and tostring(provider)or\"local\",cachedAt=os.epoch(\"utc\"),}write(M.META_FILE,\"return \"..textutils.serialise(metadata,{compact=true}))M.adopt(package)return metadata end function M.adopt(package)if type(package)~=\"table\"or type(package.manifest)~=\"table\"then return false,\"invalid verified package\"end local keys=M.trustedKeys()keys[package.manifest.next_key_id]=package.manifest.next_public saveKeys(keys)return true end function M.cachedPackage()local source,metadata=read(M.CACHE_FILE),M.metadata()if not source then return nil end local package,err=M.parse(source)if not package then return nil,err end if not metadata then metadata={schema=2,channel=package.manifest.channel,profile=package.manifest.profile,version=package.manifest.version,size=package.manifest.size,digest=package.manifest.digest,keyId=package.manifest.key_id,nextKeyId=package.manifest.next_key_id,source=\"local installer\",cachedAt=os.epoch(\"utc\"),}write(M.META_FILE,\"return \"..textutils.serialise(metadata,{compact=true}))end M.adopt(package)return package,metadata end function M.clear()if fs.exists(M.PART_FILE)then fs.delete(M.PART_FILE)end if fs.exists(M.CACHE_FILE)then fs.delete(M.CACHE_FILE)end if fs.exists(M.META_FILE)then fs.delete(M.META_FILE)end return true end function M.encode(value)return encode(value)end function M.decode(value)return decode(value)end function M.canonical(manifest)return canonical(manifest)end return M",
  ["ceetos/lib/updater.lua"] = "local store=require(\"ceetos.lib.store\")local release=require(\"ceetos.lib.release_verify\")local version=require(\"ceetos.lib.version\")local net=require(\"ceetos.lib.net\")local profile=require(\"ceetos.lib.profile\")local M={}local STATE_PATH=\"/ceetos/data/update-status.lua\"local OFFER_LIMIT,HISTORY_LIMIT=20,16 local BEACON_INTERVAL,REQUEST_TIMEOUT,REQUEST_LIMIT=30000,3500,3 local MAX_OFFER_AGE=5*60*1000 local state=nil local lastBeacon,lastCacheRead=0,0 local cached=nil local function now()return os.epoch(\"utc\")end local function localId()return tostring(os.getComputerID())end local function localLabel()return os.getComputerLabel()or(\"Computer \"..localId())end local function defaults()return{schema=1,offers={},history={},revision=0,status=\"idle\",message=nil,transfer=nil,cache=nil}end local function loadState()if state then return state end state=store.read(STATE_PATH,defaults())for key,value in pairs(defaults())do if state[key]==nil then state[key]=value end end state.offers=type(state.offers)==\"table\"and state.offers or{}state.history=type(state.history)==\"table\"and state.history or{}return state end local function save()local value=loadState()value.revision=(tonumber(value.revision)or 0)+1 store.write(STATE_PATH,value)end local function record(kind,fields)local value=loadState()local row={at=now(),kind=tostring(kind):sub(1,48)}for key,item in pairs(fields or{})do if key~=\"data\"and key~=\"source\"and key~=\"signature\"then row[key]=item end end value.history[#value.history+1]=row while#value.history>HISTORY_LIMIT do table.remove(value.history,1)end end local function setStatus(status,message)local value=loadState()value.status,value.message=status,message and tostring(message):sub(1,180)or nil end local function validId(value)return type(value)==\"string\"and value:match(\"^[%w_%-%.]+$\")and#value<=96 end local function validOffer(body)if type(body)~=\"table\"or type(body.version)~=\"string\"or type(body.size)~=\"number\"or type(body.digest)~=\"string\"or type(body.keyId)~=\"string\"or type(body.profile)~=\"string\"then return nil,\"malformed release offer\"end if body.profile~=profile.id()then return nil,\"release profile does not match this installation\"end local compare=release.compareVersions(body.version,version.string)if compare==nil then return nil,\"invalid release version\"end if body.size<1 or body.size>release.MAX_PACKAGE_BYTES then return nil,\"invalid release size\"end if#body.digest~=64 or body.digest:find(\"[^%x]\")then return nil,\"invalid release digest\"end if#body.keyId<1 or#body.keyId>64 then return nil,\"invalid release key ID\"end return{profile=body.profile,version=body.version,size=math.floor(body.size),digest=body.digest:lower(),keyId=body.keyId,fingerprint=body.digest:sub(1,16),newer=compare>0}end local function refreshCached()local timestamp=now()if cached and timestamp-lastCacheRead<5000 then return cached end lastCacheRead=timestamp local value=loadState()local previous=value.cache and(tostring(value.cache.version)..\":\"..tostring(value.cache.digest))or nil local package,metadata=release.cachedPackage()if package and package.manifest.profile==profile.id()then cached={package=package,metadata=metadata,offer={version=package.manifest.version,size=#package.source,digest=package.manifest.digest,profile=package.manifest.profile,keyId=package.manifest.key_id,fingerprint=package.manifest.digest:sub(1,16),}}value.cache={profile=package.manifest.profile,version=package.manifest.version,size=#package.source,digest=package.manifest.digest,keyId=package.manifest.key_id,fingerprint=package.manifest.digest:sub(1,16),source=metadata and metadata.source or\"local\",verifiedAt=timestamp}else cached=nil value.cache=nil end local current=value.cache and(tostring(value.cache.version)..\":\"..tostring(value.cache.digest))or nil if current~=previous then save()end return cached end local function providerOffer()local available=refreshCached()if not available then return nil end return{version=available.offer.version,size=available.offer.size,digest=available.offer.digest,profile=available.offer.profile,keyId=available.offer.keyId,label=localLabel(),id=localId(),}end local function upsertOffer(source,body,transport,distance)source=tostring(source)if source==localId()then return false,\"ignored own release offer\"end local offer,err=validOffer(body)if not offer then return false,err end if not offer.newer then return false,\"offered release is not newer\"end local value=loadState()local key=source..\":\"..offer.version..\":\"..offer.digest:sub(1,16)value.offers[key]={id=source,label=tostring(body.label or(\"Computer \"..source)):sub(1,96),version=offer.version,profile=offer.profile,size=offer.size,digest=offer.digest,fingerprint=offer.fingerprint,keyId=offer.keyId,transport=transport,distance=tonumber(distance),seen=now(),key=key,}local rows={}for entryKey,item in pairs(value.offers)do rows[#rows+1]={key=entryKey,seen=tonumber(item.seen)or 0}end table.sort(rows,function(a,b)return a.seen>b.seen end)while#rows>OFFER_LIMIT do value.offers[table.remove(rows).key]=nil end setStatus(\"offers\",\"Signed release \"..offer.version..\" available from \"..tostring(body.label or source))record(\"offer\",{id=source,version=offer.version,transport=transport,distance=distance})save()return true end local function offers()local value,timestamp,rows=loadState(),now(),{}for key,item in pairs(value.offers)do if type(item)==\"table\"and timestamp-(tonumber(item.seen)or 0)<=MAX_OFFER_AGE then rows[#rows+1]=item else value.offers[key]=nil end end table.sort(rows,function(left,right)local compare=release.compareVersions(left.version,right.version)or 0 if compare~=0 then return compare>0 end return tostring(left.id)<tostring(right.id)end)return rows end local function findOffer(source)source=tostring(source)for _,item in ipairs(offers())do if item.key==source or tostring(item.id)==source then return item end end return nil,\"release source is unavailable; run update check first\"end local function removePart()if fs.exists(release.PART_FILE)then fs.delete(release.PART_FILE)end end local function appendPart(data)local handle,err=fs.open(release.PART_FILE,\"a\")if not handle then return false,err or\"could not open update staging file\"end handle.write(data);handle.close()return true end local function cachedSource()local available=refreshCached()return available and available.package and available.package.source end local function transferRequest(transfer)local length=math.min(release.CHUNK_BYTES,transfer.size-transfer.offset+1)if length<1 then return false,\"transfer is already complete\"end transfer.awaiting,transfer.requestedAt=true,now()local body={transfer=transfer.id,offset=transfer.offset,length=length}local sent,err if transfer.transport==\"routed\"then sent,err=net.request(transfer.source,\"update_chunk_request\",body,{safe=true})else sent,err=net.publicSend(transfer.source,\"update_chunk_request\",body)end if not sent then transfer.awaiting=false;return false,err end return true end local function beginDownload(source)local offer,err=findOffer(source)if not offer then return false,err end local compare=release.compareVersions(offer.version,version.string)if not compare or compare<=0 then return false,\"refusing a downgrade or current release\"end local free=fs.getFreeSpace and fs.getFreeSpace(\"/\")or nil if type(free)==\"number\"and free<offer.size+4096 then return false,\"not enough free space for one verified release cache\"end removePart()release.clear();cached=nil local value=loadState()value.transfer={id=\"update-\"..localId()..\"-\"..tostring(now())..\"-\"..tostring(math.random(1000,9999)),source=tostring(offer.id),label=offer.label,transport=offer.transport==\"routed\"and\"routed\"or\"direct\",profile=offer.profile,version=offer.version,size=offer.size,digest=offer.digest,keyId=offer.keyId,offset=1,received=0,retries=0,awaiting=false,started=now(),}setStatus(\"downloading\",\"Downloading signed release \"..offer.version..\" from \"..offer.label)record(\"download_started\",{id=offer.id,version=offer.version,transport=value.transfer.transport})local sent,sendErr=transferRequest(value.transfer)if not sent then value.transfer=nil;setStatus(\"error\",sendErr);record(\"download_failed\",{id=offer.id,error=sendErr})end save()return sent,sendErr end local function finishTransfer(transfer)local handle=fs.open(release.PART_FILE,\"r\")local source=handle and handle.readAll()or nil if handle then handle.close()end if not source or#source~=transfer.size then return false,\"download size did not match offer\"end local parsed,parseErr=release.parse(source)if not parsed then return false,parseErr end if parsed.manifest.profile~=profile.id()or parsed.manifest.profile~=transfer.profile or parsed.manifest.version~=transfer.version or parsed.manifest.digest:lower()~=transfer.digest:lower()or parsed.manifest.key_id~=transfer.keyId then return false,\"verified package did not match selected release offer\"end local metadata,promoteErr=release.promotePart(release.PART_FILE,transfer.label)if not metadata then return false,promoteErr end cached=nil;refreshCached()local value=loadState();value.transfer=nil setStatus(\"downloaded\",\"Verified release \"..metadata.version..\" is ready for local confirmation\")record(\"download_verified\",{id=transfer.source,version=metadata.version,digest=metadata.digest:sub(1,16)})save()return true,metadata end local function acceptChunk(source,body,transport)local value,transfer=loadState(),loadState().transfer if not transfer or transfer.transport~=transport or tostring(source)~=tostring(transfer.source)then return false,\"unexpected update chunk\"end if type(body)~=\"table\"or body.transfer~=transfer.id or math.floor(tonumber(body.offset)or 0)~=transfer.offset or type(body.data)~=\"string\"then return false,\"malformed update chunk\"end local remaining=transfer.size-transfer.offset+1 if#body.data<1 or#body.data>math.min(release.CHUNK_BYTES,remaining)then return false,\"invalid update chunk length\"end local ok,err=appendPart(body.data)if not ok then transfer.awaiting=false;setStatus(\"error\",err);record(\"download_failed\",{error=err});save();return false,err end transfer.offset,transfer.received,transfer.awaiting,transfer.retries=transfer.offset+#body.data,(transfer.received or 0)+#body.data,false,0 if transfer.offset>transfer.size then local complete,result=finishTransfer(transfer)if not complete then removePart();value.transfer=nil;setStatus(\"error\",result);record(\"download_failed\",{id=source,error=result});save()end return complete,result end local sent,sendErr=transferRequest(transfer)if not sent then setStatus(\"error\",sendErr);record(\"download_failed\",{id=source,error=sendErr});value.transfer=nil;removePart()end save()return sent,sendErr end local function serveChunk(target,body,routed,request)if type(body)~=\"table\"or not validId(body.transfer)or math.floor(tonumber(body.offset)or 0)<1 or math.floor(tonumber(body.length)or 0)<1 or tonumber(body.length)>release.CHUNK_BYTES then return false,\"invalid update chunk request\"end local source=cachedSource()if not source then return false,\"no verified newer signed release is cached\"end local offset,length=math.floor(body.offset),math.floor(body.length)if offset>#source then return false,\"requested update offset is beyond package\"end local data=source:sub(offset,math.min(#source,offset+length-1))local response={transfer=body.transfer,offset=offset,data=data}if routed then return net.reply(request,\"update_chunk\",response,{safe=true})end return net.publicSend(target,\"update_chunk\",response)end function M.publicPacket(packet,distance)local source,body=tostring(packet.from),packet.body or{}if packet.type==\"update_query\"then if body.profile~=profile.id()then return false,\"release profile does not match this installation\"end local offer=providerOffer()local compare=offer and release.compareVersions(offer.version,body.version or\"\")if offer and compare and compare>0 then net.publicSend(source,\"update_offer\",offer)end return elseif packet.type==\"update_offer\"then return upsertOffer(source,body,\"direct\",distance)elseif packet.type==\"update_chunk_request\"then return serveChunk(source,body,false)elseif packet.type==\"update_chunk\"then return acceptChunk(source,body,\"direct\")end end function M.authenticatedPacket(from,peer,packet)local body=packet.body or{}if packet.type==\"update_query\"then if body.profile~=profile.id()then return false,\"release profile does not match this installation\"end local offer=providerOffer()local compare=offer and release.compareVersions(offer.version,body.version or\"\")if offer and compare and compare>0 then return net.reply(packet,\"update_offer\",offer,{safe=true})end elseif packet.type==\"update_offer\"then return upsertOffer(from,body,\"routed\")elseif packet.type==\"update_chunk_request\"then return serveChunk(from,body,true,packet)elseif packet.type==\"update_chunk\"then return acceptChunk(from,body,\"routed\")end end function M.check()local value=loadState()for key in pairs(value.offers)do value.offers[key]=nil end setStatus(\"checking\",\"Looking for newer signed releases\")local sent,err=net.publicBroadcast(\"update_query\",{version=version.string,profile=profile.id()})local routed=0 for _,peer in ipairs(net.peers())do if not peer.rekeyRequired then local ok=net.request(peer.id,\"update_query\",{version=version.string,profile=profile.id()},{safe=true})if ok then routed=routed+1 end end end record(\"check\",{direct=sent==true,routed=routed,error=sent and nil or err})save()return sent or routed>0,sent and nil or err end function M.download(source)return beginDownload(source)end function M.cancel()local value=loadState()if not value.transfer then return false,\"no update transfer is active\"end record(\"download_cancelled\",{id=value.transfer.source,version=value.transfer.version})value.transfer=nil;removePart();setStatus(\"cancelled\",\"Update download cancelled\");save()return true end function M.clearCache()local value=loadState()if value.transfer then return false,\"cancel the active download first\"end release.clear();cached=nil;value.cache=nil;setStatus(\"idle\",\"Verified release cache cleared\");record(\"cache_cleared\");save()return true end function M.prepareApply()local package,metadata=release.cachedPackage()if not package then return false,metadata or\"no verified signed release is cached\"end local compare=release.compareVersions(package.manifest.version,version.string)if not compare or compare<=0 then return false,\"cached release is not newer than this CeetOS installation\"end if package.manifest.profile~=profile.id()then return false,\"cached release profile does not match this installation\"end local marker={schema=2,state=\"apply\",profile=package.manifest.profile,version=package.manifest.version,digest=package.manifest.digest,keyId=package.manifest.key_id,approvedAt=now()}store.write(release.PENDING_FILE,marker)local value=loadState();setStatus(\"applying\",\"Applying verified release \"..package.manifest.version..\" after reboot\");record(\"apply_approved\",{version=package.manifest.version,digest=package.manifest.digest:sub(1,16),keyId=package.manifest.key_id});save()return true,{version=package.manifest.version,fingerprint=package.manifest.digest:sub(1,16),keyId=package.manifest.key_id}end function M.recover()local marker=store.read(release.PENDING_FILE,nil)if type(marker)~=\"table\"or marker.state~=\"verify\"then return end local value=loadState()if marker.version==version.string and(marker.profile==nil or marker.profile==profile.id())then if fs.exists(release.PENDING_FILE)then fs.delete(release.PENDING_FILE)end setStatus(\"applied\",\"Verified release \"..version.string..\" is now active\")record(\"apply_verified\",{version=version.string})else setStatus(\"error\",\"Update installed but running version did not match \"..tostring(marker.version))record(\"apply_version_mismatch\",{expected=marker.version,actual=version.string})end save()end function M.tick()local value,timestamp=loadState(),now()local offer=providerOffer()if offer and timestamp-lastBeacon>=BEACON_INTERVAL then net.publicBroadcast(\"update_offer\",offer)lastBeacon=timestamp end local transfer=value.transfer if transfer and transfer.awaiting and timestamp-(transfer.requestedAt or timestamp)>=REQUEST_TIMEOUT then transfer.awaiting,transfer.retries=false,(transfer.retries or 0)+1 if transfer.retries>REQUEST_LIMIT then record(\"download_timeout\",{id=transfer.source,version=transfer.version})value.transfer=nil;removePart();setStatus(\"error\",\"Update source timed out\");save()else local sent,err=transferRequest(transfer)if not sent then value.transfer=nil;removePart();setStatus(\"error\",err);record(\"download_failed\",{id=transfer.source,error=err});save()end end end end function M.status()local value=loadState()return{profile=profile.id(),version=version.string,status=value.status,message=value.message,revision=value.revision,offers=offers(),transfer=value.transfer,cache=value.cache,history=value.history,cacheRoot=release.CACHE_ROOT,maxPackageBytes=release.MAX_PACKAGE_BYTES,}end return M",
  ["ceetos/lib/mesh_crypto.lua"] = "local password=require(\"ceetos.lib.password\")local M={}local band,bor,bxor=bit32.band,bit32.bor,bit32.bxor local lshift,rshift=bit32.lshift,bit32.rshift local MOD32,LIMB=4294967296,67108864 local function add32(...)local n=0 for i=1,select(\"#\",...)do n=(n+(select(i,...)or 0))%MOD32 end return n end local function rotl(v,bits)return bor(lshift(v,bits),rshift(v,32-bits))end local function le32(data,index)local a,b,c,d=data:byte(index,index+3)return(a or 0)+(b or 0)*256+(c or 0)*65536+(d or 0)*16777216 end local function put32(value)value=value%MOD32 return string.char(value%256,math.floor(value/256)%256,math.floor(value/65536)%256,math.floor(value/16777216)%256)end local function le64(value)value=math.max(0,math.floor(tonumber(value)or 0))local low,high=value%MOD32,math.floor(value/MOD32)%MOD32 return put32(low)..put32(high)end local function hexToRaw(value)if type(value)~=\"string\"or#value%2~=0 or value:find(\"[^%x]\")then return nil end return(value:gsub(\"..\",function(pair)return string.char(tonumber(pair,16))end))end local function rawToHex(value)return(value:gsub(\".\",function(byte)return string.format(\"%02x\",byte:byte())end))end local function xorBytes(left,right)local out={}for i=1,#left do out[i]=string.char(bxor(left:byte(i),right:byte(i)))end return table.concat(out)end local function quarter(x,a,b,c,d)x[a]=add32(x[a],x[b]);x[d]=rotl(bxor(x[d],x[a]),16)x[c]=add32(x[c],x[d]);x[b]=rotl(bxor(x[b],x[c]),12)x[a]=add32(x[a],x[b]);x[d]=rotl(bxor(x[d],x[a]),8)x[c]=add32(x[c],x[d]);x[b]=rotl(bxor(x[b],x[c]),7)end local function chachaBlock(key,counter,nonce)local state={0x61707865,0x3320646e,0x79622d32,0x6b206574}for i=1,8 do state[4+i]=le32(key,(i-1)*4+1)end state[13],state[14],state[15],state[16]=counter%MOD32,le32(nonce,1),le32(nonce,5),le32(nonce,9)local x={}for i=1,16 do x[i]=state[i]end for _=1,10 do quarter(x,1,5,9,13);quarter(x,2,6,10,14);quarter(x,3,7,11,15);quarter(x,4,8,12,16)quarter(x,1,6,11,16);quarter(x,2,7,12,13);quarter(x,3,8,9,14);quarter(x,4,5,10,15)end local out={}for i=1,16 do out[i]=put32(add32(x[i],state[i]))end return table.concat(out)end local function chachaXor(key,nonce,counter,plaintext)local out,position={},1 while position<=#plaintext do local block=chachaBlock(key,counter,nonce)local part=plaintext:sub(position,position+63)out[#out+1]=xorBytes(part,block:sub(1,#part))position,counter=position+#part,(counter+1)%MOD32 end return table.concat(out)end local function poly1305(message,key)local function zero(length)local out={};for i=1,length do out[i]=0 end;return out end local function normalise(value)local carry=0 for i=1,#value do local n=(value[i]or 0)+carry value[i],carry=n%256,math.floor(n/256)end while carry>0 do value[#value+1],carry=carry%256,math.floor(carry/256)end return value end local function add(left,right)local out=zero(math.max(#left,#right)+1)for i=1,#left do out[i]=out[i]+left[i]end for i=1,#right do out[i]=out[i]+right[i]end return normalise(out)end local function multiply(left,right)local out=zero(#left+#right+1)for i=1,#left do for j=1,#right do out[i+j-1]=out[i+j-1]+left[i]*right[j]end end return normalise(out)end local function high130(value)local out={}for i=1,#value-16 do local low=value[i+16]or 0 local high=value[i+17]or 0 out[i]=math.floor(low/4)+(high%4)*64 end return normalise(out)end local function hasHigh(value)if#value>17 then for i=18,#value do if value[i]~=0 then return true end end end return(value[17]or 0)>=4 end local function reduce(value)while hasHigh(value)do local low,high=zero(17),high130(value)for i=1,17 do low[i]=value[i]or 0 end low[17]=low[17]%4 for i=1,#high do high[i]=high[i]*5 end value=add(low,high)end local prime={251}for i=2,16 do prime[i]=255 end prime[17]=3 local greater=false for i=17,1,-1 do if(value[i]or 0)~=prime[i]then greater=(value[i]or 0)>prime[i];break end end if greater then local borrow=0 for i=1,17 do local n=(value[i]or 0)-prime[i]-borrow if n<0 then n,borrow=n+256,1 else borrow=0 end value[i]=n end end return value end local r,h=zero(17),zero(17)for i=1,16 do r[i]=key:byte(i)end r[4],r[8],r[12],r[16]=band(r[4],15),band(r[8],15),band(r[12],15),band(r[16],15)r[5],r[9],r[13]=band(r[5],252),band(r[9],252),band(r[13],252)for at=1,#message,16 do local part,n=message:sub(at,at+15),zero(17)for i=1,#part do n[i]=part:byte(i)end n[#part+1]=1 h=reduce(multiply(add(h,n),r))end local pad,out,carry={},{},0 for i=1,16 do pad[i]=key:byte(i+16)end for i=1,16 do local n=(h[i]or 0)+pad[i]+carry out[i],carry=n%256,math.floor(n/256)end return string.char(table.unpack(out))end local function padded(value)return value..string.rep(\"\\0\",(16-(#value%16))%16)end local function derive(linkKey)local raw=hexToRaw(password.hmacSha256(linkKey,\"ceetos/mesh/aead-key/v1\")or\"\")return raw end function M.nonce(linkKey,counter,context)local raw=hexToRaw(password.hmacSha256(linkKey,\"ceetos/mesh/aead-nonce/v1|\"..tostring(counter)..\"|\"..tostring(context or\"\"))or\"\")return raw and raw:sub(1,12)or nil end function M.seal(linkKey,nonce,aad,plaintext)if type(linkKey)~=\"string\"or type(nonce)~=\"string\"or#nonce~=12 or type(aad)~=\"string\"or type(plaintext)~=\"string\"then return nil,\"invalid mesh envelope input\"end local key=derive(linkKey);if not key or#key~=32 then return nil,\"could not derive mesh envelope key\"end local polyKey=chachaBlock(key,0,nonce):sub(1,32)local ciphertext=chachaXor(key,nonce,1,plaintext)local tag=poly1305(padded(aad)..padded(ciphertext)..le64(#aad)..le64(#ciphertext),polyKey)return{nonce=rawToHex(nonce),ciphertext=rawToHex(ciphertext),tag=rawToHex(tag)}end function M.open(linkKey,envelope,aad)if type(linkKey)~=\"string\"or type(envelope)~=\"table\"or type(aad)~=\"string\"then return nil,\"invalid mesh envelope\"end local nonce,ciphertext,tag=hexToRaw(envelope.nonce or\"\"),hexToRaw(envelope.ciphertext or\"\"),hexToRaw(envelope.tag or\"\")if not nonce or#nonce~=12 or not ciphertext or not tag or#tag~=16 then return nil,\"invalid mesh envelope encoding\"end local key=derive(linkKey);if not key or#key~=32 then return nil,\"could not derive mesh envelope key\"end local polyKey=chachaBlock(key,0,nonce):sub(1,32)local expected=rawToHex(poly1305(padded(aad)..padded(ciphertext)..le64(#aad)..le64(#ciphertext),polyKey))if not password.constantTimeEqual(expected,envelope.tag)then return nil,\"mesh envelope authentication failed\"end return chachaXor(key,nonce,1,ciphertext)end function M.selfTest()local key=hexToRaw(\"85d6be7857556d337f4452fe42d506a80103808afb0db2fd4abff6af4149f51b\")local tag=poly1305(\"Cryptographic Forum Research Group\",key)return rawToHex(tag)==\"a8061dc1305136c6c22b8baf0c0127a9\"end return M",
  ["ceetos/lib/audit.lua"] = "local store=require(\"ceetos.lib.store\")local M={}local PATH=\"/ceetos/data/audit.log\"M.LIMITS={maxEntries=250,maxBytes=64*1024}function M.log(actor,action,detail)return store.append(PATH,{ts=os.epoch(\"utc\"),actor=actor or\"system\",action=action,detail=detail,},M.LIMITS)end function M.recent(limit)limit=math.max(1,math.min(50,tonumber(limit)or 10))local raw=store.readAppend(PATH)local result={}for line in(raw..\"\\n\"):gmatch(\"(.-)\\n\")do if line~=\"\"then local entry=textutils.unserialise(line)if entry then result[#result+1]=entry if#result>limit then table.remove(result,1)end end end end return result end return M",
  ["ceetos/lib/net.lua"] = "local store=require(\"ceetos.lib.store\")local audit=require(\"ceetos.lib.audit\")local password=require(\"ceetos.lib.password\")local meshCrypto=require(\"ceetos.lib.mesh_crypto\")local M={handler=nil,publicHandler=nil}local PATH=\"/ceetos/data/network.lua\"local SECURITY_PATH=\"/ceetos/data/network-security.lua\"local SEEN_PATH=\"/ceetos/data/seen-peers.lua\"local CHANNEL,PROTOCOL=45731,\"ceetos/2\"local PUBLIC_UPDATE_PROTOCOL=\"ceetos/update/1\"local PUBLIC_UPDATE_TYPES={update_query=true,update_offer=true,update_chunk_request=true,update_chunk=true,}local DISCOVERY_CHANNEL=CHANNEL local DISCOVERY_TTL,ROUTE_TTL,PACKET_TTL=120000,120000,8 local DISCOVERY_INTERVAL,PAIR_RETRY,ROUTE_INTERVAL=2000,2000,15000 local MESH_BEACON_INTERVAL,MESH_FULL_INTERVAL=15000,30000 local PROBE_INTERVAL,PROBE_DEGRADED,PROBE_OFFLINE,PROBE_RECOVERY=5000,3,6,10000 local ROUTE_CANDIDATE_LIMIT,ROUTE_BUCKET_LIMIT=4,96 local SAFE_READ_WINDOW,SAFE_READ_LIMIT=1000,16 local MAX_PACKET_STRING,MAX_PACKET_TABLE,MAX_PACKET_DEPTH=8192,128,6 local COUNTER_RESERVATION,MAX_RX_EPOCHS,MAX_REVERSE_ROUTES=64,3,128 local routes,discovered,confirmations,seenPackets,reverseRoutes={},{},{},{},{}local routeSequence,lastRouteAdvertisement,routesDirty=0,0,false local discovery,lastDiscovery=nil,{state=\"inactive\"}local security={tx={},rx={}}local autoEdges,linkHealth,meshOffers,meshSeen,advertisedRoutes,meshEnrollmentSends={},{},{},{},{},{}local lastMeshBeacon,lastMeshFull,meshDirty=0,0,false local transport={modem=false,wireless=false,name=nil,channels={},lastTransmit=nil,lastReceive=nil,lastDistance=nil,lastError=nil,rejected=0,}local traces={discovery={},routing={},transport={}}local TRACE_LIMIT=48 local MESH_STATE_LIMIT=128 local rejectPacket local function now()return os.epoch(\"utc\")end local function id()return tostring(os.getComputerID())end local function label()return os.getComputerLabel()or(\"Computer \"..id())end local function isBroadcast(value)return tostring(value)==\"0\"end local function isForUs(value)return tostring(value)==id()end local function copy(value,depth)if type(value)~=\"table\"then return value end if(depth or 0)>MAX_PACKET_DEPTH then return nil end local out={}for k,v in pairs(value)do out[k]=copy(v,(depth or 0)+1)end return out end local function trace(kind,phase,fields)local bucket=traces[kind]or traces.transport local row={time=now(),phase=phase}for key,value in pairs(fields or{})do if key~=\"phrase\"and key~=\"proof\"and key~=\"key\"and key~=\"secret\"and key~=\"mac\"and key~=\"packet\"and key~=\"tag\"then row[key]=value end end bucket[#bucket+1]=row while#bucket>TRACE_LIMIT do table.remove(bucket,1)end end local function read(path,fallback)if store.invalidate then store.invalidate(path)end return store.read(path,fallback)end local function config()local value=read(PATH,{peers={},channel=CHANNEL})value.peers=type(value.peers)==\"table\"and value.peers or{}value.channel=tonumber(value.channel)or CHANNEL return value end local function save(value)local ok,err=store.write(PATH,value)if ok==false then error(err or\"could not save network configuration\",0)end end local function migrateV1Links()local value,changed=config(),false for _,peer in pairs(value.peers)do if peer.protocol~=2 or peer.rekeyRequired or type(peer.key)~=\"string\"or#peer.key<32 then peer.protocol,peer.rekeyRequired,peer.key=1,true,nil peer.secret=nil changed=true end end if changed then save(value)end return value end local function activePeer(value,peerId)local peer=value.peers[tostring(peerId)]if peer and peer.protocol==2 and peer.rekeyRequired~=true and type(peer.key)==\"string\"and#peer.key>=32 then return peer end return nil end local function activeLink(value,peerId)local manual=activePeer(value,peerId)if manual then return manual,\"direct\"end local edge=autoEdges[tostring(peerId)]if edge and type(edge.key)==\"string\"and#edge.key>=32 and(edge.expires or 0)>now()then return edge,\"mesh\"end return nil end local function healthFor(peerId)peerId=tostring(peerId)local state=linkHealth[peerId]if not state then state={state=\"healthy\",successes=0,misses=0,lastAuthenticated=now(),stableSince=now(),inFlight=0}linkHealth[peerId]=state end return state end local function linkState(peerId)return healthFor(peerId).state or\"healthy\"end local function currentInFlight(state,timestamp)state.inFlightUntil=type(state.inFlightUntil)==\"table\"and state.inFlightUntil or{}local kept={}for _,expires in ipairs(state.inFlightUntil)do if expires>timestamp then kept[#kept+1]=expires end end state.inFlightUntil,state.inFlight=kept,#kept return state.inFlight end local function markInFlight(state)local timestamp=now()currentInFlight(state,timestamp)state.inFlightUntil[#state.inFlightUntil+1]=timestamp+SAFE_READ_WINDOW table.sort(state.inFlightUntil)while#state.inFlightUntil>SAFE_READ_LIMIT do table.remove(state.inFlightUntil,1)end state.inFlight=#state.inFlightUntil end local function linkUsable(value,peerId,allowDegraded)if not activeLink(value,peerId)then return false end local state=linkState(peerId)return state==\"healthy\"or(allowDegraded and state==\"degraded\")end local function touchLink(peerId,distance,source)local state,timestamp=healthFor(peerId),now()state.lastAuthenticated,state.lastDistance,state.lastSource=timestamp,distance,source or\"traffic\"state.misses,state.awaiting,state.probeToken=0,false,nil state.loss=math.max(0,(state.loss or 0)*0.5)if state.state~=\"healthy\"then state.successes=(state.successes or 0)+1 if state.successes>=2 then state.state,state.stableSince,state.recoveredAt=\"healthy\",timestamp,timestamp routesDirty=true trace(\"routing\",\"link_recovered\",{peer=peerId,source=source})end else state.successes=math.min(2,(state.successes or 0)+1)end end local function allDirectLinks(value)local out,seen={},{}for peerId in pairs(value.peers)do if activePeer(value,peerId)then out[#out+1],seen[peerId]=tostring(peerId),true end end for peerId,edge in pairs(autoEdges)do if not seen[peerId]and edge.expires>now()then out[#out+1]=tostring(peerId)end end table.sort(out,function(a,b)return tonumber(a)<tonumber(b)end)return out end local function remember(peer,peerLabel,extra)local value=read(SEEN_PATH,{})local old=value[tostring(peer)]or{}old.label,old.seen=peerLabel or old.label or(\"Computer \"..tostring(peer)),now()if extra then for key,item in pairs(extra)do if key~=\"tag\"and key~=\"proof\"then old[key]=item end end end value[tostring(peer)]=old store.write(SEEN_PATH,value)end local function modem(requireWireless)local candidates,used={},{}local sides=rs and rs.getSides and rs.getSides()or{}for _,name in ipairs(sides)do if peripheral.getType(name)==\"modem\"and not used[name]then candidates[#candidates+1],used[name]=name,true end end if peripheral.getNames then for _,name in ipairs(peripheral.getNames())do if peripheral.getType(name)==\"modem\"and not used[name]then candidates[#candidates+1],used[name]=name,true end end end local fallback for _,name in ipairs(candidates)do local wrapped=peripheral.wrap(name)if wrapped then fallback=fallback or wrapped local ok,wireless=pcall(function()return not wrapped.isWireless or wrapped.isWireless()end)if ok and wireless then return wrapped end end end return requireWireless and nil or fallback end local function modems()local out,seen={},{}local function add(name)if not seen[name]and peripheral.getType(name)==\"modem\"then local wrapped=peripheral.wrap(name)if wrapped then out[#out+1],seen[name]={name=name,modem=wrapped},true end end end for _,name in ipairs(rs and rs.getSides and rs.getSides()or{})do add(name)end for _,name in ipairs(peripheral.getNames and peripheral.getNames()or{})do add(name)end return out end local function wirelessModems()local out={}for _,item in ipairs(modems())do local ok,wireless=pcall(function()return not item.modem.isWireless or item.modem.isWireless()end)if ok and wireless then out[#out+1]=item end end return out end local function openChannels(value)local channels={value.channel or CHANNEL}if channels[1]~=DISCOVERY_CHANNEL then channels[#channels+1]=DISCOVERY_CHANNEL end transport.channels=channels local all=modems()if#all==0 then transport.lastError=\"no modem attached\";trace(\"transport\",\"modem_missing\");return channels end for _,item in ipairs(all)do for _,channel in ipairs(channels)do local ok,err=pcall(item.modem.open,channel)if not ok then transport.lastError=tostring(err)trace(\"transport\",\"channel_open_failed\",{channel=channel,error=transport.lastError,modem=item.name})end end end return channels end local function canonical(value,depth)depth=depth or 0 local kind=type(value)if kind==\"nil\"then return\"n\"end if kind==\"boolean\"then return value and\"b1\"or\"b0\"end if kind==\"number\"then if value~=value or value==math.huge or value==-math.huge then return nil,\"invalid numeric packet value\"end return\"d\"..string.format(\"%.17g\",value)..\";\"end if kind==\"string\"then if#value>MAX_PACKET_STRING then return nil,\"packet string exceeds limit\"end return\"s\"..tostring(#value)..\":\"..value end if kind~=\"table\"then return nil,\"unsupported packet value\"end if depth>=MAX_PACKET_DEPTH then return nil,\"packet nesting exceeds limit\"end local entries={}for key,item in pairs(value)do if#entries>=MAX_PACKET_TABLE then return nil,\"packet table exceeds limit\"end local encodedKey,keyErr=canonical(key,depth+1);if not encodedKey then return nil,keyErr end local encodedValue,valueErr=canonical(item,depth+1);if not encodedValue then return nil,valueErr end entries[#entries+1]=encodedKey..\"=\"..encodedValue end table.sort(entries)return\"t\"..tostring(#entries)..\"{\"..table.concat(entries,\",\")..\"}\"end local function packetMaterial(packet)return canonical({protocol=packet.protocol,type=packet.type,from=packet.from,to=packet.to,origin=packet.origin,destination=packet.destination,ttl=packet.ttl,request_id=packet.request_id,timestamp=packet.timestamp,reply_to=packet.reply_to,auth=packet.auth and{epoch=packet.auth.epoch,counter=packet.auth.counter}or nil,confidential=packet.confidential==true,body=packet.body,})end local function confidentialAad(packet)return table.concat({\"ceetos/confidential/v1\",tostring(packet.type),tostring(packet.origin),tostring(packet.destination),tostring(packet.request_id)},\"|\")end local function sealBody(peer,packet)local encoded=textutils.serialise(packet.body or{},{compact=true})if#encoded>6144 then return nil,\"confidential payload exceeds limit\"end local nonce=meshCrypto.nonce(peer.key,password.newSalt(\"confidential:\"..tostring(packet.request_id)),confidentialAad(packet))if not nonce then return nil,\"could not create confidential nonce\"end local envelope,err=meshCrypto.seal(peer.key,nonce,confidentialAad(packet),encoded)if not envelope then return nil,err end return{envelope=envelope}end local function openBody(peer,packet)if type(packet.body)~=\"table\"or type(packet.body.envelope)~=\"table\"then return nil,\"malformed confidential envelope\"end local decoded,err=meshCrypto.open(peer.key,packet.body.envelope,confidentialAad(packet))if not decoded or#decoded>6144 then return nil,err or\"invalid confidential payload\"end local ok,value=pcall(textutils.unserialise,decoded)if not ok or type(value)~=\"table\"then return nil,\"invalid confidential payload\"end return value end local function loadSecurity()security=read(SECURITY_PATH,{tx={},rx={}})security.tx=type(security.tx)==\"table\"and security.tx or{}security.rx=type(security.rx)==\"table\"and security.rx or{}end local function saveSecurity()local ok,err=store.write(SECURITY_PATH,security)if ok==false then error(err or\"could not persist peer replay state\",0)end end local function counter(peerId)local key=tostring(peerId)local tx=security.tx[key]if not tx then tx={epoch=password.newSalt(\"peer-tx:\"..key),reserved=0};security.tx[key]=tx end tx.next=tonumber(tx.next)or((tonumber(tx.reserved)or 0)+1)if tx.next>(tonumber(tx.reserved)or 0)then tx.reserved=tx.next+COUNTER_RESERVATION-1 saveSecurity()end local value=tx.next;tx.next=value+1 return tx.epoch,value end local function verifyReplay(from,auth)if type(auth)~=\"table\"or type(auth.epoch)~=\"string\"or#auth.epoch<16 or#auth.epoch>128 then return false,\"invalid packet epoch\"end local sequence=tonumber(auth.counter)if not sequence or sequence<1 or sequence%1~=0 then return false,\"invalid packet counter\"end local key=tostring(from)local row=security.rx[key]or{epochs={}}row.epochs=type(row.epochs)==\"table\"and row.epochs or{}local old=tonumber(row.epochs[auth.epoch])if old and sequence<=old then return false,\"replayed packet counter\"end row.epochs[auth.epoch]=sequence local order={}for epoch,max in pairs(row.epochs)do order[#order+1]={epoch=epoch,max=tonumber(max)or 0}end table.sort(order,function(a,b)return a.max>b.max end)while#order>MAX_RX_EPOCHS do row.epochs[table.remove(order).epoch]=nil end security.rx[key]=row saveSecurity()return true end local function newRequestId()return id()..\":\"..password.newSalt(\"peer-request\")end local function sign(peerId,peer,packet)local epoch,sequence=counter(peerId)packet.auth={epoch=epoch,counter=sequence}local material,err=packetMaterial(packet)if not material then return false,err end local mac,macErr=password.hmacSha256(peer.key,material)if not mac then return false,macErr end packet.auth.mac=mac return true end local function verifyPacket(packet,value)if type(packet)~=\"table\"then return false,\"packet is not a table\"end if packet.protocol~=PROTOCOL then return false,packet.protocol==\"ceetos/1\"and\"v1 packet rejected; rekey required\"or\"invalid packet protocol\"end if type(packet.type)~=\"string\"or#packet.type==0 or#packet.type>64 then return false,\"invalid packet type\"end if type(packet.from)~=\"string\"and type(packet.from)~=\"number\"then return false,\"invalid packet sender\"end local from=tostring(packet.from)local peer=activeLink(value,from)if not peer then return false,\"sender is not an active direct or mesh peer\"end if not isForUs(packet.to)then return false,\"packet addressed to another hop\"end if type(packet.origin)~=\"string\"and type(packet.origin)~=\"number\"then return false,\"invalid packet origin\"end if type(packet.destination)~=\"string\"and type(packet.destination)~=\"number\"then return false,\"invalid packet destination\"end if type(packet.request_id)~=\"string\"or#packet.request_id==0 or#packet.request_id>128 then return false,\"invalid packet request ID\"end if packet.reply_to~=nil and(type(packet.reply_to)~=\"string\"or#packet.reply_to==0 or#packet.reply_to>128)then return false,\"invalid reply correlation ID\"end local ttl=tonumber(packet.ttl)if not ttl or ttl%1~=0 or ttl<1 or ttl>PACKET_TTL then return false,\"invalid packet TTL\"end local timestamp=tonumber(packet.timestamp)if not timestamp or math.abs(now()-timestamp)>ROUTE_TTL then return false,\"stale packet timestamp\"end if type(packet.auth)~=\"table\"or type(packet.auth.mac)~=\"string\"or#packet.auth.mac~=64 then return false,\"missing packet MAC\"end local receivedMac=packet.auth.mac packet.auth.mac=nil local material,materialErr=packetMaterial(packet)packet.auth.mac=receivedMac if not material then return false,materialErr end local expected,macErr=password.hmacSha256(peer.key,material)if not expected or not password.constantTimeEqual(expected,receivedMac)then return false,macErr or\"invalid packet MAC\"end local replayOk,replayErr=verifyReplay(from,packet.auth)if not replayOk then return false,replayErr end return true,peer end local function routeBucket(targetId)local bucket=routes[tostring(targetId)]if bucket and bucket.next then bucket={candidates={{next=tostring(bucket.next),hops=tonumber(bucket.hops)or PACKET_TTL,expires=tonumber(bucket.expires)or 0,label=bucket.label,mode=bucket.mode,masterId=bucket.masterId,legacy=true,loss=1,}},primary=tostring(bucket.next),changedAt=now(),reason=\"legacy route\"}routes[tostring(targetId)]=bucket end if not bucket then bucket={candidates={},changedAt=now(),reason=\"new\"}routes[tostring(targetId)]=bucket end bucket.candidates=type(bucket.candidates)==\"table\"and bucket.candidates or{}return bucket end local function candidateHealth(candidate)local state=healthFor(candidate.next)local rank=state.state==\"healthy\"and 0 or(state.state==\"degraded\"and 1 or 2)return rank,state end local function directCandidate(value,targetId)local link,kind=activeLink(value,targetId)if link then return{next=targetId,hops=1,expires=now()+ROUTE_TTL,kind=kind,direct=true,label=link.label,mode=link.mode,masterId=link.masterId}end end local function validCandidates(targetId,value)local timestamp,out,seen=now(),{},{}local direct=directCandidate(value,targetId)if direct then out[#out+1],seen[direct.next..\":\"..direct.kind]=direct,true end local bucket=routes[tostring(targetId)]if bucket then for _,candidate in ipairs(routeBucket(targetId).candidates)do local key=tostring(candidate.next)..\":\"..tostring(candidate.kind or\"route\")if not seen[key]and candidate.expires>timestamp and candidate.hops>=1 and candidate.hops<=PACKET_TTL and activeLink(value,candidate.next)then out[#out+1],seen[key]=candidate,true end end end return out end local function compareCandidates(a,b)local ar,ah=candidateHealth(a)local br,bh=candidateHealth(b)if ar~=br then return ar<br end if(a.hops or PACKET_TTL)~=(b.hops or PACKET_TTL)then return(a.hops or PACKET_TTL)<(b.hops or PACKET_TTL)end if(ah.loss or 0)~=(bh.loss or 0)then return(ah.loss or 0)<(bh.loss or 0)end if(ah.rtt or 0)~=(bh.rtt or 0)then return(ah.rtt or 0)<(bh.rtt or 0)end return tostring(a.next)<tostring(b.next)end local function primaryCandidate(targetId,value,safe)local candidates=validCandidates(targetId,value)if#candidates==0 then return nil end table.sort(candidates,compareCandidates)local target,bucket,selected=tostring(targetId),routeBucket(targetId),candidates[1]local existing for _,item in ipairs(candidates)do if tostring(item.next)==tostring(bucket.primary)then existing=item;break end end if existing then local oldRank,newRank=candidateHealth(existing),candidateHealth(selected)if oldRank<newRank then selected=existing elseif oldRank==newRank and oldRank==0 and(selected.hops or 99)<(existing.hops or 99)then local health=healthFor(selected.next)if(health.successes or 0)<2 or(health.recoveredAt and now()-(health.stableSince or now())<PROBE_RECOVERY)then selected=existing end end end if safe then local rank,_,choices=candidateHealth(selected),nil,{}for _,item in ipairs(candidates)do local itemRank=candidateHealth(item)if itemRank==rank and item.hops==selected.hops then choices[#choices+1]=item end end if#choices>1 then table.sort(choices,function(a,b)local ah,bh=healthFor(a.next),healthFor(b.next)local aLoad,bLoad=currentInFlight(ah,now()),currentInFlight(bh,now())if aLoad~=bLoad then return aLoad<bLoad end return tostring(a.next)<tostring(b.next)end)selected=choices[1]end end if bucket.primary~=tostring(selected.next)then bucket.primary,bucket.changedAt,bucket.reason=tostring(selected.next),now(),existing and\"health/hop selection\"or\"initial selection\"trace(\"routing\",\"route_selected\",{destination=target,next=selected.next,hops=selected.hops,reason=bucket.reason})end return selected end local function nextHop(target,safe)local candidate=primaryCandidate(target,config(),safe)if candidate then local health=healthFor(candidate.next)if safe then markInFlight(health)end health.lastSelected=now()return candidate.next,candidate end routes[tostring(target)]=nil end local function transmit(items,channel,packet)if#items==0 then return false,\"no compatible modem attached\"end local sent,lastError=false,nil for _,item in ipairs(items)do local ok,err=pcall(item.modem.transmit,channel,channel,packet)if ok then sent=true else lastError=tostring(err)end end if not sent then transport.lastError=lastError or\"modem transmit failed\"end return sent,transport.lastError end local function send(target,input,forcedHop)local hop=forcedHop or nextHop(target,input.routeSafe==true and input.balanceSafe==true)if not hop then return false,\"peer is unreachable or requires rekey\"end local value,peer=config(),activeLink(config(),hop)if not peer then return false,\"direct route is unavailable\"end local packet=copy(input)packet.auth,packet.protocol,packet.from,packet.to=nil,PROTOCOL,id(),hop packet.origin,packet.destination=tostring(packet.origin or id()),tostring(packet.destination or target)packet.ttl=math.floor(tonumber(packet.ttl)or PACKET_TTL)packet.timestamp=now()if packet.ttl<1 or packet.ttl>PACKET_TTL then return false,\"invalid packet TTL\"end if type(packet.request_id)~=\"string\"or#packet.request_id==0 then packet.request_id=newRequestId()end if packet.confidential==true then local sealed,sealErr=sealBody(peer,packet)if not sealed then return false,sealErr end packet.body=sealed end local signed,signErr=sign(hop,peer,packet)if not signed then return false,signErr end openChannels(value)local links=wirelessModems()if#links==0 then return false,\"no wireless modem attached\"end local sent,err=transmit(links,value.channel or CHANNEL,packet)if not sent then trace(\"transport\",\"transmit_failed\",{type=packet.type,to=hop,error=err});return false,err end transport.lastTransmit,transport.lastError=now(),nil healthFor(hop).lastTransmit=now()trace(\"routing\",\"packet_sent\",{type=packet.type,to=hop,destination=packet.destination,links=#links})return true end local function rememberReverse(packet,previousHop)if type(packet)~=\"table\"or type(packet.request_id)~=\"string\"or#packet.request_id==0 then return false end local requestId,origin=packet.request_id,tostring(packet.origin)local existing=reverseRoutes[requestId]if existing and(existing.previous~=tostring(previousHop)or existing.origin~=origin)then return false,\"reverse route collision\"end reverseRoutes[requestId]={previous=tostring(previousHop),origin=origin,expires=now()+ROUTE_TTL}local entries={}for key,route in pairs(reverseRoutes)do entries[#entries+1]={id=key,expires=route.expires or 0}end table.sort(entries,function(a,b)return a.expires<b.expires end)while#entries>MAX_REVERSE_ROUTES do reverseRoutes[table.remove(entries,1).id]=nil end return true end local function broadcast(packet)local links=wirelessModems()if#links==0 then transport.lastError=\"no wireless modem attached\";trace(\"discovery\",\"wireless_missing\");return false,transport.lastError end local out=copy(packet)out.protocol,out.from,out.to=PROTOCOL,id(),0 out.timestamp=now()openChannels(config())local sent,err=transmit(links,DISCOVERY_CHANNEL,out)if not sent then trace(\"discovery\",\"transmit_failed\",{type=out.type,error=err});return false,err end transport.lastTransmit,transport.lastError=now(),nil trace(\"discovery\",out.type==\"discover\"and\"announcement_sent\"or\"discovery_packet_sent\",{type=out.type})return true end local function publicTransmit(target,typeName,body)if not PUBLIC_UPDATE_TYPES[typeName]then return false,\"invalid public update packet type\"end local encoded,encodeErr=canonical(body or{})if not encoded then return false,encodeErr or\"invalid public update body\"end local links=wirelessModems()if#links==0 then transport.lastError=\"no wireless modem attached\";return false,transport.lastError end openChannels(config())local packet={protocol=PUBLIC_UPDATE_PROTOCOL,type=typeName,from=id(),to=tostring(target),timestamp=now(),request_id=newRequestId(),body=body or{},}local sent,err=transmit(links,DISCOVERY_CHANNEL,packet)if not sent then transport.lastError=err or\"public update transmit failed\"trace(\"transport\",\"public_update_transmit_failed\",{type=typeName,to=target,error=transport.lastError})return false,transport.lastError end transport.lastTransmit,transport.lastError=now(),nil trace(\"transport\",\"public_update_sent\",{type=typeName,to=target,bytes=#encoded})return true end function M.publicSend(target,typeName,body)if tostring(target)==\"0\"or tostring(target)==\"\"then return false,\"public update target must be a computer ID\"end return publicTransmit(target,typeName,body)end function M.publicBroadcast(typeName,body)return publicTransmit(\"0\",typeName,body)end local function handshake(target,packet)local links=wirelessModems()if#links==0 then transport.lastError=\"no wireless modem attached\";return false,transport.lastError end local out=copy(packet)out.protocol,out.from,out.to,out.timestamp=PROTOCOL,id(),tostring(target),now()out.destination,out.ttl=tostring(target),1 openChannels(config())local sent,err=transmit(links,config().channel or CHANNEL,out)if not sent then trace(\"discovery\",\"handshake_transmit_failed\",{type=out.type,to=target,error=err});return false,err end transport.lastTransmit=now()trace(\"discovery\",out.type..\"_sent\",{to=target})return true end local function phraseTag(phrase,sessionId,hostId)return password.hmacSha256(phrase,\"ceetos/discovery/v2|\"..sessionId..\"|\"..tostring(hostId))end local function joinProof(phrase,sessionId,hostId,joinerId,nonce)return password.hmacSha256(phrase,\"ceetos/pair/join/v2|\"..sessionId..\"|\"..tostring(hostId)..\"|\"..tostring(joinerId)..\"|\"..nonce)end local function confirmProof(phrase,sessionId,hostId,joinerId,nonce,mode,master)return password.hmacSha256(phrase,\"ceetos/pair/confirm/v2|\"..sessionId..\"|\"..tostring(hostId)..\"|\"..tostring(joinerId)..\"|\"..nonce..\"|\"..tostring(mode)..\"|\"..tostring(master or\"\"))end local function linkKey(phrase,sessionId,hostId,joinerId,nonce)return password.derive(phrase,\"ceetos/link/v2|\"..sessionId..\"|\"..tostring(hostId)..\"|\"..tostring(joinerId)..\"|\"..nonce,64)end local function keyId(key)local value=password.hmacSha256(key,\"ceetos/key-id/v2\")return value and value:sub(1,16)or\"\"end local function activeSession()return discovery and(discovery.state==\"hosting\"or discovery.state==\"searching\"or discovery.state==\"candidate\"or discovery.state==\"confirming\")end local function setLast(state,message)lastDiscovery={state=state,message=message,at=now()}end local function persistPair(peerId,key,metadata,masterId)local value=config()value.peers[tostring(peerId)]={protocol=2,rekeyRequired=false,key=key,keyId=keyId(key),role=\"operator\",mode=metadata.mode or\"peer\",master=tostring(masterId or\"\")==id(),masterId=tostring(masterId or\"\"),label=metadata.label,}save(value)remember(peerId,metadata.label,{mode=metadata.mode,masterId=masterId})routes[tostring(peerId)]=nil routesDirty=true audit.log(\"local\",\"peer.rekeyed\",{peer=peerId,mode=metadata.mode})end local function markRejected(reason)if discovery then discovery=nil end setLast(\"cancelled\",reason)end local function discoveryAnnouncement()if not discovery or discovery.state~=\"hosting\"then return false,\"no active host discovery\"end return broadcast({type=\"discover\",session=discovery.id,tag=discovery.tag,label=discovery.label,mode=discovery.mode,master=discovery.masterSide,expires=discovery.expires,})end local function queueConfirmation(peerId,host)confirmations[host.id]=host local sent,err=handshake(peerId,{type=\"pair_confirm\",session=host.id,nonce=host.joinNonce,proof=host.confirmProof,label=host.label,mode=host.mode,master=host.masterId,})host.lastSent,host.retries=now(),0 if not sent then host.error=err end return sent,err end local function expireState(timestamp)if discovery and discovery.expires<=timestamp then local old=discovery.state discovery=nil setLast(\"expired\",old==\"searching\"and\"no matching discovery announcement received\"or\"discovery session expired\")trace(\"discovery\",\"session_expired\",{previous=old})end end local function boundMap(value,limit,timestamp)local entries={}for key,row in pairs(value)do entries[#entries+1]={key=key,at=type(row)==\"number\"and row or(type(row)==\"table\"and(row.expires or row.time or row.seen or row.lastAuthenticated or 0)or 0)}end table.sort(entries,function(a,b)if a.at~=b.at then return a.at<b.at end return tostring(a.key)<tostring(b.key)end)while#entries>limit do value[table.remove(entries,1).key]=nil end end local function pruneRouteBuckets(timestamp)local value=config()local entries={}for peerId,bucket in pairs(routes)do local latest=tonumber(bucket.changedAt)or 0 for _,candidate in ipairs(type(bucket.candidates)==\"table\"and bucket.candidates or{})do latest=math.max(latest,tonumber(candidate.expires)or 0)end entries[#entries+1]={peer=peerId,latest=latest}end table.sort(entries,function(a,b)if a.latest~=b.latest then return a.latest<b.latest end return tostring(a.peer)<tostring(b.peer)end)while#entries>ROUTE_BUCKET_LIMIT do local old=table.remove(entries,1)routes[old.peer],routesDirty=nil,true trace(\"routing\",\"route_bucket_evicted\",{destination=old.peer})end for peerId,state in pairs(linkHealth)do if not activeLink(value,peerId)and not routes[peerId]then linkHealth[peerId]=nil end end for peerId in pairs(advertisedRoutes)do if not activeLink(value,peerId)then advertisedRoutes[peerId]=nil end end boundMap(meshOffers,MESH_STATE_LIMIT,timestamp)boundMap(meshSeen,MESH_STATE_LIMIT,timestamp)end local function controller(value)value=value or config()if value.controller and tostring(value.controller)~=\"\"then local chosen=tostring(value.controller)if chosen==id()or activeLink(value,chosen)then return chosen end local known=routes[chosen]if known then if known.expires and known.expires>now()then return chosen end if type(known.candidates)==\"table\"then for _,candidate in ipairs(known.candidates)do if(candidate.expires or 0)>now()and activeLink(value,candidate.next)then return chosen end end end end trace(\"routing\",\"controller_unreachable\",{controller=chosen})end local selected=tonumber(id())or 0 for peerId in pairs(value.peers)do if activePeer(value,peerId)then local n=tonumber(peerId);if n and n<selected then selected=n end end end for peerId,route in pairs(routes)do local reachable=route.expires and route.expires>now()if type(route.candidates)==\"table\"then reachable=false for _,candidate in ipairs(route.candidates)do if(candidate.expires or 0)>now()then reachable=true;break end end end if reachable then local n=tonumber(peerId);if n and n<selected then selected=n end end end return tostring(selected)end local function meshConfig(value)value=value or config()local mesh=value.mesh if type(mesh)==\"table\"and type(mesh.id)==\"string\"and#mesh.id>=16 and type(mesh.root)==\"string\"and#mesh.root>=32 and tonumber(mesh.epoch)then return mesh end return nil end local function meshMaterial(packet)return canonical({protocol=packet.protocol,type=packet.type,from=packet.from,to=packet.to,mesh=packet.mesh,epoch=packet.epoch,nonce=packet.nonce,offer=packet.offer,timestamp=packet.timestamp})end local function meshTag(mesh,packet)local material=meshMaterial(packet)return material and password.hmacSha256(mesh.root,material)or nil end local function meshPacket(typeName,target,fields)local value,mesh=config(),meshConfig()if not mesh then return false,\"mesh enrollment is pending\"end local packet=copy(fields or{})packet.protocol,packet.type,packet.from,packet.to=PROTOCOL,typeName,id(),target and tostring(target)or 0 packet.mesh,packet.epoch,packet.timestamp=mesh.id,mesh.epoch,now()packet.tag=meshTag(mesh,packet)if not packet.tag then return false,\"could not authenticate mesh packet\"end openChannels(value)local links=wirelessModems()if#links==0 then return false,\"no wireless modem attached\"end local sent,err=transmit(links,value.channel or CHANNEL,packet)if sent then trace(\"routing\",typeName..\"_sent\",{to=packet.to,mesh=mesh.id:sub(1,8)})end return sent,err end local function deriveAutoEdge(mesh,peerId,firstNonce,secondNonce)local left,right=tostring(id()),tostring(peerId)if left>right then left,right=right,left end return password.hmacSha256(mesh.root,\"ceetos/mesh-edge/v1|\"..tostring(mesh.epoch)..\"|\"..left..\"|\"..right..\"|\"..tostring(firstNonce)..\"|\"..tostring(secondNonce))end local function ownsMeshOffer(peerId)local ours,theirs=tonumber(id()),tonumber(peerId)if ours and theirs then return ours<theirs end return tostring(id())<tostring(peerId)end local function installAutoEdge(mesh,peerId,firstNonce,secondNonce,peerLabel)peerId=tostring(peerId)local value=config()if activePeer(value,peerId)then return false,\"manual direct link already exists\"end local key=deriveAutoEdge(mesh,peerId,firstNonce,secondNonce)if not key then return false,\"could not derive mesh edge\"end autoEdges[peerId]={key=key,label=peerLabel,mesh=mesh.id,epoch=mesh.epoch,expires=now()+ROUTE_TTL,firstNonce=firstNonce,secondNonce=secondNonce}local state=healthFor(peerId)state.state,state.successes,state.misses,state.lastAuthenticated,state.stableSince=\"healthy\",2,0,now(),now()routesDirty,meshDirty=true,true trace(\"routing\",\"mesh_edge_active\",{peer=peerId,mesh=mesh.id:sub(1,8)})return true end local function meshEnrollmentAad(from,to,meshId,epoch,nonceCounter)return canonical({protocol=PROTOCOL,type=\"mesh_enroll\",from=tostring(from),to=tostring(to),mesh=meshId,epoch=tonumber(epoch),counter=tonumber(nonceCounter)})end local function sendEnrollment(peerId)local value,mesh,peer=config(),meshConfig(),activePeer(config(),peerId)if not mesh or not peer then return false,\"mesh or direct link unavailable\"end local _,nonceCounter=counter(peerId)local aad=meshEnrollmentAad(id(),peerId,mesh.id,mesh.epoch,nonceCounter)local nonce=meshCrypto.nonce(peer.key,nonceCounter,\"mesh-enroll|\"..id()..\"|\"..tostring(peerId))local plaintext=textutils.serialise({id=mesh.id,epoch=mesh.epoch,root=mesh.root},{compact=true})local envelope,err=meshCrypto.seal(peer.key,nonce,aad,plaintext)if not envelope then return false,err end local sent,sendErr=send(peerId,{type=\"mesh_enroll\",body={mesh=mesh.id,epoch=mesh.epoch,counter=nonceCounter,envelope=envelope},request_id=newRequestId()},peerId)if sent then trace(\"routing\",\"mesh_enrollment_sent\",{to=peerId,epoch=mesh.epoch})end return sent,sendErr end local function acceptEnrollment(from,peer,packet)if not activePeer(config(),from)then return rejectPacket(\"mesh enrollment requires a manual direct link\",packet)end local body=packet.body if type(body)~=\"table\"or type(body.mesh)~=\"string\"or type(body.envelope)~=\"table\"or not tonumber(body.epoch)or not tonumber(body.counter)then return rejectPacket(\"malformed_mesh_enrollment\",packet)end local aad=meshEnrollmentAad(from,id(),body.mesh,body.epoch,body.counter)local plaintext,err=meshCrypto.open(peer.key,body.envelope,aad)if not plaintext then return rejectPacket(err or\"mesh enrollment authentication failed\",packet)end local ok,mesh=pcall(textutils.unserialise,plaintext)if not ok or type(mesh)~=\"table\"or mesh.id~=body.mesh or tonumber(mesh.epoch)~=tonumber(body.epoch)or type(mesh.root)~=\"string\"or#mesh.root<32 then return rejectPacket(\"invalid_mesh_enrollment\",packet)end local value,existing=config(),meshConfig()if existing and existing.id==mesh.id and tonumber(existing.epoch)>tonumber(mesh.epoch)then return end value.mesh={id=mesh.id,epoch=tonumber(mesh.epoch),root=mesh.root,enrolledAt=now(),enrolledBy=tostring(from)}save(value)meshDirty,routesDirty=true,true trace(\"routing\",\"mesh_enrolled\",{from=from,mesh=mesh.id:sub(1,8),epoch=mesh.epoch})end local function ensureMeshEnrollment(timestamp)local value,mesh=config(),meshConfig()if not mesh then if(M._meshBootstrapAt or 0)>timestamp or controller(value)~=id()then return end value.mesh={id=password.newSalt(\"mesh-id:\"..id()),root=password.newSalt(\"mesh-root:\"..id()),epoch=1,createdAt=timestamp,controller=id()}save(value);mesh,meshDirty,routesDirty=value.mesh,true,true trace(\"routing\",\"mesh_created\",{mesh=mesh.id:sub(1,8),epoch=mesh.epoch})end for _,peerId in ipairs(allDirectLinks(value))do if activePeer(value,peerId)then local previous=meshEnrollmentSends[peerId]if not previous or previous.epoch~=mesh.epoch or timestamp-previous.at>=MESH_FULL_INTERVAL then local sent=sendEnrollment(peerId)if sent then meshEnrollmentSends[peerId]={epoch=mesh.epoch,at=timestamp}end end end end end local function meshBeacon(timestamp)local mesh=meshConfig()if not mesh or timestamp-lastMeshBeacon<MESH_BEACON_INTERVAL then return end lastMeshBeacon=timestamp meshPacket(\"mesh_beacon\",nil,{nonce=password.newSalt(\"mesh-beacon:\"..id()),label=label()})end local function verifyMeshPacket(packet)local mesh=meshConfig()if not mesh or type(packet)~=\"table\"or packet.protocol~=PROTOCOL or packet.mesh~=mesh.id or tonumber(packet.epoch)~=tonumber(mesh.epoch)then return false,\"mesh membership proof failed\"end if type(packet.from)~=\"string\"and type(packet.from)~=\"number\"then return false,\"invalid mesh sender\"end if type(packet.nonce)~=\"string\"or#packet.nonce<16 or#packet.nonce>128 then return false,\"invalid mesh nonce\"end if math.abs(now()-(tonumber(packet.timestamp)or 0))>ROUTE_TTL then return false,\"stale mesh packet\"end local material,tag=meshMaterial(packet),packet.tag local expected=material and password.hmacSha256(mesh.root,material)if type(tag)~=\"string\"or not expected or not password.constantTimeEqual(expected,tag)then return false,\"invalid mesh packet tag\"end local replay=tostring(packet.from)..\"|\"..tostring(packet.type)..\"|\"..tostring(packet.nonce)..\"|\"..tostring(packet.offer or\"\")if meshSeen[replay]and meshSeen[replay]+ROUTE_TTL>now()then return false,\"replayed mesh packet\"end meshSeen[replay]=now()return true,mesh end local function handleMeshPacket(packet,distance)local valid,meshOrErr=verifyMeshPacket(packet)if not valid then return rejectPacket(meshOrErr,packet,nil,distance)end local mesh,from=meshOrErr,tostring(packet.from)if from==id()then return end if packet.type==\"mesh_beacon\"then remember(from,packet.label,{mesh=mesh.id})if not activePeer(config(),from)and not autoEdges[from]and ownsMeshOffer(from)then local nonce=password.newSalt(\"mesh-offer:\"..from)meshOffers[from]={offer=nonce,expires=now()+DISCOVERY_TTL}meshPacket(\"mesh_edge_offer\",from,{nonce=nonce,label=label()})end return end if not isForUs(packet.to)then return rejectPacket(\"mesh packet addressed to another peer\",packet,nil,distance)end if packet.type==\"mesh_edge_offer\"then if activePeer(config(),from)then return end local response=password.newSalt(\"mesh-accept:\"..from)installAutoEdge(mesh,from,packet.nonce,response,packet.label)return meshPacket(\"mesh_edge_accept\",from,{nonce=response,offer=packet.nonce,label=label()})end if packet.type==\"mesh_edge_accept\"then local offer=meshOffers[from]if not offer or offer.expires<=now()or offer.offer~=packet.offer then return rejectPacket(\"unexpected mesh edge acceptance\",packet,nil,distance)end meshOffers[from]=nil return installAutoEdge(mesh,from,offer.offer,packet.nonce,packet.label)end end local function probeLinks(timestamp)local value=config()for _,peerId in ipairs(allDirectLinks(value))do local health=healthFor(peerId)local interval=health.state==\"offline\"and PROBE_INTERVAL*3 or PROBE_INTERVAL if timestamp-(health.lastAuthenticated or 0)>=interval and timestamp-(health.lastProbe or 0)>=interval then if health.awaiting then health.misses=(health.misses or 0)+1 health.loss=math.min(1,((health.loss or 0)*3+1)/4)local nextState=health.misses>=PROBE_OFFLINE and\"offline\"or(health.misses>=PROBE_DEGRADED and\"degraded\"or health.state)if nextState~=health.state then health.state,health.successes,health.recoveredAt=nextState,0,nil trace(\"routing\",\"link_\"..nextState,{peer=peerId,misses=health.misses})end routesDirty=true end health.awaiting,health.lastProbe,health.probeToken=true,timestamp,password.newSalt(\"mesh-probe:\"..peerId)send(peerId,{type=\"mesh_probe\",body={token=health.probeToken},request_id=newRequestId()},peerId)end end end local function advertisedMembers(value,peerId,timestamp)local members={}for other,manual in pairs(value.peers)do if other~=peerId and activeLink(value,other)and linkState(other)==\"healthy\"then members[other]={label=manual.label,mode=manual.mode,masterId=manual.masterId,hops=1,kind=\"direct\"}end end for other,edge in pairs(autoEdges)do if other~=peerId and edge.expires>timestamp and linkState(other)==\"healthy\"then members[other]={label=edge.label,mode=\"peer\",hops=1,kind=\"mesh\"}end end for other in pairs(routes)do if other~=peerId and not members[other]then local candidate=primaryCandidate(other,value,false)if candidate and candidate.next~=peerId and linkState(candidate.next)==\"healthy\"then members[other]={label=candidate.label,mode=candidate.mode,masterId=candidate.masterId,hops=candidate.hops,kind=candidate.kind or\"route\"}end end end return members end local function sameAdvertisement(left,right)local leftValue,leftErr=canonical(left)local rightValue,rightErr=canonical(right)return leftValue~=nil and rightValue~=nil and not leftErr and not rightErr and leftValue==rightValue end local function advertiseRoutes(force)local timestamp,value=now(),config()if not force and not routesDirty and timestamp-lastRouteAdvertisement<ROUTE_INTERVAL then return end lastRouteAdvertisement,routesDirty=timestamp,false local full=timestamp-lastMeshFull>=MESH_FULL_INTERVAL if full then lastMeshFull=timestamp end for _,peerId in ipairs(allDirectLinks(value))do if linkUsable(value,peerId,false)then local desired,previous=advertisedMembers(value,peerId,timestamp),advertisedRoutes[peerId]or{}local members,withdrawals={},{}if full then members=desired else for target,meta in pairs(desired)do if not sameAdvertisement(meta,previous[target])then members[target]=meta end end for target in pairs(previous)do if not desired[target]then withdrawals[#withdrawals+1]=target end end end table.sort(withdrawals,function(a,b)return tostring(a)<tostring(b)end)if full or next(members)~=nil or#withdrawals>0 then routeSequence=routeSequence+1 local body={sequence=routeSequence,routeVersion=2,full=full,controller=controller(value),members=members,withdrawals=withdrawals}if send(peerId,{type=\"route_advertise\",body=body,routeSafe=true,request_id=newRequestId()})then advertisedRoutes[peerId]=copy(desired)trace(\"routing\",full and\"route_snapshot_sent\"or\"route_delta_sent\",{to=peerId,changes=(full and 0 or#withdrawals)})end end else advertisedRoutes[peerId]=nil end end end function M.start()migrateV1Links()loadSecurity()assert(meshCrypto.selfTest(),\"CeetOS mesh cryptography self-test failed\")openChannels(config())local status=M.transportStatus()trace(\"transport\",status.wireless and\"wireless_modem_detected\"or\"wireless_modem_missing\",{name=status.name})routesDirty,M._meshBootstrapAt=true,now()end function M.transportStatus()local wireless=wirelessModems()transport.modem,transport.wireless=#modems()>0,#wireless>0 transport.name=wireless[1]and wireless[1].name or nil local out=copy(transport)out.wirelessLinks,out.wirelessLinkCount={},#wireless for _,item in ipairs(wireless)do out.wirelessLinks[#out.wirelessLinks+1]=item.name end out.usesAllWirelessLinks,out.protocol=true,2 out.directPeers,out.manualDirectPeers,out.meshPeers,out.rekeyRequiredPeers,out.routedPeers=0,0,0,0,0 out.healthyLinks,out.degradedLinks,out.offlineLinks=0,0,0 local value=config()for peerId,peer in pairs(value.peers)do if activePeer(value,peerId)then out.directPeers,out.manualDirectPeers=out.directPeers+1,out.manualDirectPeers+1 elseif peer.rekeyRequired then out.rekeyRequiredPeers=out.rekeyRequiredPeers+1 end end for peerId,edge in pairs(autoEdges)do if edge.expires>now()then out.meshPeers,out.directPeers=out.meshPeers+1,out.directPeers+1 end end for peerId,health in pairs(linkHealth)do if health.state==\"healthy\"then out.healthyLinks=out.healthyLinks+1 elseif health.state==\"degraded\"then out.degradedLinks=out.degradedLinks+1 elseif health.state==\"offline\"then out.offlineLinks=out.offlineLinks+1 end end for peerId,bucket in pairs(routes)do local usable=primaryCandidate(peerId,value,false)if usable and not value.peers[peerId]and not autoEdges[peerId]then out.routedPeers=out.routedPeers+1 end end local mesh=meshConfig(value)out.mesh=mesh and{id=mesh.id:sub(1,8),epoch=mesh.epoch,enrolled=true}or{enrolled=false}out.health={healthy=out.healthyLinks,degraded=out.degradedLinks,offline=out.offlineLinks}return out end function M.transportTrace(kind)if kind==\"discovery\"or kind==\"routing\"or kind==\"transport\"then return copy(traces[kind])end return{discovery=copy(traces.discovery),routing=copy(traces.routing),transport=copy(traces.transport)}end function M.discovery()expireState(now())return copy(discovery)end function M.discoveryStatus()expireState(now())local candidate=discovery and discovery.candidate and{id=discovery.candidate.from,label=discovery.candidate.label,mode=discovery.candidate.mode,master=discovery.candidate.master,}or nil local session=discovery and{session=discovery.id,state=discovery.state,mode=discovery.mode,master=discovery.masterSide,expires=discovery.expires,retries=discovery.retries or 0,candidate=candidate and copy(candidate)or nil,}or nil local state=session and session.state or(lastDiscovery and lastDiscovery.state or\"inactive\")return{state=state,active=session~=nil,lastState=lastDiscovery and lastDiscovery.state or\"inactive\",lastMessage=lastDiscovery and lastDiscovery.message or nil,session=session,searching=session and session.state==\"searching\"or false,candidate=candidate,discovered=#M.seenPeers(),transport=M.transportStatus(),message=(discovery and discovery.error)or(lastDiscovery and lastDiscovery.message),}end function M.startDiscovery(mode,masterSide,phrase)if activeSession()then return false,\"cancel the active discovery session first\"end local normalized,phraseErr=M.normalizePhrase(phrase)if not normalized then return false,phraseErr end mode=mode==\"master\"and\"master\"or\"peer\"masterSide=masterSide==\"joiner\"and\"joiner\"or\"initiator\"local sessionId=password.newSalt(\"discovery:\"..id())discovery={id=sessionId,state=\"hosting\",phrase=normalized,tag=phraseTag(normalized,sessionId,id()),mode=mode,masterSide=masterSide,label=label(),initiator=id(),expires=now()+DISCOVERY_TTL,retries=0,lastBroadcast=0,}local sent,err=discoveryAnnouncement()if not sent then discovery=nil;setLast(\"cancelled\",err);return false,err end discovery.lastBroadcast=now()setLast(\"hosting\")return true,{state=\"hosting\",session=sessionId,expires=discovery.expires}end function M.joinDiscovery(phrase)if activeSession()then return false,\"cancel the active discovery session first\"end local normalized,phraseErr=M.normalizePhrase(phrase)if not normalized then return false,phraseErr end local candidate for _,item in pairs(discovered)do if item.expires>now()and password.constantTimeEqual(item.tag or\"\",phraseTag(normalized,item.session,item.from))then candidate=item;break end end discovery={state=\"searching\",phrase=normalized,expires=now()+DISCOVERY_TTL,retries=0,lastQuery=0}if candidate then discovery.state,discovery.candidate=\"candidate\",candidate return true,{state=\"candidate\",candidate={id=candidate.from,label=candidate.label,mode=candidate.mode,master=candidate.master}}end local sent,err=broadcast({type=\"discover_query\"})if not sent then discovery=nil;setLast(\"cancelled\",err);return false,err end discovery.lastQuery=now()setLast(\"searching\",\"waiting for matching discovery announcement\")return true,{state=\"searching\"}end function M.confirmDiscovery()if not discovery or discovery.state~=\"candidate\"or not discovery.candidate then return false,\"no discovery candidate is awaiting confirmation\"end local candidate,value=discovery.candidate,config()local existing=value.peers[tostring(candidate.from)]if existing and not existing.rekeyRequired then return false,\"computer is already a network member\"end if routes[tostring(candidate.from)]and not existing then return false,\"computer is already a routed network member\"end local nonce=password.newSalt(\"pair-join:\"..candidate.session)local proof=joinProof(discovery.phrase,candidate.session,candidate.from,id(),nonce)discovery.state,discovery.joinNonce,discovery.joinProof,discovery.lastSent,discovery.retries=\"confirming\",nonce,proof,now(),0 local sent,err=handshake(candidate.from,{type=\"pair_join\",session=candidate.session,nonce=nonce,proof=proof,label=label()})if not sent then discovery.error=err;return false,err end trace(\"discovery\",\"pair_confirmation_requested\",{peer=candidate.from})return true end function M.cancelDiscovery()if discovery and discovery.state==\"hosting\"then broadcast({type=\"discover_cancel\",session=discovery.id})end discovery=nil setLast(\"cancelled\",\"discovery cancelled\")trace(\"discovery\",\"session_cancelled\")return true end function M.normalizePhrase(value)if type(value)~=\"string\"then return nil,\"phrase is required\"end if value:find(\"[%z\\1-\\31\\127]\")then return nil,\"phrase contains control characters\"end value=value:gsub(\"^%s+\",\"\"):gsub(\"%s+$\",\"\")if#value<8 then return nil,\"phrase must be at least 8 characters\"end if#value>128 then return nil,\"phrase must be at most 128 characters\"end return value end function M.tick()local timestamp=now()expireState(timestamp)if discovery then if discovery.state==\"hosting\"and timestamp-(discovery.lastBroadcast or 0)>=math.min(30000,DISCOVERY_INTERVAL*(2^math.min(discovery.retries or 0,4)))then local sent,err=discoveryAnnouncement()discovery.lastBroadcast=timestamp discovery.retries=(discovery.retries or 0)+1 if not sent then discovery.error=err end elseif discovery.state==\"searching\"and timestamp-(discovery.lastQuery or 0)>=DISCOVERY_INTERVAL then local sent,err=broadcast({type=\"discover_query\"})discovery.lastQuery,discovery.retries=timestamp,(discovery.retries or 0)+1 if not sent then discovery.error=err end elseif discovery.state==\"confirming\"and timestamp-(discovery.lastSent or 0)>=PAIR_RETRY then local candidate=discovery.candidate local sent,err=handshake(candidate.from,{type=\"pair_join\",session=candidate.session,nonce=discovery.joinNonce,proof=discovery.joinProof,label=label()})discovery.lastSent,discovery.retries=timestamp,(discovery.retries or 0)+1 if not sent then discovery.error=err end end end for sessionId,item in pairs(discovered)do if item.expires<=timestamp then discovered[sessionId]=nil end end for sessionId,record in pairs(confirmations)do if record.expires<=timestamp then confirmations[sessionId]=nil elseif timestamp-(record.lastSent or 0)>=PAIR_RETRY then queueConfirmation(record.peer,record)end end for peerId,bucket in pairs(routes)do local kept={}for _,candidate in ipairs(routeBucket(peerId).candidates)do if candidate.expires>timestamp then kept[#kept+1]=candidate end end bucket.candidates=kept if#kept==0 and not activeLink(config(),peerId)then routes[peerId],routesDirty=nil,true end end for peerId,edge in pairs(autoEdges)do if edge.expires<=timestamp then autoEdges[peerId],routesDirty=nil,true;trace(\"routing\",\"mesh_edge_expired\",{peer=peerId})end end for key,seenAt in pairs(meshSeen)do if seenAt+ROUTE_TTL<=timestamp then meshSeen[key]=nil end end for peerId,offer in pairs(meshOffers)do if offer.expires<=timestamp then meshOffers[peerId]=nil end end for requestId,seenAt in pairs(seenPackets)do if seenAt+ROUTE_TTL<=timestamp then seenPackets[requestId]=nil end end for requestId,route in pairs(reverseRoutes)do if route.expires<=timestamp then reverseRoutes[requestId]=nil end end boundMap(meshSeen,MESH_STATE_LIMIT,timestamp)boundMap(meshOffers,MESH_STATE_LIMIT,timestamp)pruneRouteBuckets(timestamp)ensureMeshEnrollment(timestamp)meshBeacon(timestamp)probeLinks(timestamp)advertiseRoutes(false)end function M.peers()local out,value,seen={},config(),read(SEEN_PATH,{})for peerId,peer in pairs(value.peers)do out[#out+1]={id=peerId,label=peer.label or(seen[peerId]and seen[peerId].label),role=peer.role or\"operator\",mode=peer.mode or\"peer\",master=peer.master==true,masterId=peer.masterId,direct=true,active=activePeer(value,peerId)~=nil,rekeyRequired=peer.rekeyRequired==true or peer.protocol~=2,health=linkState(peerId),auto=false,}end for peerId,edge in pairs(autoEdges)do if not value.peers[peerId]and edge.expires>now()then out[#out+1]={id=peerId,label=edge.label or(seen[peerId]and seen[peerId].label),role=\"mesh\",mode=\"peer\",direct=true,auto=true,active=true,health=linkState(peerId)}end end for peerId in pairs(routes)do if not value.peers[peerId]and not autoEdges[peerId]then local route=primaryCandidate(peerId,value,false)if route then out[#out+1]={id=peerId,label=route.label or(seen[peerId]and seen[peerId].label),role=\"routed\",mode=route.mode or\"peer\",masterId=route.masterId,routed=true,hops=route.hops,next=route.next,health=linkState(route.next),alternates=#routeBucket(peerId).candidates-1}end end end table.sort(out,function(a,b)return tonumber(a.id)<tonumber(b.id)end)return out end function M.directPeers()local out={}for _,peer in ipairs(M.peers())do if peer.direct and peer.active then out[#out+1]=peer end end return out end function M.seenPeers()local out={}for peerId,item in pairs(read(SEEN_PATH,{}))do if not item.seen or item.seen+DISCOVERY_TTL*2>now()then out[#out+1]={id=peerId,label=item.label,seen=item.seen,session=item.session}end end table.sort(out,function(a,b)return tonumber(a.id)<tonumber(b.id)end)return out end function M.routeStatus(target)local value,out=config(),{}local function row(peerId)local selected=primaryCandidate(peerId,value,false)if not selected then return end local health=healthFor(selected.next)local alternates={}for _,candidate in ipairs(validCandidates(peerId,value))do if tostring(candidate.next)~=tostring(selected.next)then local state=healthFor(candidate.next)alternates[#alternates+1]={next=candidate.next,hops=candidate.hops,kind=candidate.kind or\"route\",health=state.state,loss=state.loss or 0,rtt=state.rtt,distance=state.lastDistance}end end table.sort(alternates,compareCandidates)while#alternates>ROUTE_CANDIDATE_LIMIT-1 do table.remove(alternates)end out[#out+1]={id=tostring(peerId),label=selected.label,next=selected.next,hops=selected.hops,kind=selected.kind or\"route\",health=health.state,loss=health.loss or 0,rtt=health.rtt,distance=health.lastDistance,selectedAt=routeBucket(peerId).changedAt,reason=routeBucket(peerId).reason,alternates=alternates,}end if target then row(tostring(target))else local ids,seen={},{}for peerId in pairs(value.peers)do ids[#ids+1],seen[peerId]=peerId,true end for peerId in pairs(autoEdges)do if not seen[peerId]then ids[#ids+1],seen[peerId]=peerId,true end end for peerId in pairs(routes)do if not seen[peerId]then ids[#ids+1],seen[peerId]=peerId,true end end table.sort(ids,function(a,b)return tonumber(a)<tonumber(b)end)for _,peerId in ipairs(ids)do row(peerId)end end return out end function M.statusSnapshot()return{protocol=2,transport=M.transportStatus(),discovery=M.discoveryStatus(),peers=M.peers(),routes=M.routeStatus(),trace=M.transportTrace(),controller=M.controller()}end function M.controller()return controller()end function M.isDirectController(from,packet)return tostring(from)==tostring(controller())and type(packet)==\"table\"and tostring(packet.origin or\"\")==tostring(from)end function M.setController(value)assert(tonumber(value),\"controller must be a computer ID\")local saved=config();saved.controller=tostring(value);save(saved);routesDirty=true audit.log(\"local\",\"jobs.controller\",{controller=saved.controller})return saved.controller end function M.request(target,typeName,body,options)if type(typeName)~=\"string\"or#typeName==0 or#typeName>64 then return false,\"invalid request type\"end local destination=tostring(target)local value=config()if not primaryCandidate(destination,value,options and options.safe==true)then return false,\"peer is unreachable, degraded, or requires rekey\"end return send(destination,{type=typeName,body=body or{},origin=id(),routeSafe=options and options.safe==true,balanceSafe=options and options.safe==true,confidential=options and options.confidential==true,request_id=newRequestId()})end function M.reply(request,typeName,body,options)if type(request)~=\"table\"or type(typeName)~=\"string\"or#typeName==0 or#typeName>64 then return false,\"invalid reply\"end local requestId,destination=request.request_id,tostring(request.origin or\"\")local reverse=type(requestId)==\"string\"and reverseRoutes[requestId]or nil if destination==\"\"or not reverse or reverse.expires<=now()or reverse.origin~=destination then return false,\"reverse reply route is unavailable\"end return send(destination,{type=typeName,body=body or{},origin=id(),destination=destination,reply_to=requestId,routeSafe=options and options.safe==true,confidential=options and options.confidential==true,request_id=newRequestId(),},reverse.previous)end function M.offer()return false,\"legacy pairing is disabled; use phrase discovery\"end function M.accept()return false,\"legacy pairing is disabled; use phrase discovery\"end function M.discover()return broadcast({type=\"discover_query\"})end rejectPacket=function(reason,packet,channel,distance)transport.rejected=transport.rejected+1 trace(\"transport\",\"packet_rejected\",{reason=reason,type=type(packet)==\"table\"and packet.type or nil,channel=channel,distance=distance,from=type(packet)==\"table\"and packet.from or nil})end local function handleDiscovery(packet,channel,distance)local from=tostring(packet.from)if packet.type==\"discover_cancel\"and isBroadcast(packet.to)then discovered[tostring(packet.session)]=nil trace(\"discovery\",\"cancel_received\",{from=from,distance=distance})return end if packet.type==\"discover_query\"and isBroadcast(packet.to)and discovery and discovery.state==\"hosting\"then discoveryAnnouncement()trace(\"discovery\",\"query_answered\",{from=from,distance=distance})return end if packet.type==\"discover\"and isBroadcast(packet.to)and from~=id()then if type(packet.session)~=\"string\"or#packet.session<16 or type(packet.tag)~=\"string\"or#packet.tag~=64 then return rejectPacket(\"malformed_discovery\",packet,channel,distance)end local expires=tonumber(packet.expires)or(now()+DISCOVERY_TTL)discovered[packet.session]={session=packet.session,from=from,tag=packet.tag,label=tostring(packet.label or(\"Computer \"..from)):sub(1,128),mode=packet.mode==\"master\"and\"master\"or\"peer\",master=packet.master==\"joiner\"and\"joiner\"or\"initiator\",expires=math.min(expires,now()+DISCOVERY_TTL)}remember(from,packet.label,{session=packet.session})trace(\"discovery\",\"announcement_received\",{from=from,label=packet.label,distance=distance})if discovery and discovery.state==\"searching\"and password.constantTimeEqual(packet.tag,phraseTag(discovery.phrase,packet.session,from))then local value,existing=config(),config().peers[from]if existing and not existing.rekeyRequired then markRejected(\"computer is already a direct peer\")elseif routes[from]and not existing then markRejected(\"computer is already a routed network member\")else discovery.state,discovery.candidate,discovery.error=\"candidate\",discovered[packet.session],nil setLast(\"candidate\",\"matching computer found; confirm pairing\")trace(\"discovery\",\"candidate_found\",{from=from,label=packet.label,distance=distance})end end return end end local function handlePairJoin(packet,distance)if not discovery or discovery.state~=\"hosting\"or packet.session~=discovery.id then return end local from=tostring(packet.from)local value,existing=config(),config().peers[from]if(existing and not existing.rekeyRequired)or(routes[from]and not existing)then handshake(from,{type=\"pair_reject\",session=packet.session,reason=\"already_network_member\"})trace(\"discovery\",\"pair_rejected\",{from=from,reason=\"already_network_member\"})return end if type(packet.nonce)~=\"string\"or#packet.nonce<16 or#packet.nonce>128 or type(packet.proof)~=\"string\"or#packet.proof~=64 then return rejectPacket(\"malformed_pair_join\",packet,nil,distance)end local expected=joinProof(discovery.phrase,discovery.id,id(),from,packet.nonce)if not password.constantTimeEqual(expected,packet.proof)then discovery.failures=(discovery.failures or 0)+1 if discovery.failures>=5 then markRejected(\"too many invalid pairing proofs\")end handshake(from,{type=\"pair_reject\",session=packet.session,reason=\"phrase_mismatch\"})trace(\"discovery\",\"pair_rejected\",{from=from,reason=\"phrase_mismatch\"})return end local masterId=discovery.mode==\"master\"and(discovery.masterSide==\"initiator\"and id()or from)or\"\"local key,keyErr=linkKey(discovery.phrase,discovery.id,id(),from,packet.nonce)if not key then return markRejected(keyErr)end persistPair(from,key,{mode=discovery.mode,label=packet.label},masterId)local record={id=discovery.id,peer=from,joinNonce=packet.nonce,mode=discovery.mode,masterId=masterId,label=label(),expires=now()+DISCOVERY_TTL}record.confirmProof=confirmProof(discovery.phrase,record.id,id(),from,record.joinNonce,record.mode,record.masterId)discovery=nil setLast(\"paired\",\"awaiting pairing acknowledgement\")trace(\"discovery\",\"pair_join_verified\",{from=from,distance=distance})return queueConfirmation(from,record)end local function handlePairConfirm(packet,distance)if not discovery or discovery.state~=\"confirming\"or not discovery.candidate or packet.session~=discovery.candidate.session then return end local from=tostring(packet.from)if from~=tostring(discovery.candidate.from)or packet.nonce~=discovery.joinNonce then return rejectPacket(\"unexpected_pair_confirmation\",packet,nil,distance)end local expected=confirmProof(discovery.phrase,packet.session,from,id(),discovery.joinNonce,packet.mode==\"master\"and\"master\"or\"peer\",packet.master or\"\")if not password.constantTimeEqual(expected,packet.proof or\"\")then return markRejected(\"pair confirmation proof did not match\")end local key,err=linkKey(discovery.phrase,packet.session,from,id(),discovery.joinNonce)if not key then return markRejected(err)end persistPair(from,key,{mode=packet.mode,label=packet.label},packet.master)local sessionId=packet.session discovery=nil setLast(\"paired\",\"paired with \"..tostring(packet.label or from))handshake(from,{type=\"pair_ack\",session=sessionId,proof=password.hmacSha256(key,\"ceetos/pair/ack/v2|\"..sessionId)})trace(\"discovery\",\"pair_confirmed\",{from=from,distance=distance})return true end local function handlePairAck(packet)local record=confirmations[packet.session]if not record or tostring(record.peer)~=tostring(packet.from)then return end local value,peer=config(),activePeer(config(),record.peer)if not peer then return end local expected=password.hmacSha256(peer.key,\"ceetos/pair/ack/v2|\"..packet.session)if password.constantTimeEqual(expected,packet.proof or\"\")then confirmations[packet.session]=nil setLast(\"paired\",\"paired with \"..tostring(record.peer))routesDirty=true trace(\"discovery\",\"pair_acknowledged\",{from=packet.from})end end local function handleRouteAdvertisement(from,packet)local body=packet.body if type(body)~=\"table\"or type(body.sequence)~=\"number\"or type(body.members)~=\"table\"or(body.withdrawals~=nil and type(body.withdrawals)~=\"table\")then return rejectPacket(\"malformed_route_advertisement\",packet)end local key=tostring(from)M._routeSequences=M._routeSequences or{}if(M._routeSequences[key]or-1)>=body.sequence then return end M._routeSequences[key]=body.sequence local value,changed,count=config(),false,0 if body.controller and not value.controller then value.controller,changed=tostring(body.controller),true end local announced={}for advertisedId,meta in pairs(body.members)do count=count+1 if count>MAX_PACKET_TABLE then return rejectPacket(\"route_advertisement_too_large\",packet)end local peerId=tostring(advertisedId)announced[peerId]=true if peerId~=id()and peerId~=key and type(meta)==\"table\"then local hops=math.floor(tonumber(meta.hops)or 0)+1 if hops>1 and hops<=PACKET_TTL and type(meta.label)~=\"table\"and type(meta.mode)~=\"table\"then local bucket,found=routeBucket(peerId),nil for _,candidate in ipairs(bucket.candidates)do if tostring(candidate.next)==key then found=candidate;break end end if found then local metadataChanged=found.hops~=hops or found.label~=meta.label or found.mode~=meta.mode or tostring(found.masterId or\"\")~=tostring(meta.masterId or\"\")or found.kind~=(meta.kind or\"route\")found.hops,found.expires=hops,now()+ROUTE_TTL found.label,found.mode,found.masterId,found.kind=meta.label,meta.mode,meta.masterId,meta.kind or\"route\"if metadataChanged then changed=true end else bucket.candidates[#bucket.candidates+1]={next=key,hops=hops,expires=now()+ROUTE_TTL,label=type(meta.label)==\"string\"and meta.label:sub(1,128)or nil,mode=meta.mode==\"master\"and\"master\"or\"peer\",masterId=meta.masterId and tostring(meta.masterId)or nil,kind=meta.kind==\"mesh\"and\"mesh\"or\"route\"}table.sort(bucket.candidates,compareCandidates)while#bucket.candidates>ROUTE_CANDIDATE_LIMIT do table.remove(bucket.candidates)end changed=true end end end end local withdrawals=body.withdrawals or{}for _,withdrawnId in pairs(withdrawals)do count=count+1 if count>MAX_PACKET_TABLE then return rejectPacket(\"route_advertisement_too_large\",packet)end local bucket=routes[tostring(withdrawnId)]if bucket and type(bucket.candidates)==\"table\"then local kept={}for _,candidate in ipairs(bucket.candidates)do if tostring(candidate.next)~=key then kept[#kept+1]=candidate else changed=true end end bucket.candidates=kept end end if body.full==true then for peerId,bucket in pairs(routes)do if type(bucket.candidates)==\"table\"and not announced[tostring(peerId)]then local kept={}for _,candidate in ipairs(bucket.candidates)do if tostring(candidate.next)~=key then kept[#kept+1]=candidate else changed=true end end bucket.candidates=kept end end end if changed then if value.controller then save(value)end;routesDirty=true;trace(\"routing\",\"route_table_updated\",{from=from})end end local function handleProbe(from,packet)local token=type(packet.body)==\"table\"and packet.body.token if type(token)~=\"string\"or#token<16 or#token>128 then return rejectPacket(\"malformed link probe\",packet)end touchLink(from,nil,\"probe\")return send(from,{type=\"mesh_probe_ack\",body={token=token},request_id=newRequestId()},from)end local function handleProbeAck(from,packet)local health,token=healthFor(from),type(packet.body)==\"table\"and packet.body.token if not health.awaiting or token~=health.probeToken then return rejectPacket(\"unexpected link probe acknowledgement\",packet)end local sample=math.max(0,now()-(health.lastProbe or now()))health.rtt=health.rtt and math.floor((health.rtt*3+sample)/4)or sample health.awaiting,health.misses,health.probeToken=false,0,nil touchLink(from,health.lastDistance,\"probe_ack\")end function M.handle(event)if event[1]~=\"modem_message\"then return end local channel,packet,distance=event[3],event[5],event[6]local expected=false for _,item in ipairs(transport.channels or{})do if channel==item then expected=true;break end end if not expected then return rejectPacket(\"unexpected_channel\",packet,channel,distance)end transport.lastReceive,transport.lastDistance=now(),distance if type(packet)~=\"table\"then return rejectPacket(\"packet_not_table\",packet,channel,distance)end if packet.protocol==PUBLIC_UPDATE_PROTOCOL then if channel~=DISCOVERY_CHANNEL or not PUBLIC_UPDATE_TYPES[packet.type]or type(packet.from)~=\"string\"and type(packet.from)~=\"number\"or not(isForUs(packet.to)or isBroadcast(packet.to))then return rejectPacket(\"invalid_public_update_packet\",packet,channel,distance)end local encoded,encodeErr=canonical(packet.body or{})if not encoded then return rejectPacket(\"invalid_public_update_body:\"..tostring(encodeErr),packet,channel,distance)end trace(\"transport\",\"public_update_received\",{type=packet.type,from=packet.from,distance=distance,bytes=#encoded})if M.publicHandler then return M.publicHandler(packet,distance)end return end local discoveryPacket=packet.type==\"discover\"or packet.type==\"discover_query\"or packet.type==\"discover_cancel\"local handshakePacket=packet.type==\"pair_join\"or packet.type==\"pair_confirm\"or packet.type==\"pair_ack\"or packet.type==\"pair_reject\"local meshPacketType=packet.type==\"mesh_beacon\"or packet.type==\"mesh_edge_offer\"or packet.type==\"mesh_edge_accept\"if discoveryPacket then if packet.protocol~=PROTOCOL or channel~=DISCOVERY_CHANNEL then return rejectPacket(\"invalid_discovery_transport\",packet,channel,distance)end return handleDiscovery(packet,channel,distance)end if handshakePacket then if not isForUs(packet.to)then return end if packet.protocol~=PROTOCOL or channel~=(config().channel or CHANNEL)then return rejectPacket(\"invalid_handshake_transport\",packet,channel,distance)end if packet.type==\"pair_join\"then return handlePairJoin(packet,distance)elseif packet.type==\"pair_confirm\"then return handlePairConfirm(packet,distance)elseif packet.type==\"pair_ack\"then return handlePairAck(packet)elseif packet.type==\"pair_reject\"and discovery then markRejected(\"pairing rejected: \"..tostring(packet.reason or\"remote peer rejected it\"));return end return end if meshPacketType then if packet.protocol~=PROTOCOL or channel~=(config().channel or CHANNEL)then return rejectPacket(\"invalid mesh transport\",packet,channel,distance)end if packet.type~=\"mesh_beacon\"and not isForUs(packet.to)then return end return handleMeshPacket(packet,distance)end if not isForUs(packet.to)then return end local value=config()local valid,peerOrReason=verifyPacket(packet,value)if not valid then return rejectPacket(peerOrReason,packet,channel,distance)end local peer,from=peerOrReason,tostring(packet.from)if packet.confidential==true then local opened,openErr=openBody(peer,packet)if not opened then return rejectPacket(openErr or\"could not open confidential packet\",packet,channel,distance)end packet.body=opened end touchLink(from,distance,\"authenticated_packet\")if autoEdges[from]then autoEdges[from].expires=now()+ROUTE_TTL end trace(\"routing\",\"packet_received\",{type=packet.type,from=from,destination=packet.destination,distance=distance})if packet.type==\"mesh_enroll\"then return acceptEnrollment(from,peer,packet)end if packet.type==\"mesh_probe\"then return handleProbe(from,packet)end if packet.type==\"mesh_probe_ack\"then return handleProbeAck(from,packet)end if packet.type==\"route_advertise\"then return handleRouteAdvertisement(from,packet)end if packet.reply_to and packet.destination and tostring(packet.destination)~=id()then local reverse=reverseRoutes[packet.reply_to]if not reverse or reverse.expires<=now()or reverse.origin~=tostring(packet.destination)then return rejectPacket(\"reverse reply route unavailable\",packet,channel,distance)end local requestId=tostring(packet.request_id or\"\")if seenPackets[requestId]then return trace(\"routing\",\"forward_duplicate\",{from=from,type=packet.type})end seenPackets[requestId]=now()if(tonumber(packet.ttl)or 0)<=1 then return rejectPacket(\"TTL exhausted\",packet,channel,distance)end packet.ttl=packet.ttl-1 trace(\"routing\",\"reverse_reply_forwarded\",{from=from,to=reverse.previous,type=packet.type})return send(packet.destination,packet,reverse.previous)end if packet.destination and tostring(packet.destination)~=id()then local requestId=tostring(packet.request_id or\"\")if requestId==\"\"or seenPackets[requestId]then return trace(\"routing\",\"forward_duplicate\",{from=from,type=packet.type})end seenPackets[requestId]=now()local remembered,rememberErr=rememberReverse(packet,from)if not remembered then return rejectPacket(rememberErr or\"could not record reverse route\",packet,channel,distance)end if(tonumber(packet.ttl)or 0)<=1 then return rejectPacket(\"TTL exhausted\",packet,channel,distance)end packet.ttl=packet.ttl-1 return send(packet.destination,packet)end local requestId=tostring(packet.request_id or\"\")if requestId==\"\"then return rejectPacket(\"missing request ID\",packet,channel,distance)end if seenPackets[requestId]then return trace(\"routing\",\"destination_duplicate\",{from=from,type=packet.type})end seenPackets[requestId]=now()local remembered,rememberErr=rememberReverse(packet,from)if not remembered then return rejectPacket(rememberErr or\"could not record reverse route\",packet,channel,distance)end packet.authenticatedHop,packet.originVerified=from,false if M.handler then return M.handler(from,peer,packet)end end return M",
  ["ceetos/lib/network_ipc.lua"] = "local store=require(\"ceetos.lib.store\")local M={}local ROOT=\"/ceetos/data/network-ipc\"local COMMANDS=ROOT..\"/commands\"local RESULTS=ROOT..\"/results\"local function ensure(path)if not fs.exists(path)then fs.makeDir(path)end end local function safeId(value)return type(value)==\"string\"and value:match(\"^[%w_%-%.]+$\")and#value<=160 end local function path(directory,requestId)return fs.combine(directory,requestId..\".lua\")end function M.submit(request)if type(request)~=\"table\"or not safeId(request.id)then return false,\"invalid IPC request ID\"end ensure(ROOT);ensure(COMMANDS);ensure(RESULTS)local target=path(COMMANDS,request.id)if fs.exists(target)then return false,\"IPC request already exists\"end return store.write(target,request)end function M.take()ensure(ROOT);ensure(COMMANDS);ensure(RESULTS)local names=fs.list(COMMANDS)table.sort(names)for _,name in ipairs(names)do local requestId=name:match(\"^([%w_%-%.]+)%.lua$\")if requestId and safeId(requestId)then local target=fs.combine(COMMANDS,name)store.invalidate(target)local request=store.readFresh(target,nil)fs.delete(target)if type(request)==\"table\"and request.id==requestId then return request end end end end function M.reply(requestId,value)if not safeId(requestId)or type(value)~=\"table\"then return false,\"invalid IPC result\"end ensure(ROOT);ensure(COMMANDS);ensure(RESULTS)return store.write(path(RESULTS,requestId),value)end function M.poll(requestId,consume)if not safeId(requestId)then return nil,\"invalid IPC request ID\"end local target=path(RESULTS,requestId)if not fs.exists(target)then return nil end local handle=fs.open(target,\"r\")if not handle then return nil end local raw=handle.readAll()handle.close()local ok,result=pcall(textutils.unserialise,raw)if not ok or type(result)~=\"table\"or result.id~=requestId then return nil,\"invalid IPC result\"end if consume then fs.delete(target)end return result end function M.prune(limit)ensure(ROOT);ensure(COMMANDS);ensure(RESULTS)limit=math.max(1,math.floor(tonumber(limit)or 32))local names={}for _,name in ipairs(fs.list(RESULTS))do if name:match(\"^[%w_%-%.]+%.lua$\")then names[#names+1]=name end end table.sort(names)while#names>limit do fs.delete(fs.combine(RESULTS,table.remove(names,1)))end end function M.status()ensure(ROOT);ensure(COMMANDS);ensure(RESULTS)local function count(directory)local total=0 for _,name in ipairs(fs.list(directory))do if name:match(\"^[%w_%-%.]+%.lua$\")then total=total+1 end end return total end return{commands=count(COMMANDS),results=count(RESULTS)}end return M",
  ["ceetos/lib/auth_client.lua"] = "local store=require(\"ceetos.lib.store\")local password=require(\"ceetos.lib.password\")local networkIpc=require(\"ceetos.lib.network_ipc\")local M={}local REPLIES=\"/ceetos/data/auth-replies.lua\"local sequence=0 local function now()return os.epoch(\"utc\")end local function authority()store.invalidate(\"/ceetos/data/auth-authority.lua\")local value=store.read(\"/ceetos/data/auth-authority.lua\",nil)return type(value)==\"table\"and value.active==true and value or nil end local function requestId(kind)sequence=sequence+1 return table.concat({\"auth\",kind,tostring(os.getComputerID()),tostring(now()),tostring(sequence)},\"-\")end local function take(id)store.invalidate(REPLIES)local replies=store.read(REPLIES,{})local row=replies[id]if row then replies[id]=nil;store.write(REPLIES,replies)end return row end function M.receive(body)if type(body)~=\"table\"or type(body.request_id)~=\"string\"or#body.request_id>160 then return false,\"invalid authority reply\"end local replies=store.read(REPLIES,{})replies[body.request_id]={ok=body.ok==true,result=body.result,error=body.error,at=now()}local rows={}for id,row in pairs(replies)do rows[#rows+1]={id=id,at=tonumber(row.at)or 0}end table.sort(rows,function(a,b)return a.at>b.at end)while#rows>32 do replies[table.remove(rows).id]=nil end return store.write(REPLIES,replies)end local function send(typeName,body,timeout)local server=authority()if not server then return nil,\"no Auth Server is reachable\"end local id=body.request_id or requestId(typeName)body.request_id=id local command={id=\"auth-\"..id,action=\"auth_send\",target=server.id,type=typeName,body=body}local ok,err=networkIpc.submit(command)if not ok then return nil,err or\"could not reach CeetOS network service\"end local deadline=now()+(timeout or 6000)while now()<deadline do local ack=networkIpc.poll(command.id,true)if ack and ack.ok~=true then return nil,ack.error or\"Auth Server request was not sent\"end local reply=take(id)if reply then return reply.ok and reply.result or nil,reply.error or\"Auth Server rejected request\"end sleep(0.05)end return nil,\"Auth Server did not respond\"end local function loginProof(verifier,server,request,challenge,expires)return password.hmacSha256(verifier,table.concat({\"ceetos/auth/login/v1\",tostring(server),tostring(os.getComputerID()),tostring(request),tostring(challenge),tostring(expires)},\"|\"))end function M.login(name,plainPassword)if type(name)~=\"string\"or type(plainPassword)~=\"string\"then return false,\"invalid credentials\"end local cloud=require(\"ceetos.lib.cloud_sync\")if cloud.authOnline()then return cloud.login(name,plainPassword)end local request=requestId(\"begin\")local begin,beginErr=send(\"auth_login_begin\",{request_id=request,username=name,node=tostring(os.getComputerID())})if not begin then return false,beginErr end local verifier,deriveErr=password.derive(plainPassword,begin.salt,begin.workFactor)if not verifier then return false,deriveErr end local proof=loginProof(verifier,begin.authority,request,begin.challenge,begin.expires)local result,proofErr=send(\"auth_login_proof\",{request_id=request,username=name,node=tostring(os.getComputerID()),challenge=begin.challenge,proof=proof})if not result then return false,proofErr end local auth=require((\"ceetos.lib.auth\"))local saved,saveErr=auth.saveCentralSession(result.session)if not saved then return false,saveErr end if type(result.directory)==\"table\"then auth.updateDirectory(result.directory,result.revision)end return true end function M.mutate(action,fields)local auth=require((\"ceetos.lib.auth\"))local cloud=require(\"ceetos.lib.cloud_sync\")if cloud.authOnline()then return cloud.mutate(action,fields)end local current,server=auth.refreshSession(),authority()if not current or not current.central or not server then return false,\"an Auth Server login is required\"end local result,err=send(\"auth_mutate\",{action=action,fields=fields,session=current.nonce,node=tostring(os.getComputerID()),revision=current.accountRevision})if not result then return false,err end if type(result.directory)==\"table\"then auth.updateDirectory(result.directory,result.revision)end return true end return M",
  ["ceetos/lib/cloud.lua"] = "local store=require(\"ceetos.lib.store\")local password=require(\"ceetos.lib.password\")local profile=require(\"ceetos.lib.profile\")local M={}M.PATH=\"/ceetos/data/cloud.lua\"M.MAX_BODY=48*1024 M.MAX_RESPONSE=64*1024 M.DEFAULTS={auth=\"https://auth.ceet.uk\",recipe=\"https://recipe.ceet.uk\",dashboard=\"https://dash.ceet.uk\",}local function now()return os.epoch(\"utc\")end local function validUrl(value)if type(value)~=\"string\"or#value>160 then return false end return value:match(\"^https://[%w%-%.]+%.ceet%.uk$\")~=nil end local function validId(value)return type(value)==\"string\"and value:match(\"^[%w_.%-]+$\")~=nil and#value<=96 end local function copy(value)local out={}for key,item in pairs(value or{})do out[key]=item end return out end local function normalise(value)value=type(value)==\"table\"and value or{}local urls=type(value.urls)==\"table\"and value.urls or{}local result={schema=1,enabled=value.enabled==true,urls={auth=validUrl(urls.auth)and urls.auth or M.DEFAULTS.auth,recipe=validUrl(urls.recipe)and urls.recipe or M.DEFAULTS.recipe,dashboard=validUrl(urls.dashboard)and urls.dashboard or M.DEFAULTS.dashboard,},node=type(value.node)==\"table\"and copy(value.node)or nil,}if result.node and(not validId(result.node.id)or type(result.node.secret)~=\"string\"or#result.node.secret<32 or#result.node.secret>192)then result.node=nil end return result end function M.load()store.invalidate(M.PATH)return normalise(store.read(M.PATH,{}))end function M.save(value)local clean=normalise(value)return store.write(M.PATH,clean)end function M.configure(urls)local value=M.load()urls=type(urls)==\"table\"and urls or{}for key in pairs(M.DEFAULTS)do if urls[key]~=nil then if not validUrl(urls[key])then return false,\"invalid \"..key..\" cloud URL\"end value.urls[key]=urls[key]end end return M.save(value)end function M.clear()local value=M.load();value.enabled,value.node=false,nil return M.save(value)end function M.publicStatus()local value=M.load()return{enabled=value.enabled,enrolled=value.node~=nil,node=value.node and value.node.id or nil,urls=copy(value.urls),profile=profile.id()}end local function readBounded(handle,limit)local chunks,total={},0 while true do local part=handle.read(math.min(4096,limit-total+1))if not part or part==\"\"then break end total=total+#part if total>limit then return nil,\"cloud response is too large\"end chunks[#chunks+1]=part end return table.concat(chunks)end local function json(value)local ok,result=pcall(textutils.unserialiseJSON,value)return ok and type(result)==\"table\"and result or nil end local function canonical(node,timestamp,nonce,method,path,body)local digest=assert(password.sha256(body))return table.concat({\"ceetos-cloud-node-v1\",node,tostring(timestamp),nonce,method,path,digest},\"\\n\")end local nonceCounter=0 local function nonce()nonceCounter=nonceCounter+1 return password.newSalt(\"cloud:\"..tostring(nonceCounter))end local function perform(url,method,path,body,headers)if not http or type(http.post)~=\"function\"then return nil,\"HTTP is unavailable\"end local response local ok,err=pcall(function()response=http.post(url..path,body,headers)end)if not ok or not response then return nil,tostring(err or\"cloud request failed\")end local raw,readErr=readBounded(response,M.MAX_RESPONSE)pcall(response.close)if not raw then return nil,readErr end local decoded=json(raw)if not decoded then return nil,\"cloud returned invalid JSON\"end if decoded.ok==false then return nil,tostring(decoded.error or\"cloud rejected request\"):sub(1,180)end return decoded end function M.enroll(code)if type(code)~=\"string\"or#code<12 or#code>128 or code:find(\"[%z\\1-\\31\\127]\")then return nil,\"invalid enrollment code\"end local value=M.load()local payload=textutils.serialiseJSON({code=code,profile=profile.id(),label=os.getComputerLabel()or(\"Computer \"..tostring(os.getComputerID())),computerId=tostring(os.getComputerID())})if#payload>M.MAX_BODY then return nil,\"enrollment request is too large\"end local result,err=perform(value.urls.auth,\"POST\",\"/v1/nodes/enroll\",payload,{[\"Content-Type\"]=\"application/json\"})if not result then return nil,err end if type(result.node)~=\"table\"or not validId(result.node.id)or type(result.node.secret)~=\"string\"or#result.node.secret<32 then return nil,\"cloud returned invalid enrollment\"end value.enabled,value.node=true,{id=result.node.id,secret=result.node.secret,enrolledAt=now()}local saved,saveErr=M.save(value)if not saved then return nil,saveErr or\"could not save cloud enrollment\"end return M.publicStatus()end function M.call(service,path,payload)local value=M.load()if not value.enabled or not value.node then return nil,\"cloud node is not enrolled\"end if not M.DEFAULTS[service]or type(path)~=\"string\"or not path:match(\"^/v1/[%w%-%._/]+$\")or#path>128 then return nil,\"invalid cloud endpoint\"end local body=textutils.serialiseJSON(type(payload)==\"table\"and payload or{})if#body>M.MAX_BODY then return nil,\"cloud request is too large\"end local timestamp,requestNonce=now(),nonce()local signature=password.hmacSha256(value.node.secret,canonical(value.node.id,timestamp,requestNonce,\"POST\",path,body))if not signature then return nil,\"could not sign cloud request\"end return perform(value.urls[service],\"POST\",path,body,{[\"Content-Type\"]=\"application/json\",[\"X-CeetOS-Node\"]=value.node.id,[\"X-CeetOS-Time\"]=tostring(timestamp),[\"X-CeetOS-Nonce\"]=requestNonce,[\"X-CeetOS-Signature\"]=signature,})end return M",
  ["ceetos/lib/cloud_sync.lua"] = "local cloud=require(\"ceetos.lib.cloud\")local store=require(\"ceetos.lib.store\")local password=require(\"ceetos.lib.password\")local profile=require(\"ceetos.lib.profile\")local TELEMETRY_MODULE=\"ceetos.lib.\"..\"telemetry\"local RECIPE_SERVICE_MODULE=\"ceetos.lib.\"..\"recipe_service\"local M={}local STATE=\"/ceetos/data/cloud-state.lua\"local INTERVALS={telemetry=60000,authority=30000,recipes=30000}local function now()return os.epoch(\"utc\")end local function defaults()return{schema=1,revision=0,auth={online=false,next=0},recipe={online=false,next=0},telemetry={next=0},lastError=nil}end local function state()store.invalidate(STATE)local value=store.read(STATE,defaults())for key,fallback in pairs(defaults())do if value[key]==nil then value[key]=fallback end end return value end local function save(value)value.revision=(tonumber(value.revision)or 0)+1 return store.write(STATE,value)end local function errorState(value,message)value.lastError=tostring(message or\"cloud request failed\"):sub(1,180)end function M.status()local value,cfg=state(),cloud.publicStatus()return{enabled=cfg.enabled,enrolled=cfg.enrolled,node=cfg.node,urls=cfg.urls,authOnline=value.auth.online==true,recipeOnline=value.recipe.online==true,lastSync=value.lastSync,lastError=value.lastError}end function M.configure(urls)return cloud.configure(urls)end function M.enroll(code)return cloud.enroll(code)end function M.clear()local ok,err=cloud.clear();if ok then store.write(STATE,defaults())end return ok,err end function M.authOnline()return M.status().authOnline==true end function M.recipeOnline()return M.status().recipeOnline==true end local function cloudAuthority(result)local auth=require(\"ceetos.lib.auth\")if type(result)~=\"table\"or type(result.directory)~=\"table\"then return false,\"invalid cloud authority response\"end local cfg=cloud.publicStatus()local record={id=\"cloud:\"..tostring(cfg.urls.auth),term=tonumber(result.term)or 0,revision=tonumber(result.revision)or 0,directory=result.directory}return pcall(auth.acceptAuthority,record)end function M.login(name,plainPassword)if type(name)~=\"string\"or type(plainPassword)~=\"string\"then return false,\"invalid credentials\"end local begin,beginErr=cloud.call(\"auth\",\"/v1/auth/login/begin\",{username=name,node=tostring(os.getComputerID())})if not begin then return false,beginErr end if type(begin.salt)~=\"string\"or type(begin.workFactor)~=\"number\"or type(begin.challenge)~=\"string\"or type(begin.expires)~=\"number\"then return false,\"invalid cloud login challenge\"end local verifier,deriveErr=password.derive(plainPassword,begin.salt,begin.workFactor)if not verifier then return false,deriveErr end local proof=password.hmacSha256(verifier,table.concat({\"ceetos/auth/login/v1\",tostring(begin.authority),tostring(os.getComputerID()),tostring(begin.requestId),tostring(begin.challenge),tostring(begin.expires)},\"|\"))local result,resultErr=cloud.call(\"auth\",\"/v1/auth/login/proof\",{username=name,node=tostring(os.getComputerID()),requestId=begin.requestId,challenge=begin.challenge,proof=proof})if not result then return false,resultErr end local auth=require(\"ceetos.lib.auth\")local saved,saveErr=auth.saveCentralSession(result.session)if not saved then return false,saveErr end if type(result.directory)==\"table\"then auth.updateDirectory(result.directory,result.revision)end return true end function M.mutate(action,fields)local auth=require(\"ceetos.lib.auth\")local current=auth.refreshSession()if not current or not current.central then return false,\"cloud login is required\"end local result,err=cloud.call(\"auth\",\"/v1/auth/mutate\",{action=action,fields=fields,session=current.nonce,node=tostring(os.getComputerID()),revision=current.accountRevision})if not result then return false,err end if type(result.directory)==\"table\"then auth.updateDirectory(result.directory,result.revision)end return true end function M.recipePlan(item,quantity,stock)if not M.recipeOnline()then return nil,\"cloud Recipe Server is unavailable\"end local result,err=cloud.call(\"recipe\",\"/v1/recipe/plan\",{item=item,quantity=quantity,stock=stock})if not result then return nil,err end return result.plan,result.error end local function telemetry(activity)local snapshot={ts=now(),id=os.getComputerID(),label=os.getComputerLabel(),activity=activity}if profile.is(\"desktop\")then local loaded,telemetryService=pcall(require,TELEMETRY_MODULE)if loaded and telemetryService.status()then snapshot=telemetryService.snapshot(activity)end end local net=require(\"ceetos.lib.net\")local transport=net.statusSnapshot and net.statusSnapshot().transport or{}snapshot.health={profile=profile.id(),version=require(\"ceetos.lib.version\").string,uptime=os.clock(),freeSpace=fs.getFreeSpace(\"/\"),peers=#(net.peers and net.peers()or{}),healthyLinks=transport and transport.healthyLinks or 0,lastError=M.status().lastError,}local result,err=cloud.call(\"dashboard\",\"/v1/telemetry/ingest\",snapshot)return result~=nil,err end local function syncAuth()if profile.is(\"auth-server\")then local auth=require(\"ceetos.lib.auth\")local snapshot=auth.authoritySnapshot()local pushed,pushErr=cloud.call(\"auth\",\"/v1/auth/replica/merge\",{snapshot=snapshot,source=\"mesh\"})if not pushed then return false,pushErr end if type(pushed.snapshot)==\"table\"then auth.merge(pushed.snapshot,true)end local ok,authErr=cloudAuthority(pushed)if not ok then return false,authErr end return true end local result,err=cloud.call(\"auth\",\"/v1/auth/directory\",{})if not result then return false,err end local ok,authErr=cloudAuthority(result)if not ok then return false,authErr end return true end local function syncRecipes()if not profile.is(\"recipe-server\")then local result,err=cloud.call(\"recipe\",\"/v1/recipe/status\",{})return result~=nil,err end local service=require(RECIPE_SERVICE_MODULE)if type(service.exportOverlay)~=\"function\"then return false,\"recipe export unavailable\"end local payload,exportErr=service.exportOverlay()if not payload then return false,exportErr end local result,err=cloud.call(\"recipe\",\"/v1/recipe/replica/merge\",{overlay=payload})return result~=nil,err end function M.tick(activity)local cfg=cloud.publicStatus();if not cfg.enabled or not cfg.enrolled then return false,\"cloud node is not enrolled\"end local value,timestamp=state(),now()local changed=false if timestamp>=(tonumber(value.auth.next)or 0)then local ok,err=syncAuth();value.auth.online,value.auth.next=ok==true,timestamp+INTERVALS.authority if not ok then errorState(value,err)else value.lastError=nil end changed=true end if timestamp>=(tonumber(value.recipe.next)or 0)then local ok,err=syncRecipes();value.recipe.online,value.recipe.next=ok==true,timestamp+INTERVALS.recipes if not ok then errorState(value,err)end changed=true end if timestamp>=(tonumber(value.telemetry.next)or 0)then local ok,err=telemetry(activity or\"desktop\");value.telemetry.next=timestamp+INTERVALS.telemetry if not ok then errorState(value,err)end changed=true end if changed then value.lastSync=timestamp;save(value)end return true end return M",
  ["ceetos/lib/version.lua"] = "return{major=0,minor=16,patch=0,string=\"0.16.0\"}",
  ["ceetos/lib/crafting.lua"] = "local M={}M.RECIPE_PACK_MAX_BYTES=64*1024 function M.isLocalPeer(peer,computerId)return tostring(peer)==tostring(computerId)end function M.normalise(rows)local out={}for _,row in pairs(type(rows)==\"table\"and rows or{})do if type(row)==\"table\"then local name,count=row.name or row.id,tonumber(row.count or row.amount or row.quantity or 0)or 0 if type(name)==\"string\"and count>0 then out[name]=(out[name]or 0)+math.floor(count)end end end return out end function M.rows(stock,query,filter,recipes)local output,needle,available={},tostring(query or\"\"):lower(),M.normalise(stock)local names={}for name in pairs(available)do names[name]=true end for name in pairs(type(recipes)==\"table\"and recipes or{})do names[name]=true end for name in pairs(names)do local count=available[name]or 0 local craftable=type(recipes)==\"table\"and recipes[name]~=nil local include=needle==\"\"or name:lower():find(needle,1,true)if filter==\"craftable\"then include=include and craftable elseif filter==\"stocked\"then include=include and count>0 end if include then output[#output+1]={name=name,count=count,craftable=craftable,stocked=count>0}end end table.sort(output,function(a,b)return a.name<b.name end)return output end function M.addToCart(cart,name,count)if type(cart)~=\"table\"or type(name)~=\"string\"or name==\"\"then return nil,\"invalid cart item\"end count=tonumber(count)if not count or count<1 then return nil,\"invalid cart quantity\"end count=math.floor(count)for _,row in ipairs(cart)do if row.name==name then row.count=(tonumber(row.count)or 0)+count;return row end end local row={name=name,count=count}cart[#cart+1]=row return row end function M.cartTotals(cart)local items,quantity=0,0 for _,row in ipairs(type(cart)==\"table\"and cart or{})do items=items+1 quantity=quantity+math.max(0,math.floor(tonumber(row.count)or 0))end return items,quantity end function M.acceptedCount(result,requested)local accepted=tonumber(result)requested=tonumber(requested)if not accepted or not requested or requested<1 then return nil,\"invalid request result\"end accepted=math.floor(accepted)if accepted<1 then return nil,\"Stock Ticker accepted no items\"end return math.min(accepted,math.floor(requested))end function M.displayRow(name,count,width)local suffix=\" x\"..tostring(count)width=math.max(#suffix+1,math.floor(tonumber(width)or#suffix+1))if#name+#suffix<=width then return name..suffix end return name:sub(1,math.max(1,width-#suffix-1))..\"…\"..suffix end function M.cancellationStatus(issued)return issued and\"cancelled-unconfirmed\"or\"cancelled\"end local function validReference(name)return type(name)==\"string\"and name:match(\"^#?[%w_.:%-]+$\")~=nil and not name:find(\"##\",1,true)end local function recipeIngredients(recipe,batches)local combined={}local declared=type(recipe.ingredients)==\"table\"and#recipe.ingredients>0 if declared then for _,ingredient in ipairs(recipe.ingredients)do local name=type(ingredient)==\"table\"and ingredient.id or ingredient local count=type(ingredient)==\"table\"and tonumber(ingredient.count or 1)or 1 if validReference(name)then combined[name]=(combined[name]or 0)+batches*math.max(1,math.floor(count or 1))end end else for slot=1,9 do local name=recipe.grid and recipe.grid[slot]if name and name~=false then combined[name]=(combined[name]or 0)+batches end end end local out={}for name,count in pairs(combined)do out[#out+1]={name=name,count=count}end table.sort(out,function(a,b)return a.name<b.name end)return out end function M.recipeInputs(recipe,batches)return recipeIngredients(recipe or{},math.max(1,math.floor(tonumber(batches)or 1)))end function M.validateRecipes(recipes)if type(recipes)~=\"table\"then return nil,\"recipes must return a table\"end for name,recipe in pairs(recipes)do if type(name)~=\"string\"or not name:match(\"^[%w_.:%-]+$\")or type(recipe)~=\"table\"then return nil,\"invalid recipe item id\"end if type(recipe.alternatives)==\"table\"then if#recipe.alternatives<1 then return nil,\"recipe \"..name..\" has no alternatives\"end for _,alternative in ipairs(recipe.alternatives)do local valid,err=M.validateRecipes({[name]=alternative});if not valid then return nil,err end end else if recipe.mode~=\"crafting\"then return nil,\"recipe \"..name..\" must use mode = crafting\"end if type(recipe.address)~=\"string\"or recipe.address==\"\"or#recipe.address>64 then return nil,\"recipe \"..name..\" requires an address\"end local crafter=recipe.address==\"Crafter\"if crafter and type(recipe.grid)~=\"table\"then return nil,\"recipe \"..name..\" requires a 9-slot grid for Crafter\"end if not crafter and type(recipe.ingredients)~=\"table\"and type(recipe.grid)~=\"table\"then return nil,\"recipe \"..name..\" requires ingredients\"end local output=tonumber(recipe.output or 1)if not output or output<1 or output~=math.floor(output)then return nil,\"invalid output for \"..name end for slot=1,9 do local value=recipe.grid and recipe.grid[slot]if value~=nil and value~=false and not validReference(value)then return nil,\"invalid grid slot in \"..name end end for _,ingredient in ipairs(type(recipe.ingredients)==\"table\"and recipe.ingredients or{})do local id,count=type(ingredient)==\"table\"and ingredient.id or ingredient,type(ingredient)==\"table\"and ingredient.count or 1 if not validReference(id)or not tonumber(count)or tonumber(count)<1 then return nil,\"invalid ingredient in \"..name end end end end return recipes end local function dataParser(source,maximum)if type(source)~=\"string\"then return nil,\"recipe data must be text\"end if#source==0 or#source>(maximum or M.RECIPE_PACK_MAX_BYTES)then return nil,\"recipe data exceeds the 64 KiB import limit\"end local state={source=source,index=1,length=#source,depth=0,nodes=0}local function skip()while state.index<=state.length do local char=state.source:sub(state.index,state.index)if char:match(\"%s\")then state.index=state.index+1 elseif state.source:sub(state.index,state.index+1)==\"--\"then local ending=state.source:find(\"\\n\",state.index+2,true)state.index=ending and ending+1 or state.length+1 else return true end end return true end local function fail(message)return nil,message..\" near byte \"..tostring(state.index)end local function identifier()local name=state.source:match(\"^[%a_][%w_]*\",state.index)if name then state.index=state.index+#name end return name end local parseValue local function parseString()local quote=state.source:sub(state.index,state.index);state.index=state.index+1 local out={}while state.index<=state.length do local char=state.source:sub(state.index,state.index);state.index=state.index+1 if char==quote then return table.concat(out)end if char==\"\\\\\"then local escaped=state.source:sub(state.index,state.index);state.index=state.index+1 local values={n=\"\\n\",r=\"\\r\",t=\"\\t\",[\"\\\\\"]=\"\\\\\",[\"\\\"\"]=\"\\\"\",[\"'\"]=\"'\"}if not values[escaped]then return fail(\"unsupported string escape\")end out[#out+1]=values[escaped]elseif char:byte()<32 then return fail(\"control character in string\")else out[#out+1]=char end end return fail(\"unterminated string\")end local function parseTable()state.depth=state.depth+1 if state.depth>32 then return fail(\"recipe data is nested too deeply\")end state.index=state.index+1 local out,nextIndex,keys={},1,{}skip()while state.index<=state.length and state.source:sub(state.index,state.index)~=\"}\"do state.nodes=state.nodes+1 if state.nodes>4096 then return fail(\"recipe data has too many values\")end local key,value,err local start=state.index if state.source:sub(state.index,state.index)==\"[\"then state.index=state.index+1;key,err=parseValue();if err then return nil,err end skip();if state.source:sub(state.index,state.index)~=\"]\"then return fail(\"missing closing recipe key bracket\")end state.index=state.index+1;skip();if state.source:sub(state.index,state.index)~=\"=\"then return fail(\"missing recipe key assignment\")end state.index=state.index+1;skip();value,err=parseValue();if err then return nil,err end else local named=identifier();skip()if named and state.source:sub(state.index,state.index)==\"=\"then key,state.index=named,state.index+1;skip();value,err=parseValue();if err then return nil,err end else state.index=start;value,err=parseValue();if err then return nil,err end key,nextIndex=nextIndex,nextIndex+1 end end if type(key)~=\"string\"and type(key)~=\"number\"then return fail(\"recipe table key must be text or a number\")end local signature=type(key)..\":\"..tostring(key)if keys[signature]then return fail(\"duplicate recipe table key\")end keys[signature],out[key]=true,value skip();local separator=state.source:sub(state.index,state.index)if separator==\",\"or separator==\";\"then state.index=state.index+1;skip()elseif separator~=\"}\"then return fail(\"expected recipe table separator\")end end if state.source:sub(state.index,state.index)~=\"}\"then return fail(\"unterminated recipe table\")end state.index,state.depth=state.index+1,state.depth-1 return out end parseValue=function()skip();local char=state.source:sub(state.index,state.index)if char==\"{\"then return parseTable()end if char==\"\\\"\"or char==\"'\"then return parseString()end local number=state.source:match(\"^-?%d+\",state.index)if number then state.index=state.index+#number;return tonumber(number)end local name=identifier()if name==\"true\"then return true elseif name==\"false\"then return false elseif name==\"nil\"then return nil elseif name then return fail(\"bare recipe values are not allowed\")end return fail(\"invalid recipe value\")end skip()if identifier()~=\"return\"then return fail(\"recipe data must start with return\")end local value,err=parseValue();if err then return nil,err end skip();if state.index<=state.length then return fail(\"unexpected content after recipe table\")end return value end local function validTags(tags)if tags==nil then return{}end if type(tags)~=\"table\"then return nil,\"recipe tags must be a table\"end local out={}for tag,members in pairs(tags)do local key=tostring(tag):gsub(\"^#\",\"\")if not key:match(\"^[%w_.:%-]+$\")or type(members)~=\"table\"or#members<1 then return nil,\"invalid recipe tag \"..tostring(tag)end out[key]={}for _,member in ipairs(members)do if not validReference(member)or tostring(member):sub(1,1)==\"#\"then return nil,\"invalid member of #\"..key end out[key][#out[key]+1]=member end table.sort(out[key])end return out end function M.validateRecipeGraph(recipes,tags)local tagMap,tagErr=validTags(tags);if not tagMap then return nil,tagErr end local visiting,complete={},{}local function visit(name)if complete[name]then return true end if visiting[name]then return nil,\"recipe cycle at \"..name end local recipe=recipes[name]if type(recipe)==\"table\"and type(recipe.alternatives)==\"table\"then recipe=recipe.alternatives[1]end if not recipe then return true end visiting[name]=true for _,input in ipairs(recipeIngredients(recipe,1))do local ingredient=input.name local members=ingredient:sub(1,1)==\"#\"and tagMap[ingredient:sub(2)]or{ingredient}for _,member in ipairs(members or{})do if recipes[member]then local ok,err=visit(member);if not ok then return nil,err end end end end visiting[name],complete[name]=nil,true return true end for name in pairs(recipes)do local ok,err=visit(name);if not ok then return nil,err end end return true end function M.parseRecipeOverlay(source)local value,err=dataParser(source,M.RECIPE_PACK_MAX_BYTES)if not value then return nil,err end if type(value)~=\"table\"then return nil,\"recipe overlay must return a table\"end local recipes,tags if value.schema==1 and type(value.recipes)==\"table\"then recipes,tags=value.recipes,value.tags or{}else recipes,tags=value,{}end local valid,validationErr=M.validateRecipes(recipes)if not valid then return nil,validationErr end local tagMap,tagsErr=validTags(tags);if not tagMap then return nil,tagsErr end local graphOk,graphErr=M.validateRecipeGraph(recipes,tagMap)if not graphOk then return nil,graphErr end return{schema=1,recipes=recipes,tags=tagMap}end function M.parseRecipeFile(source)local overlay,err=M.parseRecipeOverlay(source)return overlay and overlay.recipes or nil,err end function M.parseRecipePack(source)local pack,err=dataParser(source,M.RECIPE_PACK_MAX_BYTES)if not pack then return nil,err end if type(pack)~=\"table\"or pack.schema~=1 or type(pack.recipes)~=\"table\"then return nil,\"recipe pack must return { schema = 1, recipes = { ... } }\"end local valid,validationErr=M.validateRecipes(pack.recipes)if not valid then return nil,validationErr end local tagMap,tagsErr=validTags(pack.tags or{});if not tagMap then return nil,tagsErr end local graphOk,graphErr=M.validateRecipeGraph(pack.recipes,tagMap)if not graphOk then return nil,graphErr end return{schema=1,recipes=pack.recipes,tags=tagMap}end function M.recipeEqual(left,right)if type(left)~=\"table\"or type(right)~=\"table\"then return false end if type(left.alternatives)==\"table\"then left=left.alternatives[1]end if type(right.alternatives)==\"table\"then right=right.alternatives[1]end if not left or not right or left.mode~=right.mode or left.kind~=right.kind or left.output~=right.output or left.address~=right.address then return false end for slot=1,9 do if left.grid and right.grid and left.grid[slot]~=right.grid[slot]then return false end end local a,b=recipeIngredients(left,1),recipeIngredients(right,1)if#a~=#b then return false end for index=1,#a do if a[index].name~=b[index].name or a[index].count~=b[index].count then return false end end return true end function M.reviewRecipePack(existing,incoming)local validExisting,existingErr=M.validateRecipes(existing)if not validExisting then return nil,existingErr end local validIncoming,incomingErr=M.validateRecipes(incoming)if not validIncoming then return nil,incomingErr end local rows,counts={},{new=0,unchanged=0,conflict=0,invalid=0}for name,recipe in pairs(incoming)do local prior=existing[name]local status=not prior and\"new\"or(M.recipeEqual(prior,recipe)and\"unchanged\"or\"conflict\")counts[status]=counts[status]+1 rows[#rows+1]={name=name,status=status,incoming=recipe,existing=prior,selected=status==\"new\"}end table.sort(rows,function(a,b)return a.name<b.name end)return{rows=rows,counts=counts}end local function cloneRecipe(recipe)if type(recipe)==\"table\"and type(recipe.alternatives)==\"table\"then recipe=recipe.alternatives[1]end local copy={mode=recipe.mode,kind=recipe.kind,output=recipe.output,address=recipe.address,grid={},ingredients={}}for slot=1,9 do copy.grid[slot]=recipe.grid and recipe.grid[slot]end for _,input in ipairs(recipe.ingredients or{})do copy.ingredients[#copy.ingredients+1]={id=input.id,count=input.count,tag=input.tag}end return copy end function M.mergeRecipePack(existing,review,existingTags,incomingTags)if type(existing)~=\"table\"or type(review)~=\"table\"or type(review.rows)~=\"table\"then return nil,\"invalid recipe import review\"end local merged,imported={},0 for name,recipe in pairs(existing)do merged[name]=cloneRecipe(recipe)end for _,row in ipairs(review.rows)do if row.status==\"new\"and row.selected==true then merged[row.name],imported=cloneRecipe(row.incoming),imported+1 elseif row.status==\"conflict\"and row.selected==true then merged[row.name],imported=cloneRecipe(row.incoming),imported+1 end end local tags={}for name,members in pairs(existingTags or{})do tags[name]=members end for name,members in pairs(incomingTags or{})do tags[name]=members end local valid,err=M.validateRecipes(merged);if not valid then return nil,err end local graphOk,graphErr=M.validateRecipeGraph(merged,tags);if not graphOk then return nil,graphErr end return merged,imported,tags end function M.encodeRecipeFile(recipes,tags)local valid,err=M.validateRecipes(recipes);if not valid then return nil,err end local tagMap,tagsErr=validTags(tags or{});if not tagMap then return nil,tagsErr end local graphOk,graphErr=M.validateRecipeGraph(recipes,tagMap);if not graphOk then return nil,graphErr end local ok,encoded=pcall(textutils.serialise,{schema=1,recipes=recipes,tags=tagMap},{compact=true})if not ok or type(encoded)~=\"string\"then return nil,\"could not serialise recipes\"end return\"return \"..encoded..\"\\n\"end function M.writeRecipeFile(path,recipes,tags)if type(path)~=\"string\"or path==\"\"then return false,\"invalid recipe file path\"end local raw,encodeErr=M.encodeRecipeFile(recipes,tags);if not raw then return false,encodeErr end local parent=fs.getDir(path);if parent~=\"\"and not fs.exists(parent)then fs.makeDir(parent)end local temporary,backup=path..\".new\",path..\".bak\"if fs.exists(temporary)then fs.delete(temporary)end local handle=fs.open(temporary,\"w\");if not handle then return false,\"could not stage recipes\"end handle.write(raw);handle.close()local check=fs.open(temporary,\"r\");local staged=check and check.readAll()or nil;if check then check.close()end if not M.parseRecipeOverlay(staged or\"\")then if fs.exists(temporary)then fs.delete(temporary)end;return false,\"could not validate staged recipes\"end if fs.exists(backup)then fs.delete(backup)end if fs.exists(path)then fs.move(path,backup)end local moved,moveErr=pcall(fs.move,temporary,path)if not moved then if fs.exists(backup)and not fs.exists(path)then fs.move(backup,path)end;if fs.exists(temporary)then fs.delete(temporary)end;return false,tostring(moveErr)end if fs.exists(backup)then fs.delete(backup)end return true end local function selectedRecipe(entry)if type(entry)==\"table\"and type(entry.alternatives)==\"table\"then return entry.alternatives[1]end return entry end local function tagMembers(tags,reference)if reference:sub(1,1)~=\"#\"then return{reference}end local members=tags[reference:sub(2)]if type(members)~=\"table\"or#members==0 then return nil,\"no known members for \"..reference end return members end local function chooseMember(reference,tags,available,recipes)local members,err=tagMembers(tags,reference);if not members then return nil,err end local best for _,member in ipairs(members)do if(available[member]or 0)>0 then return member end if recipes[member]and not best then best=member end end return best,best and nil or(\"no stocked or craftable member for \"..reference)end function M.plan(recipes,stock,item,quantity,options)quantity=tonumber(quantity)if type(item)~=\"string\"or item==\"\"or not quantity or quantity<1 or quantity~=math.floor(quantity)then return nil,\"invalid item or quantity\"end local valid,errorText=M.validateRecipes(recipes)if not valid then return nil,errorText end options=type(options)==\"table\"and options or{}local available,plan,visiting,tags=M.normalise(stock),{},{},type(options.tags)==\"table\"and options.tags or{}local function requireItem(name,needed)local used=options.forceRoot==true and name==item and 0 or math.min(available[name]or 0,needed)available[name]=(available[name]or 0)-used local missing=needed-used if missing<=0 then return true end if visiting[name]then return nil,\"recipe cycle at \"..name end local recipe=selectedRecipe(recipes[name])if not recipe then return nil,\"missing recipe for \"..name..\" (need \"..tostring(missing)..\")\"end if recipe.special or not recipe.output or not recipe.address then return nil,\"recipe \"..name..\" is not supported by Crafting Queue\"end visiting[name]=true local batches=math.ceil(missing/recipe.output)local inputs={}for _,ingredient in ipairs(recipeIngredients(recipe,batches))do local concrete,resolveErr=chooseMember(ingredient.name,tags,available,recipes)if not concrete then return nil,resolveErr end inputs[#inputs+1]={name=concrete,count=ingredient.count,source=ingredient.name,tag=ingredient.name:sub(1,1)==\"#\"and ingredient.name or nil}local ok,err=requireItem(concrete,ingredient.count)if not ok then return nil,err end end visiting[name]=nil local produced=batches*recipe.output available[name]=(available[name]or 0)+produced-missing local dispatch=recipe.address==\"Crafter\"and\"requester\"or\"package\"if dispatch==\"requester\"and type(recipe.grid)~=\"table\"then return nil,\"Crafter recipe \"..name..\" has no 3x3 grid\"end plan[#plan+1]={name=name,batches=batches,produced=produced,requested=missing,address=recipe.address,kind=recipe.kind,dispatch=dispatch,grid=recipe.grid,inputs=inputs,}return true end local ok,err=requireItem(item,quantity)return ok and plan or nil,err end function M.validateExecutionPlan(plan)if type(plan)~=\"table\"or#plan<1 or#plan>96 then return nil,\"invalid remote recipe plan\"end for _,step in ipairs(plan)do if type(step)~=\"table\"or not validReference(step.name)or tostring(step.name):sub(1,1)==\"#\"then return nil,\"invalid remote recipe output\"end if type(step.address)~=\"string\"or step.address==\"\"or#step.address>64 or step.address:find(\"[%c]\")then return nil,\"invalid remote recipe address\"end if step.dispatch~=\"requester\"and step.dispatch~=\"package\"then return nil,\"invalid remote recipe route\"end if(step.address==\"Crafter\")~=(step.dispatch==\"requester\")then return nil,\"invalid remote recipe executor\"end for _,field in ipairs({\"batches\",\"produced\",\"requested\"})do local value=tonumber(step[field])if not value or value<1 or value~=math.floor(value)or value>65536 then return nil,\"invalid remote recipe quantity\"end end if step.dispatch==\"requester\"then if type(step.grid)~=\"table\"then return nil,\"remote Crafter recipe has no grid\"end for slot=1,9 do local value=step.grid[slot]if value~=nil and value~=false and not validReference(value)then return nil,\"invalid remote recipe grid\"end end end if type(step.inputs)~=\"table\"or#step.inputs>64 then return nil,\"invalid remote recipe inputs\"end for _,input in ipairs(step.inputs)do if type(input)~=\"table\"or not validReference(input.name)or tostring(input.name):sub(1,1)==\"#\"then return nil,\"invalid remote recipe input\"end local count=tonumber(input.count)if not count or count<1 or count~=math.floor(count)or count>65536 then return nil,\"invalid remote recipe input quantity\"end if input.source~=nil and not validReference(input.source)then return nil,\"invalid remote recipe input source\"end end end return plan end return M",
  ["ceetos/lib/recipe_db.lua"] = "local M={}local BASE=\"/ceetos/recipes/vanilla-recipes-1.21.1-\"local ITEMS=\"/ceetos/recipes/vanilla-items-1.21.1.lua\"local TAGS=\"/ceetos/recipes/vanilla-tags-1.21.1.lua\"local function installed(path)if fs.exists(path)then return path end return\"/ceetos/ceetos/\"..path:sub(#\"/ceetos/\"+1)end local function loadTrusted(path,message)local loader,err=loadfile(installed(path))if not loader then return nil,message..\": \"..tostring(err)end local ok,value=pcall(loader)if not ok or type(value)~=\"table\"or value.schema~=1 then return nil,message end return value end local function trustedBase()local itemData,itemErr=loadTrusted(ITEMS,\"vanilla recipe items are unavailable\")if not itemData or type(itemData.items)~=\"table\"then return nil,itemErr or\"vanilla recipe items are corrupt\"end local combined for index=1,8 do local value,err=loadTrusted(BASE..tostring(index)..\".lua\",\"vanilla recipe base is unavailable\")if not value or type(value.recipes)~=\"table\"then return nil,err or\"vanilla recipe base is corrupt\"end combined=combined or{schema=1,minecraft=value.minecraft,items=itemData.items,recipes={},counts=value.counts}for id,row in pairs(value.recipes)do combined.recipes[id]=row end end local tags,err=loadTrusted(TAGS,\"vanilla item tags are unavailable\")if not tags or type(tags.tags)~=\"table\"then return nil,err or\"vanilla item tags are corrupt\"end combined.tags=tags.tags return combined end local function reference(db,value)value=tonumber(value)if not value or value==0 then return false end local name=db.items[math.abs(value)]if not name then return false end return value<0 and(\"#\"..name)or name end local function normaliseIngredients(db,rows)local ingredients={}for _,row in ipairs(rows or{})do local id=reference(db,row[1])if id then if row[3]==true and id:sub(1,1)~=\"#\"then id=\"#\"..id end ingredients[#ingredients+1]={id=id,count=tonumber(row[2])or 1,tag=id:sub(1,1)==\"#\"}end end return ingredients end local function shapelessGrid(ingredients)local grid,slot={},1 for _,ingredient in ipairs(ingredients)do for _=1,math.max(1,math.floor(tonumber(ingredient.count)or 1))do if slot>9 then return nil end grid[slot],slot=ingredient.id,slot+1 end end return grid end function M.loadBase()local db,err=trustedBase();if not db then return nil,err end local out={}for id,row in pairs(db.recipes)do local output=db.items[row.output]if output and not row.special then local recipe={id=id,mode=row.mode,kind=row.kind,output=row.count,address=row.address,grid={},ingredients={},metadata=row.metadata,special=row.special}for slot,value in pairs(row.grid or{})do recipe.grid[slot]=reference(db,value)end recipe.ingredients=normaliseIngredients(db,row.ingredients)if recipe.kind==\"crafting_shapeless\"and recipe.address==\"Crafter\"and next(recipe.grid)==nil then recipe.grid=shapelessGrid(recipe.ingredients)or{}end local entry=out[output]or{alternatives={}};out[output]=entry entry.alternatives[#entry.alternatives+1]=recipe end end for _,entry in pairs(out)do table.sort(entry.alternatives,function(a,b)return a.id<b.id end)end return out,db end function M.mergeOverlay(base,overlay)local merged={}for name,entry in pairs(base or{})do merged[name]=entry end for name,recipe in pairs(overlay or{})do merged[name]=recipe end return merged end function M.mergeTags(base,overlay)local merged={}for name,members in pairs(base or{})do merged[name]=members end for name,members in pairs(overlay or{})do merged[name]=members end return merged end return M",
  ["ceetos/recipes/vanilla-items-1.21.1.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"items\"]={[1]=\"minecraft:acacia_boat\",[2]=\"minecraft:acacia_planks\",[3]=\"minecraft:acacia_button\",[4]=\"minecraft:acacia_chest_boat\",[5]=\"minecraft:chest\",[6]=\"minecraft:acacia_door\",[7]=\"minecraft:acacia_fence\",[8]=\"minecraft:stick\",[9]=\"minecraft:acacia_fence_gate\",[10]=\"minecraft:acacia_hanging_sign\",[11]=\"minecraft:chain\",[12]=\"minecraft:stripped_acacia_log\",[13]=\"minecraft:acacia_logs\",[14]=\"minecraft:acacia_pressure_plate\",[15]=\"minecraft:acacia_sign\",[16]=\"minecraft:acacia_slab\",[17]=\"minecraft:acacia_stairs\",[18]=\"minecraft:acacia_trapdoor\",[19]=\"minecraft:acacia_wood\",[20]=\"minecraft:acacia_log\",[21]=\"minecraft:activator_rail\",[22]=\"minecraft:iron_ingot\",[23]=\"minecraft:redstone_torch\",[24]=\"minecraft:amethyst_block\",[25]=\"minecraft:amethyst_shard\",[26]=\"minecraft:andesite\",[27]=\"minecraft:diorite\",[28]=\"minecraft:cobblestone\",[29]=\"minecraft:andesite_slab\",[30]=\"minecraft:andesite_stairs\",[31]=\"minecraft:andesite_wall\",[32]=\"minecraft:anvil\",[33]=\"minecraft:iron_block\",[34]=\"minecraft:armor_stand\",[35]=\"minecraft:smooth_stone_slab\",[36]=\"minecraft:arrow\",[37]=\"minecraft:flint\",[38]=\"minecraft:feather\",[39]=\"minecraft:baked_potato\",[40]=\"minecraft:potato\",[41]=\"minecraft:bamboo_block\",[42]=\"minecraft:bamboo\",[43]=\"minecraft:bamboo_button\",[44]=\"minecraft:bamboo_planks\",[45]=\"minecraft:bamboo_chest_raft\",[46]=\"minecraft:bamboo_raft\",[47]=\"minecraft:bamboo_door\",[48]=\"minecraft:bamboo_fence\",[49]=\"minecraft:bamboo_fence_gate\",[50]=\"minecraft:bamboo_hanging_sign\",[51]=\"minecraft:stripped_bamboo_block\",[52]=\"minecraft:bamboo_mosaic\",[53]=\"minecraft:bamboo_slab\",[54]=\"minecraft:bamboo_mosaic_slab\",[55]=\"minecraft:bamboo_mosaic_stairs\",[56]=\"minecraft:bamboo_blocks\",[57]=\"minecraft:bamboo_pressure_plate\",[58]=\"minecraft:bamboo_sign\",[59]=\"minecraft:bamboo_stairs\",[60]=\"minecraft:bamboo_trapdoor\",[61]=\"minecraft:barrel\",[62]=\"minecraft:planks\",[63]=\"minecraft:wooden_slabs\",[64]=\"minecraft:beacon\",[65]=\"minecraft:glass\",[66]=\"minecraft:nether_star\",[67]=\"minecraft:obsidian\",[68]=\"minecraft:beehive\",[69]=\"minecraft:honeycomb\",[70]=\"minecraft:beetroot_soup\",[71]=\"minecraft:bowl\",[72]=\"minecraft:beetroot\",[73]=\"minecraft:birch_boat\",[74]=\"minecraft:birch_planks\",[75]=\"minecraft:birch_button\",[76]=\"minecraft:birch_chest_boat\",[77]=\"minecraft:birch_door\",[78]=\"minecraft:birch_fence\",[79]=\"minecraft:birch_fence_gate\",[80]=\"minecraft:birch_hanging_sign\",[81]=\"minecraft:stripped_birch_log\",[82]=\"minecraft:birch_logs\",[83]=\"minecraft:birch_pressure_plate\",[84]=\"minecraft:birch_sign\",[85]=\"minecraft:birch_slab\",[86]=\"minecraft:birch_stairs\",[87]=\"minecraft:birch_trapdoor\",[88]=\"minecraft:birch_wood\",[89]=\"minecraft:birch_log\",[90]=\"minecraft:black_banner\",[91]=\"minecraft:black_wool\",[92]=\"minecraft:black_bed\",[93]=\"minecraft:black_candle\",[94]=\"minecraft:candle\",[95]=\"minecraft:black_dye\",[96]=\"minecraft:black_carpet\",[97]=\"minecraft:black_concrete_powder\",[98]=\"minecraft:sand\",[99]=\"minecraft:gravel\",[100]=\"minecraft:ink_sac\",[101]=\"minecraft:wither_rose\",[102]=\"minecraft:black_glazed_terracotta\",[103]=\"minecraft:black_terracotta\",[104]=\"minecraft:black_stained_glass\",[105]=\"minecraft:black_stained_glass_pane\",[106]=\"minecraft:glass_pane\",[107]=\"minecraft:terracotta\",[108]=\"minecraft:blackstone_slab\",[109]=\"minecraft:blackstone\",[110]=\"minecraft:blackstone_stairs\",[111]=\"minecraft:blackstone_wall\",[112]=\"minecraft:blast_furnace\",[113]=\"minecraft:furnace\",[114]=\"minecraft:smooth_stone\",[115]=\"minecraft:blaze_powder\",[116]=\"minecraft:blaze_rod\",[117]=\"minecraft:blue_banner\",[118]=\"minecraft:blue_wool\",[119]=\"minecraft:blue_bed\",[120]=\"minecraft:blue_candle\",[121]=\"minecraft:blue_dye\",[122]=\"minecraft:blue_carpet\",[123]=\"minecraft:blue_concrete_powder\",[124]=\"minecraft:lapis_lazuli\",[125]=\"minecraft:cornflower\",[126]=\"minecraft:blue_glazed_terracotta\",[127]=\"minecraft:blue_terracotta\",[128]=\"minecraft:blue_ice\",[129]=\"minecraft:packed_ice\",[130]=\"minecraft:blue_stained_glass\",[131]=\"minecraft:blue_stained_glass_pane\",[132]=\"minecraft:bolt_armor_trim_smithing_template\",[133]=\"minecraft:diamond\",[134]=\"minecraft:trimmable_armor\",[135]=\"minecraft:trim_materials\",[136]=\"minecraft:bone_block\",[137]=\"minecraft:bone_meal\",[138]=\"minecraft:bone\",[139]=\"minecraft:book\",[140]=\"minecraft:paper\",[141]=\"minecraft:leather\",[142]=\"minecraft:bookshelf\",[143]=\"minecraft:bow\",[144]=\"minecraft:string\",[145]=\"minecraft:bread\",[146]=\"minecraft:wheat\",[147]=\"minecraft:brewing_stand\",[148]=\"minecraft:stone_crafting_materials\",[149]=\"minecraft:brick\",[150]=\"minecraft:clay_ball\",[151]=\"minecraft:brick_slab\",[152]=\"minecraft:bricks\",[153]=\"minecraft:brick_stairs\",[154]=\"minecraft:brick_wall\",[155]=\"minecraft:brown_banner\",[156]=\"minecraft:brown_wool\",[157]=\"minecraft:brown_bed\",[158]=\"minecraft:brown_candle\",[159]=\"minecraft:brown_dye\",[160]=\"minecraft:brown_carpet\",[161]=\"minecraft:brown_concrete_powder\",[162]=\"minecraft:cocoa_beans\",[163]=\"minecraft:brown_glazed_terracotta\",[164]=\"minecraft:brown_terracotta\",[165]=\"minecraft:brown_stained_glass\",[166]=\"minecraft:brown_stained_glass_pane\",[167]=\"minecraft:brush\",[168]=\"minecraft:copper_ingot\",[169]=\"minecraft:bucket\",[170]=\"minecraft:cake\",[171]=\"minecraft:milk_bucket\",[172]=\"minecraft:sugar\",[173]=\"minecraft:egg\",[174]=\"minecraft:calibrated_sculk_sensor\",[175]=\"minecraft:sculk_sensor\",[176]=\"minecraft:campfire\",[177]=\"minecraft:coals\",[178]=\"minecraft:logs\",[179]=\"minecraft:carrot_on_a_stick\",[180]=\"minecraft:fishing_rod\",[181]=\"minecraft:carrot\",[182]=\"minecraft:cartography_table\",[183]=\"minecraft:cauldron\",[184]=\"minecraft:iron_nugget\",[185]=\"minecraft:charcoal\",[186]=\"minecraft:logs_that_burn\",[187]=\"minecraft:cherry_boat\",[188]=\"minecraft:cherry_planks\",[189]=\"minecraft:cherry_button\",[190]=\"minecraft:cherry_chest_boat\",[191]=\"minecraft:cherry_door\",[192]=\"minecraft:cherry_fence\",[193]=\"minecraft:cherry_fence_gate\",[194]=\"minecraft:cherry_hanging_sign\",[195]=\"minecraft:stripped_cherry_log\",[196]=\"minecraft:cherry_logs\",[197]=\"minecraft:cherry_pressure_plate\",[198]=\"minecraft:cherry_sign\",[199]=\"minecraft:cherry_slab\",[200]=\"minecraft:cherry_stairs\",[201]=\"minecraft:cherry_trapdoor\",[202]=\"minecraft:cherry_wood\",[203]=\"minecraft:cherry_log\",[204]=\"minecraft:chest_minecart\",[205]=\"minecraft:minecart\",[206]=\"minecraft:chiseled_bookshelf\",[207]=\"minecraft:chiseled_copper\",[208]=\"minecraft:cut_copper_slab\",[209]=\"minecraft:copper_block\",[210]=\"minecraft:cut_copper\",[211]=\"minecraft:chiseled_deepslate\",[212]=\"minecraft:cobbled_deepslate_slab\",[213]=\"minecraft:cobbled_deepslate\",[214]=\"minecraft:chiseled_nether_bricks\",[215]=\"minecraft:nether_brick_slab\",[216]=\"minecraft:nether_bricks\",[217]=\"minecraft:chiseled_polished_blackstone\",[218]=\"minecraft:polished_blackstone_slab\",[219]=\"minecraft:polished_blackstone\",[220]=\"minecraft:chiseled_quartz_block\",[221]=\"minecraft:quartz_slab\",[222]=\"minecraft:quartz_block\",[223]=\"minecraft:chiseled_red_sandstone\",[224]=\"minecraft:red_sandstone_slab\",[225]=\"minecraft:red_sandstone\",[226]=\"minecraft:chiseled_sandstone\",[227]=\"minecraft:sandstone_slab\",[228]=\"minecraft:sandstone\",[229]=\"minecraft:chiseled_stone_bricks\",[230]=\"minecraft:stone_brick_slab\",[231]=\"minecraft:stone_bricks\",[232]=\"minecraft:stone\",[233]=\"minecraft:chiseled_tuff\",[234]=\"minecraft:tuff_slab\",[235]=\"minecraft:chiseled_tuff_bricks\",[236]=\"minecraft:tuff_brick_slab\",[237]=\"minecraft:polished_tuff\",[238]=\"minecraft:tuff_bricks\",[239]=\"minecraft:tuff\",[240]=\"minecraft:clay\",[241]=\"minecraft:clock\",[242]=\"minecraft:gold_ingot\",[243]=\"minecraft:redstone\",[244]=\"minecraft:coal\",[245]=\"minecraft:coal_block\",[246]=\"minecraft:coal_ore\",[247]=\"minecraft:deepslate_coal_ore\",[248]=\"minecraft:coarse_dirt\",[249]=\"minecraft:dirt\",[250]=\"minecraft:coast_armor_trim_smithing_template\",[251]=\"minecraft:cobbled_deepslate_stairs\",[252]=\"minecraft:cobbled_deepslate_wall\",[253]=\"minecraft:cobblestone_slab\",[254]=\"minecraft:cobblestone_stairs\",[255]=\"minecraft:cobblestone_wall\",[256]=\"minecraft:comparator\",[257]=\"minecraft:quartz\",[258]=\"minecraft:compass\",[259]=\"minecraft:composter\",[260]=\"minecraft:conduit\",[261]=\"minecraft:nautilus_shell\",[262]=\"minecraft:heart_of_the_sea\",[263]=\"minecraft:cooked_beef\",[264]=\"minecraft:beef\",[265]=\"minecraft:cooked_chicken\",[266]=\"minecraft:chicken\",[267]=\"minecraft:cooked_cod\",[268]=\"minecraft:cod\",[269]=\"minecraft:cooked_mutton\",[270]=\"minecraft:mutton\",[271]=\"minecraft:cooked_porkchop\",[272]=\"minecraft:porkchop\",[273]=\"minecraft:cooked_rabbit\",[274]=\"minecraft:rabbit\",[275]=\"minecraft:cooked_salmon\",[276]=\"minecraft:salmon\",[277]=\"minecraft:cookie\",[278]=\"minecraft:copper_bulb\",[279]=\"minecraft:copper_door\",[280]=\"minecraft:copper_grate\",[281]=\"minecraft:copper_ore\",[282]=\"minecraft:deepslate_copper_ore\",[283]=\"minecraft:raw_copper\",[284]=\"minecraft:waxed_copper_block\",[285]=\"minecraft:copper_trapdoor\",[286]=\"minecraft:cracked_deepslate_bricks\",[287]=\"minecraft:deepslate_bricks\",[288]=\"minecraft:cracked_deepslate_tiles\",[289]=\"minecraft:deepslate_tiles\",[290]=\"minecraft:cracked_nether_bricks\",[291]=\"minecraft:cracked_polished_blackstone_bricks\",[292]=\"minecraft:polished_blackstone_bricks\",[293]=\"minecraft:cracked_stone_bricks\",[294]=\"minecraft:crafter\",[295]=\"minecraft:crafting_table\",[296]=\"minecraft:dropper\",[297]=\"minecraft:creeper_banner_pattern\",[298]=\"minecraft:creeper_head\",[299]=\"minecraft:crimson_button\",[300]=\"minecraft:crimson_planks\",[301]=\"minecraft:crimson_door\",[302]=\"minecraft:crimson_fence\",[303]=\"minecraft:crimson_fence_gate\",[304]=\"minecraft:crimson_hanging_sign\",[305]=\"minecraft:stripped_crimson_stem\",[306]=\"minecraft:crimson_hyphae\",[307]=\"minecraft:crimson_stem\",[308]=\"minecraft:crimson_stems\",[309]=\"minecraft:crimson_pressure_plate\",[310]=\"minecraft:crimson_sign\",[311]=\"minecraft:crimson_slab\",[312]=\"minecraft:crimson_stairs\",[313]=\"minecraft:crimson_trapdoor\",[314]=\"minecraft:crossbow\",[315]=\"minecraft:tripwire_hook\",[316]=\"minecraft:cut_copper_stairs\",[317]=\"minecraft:cut_red_sandstone\",[318]=\"minecraft:cut_red_sandstone_slab\",[319]=\"minecraft:cut_sandstone\",[320]=\"minecraft:cut_sandstone_slab\",[321]=\"minecraft:cyan_banner\",[322]=\"minecraft:cyan_wool\",[323]=\"minecraft:cyan_bed\",[324]=\"minecraft:cyan_candle\",[325]=\"minecraft:cyan_dye\",[326]=\"minecraft:cyan_carpet\",[327]=\"minecraft:cyan_concrete_powder\",[328]=\"minecraft:green_dye\",[329]=\"minecraft:pitcher_plant\",[330]=\"minecraft:cyan_glazed_terracotta\",[331]=\"minecraft:cyan_terracotta\",[332]=\"minecraft:cyan_stained_glass\",[333]=\"minecraft:cyan_stained_glass_pane\",[334]=\"minecraft:dark_oak_boat\",[335]=\"minecraft:dark_oak_planks\",[336]=\"minecraft:dark_oak_button\",[337]=\"minecraft:dark_oak_chest_boat\",[338]=\"minecraft:dark_oak_door\",[339]=\"minecraft:dark_oak_fence\",[340]=\"minecraft:dark_oak_fence_gate\",[341]=\"minecraft:dark_oak_hanging_sign\",[342]=\"minecraft:stripped_dark_oak_log\",[343]=\"minecraft:dark_oak_logs\",[344]=\"minecraft:dark_oak_pressure_plate\",[345]=\"minecraft:dark_oak_sign\",[346]=\"minecraft:dark_oak_slab\",[347]=\"minecraft:dark_oak_stairs\",[348]=\"minecraft:dark_oak_trapdoor\",[349]=\"minecraft:dark_oak_wood\",[350]=\"minecraft:dark_oak_log\",[351]=\"minecraft:dark_prismarine\",[352]=\"minecraft:prismarine_shard\",[353]=\"minecraft:dark_prismarine_slab\",[354]=\"minecraft:dark_prismarine_stairs\",[355]=\"minecraft:daylight_detector\",[356]=\"minecraft:decorated_pot\",[357]=\"minecraft:deepslate\",[358]=\"minecraft:deepslate_brick_slab\",[359]=\"minecraft:polished_deepslate\",[360]=\"minecraft:deepslate_brick_stairs\",[361]=\"minecraft:deepslate_brick_wall\",[362]=\"minecraft:deepslate_tile_slab\",[363]=\"minecraft:deepslate_tile_stairs\",[364]=\"minecraft:deepslate_tile_wall\",[365]=\"minecraft:detector_rail\",[366]=\"minecraft:stone_pressure_plate\",[367]=\"minecraft:diamond_block\",[368]=\"minecraft:diamond_axe\",[369]=\"minecraft:diamond_boots\",[370]=\"minecraft:diamond_chestplate\",[371]=\"minecraft:deepslate_diamond_ore\",[372]=\"minecraft:diamond_ore\",[373]=\"minecraft:diamond_helmet\",[374]=\"minecraft:diamond_hoe\",[375]=\"minecraft:diamond_leggings\",[376]=\"minecraft:diamond_pickaxe\",[377]=\"minecraft:diamond_shovel\",[378]=\"minecraft:diamond_sword\",[379]=\"minecraft:diorite_slab\",[380]=\"minecraft:diorite_stairs\",[381]=\"minecraft:diorite_wall\",[382]=\"minecraft:dispenser\",[383]=\"minecraft:dried_kelp\",[384]=\"minecraft:dried_kelp_block\",[385]=\"minecraft:kelp\",[386]=\"minecraft:dripstone_block\",[387]=\"minecraft:pointed_dripstone\",[388]=\"minecraft:dune_armor_trim_smithing_template\",[389]=\"minecraft:gray_bed\",[390]=\"minecraft:gray_dye\",[391]=\"minecraft:gray_carpet\",[392]=\"minecraft:gray_wool\",[393]=\"minecraft:green_bed\",[394]=\"minecraft:green_carpet\",[395]=\"minecraft:green_wool\",[396]=\"minecraft:light_blue_bed\",[397]=\"minecraft:light_blue_dye\",[398]=\"minecraft:light_blue_carpet\",[399]=\"minecraft:light_blue_wool\",[400]=\"minecraft:light_gray_bed\",[401]=\"minecraft:light_gray_dye\",[402]=\"minecraft:light_gray_carpet\",[403]=\"minecraft:light_gray_wool\",[404]=\"minecraft:lime_bed\",[405]=\"minecraft:lime_dye\",[406]=\"minecraft:lime_carpet\",[407]=\"minecraft:lime_wool\",[408]=\"minecraft:magenta_bed\",[409]=\"minecraft:magenta_dye\",[410]=\"minecraft:magenta_carpet\",[411]=\"minecraft:magenta_wool\",[412]=\"minecraft:orange_bed\",[413]=\"minecraft:orange_dye\",[414]=\"minecraft:orange_carpet\",[415]=\"minecraft:orange_wool\",[416]=\"minecraft:pink_bed\",[417]=\"minecraft:pink_dye\",[418]=\"minecraft:pink_carpet\",[419]=\"minecraft:pink_wool\",[420]=\"minecraft:purple_bed\",[421]=\"minecraft:purple_dye\",[422]=\"minecraft:purple_carpet\",[423]=\"minecraft:purple_wool\",[424]=\"minecraft:red_bed\",[425]=\"minecraft:red_dye\",[426]=\"minecraft:red_carpet\",[427]=\"minecraft:red_wool\",[428]=\"minecraft:white_bed\",[429]=\"minecraft:white_dye\",[430]=\"minecraft:white_carpet\",[431]=\"minecraft:white_wool\",[432]=\"minecraft:yellow_bed\",[433]=\"minecraft:yellow_dye\",[434]=\"minecraft:yellow_carpet\",[435]=\"minecraft:yellow_wool\",[436]=\"minecraft:emerald\",[437]=\"minecraft:emerald_block\",[438]=\"minecraft:deepslate_emerald_ore\",[439]=\"minecraft:emerald_ore\",[440]=\"minecraft:enchanting_table\",[441]=\"minecraft:end_crystal\",[442]=\"minecraft:ender_eye\",[443]=\"minecraft:ghast_tear\",[444]=\"minecraft:end_rod\",[445]=\"minecraft:popped_chorus_fruit\",[446]=\"minecraft:end_stone_brick_slab\",[447]=\"minecraft:end_stone_bricks\",[448]=\"minecraft:end_stone\",[449]=\"minecraft:end_stone_brick_stairs\",[450]=\"minecraft:end_stone_brick_wall\",[451]=\"minecraft:ender_chest\",[452]=\"minecraft:ender_pearl\",[453]=\"minecraft:exposed_chiseled_copper\",[454]=\"minecraft:exposed_cut_copper_slab\",[455]=\"minecraft:exposed_copper\",[456]=\"minecraft:exposed_cut_copper\",[457]=\"minecraft:exposed_copper_bulb\",[458]=\"minecraft:exposed_copper_grate\",[459]=\"minecraft:exposed_cut_copper_stairs\",[460]=\"minecraft:eye_armor_trim_smithing_template\",[461]=\"minecraft:fermented_spider_eye\",[462]=\"minecraft:spider_eye\",[463]=\"minecraft:brown_mushroom\",[464]=\"minecraft:fire_charge\",[465]=\"minecraft:gunpowder\",[466]=\"minecraft:firework_rocket\",[467]=\"minecraft:fletching_table\",[468]=\"minecraft:flint_and_steel\",[469]=\"minecraft:flow_armor_trim_smithing_template\",[470]=\"minecraft:breeze_rod\",[471]=\"minecraft:flower_banner_pattern\",[472]=\"minecraft:oxeye_daisy\",[473]=\"minecraft:flower_pot\",[474]=\"minecraft:furnace_minecart\",[475]=\"minecraft:smelts_to_glass\",[476]=\"minecraft:glass_bottle\",[477]=\"minecraft:glistering_melon_slice\",[478]=\"minecraft:gold_nugget\",[479]=\"minecraft:melon_slice\",[480]=\"minecraft:glow_item_frame\",[481]=\"minecraft:item_frame\",[482]=\"minecraft:glow_ink_sac\",[483]=\"minecraft:glowstone\",[484]=\"minecraft:glowstone_dust\",[485]=\"minecraft:gold_block\",[486]=\"minecraft:deepslate_gold_ore\",[487]=\"minecraft:gold_ore\",[488]=\"minecraft:nether_gold_ore\",[489]=\"minecraft:raw_gold\",[490]=\"minecraft:golden_apple\",[491]=\"minecraft:apple\",[492]=\"minecraft:golden_axe\",[493]=\"minecraft:golden_boots\",[494]=\"minecraft:golden_carrot\",[495]=\"minecraft:golden_chestplate\",[496]=\"minecraft:golden_helmet\",[497]=\"minecraft:golden_hoe\",[498]=\"minecraft:golden_leggings\",[499]=\"minecraft:golden_pickaxe\",[500]=\"minecraft:golden_shovel\",[501]=\"minecraft:golden_sword\",[502]=\"minecraft:granite\",[503]=\"minecraft:granite_slab\",[504]=\"minecraft:granite_stairs\",[505]=\"minecraft:granite_wall\",[506]=\"minecraft:gray_banner\",[507]=\"minecraft:gray_candle\",[508]=\"minecraft:gray_concrete_powder\",[509]=\"minecraft:gray_glazed_terracotta\",[510]=\"minecraft:gray_terracotta\",[511]=\"minecraft:gray_stained_glass\",[512]=\"minecraft:gray_stained_glass_pane\",[513]=\"minecraft:green_banner\",[514]=\"minecraft:green_candle\",[515]=\"minecraft:green_concrete_powder\",[516]=\"minecraft:cactus\",[517]=\"minecraft:green_glazed_terracotta\",[518]=\"minecraft:green_terracotta\",[519]=\"minecraft:green_stained_glass\",[520]=\"minecraft:green_stained_glass_pane\",[521]=\"minecraft:grindstone\",[522]=\"minecraft:stone_slab\",[523]=\"minecraft:hay_block\",[524]=\"minecraft:heavy_weighted_pressure_plate\",[525]=\"minecraft:honey_block\",[526]=\"minecraft:honey_bottle\",[527]=\"minecraft:honeycomb_block\",[528]=\"minecraft:hopper\",[529]=\"minecraft:hopper_minecart\",[530]=\"minecraft:host_armor_trim_smithing_template\",[531]=\"minecraft:iron_axe\",[532]=\"minecraft:iron_bars\",[533]=\"minecraft:iron_boots\",[534]=\"minecraft:iron_chestplate\",[535]=\"minecraft:iron_door\",[536]=\"minecraft:iron_helmet\",[537]=\"minecraft:iron_hoe\",[538]=\"minecraft:deepslate_iron_ore\",[539]=\"minecraft:iron_ore\",[540]=\"minecraft:raw_iron\",[541]=\"minecraft:iron_leggings\",[542]=\"minecraft:iron_pickaxe\",[543]=\"minecraft:iron_shovel\",[544]=\"minecraft:iron_sword\",[545]=\"minecraft:iron_trapdoor\",[546]=\"minecraft:jack_o_lantern\",[547]=\"minecraft:carved_pumpkin\",[548]=\"minecraft:torch\",[549]=\"minecraft:jukebox\",[550]=\"minecraft:jungle_boat\",[551]=\"minecraft:jungle_planks\",[552]=\"minecraft:jungle_button\",[553]=\"minecraft:jungle_chest_boat\",[554]=\"minecraft:jungle_door\",[555]=\"minecraft:jungle_fence\",[556]=\"minecraft:jungle_fence_gate\",[557]=\"minecraft:jungle_hanging_sign\",[558]=\"minecraft:stripped_jungle_log\",[559]=\"minecraft:jungle_logs\",[560]=\"minecraft:jungle_pressure_plate\",[561]=\"minecraft:jungle_sign\",[562]=\"minecraft:jungle_slab\",[563]=\"minecraft:jungle_stairs\",[564]=\"minecraft:jungle_trapdoor\",[565]=\"minecraft:jungle_wood\",[566]=\"minecraft:jungle_log\",[567]=\"minecraft:ladder\",[568]=\"minecraft:lantern\",[569]=\"minecraft:lapis_block\",[570]=\"minecraft:deepslate_lapis_ore\",[571]=\"minecraft:lapis_ore\",[572]=\"minecraft:lead\",[573]=\"minecraft:slime_ball\",[574]=\"minecraft:rabbit_hide\",[575]=\"minecraft:leather_boots\",[576]=\"minecraft:leather_chestplate\",[577]=\"minecraft:leather_helmet\",[578]=\"minecraft:leather_horse_armor\",[579]=\"minecraft:leather_leggings\",[580]=\"minecraft:lectern\",[581]=\"minecraft:lever\",[582]=\"minecraft:light_blue_banner\",[583]=\"minecraft:light_blue_candle\",[584]=\"minecraft:light_blue_concrete_powder\",[585]=\"minecraft:blue_orchid\",[586]=\"minecraft:light_blue_glazed_terracotta\",[587]=\"minecraft:light_blue_terracotta\",[588]=\"minecraft:light_blue_stained_glass\",[589]=\"minecraft:light_blue_stained_glass_pane\",[590]=\"minecraft:light_gray_banner\",[591]=\"minecraft:light_gray_candle\",[592]=\"minecraft:light_gray_concrete_powder\",[593]=\"minecraft:azure_bluet\",[594]=\"minecraft:white_tulip\",[595]=\"minecraft:light_gray_glazed_terracotta\",[596]=\"minecraft:light_gray_terracotta\",[597]=\"minecraft:light_gray_stained_glass\",[598]=\"minecraft:light_gray_stained_glass_pane\",[599]=\"minecraft:light_weighted_pressure_plate\",[600]=\"minecraft:lightning_rod\",[601]=\"minecraft:lime_banner\",[602]=\"minecraft:lime_candle\",[603]=\"minecraft:lime_concrete_powder\",[604]=\"minecraft:sea_pickle\",[605]=\"minecraft:lime_glazed_terracotta\",[606]=\"minecraft:lime_terracotta\",[607]=\"minecraft:lime_stained_glass\",[608]=\"minecraft:lime_stained_glass_pane\",[609]=\"minecraft:lodestone\",[610]=\"minecraft:netherite_ingot\",[611]=\"minecraft:loom\",[612]=\"minecraft:mace\",[613]=\"minecraft:heavy_core\",[614]=\"minecraft:magenta_banner\",[615]=\"minecraft:magenta_candle\",[616]=\"minecraft:magenta_concrete_powder\",[617]=\"minecraft:allium\",[618]=\"minecraft:lilac\",[619]=\"minecraft:magenta_glazed_terracotta\",[620]=\"minecraft:magenta_terracotta\",[621]=\"minecraft:magenta_stained_glass\",[622]=\"minecraft:magenta_stained_glass_pane\",[623]=\"minecraft:magma_block\",[624]=\"minecraft:magma_cream\",[625]=\"minecraft:mangrove_boat\",[626]=\"minecraft:mangrove_planks\",[627]=\"minecraft:mangrove_button\",[628]=\"minecraft:mangrove_chest_boat\",[629]=\"minecraft:mangrove_door\",[630]=\"minecraft:mangrove_fence\",[631]=\"minecraft:mangrove_fence_gate\",[632]=\"minecraft:mangrove_hanging_sign\",[633]=\"minecraft:stripped_mangrove_log\",[634]=\"minecraft:mangrove_logs\",[635]=\"minecraft:mangrove_pressure_plate\",[636]=\"minecraft:mangrove_sign\",[637]=\"minecraft:mangrove_slab\",[638]=\"minecraft:mangrove_stairs\",[639]=\"minecraft:mangrove_trapdoor\",[640]=\"minecraft:mangrove_wood\",[641]=\"minecraft:mangrove_log\",[642]=\"minecraft:map\",[643]=\"minecraft:melon\",[644]=\"minecraft:melon_seeds\",[645]=\"minecraft:mojang_banner_pattern\",[646]=\"minecraft:enchanted_golden_apple\",[647]=\"minecraft:moss_carpet\",[648]=\"minecraft:moss_block\",[649]=\"minecraft:mossy_cobblestone\",[650]=\"minecraft:vine\",[651]=\"minecraft:mossy_cobblestone_slab\",[652]=\"minecraft:mossy_cobblestone_stairs\",[653]=\"minecraft:mossy_cobblestone_wall\",[654]=\"minecraft:mossy_stone_brick_slab\",[655]=\"minecraft:mossy_stone_bricks\",[656]=\"minecraft:mossy_stone_brick_stairs\",[657]=\"minecraft:mossy_stone_brick_wall\",[658]=\"minecraft:mud_brick_slab\",[659]=\"minecraft:mud_bricks\",[660]=\"minecraft:mud_brick_stairs\",[661]=\"minecraft:mud_brick_wall\",[662]=\"minecraft:packed_mud\",[663]=\"minecraft:muddy_mangrove_roots\",[664]=\"minecraft:mud\",[665]=\"minecraft:mangrove_roots\",[666]=\"minecraft:mushroom_stew\",[667]=\"minecraft:red_mushroom\",[668]=\"minecraft:music_disc_5\",[669]=\"minecraft:disc_fragment_5\",[670]=\"minecraft:nether_brick\",[671]=\"minecraft:netherrack\",[672]=\"minecraft:nether_brick_fence\",[673]=\"minecraft:nether_brick_stairs\",[674]=\"minecraft:nether_brick_wall\",[675]=\"minecraft:nether_wart_block\",[676]=\"minecraft:nether_wart\",[677]=\"minecraft:netherite_axe\",[678]=\"minecraft:netherite_upgrade_smithing_template\",[679]=\"minecraft:netherite_block\",[680]=\"minecraft:netherite_boots\",[681]=\"minecraft:netherite_chestplate\",[682]=\"minecraft:netherite_helmet\",[683]=\"minecraft:netherite_hoe\",[684]=\"minecraft:netherite_scrap\",[685]=\"minecraft:netherite_leggings\",[686]=\"minecraft:netherite_pickaxe\",[687]=\"minecraft:ancient_debris\",[688]=\"minecraft:netherite_shovel\",[689]=\"minecraft:netherite_sword\",[690]=\"minecraft:note_block\",[691]=\"minecraft:oak_boat\",[692]=\"minecraft:oak_planks\",[693]=\"minecraft:oak_button\",[694]=\"minecraft:oak_chest_boat\",[695]=\"minecraft:oak_door\",[696]=\"minecraft:oak_fence\",[697]=\"minecraft:oak_fence_gate\",[698]=\"minecraft:oak_hanging_sign\",[699]=\"minecraft:stripped_oak_log\",[700]=\"minecraft:oak_logs\",[701]=\"minecraft:oak_pressure_plate\",[702]=\"minecraft:oak_sign\",[703]=\"minecraft:oak_slab\",[704]=\"minecraft:oak_stairs\",[705]=\"minecraft:oak_trapdoor\",[706]=\"minecraft:oak_wood\",[707]=\"minecraft:oak_log\",[708]=\"minecraft:observer\",[709]=\"minecraft:orange_banner\",[710]=\"minecraft:orange_candle\",[711]=\"minecraft:orange_concrete_powder\",[712]=\"minecraft:orange_tulip\",[713]=\"minecraft:torchflower\",[714]=\"minecraft:orange_glazed_terracotta\",[715]=\"minecraft:orange_terracotta\",[716]=\"minecraft:orange_stained_glass\",[717]=\"minecraft:orange_stained_glass_pane\",[718]=\"minecraft:oxidized_chiseled_copper\",[719]=\"minecraft:oxidized_cut_copper_slab\",[720]=\"minecraft:oxidized_copper\",[721]=\"minecraft:oxidized_cut_copper\",[722]=\"minecraft:oxidized_copper_bulb\",[723]=\"minecraft:oxidized_copper_grate\",[724]=\"minecraft:oxidized_cut_copper_stairs\",[725]=\"minecraft:ice\",[726]=\"minecraft:painting\",[727]=\"minecraft:wool\",[728]=\"minecraft:sugar_cane\",[729]=\"minecraft:pink_banner\",[730]=\"minecraft:pink_candle\",[731]=\"minecraft:pink_concrete_powder\",[732]=\"minecraft:peony\",[733]=\"minecraft:pink_petals\",[734]=\"minecraft:pink_tulip\",[735]=\"minecraft:pink_glazed_terracotta\",[736]=\"minecraft:pink_terracotta\",[737]=\"minecraft:pink_stained_glass\",[738]=\"minecraft:pink_stained_glass_pane\",[739]=\"minecraft:piston\",[740]=\"minecraft:polished_andesite\",[741]=\"minecraft:polished_andesite_slab\",[742]=\"minecraft:polished_andesite_stairs\",[743]=\"minecraft:polished_basalt\",[744]=\"minecraft:basalt\",[745]=\"minecraft:polished_blackstone_brick_slab\",[746]=\"minecraft:polished_blackstone_brick_stairs\",[747]=\"minecraft:polished_blackstone_brick_wall\",[748]=\"minecraft:polished_blackstone_button\",[749]=\"minecraft:polished_blackstone_pressure_plate\",[750]=\"minecraft:polished_blackstone_stairs\",[751]=\"minecraft:polished_blackstone_wall\",[752]=\"minecraft:polished_deepslate_slab\",[753]=\"minecraft:polished_deepslate_stairs\",[754]=\"minecraft:polished_deepslate_wall\",[755]=\"minecraft:polished_diorite\",[756]=\"minecraft:polished_diorite_slab\",[757]=\"minecraft:polished_diorite_stairs\",[758]=\"minecraft:polished_granite\",[759]=\"minecraft:polished_granite_slab\",[760]=\"minecraft:polished_granite_stairs\",[761]=\"minecraft:polished_tuff_slab\",[762]=\"minecraft:polished_tuff_stairs\",[763]=\"minecraft:polished_tuff_wall\",[764]=\"minecraft:chorus_fruit\",[765]=\"minecraft:powered_rail\",[766]=\"minecraft:prismarine\",[767]=\"minecraft:prismarine_brick_slab\",[768]=\"minecraft:prismarine_bricks\",[769]=\"minecraft:prismarine_brick_stairs\",[770]=\"minecraft:prismarine_slab\",[771]=\"minecraft:prismarine_stairs\",[772]=\"minecraft:prismarine_wall\",[773]=\"minecraft:pumpkin_pie\",[774]=\"minecraft:pumpkin\",[775]=\"minecraft:pumpkin_seeds\",[776]=\"minecraft:purple_banner\",[777]=\"minecraft:purple_candle\",[778]=\"minecraft:purple_concrete_powder\",[779]=\"minecraft:purple_glazed_terracotta\",[780]=\"minecraft:purple_terracotta\",[781]=\"minecraft:purple_stained_glass\",[782]=\"minecraft:purple_stained_glass_pane\",[783]=\"minecraft:purpur_block\",[784]=\"minecraft:purpur_pillar\",[785]=\"minecraft:purpur_slab\",[786]=\"minecraft:purpur_stairs\",[787]=\"minecraft:nether_quartz_ore\",[788]=\"minecraft:quartz_bricks\",[789]=\"minecraft:quartz_pillar\",[790]=\"minecraft:quartz_stairs\",[791]=\"minecraft:rabbit_stew\",[792]=\"minecraft:rail\",[793]=\"minecraft:raiser_armor_trim_smithing_template\",[794]=\"minecraft:raw_copper_block\",[795]=\"minecraft:raw_gold_block\",[796]=\"minecraft:raw_iron_block\",[797]=\"minecraft:recovery_compass\",[798]=\"minecraft:echo_shard\",[799]=\"minecraft:red_banner\",[800]=\"minecraft:red_candle\",[801]=\"minecraft:red_concrete_powder\",[802]=\"minecraft:poppy\",[803]=\"minecraft:rose_bush\",[804]=\"minecraft:red_tulip\",[805]=\"minecraft:red_glazed_terracotta\",[806]=\"minecraft:red_terracotta\",[807]=\"minecraft:red_nether_brick_slab\",[808]=\"minecraft:red_nether_bricks\",[809]=\"minecraft:red_nether_brick_stairs\",[810]=\"minecraft:red_nether_brick_wall\",[811]=\"minecraft:red_sand\",[812]=\"minecraft:red_sandstone_stairs\",[813]=\"minecraft:red_sandstone_wall\",[814]=\"minecraft:red_stained_glass\",[815]=\"minecraft:red_stained_glass_pane\",[816]=\"minecraft:redstone_block\",[817]=\"minecraft:deepslate_redstone_ore\",[818]=\"minecraft:redstone_ore\",[819]=\"minecraft:redstone_lamp\",[820]=\"minecraft:repeater\",[821]=\"minecraft:respawn_anchor\",[822]=\"minecraft:crying_obsidian\",[823]=\"minecraft:rib_armor_trim_smithing_template\",[824]=\"minecraft:sandstone_stairs\",[825]=\"minecraft:sandstone_wall\",[826]=\"minecraft:scaffolding\",[827]=\"minecraft:sea_lantern\",[828]=\"minecraft:prismarine_crystals\",[829]=\"minecraft:sentry_armor_trim_smithing_template\",[830]=\"minecraft:shaper_armor_trim_smithing_template\",[831]=\"minecraft:shears\",[832]=\"minecraft:shield\",[833]=\"minecraft:shulker_box\",[834]=\"minecraft:shulker_shell\",[835]=\"minecraft:silence_armor_trim_smithing_template\",[836]=\"minecraft:skull_banner_pattern\",[837]=\"minecraft:wither_skeleton_skull\",[838]=\"minecraft:slime_block\",[839]=\"minecraft:smithing_table\",[840]=\"minecraft:smoker\",[841]=\"minecraft:smooth_basalt\",[842]=\"minecraft:smooth_quartz\",[843]=\"minecraft:smooth_quartz_slab\",[844]=\"minecraft:smooth_quartz_stairs\",[845]=\"minecraft:smooth_red_sandstone\",[846]=\"minecraft:smooth_red_sandstone_slab\",[847]=\"minecraft:smooth_red_sandstone_stairs\",[848]=\"minecraft:smooth_sandstone\",[849]=\"minecraft:smooth_sandstone_slab\",[850]=\"minecraft:smooth_sandstone_stairs\",[851]=\"minecraft:snout_armor_trim_smithing_template\",[852]=\"minecraft:snow\",[853]=\"minecraft:snow_block\",[854]=\"minecraft:snowball\",[855]=\"minecraft:soul_campfire\",[856]=\"minecraft:soul_fire_base_blocks\",[857]=\"minecraft:soul_lantern\",[858]=\"minecraft:soul_torch\",[859]=\"minecraft:spectral_arrow\",[860]=\"minecraft:spire_armor_trim_smithing_template\",[861]=\"minecraft:sponge\",[862]=\"minecraft:wet_sponge\",[863]=\"minecraft:spruce_boat\",[864]=\"minecraft:spruce_planks\",[865]=\"minecraft:spruce_button\",[866]=\"minecraft:spruce_chest_boat\",[867]=\"minecraft:spruce_door\",[868]=\"minecraft:spruce_fence\",[869]=\"minecraft:spruce_fence_gate\",[870]=\"minecraft:spruce_hanging_sign\",[871]=\"minecraft:stripped_spruce_log\",[872]=\"minecraft:spruce_logs\",[873]=\"minecraft:spruce_pressure_plate\",[874]=\"minecraft:spruce_sign\",[875]=\"minecraft:spruce_slab\",[876]=\"minecraft:spruce_stairs\",[877]=\"minecraft:spruce_trapdoor\",[878]=\"minecraft:spruce_wood\",[879]=\"minecraft:spruce_log\",[880]=\"minecraft:spyglass\",[881]=\"minecraft:sticky_piston\",[882]=\"minecraft:stone_axe\",[883]=\"minecraft:stone_tool_materials\",[884]=\"minecraft:stone_brick_stairs\",[885]=\"minecraft:stone_brick_wall\",[886]=\"minecraft:stone_button\",[887]=\"minecraft:stone_hoe\",[888]=\"minecraft:stone_pickaxe\",[889]=\"minecraft:stone_shovel\",[890]=\"minecraft:stone_stairs\",[891]=\"minecraft:stone_sword\",[892]=\"minecraft:stonecutter\",[893]=\"minecraft:stripped_acacia_wood\",[894]=\"minecraft:stripped_birch_wood\",[895]=\"minecraft:stripped_cherry_wood\",[896]=\"minecraft:stripped_crimson_hyphae\",[897]=\"minecraft:stripped_dark_oak_wood\",[898]=\"minecraft:stripped_jungle_wood\",[899]=\"minecraft:stripped_mangrove_wood\",[900]=\"minecraft:stripped_oak_wood\",[901]=\"minecraft:stripped_spruce_wood\",[902]=\"minecraft:stripped_warped_hyphae\",[903]=\"minecraft:stripped_warped_stem\",[904]=\"minecraft:target\",[905]=\"minecraft:tide_armor_trim_smithing_template\",[906]=\"minecraft:tinted_glass\",[907]=\"minecraft:tnt\",[908]=\"minecraft:tnt_minecart\",[909]=\"minecraft:trapped_chest\",[910]=\"minecraft:tuff_brick_stairs\",[911]=\"minecraft:tuff_brick_wall\",[912]=\"minecraft:tuff_stairs\",[913]=\"minecraft:tuff_wall\",[914]=\"minecraft:turtle_helmet\",[915]=\"minecraft:turtle_scute\",[916]=\"minecraft:vex_armor_trim_smithing_template\",[917]=\"minecraft:ward_armor_trim_smithing_template\",[918]=\"minecraft:warped_button\",[919]=\"minecraft:warped_planks\",[920]=\"minecraft:warped_door\",[921]=\"minecraft:warped_fence\",[922]=\"minecraft:warped_fence_gate\",[923]=\"minecraft:warped_fungus_on_a_stick\",[924]=\"minecraft:warped_fungus\",[925]=\"minecraft:warped_hanging_sign\",[926]=\"minecraft:warped_hyphae\",[927]=\"minecraft:warped_stem\",[928]=\"minecraft:warped_stems\",[929]=\"minecraft:warped_pressure_plate\",[930]=\"minecraft:warped_sign\",[931]=\"minecraft:warped_slab\",[932]=\"minecraft:warped_stairs\",[933]=\"minecraft:warped_trapdoor\",[934]=\"minecraft:waxed_chiseled_copper\",[935]=\"minecraft:waxed_cut_copper_slab\",[936]=\"minecraft:waxed_cut_copper\",[937]=\"minecraft:waxed_copper_bulb\",[938]=\"minecraft:waxed_copper_door\",[939]=\"minecraft:waxed_copper_grate\",[940]=\"minecraft:waxed_copper_trapdoor\",[941]=\"minecraft:waxed_cut_copper_stairs\",[942]=\"minecraft:waxed_exposed_chiseled_copper\",[943]=\"minecraft:waxed_exposed_cut_copper_slab\",[944]=\"minecraft:waxed_exposed_copper\",[945]=\"minecraft:waxed_exposed_cut_copper\",[946]=\"minecraft:waxed_exposed_copper_bulb\",[947]=\"minecraft:waxed_exposed_copper_door\",[948]=\"minecraft:exposed_copper_door\",[949]=\"minecraft:waxed_exposed_copper_grate\",[950]=\"minecraft:waxed_exposed_copper_trapdoor\",[951]=\"minecraft:exposed_copper_trapdoor\",[952]=\"minecraft:waxed_exposed_cut_copper_stairs\",[953]=\"minecraft:waxed_oxidized_chiseled_copper\",[954]=\"minecraft:waxed_oxidized_cut_copper_slab\",[955]=\"minecraft:waxed_oxidized_copper\",[956]=\"minecraft:waxed_oxidized_cut_copper\",[957]=\"minecraft:waxed_oxidized_copper_bulb\",[958]=\"minecraft:waxed_oxidized_copper_door\",[959]=\"minecraft:oxidized_copper_door\",[960]=\"minecraft:waxed_oxidized_copper_grate\",[961]=\"minecraft:waxed_oxidized_copper_trapdoor\",[962]=\"minecraft:oxidized_copper_trapdoor\",[963]=\"minecraft:waxed_oxidized_cut_copper_stairs\",[964]=\"minecraft:waxed_weathered_chiseled_copper\",[965]=\"minecraft:waxed_weathered_cut_copper_slab\",[966]=\"minecraft:weathered_chiseled_copper\",[967]=\"minecraft:waxed_weathered_copper\",[968]=\"minecraft:waxed_weathered_cut_copper\",[969]=\"minecraft:waxed_weathered_copper_bulb\",[970]=\"minecraft:weathered_copper_bulb\",[971]=\"minecraft:waxed_weathered_copper_door\",[972]=\"minecraft:weathered_copper_door\",[973]=\"minecraft:weathered_copper\",[974]=\"minecraft:waxed_weathered_copper_grate\",[975]=\"minecraft:weathered_copper_grate\",[976]=\"minecraft:waxed_weathered_copper_trapdoor\",[977]=\"minecraft:weathered_copper_trapdoor\",[978]=\"minecraft:weathered_cut_copper\",[979]=\"minecraft:weathered_cut_copper_slab\",[980]=\"minecraft:waxed_weathered_cut_copper_stairs\",[981]=\"minecraft:weathered_cut_copper_stairs\",[982]=\"minecraft:wayfinder_armor_trim_smithing_template\",[983]=\"minecraft:white_banner\",[984]=\"minecraft:white_candle\",[985]=\"minecraft:white_concrete_powder\",[986]=\"minecraft:lily_of_the_valley\",[987]=\"minecraft:white_glazed_terracotta\",[988]=\"minecraft:white_terracotta\",[989]=\"minecraft:white_stained_glass\",[990]=\"minecraft:white_stained_glass_pane\",[991]=\"minecraft:wild_armor_trim_smithing_template\",[992]=\"minecraft:wind_charge\",[993]=\"minecraft:wolf_armor\",[994]=\"minecraft:armadillo_scute\",[995]=\"minecraft:wooden_axe\",[996]=\"minecraft:wooden_hoe\",[997]=\"minecraft:wooden_pickaxe\",[998]=\"minecraft:wooden_shovel\",[999]=\"minecraft:wooden_sword\",[1000]=\"minecraft:writable_book\",[1001]=\"minecraft:yellow_banner\",[1002]=\"minecraft:yellow_candle\",[1003]=\"minecraft:yellow_concrete_powder\",[1004]=\"minecraft:dandelion\",[1005]=\"minecraft:sunflower\",[1006]=\"minecraft:yellow_glazed_terracotta\",[1007]=\"minecraft:yellow_terracotta\",[1008]=\"minecraft:yellow_stained_glass\",[1009]=\"minecraft:yellow_stained_glass_pane\"}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-1.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=2,[3]=2,[4]=2,[5]=2,[6]=2},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:acacia_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=14,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=2},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:andesite\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=26,[\"count\"]=2,[\"ingredients\"]={{27,1,false},{28,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:armor_dye\"]={[\"kind\"]=\"crafting_special_armordye\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:bamboo_chest_raft\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=45,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{46,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:bamboo_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=44,[\"count\"]=2,[\"ingredients\"]={{56,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:barrel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=61,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-63,[3]=-62,[4]=-62,[6]=-62,[7]=-62,[8]=-63,[9]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:birch_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=78,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=8,[3]=74,[4]=74,[5]=8,[6]=74},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:birch_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=87,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=74,[3]=74,[4]=74,[5]=74,[6]=74},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:black_dye_from_wither_rose\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=95,[\"count\"]=1,[\"ingredients\"]={{101,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"black_dye\"},[\"special\"]=false},[\"minecraft:blackstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=110,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=109,[4]=109,[5]=109,[7]=109,[8]=109,[9]=109},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:blue_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=120,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{121,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:blue_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=131,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=130,[2]=130,[3]=130,[4]=130,[5]=130,[6]=130},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:book\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=139,[\"count\"]=1,[\"ingredients\"]={{140,1,false},{140,1,false},{140,1,false},{141,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=151,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=152,[2]=152,[3]=152},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:brown_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=157,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=156,[2]=156,[3]=156,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:brown_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=166,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=159,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:carrot_on_a_stick\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=179,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=180,[4]=181},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=191,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=188,[3]=188,[4]=188,[5]=188,[6]=188},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:cherry_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=200,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=188,[4]=188,[5]=188,[7]=188,[8]=188,[9]=188},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:chiseled_copper_from_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=207,[\"count\"]=1,[\"ingredients\"]={{210,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_quartz_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=220,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=221,[2]=221},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_stone_bricks_stone_from_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=229,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:clock\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=241,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=242,[4]=242,[5]=243,[6]=242,[8]=242},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:coast_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=250,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=250,[3]=133,[4]=133,[5]=28,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cobblestone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=253,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=28,[3]=28},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:composter\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=259,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-63,[3]=-63,[4]=-63,[6]=-63,[7]=-63,[8]=-63,[9]=-63},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cooked_cod\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=267,[\"count\"]=1,[\"ingredients\"]={{268,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_porkchop_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=271,[\"count\"]=1,[\"ingredients\"]={{272,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=209,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=168,[2]=168,[3]=168,[4]=168,[5]=168,[6]=168,[7]=168,[8]=168,[9]=168},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_blasting_raw_copper\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{283,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:cracked_nether_bricks\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=290,[\"count\"]=1,[\"ingredients\"]={{216,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:crimson_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=302,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=8,[3]=300,[4]=300,[5]=8,[6]=300},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:crimson_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=312,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=300,[4]=300,[5]=300,[7]=300,[8]=300,[9]=300},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=316,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=210,[4]=210,[5]=210,[7]=210,[8]=210,[9]=210},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cut_sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=319,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=228,[2]=228,[3]=228,[4]=228},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cyan_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=326,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=322,[2]=322},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:cyan_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=331,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=325,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:dark_oak_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=335,[\"count\"]=4,[\"ingredients\"]={{343,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:dark_prismarine_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=353,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=351,[2]=351,[3]=351},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=358,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=287,[2]=287,[3]=287},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=361,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=287,[2]=287,[3]=287,[4]=287,[5]=287,[6]=287},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=362,[\"count\"]=2,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=363,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=289,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond_from_blasting_deepslate_diamond_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=133,[\"count\"]=1,[\"ingredients\"]={{371,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"diamond\"},[\"special\"]=false},[\"minecraft:diamond_shovel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=377,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=8,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diorite_wall_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=381,[\"count\"]=1,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:dropper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=296,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=28,[3]=28,[4]=28,[6]=28,[7]=28,[8]=243,[9]=28},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:dye_blue_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=118,[\"count\"]=1,[\"ingredients\"]={{121,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_gray_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=391,[\"count\"]=1,[\"ingredients\"]={{390,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_light_gray_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=400,[\"count\"]=1,[\"ingredients\"]={{401,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_magenta_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=411,[\"count\"]=1,[\"ingredients\"]={{409,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_purple_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=422,[\"count\"]=1,[\"ingredients\"]={{421,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_yellow_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=432,[\"count\"]=1,[\"ingredients\"]={{433,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:emerald_from_smelting_emerald_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=436,[\"count\"]=1,[\"ingredients\"]={{439,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"emerald\"},[\"special\"]=false},[\"minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=449,[\"count\"]=1,[\"ingredients\"]={{447,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:ender_eye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=442,[\"count\"]=1,[\"ingredients\"]={{452,1,false},{115,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:exposed_cut_copper_from_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=456,[\"count\"]=4,[\"ingredients\"]={{455,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:eye_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{460,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:fletching_table\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=467,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=37,[2]=37,[3]=-62,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:glass\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=65,[\"count\"]=1,[\"ingredients\"]={{475,1,true}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_blasting_gold_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{487,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_smelting_raw_gold\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{489,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:golden_chestplate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=495,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[3]=242,[4]=242,[5]=242,[6]=242,[7]=242,[8]=242,[9]=242},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=503,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=502,[2]=502,[3]=502},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:gray_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=507,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{390,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:gray_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=510,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=390,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:green_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=519,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=328,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:honey_bottle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=526,[\"count\"]=4,[\"ingredients\"]={{525,1,false},{476,1,false},{476,1,false},{476,1,false},{476,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:iron_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=33,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[5]=22,[6]=22,[7]=22,[8]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_blasting_raw_iron\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{540,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_nugget_from_blasting\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=184,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:jukebox\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=549,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=-62,[5]=133,[6]=-62,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:jungle_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=551,[\"count\"]=4,[\"ingredients\"]={{559,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:lantern\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=568,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=184,[2]=184,[3]=184,[4]=184,[5]=548,[6]=184,[7]=184,[8]=184,[9]=184},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:leather\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=141,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=574,[2]=574,[3]=574,[4]=574},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:light_blue_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=582,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=399,[2]=399,[3]=399,[4]=399,[5]=399,[6]=399,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:light_blue_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=588,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=397,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:light_gray_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=592,[\"count\"]=8,[\"ingredients\"]={{401,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:light_gray_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=598,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=597,[2]=597,[3]=597,[4]=597,[5]=597,[6]=597},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:lime_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=406,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=407,[2]=407},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:lime_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=606,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=405,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:magenta_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=616,[\"count\"]=8,[\"ingredients\"]={{409,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:magenta_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=622,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=621,[2]=621,[3]=621,[4]=621,[5]=621,[6]=621},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:mangrove_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=629,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=626,[3]=626,[4]=626,[5]=626,[6]=626},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:mangrove_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=638,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=626,[4]=626,[5]=626,[7]=626,[8]=626,[9]=626},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:minecart\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=205,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[5]=22,[6]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=652,[\"count\"]=1,[\"ingredients\"]={{649,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=657,[\"count\"]=1,[\"ingredients\"]={{655,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mud_brick_wall_from_mud_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=661,[\"count\"]=1,[\"ingredients\"]={{659,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:nether_brick_slab_from_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=215,[\"count\"]=2,[\"ingredients\"]={{216,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=679,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=610,[2]=610,[3]=610,[4]=610,[5]=610,[6]=610,[7]=610,[8]=610,[9]=610},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:netherite_pickaxe_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=686,[\"count\"]=1,[\"ingredients\"]={{376,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oak_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=693,[\"count\"]=1,[\"ingredients\"]={{692,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:oak_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=702,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=692,[3]=692,[4]=692,[5]=692,[6]=692,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:orange_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=710,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{413,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:orange_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=717,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=716,[2]=716,[3]=716,[4]=716,[5]=716,[6]=716},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:oxidized_copper_grate_from_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=723,[\"count\"]=4,[\"ingredients\"]={{720,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=724,[\"count\"]=1,[\"ingredients\"]={{721,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:pink_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=418,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=419,[2]=419},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:pink_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=738,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=737,[2]=737,[3]=737,[4]=737,[5]=737,[6]=737},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:polished_andesite_slab_from_polished_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=741,[\"count\"]=2,[\"ingredients\"]={{740,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=745,[\"count\"]=2,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=747,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=749,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=219,[2]=219},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:polished_blackstone_wall_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=751,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=753,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite_slab_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=756,[\"count\"]=2,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_granite_slab_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=759,[\"count\"]=2,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_slab_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=761,[\"count\"]=2,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:popped_chorus_fruit\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=445,[\"count\"]=1,[\"ingredients\"]={{764,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:prismarine_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=770,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=766,[2]=766,[3]=766},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:purple_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=776,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=423,[2]=423,[3]=423,[4]=423,[5]=423,[6]=423,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:purple_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=782,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=781,[2]=781,[3]=781,[4]=781,[5]=781,[6]=781},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:purpur_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=786,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_pillar_from_quartz_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=789,[\"count\"]=1,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:raiser_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=793,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=793,[3]=133,[4]=133,[5]=107,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:recovery_compass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=797,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=798,[2]=798,[3]=798,[4]=798,[5]=258,[6]=798,[7]=798,[8]=798,[9]=798},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:red_dye_from_rose_bush\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=425,[\"count\"]=2,[\"ingredients\"]={{803,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"red_dye\"},[\"special\"]=false},[\"minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=810,[\"count\"]=1,[\"ingredients\"]={{808,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:red_sandstone_wall_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=813,[\"count\"]=1,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:redstone_from_blasting_redstone_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=243,[\"count\"]=1,[\"ingredients\"]={{818,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"blocks\",[\"group\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:rib_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=823,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=823,[3]=133,[4]=133,[5]=671,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:sandstone_wall_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=825,[\"count\"]=1,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:shield\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=832,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=22,[3]=-62,[4]=-62,[5]=-62,[6]=-62,[8]=-62},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:slime_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=838,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=573,[2]=573,[3]=573,[4]=573,[5]=573,[6]=573,[7]=573,[8]=573,[9]=573},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:smooth_quartz_stairs_from_smooth_quartz_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=844,[\"count\"]=1,[\"ingredients\"]={{842,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=849,[\"count\"]=2,[\"ingredients\"]={{848,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:snow\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=852,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=853,[2]=853,[3]=853},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:sponge\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=861,[\"count\"]=1,[\"ingredients\"]={{862,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.15,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:spruce_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=864,[\"count\"]=4,[\"ingredients\"]={{872,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:stick\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=8,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"sticks\"},[\"special\"]=false},[\"minecraft:stone_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=884,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=231,[4]=231,[5]=231,[7]=231,[8]=231,[9]=231},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:stone_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=886,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:stone_stairs_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=890,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stripped_jungle_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=898,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=558,[2]=558,[3]=558,[4]=558},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:target\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=904,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=243,[4]=243,[5]=523,[6]=243,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:torch\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=548,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=8},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:tuff_brick_stairs_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=910,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_bricks_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=238,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:turtle_helmet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=914,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=915,[2]=915,[3]=915,[4]=915,[6]=915},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:warped_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=922,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=919,[3]=8,[4]=8,[5]=919,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:warped_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=932,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=919,[4]=919,[5]=919,[7]=919,[8]=919,[9]=919},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:waxed_copper_bulb_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=937,[\"count\"]=1,[\"ingredients\"]={{278,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_copper_bulb\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=936,[\"count\"]=4,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=941,[\"count\"]=1,[\"ingredients\"]={{936,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=944,[\"count\"]=1,[\"ingredients\"]={{455,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_copper\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=943,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=945,[2]=945,[3]=945},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=953,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=954,[2]=954},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper_chiseled\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=960,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=955,[4]=955,[6]=955,[8]=955},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_slab_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=954,[\"count\"]=1,[\"ingredients\"]={{719,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_weathered_chiseled_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=964,[\"count\"]=1,[\"ingredients\"]={{966,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_chiseled_copper\"},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_grate_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=974,[\"count\"]=1,[\"ingredients\"]={{975,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_copper_grate\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=965,[\"count\"]=8,[\"ingredients\"]={{967,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=966,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=979,[2]=979},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:weathered_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=979,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=978,[2]=978,[3]=978},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:white_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=428,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=431,[2]=431,[3]=431,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:white_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=990,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=989,[2]=989,[3]=989,[4]=989,[5]=989,[6]=989},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:wooden_axe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=995,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1002,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{433,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:yellow_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1009,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=433,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false}},[\"counts\"]={[\"crafting_shaped\"]=634,[\"crafting_shapeless\"]=253,[\"stonecutting\"]=250,[\"crafting_special_armordye\"]=1,[\"smelting\"]=70,[\"campfire_cooking\"]=9,[\"smoking\"]=9,[\"crafting_special_bannerduplicate\"]=1,[\"smithing_trim\"]=18,[\"crafting_special_bookcloning\"]=1,[\"blasting\"]=24,[\"crafting_decorated_pot\"]=1,[\"crafting_special_firework_rocket\"]=1,[\"crafting_special_firework_star\"]=1,[\"crafting_special_firework_star_fade\"]=1,[\"crafting_special_mapcloning\"]=1,[\"crafting_special_mapextending\"]=1,[\"smithing_transform\"]=9,[\"crafting_special_repairitem\"]=1,[\"crafting_special_shielddecoration\"]=1,[\"crafting_special_shulkerboxcoloring\"]=1,[\"crafting_special_suspiciousstew\"]=1,[\"crafting_special_tippedarrow\"]=1}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-2.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=3,[\"count\"]=1,[\"ingredients\"]={{2,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:acacia_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=15,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=2,[3]=2,[4]=2,[5]=2,[6]=2,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:andesite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=29,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=26,[2]=26,[3]=26},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:armor_stand\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=34,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=8,[3]=8,[5]=8,[7]=8,[8]=35,[9]=8},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:bamboo_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=47,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=44,[3]=44,[4]=44,[5]=44,[6]=44},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:bamboo_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=57,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=44},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:beacon\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=64,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=66,[6]=65,[7]=67,[8]=67,[9]=67},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:birch_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=79,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=74,[3]=8,[4]=8,[5]=74,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:birch_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=88,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=89,[2]=89,[3]=89,[4]=89},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:black_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=102,[\"count\"]=1,[\"ingredients\"]={{103,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:blackstone_stairs_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=110,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:blue_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=122,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=118,[2]=118},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:blue_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=131,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=121,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:book_cloning\"]={[\"kind\"]=\"crafting_special_bookcloning\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:brick_slab_from_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=151,[\"count\"]=2,[\"ingredients\"]={{152,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:brown_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=158,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{159,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:brown_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=164,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=159,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:cartography_table\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=182,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=140,[2]=140,[3]=-62,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=192,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=8,[3]=188,[4]=188,[5]=8,[6]=188},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:cherry_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=201,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=188,[3]=188,[4]=188,[5]=188,[6]=188},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:chiseled_deepslate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=211,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=212,[2]=212},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_quartz_block_from_quartz_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=220,[\"count\"]=1,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_tuff\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=233,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=234,[2]=234},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:coal\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=244,[\"count\"]=9,[\"ingredients\"]={{245,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:coast_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{250,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:cobblestone_slab_from_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=253,[\"count\"]=2,[\"ingredients\"]={{28,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:conduit\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=260,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=261,[2]=261,[3]=261,[4]=261,[5]=262,[6]=261,[7]=261,[8]=261,[9]=261},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cooked_cod_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=267,[\"count\"]=1,[\"ingredients\"]={{268,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_rabbit\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=273,[\"count\"]=1,[\"ingredients\"]={{274,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=278,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=209,[4]=209,[5]=116,[6]=209,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_smelting_copper_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{281,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:cracked_polished_blackstone_bricks\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=291,[\"count\"]=1,[\"ingredients\"]={{292,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:crimson_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=303,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=300,[3]=8,[4]=8,[5]=300,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:crimson_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=313,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=300,[3]=300,[4]=300,[5]=300,[6]=300},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:cut_copper_stairs_from_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=316,[\"count\"]=4,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_sandstone_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=319,[\"count\"]=1,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cyan_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=327,[\"count\"]=8,[\"ingredients\"]={{325,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:dark_oak_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=334,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=335,[3]=335,[4]=335,[5]=335,[6]=335},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:dark_oak_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=344,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=335},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=353,[\"count\"]=2,[\"ingredients\"]={{351,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=358,[\"count\"]=2,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=361,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=362,[\"count\"]=2,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=364,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=289,[2]=289,[3]=289,[4]=289,[5]=289,[6]=289},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:deepslate_tiles_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=289,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond_from_blasting_diamond_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=133,[\"count\"]=1,[\"ingredients\"]={{372,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"diamond\"},[\"special\"]=false},[\"minecraft:diamond_sword\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=378,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:dispenser\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=382,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=28,[3]=28,[4]=28,[5]=143,[6]=28,[7]=28,[8]=243,[9]=28},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:dune_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=388,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=388,[3]=133,[4]=133,[5]=228,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:dye_brown_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=157,[\"count\"]=1,[\"ingredients\"]={{159,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_gray_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=392,[\"count\"]=1,[\"ingredients\"]={{390,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_light_gray_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=402,[\"count\"]=1,[\"ingredients\"]={{401,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_orange_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=412,[\"count\"]=1,[\"ingredients\"]={{413,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_purple_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=423,[\"count\"]=1,[\"ingredients\"]={{421,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_yellow_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=434,[\"count\"]=1,[\"ingredients\"]={{433,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:enchanting_table\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=440,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=139,[4]=133,[5]=67,[6]=133,[7]=67,[8]=67,[9]=67},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:end_stone_brick_stairs_from_end_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=449,[\"count\"]=1,[\"ingredients\"]={{448,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=453,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=454,[2]=454},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:exposed_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=454,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=456,[2]=456,[3]=456},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:fermented_spider_eye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=461,[\"count\"]=1,[\"ingredients\"]={{462,1,false},{463,1,false},{172,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:flint_and_steel\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=468,[\"count\"]=1,[\"ingredients\"]={{22,1,false},{37,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:glass_bottle\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=476,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=65,[3]=65,[5]=65},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_blasting_nether_gold_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{488,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:gold_nugget\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=478,[\"count\"]=9,[\"ingredients\"]={{242,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:golden_helmet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=496,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[4]=242,[6]=242},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_slab_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=503,[\"count\"]=2,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:gray_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=391,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=392,[2]=392},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:green_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=513,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=395,[2]=395,[3]=395,[4]=395,[5]=395,[6]=395,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:green_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=520,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=519,[2]=519,[3]=519,[4]=519,[5]=519,[6]=519},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:honeycomb_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=527,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=69,[2]=69,[3]=69,[4]=69},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:iron_boots\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=533,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[6]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_iron_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=22,[\"count\"]=9,[\"ingredients\"]={{33,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_nugget_from_smelting\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=184,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:jungle_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=550,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=551,[3]=551,[4]=551,[5]=551,[6]=551},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:jungle_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=560,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=551},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:lapis_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=569,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=124,[2]=124,[3]=124,[4]=124,[5]=124,[6]=124,[7]=124,[8]=124,[9]=124},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:leather_boots\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=575,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=141,[3]=141,[4]=141,[6]=141},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:light_blue_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=396,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=399,[2]=399,[3]=399,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:light_blue_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=589,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=588,[2]=588,[3]=588,[4]=588,[5]=588,[6]=588},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:light_gray_dye_from_azure_bluet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=401,[\"count\"]=1,[\"ingredients\"]={{593,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_gray_dye\"},[\"special\"]=false},[\"minecraft:light_gray_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=598,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=401,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:lime_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=603,[\"count\"]=8,[\"ingredients\"]={{405,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:lodestone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=609,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=229,[2]=229,[3]=229,[4]=229,[5]=610,[6]=229,[7]=229,[8]=229,[9]=229},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:magenta_dye_from_allium\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=409,[\"count\"]=1,[\"ingredients\"]={{617,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"magenta_dye\"},[\"special\"]=false},[\"minecraft:magenta_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=622,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=409,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:mangrove_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=630,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=8,[3]=626,[4]=626,[5]=8,[6]=626},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:mangrove_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=639,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=626,[3]=626,[4]=626,[5]=626,[6]=626},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:mojang_banner_pattern\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=645,[\"count\"]=1,[\"ingredients\"]={{140,1,false},{646,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=653,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=649,[2]=649,[3]=649,[4]=649,[5]=649,[6]=649},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mossy_stone_bricks_from_moss_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=655,[\"count\"]=1,[\"ingredients\"]={{231,1,false},{648,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"mossy_stone_bricks\"},[\"special\"]=false},[\"minecraft:mud_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=659,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=662,[2]=662,[3]=662,[4]=662},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:nether_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=673,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=216,[4]=216,[5]=216,[7]=216,[8]=216,[9]=216},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:netherite_boots_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=680,[\"count\"]=1,[\"ingredients\"]={{369,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_scrap\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=684,[\"count\"]=1,[\"ingredients\"]={{687,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=2,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:oak_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=694,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{691,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:oak_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=703,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=692,[3]=692},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:orange_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=414,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=415,[2]=415},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:orange_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=717,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=413,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:oxidized_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=721,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=720,[2]=720,[3]=720,[4]=720},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:packed_ice\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=129,[\"count\"]=1,[\"ingredients\"]={{725,1,false},{725,1,false},{725,1,false},{725,1,false},{725,1,false},{725,1,false},{725,1,false},{725,1,false},{725,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:pink_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=731,[\"count\"]=8,[\"ingredients\"]={{417,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:pink_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=738,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=417,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:polished_andesite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=742,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=740,[4]=740,[5]=740,[7]=740,[8]=740,[9]=740},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=745,[\"count\"]=2,[\"ingredients\"]={{292,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=747,[\"count\"]=1,[\"ingredients\"]={{292,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=218,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=219,[2]=219,[3]=219},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=751,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=753,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite_slab_from_polished_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=756,[\"count\"]=2,[\"ingredients\"]={{755,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_granite_slab_from_polished_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=759,[\"count\"]=2,[\"ingredients\"]={{758,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_slab_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=761,[\"count\"]=2,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:powered_rail\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=765,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=242,[3]=242,[4]=242,[5]=8,[6]=242,[7]=242,[8]=243,[9]=242},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:prismarine_slab_from_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=770,[\"count\"]=2,[\"ingredients\"]={{766,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:purple_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=420,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=423,[2]=423,[3]=423,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:purple_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=782,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=421,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:purpur_stairs_from_purpur_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=786,[\"count\"]=1,[\"ingredients\"]={{783,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:quartz_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=221,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:raiser_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{793,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:red_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=799,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=427,[2]=427,[3]=427,[4]=427,[5]=427,[6]=427,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:red_dye_from_tulip\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=425,[\"count\"]=1,[\"ingredients\"]={{804,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"red_dye\"},[\"special\"]=false},[\"minecraft:red_nether_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=808,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=670,[2]=676,[3]=676,[4]=670},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=814,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=425,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:redstone_from_smelting_deepslate_redstone_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=243,[\"count\"]=1,[\"ingredients\"]={{817,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"blocks\",[\"group\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:rib_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{823,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:scaffolding\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=826,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=42,[2]=144,[3]=42,[4]=42,[6]=42,[7]=42,[9]=42},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:shield_decoration\"]={[\"kind\"]=\"crafting_special_shielddecoration\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:smithing_table\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=839,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=-62,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smooth_red_sandstone\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=845,[\"count\"]=1,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:smooth_sandstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=850,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=848,[4]=848,[5]=848,[7]=848,[8]=848,[9]=848},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:snow_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=853,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=854,[2]=854,[3]=854,[4]=854},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:spruce_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=863,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=864,[3]=864,[4]=864,[5]=864,[6]=864},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:spruce_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=873,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=864},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:stick_from_bamboo_item\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=8,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=42,[2]=42},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"sticks\"},[\"special\"]=false},[\"minecraft:stone_brick_stairs_from_stone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=884,[\"count\"]=1,[\"ingredients\"]={{231,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_hoe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=887,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-883,[2]=-883,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stone_sword\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=891,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-883,[2]=-883,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stripped_mangrove_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=899,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=633,[2]=633,[3]=633,[4]=633},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=107,[\"count\"]=1,[\"ingredients\"]={{240,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:trapped_chest\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=909,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{315,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:tuff_brick_stairs_from_tuff_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=910,[\"count\"]=1,[\"ingredients\"]={{238,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_bricks_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=238,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:vex_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=916,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=916,[3]=133,[4]=133,[5]=28,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:warped_fungus_on_a_stick\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=923,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=180,[4]=924},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:warped_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=933,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=919,[3]=919,[4]=919,[5]=919,[6]=919},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:waxed_copper_door_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=938,[\"count\"]=1,[\"ingredients\"]={{279,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_copper_door\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=935,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=936,[2]=936,[3]=936},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_exposed_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=942,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=943,[2]=943},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper_chiseled\"},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=949,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=944,[4]=944,[6]=944,[8]=944},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_slab_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=943,[\"count\"]=1,[\"ingredients\"]={{454,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_chiseled_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=953,[\"count\"]=1,[\"ingredients\"]={{718,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_chiseled_copper\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_grate_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=960,[\"count\"]=1,[\"ingredients\"]={{723,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_copper_grate\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=954,[\"count\"]=8,[\"ingredients\"]={{955,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_chiseled_copper_from_waxed_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=964,[\"count\"]=4,[\"ingredients\"]={{967,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_grate_from_waxed_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=974,[\"count\"]=4,[\"ingredients\"]={{967,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=965,[\"count\"]=2,[\"ingredients\"]={{968,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_chiseled_copper_from_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=966,[\"count\"]=4,[\"ingredients\"]={{973,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=979,[\"count\"]=8,[\"ingredients\"]={{973,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:white_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=984,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:white_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=990,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=429,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:wooden_hoe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=996,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=434,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=435,[2]=435},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:yellow_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1007,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=433,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-3.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=4,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{1,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:acacia_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=16,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=2,[3]=2},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:andesite_slab_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=29,[\"count\"]=2,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:arrow\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=36,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=37,[2]=8,[3]=38},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:bamboo_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=48,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=8,[3]=44,[4]=44,[5]=8,[6]=44},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:bamboo_raft\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=46,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=44,[3]=44,[4]=44,[5]=44,[6]=44},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:beehive\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=68,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=69,[5]=69,[6]=69,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:birch_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=80,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=81,[5]=81,[6]=81,[7]=81,[8]=81,[9]=81},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:black_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=90,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=91,[2]=91,[3]=91,[4]=91,[5]=91,[6]=91,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:black_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=104,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=95,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:blackstone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=111,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=109,[2]=109,[3]=109,[4]=109,[5]=109,[6]=109},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:blue_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=123,[\"count\"]=8,[\"ingredients\"]={{121,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:blue_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=127,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=121,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:bookshelf\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=142,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=139,[5]=139,[6]=139,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=153,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=152,[4]=152,[5]=152,[7]=152,[8]=152,[9]=152},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:brown_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=160,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=156,[2]=156},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:brush\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=167,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=38,[2]=168,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:cauldron\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=183,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[6]=22,[7]=22,[8]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=193,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=188,[3]=8,[4]=8,[5]=188,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:cherry_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=202,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=203,[2]=203,[3]=203,[4]=203},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=211,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_red_sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=223,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=224,[2]=224},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_tuff_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=235,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=236,[2]=236},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:coal_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=245,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=244,[2]=244,[3]=244,[4]=244,[5]=244,[6]=244,[7]=244,[8]=244,[9]=244},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=212,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=213,[2]=213,[3]=213},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cobblestone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=254,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=28,[4]=28,[5]=28,[7]=28,[8]=28,[9]=28},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cooked_beef\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=263,[\"count\"]=1,[\"ingredients\"]={{264,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_cod_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=267,[\"count\"]=1,[\"ingredients\"]={{268,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_rabbit_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=273,[\"count\"]=1,[\"ingredients\"]={{274,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=279,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=168,[2]=168,[3]=168,[4]=168,[5]=168,[6]=168},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_smelting_deepslate_copper_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{282,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:cracked_stone_bricks\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=293,[\"count\"]=1,[\"ingredients\"]={{231,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:crimson_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=304,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=305,[5]=305,[6]=305,[7]=305,[8]=305,[9]=305},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:crossbow\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=314,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=22,[3]=8,[4]=144,[5]=315,[6]=144,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:cut_copper_stairs_from_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=316,[\"count\"]=1,[\"ingredients\"]={{210,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=320,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=319,[2]=319,[3]=319},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cyan_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=325,[\"count\"]=2,[\"ingredients\"]={{121,1,false},{328,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"cyan_dye\"},[\"special\"]=false},[\"minecraft:dark_oak_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=336,[\"count\"]=1,[\"ingredients\"]={{335,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:dark_oak_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=345,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=335,[3]=335,[4]=335,[5]=335,[6]=335,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:dark_prismarine_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=354,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=351,[4]=351,[5]=351,[7]=351,[8]=351,[9]=351},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=358,[\"count\"]=2,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=361,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=362,[\"count\"]=2,[\"ingredients\"]={{289,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=364,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:detector_rail\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=365,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[5]=366,[6]=22,[7]=22,[8]=243,[9]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:diamond_from_smelting_deepslate_diamond_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=133,[\"count\"]=1,[\"ingredients\"]={{371,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"diamond\"},[\"special\"]=false},[\"minecraft:diorite\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=27,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=257,[3]=257,[4]=28},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:dried_kelp\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=383,[\"count\"]=9,[\"ingredients\"]={{384,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:dune_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{388,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:dye_brown_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=160,[\"count\"]=1,[\"ingredients\"]={{159,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_green_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=393,[\"count\"]=1,[\"ingredients\"]={{328,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_light_gray_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=403,[\"count\"]=1,[\"ingredients\"]={{401,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_orange_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=414,[\"count\"]=1,[\"ingredients\"]={{413,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_red_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=424,[\"count\"]=1,[\"ingredients\"]={{425,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_yellow_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=435,[\"count\"]=1,[\"ingredients\"]={{433,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:end_crystal\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=441,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=442,[6]=65,[7]=65,[8]=443,[9]=65},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:end_stone_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=450,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=447,[2]=447,[3]=447,[4]=447,[5]=447,[6]=447},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:exposed_chiseled_copper_from_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=453,[\"count\"]=4,[\"ingredients\"]={{455,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=454,[\"count\"]=8,[\"ingredients\"]={{455,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:fire_charge\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=464,[\"count\"]=3,[\"ingredients\"]={{465,1,false},{115,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:flow_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=469,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=469,[3]=133,[4]=133,[5]=470,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=106,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=65,[6]=65},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_blasting_raw_gold\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{489,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:gold_nugget_from_blasting\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=478,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:golden_hoe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=497,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=504,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=502,[4]=502,[5]=502,[7]=502,[8]=502,[9]=502},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:gray_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=508,[\"count\"]=8,[\"ingredients\"]={{390,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:green_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=393,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=395,[2]=395,[3]=395,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:green_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=520,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=328,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:hopper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=528,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[5]=5,[6]=22,[8]=22},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:iron_chestplate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=534,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[5]=22,[6]=22,[7]=22,[8]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_nuggets\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=184,[2]=184,[3]=184,[4]=184,[5]=184,[6]=184,[7]=184,[8]=184,[9]=184},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_pickaxe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=542,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[5]=8,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:jungle_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=552,[\"count\"]=1,[\"ingredients\"]={{551,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:jungle_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=561,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=551,[3]=551,[4]=551,[5]=551,[6]=551,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:lapis_lazuli\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=124,[\"count\"]=9,[\"ingredients\"]={{569,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:leather_chestplate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=576,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=141,[3]=141,[4]=141,[5]=141,[6]=141,[7]=141,[8]=141,[9]=141},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:light_blue_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=583,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{397,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:light_blue_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=589,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=397,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:light_gray_dye_from_black_white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=401,[\"count\"]=3,[\"ingredients\"]={{95,1,false},{429,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_gray_dye\"},[\"special\"]=false},[\"minecraft:light_gray_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=596,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=401,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:lime_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=405,[\"count\"]=2,[\"ingredients\"]={{328,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:loom\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=611,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=144,[2]=144,[3]=-62,[4]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:magenta_dye_from_blue_red_pink\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=409,[\"count\"]=3,[\"ingredients\"]={{121,1,false},{425,1,false},{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"magenta_dye\"},[\"special\"]=false},[\"minecraft:magenta_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=620,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=409,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:mangrove_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=631,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=626,[3]=8,[4]=8,[5]=626,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:mangrove_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=640,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=641,[2]=641,[3]=641,[4]=641},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:moss_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=647,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=648,[2]=648},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=653,[\"count\"]=1,[\"ingredients\"]={{649,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mossy_stone_bricks_from_vine\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=655,[\"count\"]=1,[\"ingredients\"]={{231,1,false},{650,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"mossy_stone_bricks\"},[\"special\"]=false},[\"minecraft:muddy_mangrove_roots\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=663,[\"count\"]=1,[\"ingredients\"]={{664,1,false},{665,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:nether_brick_stairs_from_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=673,[\"count\"]=1,[\"ingredients\"]={{216,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_chestplate_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=681,[\"count\"]=1,[\"ingredients\"]={{370,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_scrap_from_blasting\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=684,[\"count\"]=1,[\"ingredients\"]={{687,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=2,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:oak_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=695,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=692,[3]=692,[4]=692,[5]=692,[6]=692},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:oak_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=704,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=692,[4]=692,[5]=692,[7]=692,[8]=692,[9]=692},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:orange_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=711,[\"count\"]=8,[\"ingredients\"]={{413,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:orange_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=715,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=413,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=721,[\"count\"]=4,[\"ingredients\"]={{720,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:packed_mud\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=662,[\"count\"]=1,[\"ingredients\"]={{664,1,false},{146,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:pink_dye_from_peony\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=417,[\"count\"]=2,[\"ingredients\"]={{732,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"pink_dye\"},[\"special\"]=false},[\"minecraft:pink_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=736,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=417,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:polished_andesite_stairs_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=742,[\"count\"]=1,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=745,[\"count\"]=2,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=747,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_slab_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=218,[\"count\"]=2,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=359,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=213,[2]=213,[3]=213,[4]=213},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_deepslate_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=754,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=359,[2]=359,[3]=359,[4]=359,[5]=359,[6]=359},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:polished_diorite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=757,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=755,[4]=755,[5]=755,[7]=755,[8]=755,[9]=755},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_granite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=760,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=758,[4]=758,[5]=758,[7]=758,[8]=758,[9]=758},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_tuff_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=762,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=237,[4]=237,[5]=237,[7]=237,[8]=237,[9]=237},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:prismarine\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=766,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=352,[2]=352,[3]=352,[4]=352},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:prismarine_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=771,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=766,[4]=766,[5]=766,[7]=766,[8]=766,[9]=766},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:purple_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=777,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{421,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:purple_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=780,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=421,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:quartz\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=257,[\"count\"]=1,[\"ingredients\"]={{787,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.2,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:quartz_slab_from_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=221,[\"count\"]=2,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:raw_copper\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=283,[\"count\"]=9,[\"ingredients\"]={{794,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:red_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=424,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=427,[2]=427,[3]=427,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:red_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=805,[\"count\"]=1,[\"ingredients\"]={{806,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:red_sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=225,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=811,[2]=811,[3]=811,[4]=811},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=815,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=814,[2]=814,[3]=814,[4]=814,[5]=814,[6]=814},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:redstone_from_smelting_redstone_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=243,[\"count\"]=1,[\"ingredients\"]={{818,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"blocks\",[\"group\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=228,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=98,[2]=98,[3]=98,[4]=98},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:sea_lantern\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=827,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=352,[2]=828,[3]=352,[4]=828,[5]=828,[6]=828,[7]=352,[8]=828,[9]=352},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:shulker_box\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=833,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=834,[2]=5,[3]=834},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smoker\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=840,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=-178,[4]=-178,[5]=113,[6]=-178,[8]=-178},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smooth_red_sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=846,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=845,[2]=845,[3]=845},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=850,[\"count\"]=1,[\"ingredients\"]={{848,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:soul_campfire\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=855,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=8,[4]=8,[5]=-856,[6]=8,[7]=-178,[8]=-178,[9]=-178},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:spruce_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=865,[\"count\"]=1,[\"ingredients\"]={{864,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:spruce_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=874,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=864,[3]=864,[4]=864,[5]=864,[6]=864,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:sticky_piston\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=881,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=573,[2]=739},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:stone_brick_stairs_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=884,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_pickaxe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=888,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-883,[2]=-883,[3]=-883,[5]=8,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stonecutter\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=892,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=22,[4]=232,[5]=232,[6]=232},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:stripped_oak_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=900,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=699,[2]=699,[3]=699,[4]=699},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:tide_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=905,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=905,[3]=133,[4]=133,[5]=766,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:tripwire_hook\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=315,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=8,[3]=-62},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:tuff_brick_stairs_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=910,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=234,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=239,[2]=239,[3]=239},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:vex_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{916,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:warped_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=925,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=903,[5]=903,[6]=903,[7]=903,[8]=903,[9]=903},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:waxed_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=934,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=935,[2]=935},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper_chiseled\"},[\"special\"]=false},[\"minecraft:waxed_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=939,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=284,[4]=284,[6]=284,[8]=284},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_slab_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=935,[\"count\"]=1,[\"ingredients\"]={{208,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_exposed_chiseled_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=942,[\"count\"]=1,[\"ingredients\"]={{453,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_chiseled_copper\"},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_grate_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=949,[\"count\"]=1,[\"ingredients\"]={{458,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_copper_grate\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=943,[\"count\"]=8,[\"ingredients\"]={{944,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_chiseled_copper_from_waxed_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=953,[\"count\"]=4,[\"ingredients\"]={{955,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_grate_from_waxed_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=960,[\"count\"]=4,[\"ingredients\"]={{955,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=954,[\"count\"]=2,[\"ingredients\"]={{956,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_chiseled_copper_from_waxed_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=964,[\"count\"]=1,[\"ingredients\"]={{968,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_trapdoor_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=976,[\"count\"]=1,[\"ingredients\"]={{977,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_copper_trapdoor\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=980,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=968,[4]=968,[5]=968,[7]=968,[8]=968,[9]=968},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:weathered_chiseled_copper_from_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=966,[\"count\"]=1,[\"ingredients\"]={{978,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=979,[\"count\"]=2,[\"ingredients\"]={{978,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:white_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=430,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=431,[2]=431},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:white_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=988,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=429,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:wooden_pickaxe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=997,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[5]=8,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1003,[\"count\"]=8,[\"ingredients\"]={{433,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-4.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=6,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=2,[3]=2,[4]=2,[5]=2,[6]=2},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:acacia_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=17,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=2,[4]=2,[5]=2,[7]=2,[8]=2,[9]=2},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:andesite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=30,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=26,[4]=26,[5]=26,[7]=26,[8]=26,[9]=26},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:baked_potato\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=39,[\"count\"]=1,[\"ingredients\"]={{40,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:bamboo_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=49,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=44,[3]=8,[4]=8,[5]=44,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:bamboo_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=58,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=44,[3]=44,[4]=44,[5]=44,[6]=44,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:beetroot_soup\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=70,[\"count\"]=1,[\"ingredients\"]={{71,1,false},{72,1,false},{72,1,false},{72,1,false},{72,1,false},{72,1,false},{72,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:birch_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=74,[\"count\"]=4,[\"ingredients\"]={{82,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:black_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=92,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=91,[2]=91,[3]=91,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:black_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=105,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=104,[2]=104,[3]=104,[4]=104,[5]=104,[6]=104},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:blackstone_wall_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=111,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:blue_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=121,[\"count\"]=1,[\"ingredients\"]={{124,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"blue_dye\"},[\"special\"]=false},[\"minecraft:bolt_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=132,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=132,[3]=133,[4]=133,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:bow\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=143,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=8,[3]=144,[4]=8,[6]=144,[8]=8,[9]=144},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:brick_stairs_from_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=153,[\"count\"]=1,[\"ingredients\"]={{152,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:brown_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=161,[\"count\"]=8,[\"ingredients\"]={{159,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:bucket\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=169,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[5]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:chain\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=11,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=184,[2]=22,[3]=184},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=194,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=195,[5]=195,[6]=195,[7]=195,[8]=195,[9]=195},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:chest\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=5,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=-62,[6]=-62,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:chiseled_nether_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=214,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=215,[2]=215},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=223,[\"count\"]=1,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_tuff_bricks_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=235,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:coal_from_blasting_coal_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=244,[\"count\"]=1,[\"ingredients\"]={{246,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.1,[\"category\"]=\"misc\",[\"group\"]=\"coal\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=212,[\"count\"]=2,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cobblestone_stairs_from_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=254,[\"count\"]=1,[\"ingredients\"]={{28,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cooked_beef_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=263,[\"count\"]=1,[\"ingredients\"]={{264,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_mutton\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=269,[\"count\"]=1,[\"ingredients\"]={{270,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_rabbit_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=273,[\"count\"]=1,[\"ingredients\"]={{274,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=280,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=209,[4]=209,[6]=209,[8]=209},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_smelting_raw_copper\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{283,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:crafter\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=294,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[5]=295,[6]=22,[7]=243,[8]=296,[9]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:crimson_hyphae\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=306,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=307,[2]=307,[3]=307,[4]=307},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=210,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=209,[2]=209,[3]=209,[4]=209},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cut_red_sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=317,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=225,[2]=225,[3]=225,[4]=225},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=320,[\"count\"]=2,[\"ingredients\"]={{319,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cyan_dye_from_pitcher_plant\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=325,[\"count\"]=2,[\"ingredients\"]={{329,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"cyan_dye\"},[\"special\"]=false},[\"minecraft:dark_oak_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=337,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{334,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:dark_oak_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=346,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=335,[3]=335},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=354,[\"count\"]=1,[\"ingredients\"]={{351,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=358,[\"count\"]=2,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=361,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=362,[\"count\"]=2,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=364,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=133,[\"count\"]=9,[\"ingredients\"]={{367,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:diamond_from_smelting_diamond_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=133,[\"count\"]=1,[\"ingredients\"]={{372,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"diamond\"},[\"special\"]=false},[\"minecraft:diorite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=379,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=27,[2]=27,[3]=27},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:dried_kelp_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=384,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=383,[2]=383,[3]=383,[4]=383,[5]=383,[6]=383,[7]=383,[8]=383,[9]=383},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:dye_black_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=92,[\"count\"]=1,[\"ingredients\"]={{95,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_brown_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=156,[\"count\"]=1,[\"ingredients\"]={{159,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_green_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=394,[\"count\"]=1,[\"ingredients\"]={{328,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_lime_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=404,[\"count\"]=1,[\"ingredients\"]={{405,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_orange_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=415,[\"count\"]=1,[\"ingredients\"]={{413,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_red_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=426,[\"count\"]=1,[\"ingredients\"]={{425,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:emerald\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=436,[\"count\"]=9,[\"ingredients\"]={{437,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:end_rod\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=444,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=116,[2]=445},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=450,[\"count\"]=1,[\"ingredients\"]={{447,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_chiseled_copper_from_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=453,[\"count\"]=1,[\"ingredients\"]={{456,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=454,[\"count\"]=2,[\"ingredients\"]={{456,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:firework_rocket\"]={[\"kind\"]=\"crafting_special_firework_rocket\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:flow_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{469,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:glistering_melon_slice\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=477,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=478,[2]=478,[3]=478,[4]=478,[5]=479,[6]=478,[7]=478,[8]=478,[9]=478},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_gold_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=242,[\"count\"]=9,[\"ingredients\"]={{485,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:gold_nugget_from_smelting\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=478,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:golden_leggings\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=498,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[4]=242,[6]=242,[7]=242,[9]=242},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_stairs_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=504,[\"count\"]=1,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:gray_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=390,[\"count\"]=2,[\"ingredients\"]={{95,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:green_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=514,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{328,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:green_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=518,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=328,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:hopper_minecart\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=529,[\"count\"]=1,[\"ingredients\"]={{528,1,false},{205,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:iron_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=535,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[5]=22,[6]=22},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_smelting_deepslate_iron_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{538,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_shovel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=543,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=8,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:jungle_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=553,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{550,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:jungle_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=562,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=551,[3]=551},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=124,[\"count\"]=1,[\"ingredients\"]={{570,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.2,[\"category\"]=\"misc\",[\"group\"]=\"lapis_lazuli\"},[\"special\"]=false},[\"minecraft:leather_helmet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=577,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=141,[2]=141,[3]=141,[4]=141,[6]=141},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:light_blue_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=398,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=399,[2]=399},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:light_blue_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=587,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=397,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:light_gray_dye_from_gray_white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=401,[\"count\"]=2,[\"ingredients\"]={{390,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_gray_dye\"},[\"special\"]=false},[\"minecraft:light_weighted_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=599,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:lime_dye_from_smelting\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=405,[\"count\"]=1,[\"ingredients\"]={{604,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mace\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=612,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=613,[5]=470},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:magenta_dye_from_blue_red_white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=409,[\"count\"]=4,[\"ingredients\"]={{121,1,false},{425,1,false},{425,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"magenta_dye\"},[\"special\"]=false},[\"minecraft:magma_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=623,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=624,[2]=624,[3]=624,[4]=624},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mangrove_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=632,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=633,[5]=633,[6]=633,[7]=633,[8]=633,[9]=633},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:map\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=642,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=140,[2]=140,[3]=140,[4]=140,[5]=258,[6]=140,[7]=140,[8]=140,[9]=140},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_from_moss_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=649,[\"count\"]=1,[\"ingredients\"]={{28,1,false},{648,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"mossy_cobblestone\"},[\"special\"]=false},[\"minecraft:mossy_stone_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=654,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=655,[2]=655,[3]=655},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mud_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=658,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=659,[2]=659,[3]=659},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mushroom_stew\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=666,[\"count\"]=1,[\"ingredients\"]={{463,1,false},{667,1,false},{71,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:nether_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=674,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=216,[2]=216,[3]=216,[4]=216,[5]=216,[6]=216},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:netherite_helmet_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=682,[\"count\"]=1,[\"ingredients\"]={{373,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_shovel_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=688,[\"count\"]=1,[\"ingredients\"]={{377,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oak_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=696,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=8,[3]=692,[4]=692,[5]=8,[6]=692},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:oak_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=705,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=692,[3]=692,[4]=692,[5]=692,[6]=692},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:orange_dye_from_orange_tulip\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=413,[\"count\"]=1,[\"ingredients\"]={{712,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"orange_dye\"},[\"special\"]=false},[\"minecraft:oxidized_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=718,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=719,[2]=719},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=719,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=721,[2]=721,[3]=721},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:painting\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=726,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=8,[3]=8,[4]=8,[5]=-727,[6]=8,[7]=8,[8]=8,[9]=8},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:pink_dye_from_pink_petals\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=417,[\"count\"]=1,[\"ingredients\"]={{733,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"pink_dye\"},[\"special\"]=false},[\"minecraft:piston\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=739,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=28,[5]=22,[6]=28,[7]=28,[8]=243,[9]=28},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=742,[\"count\"]=1,[\"ingredients\"]={{740,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=746,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=292,[4]=292,[5]=292,[7]=292,[8]=292,[9]=292},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=292,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=219,[2]=219,[3]=219,[4]=219},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=218,[\"count\"]=2,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=359,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=754,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite_stairs_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=757,[\"count\"]=1,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_granite_stairs_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=760,[\"count\"]=1,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_stairs_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=762,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:prismarine_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=767,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=768,[2]=768,[3]=768},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:prismarine_stairs_from_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=771,[\"count\"]=1,[\"ingredients\"]={{766,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:purple_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=422,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=423,[2]=423},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:purpur_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=783,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=445,[2]=445,[3]=445,[4]=445},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=222,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=257,[2]=257,[3]=257,[4]=257},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=790,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:raw_copper_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=794,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=283,[2]=283,[3]=283,[4]=283,[5]=283,[6]=283,[7]=283,[8]=283,[9]=283},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=800,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{425,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:red_nether_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=807,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=808,[2]=808,[3]=808},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=224,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=815,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=425,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:redstone_lamp\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=819,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=243,[4]=243,[5]=483,[6]=243,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=227,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:sentry_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=829,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=829,[3]=133,[4]=133,[5]=28,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:shulker_box_coloring\"]={[\"kind\"]=\"crafting_special_shulkerboxcoloring\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:smooth_basalt\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=841,[\"count\"]=1,[\"ingredients\"]={{744,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=846,[\"count\"]=2,[\"ingredients\"]={{845,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:smooth_stone\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=114,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:soul_lantern\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=857,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=184,[2]=184,[3]=184,[4]=184,[5]=858,[6]=184,[7]=184,[8]=184,[9]=184},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:spruce_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=866,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{863,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:spruce_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=875,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=864,[3]=864},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:stone\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=232,[\"count\"]=1,[\"ingredients\"]={{28,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:stone_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=885,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=231,[2]=231,[3]=231,[4]=231,[5]=231,[6]=231},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:stone_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=366,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=232,[2]=232},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:stripped_acacia_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=893,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=12,[2]=12,[3]=12,[4]=12},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:stripped_spruce_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=901,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=871,[2]=871,[3]=871,[4]=871},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:tide_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{905,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:tuff_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=236,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=238,[2]=238,[3]=238},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:tuff_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=911,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=238,[2]=238,[3]=238,[4]=238,[5]=238,[6]=238},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:tuff_slab_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=234,[\"count\"]=2,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:ward_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=917,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=917,[3]=133,[4]=133,[5]=213,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:warped_hyphae\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=926,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=927,[2]=927,[3]=927,[4]=927},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:waxed_chiseled_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=934,[\"count\"]=1,[\"ingredients\"]={{207,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_chiseled_copper\"},[\"special\"]=false},[\"minecraft:waxed_copper_grate_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=939,[\"count\"]=1,[\"ingredients\"]={{280,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_copper_grate\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=935,[\"count\"]=8,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_chiseled_copper_from_waxed_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=942,[\"count\"]=4,[\"ingredients\"]={{944,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_grate_from_waxed_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=949,[\"count\"]=4,[\"ingredients\"]={{944,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=943,[\"count\"]=2,[\"ingredients\"]={{945,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_chiseled_copper_from_waxed_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=953,[\"count\"]=1,[\"ingredients\"]={{956,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_trapdoor_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=961,[\"count\"]=1,[\"ingredients\"]={{962,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_copper_trapdoor\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=963,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=956,[4]=956,[5]=956,[7]=956,[8]=956,[9]=956},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=969,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=967,[4]=967,[5]=116,[6]=967,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=968,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=967,[2]=967,[3]=967,[4]=967},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_stairs_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=980,[\"count\"]=1,[\"ingredients\"]={{981,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:weathered_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=970,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=973,[4]=973,[5]=116,[6]=973,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:weathered_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=981,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=978,[4]=978,[5]=978,[7]=978,[8]=978,[9]=978},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:white_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=985,[\"count\"]=8,[\"ingredients\"]={{429,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:white_wool_from_string\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=431,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=144,[2]=144,[3]=144,[4]=144},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:wooden_shovel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=998,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=8,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_dye_from_dandelion\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=433,[\"count\"]=1,[\"ingredients\"]={{1004,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"yellow_dye\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-5.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=7,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=8,[3]=2,[4]=2,[5]=8,[6]=2},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:acacia_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=18,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=2,[2]=2,[3]=2,[4]=2,[5]=2,[6]=2},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:andesite_stairs_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=30,[\"count\"]=1,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:baked_potato_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=39,[\"count\"]=1,[\"ingredients\"]={{40,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:bamboo_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=50,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=51,[5]=51,[6]=51,[7]=51,[8]=51,[9]=51},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:bamboo_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=53,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=44,[3]=44},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:birch_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=73,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=74,[3]=74,[4]=74,[5]=74,[6]=74},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:birch_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=83,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=74},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:black_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=93,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{95,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:black_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=105,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=95,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:blast_furnace\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=112,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[5]=113,[6]=22,[7]=114,[8]=114,[9]=114},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:blue_dye_from_cornflower\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=121,[\"count\"]=1,[\"ingredients\"]={{125,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"blue_dye\"},[\"special\"]=false},[\"minecraft:bolt_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{132,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:bowl\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=71,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[3]=-62,[5]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=154,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=152,[2]=152,[3]=152,[4]=152,[5]=152,[6]=152},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:brown_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=159,[\"count\"]=1,[\"ingredients\"]={{162,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"brown_dye\"},[\"special\"]=false},[\"minecraft:cake\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=170,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=171,[2]=171,[3]=171,[4]=172,[5]=173,[6]=172,[7]=146,[8]=146,[9]=146},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:charcoal\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=185,[\"count\"]=1,[\"ingredients\"]={{186,1,true}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.15,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=188,[\"count\"]=4,[\"ingredients\"]={{196,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:chest_minecart\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=204,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{205,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=214,[\"count\"]=1,[\"ingredients\"]={{216,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_sandstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=226,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=227,[2]=227},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_tuff_bricks_from_tuff_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=235,[\"count\"]=1,[\"ingredients\"]={{238,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:coal_from_blasting_deepslate_coal_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=244,[\"count\"]=1,[\"ingredients\"]={{247,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.1,[\"category\"]=\"misc\",[\"group\"]=\"coal\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=251,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=213,[4]=213,[5]=213,[7]=213,[8]=213,[9]=213},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cobblestone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=255,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=28,[3]=28,[4]=28,[5]=28,[6]=28},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cooked_beef_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=263,[\"count\"]=1,[\"ingredients\"]={{264,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_mutton_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=269,[\"count\"]=1,[\"ingredients\"]={{270,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_salmon\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=275,[\"count\"]=1,[\"ingredients\"]={{276,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_grate_from_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=280,[\"count\"]=4,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:copper_ingot_from_waxed_copper_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=168,[\"count\"]=9,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:crafting_table\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=295,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:crimson_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=300,[\"count\"]=4,[\"ingredients\"]={{308,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:cut_copper_from_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=210,[\"count\"]=4,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_red_sandstone_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=317,[\"count\"]=1,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_sandstone_slab_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=320,[\"count\"]=2,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cyan_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=330,[\"count\"]=1,[\"ingredients\"]={{331,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:dark_oak_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=338,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=335,[3]=335,[4]=335,[5]=335,[6]=335},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:dark_oak_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=347,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=335,[4]=335,[5]=335,[7]=335,[8]=335,[9]=335},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:daylight_detector\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=355,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=257,[5]=257,[6]=257,[7]=-63,[8]=-63,[9]=-63},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:deepslate_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=360,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=287,[4]=287,[5]=287,[7]=287,[8]=287,[9]=287},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=287,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=359,[2]=359,[3]=359,[4]=359},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_tile_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=363,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=289,[4]=289,[5]=289,[7]=289,[8]=289,[9]=289},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=364,[\"count\"]=1,[\"ingredients\"]={{289,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond_axe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=368,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=133,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diamond_helmet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=373,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=133,[4]=133,[6]=133},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diorite_slab_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=379,[\"count\"]=2,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:dried_kelp_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=383,[\"count\"]=1,[\"ingredients\"]={{385,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.1,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:dye_black_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=96,[\"count\"]=1,[\"ingredients\"]={{95,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_cyan_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=323,[\"count\"]=1,[\"ingredients\"]={{325,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_green_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=395,[\"count\"]=1,[\"ingredients\"]={{328,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_lime_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=406,[\"count\"]=1,[\"ingredients\"]={{405,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_pink_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=416,[\"count\"]=1,[\"ingredients\"]={{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_red_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=427,[\"count\"]=1,[\"ingredients\"]={{425,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:emerald_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=437,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=436,[2]=436,[3]=436,[4]=436,[5]=436,[6]=436,[7]=436,[8]=436,[9]=436},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:end_stone_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=446,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=447,[2]=447,[3]=447},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:end_stone_brick_wall_from_end_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=450,[\"count\"]=1,[\"ingredients\"]={{448,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=457,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=455,[4]=455,[5]=116,[6]=455,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:exposed_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=459,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=456,[4]=456,[5]=456,[7]=456,[8]=456,[9]=456},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:firework_rocket_simple\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=466,[\"count\"]=3,[\"ingredients\"]={{465,1,false},{140,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:flower_banner_pattern\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=471,[\"count\"]=1,[\"ingredients\"]={{140,1,false},{472,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:glow_item_frame\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=480,[\"count\"]=1,[\"ingredients\"]={{481,1,false},{482,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_nuggets\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=478,[2]=478,[3]=478,[4]=478,[5]=478,[6]=478,[7]=478,[8]=478,[9]=478},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:golden_apple\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=490,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[4]=242,[5]=491,[6]=242,[7]=242,[8]=242,[9]=242},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:golden_pickaxe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=499,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[5]=8,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=505,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=502,[2]=502,[3]=502,[4]=502,[5]=502,[6]=502},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gray_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=509,[\"count\"]=1,[\"ingredients\"]={{510,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:green_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=394,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=395,[2]=395},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:grindstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=521,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=522,[3]=8,[4]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:host_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=530,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=530,[3]=133,[4]=133,[5]=107,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:iron_helmet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=536,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[6]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_smelting_iron_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{539,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_sword\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=544,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:jungle_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=554,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=551,[3]=551,[4]=551,[5]=551,[6]=551},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:jungle_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=563,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=551,[4]=551,[5]=551,[7]=551,[8]=551,[9]=551},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:lapis_lazuli_from_blasting_lapis_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=124,[\"count\"]=1,[\"ingredients\"]={{571,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.2,[\"category\"]=\"misc\",[\"group\"]=\"lapis_lazuli\"},[\"special\"]=false},[\"minecraft:leather_horse_armor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=578,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=141,[3]=141,[4]=141,[5]=141,[6]=141,[7]=141,[9]=141},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:light_blue_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=584,[\"count\"]=8,[\"ingredients\"]={{397,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:light_gray_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=590,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=403,[2]=403,[3]=403,[4]=403,[5]=403,[6]=403,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:light_gray_dye_from_oxeye_daisy\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=401,[\"count\"]=1,[\"ingredients\"]={{472,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_gray_dye\"},[\"special\"]=false},[\"minecraft:lightning_rod\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=600,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=168,[2]=168,[3]=168},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:lime_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=605,[\"count\"]=1,[\"ingredients\"]={{606,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:magenta_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=614,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=411,[2]=411,[3]=411,[4]=411,[5]=411,[6]=411,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:magenta_dye_from_lilac\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=409,[\"count\"]=2,[\"ingredients\"]={{618,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"magenta_dye\"},[\"special\"]=false},[\"minecraft:magma_cream\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=624,[\"count\"]=1,[\"ingredients\"]={{115,1,false},{573,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mangrove_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=626,[\"count\"]=4,[\"ingredients\"]={{634,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:map_cloning\"]={[\"kind\"]=\"crafting_special_mapcloning\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:mossy_cobblestone_from_vine\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=649,[\"count\"]=1,[\"ingredients\"]={{28,1,false},{650,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"mossy_cobblestone\"},[\"special\"]=false},[\"minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=654,[\"count\"]=2,[\"ingredients\"]={{655,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mud_brick_slab_from_mud_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=658,[\"count\"]=2,[\"ingredients\"]={{659,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:music_disc_5\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=668,[\"count\"]=1,[\"ingredients\"]={{669,1,false},{669,1,false},{669,1,false},{669,1,false},{669,1,false},{669,1,false},{669,1,false},{669,1,false},{669,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:nether_brick_wall_from_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=674,[\"count\"]=1,[\"ingredients\"]={{216,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_hoe_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=683,[\"count\"]=1,[\"ingredients\"]={{374,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_sword_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=689,[\"count\"]=1,[\"ingredients\"]={{378,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oak_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=697,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=692,[3]=8,[4]=8,[5]=692,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:oak_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=706,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=707,[2]=707,[3]=707,[4]=707},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:orange_dye_from_red_yellow\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=413,[\"count\"]=2,[\"ingredients\"]={{425,1,false},{433,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"orange_dye\"},[\"special\"]=false},[\"minecraft:oxidized_chiseled_copper_from_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=718,[\"count\"]=4,[\"ingredients\"]={{720,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=719,[\"count\"]=8,[\"ingredients\"]={{720,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:paper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=140,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=728,[2]=728,[3]=728},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:pink_dye_from_pink_tulip\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=417,[\"count\"]=1,[\"ingredients\"]={{734,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"pink_dye\"},[\"special\"]=false},[\"minecraft:polished_andesite\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=740,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=26,[2]=26,[3]=26,[4]=26},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_basalt\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=743,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=744,[2]=744,[3]=744,[4]=744},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=746,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_bricks_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=292,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=750,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=219,[4]=219,[5]=219,[7]=219,[8]=219,[9]=219},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_deepslate_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=752,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=359,[2]=359,[3]=359},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=754,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=757,[\"count\"]=1,[\"ingredients\"]={{755,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_granite_stairs_from_polished_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=760,[\"count\"]=1,[\"ingredients\"]={{758,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_stairs_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=762,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:prismarine_brick_slab_from_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=767,[\"count\"]=2,[\"ingredients\"]={{768,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:prismarine_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=772,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=766,[2]=766,[3]=766,[4]=766,[5]=766,[6]=766},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:purple_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=778,[\"count\"]=8,[\"ingredients\"]={{421,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:purpur_pillar\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=784,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=785,[2]=785},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=788,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=222,[2]=222,[3]=222,[4]=222},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_stairs_from_quartz_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=790,[\"count\"]=1,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:raw_gold\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=489,[\"count\"]=9,[\"ingredients\"]={{795,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:red_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=426,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=427,[2]=427},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=807,[\"count\"]=2,[\"ingredients\"]={{808,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:red_sandstone_slab_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=224,[\"count\"]=2,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:red_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=806,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=425,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:redstone_torch\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=23,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=243,[2]=8},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:sandstone_slab_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=227,[\"count\"]=2,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:sentry_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{829,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:silence_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=835,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=835,[3]=133,[4]=133,[5]=213,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smooth_quartz\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=842,[\"count\"]=1,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:smooth_red_sandstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=847,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=845,[4]=845,[5]=845,[7]=845,[8]=845,[9]=845},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:smooth_stone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=35,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=114,[2]=114,[3]=114},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:soul_torch\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=858,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=8,[3]=-856},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:spruce_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=867,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=864,[3]=864,[4]=864,[5]=864,[6]=864},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:spruce_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=876,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=864,[4]=864,[5]=864,[7]=864,[8]=864,[9]=864},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:stone_axe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=882,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-883,[2]=-883,[3]=-883,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stone_brick_wall_from_stone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=885,[\"count\"]=1,[\"ingredients\"]={{231,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_shovel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=889,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-883,[2]=8,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stripped_birch_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=894,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=81,[2]=81,[3]=81,[4]=81},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:stripped_warped_hyphae\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=902,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=903,[2]=903,[3]=903,[4]=903},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:tinted_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=906,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[2]=25,[4]=25,[5]=65,[6]=25,[8]=25},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:tuff_brick_slab_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=236,[\"count\"]=2,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_brick_wall_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=911,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=912,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=239,[4]=239,[5]=239,[7]=239,[8]=239,[9]=239},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:ward_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{917,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:warped_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=919,[\"count\"]=4,[\"ingredients\"]={{928,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:waxed_chiseled_copper_from_waxed_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=934,[\"count\"]=4,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_copper_grate_from_waxed_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=939,[\"count\"]=4,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=935,[\"count\"]=2,[\"ingredients\"]={{936,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_chiseled_copper_from_waxed_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=942,[\"count\"]=1,[\"ingredients\"]={{945,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_trapdoor_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=950,[\"count\"]=1,[\"ingredients\"]={{951,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_copper_trapdoor\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=952,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=945,[4]=945,[5]=945,[7]=945,[8]=945,[9]=945},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=957,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=955,[4]=955,[5]=116,[6]=955,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=956,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=955,[2]=955,[3]=955,[4]=955},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_stairs_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=963,[\"count\"]=1,[\"ingredients\"]={{724,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_bulb_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=969,[\"count\"]=1,[\"ingredients\"]={{970,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_copper_bulb\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=968,[\"count\"]=1,[\"ingredients\"]={{978,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=980,[\"count\"]=4,[\"ingredients\"]={{967,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=975,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=973,[4]=973,[6]=973,[8]=973},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=981,[\"count\"]=4,[\"ingredients\"]={{973,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=429,[\"count\"]=1,[\"ingredients\"]={{137,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"white_dye\"},[\"special\"]=false},[\"minecraft:wild_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=991,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=991,[3]=133,[4]=133,[5]=649,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:wooden_sword\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=999,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_dye_from_sunflower\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=433,[\"count\"]=2,[\"ingredients\"]={{1005,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"yellow_dye\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-6.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=9,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=2,[3]=8,[4]=8,[5]=2,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:acacia_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=19,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=20,[2]=20,[3]=20,[4]=20},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:andesite_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=31,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=26,[2]=26,[3]=26,[4]=26,[5]=26,[6]=26},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:baked_potato_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=39,[\"count\"]=1,[\"ingredients\"]={{40,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:bamboo_mosaic\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=52,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=53,[2]=53},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:bamboo_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=59,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=44,[4]=44,[5]=44,[7]=44,[8]=44,[9]=44},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:birch_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=75,[\"count\"]=1,[\"ingredients\"]={{74,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:birch_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=84,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=74,[3]=74,[4]=74,[5]=74,[6]=74,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:black_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=96,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=91,[2]=91},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:black_terracotta\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=103,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=107,[2]=107,[3]=107,[4]=107,[5]=95,[6]=107,[7]=107,[8]=107,[9]=107},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_terracotta\"},[\"special\"]=false},[\"minecraft:blaze_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=115,[\"count\"]=2,[\"ingredients\"]={{116,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:blue_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=126,[\"count\"]=1,[\"ingredients\"]={{127,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:bone_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=136,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=137,[2]=137,[3]=137,[4]=137,[5]=137,[6]=137,[7]=137,[8]=137,[9]=137},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:bread\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=145,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=146,[2]=146,[3]=146},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:brick_wall_from_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=154,[\"count\"]=1,[\"ingredients\"]={{152,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:brown_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=163,[\"count\"]=1,[\"ingredients\"]={{164,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:calibrated_sculk_sensor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=174,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=25,[4]=25,[5]=175,[6]=25},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:cherry_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=187,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=188,[3]=188,[4]=188,[5]=188,[6]=188},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:cherry_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=197,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=188},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:chiseled_bookshelf\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=206,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=-63,[5]=-63,[6]=-63,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_polished_blackstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=217,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=218,[2]=218},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_sandstone_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=226,[\"count\"]=1,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_tuff_bricks_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=235,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:coal_from_smelting_coal_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=244,[\"count\"]=1,[\"ingredients\"]={{246,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\",[\"group\"]=\"coal\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=251,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cobblestone_wall_from_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=255,[\"count\"]=1,[\"ingredients\"]={{28,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cooked_chicken\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=265,[\"count\"]=1,[\"ingredients\"]={{266,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_mutton_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=269,[\"count\"]=1,[\"ingredients\"]={{270,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_salmon_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=275,[\"count\"]=1,[\"ingredients\"]={{276,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_ingot\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=168,[\"count\"]=9,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:copper_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=285,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=168,[2]=168,[3]=168,[4]=168,[5]=168,[6]=168},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:creeper_banner_pattern\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=297,[\"count\"]=1,[\"ingredients\"]={{140,1,false},{298,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:crimson_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=309,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=300},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=208,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=210,[2]=210,[3]=210},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cut_red_sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=318,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=317,[2]=317,[3]=317},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cyan_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=321,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=322,[2]=322,[3]=322,[4]=322,[5]=322,[6]=322,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:cyan_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=332,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=325,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:dark_oak_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=339,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=8,[3]=335,[4]=335,[5]=8,[6]=335},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:dark_oak_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=348,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=335,[2]=335,[3]=335,[4]=335,[5]=335,[6]=335},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:decorated_pot\"]={[\"kind\"]=\"crafting_decorated_pot\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=360,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=287,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=363,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=364,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=367,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=133,[4]=133,[5]=133,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:diamond_hoe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=374,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diorite_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=380,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=27,[4]=27,[5]=27,[7]=27,[8]=27,[9]=27},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:dried_kelp_from_smelting\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=383,[\"count\"]=1,[\"ingredients\"]={{385,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:dye_black_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=91,[\"count\"]=1,[\"ingredients\"]={{95,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_cyan_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=326,[\"count\"]=1,[\"ingredients\"]={{325,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_light_blue_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=396,[\"count\"]=1,[\"ingredients\"]={{397,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_lime_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=407,[\"count\"]=1,[\"ingredients\"]={{405,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_pink_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=418,[\"count\"]=1,[\"ingredients\"]={{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_white_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=428,[\"count\"]=1,[\"ingredients\"]={{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:emerald_from_blasting_deepslate_emerald_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=436,[\"count\"]=1,[\"ingredients\"]={{438,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"emerald\"},[\"special\"]=false},[\"minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=446,[\"count\"]=2,[\"ingredients\"]={{447,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:end_stone_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=447,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=448,[2]=448,[3]=448,[4]=448},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:exposed_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=458,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=455,[4]=455,[6]=455,[8]=455},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=459,[\"count\"]=4,[\"ingredients\"]={{455,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:firework_star\"]={[\"kind\"]=\"crafting_special_firework_star\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:flower_pot\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=473,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=149,[3]=149,[5]=149},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:glowstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=483,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=484,[2]=484,[3]=484,[4]=484},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_smelting_deepslate_gold_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{486,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:golden_axe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=492,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:golden_shovel\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=500,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=8,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:granite_wall_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=505,[\"count\"]=1,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:gray_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=511,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=390,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:green_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=515,[\"count\"]=8,[\"ingredients\"]={{328,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:hay_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=523,[\"count\"]=1,[\"ingredients\"]={{146,1,false},{146,1,false},{146,1,false},{146,1,false},{146,1,false},{146,1,false},{146,1,false},{146,1,false},{146,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:host_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{530,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:iron_hoe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=537,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_smelting_raw_iron\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{540,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=545,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:jungle_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=555,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=8,[3]=551,[4]=551,[5]=8,[6]=551},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:jungle_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=564,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=551,[2]=551,[3]=551,[4]=551,[5]=551,[6]=551},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=124,[\"count\"]=1,[\"ingredients\"]={{570,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.2,[\"category\"]=\"misc\",[\"group\"]=\"lapis_lazuli\"},[\"special\"]=false},[\"minecraft:leather_leggings\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=579,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=141,[2]=141,[3]=141,[4]=141,[6]=141,[7]=141,[9]=141},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:light_blue_dye_from_blue_orchid\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=397,[\"count\"]=1,[\"ingredients\"]={{585,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_blue_dye\"},[\"special\"]=false},[\"minecraft:light_gray_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=400,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=403,[2]=403,[3]=403,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:light_gray_dye_from_white_tulip\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=401,[\"count\"]=1,[\"ingredients\"]={{594,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_gray_dye\"},[\"special\"]=false},[\"minecraft:lime_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=601,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=407,[2]=407,[3]=407,[4]=407,[5]=407,[6]=407,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:lime_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=607,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=405,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:magenta_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=408,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=411,[2]=411,[3]=411,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:magenta_dye_from_purple_and_pink\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=409,[\"count\"]=2,[\"ingredients\"]={{421,1,false},{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"magenta_dye\"},[\"special\"]=false},[\"minecraft:mangrove_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=625,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=626,[3]=626,[4]=626,[5]=626,[6]=626},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:mangrove_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=635,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=626},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:map_extending\"]={[\"kind\"]=\"crafting_special_mapextending\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:mossy_cobblestone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=651,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=649,[2]=649,[3]=649},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mossy_stone_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=656,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=655,[4]=655,[5]=655,[7]=655,[8]=655,[9]=655},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mud_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=660,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=659,[4]=659,[5]=659,[7]=659,[8]=659,[9]=659},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:nether_brick\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=670,[\"count\"]=1,[\"ingredients\"]={{671,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:nether_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=216,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=670,[2]=670,[3]=670,[4]=670},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:netherite_ingot\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=610,[\"count\"]=1,[\"ingredients\"]={{684,1,false},{684,1,false},{684,1,false},{684,1,false},{242,1,false},{242,1,false},{242,1,false},{242,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"netherite_ingot\"},[\"special\"]=false},[\"minecraft:netherite_upgrade_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=678,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=678,[3]=133,[4]=133,[5]=671,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:oak_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=698,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=699,[5]=699,[6]=699,[7]=699,[8]=699,[9]=699},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:observer\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=708,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=28,[2]=28,[3]=28,[4]=243,[5]=243,[6]=257,[7]=28,[8]=28,[9]=28},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:orange_dye_from_torchflower\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=413,[\"count\"]=1,[\"ingredients\"]={{713,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"orange_dye\"},[\"special\"]=false},[\"minecraft:oxidized_chiseled_copper_from_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=718,[\"count\"]=1,[\"ingredients\"]={{721,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=719,[\"count\"]=2,[\"ingredients\"]={{721,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:pink_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=729,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=419,[2]=419,[3]=419,[4]=419,[5]=419,[6]=419,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:pink_dye_from_red_white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=417,[\"count\"]=2,[\"ingredients\"]={{425,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"pink_dye\"},[\"special\"]=false},[\"minecraft:polished_andesite_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=740,[\"count\"]=1,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_basalt_from_basalt_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=743,[\"count\"]=1,[\"ingredients\"]={{744,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=746,[\"count\"]=1,[\"ingredients\"]={{292,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=292,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_stairs_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=750,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=752,[\"count\"]=2,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=755,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=27,[2]=27,[3]=27,[4]=27},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_granite\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=758,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=502,[2]=502,[3]=502,[4]=502},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_tuff\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=237,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=239,[2]=239,[3]=239,[4]=239},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_tuff_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=763,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=237,[2]=237,[3]=237,[4]=237,[5]=237,[6]=237},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:prismarine_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=769,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=768,[4]=768,[5]=768,[7]=768,[8]=768,[9]=768},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:prismarine_wall_from_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=772,[\"count\"]=1,[\"ingredients\"]={{766,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:purple_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=421,[\"count\"]=2,[\"ingredients\"]={{121,1,false},{425,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:purpur_pillar_from_purpur_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=784,[\"count\"]=1,[\"ingredients\"]={{783,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:quartz_bricks_from_quartz_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=788,[\"count\"]=1,[\"ingredients\"]={{222,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:rabbit_stew_from_brown_mushroom\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=791,[\"count\"]=1,[\"ingredients\"]={{39,1,false},{273,1,false},{71,1,false},{181,1,false},{463,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"rabbit_stew\"},[\"special\"]=false},[\"minecraft:raw_gold_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=795,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=489,[2]=489,[3]=489,[4]=489,[5]=489,[6]=489,[7]=489,[8]=489,[9]=489},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=801,[\"count\"]=8,[\"ingredients\"]={{425,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:red_nether_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=809,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=808,[4]=808,[5]=808,[7]=808,[8]=808,[9]=808},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_sandstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=812,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:redstone\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=243,[\"count\"]=9,[\"ingredients\"]={{816,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:repair_item\"]={[\"kind\"]=\"crafting_special_repairitem\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:sandstone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=824,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:shaper_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=830,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=830,[3]=133,[4]=133,[5]=107,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:silence_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{835,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:smooth_quartz_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=843,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=842,[2]=842,[3]=842},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=847,[\"count\"]=1,[\"ingredients\"]={{845,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:smooth_stone_slab_from_smooth_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=35,[\"count\"]=2,[\"ingredients\"]={{114,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:spectral_arrow\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=859,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[2]=484,[4]=484,[5]=36,[6]=484,[8]=484},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:spruce_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=868,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=8,[3]=864,[4]=864,[5]=8,[6]=864},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:spruce_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=877,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=864,[2]=864,[3]=864,[4]=864,[5]=864,[6]=864},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:stone_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=230,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=231,[2]=231,[3]=231},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:stone_brick_walls_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=885,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=522,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=232,[2]=232,[3]=232},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:stripped_cherry_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=895,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=195,[2]=195,[3]=195,[4]=195},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:sugar_from_honey_bottle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=172,[\"count\"]=3,[\"ingredients\"]={{526,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"sugar\"},[\"special\"]=false},[\"minecraft:tipped_arrow\"]={[\"kind\"]=\"crafting_special_tippedarrow\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:tuff_brick_slab_from_tuff_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=236,[\"count\"]=2,[\"ingredients\"]={{238,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_brick_wall_from_tuff_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=911,[\"count\"]=1,[\"ingredients\"]={{238,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_stairs_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=912,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:warped_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=918,[\"count\"]=1,[\"ingredients\"]={{919,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:warped_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=929,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=919},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:waxed_chiseled_copper_from_waxed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=934,[\"count\"]=1,[\"ingredients\"]={{936,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_copper_trapdoor_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=940,[\"count\"]=1,[\"ingredients\"]={{285,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_copper_trapdoor\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=941,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=936,[4]=936,[5]=936,[7]=936,[8]=936,[9]=936},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=946,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=944,[4]=944,[5]=116,[6]=944,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=945,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=944,[2]=944,[3]=944,[4]=944},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_stairs_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=952,[\"count\"]=1,[\"ingredients\"]={{459,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_bulb_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=957,[\"count\"]=1,[\"ingredients\"]={{722,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_copper_bulb\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=956,[\"count\"]=1,[\"ingredients\"]={{721,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=963,[\"count\"]=4,[\"ingredients\"]={{955,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_door_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=971,[\"count\"]=1,[\"ingredients\"]={{972,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_copper_door\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=968,[\"count\"]=4,[\"ingredients\"]={{967,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=980,[\"count\"]=1,[\"ingredients\"]={{968,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_copper_grate_from_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=975,[\"count\"]=4,[\"ingredients\"]={{973,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=981,[\"count\"]=1,[\"ingredients\"]={{978,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:white_dye_from_lily_of_the_valley\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=429,[\"count\"]=1,[\"ingredients\"]={{986,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"white_dye\"},[\"special\"]=false},[\"minecraft:wild_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{991,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:writable_book\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1000,[\"count\"]=1,[\"ingredients\"]={{139,1,false},{100,1,false},{38,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:yellow_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=1006,[\"count\"]=1,[\"ingredients\"]={{1007,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-7.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=10,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=12,[5]=12,[6]=12,[7]=12,[8]=12,[9]=12},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:activator_rail\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=21,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=8,[3]=22,[4]=22,[5]=23,[6]=22,[7]=22,[8]=8,[9]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:andesite_wall_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=31,[\"count\"]=1,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:bamboo_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=41,[\"count\"]=1,[\"ingredients\"]={{42,1,false},{42,1,false},{42,1,false},{42,1,false},{42,1,false},{42,1,false},{42,1,false},{42,1,false},{42,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:bamboo_mosaic_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=54,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=52,[2]=52,[3]=52},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:bamboo_trapdoor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=60,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=44,[2]=44,[3]=44,[4]=44,[5]=44,[6]=44},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_trapdoor\"},[\"special\"]=false},[\"minecraft:birch_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=76,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{73,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:birch_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=85,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=74,[3]=74},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:black_concrete_powder\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=97,[\"count\"]=8,[\"ingredients\"]={{95,1,false},{98,1,false},{98,1,false},{98,1,false},{98,1,false},{99,1,false},{99,1,false},{99,1,false},{99,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"concrete_powder\"},[\"special\"]=false},[\"minecraft:blackstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=108,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=109,[2]=109,[3]=109},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:blue_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=117,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=118,[2]=118,[3]=118,[4]=118,[5]=118,[6]=118,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:blue_ice\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=128,[\"count\"]=1,[\"ingredients\"]={{129,1,false},{129,1,false},{129,1,false},{129,1,false},{129,1,false},{129,1,false},{129,1,false},{129,1,false},{129,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:bone_meal\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=137,[\"count\"]=3,[\"ingredients\"]={{138,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bonemeal\"},[\"special\"]=false},[\"minecraft:brewing_stand\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=147,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=116,[4]=-148,[5]=-148,[6]=-148},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=152,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=149,[2]=149,[3]=149,[4]=149},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:brown_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=165,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=159,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:campfire\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=176,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=8,[4]=8,[5]=-177,[6]=8,[7]=-178,[8]=-178,[9]=-178},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=189,[\"count\"]=1,[\"ingredients\"]={{188,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:cherry_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=198,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=188,[3]=188,[4]=188,[5]=188,[6]=188,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=207,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=208,[2]=208},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=217,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_stone_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=229,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=230,[2]=230},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:chiseled_tuff_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=233,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:coal_from_smelting_deepslate_coal_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=244,[\"count\"]=1,[\"ingredients\"]={{247,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"misc\",[\"group\"]=\"coal\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=252,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=213,[2]=213,[3]=213,[4]=213,[5]=213,[6]=213},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:comparator\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=256,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=23,[4]=23,[5]=257,[6]=23,[7]=232,[8]=232,[9]=232},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:cooked_chicken_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=265,[\"count\"]=1,[\"ingredients\"]={{266,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_porkchop\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=271,[\"count\"]=1,[\"ingredients\"]={{272,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_salmon_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=275,[\"count\"]=1,[\"ingredients\"]={{276,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_blasting_copper_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{281,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:cracked_deepslate_bricks\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=286,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:crimson_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=299,[\"count\"]=1,[\"ingredients\"]={{300,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:crimson_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=310,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=300,[3]=300,[4]=300,[5]=300,[6]=300,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:cut_copper_slab_from_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=208,[\"count\"]=8,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=318,[\"count\"]=2,[\"ingredients\"]={{317,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cyan_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=323,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=322,[2]=322,[3]=322,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:cyan_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=333,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=332,[2]=332,[3]=332,[4]=332,[5]=332,[6]=332},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:dark_oak_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=340,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=335,[3]=8,[4]=8,[5]=335,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:dark_oak_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=349,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=350,[2]=350,[3]=350,[4]=350},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:decorated_pot_simple\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=356,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=149,[4]=149,[6]=149,[8]=149},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=360,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_bricks_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=287,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=363,[\"count\"]=1,[\"ingredients\"]={{287,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tiles\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=289,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=287,[2]=287,[3]=287,[4]=287},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:diamond_boots\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=369,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[3]=133,[4]=133,[6]=133},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diamond_leggings\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=375,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=133,[4]=133,[6]=133,[7]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diorite_stairs_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=380,[\"count\"]=1,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:dried_kelp_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=383,[\"count\"]=1,[\"ingredients\"]={{385,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.1,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:dye_blue_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=119,[\"count\"]=1,[\"ingredients\"]={{121,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_cyan_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=322,[\"count\"]=1,[\"ingredients\"]={{325,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_light_blue_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=398,[\"count\"]=1,[\"ingredients\"]={{397,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_magenta_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=408,[\"count\"]=1,[\"ingredients\"]={{409,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_pink_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=419,[\"count\"]=1,[\"ingredients\"]={{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_white_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=430,[\"count\"]=1,[\"ingredients\"]={{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:emerald_from_blasting_emerald_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=436,[\"count\"]=1,[\"ingredients\"]={{439,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"emerald\"},[\"special\"]=false},[\"minecraft:end_stone_brick_slab_from_end_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=446,[\"count\"]=2,[\"ingredients\"]={{448,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:end_stone_bricks_from_end_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=447,[\"count\"]=1,[\"ingredients\"]={{448,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_copper_grate_from_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=458,[\"count\"]=4,[\"ingredients\"]={{455,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=459,[\"count\"]=1,[\"ingredients\"]={{456,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:firework_star_fade\"]={[\"kind\"]=\"crafting_special_firework_star_fade\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:furnace\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=113,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-148,[2]=-148,[3]=-148,[4]=-148,[6]=-148,[7]=-148,[8]=-148,[9]=-148},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=485,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=242,[4]=242,[5]=242,[6]=242,[7]=242,[8]=242,[9]=242},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_smelting_gold_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{487,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:golden_boots\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=493,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[3]=242,[4]=242,[6]=242},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:golden_sword\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=501,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=242,[2]=242,[3]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:gray_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=506,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=392,[2]=392,[3]=392,[4]=392,[5]=392,[6]=392,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:gray_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=512,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=511,[2]=511,[3]=511,[4]=511,[5]=511,[6]=511},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:green_dye\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=328,[\"count\"]=1,[\"ingredients\"]={{516,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:heavy_weighted_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=524,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:iron_axe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=531,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=8,[6]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_blasting_deepslate_iron_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{538,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_leggings\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=541,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[6]=22,[7]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:item_frame\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=481,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=8,[3]=8,[4]=8,[5]=141,[6]=8,[7]=8,[8]=8,[9]=8},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:jungle_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=556,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=551,[3]=8,[4]=8,[5]=551,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:jungle_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=565,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=566,[2]=566,[3]=566,[4]=566},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:lapis_lazuli_from_smelting_lapis_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=124,[\"count\"]=1,[\"ingredients\"]={{571,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.2,[\"category\"]=\"misc\",[\"group\"]=\"lapis_lazuli\"},[\"special\"]=false},[\"minecraft:lectern\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=580,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-63,[2]=-63,[3]=-63,[5]=142,[8]=-63},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:light_blue_dye_from_blue_white_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=397,[\"count\"]=2,[\"ingredients\"]={{121,1,false},{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"light_blue_dye\"},[\"special\"]=false},[\"minecraft:light_gray_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=591,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{401,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:light_gray_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=595,[\"count\"]=1,[\"ingredients\"]={{596,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:lime_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=404,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=407,[2]=407,[3]=407,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:lime_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=608,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=607,[2]=607,[3]=607,[4]=607,[5]=607,[6]=607},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:magenta_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=615,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{409,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:magenta_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=619,[\"count\"]=1,[\"ingredients\"]={{620,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:mangrove_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=627,[\"count\"]=1,[\"ingredients\"]={{626,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:mangrove_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=636,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=626,[3]=626,[4]=626,[5]=626,[6]=626,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:melon\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=643,[\"count\"]=1,[\"ingredients\"]={{479,1,false},{479,1,false},{479,1,false},{479,1,false},{479,1,false},{479,1,false},{479,1,false},{479,1,false},{479,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=651,[\"count\"]=2,[\"ingredients\"]={{649,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=656,[\"count\"]=1,[\"ingredients\"]={{655,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:mud_brick_stairs_from_mud_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=660,[\"count\"]=1,[\"ingredients\"]={{659,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:nether_brick_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=672,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=216,[2]=670,[3]=216,[4]=216,[5]=670,[6]=216},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:nether_wart_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=675,[\"count\"]=1,[\"ingredients\"]={{676,1,false},{676,1,false},{676,1,false},{676,1,false},{676,1,false},{676,1,false},{676,1,false},{676,1,false},{676,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:netherite_ingot_from_netherite_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=610,[\"count\"]=9,[\"ingredients\"]={{679,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"netherite_ingot\"},[\"special\"]=false},[\"minecraft:note_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=690,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=-62,[2]=-62,[3]=-62,[4]=-62,[5]=243,[6]=-62,[7]=-62,[8]=-62,[9]=-62},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:oak_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=692,[\"count\"]=4,[\"ingredients\"]={{700,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:orange_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=709,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=415,[2]=415,[3]=415,[4]=415,[5]=415,[6]=415,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:orange_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=714,[\"count\"]=1,[\"ingredients\"]={{715,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:oxidized_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=722,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=720,[4]=720,[5]=116,[6]=720,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=724,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=721,[4]=721,[5]=721,[7]=721,[8]=721,[9]=721},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:pink_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=416,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=419,[2]=419,[3]=419,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:pink_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=735,[\"count\"]=1,[\"ingredients\"]={{736,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:polished_andesite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=741,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=740,[2]=740,[3]=740},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=219,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=109,[2]=109,[3]=109,[4]=109},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=746,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=748,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=750,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=752,[\"count\"]=2,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_diorite_from_diorite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=755,[\"count\"]=1,[\"ingredients\"]={{27,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_granite_from_granite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=758,[\"count\"]=1,[\"ingredients\"]={{502,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=237,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_tuff_wall_from_polished_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=763,[\"count\"]=1,[\"ingredients\"]={{237,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:prismarine_brick_stairs_from_prismarine_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=769,[\"count\"]=1,[\"ingredients\"]={{768,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:pumpkin_pie\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=773,[\"count\"]=1,[\"ingredients\"]={{774,1,false},{172,1,false},{173,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:purple_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=779,[\"count\"]=1,[\"ingredients\"]={{780,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:purpur_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=785,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:quartz_from_blasting\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=257,[\"count\"]=1,[\"ingredients\"]={{787,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.2,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:rabbit_stew_from_red_mushroom\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=791,[\"count\"]=1,[\"ingredients\"]={{39,1,false},{273,1,false},{71,1,false},{181,1,false},{667,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"rabbit_stew\"},[\"special\"]=false},[\"minecraft:raw_iron\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=540,[\"count\"]=9,[\"ingredients\"]={{796,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:red_dye_from_beetroot\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=425,[\"count\"]=1,[\"ingredients\"]={{72,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"red_dye\"},[\"special\"]=false},[\"minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=809,[\"count\"]=1,[\"ingredients\"]={{808,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=812,[\"count\"]=1,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:redstone_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=816,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=243,[2]=243,[3]=243,[4]=243,[5]=243,[6]=243,[7]=243,[8]=243,[9]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:repeater\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=820,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=23,[2]=243,[3]=23,[4]=232,[5]=232,[6]=232},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:sandstone_stairs_from_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=824,[\"count\"]=1,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:shaper_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{830,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:skull_banner_pattern\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=836,[\"count\"]=1,[\"ingredients\"]={{140,1,false},{837,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smooth_quartz_slab_from_smooth_quartz_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=843,[\"count\"]=2,[\"ingredients\"]={{842,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:smooth_sandstone\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=848,[\"count\"]=1,[\"ingredients\"]={{228,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:snout_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=851,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=851,[3]=133,[4]=133,[5]=109,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:spire_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=860,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=860,[3]=133,[4]=133,[5]=783,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:spruce_fence_gate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=869,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=864,[3]=8,[4]=8,[5]=864,[6]=8},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_fence_gate\"},[\"special\"]=false},[\"minecraft:spruce_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=878,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=879,[2]=879,[3]=879,[4]=879},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:stone_brick_slab_from_stone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=230,[\"count\"]=2,[\"ingredients\"]={{231,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=231,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=232,[2]=232,[3]=232,[4]=232},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:stone_slab_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=522,[\"count\"]=2,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stripped_crimson_hyphae\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=896,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=305,[2]=305,[3]=305,[4]=305},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:sugar_from_sugar_cane\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=172,[\"count\"]=1,[\"ingredients\"]={{728,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"sugar\"},[\"special\"]=false},[\"minecraft:tnt\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=907,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=465,[3]=465,[5]=465,[7]=465,[9]=465},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:tuff_brick_slab_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=236,[\"count\"]=2,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_brick_wall_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=911,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:tuff_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=913,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=239,[2]=239,[3]=239,[4]=239,[5]=239,[6]=239},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:warped_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=920,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=919,[3]=919,[4]=919,[5]=919,[6]=919},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:warped_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=930,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=919,[3]=919,[4]=919,[5]=919,[6]=919,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_sign\"},[\"special\"]=false},[\"minecraft:waxed_copper_block_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=284,[\"count\"]=1,[\"ingredients\"]={{209,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_copper_block\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=936,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=284,[2]=284,[3]=284,[4]=284},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_stairs_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=941,[\"count\"]=1,[\"ingredients\"]={{316,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper_stairs\"},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_bulb_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=946,[\"count\"]=1,[\"ingredients\"]={{457,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_copper_bulb\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=945,[\"count\"]=1,[\"ingredients\"]={{456,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=952,[\"count\"]=4,[\"ingredients\"]={{944,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_door_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=958,[\"count\"]=1,[\"ingredients\"]={{959,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_copper_door\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=956,[\"count\"]=4,[\"ingredients\"]={{955,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=963,[\"count\"]=1,[\"ingredients\"]={{956,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=967,[\"count\"]=1,[\"ingredients\"]={{973,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_copper\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=965,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=968,[2]=968,[3]=968},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:wayfinder_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=982,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=982,[3]=133,[4]=133,[5]=107,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:weathered_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=978,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=973,[2]=973,[3]=973,[4]=973},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:wheat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=146,[\"count\"]=9,[\"ingredients\"]={{523,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:white_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=987,[\"count\"]=1,[\"ingredients\"]={{988,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:wind_charge\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=992,[\"count\"]=4,[\"ingredients\"]={{470,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:yellow_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1001,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=435,[2]=435,[3]=435,[4]=435,[5]=435,[6]=435,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:yellow_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1008,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=433,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-recipes-1.21.1-8.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"recipes\"]={[\"minecraft:acacia_planks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=2,[\"count\"]=4,[\"ingredients\"]={{13,1,true}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"planks\"},[\"special\"]=false},[\"minecraft:amethyst_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=24,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=25,[2]=25,[3]=25,[4]=25},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:anvil\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=32,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=33,[2]=33,[3]=33,[5]=22,[7]=22,[8]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:bamboo_button\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=43,[\"count\"]=1,[\"ingredients\"]={{44,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_button\"},[\"special\"]=false},[\"minecraft:bamboo_mosaic_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=55,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=52,[4]=52,[5]=52,[7]=52,[8]=52,[9]=52},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:banner_duplicate\"]={[\"kind\"]=\"crafting_special_bannerduplicate\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:birch_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=77,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=74,[2]=74,[3]=74,[4]=74,[5]=74,[6]=74},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:birch_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=86,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=74,[4]=74,[5]=74,[7]=74,[8]=74,[9]=74},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_stairs\"},[\"special\"]=false},[\"minecraft:black_dye\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=95,[\"count\"]=1,[\"ingredients\"]={{100,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"black_dye\"},[\"special\"]=false},[\"minecraft:blackstone_slab_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=108,[\"count\"]=2,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:blue_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=119,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=118,[2]=118,[3]=118,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:blue_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=130,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=121,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:bone_meal_from_bone_block\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=137,[\"count\"]=9,[\"ingredients\"]={{136,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bonemeal\"},[\"special\"]=false},[\"minecraft:brick\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=149,[\"count\"]=1,[\"ingredients\"]={{150,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.3,[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:brown_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=155,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=156,[2]=156,[3]=156,[4]=156,[5]=156,[6]=156,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:brown_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=166,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=165,[2]=165,[3]=165,[4]=165,[5]=165,[6]=165},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:candle\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=94,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=144,[2]=69},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:cherry_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=190,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{187,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:cherry_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=199,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=188,[2]=188,[3]=188},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:chiseled_copper_from_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=207,[\"count\"]=4,[\"ingredients\"]={{209,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=217,[\"count\"]=1,[\"ingredients\"]={{219,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=229,[\"count\"]=1,[\"ingredients\"]={{231,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:clay\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=240,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=150,[2]=150,[3]=150,[4]=150},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:coarse_dirt\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=248,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=249,[2]=99,[3]=99,[4]=249},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=252,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:compass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=258,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=22,[4]=22,[5]=243,[6]=22,[8]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:cooked_chicken_from_smoking\"]={[\"kind\"]=\"smoking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smoke\",[\"output\"]=265,[\"count\"]=1,[\"ingredients\"]={{266,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cooked_porkchop_from_campfire_cooking\"]={[\"kind\"]=\"campfire_cooking\",[\"mode\"]=\"crafting\",[\"address\"]=\"Campfire\",[\"output\"]=271,[\"count\"]=1,[\"ingredients\"]={{272,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=600,[\"experience\"]=0.35,[\"category\"]=\"food\"},[\"special\"]=false},[\"minecraft:cookie\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=277,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=146,[2]=162,[3]=146},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:copper_ingot_from_blasting_deepslate_copper_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=168,[\"count\"]=1,[\"ingredients\"]={{282,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"copper_ingot\"},[\"special\"]=false},[\"minecraft:cracked_deepslate_tiles\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=288,[\"count\"]=1,[\"ingredients\"]={{289,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:crimson_door\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=301,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=300,[3]=300,[4]=300,[5]=300,[6]=300},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_door\"},[\"special\"]=false},[\"minecraft:crimson_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=311,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=300,[2]=300,[3]=300},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:cut_copper_slab_from_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=208,[\"count\"]=2,[\"ingredients\"]={{210,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=318,[\"count\"]=2,[\"ingredients\"]={{225,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:cyan_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=324,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{325,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:cyan_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=333,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=325,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:dark_oak_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=341,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=342,[5]=342,[6]=342,[7]=342,[8]=342,[9]=342},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:dark_prismarine\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=351,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=352,[2]=352,[3]=352,[4]=352,[5]=95,[6]=352,[7]=352,[8]=352,[9]=352},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=357,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=360,[\"count\"]=1,[\"ingredients\"]={{359,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tile_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=362,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=289,[2]=289,[3]=289},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=363,[\"count\"]=1,[\"ingredients\"]={{289,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=289,[\"count\"]=1,[\"ingredients\"]={{213,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:diamond_chestplate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=370,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[3]=133,[4]=133,[5]=133,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diamond_pickaxe\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=376,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=133,[3]=133,[5]=8,[8]=8},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:diorite_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=381,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=27,[2]=27,[3]=27,[4]=27,[5]=27,[6]=27},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:dripstone_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=386,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=387,[2]=387,[3]=387,[4]=387},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:dye_blue_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=122,[\"count\"]=1,[\"ingredients\"]={{121,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_gray_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=389,[\"count\"]=1,[\"ingredients\"]={{390,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_light_blue_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=399,[\"count\"]=1,[\"ingredients\"]={{397,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:dye_magenta_carpet\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=410,[\"count\"]=1,[\"ingredients\"]={{409,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:dye_purple_bed\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=420,[\"count\"]=1,[\"ingredients\"]={{421,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:dye_white_wool\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=431,[\"count\"]=1,[\"ingredients\"]={{429,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wool\"},[\"special\"]=false},[\"minecraft:emerald_from_smelting_deepslate_emerald_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=436,[\"count\"]=1,[\"ingredients\"]={{438,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"emerald\"},[\"special\"]=false},[\"minecraft:end_stone_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=449,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=447,[4]=447,[5]=447,[7]=447,[8]=447,[9]=447},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:ender_chest\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=451,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=67,[2]=67,[3]=67,[4]=67,[5]=442,[6]=67,[7]=67,[8]=67,[9]=67},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:exposed_cut_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=456,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=455,[2]=455,[3]=455,[4]=455},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:eye_armor_trim_smithing_template\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=460,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=133,[2]=460,[3]=133,[4]=133,[5]=448,[6]=133,[7]=133,[8]=133,[9]=133},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:fishing_rod\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=180,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[3]=8,[5]=8,[6]=144,[7]=8,[9]=144},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:furnace_minecart\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=474,[\"count\"]=1,[\"ingredients\"]={{113,1,false},{205,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_blasting_deepslate_gold_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{486,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:gold_ingot_from_smelting_nether_gold_ore\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=242,[\"count\"]=1,[\"ingredients\"]={{488,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=1,[\"category\"]=\"misc\",[\"group\"]=\"gold_ingot\"},[\"special\"]=false},[\"minecraft:golden_carrot\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=494,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=478,[2]=478,[3]=478,[4]=478,[5]=181,[6]=478,[7]=478,[8]=478,[9]=478},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:granite\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=502,[\"count\"]=1,[\"ingredients\"]={{27,1,false},{257,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:gray_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=389,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=392,[2]=392,[3]=392,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:gray_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=512,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=390,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:green_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=517,[\"count\"]=1,[\"ingredients\"]={{518,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:honey_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=525,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=526,[2]=526,[3]=526,[4]=526},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:iron_bars\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=532,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=22,[2]=22,[3]=22,[4]=22,[5]=22,[6]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:iron_ingot_from_blasting_iron_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=22,[\"count\"]=1,[\"ingredients\"]={{539,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"misc\",[\"group\"]=\"iron_ingot\"},[\"special\"]=false},[\"minecraft:iron_nugget\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=184,[\"count\"]=9,[\"ingredients\"]={{22,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:jack_o_lantern\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=546,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=547,[2]=548},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:jungle_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=557,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=558,[5]=558,[6]=558,[7]=558,[8]=558,[9]=558},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:ladder\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=567,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=8,[3]=8,[4]=8,[5]=8,[6]=8,[7]=8,[9]=8},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:lead\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=572,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=144,[2]=144,[4]=144,[5]=573,[9]=144},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:lever\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=581,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=8,[2]=28},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:light_blue_glazed_terracotta\"]={[\"kind\"]=\"smelting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smelt\",[\"output\"]=586,[\"count\"]=1,[\"ingredients\"]={{587,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=200,[\"experience\"]=0.1,[\"category\"]=\"blocks\"},[\"special\"]=false},[\"minecraft:light_gray_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=402,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=403,[2]=403},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:light_gray_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=597,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=401,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:lime_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=602,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{405,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:lime_stained_glass_pane_from_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=608,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=106,[2]=106,[3]=106,[4]=106,[5]=405,[6]=106,[7]=106,[8]=106,[9]=106},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false},[\"minecraft:magenta_carpet\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=410,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=411,[2]=411},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"carpet\"},[\"special\"]=false},[\"minecraft:magenta_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=621,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=409,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:mangrove_chest_boat\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=628,[\"count\"]=1,[\"ingredients\"]={{5,1,false},{625,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"chest_boat\"},[\"special\"]=false},[\"minecraft:mangrove_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=637,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=626,[2]=626,[3]=626},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:melon_seeds\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=644,[\"count\"]=1,[\"ingredients\"]={{479,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mossy_cobblestone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=652,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=649,[4]=649,[5]=649,[7]=649,[8]=649,[9]=649},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:mossy_stone_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=657,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=655,[2]=655,[3]=655,[4]=655,[5]=655,[6]=655},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:mud_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=661,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=659,[2]=659,[3]=659,[4]=659,[5]=659,[6]=659},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:nether_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=215,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=216,[2]=216,[3]=216},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:netherite_axe_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=677,[\"count\"]=1,[\"ingredients\"]={{368,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:netherite_leggings_smithing\"]={[\"kind\"]=\"smithing_transform\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=685,[\"count\"]=1,[\"ingredients\"]={{375,1,false},{610,1,false},{678,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:oak_boat\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=691,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=692,[3]=692,[4]=692,[5]=692,[6]=692},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"boat\"},[\"special\"]=false},[\"minecraft:oak_pressure_plate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=701,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=692,[2]=692},[\"metadata\"]={[\"category\"]=\"redstone\",[\"group\"]=\"wooden_pressure_plate\"},[\"special\"]=false},[\"minecraft:orange_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=412,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=415,[2]=415,[3]=415,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:orange_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=716,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=413,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:oxidized_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=723,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=720,[4]=720,[6]=720,[8]=720},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=724,[\"count\"]=4,[\"ingredients\"]={{720,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:pink_candle\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=730,[\"count\"]=1,[\"ingredients\"]={{94,1,false},{417,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"dyed_candle\"},[\"special\"]=false},[\"minecraft:pink_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=737,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=417,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:polished_andesite_slab_from_andesite_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=741,[\"count\"]=2,[\"ingredients\"]={{26,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=745,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=292,[2]=292,[3]=292},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_blackstone_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=747,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=292,[2]=292,[3]=292,[4]=292,[5]=292,[6]=292},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:polished_blackstone_from_blackstone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=219,[\"count\"]=1,[\"ingredients\"]={{109,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:polished_blackstone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=751,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=219,[2]=219,[3]=219,[4]=219,[5]=219,[6]=219},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:polished_deepslate_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=753,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=359,[4]=359,[5]=359,[7]=359,[8]=359,[9]=359},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_diorite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=756,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=755,[2]=755,[3]=755},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_granite_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=759,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=758,[2]=758,[3]=758},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_tuff_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=761,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=237,[2]=237,[3]=237},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:polished_tuff_wall_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=763,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:prismarine_bricks\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=768,[\"count\"]=1,[\"ingredients\"]={{352,1,false},{352,1,false},{352,1,false},{352,1,false},{352,1,false},{352,1,false},{352,1,false},{352,1,false},{352,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:pumpkin_seeds\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=775,[\"count\"]=4,[\"ingredients\"]={{774,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:purple_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=781,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=421,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:purpur_slab_from_purpur_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=785,[\"count\"]=2,[\"ingredients\"]={{783,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:quartz_pillar\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=789,[\"count\"]=2,[\"ingredients\"]={},[\"grid\"]={[1]=222,[2]=222},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:rail\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=792,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=22,[3]=22,[4]=22,[5]=8,[6]=22,[7]=22,[9]=22},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:raw_iron_block\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=796,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=540,[2]=540,[3]=540,[4]=540,[5]=540,[6]=540,[7]=540,[8]=540,[9]=540},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:red_dye_from_poppy\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=425,[\"count\"]=1,[\"ingredients\"]={{802,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"red_dye\"},[\"special\"]=false},[\"minecraft:red_nether_brick_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=810,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=808,[2]=808,[3]=808,[4]=808,[5]=808,[6]=808},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:red_sandstone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=813,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=225,[2]=225,[3]=225,[4]=225,[5]=225,[6]=225},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:redstone_from_blasting_deepslate_redstone_ore\"]={[\"kind\"]=\"blasting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Blast\",[\"output\"]=243,[\"count\"]=1,[\"ingredients\"]={{817,1,false}},[\"grid\"]={},[\"metadata\"]={[\"cookingtime\"]=100,[\"experience\"]=0.7,[\"category\"]=\"blocks\",[\"group\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:respawn_anchor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=821,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=822,[2]=822,[3]=822,[4]=483,[5]=483,[6]=483,[7]=822,[8]=822,[9]=822},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:sandstone_wall\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=825,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=228,[2]=228,[3]=228,[4]=228,[5]=228,[6]=228},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:shears\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=831,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=22,[3]=22},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:slime_ball\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=573,[\"count\"]=9,[\"ingredients\"]={{838,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:smooth_quartz_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=844,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=842,[4]=842,[5]=842,[7]=842,[8]=842,[9]=842},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:smooth_sandstone_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=849,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=848,[2]=848,[3]=848},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:snout_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{851,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:spire_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{860,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:spruce_hanging_sign\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=870,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=11,[3]=11,[4]=871,[5]=871,[6]=871,[7]=871,[8]=871,[9]=871},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"hanging_sign\"},[\"special\"]=false},[\"minecraft:spyglass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=880,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[2]=25,[5]=168,[8]=168},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:stone_brick_slab_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=230,[\"count\"]=2,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_bricks_from_stone_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=231,[\"count\"]=1,[\"ingredients\"]={{232,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:stone_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=890,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=232,[4]=232,[5]=232,[7]=232,[8]=232,[9]=232},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:stripped_dark_oak_wood\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=897,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=342,[2]=342,[3]=342,[4]=342},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"bark\"},[\"special\"]=false},[\"minecraft:suspicious_stew\"]={[\"kind\"]=\"crafting_special_suspiciousstew\",[\"mode\"]=\"special\",[\"address\"]=\"Crafter\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=true},[\"minecraft:tnt_minecart\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=908,[\"count\"]=1,[\"ingredients\"]={{907,1,false},{205,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"misc\"},[\"special\"]=false},[\"minecraft:tuff_brick_stairs\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=910,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=238,[4]=238,[5]=238,[7]=238,[8]=238,[9]=238},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:tuff_bricks\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=238,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[1]=237,[2]=237,[3]=237,[4]=237},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:tuff_wall_from_tuff_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=913,[\"count\"]=1,[\"ingredients\"]={{239,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:warped_fence\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=921,[\"count\"]=3,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=8,[3]=919,[4]=919,[5]=8,[6]=919},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"wooden_fence\"},[\"special\"]=false},[\"minecraft:warped_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=931,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=919,[2]=919,[3]=919},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"wooden_slab\"},[\"special\"]=false},[\"minecraft:waxed_copper_bulb\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=937,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=284,[4]=284,[5]=116,[6]=284,[8]=243},[\"metadata\"]={[\"category\"]=\"redstone\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=936,[\"count\"]=1,[\"ingredients\"]={{210,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_cut_copper\"},[\"special\"]=false},[\"minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=941,[\"count\"]=4,[\"ingredients\"]={{284,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_copper_door_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=947,[\"count\"]=1,[\"ingredients\"]={{948,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_exposed_copper_door\"},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=945,[\"count\"]=4,[\"ingredients\"]={{944,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=952,[\"count\"]=1,[\"ingredients\"]={{945,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:waxed_oxidized_copper_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=955,[\"count\"]=1,[\"ingredients\"]={{720,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_copper\"},[\"special\"]=false},[\"minecraft:waxed_oxidized_cut_copper_slab\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=954,[\"count\"]=6,[\"ingredients\"]={},[\"grid\"]={[1]=956,[2]=956,[3]=956},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_oxidized_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:waxed_weathered_chiseled_copper\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=964,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=965,[2]=965},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper_chiseled\"},[\"special\"]=false},[\"minecraft:waxed_weathered_copper_grate\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=974,[\"count\"]=4,[\"ingredients\"]={},[\"grid\"]={[2]=967,[4]=967,[6]=967,[8]=967},[\"metadata\"]={[\"category\"]=\"building\"},[\"special\"]=false},[\"minecraft:waxed_weathered_cut_copper_slab_from_honeycomb\"]={[\"kind\"]=\"crafting_shapeless\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=965,[\"count\"]=1,[\"ingredients\"]={{979,1,false},{69,1,false}},[\"grid\"]={},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"waxed_weathered_cut_copper_slab\"},[\"special\"]=false},[\"minecraft:wayfinder_armor_trim_smithing_template_smithing_trim\"]={[\"kind\"]=\"smithing_trim\",[\"mode\"]=\"crafting\",[\"address\"]=\"Smith\",[\"output\"]=0,[\"count\"]=1,[\"ingredients\"]={{134,1,true},{135,1,true},{982,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=true},[\"minecraft:weathered_cut_copper_from_weathered_copper_stonecutting\"]={[\"kind\"]=\"stonecutting\",[\"mode\"]=\"crafting\",[\"address\"]=\"Stonecut\",[\"output\"]=978,[\"count\"]=4,[\"ingredients\"]={{973,1,false}},[\"grid\"]={},[\"metadata\"]={},[\"special\"]=false},[\"minecraft:white_banner\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=983,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=431,[2]=431,[3]=431,[4]=431,[5]=431,[6]=431,[8]=8},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"banner\"},[\"special\"]=false},[\"minecraft:white_stained_glass\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=989,[\"count\"]=8,[\"ingredients\"]={},[\"grid\"]={[1]=65,[2]=65,[3]=65,[4]=65,[5]=429,[6]=65,[7]=65,[8]=65,[9]=65},[\"metadata\"]={[\"category\"]=\"building\",[\"group\"]=\"stained_glass\"},[\"special\"]=false},[\"minecraft:wolf_armor\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=993,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=994,[4]=994,[5]=994,[6]=994,[7]=994,[9]=994},[\"metadata\"]={[\"category\"]=\"equipment\"},[\"special\"]=false},[\"minecraft:yellow_bed\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=432,[\"count\"]=1,[\"ingredients\"]={},[\"grid\"]={[1]=435,[2]=435,[3]=435,[4]=-62,[5]=-62,[6]=-62},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"bed\"},[\"special\"]=false},[\"minecraft:yellow_stained_glass_pane\"]={[\"kind\"]=\"crafting_shaped\",[\"mode\"]=\"crafting\",[\"address\"]=\"Crafter\",[\"output\"]=1009,[\"count\"]=16,[\"ingredients\"]={},[\"grid\"]={[1]=1008,[2]=1008,[3]=1008,[4]=1008,[5]=1008,[6]=1008},[\"metadata\"]={[\"category\"]=\"misc\",[\"group\"]=\"stained_glass_pane\"},[\"special\"]=false}},[\"counts\"]={}}",
  ["ceetos/recipes/vanilla-tags-1.21.1.lua"] = "return{[\"schema\"]=1,[\"minecraft\"]=\"1.21.1\",[\"tags\"]={[\"minecraft:acacia_logs\"]={\"minecraft:acacia_log\",\"minecraft:acacia_wood\",\"minecraft:stripped_acacia_log\",\"minecraft:stripped_acacia_wood\"},[\"minecraft:bamboo_blocks\"]={\"minecraft:bamboo_block\",\"minecraft:stripped_bamboo_block\"},[\"minecraft:birch_logs\"]={\"minecraft:birch_log\",\"minecraft:birch_wood\",\"minecraft:stripped_birch_log\",\"minecraft:stripped_birch_wood\"},[\"minecraft:cherry_logs\"]={\"minecraft:cherry_log\",\"minecraft:cherry_wood\",\"minecraft:stripped_cherry_log\",\"minecraft:stripped_cherry_wood\"},[\"minecraft:coals\"]={\"minecraft:charcoal\",\"minecraft:coal\"},[\"minecraft:crimson_stems\"]={\"minecraft:crimson_hyphae\",\"minecraft:crimson_stem\",\"minecraft:stripped_crimson_hyphae\",\"minecraft:stripped_crimson_stem\"},[\"minecraft:dark_oak_logs\"]={\"minecraft:dark_oak_log\",\"minecraft:dark_oak_wood\",\"minecraft:stripped_dark_oak_log\",\"minecraft:stripped_dark_oak_wood\"},[\"minecraft:jungle_logs\"]={\"minecraft:jungle_log\",\"minecraft:jungle_wood\",\"minecraft:stripped_jungle_log\",\"minecraft:stripped_jungle_wood\"},[\"minecraft:logs\"]={\"minecraft:acacia_log\",\"minecraft:acacia_wood\",\"minecraft:birch_log\",\"minecraft:birch_wood\",\"minecraft:cherry_log\",\"minecraft:cherry_wood\",\"minecraft:crimson_hyphae\",\"minecraft:crimson_stem\",\"minecraft:dark_oak_log\",\"minecraft:dark_oak_wood\",\"minecraft:jungle_log\",\"minecraft:jungle_wood\",\"minecraft:mangrove_log\",\"minecraft:mangrove_wood\",\"minecraft:oak_log\",\"minecraft:oak_wood\",\"minecraft:spruce_log\",\"minecraft:spruce_wood\",\"minecraft:stripped_acacia_log\",\"minecraft:stripped_acacia_wood\",\"minecraft:stripped_birch_log\",\"minecraft:stripped_birch_wood\",\"minecraft:stripped_cherry_log\",\"minecraft:stripped_cherry_wood\",\"minecraft:stripped_crimson_hyphae\",\"minecraft:stripped_crimson_stem\",\"minecraft:stripped_dark_oak_log\",\"minecraft:stripped_dark_oak_wood\",\"minecraft:stripped_jungle_log\",\"minecraft:stripped_jungle_wood\",\"minecraft:stripped_mangrove_log\",\"minecraft:stripped_mangrove_wood\",\"minecraft:stripped_oak_log\",\"minecraft:stripped_oak_wood\",\"minecraft:stripped_spruce_log\",\"minecraft:stripped_spruce_wood\",\"minecraft:stripped_warped_hyphae\",\"minecraft:stripped_warped_stem\",\"minecraft:warped_hyphae\",\"minecraft:warped_stem\"},[\"minecraft:logs_that_burn\"]={\"minecraft:acacia_log\",\"minecraft:acacia_wood\",\"minecraft:birch_log\",\"minecraft:birch_wood\",\"minecraft:cherry_log\",\"minecraft:cherry_wood\",\"minecraft:dark_oak_log\",\"minecraft:dark_oak_wood\",\"minecraft:jungle_log\",\"minecraft:jungle_wood\",\"minecraft:mangrove_log\",\"minecraft:mangrove_wood\",\"minecraft:oak_log\",\"minecraft:oak_wood\",\"minecraft:spruce_log\",\"minecraft:spruce_wood\",\"minecraft:stripped_acacia_log\",\"minecraft:stripped_acacia_wood\",\"minecraft:stripped_birch_log\",\"minecraft:stripped_birch_wood\",\"minecraft:stripped_cherry_log\",\"minecraft:stripped_cherry_wood\",\"minecraft:stripped_dark_oak_log\",\"minecraft:stripped_dark_oak_wood\",\"minecraft:stripped_jungle_log\",\"minecraft:stripped_jungle_wood\",\"minecraft:stripped_mangrove_log\",\"minecraft:stripped_mangrove_wood\",\"minecraft:stripped_oak_log\",\"minecraft:stripped_oak_wood\",\"minecraft:stripped_spruce_log\",\"minecraft:stripped_spruce_wood\"},[\"minecraft:mangrove_logs\"]={\"minecraft:mangrove_log\",\"minecraft:mangrove_wood\",\"minecraft:stripped_mangrove_log\",\"minecraft:stripped_mangrove_wood\"},[\"minecraft:oak_logs\"]={\"minecraft:oak_log\",\"minecraft:oak_wood\",\"minecraft:stripped_oak_log\",\"minecraft:stripped_oak_wood\"},[\"minecraft:planks\"]={\"minecraft:acacia_planks\",\"minecraft:bamboo_planks\",\"minecraft:birch_planks\",\"minecraft:cherry_planks\",\"minecraft:crimson_planks\",\"minecraft:dark_oak_planks\",\"minecraft:jungle_planks\",\"minecraft:mangrove_planks\",\"minecraft:oak_planks\",\"minecraft:spruce_planks\",\"minecraft:warped_planks\"},[\"minecraft:smelts_to_glass\"]={\"minecraft:red_sand\",\"minecraft:sand\"},[\"minecraft:soul_fire_base_blocks\"]={\"minecraft:soul_sand\",\"minecraft:soul_soil\"},[\"minecraft:spruce_logs\"]={\"minecraft:spruce_log\",\"minecraft:spruce_wood\",\"minecraft:stripped_spruce_log\",\"minecraft:stripped_spruce_wood\"},[\"minecraft:stone_crafting_materials\"]={\"minecraft:blackstone\",\"minecraft:cobbled_deepslate\",\"minecraft:cobblestone\"},[\"minecraft:stone_tool_materials\"]={\"minecraft:blackstone\",\"minecraft:cobbled_deepslate\",\"minecraft:cobblestone\"},[\"minecraft:trim_materials\"]={\"minecraft:amethyst_shard\",\"minecraft:copper_ingot\",\"minecraft:diamond\",\"minecraft:emerald\",\"minecraft:gold_ingot\",\"minecraft:iron_ingot\",\"minecraft:lapis_lazuli\",\"minecraft:netherite_ingot\",\"minecraft:quartz\",\"minecraft:redstone\"},[\"minecraft:trimmable_armor\"]={\"minecraft:chainmail_boots\",\"minecraft:chainmail_chestplate\",\"minecraft:chainmail_helmet\",\"minecraft:chainmail_leggings\",\"minecraft:diamond_boots\",\"minecraft:diamond_chestplate\",\"minecraft:diamond_helmet\",\"minecraft:diamond_leggings\",\"minecraft:golden_boots\",\"minecraft:golden_chestplate\",\"minecraft:golden_helmet\",\"minecraft:golden_leggings\",\"minecraft:iron_boots\",\"minecraft:iron_chestplate\",\"minecraft:iron_helmet\",\"minecraft:iron_leggings\",\"minecraft:leather_boots\",\"minecraft:leather_chestplate\",\"minecraft:leather_helmet\",\"minecraft:leather_leggings\",\"minecraft:netherite_boots\",\"minecraft:netherite_chestplate\",\"minecraft:netherite_helmet\",\"minecraft:netherite_leggings\",\"minecraft:turtle_helmet\"},[\"minecraft:warped_stems\"]={\"minecraft:stripped_warped_hyphae\",\"minecraft:stripped_warped_stem\",\"minecraft:warped_hyphae\",\"minecraft:warped_stem\"},[\"minecraft:wooden_slabs\"]={\"minecraft:acacia_slab\",\"minecraft:bamboo_slab\",\"minecraft:birch_slab\",\"minecraft:cherry_slab\",\"minecraft:crimson_slab\",\"minecraft:dark_oak_slab\",\"minecraft:jungle_slab\",\"minecraft:mangrove_slab\",\"minecraft:oak_slab\",\"minecraft:spruce_slab\",\"minecraft:warped_slab\"},[\"minecraft:wool\"]={\"minecraft:black_wool\",\"minecraft:blue_wool\",\"minecraft:brown_wool\",\"minecraft:cyan_wool\",\"minecraft:gray_wool\",\"minecraft:green_wool\",\"minecraft:light_blue_wool\",\"minecraft:light_gray_wool\",\"minecraft:lime_wool\",\"minecraft:magenta_wool\",\"minecraft:orange_wool\",\"minecraft:pink_wool\",\"minecraft:purple_wool\",\"minecraft:red_wool\",\"minecraft:white_wool\",\"minecraft:yellow_wool\"}}}",
  ["ceetos/server.lua"] = "package.path=\"/?.lua;/?/init.lua;\"..package.path local profile=require(\"ceetos.lib.profile\")local auth=require(\"ceetos.lib.auth\")local net=require(\"ceetos.lib.net\")local audit=require(\"ceetos.lib.audit\")local updater=require(\"ceetos.lib.updater\")local networkIpc=require(\"ceetos.lib.network_ipc\")local version=require(\"ceetos.lib.version\")local recipe=profile.is(\"recipe-server\")and require((\"ceetos.lib.recipe_service\"))or nil local authority=profile.is(\"auth-server\")and require((\"ceetos.lib.auth_authority\"))or nil local authClient=require(\"ceetos.lib.auth_client\")local cloudSync=require(\"ceetos.lib.cloud_sync\")local function replyIpc(command,ok,result)networkIpc.reply(command.id,{id=command.id,ok=ok==true,result=ok and result or nil,error=ok and nil or tostring(result)})end local function command()local request=networkIpc.take()if not request then return end local ok,result=pcall(function()if request.action==\"server_status\"then return{profile=profile.id(),version=version.string,network=net.statusSnapshot(),authority=authority and authority.status()or auth.authority(),recipes=recipe and recipe.status()or nil}elseif request.action==\"server_discovery_start\"then auth.require(\"admin\");return net.startDiscovery(request.mode or\"peer\",request.master or\"initiator\",request.phrase)elseif request.action==\"server_discovery_join\"then auth.require(\"admin\");return net.joinDiscovery(request.phrase)elseif request.action==\"server_discovery_confirm\"then auth.require(\"admin\");return net.confirmDiscovery()elseif request.action==\"server_update_status\"then return updater.status()elseif request.action==\"server_update_apply\"then auth.require(\"admin\");return updater.prepareApply()elseif request.action==\"auth_send\"then local sent,err=net.request(request.target,request.type,request.body or{},{safe=true,confidential=true})if not sent then error(err or\"could not contact Auth Server\")end return true end error(\"unknown protected server command\")end)replyIpc(request,ok and result~=false,ok and result or result)end net.handler=function(from,peer,packet)if packet.type==\"update_query\"or packet.type==\"update_offer\"or packet.type==\"update_chunk_request\"or packet.type==\"update_chunk\"then return updater.authenticatedPacket(from,peer,packet)end if packet.type==\"profile_query\"then return net.reply(packet,\"profile_status\",{profile=profile.id(),version=version.string},{safe=true})end if packet.type==\"recipe_plan_request\"and recipe then return recipe.handle(packet,net)end if packet.type==\"auth_login_begin_result\"or packet.type==\"auth_login_proof_result\"or packet.type==\"auth_mutate_result\"then return authClient.receive(packet.body)end if packet.type==\"auth_seed_request\"then return net.reply(packet,\"auth_seed\",{snapshot=auth.authoritySnapshot(),request_id=packet.body and packet.body.request_id},{safe=true,confidential=true})end if packet.type==\"auth_authority\"then return auth.acceptAuthority(packet.body)end if authority then return authority.handle(from,peer,packet,net)end end net.publicHandler=function(packet,distance)return updater.publicPacket(packet,distance)end local function service()net.start()if authority then authority.start()end local tick,update,cloud,advertised=os.startTimer(1),os.startTimer(1),os.startTimer(5),0 while true do local event={os.pullEventRaw()}local ok,err=pcall(net.handle,event)if not ok then audit.log(\"server\",\"network.error\",{error=tostring(err):sub(1,120)})end pcall(command)if event[1]==\"timer\"and event[2]==tick then pcall(net.tick);if authority then pcall(authority.tick,net)end if os.epoch(\"utc\")-advertised>=30000 then for _,peer in ipairs(net.peers())do net.request(peer.id,\"profile_status\",{profile=profile.id(),version=version.string},{safe=true})end advertised=os.epoch(\"utc\")end tick=os.startTimer(1)end if event[1]==\"timer\"and event[2]==update then pcall(updater.tick);update=os.startTimer(1)end if event[1]==\"timer\"and event[2]==cloud then pcall(cloudSync.tick,\"server\");cloud=os.startTimer(5)end end end local function console()shell.run(\"/ceetos/bin/ceetserver.lua\")while true do sleep(1);shell.run(\"/ceetos/bin/ceetserver.lua\")end end local function devBridge()local path=\"/ceetos-dev/connection.lua\"while true do if fs.exists(\"/ceetos/bin/ceetdev.lua\")and fs.exists(path)then local handle=fs.open(path,\"r\")local cfg=handle and textutils.unserialise(handle.readAll())or nil if handle then handle.close()end if type(cfg)==\"table\"and type(cfg.url)==\"string\"then local token=type(cfg.token)==\"string\"and cfg.token or\"\"if token~=\"\"then pcall(shell.run,\"/ceetos/bin/ceetdev.lua\",cfg.url,token)else pcall(shell.run,\"/ceetos/bin/ceetdev.lua\",cfg.url)end sleep(3)else sleep(5)end else sleep(5)end end end parallel.waitForAny(service,console,devBridge)",
  ["ceetos/bin/ceetserver.lua"] = "package.path=\"/?.lua;/?/init.lua;\"..package.path local profile=require(\"ceetos.lib.profile\")local auth=require(\"ceetos.lib.auth\")local version=require(\"ceetos.lib.version\")local store=require(\"ceetos.lib.store\")local recipe=profile.is(\"recipe-server\")and require((\"ceetos.lib.recipe_service\"))or nil local function draw(message)term.setBackgroundColor(colors.black);term.setTextColor(colors.white);term.clear();term.setCursorPos(1,1)term.setBackgroundColor(colors.blue);term.clearLine();term.setCursorPos(2,1);term.write(\"CeetOS \"..profile.id()..\" server\")term.setBackgroundColor(colors.black);term.setCursorPos(2,3);term.write(\"Version: \"..version.string)local authority=auth.authority()term.setCursorPos(2,4);term.write(authority and(\"Auth authority: \"..authority.id)or\"Auth authority: distributed / waiting\")local current=auth.refreshSession()term.setCursorPos(2,6);term.write(current and(\"Signed in: \"..current.name..\" (\"..current.role..\")\")or\"Not signed in\")term.setTextColor(colors.lightGray);term.setCursorPos(2,8)if not current then term.write(\"L Login  |  E first-time enrolment  |  Backspace refresh\")elseif current.role==\"admin\"then local actions=recipe and\"I import pack  |  P pair  |  U updates\"or\"P pair  |  U updates\"term.write(actions..\"  |  L logout  |  Backspace refresh\")else term.write(\"L logout  |  Backspace refresh\")end if message then term.setTextColor(colors.red);term.setCursorPos(2,10);term.write(tostring(message):sub(1,48))end end local function login()term.setCursorPos(2,12);term.setTextColor(colors.white);term.write(\"Username: \");local user=read()term.setCursorPos(2,13);term.write(\"Password: \");local pass=read(\"*\")local ok,err=auth.login(user,pass);return ok and\"Logged in.\"or err end local function enrol()if#auth.list()>0 or auth.centralActive()then return\"Enrollment is already complete.\"end term.setCursorPos(2,12);term.setTextColor(colors.white);term.write(\"Create local admin password: \")local pass=read(\"*\")if type(pass)~=\"string\"or#pass<8 then return\"Enrollment password must contain at least 8 characters.\"end local ok,err=pcall(auth.bootstrap,pass)return ok and\"Enrollment complete.\"or err end local function importRecipePack(event)if not recipe then return\"This server has no recipe service.\"end if not auth.allowed(\"admin\")then return\"Recipe import requires an admin session.\"end local files=event and event.getFiles and event.getFiles()or nil if type(files)~=\"table\"or#files~=1 or type(files[1].read)~=\"function\"then return\"Drop exactly one data-only recipe pack.\"end local chunks,total={},0 while true do local part=files[1].read(4096)if not part then break end if type(part)~=\"string\"then return\"Dropped recipe pack has invalid data.\"end total=total+#part if total>64*1024 then return\"Recipe pack exceeds 64 KiB.\"end chunks[#chunks+1]=part end local ok,result=recipe.import(table.concat(chunks))if not ok then return tostring(result)end return\"Imported \"..tostring(result.imported or 0)..\" new recipes; conflicts kept.\"end local message while true do draw(message);message=nil local event,code=os.pullEventRaw()if event==\"key\"then local key=keys.getName(code)if key==\"l\"then if auth.refreshSession()then auth.logout();message=\"Logged out.\"else message=login()end elseif key==\"e\"then message=enrol()elseif key==\"backspace\"then elseif key==\"p\"and auth.allowed(\"admin\")then message=\"Use the Peers page on a desktop to pair; server pairing IPC is available to administrators.\"elseif key==\"u\"and auth.allowed(\"admin\")then message=\"Signed updates are managed locally; no remote apply is permitted.\"elseif key==\"i\"and recipe and auth.allowed(\"admin\")then message=\"Drop one recipe pack into this console.\"end elseif event==\"file_transfer\"then message=importRecipePack(code)end end",
  ["ceetos/lib/recipe_service.lua"] = "local store=require(\"ceetos.lib.store\")local crafting=require(\"ceetos.lib.crafting\")local recipeDb=require(\"ceetos.lib.recipe_db\")local M={}local OVERLAY=\"/ceetos/data/recipes.lua\"local function effective()local base,databaseOrErr=recipeDb.loadBase()if not base then return nil,nil,databaseOrErr end local overlay={recipes={},tags={}}if fs.exists(OVERLAY)then local handle=fs.open(OVERLAY,\"r\");local raw=handle and handle.readAll()or\"\";if handle then handle.close()end local parsed,err=crafting.parseRecipeOverlay(raw)if not parsed then return nil,nil,err end overlay=parsed end return recipeDb.mergeOverlay(base,overlay.recipes),recipeDb.mergeTags(databaseOrErr.tags,overlay.tags),nil,overlay end function M.status()local recipes,_,err,overlay=effective()local count=0;for _ in pairs(recipes or{})do count=count+1 end return{available=recipes~=nil,recipes=count,overlay=overlay and(function()local n=0;for _ in pairs(overlay.recipes or{})do n=n+1 end;return n end)()or 0,error=err}end function M.plan(item,quantity,stock)if type(item)~=\"string\"or#item>128 or tonumber(quantity)==nil or quantity<1 or quantity>256 then return nil,\"invalid recipe plan request\"end local count=0 for _,row in pairs(type(stock)==\"table\"and stock or{})do count=count+1 if count>512 or type(row)~=\"table\"or type(row.name or row.id)~=\"string\"then return nil,\"invalid stock snapshot\"end end local recipes,tags,err=effective()if not recipes then return nil,err end local plan,planErr=crafting.plan(recipes,stock,item,math.floor(quantity),{forceRoot=true,tags=tags})if not plan or#plan>96 then return nil,planErr or\"recipe plan exceeds limit\"end local encoded=textutils.serialise(plan,{compact=true})if#encoded>12*1024 then return nil,\"recipe plan exceeds reply limit\"end return plan end function M.handle(packet,net)if packet.type~=\"recipe_plan_request\"then return false end local body=type(packet.body)==\"table\"and packet.body or{}local plan,err=M.plan(body.item,body.quantity,body.stock)net.reply(packet,\"recipe_plan_result\",{request_id=body.request_id,ok=plan~=nil,result=plan or err},{safe=true})return true end function M.import(raw)if type(raw)~=\"string\"or#raw>crafting.RECIPE_PACK_MAX_BYTES then return false,\"recipe pack is too large\"end local pack,err=crafting.parseRecipePack(raw)if not pack then return false,err end local valid,validateErr=crafting.validateRecipes(pack.recipes)if not valid then return false,validateErr end local effectiveRecipes,_,loadErr,overlay=effective()if loadErr then return false,loadErr end local review,reviewErr=crafting.reviewRecipePack(effectiveRecipes,pack.recipes)if not review then return false,reviewErr end local merged,importedOrErr,tags=crafting.mergeRecipePack(overlay.recipes,review,overlay.tags,pack.tags)if not merged then return false,importedOrErr end local saved,saveErr=crafting.writeRecipeFile(OVERLAY,merged,tags)if not saved then return false,saveErr end return true,{imported=importedOrErr,counts=review.counts}end function M.exportOverlay()local raw=\"return { recipes = {}, tags = {} }\"if fs.exists(OVERLAY)then local handle=fs.open(OVERLAY,\"r\")raw=handle and handle.readAll()or raw if handle then handle.close()end end local overlay,err=crafting.parseRecipeOverlay(raw)if not overlay then return nil,err end return{schema=1,recipes=overlay.recipes or{},tags=overlay.tags or{}}end return M",
}
local CEETOS_RELEASE_INSTALLER = true
local CEETOS_PROFILE = "recipe-server"

-- `wget --install` may run inside a deliberately restricted CeetShell child
-- environment. Self-cleaning is optional there: never require the shell API
-- merely to install the runtime.
local args = { ... }
local automated = args[1] == "--ceetos-apply"
local self = shell and shell.getRunningProgram and shell.getRunningProgram()
local cache = "/ceetos-updates/release.lua"
-- A signed release launched directly is retained outside the replaceable
-- runtime tree for verified recovery. Development installers deliberately do
-- not become propagation sources. Do this before removing the downloaded
-- program itself, but avoid copying the cache onto itself during recovery.
if CEETOS_RELEASE_INSTALLER and not automated and self and fs.exists(self) and self ~= cache then
  if not fs.exists("/ceetos-updates") then fs.makeDir("/ceetos-updates") end
  if fs.exists(cache) then fs.delete(cache) end
  pcall(fs.copy, self, cache)
end
if self and self ~= cache and fs.exists(self) then pcall(fs.delete, self) end

local bytes = 0
for _, contents in pairs(files) do bytes = bytes + #contents end
print("CeetOS " .. CEETOS_PROFILE .. " installer (" .. bytes .. " bytes)")
if not automated then
  print("This will replace /ceetos and /startup.lua. Continue? [y/N]")
  if read():lower() ~= "y" then print("Cancelled."); return end
end

local backup, migrate, migrationData = nil, false, {}
-- Clean stale full-tree backups from older installers before measuring space.
for _, name in ipairs(fs.list(".")) do
  if name:match("^ceetos%.backup") or name == "ceetos-migrate" then fs.delete(name) end
end
-- Development transactions can be much larger than the runtime. Preserve
-- only the reconnect record; staged payloads, test data, and rollback trees
-- are disposable and must not prevent an install from starting.
for _, name in ipairs({ "staging", "backups", "test-data" }) do
  local path = fs.combine("ceetos-dev", name)
  if fs.exists(path) then fs.delete(path) end
end
if fs.exists("ceetos") then
  if automated then migrate = true else
    print("Migrate saved CeetOS configuration? [Y/n]")
    local choice = read():lower()
    migrate = choice ~= "n" and choice ~= "no"
  end
  -- Copy only durable configuration to a small migration area, then remove
  -- the old tree before writing the new one. This works on nearly-full CC
  -- drives where retaining a complete backup would make installation fail.
  if migrate then
    local durable = { "users.lua", "network.lua", "shares.lua", "config.lua", "owner-service.lua", "seen-peers.lua", "jobs.lua", "job-workers.lua", "crafting-state.lua", "auth-authority.lua", "auth-authority-state.lua", "auth-directory.lua", "auth-session.lua" }
    if CEETOS_PROFILE == "recipe-server" then durable[#durable + 1] = "recipes.lua" end
    for _, name in ipairs(durable) do
      local source = fs.combine("ceetos/data", name)
      if fs.exists(source) then
        local input = fs.open(source, "r")
        if input then migrationData[name] = input.readAll(); input.close() end
      end
    end
  end
  fs.delete("ceetos")
end

for path, contents in pairs(files) do
  local parent = fs.getDir(path)
  if parent ~= "" and not fs.exists(parent) then fs.makeDir(parent) end
  local handle = assert(fs.open(path, "w"))
  handle.write(contents)
  handle.close()
end

if migrate then
  -- Preserve durable configuration, but never preserve an active session,
  -- temporary recovery window, remote result cache, or stale audit entries.
  local durable = { "users.lua", "network.lua", "shares.lua", "config.lua", "owner-service.lua", "seen-peers.lua", "jobs.lua", "job-workers.lua", "crafting-state.lua", "auth-authority.lua", "auth-authority-state.lua", "auth-directory.lua", "auth-session.lua" }
  if CEETOS_PROFILE == "recipe-server" then durable[#durable + 1] = "recipes.lua" end
  for _, name in ipairs(durable) do
    local contents = migrationData[name]
    if contents then
      if not fs.exists("ceetos/data") then fs.makeDir("ceetos/data") end
      local output = assert(fs.open(fs.combine("ceetos/data", name), "w"))
      output.write(contents); output.close()
    end
  end
  print("Saved CeetOS configuration migrated. Please log in again.")
end

-- The installer is intentionally transactional while it runs, but retaining
-- a full tree backup after a successful install quickly exhausts small CC
-- drives. Durable data has already been copied, so remove the old tree.
if automated then
  -- The root startup launcher sees this marker and boots the freshly written
  -- runtime rather than replaying the installer. The runtime verifies its
  -- loaded version before clearing it.
  if not fs.exists("/ceetos-updates") then fs.makeDir("/ceetos-updates") end
  local marker = fs.open("/ceetos-updates/pending.lua", "w")
  if marker then marker.write("return {state='verify',version=" .. "0.16.0" .. ",profile=" .. "\"recipe-server\"" .. "}"); marker.close() end
  print("CeetOS installed. Rebooting to verify the update.")
  os.reboot()
end
print("CeetOS installed. Reboot to start it.")

-- CEETOS_RELEASE_PAYLOAD_END
