assert(getprop("ro.product.device") == "a30" || getprop("ro.build.product") == "a30" || 
       getprop("ro.product.device") == "a30dd" || getprop("ro.build.product") == "a30dd" || abort("E3004: This package is for device: a30,a30dd; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: samsung/derp_a30/a30:13/TQ2A.230505.002/1683296911:user/release-keys");
ui_print("------------------------------------------");
ui_print("  ____                  _____         _   ");
ui_print(" |  _ \  ___ _ __ _ __ |  ___|__  ___| |_ ");
ui_print(" | | | |/ _ \ '__| '_ \| |_ / _ \/ __| __|");
ui_print(" | |_| |  __/ |  | |_) |  _|  __/\__ \ |_ ");
ui_print(" |____/ \___|_|  | .__/|_|  \___||___/\__|");
ui_print("                 |_|                      ");
ui_print("                                          ");
ui_print("      Are you ready for the Derpness?     ");
ui_print("                                          ");
ui_print("------------------------------------------");
ui_print(" Android version: 13");
ui_print(" Build id: TQ2A.230505.002");
ui_print(" Build date: Fri May  5 14:26:54 UTC 2023");
ui_print(" Security patch: 2023-05-05");
ui_print(" Device: a30");
ui_print("------------------------------------------");
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
ui_print("BackupTools: starting backup script");
run_program("/tmp/install/bin/backuptool.sh", "backup", "/dev/block/platform/13500000.dwmmc0/by-name/system", "ext4");
ui_print("BackupTools: DONE! Now real installation will begin");
ui_print(" ");
ui_print("Flashing DerpFest system partition...");
show_progress(0.800000, 0);
block_image_update("/dev/block/platform/13500000.dwmmc0/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
delete_recursive("/data/system/package_cache");
ui_print(" ");
ui_print("Flashing DerpFest vendor partition...");
show_progress(0.100000, 0);
block_image_update("/dev/block/platform/13500000.dwmmc0/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat.br", "vendor.patch.dat") ||
  abort("E2001: Failed to update vendor image.");
delete_recursive("/data/system/package_cache");
show_progress(0.020000, 10);
ui_print("BackupTools: Restoring backup");
run_program("/tmp/install/bin/backuptool.sh", "restore", "/dev/block/platform/13500000.dwmmc0/by-name/system", "ext4");
ui_print("BackupTools: DONE!");
ui_print(" ");
ui_print("Flashing boot image..");
package_extract_file("boot.img", "/dev/block/platform/13500000.dwmmc0/by-name/boot");
show_progress(0.100000, 10);
package_extract_file("eureka_dtb.img", "/dev/block/platform/13500000.dwmmc0/by-name/dtb");
package_extract_file("eureka_dtbo.img", "/dev/block/platform/13500000.dwmmc0/by-name/dtbo");
package_extract_file("eureka_install.sh", "/tmp/eureka_install.sh");
run_program("/sbin/sh", "/tmp/eureka_install.sh");
set_progress(1.000000);
