7455a496fc94b3d1b470af4d9670edc58723b698314fbef1549de1623df56bbc ./00-freeze-migrations-linux.sh a7a117ad9c2684b855c4e709506b671b94844fd85f0b603d487c892401116810 ./00-FREEZE-MIGRATIONS-WINDOWS.bat efd0991845b11eebd9d581240cf2751b8f2ffed2ac5f83ae3af8431f06cbb258 ./00-PREFLIGHT-LOCAL-UAT-WINDOWS.bat fd859f812044d1175f85b24374774ce5318fbf402bfa578861082badc19349ce ./01-setup-local-uat-linux.sh 1f68f04ba28c38cbfa7c8b453da10f9a4602ae7dc6257e94c028ebde90d55565 ./01-SETUP-LOCAL-UAT-WINDOWS.bat 6b4eb94efe40b86963885ddc899662d900dc94ba391897a241de1b907d0d147f ./02-start-local-uat-linux.sh dd59b03ebc2a0dd975917924ff3b1310be51cc613103fb7bb6360376cf750ca7 ./02-START-LOCAL-UAT-WINDOWS.bat 34070b20b89f35debb0273fe9561308706d75b8798c0b8f37c1336c9f119e8b5 ./02B-START-LOCAL-UAT-LAN-WINDOWS.bat d7cabb5d45b3bdc8de39805ef1c7c58575bbadf66d5923c22abf885a5165d526 ./03-CHECK-LOCAL-UAT-WINDOWS.bat 5474ec1158f7711d75c9905e801b70d2db41081e3d4ebc4e2a55224be1d4651a ./03-run-smoke-tests-linux.sh 5844ca97b5f144a5b76c27c49ab0b5e1e75b50a2880031a96ae7dd93d55e0c76 ./04-RUN-SMOKE-TESTS-WINDOWS.bat 02a36e9e9efa514fde9b7e5565782364153d233a706ba5dea49de4f56f520034 ./05-COLLECT-RUNTIME-RESULTS-WINDOWS.bat 572b8df45a7d64b082c3ba57922adf4dacc4f970a33cecb209541dc28b92aee8 ./ATTENDANCE-IMPORT-TEMPLATE.csv 1be83364fd7e23840a3a97a02d4ecbc238c9c0166546d0946fecd5338c06a62b ./BACKEND-UI-BINDING-MATRIX.csv d749d90559d35e9f6122a10408dbcfbe94f83bfa1a8b61e121cb5d75c51d9870 ./BACKEND-WIRING-MATRIX.csv ac48967c9cfe9b309f69f2adc8ca426b908fdea7a0d60f240fcbd49691164801 ./backend/.env.example 811d9bc3e5078323fc201f594a525bb213f32cd0aaaa307cf57802c23e780b2a ./backend/.env.local.example cc58be9a0fc4803e7169aa2e208e0316f2a3e241d7197e22b6dce2d29730e439 ./backend/.env.postgres.example e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/__init__.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/accounts/__init__.py 8558c8245c4011a8da13113a8fb4c197542f362c46839db5b19ffa3269cadcac ./backend/apps/accounts/admin.py 7e33c631e544f667bca5ec4e5d9c41d518fc7ae09fde7f2ce23194a9a0e4793c ./backend/apps/accounts/admin_utils.py 5ef40db5ee0445e32f6c1849913fcf4426e4b094d8b8fe8c491b976aeddbbe24 ./backend/apps/accounts/apps.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/accounts/management/__init__.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/accounts/management/commands/__init__.py 5abbe01c5890bcb4819e7c615baea13f86bcdfe1c6988a9540f2a434ae5338bd ./backend/apps/accounts/management/commands/bootstrap_roles.py b8ea8d0dea6def5a852603f9c17a921acffa9accc94af70e797ff4a7d35e755e ./backend/apps/accounts/management/commands/first_run_setup.py 8a77dfafbc982eea84645ddc6d3afc0466da0d73d857f3e19077964df30953a1 ./backend/apps/accounts/management/commands/first_run_status.py 7f62913ca8a25827cad956c85aa4a9a2a7145ba6dfb0509958104480dcee0543 ./backend/apps/accounts/management/commands/purge_login_attempts.py 472233c53fc3847e67791c31ce9bc77c21ea064fecea7260178722acf0f8b004 ./backend/apps/accounts/management/commands/seed_reference_data.py abbb9207b3c2313afa2886181ae7bd8960686a19d3f2fb425d18ae51ffdcdf8d ./backend/apps/accounts/management/commands/seed_uat_demo_data.py 624c974ad409f77fae41644e85c5d440a36faffc869d7ea2e57acdb76ed2182f ./backend/apps/accounts/management/commands/verify_runtime.py b57f8444babfca082899fb08243298e99d124fbdb4f0ef7862b12179718b35d3 ./backend/apps/accounts/middleware.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/accounts/migrations/__init__.py 7ee9b357c72671bf048b409aac2218227420d110b6a95768a88b3e8768e8cdd9 ./backend/apps/accounts/models.py 878953cf4add5c9e38d60f6ac521ac9fc04fd17e09accdeb0fce3153c15bff59 ./backend/apps/accounts/permissions.py e9ad4e5ff723a0d493ce784638bcd46dfbfe0a40f69fc87aa8c32e2db86024b2 ./backend/apps/accounts/security.py 331c03373442959628243b3026ffbb67c0e2592230e2200eddbb86d06d5901a2 ./backend/apps/accounts/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/attendance/__init__.py 8cab82ee8b8304501b75388a2dcf90c4a08e905ff1a22206a16cd1e8cd6b3d15 ./backend/apps/attendance/admin.py 5345683361020e64cf5a5a84af4f0850652830db37730506f62f7c76462f83ec ./backend/apps/attendance/apps.py d67b008d07b254d81c60ef138602ea80fb90ded20f0d0c0f551c2b3d8f97cf74 ./backend/apps/attendance/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/attendance/migrations/__init__.py 61fad8ecce199384cd0228ed3d7551b5228f27bd2675e78a3c5a415b7d1f5ae2 ./backend/apps/attendance/models.py a74ed00ede3c0429d4f301530b88d65027a8cf5dbd6e77a7accc8e329eb7161e ./backend/apps/attendance/services.py ed56fc174b161f59958c57e5fc36bbd208d628e7cd02b599e9af447a751b0aa6 ./backend/apps/attendance/urls.py 5fe38690a8ffeb467590ec2e8890a3d4207453e2551ad201bc9429af505c48dc ./backend/apps/attendance/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/audit/__init__.py 6618a67ecf4678125b10539d6687414b5d5ad375cd6aaa3c115fd8befffd4664 ./backend/apps/audit/admin.py 6590b94604ce5c881bb5c7ee91d5b7451bca523b1dd1e1f4e4ff82a00beaa5b9 ./backend/apps/audit/apps.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/audit/migrations/__init__.py 6dadb14dc759b028539ae111cc3a6abe1659c15448cb519341e9b1098c0a4873 ./backend/apps/audit/models.py f37aafc5cedda0d11d5fe5192c9e27417603ff04895f8cf0c466854316269339 ./backend/apps/audit/services.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/core/__init__.py f16de6d417b164a9f024e7cf2b0e6d86fb4e7405cf4e3e624abe378efd6374f4 ./backend/apps/core/apps.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/core/management/__init__.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/core/management/commands/__init__.py ac27a357897d6493b58fcf5cafe5e6a37c50c131ec8cd6d1a5efc9fbd4b6f13c ./backend/apps/core/management/commands/_dbutils.py d6a192804ae5100ccd82fcd9a343cf6696c65b3a7758e46fd1a74e7ef9b55c01 ./backend/apps/core/management/commands/backup_database.py 17d5c69ac25552ff44dea88712b702365f5a22d74161bdd46f19cf7239469b93 ./backend/apps/core/management/commands/restore_database.py 6cc8481d4eb5d70e24fd5d5139736754ae7bd3c15c3d83131a245ca3d7e716de ./backend/apps/core/management/commands/security_readiness.py f262f7e5aa9809915e1e9bd2508a52e4bd809ea829a4cf0109434f24fa4ff0d5 ./backend/apps/core/management/commands/verify_backup.py d5e838170b7d451d6d6beb3f58fedc66cfd1585d1af16dc062d7e6567f65039d ./backend/apps/core/models.py 80bb3c39bb00921cbd00a11eec01904152d078a1f03913e8324886227b0c4243 ./backend/apps/core/runtime_checks.py 34bd932a1c693bcbde022b86f94a33f14b47359926774aa762dc42dbb6e5ca32 ./backend/apps/core/urls.py 7fda5fec38fbf0b8c93fdb39bf13023a692e15339c0138ad86d5755f3c2c45a2 ./backend/apps/core/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/employees/__init__.py 849920a33dd8c0a63906fd1d4695752dc5655f65412a0d790b392247099d9f2c ./backend/apps/employees/admin.py 2f6e7230f5f1d908d66e6b4debc8e80069d7ef86d328c6aa209858c7715c4e15 ./backend/apps/employees/apps.py 0bb08565095c83e9455fff178761581710a6ddb25f8c39411677b2f5a82f11e0 ./backend/apps/employees/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/employees/migrations/__init__.py 825287b296f3455b00f0faae32af1a24cfa6d623f1777bfc78036229baac28a1 ./backend/apps/employees/models.py 88209a2077843284422183f9a116982449a874ca1602541380634bd27b8fc351 ./backend/apps/employees/urls.py 636b9394d1f3037feb1bcfd2891b63b3c8ad1de8bda0b60c377f15f35d8b977f ./backend/apps/employees/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/exits/__init__.py ffd61322a16d9eb56aba7798875243497802db405d0b3e5588276104bdfcd610 ./backend/apps/exits/admin.py 41c7c2ba247b11cc15e1b82708f69bd5bc2cc6d4606231aaf071893aa8602d73 ./backend/apps/exits/apps.py 674c48bf8134d998599df2f6f0be51459494a45dd6f19cd906c14177fe90b81a ./backend/apps/exits/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/exits/migrations/__init__.py bf10bc9d2067bb6c93c113a49bec434d0fe19e72420e5fe0ffc0e1af1d164006 ./backend/apps/exits/models.py bd09c9ed93b58493ad7c245f7b97ced6e145bc3eaf6d4c61ea69b98f86f013c6 ./backend/apps/exits/services.py 449e91cb74baf0ad3e0ab62443e163c62b461a12d03b6e70a98ce449f51c02f7 ./backend/apps/exits/urls.py 98abf7a6996e12388f62b8d880e339f97298365dc6c4a68c41aab392cf635dab ./backend/apps/exits/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/imports/__init__.py 187eae0683c69dc968679a39a7933d48e6c352d88d32c19b642adc1a313127f7 ./backend/apps/imports/admin.py 25a6aa08cc4924d1365d4a756dd619be717a697e6b51e081a18fde9c0c138c95 ./backend/apps/imports/apps.py e6287db02eaa6b48b7894fac899c47aba643ff8ec777fa52fc5ccc335863cbdd ./backend/apps/imports/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/imports/migrations/__init__.py 9c37239a14ae96b724013a16586446e4c8471f91c1759a22f4a1e7013024620a ./backend/apps/imports/models.py b086a2910ad9fe614bb610cb43633754c465e92d3d855f0d9c0382afe2b84218 ./backend/apps/imports/services.py 4015e870d3d73146c4854faf5ad0267364ad9e43fb91b3a72dc4973b1557bcb9 ./backend/apps/imports/urls.py 03fe7cfbe1b4dc7a06c04de3a757128656bbeff458dae601273da16cc89006c7 ./backend/apps/imports/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/leave/__init__.py fa2351fe3cbef977a1f5ab52843e5c83adb8dabd5686864a077db9daaa2e8c69 ./backend/apps/leave/admin.py 9c5cc781ec5d5bb4b2f2c21a32c9916f5151ae313807dd7fc89af6c648d018f0 ./backend/apps/leave/apps.py 10b2a998b6218565d66dd2ee761e26e31344689493932375a40f51e89faa162c ./backend/apps/leave/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/leave/migrations/__init__.py 40922f85995c80d530a93ab04af118ee1badcad29df348240050155ab866e55b ./backend/apps/leave/models.py c823f8f754262044e98f53afdc0fa75087fd1f190bbcf0e8c9d5646e93caf1c0 ./backend/apps/leave/services.py 6df0e904748342494857c2ce8fd1f3a7059085de60518398fe85f5c4c6f7310b ./backend/apps/leave/urls.py 1c52aa48664e05f492d0e660e5292b55e74939c24f4d8e3f3dd817f5f02775de ./backend/apps/leave/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/loans/__init__.py 3272c8620cfabd972e7a5c4e1d9e97acd6a06a642dc5cb6923dd860f688fb669 ./backend/apps/loans/admin.py c92fc4bada691a931cbcff4308662ab5d3b7bb7635c92bed1aff16ced7a64afc ./backend/apps/loans/apps.py 54f86025781bc4003ccd40bbd6e7eb4c88741caff14e48650a8376eb79055b35 ./backend/apps/loans/calculations.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/loans/migrations/__init__.py c912d9caf039f1936ad55d0d9646fc5417778077a2faa5251b59da8530ecc3d3 ./backend/apps/loans/models.py a0b4c117f1703151b54beae927e1b5577a7e27805c3f38c76a70d22246e85afe ./backend/apps/loans/services.py 30983d259bf52f97bba7bc7ad2ce19bb13f71bbdb4d49efe13623969ea85d2fe ./backend/apps/loans/urls.py 8d07ac6235c003c91481525be5ff91a29a1a118c5f998c89bb8439cc3bfcff3c ./backend/apps/loans/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/organization/__init__.py f5119db7ed9002c1601c3e1850803ab90b9c8192150f888dbdbee5eea251ff2f ./backend/apps/organization/admin.py f9df37a110b22f5ff4f308633b108ae847def09133b3edb86180a5b72b78eab8 ./backend/apps/organization/apps.py 43d73a1347adadc9da4714ec2f0036ad3813d805c5736350e4c783391c27e11c ./backend/apps/organization/context_processors.py 45aa7f970b7881fa13ed529bfcfe6aaa06e17860c4837ee032de298d76e32e9f ./backend/apps/organization/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/organization/migrations/__init__.py 00ec9eeffe1119da8c01bbed4bf563b1732f3386efe105575bcec1f7e7d25ac1 ./backend/apps/organization/models.py d9c684c279786f2496977fa2d348068d8828e983a0bba99a1734751f1fb803b1 ./backend/apps/organization/services.py 4a76aacb2a9c6fa9f3f1ad01414b8351a568a718ea4cbe11137a471b953176e7 ./backend/apps/organization/urls.py d43b6f4dcfee9c8c34ce2d62e81e105c0dab77ef5008ec75b6d90f9ab6f64963 ./backend/apps/organization/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/payroll/__init__.py af4549c2bbb3153c67b7a5b2ba13c1fa494b4ddfbdc1d4378fbd2accb655adde ./backend/apps/payroll/admin.py 8dd2514382c67a1ea20b7a8590ceaff74d65bddc7c2a6bc049c14dc21b1ee04a ./backend/apps/payroll/apps.py aa37ba04c9c7614ff0266ba3d5930be890f1eec4dcbcd30163b25537fd7cdfd4 ./backend/apps/payroll/calculations.py d44c8d1e653fef15071ebcdae5007a09cd39e01a2b8f4281b51b90ab71a3ca78 ./backend/apps/payroll/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/payroll/migrations/__init__.py b6daaecc73d59b263d48b4c4c8f243d7e3074096ea91cadce081f33a7de6e55c ./backend/apps/payroll/models.py f00b23497bd3d12b7dc4ce8e9c79b01d93612d2d460fd76015bb95285d063a4f ./backend/apps/payroll/services.py c000590a5246d3d416f50ee6ec800ed810fb5372e0c7640be2e021298d652628 ./backend/apps/payroll/urls.py 0fdac8740eef9c8c3f0f12a94a034d1caa94c8a18f2374f4227b021f68924dc9 ./backend/apps/payroll/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/reports/__init__.py 1943adc543c7b03617610a0a8d99e1a83c82bc6dea979a57b148c62edbe31594 ./backend/apps/reports/apps.py 26a87a81008a05bfd06a71b6e9a93b87b3832edee48a1e8650d1c506c5a53149 ./backend/apps/reports/services.py a93f445a1b715bd888c0eaa0ebdfd17478d495a98421fab43034f0d5c057b646 ./backend/apps/reports/urls.py 6de1e082a76e9a2488e3ed9df8ac7f7e15dc2ae1a20923c0e7e02b61e39088b7 ./backend/apps/reports/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/workflow/__init__.py 4018e7a421b6b1b4eec54a692c1634d0507a3e9d7c6e5b5947183fbcfb21688f ./backend/apps/workflow/admin.py 877e5d33258d9378b5c67abd7de154f414e83f11ca6e5f3ab83b000d4154c348 ./backend/apps/workflow/apps.py 1c11b7e135e963648cf8c1403240ad791542204e7770b94570ee185ef1b82efd ./backend/apps/workflow/forms.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/apps/workflow/migrations/__init__.py 7ea5eb9fbca571a12615438a019f09ee4ad6f7b325b9c87f05e6845fb1a5cbeb ./backend/apps/workflow/models.py f2afd215ec4d6e1d329a82a10df571f9a261e167c24eb45d82f641b343ac0ed6 ./backend/apps/workflow/services.py 146fa7b174deca8629bb6b7ba152b45be01b557490da340f089b2df8f430a84c ./backend/apps/workflow/urls.py d85d333391959b561ea76d22d015049dbd8cdbc1ccf9bbd812a5c82aa2d2aa10 ./backend/apps/workflow/views.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backend/config/__init__.py f94ff28c52ac6c9217b1888facb82875bf2520c4c6d36450fb368cb6f1a12bb7 ./backend/config/asgi.py 64229afdf76cb159e6b09d80b0f06b514414736abf5cf58651cdf6f4719d8059 ./backend/config/env_loader.py aebc6004212b38a13947d66fa54340ea891581564a0266060092dec2305eae84 ./backend/config/settings.py 124f2e7c4bb965801983d0f5924b461091df5c8ab1dec6bea2cad64810e71d1c ./backend/config/urls.py 735be3754754f196e599beb764a9a0127bffc64c532aa55e53476995d32d1f4d ./backend/config/wsgi.py dd158556f86f9933d8468b438cca27d140acd6fe8f38631b4c521f4ca46bceb9 ./backend/docs/BACKEND-STATUS.md 195750cf1e1dffb2342d416d3715fa6f08a44ba98eae5f5d3a2f4c315d3c5707 ./backend/docs/BACKUP-RESTORE-RUNBOOK.md b1e51693fc6065c2250341a2e427fd9cdfe75b06bd9e0b36c2a90ada5c98bf97 ./backend/docs/DATA-MODEL.md 5744404fd745b0148114214d60d012e19cbf5f37c72261c9bc024ec622e659b9 ./backend/docs/EXIT-CLEARANCE-BINDING.md 9ebfcb3481094ecee9b3222252a140ed16e9d62e788642c31d8a61a61f13f65d ./backend/docs/LOAN-PAYROLL-BINDING.md c727500b5f0b73f01d4c389986620d20447116a4375a942e9eb0a9deec5a1301 ./backend/docs/LOCAL-RUNTIME-RUNBOOK.md 6c5439402ecef66533fc03ca2b23cfc565a1994a272ae1cbdf01c0a3b04bb3ae ./backend/docs/LOCAL-UAT-INSTALLATION.md fb43fc4badbf45554e707107c38f02b4121df2d418a83b5c6797690a7a429f67 ./backend/docs/MIGRATION-FIRST-RUN.md c6b85cc93e77a0037d9692145b8defad5093f49f060dfb6ebe0bde8745dea533 ./backend/docs/PAYROLL-BINDING.md 40789028a0b8707552b6dc80ef5368f591880ab9ccbb512b4422db0865b11485 ./backend/docs/REPORTS-BINDING.md 195e3806b80da451d8c35a2b79de2969fa1dd149175807866b17a33a63b81b6a ./backend/docs/SECURITY-HARDENING.md eef6a40d130646ae43f9d304bd08ceaab030726dfc98a65d4caf15ddaee29555 ./backend/docs/UAT-SMOKE-TEST-PLAN.md e05b5105723918219a00819a02fff4171e093e6612dec1b0a442c6dc3305076d ./backend/docs/WORKFLOW-WIRING.md 58047f756a4586f675f4f8f1287d54ea955456c41c0a385b835da6a37af8550d ./backend/manage.py acb4eae0dc3572e74ce9943436d817bc141e50105a8857902b1fc08513b28d20 ./backend/README.md bf8f535a81850741a5435884162879a9e97fe761ecc4eef7773f2be58cdf27f9 ./backend/requirements.txt d1aff0b1ab40f089a7d9b6e52beba2b477fc74c373b86ecab1f64025598a2b48 ./backend/templates/attendance/attendance_adjustment_form.html 1445dcbb04a76d2a7c33441a76c0efaa9ebfb7f1bef2e9af5cf194d540a8c8a3 ./backend/templates/attendance/attendance_form.html 534cc056a88ed656d57460f82cb621732cc8e5baaf541097d8cf0e90d3149cc4 ./backend/templates/attendance/attendance_list.html c64ede9fb53a128e395c84d6c2502d5b3186fc381044b97d8ecb5a88d6444d61 ./backend/templates/attendance/device_detail.html 6d18298d4ba3ea13dd6233264f4540fb24b7a1694c894aa604a12e1b96043b05 ./backend/templates/attendance/device_form.html 16cfe77cd7523a31e009aa2582a6f78abe50a63500199f66691e78ea4a2ff0e6 ./backend/templates/attendance/device_list.html a97f359e58f08606bbb28ad650b7b4d91e9d46375009f1df2b338693d5c5da91 ./backend/templates/attendance/period_control.html 7b0aaba07f8d3123ca4efc8a3868fad082d493d4ab9efc335a0de4f1d070fbe1 ./backend/templates/base.html f4e6c4a697ce5c12af6071d4a11c6c09699b0c87265b40f6c199531eb0e468e5 ./backend/templates/core/administration_hub.html eb219b0caf342f1401baed96f34e37614480ef468b459e3d0aa61be00250c554 ./backend/templates/core/audit_logs.html b58153f7dd1e194a598aa7dd3dc096a90b6c4c0f1a6d9d32d120308c77df172b ./backend/templates/core/local_runtime_status.html 44df68141dd85f87b4b671535407065ec667a89c058b7db0437c5f4eb2716942 ./backend/templates/core/migration_center.html 0099e69854b9e7a91de62f26e98f1ea780f528fc623ac932fde78c91baac4324 ./backend/templates/core/system_operations.html 989643f39cfa12d124d187cee7b6ab276acf141a9fe334794382181b9cd00682 ./backend/templates/dashboard.html 85b17c7f6166f05f6ba4511b0b8344475c632d83ef33461efc6442b717c4c71c ./backend/templates/employees/custom_field_form.html eff4bae2e7841565fc9ab5e86f751704887c478a2d06702c2d628c478fa82f33 ./backend/templates/employees/custom_field_list.html a8fb973e6447442da728ac6c23b67002b24d63d679c6aae10ca0ee158bcc0071 ./backend/templates/employees/document_form.html a5c0e6b2827d76821f40af0b4c0309e8de2c460b50f46b261586bde8b0c462a1 ./backend/templates/employees/employee_detail.html 3b0a1816d52f015f11a16a0c49e7bb3b3f5aae71377fca0f02c21808b5f14bd8 ./backend/templates/employees/employee_form.html 6e9543cdce74109971ca51f9a7e0b53a23b2a7c1530b6f1fef09bd88684057a8 ./backend/templates/employees/employee_lifecycle.html 5f0b811c4e58a19a78b9622238fb24a656e7d6813d729a1210d3ac3c3c099fbf ./backend/templates/employees/employee_list.html abf501dd1c4a21a16ad862c587bd4c8c5a626a440d7627c5ca46edd5299c6160 ./backend/templates/employees/payment_account_form.html d9c8c262795c6f4ad9b2f84e20bfe7dd3193030e8fca62f239bc0e00ed3a40a3 ./backend/templates/exits/case_detail.html 3ecd7cc6213e68d31a6b035201163d7fe9eb7d0fb94f83ed4c36c08be8331837 ./backend/templates/exits/case_list.html e6765744815cdc87497fadb3cef8ab90e4d5e08f8c36da4967499e4835c0eeeb ./backend/templates/exits/simple_form.html 16796cf8e103e8dcef28dab8b3471f2293f3e8593cfb96733b0f139bd4eb1a7e ./backend/templates/imports/job_detail.html ac14082026f7ab6e30657e3526bd93fdbcbbf3bc3530d9bcd95a974dc95a8cc3 ./backend/templates/imports/job_list.html c43921feaa9fd84343fbe4a8a581e4b181797d8ac60fd02b8519c0da6f4f3b69 ./backend/templates/leave/leave_cancel.html 49b48fb761163f8909281076d8dab13407008a28fb38d66f489cacc9eef76f28 ./backend/templates/leave/leave_form.html 0cbd2804553b87268b6261b0ce5291c5eeac2da3c1d532714548c8c4f0bf5295 ./backend/templates/leave/leave_overview.html 3b70212940e7e3b16c48cf5abb2e03257ae71cfa538c407cb138c89e70aa8442 ./backend/templates/leave/leave_year_initialize.html 0f92971eda5bae90a606bb138c057068229b84f3d55ba3f1bdfc947620d59842 ./backend/templates/loans/facility_detail.html 1dbb80222b3f6c9d1f3862d8a92cd314a9178f9c19b73d33aa3a357acf7524ad ./backend/templates/loans/facility_list.html 69a570d0a0f33cbf69d6b345976d5f7095238c054a7f6d9214fde816dbe55cef ./backend/templates/organization/master_form.html f4f37d53276067fd35df548a5326dc2c0fff5e63a2772182b3942809ad3e6b2e ./backend/templates/organization/master_lifecycle.html 26334b28ab6ba354524f1ebcaaca10e9ba1c9d32af8091594e0c7fc94a5da564 ./backend/templates/organization/master_list.html a00fed4ddfd63211d10a79c019658521618d8f21b3f8717c9e9b04574bb16153 ./backend/templates/organization/policy_form.html 627f55fa0820b277b2f1f91bc25bc2a0b9b698697e03ef7586fb451f6e12c933 ./backend/templates/organization/policy_list.html ad9ed6b72a6340982366ae6ca3202103abb91ec17e8a415024712e370d0c3c53 ./backend/templates/payroll/input_list.html da7bda1490021e731a6f7a3d3fd5d4e2a3042a1e673c0c381ae0236d32163146 ./backend/templates/payroll/period_detail.html 9f08b99ee31d4dbcd10079a5f865bf5031b7d41dbae943fe91cdf28f37a2549d ./backend/templates/payroll/period_list.html d235915a4a916b35268f91a3cc2a42990f0cc28e737704ca7da3a41696ea7ff6 ./backend/templates/payroll/salary_assignments.html abb1d9dd57a54ee1bc1c7ebccb41ed35f49a50daed3afb0b26b6f3b74fe7ec84 ./backend/templates/payroll/simple_form.html 2f8a38348c5c0c7e09ee2afdf27d617aea033ba9b3876c49e23de85a9ae1dee4 ./backend/templates/registration/login.html f3455d7d105e3d8ef91770d7c60bf9009eadef817be64df959849f75a722772b ./backend/templates/registration/password_change_done.html 9534b089d5c4a8f07edf320591f3c44894e4904fe4b403aba6f240f907602ded ./backend/templates/registration/password_change_form.html c75a81330d0eb204ec6a3c16b6b5dfdff17f28b5318455163dd6b5f6108e0c0e ./backend/templates/reports/index.html 2d23acd09505d2bd2915733e795a4b38309c1e468eceb7648b4504feee269cdf ./backend/templates/reports/payslip.html f3c98c693169f7535fdd526e4fdda716797ed5320bc9dedc493b45837b19210d ./backend/templates/workflow/application_form.html 9ed3ee3893dba5f9a4063b1ea021591543c02b815c45619eeb8bf7ca8a35c4d0 ./backend/templates/workflow/application_list.html 276db766faf2a32ede1d5148feb7ccb02e6e9be9a2052a12e59b8a4ad3adb64e ./backend/templates/workflow/attendance_resubmit_form.html c6b23f8c49382870efd32dca057a3f47d3d86be3221ef9f9630f234d2dda96be ./backend/templates/workflow/notice_form.html f141b4fa5406d84d1ef2af090151b1c3af5f833723986fe9b0e9d1cfdd6bb9c7 ./backend/templates/workflow/notification_list.html 9db49ed6a637bfe9683deb9883343c63803210e0f5c69ffb92a821f859e5363a ./backend/templates/workflow/task_list.html 7055a5f09573c9b3b370ed3d2919ee56d39af78495459b141ac51bf15d341303 ./backend/templates/workflow/task_review.html ca24e378e957b46e53db3f1fbd5afad33ac7b7b9a902d4f90ea1a76cec371157 ./backend/tests/test_attendance_contracts.py af40e069a1f4b604167c20e0fbc7dcaba2fe923c4b5c638e4826f66a4183c018 ./backend/tests/test_exit_services.py f4ca06103addc5abc70d003789cff53357cd14f5c17a83f290b53a293dca0046 ./backend/tests/test_import_validation.py 9836c140e5f34651ffce3740bb4e5dc79204b7369bf988ed019a67e28a2dffd2 ./backend/tests/test_loan_calculations.py 315e41d18a2a47c2df5b52f06c2cf256c7ff970d489b054b100e9e4b854d5068 ./backend/tests/test_payroll_adjustment_contracts.py 4904dfe8a69a7b72b993c23176c73e58c62f498e676a371f92461794120911f8 ./backend/tests/test_payroll_calculations.py 8b4ab7d69da6ff3d37b965f05e0b2f9a8df1b277aed8d44d76a233ef4e26eba0 ./backend/tests/test_payroll_policy_contracts.py 36e04b6cda29a3466910929796a12a9229e4ffbc3bf48f7cd023c6e1367b6ddf ./backend/tests/test_release_contracts.py 28eb930c19cb4582fac992151cab127ceeabdfacdb3a7bdeeb21ab5e9024359f ./backend/tests/test_report_contracts.py 044efd3e8519b78c5ce772124ed275ce190be52a5b6c8d56453bccd4a9024a4e ./backend/tests/test_security_contracts.py 7376a3e3c500b3077e8016d1b9c7056af71233d050d745130b16fd4fb9d672c7 ./BUG-LOG-TEMPLATE.csv e73db6f19a576a22dae3ad23a5dd9162ab73a8195c05e85581c71a07f6f7c798 ./CHANGELOG.txt 5c983cd27c6259d684c62522fd69c9edd9be0bb68251c3b2a67c1401abe20f9b ./CONSOLIDATION-DEVELOPMENT-STATUS.md fa0cf6b14cd8cc9c72ba39df7b9f4ad89de7361462affdae9a5d2438874abd3d ./DATABASE-POSTGRESQL-SETUP.txt c2d270eaadd6e1c9f6710f33a0d320d1f29e4596e0b9a5ad9bff6ccaf498396c ./DEMO-BACKEND-PARITY-MATRIX.csv 4a4020c58a73728a97e4668fa99acf0deb16f2a9d7406535b163fe40a2fac203 ./docs/DEVELOPER-PREFINAL-CORRECTIONS-PF001-PF018.md c01bd6a9719ad1e23578dc1dc465d5dd696522c8e82e12e469092c1bc4bae7ef ./docs/HRPAY_Developer_Orientation_BN.docx 0c6e514c5f43edd8ab01294845176185eaa74339264d4eaae9e453186029d34f ./docs/HRPAY_Developer_Orientation_BN.pdf a57844a7825c4bc253975e30154b42beb788a86b77f0ac71ddadf587aff4a4b6 ./docs/HRPAY_Installation_Maintenance_Guide_BN.docx 797385303cac41bdd6141c9f064298e07811bdbb9e93011c76d2f0aa34c5c538 ./docs/HRPAY_Installation_Maintenance_Guide_BN.pdf 4f791f9d999d0661069f93a4846f83502cbdc046882974dc953175837c270e2d ./docs/HRPAY_User_Manual_BN.docx eab4000e9e31f56f234810d18ecc3a164c45edb020b14e07daa77abfe0f7f0b6 ./docs/HRPAY_User_Manual_BN.pdf 119bbf54db58563b4107d76496e0afdb9d69eccf961451a6906ac375d0efc6c0 ./DOCUMENTATION-VERSION-CONSISTENCY.md 2bf1d942f5e56a4c76be5c346aec2d4a664885232069de50e879c8144617a448 ./EMPLOYEE-IMPORT-TEMPLATE.csv f811e2f29cd47c851eb2e792bb8a7e5cd890b09f2feff97ddd093827dc6a926b ./FIXED-ITEMS-RUNTIME-REGRESSION-CHECKLIST.csv 6a0016c40385aabb49611beff9f3501eb28269026b56216bc39728ef976bf954 ./FO-M1-LIVE-PUNCH-TEST.csv 7a5e0be68bc0a2a3a5c0a91439be2cff9a3715676af37d2c4b115977f90dc84f ./HRPAY-CONSOLIDATED-QA-TRACKER-QA001-QA107.csv 4f563a8b8edca7131585f9d5c04dd752c2b16832eab816492367ccd7dfd9c768 ./HRPAY-CONSOLIDATED-QA-TRACKER-QA001-QA111.csv ddcba7c326ce669f43d01a04f0bf0122ce722c443e443e17d16302b0125d7010 ./HRPAY-DEVELOPER-ACTION-TRACKER-QA001-QA095.csv ba4bfb02acea49be0d1a39e9fbbfe98721c61584aefa30ba17c1afee061d4854 ./HRPAY-QA-CUMULATIVE-FINDINGS-QA001-QA099.md 95cf7b16644808ad0d76be0ccba30f678113b5ca256a19520c971e469344ea47 ./LEAVE-OPENING-TEMPLATE.csv 68d573f92a7dd8ef8530fa7924eee077b338fcc13a75c07aeded7e4535173fd1 ./LOAN-OPENING-TEMPLATE.csv 9b99e0306a39cd2380a8694e190c432b6e5caea10c9e84b41bd1e68803feddf3 ./LOCAL-UAT-CHECKLIST.csv 003f99691a733b602dcfd7a766fac6d4ff795251da45fa127dec9e642fdc0792 ./LOCAL-UAT-RUNTIME/tools/check_local_uat.ps1 186b7dab47454adfd3fdfaee1c797c8839a931cd352becdeaf892812de9eae7d ./LOCAL-UAT-RUNTIME/tools/collect_runtime_results.ps1 9be6f715a421d3ee2cb10a9a8009f1d73efbab497ab311122f102d4502760e38 ./LOCAL-UAT-RUNTIME/tools/freeze_migrations.ps1 9dc601071ad85ee00f4c5a9e4a2e618f5ff3cad6239a8063b7e68ed2b65474fc ./LOCAL-UAT-RUNTIME/tools/preflight_local_uat.ps1 5f5d678478346c9a672504c9f76cf05641050a1f509e732a8884c5d2d69690f3 ./LOCAL-UAT-RUNTIME/tools/run_smoke_tests.ps1 14bf1b8fedb98adb6eb8aa0113fa15add4e67344f457ab13ba69f1f1fa6667dd ./LOCAL-UAT-RUNTIME/tools/setup_local_uat.ps1 4c501a392ada8e22ad87e1548a56eda48e2ab45787198cfd7db8bbfcd8ce25dd ./LOCAL-UAT-RUNTIME/tools/start_local_uat.ps1 560a9edd40aac372f19d367877bce5fb755e0ef9cf1755c4624b0d5fa7b24e49 ./LOCAL-UAT-RUNTIME/tools/start_local_uat_lan.ps1 69b1abad4c10ab4a47082e4a793b221dcdfb81030f37d8395bf6455568722615 ./LOCAL-UAT-SMOKE-TEST-SCENARIOS.csv 0683fc1ac8b77481b876292bf9b91592fc40103b46af8457354f02cbdfae00ca ./LOCAL-UAT-START-HERE.txt 0d3fde61ec58ac233f1112757ed1165e8e1381ccf73c6bafb29fc4057b89893c ./MAINTENANCE-DEVELOPER-RUNTIME-GUIDE.txt ae98bc99e2456c293577402e2dc1f72cc4adcdcd13010aa278904dfa5b9cabdc ./MIGRATION-FREEZE-README.txt b06cf3ecaa6585a027617a17294d99c24796df212b27af0f3b5b3addd4a40199 ./NEXT-CHAT-CONTINUATION-SNAPSHOT.txt f9242dcb0d49998ad838e72fd29c93e0bc7df12f2423f426da509a3a0244f358 ./OPEN-ME.html 5f6fcbdd5b0faf2290b3183eeeefbba72ae990dba7ea066cf92809081b1aa50a ./P0-RUNTIME-VERIFICATION-CHECKLIST.csv fd440cdc876773ba3b5f827ad573f046b25c78e4e82834cb0aa030d52b1ed374 ./P0-STATIC-EVIDENCE.md 7cfa08fe22c1cc31a20ca446d330e10c37acf2beb3e269cbbe9478d8635a410a ./P1-RUNTIME-VERIFICATION-CHECKLIST.csv 8f1d53612fe722f13541d16bdcf45e5c6d835c0e77e2f9ef488e36bc52380804 ./P1-STATIC-EVIDENCE.md 91f0b343f95a4856764035dcb15c81511101f10e007463b85aaa20ed24f5972d ./P2-RUNTIME-VERIFICATION-CHECKLIST.csv 60fbb61f67e1a9b22d3e0ec3ea6396681c0c10eb69db4e9a8cedec679ce8de20 ./P2-STATIC-EVIDENCE.md ee9ad8454756d419c0f6166e78c010b02338e0714c98614a15f042f8da3a0ee3 ./PACKAGE-CONSISTENCY-REPORT.txt dd945d5675477c6792ee9c9f5290eb37fbff8cd2cb65c0eacbbc92533c0fc9ca ./PACKAGE-CONTENTS.txt 2d30f3bc869981228f6150b7d9e67f060113c22c00d91c34ac8eafd887e33177 ./PARALLEL-PAYROLL-RECONCILIATION.csv 2131658bf50533382ed39fe2f3bb1d23a7a2f7b8acddb2733764c5bdad40f892 ./PC-RUNTIME-TEST-CHECKLIST.csv fc071700b6f299ac2dcb0c2bda9a63c4625d7e10dbccb28d34e5959cb314d42b ./PC-RUNTIME-TEST-START-HERE-BN.txt ce2e3140ac509b07b4293afd87d1d1e88fb4844ddb5961dea7b18e3556f47fe1 ./PRE-FREEZE-MODEL-SCHEMA-AUDIT.txt 8adaeee1ae9992d10039233f418b2bcf76f4a10f61ec9b87cec64430b4b81db2 ./PREFINAL-REVIEW-CORRECTION-LIST-v0.39.4.md 4f1b399b87a5218b1f74cbcb0638a9186d234a28e301671be9656dc8e256a2ef ./PREFINAL-REVIEW-CORRECTIONS-v0.39.4.csv 4c6f219de5be18d3401eea1b93b978dcda0b8606f37a8729494c675dbbf8049d ./PREFINAL-REVIEW-STATIC-VERIFICATION-v0.39.4.txt 3f91c388ac8e498c9ae5638cc861c0b1917fcc112a65be3a33ab30d10c07615b ./PREFINAL-REVIEW3-CORRECTION-LIST-v0.39.4.md 9667e7324bd67a772678df4ee601bdc1e40b5af8a91dbc398144b264bfc0d39c ./PREFINAL-REVIEW3-CORRECTIONS-v0.39.4.csv ac24c4135d3ff296abe8e5080a68b29e0b9b29a930d4f3f8293a4e3651a45b47 ./PREFINAL-REVIEW3-STATIC-VERIFICATION-v0.39.4.txt 5e2cfec3194e1d02ffdc2cd457003c1881459bfeeea892b73defbcf3917a091f ./PREFREEZE-HANDOFF-NOTE.txt 0096836f4052eb59a25985243b59fca644a700730fb0bf2077f69e7b99b77ff8 ./QA-014-MODEL-FLOW-AUDIT.md 7914cbefbc5768e3e634d5bf5c5e3f93296bc429865afd6e0149e9802b9ef39a ./QA-TRACKER-RECONCILIATION.md 6dbb4259b9190fbca3edd66225b2cedfe0dc88b8f24831aed84d59abd1bc4beb ./READ-ME-FIRST-LOCAL-UAT.txt 150951471b21ffed5f8872c557cdbd86d3565464f6b7edd10d052ba0d9e0bfa0 ./RUNTIME-DATABASE-GATE-STATUS.txt 3ec8cd7e1ce692264a4e6abfc75c2cd8f857c67d003ee6c094eaf0890cb2a741 ./SALARY-OPENING-TEMPLATE.csv 07974975e750f42dc6b504551b16613f985a9c46411940009fffa6bc86d3c18b ./SAMPLE-ATTENDANCE.csv 748ce74a0b6f41af465c54f6aa09fd7fc30f9e43b2ca91390b5eea13cf08cf95 ./START-HERE-TRIAL.txt 50a7b7e19b93576a32a45441447bd1b1bdca71e36a3723966521352325ea37bf ./STATIC-VALIDATION-SUMMARY.txt e86dc9d3a7f8aa326a9669ec2ce415e569b3f672f6def824a01f57f3573cfc65 ./tools/model_flow_audit.py 1d99622424ae0ebf8ad242ba0ea70dfa88422dbe8ed1db809d7c55425360ac6e ./tools/p0_static_verify.py 53434d6f4b2bc33a4be8b709f271b3f99b8e48b0ee4c193fec714b4bdd9314c3 ./tools/p1_static_verify.py 05ecc6443e8243226de29d6b8191d326c8d325304240d340c04a186e0ad98770 ./tools/p2_static_verify.py efa51dc4b72d22b585767fbb6b2aa51a93bad759905aa1c77bea20da4c710270 ./tools/package_consistency_check.py de086a98b1e16f8c00897a71712faa8829d3bf5c5fff02a6d0f54a19711cea51 ./tools/regenerate_package_integrity.py 33109531d44f1cee827c313345a5f7ff323ec34137b71440fe73828887b1fc88 ./TRIAL-RELEASE-NOTES.txt 0e01f72c5eda1a350c85d4670fa41d5ea7a3707cfdbd3677136d9076c454e7de ./UI-PATCH-v0.37.1.txt f49f4b074dc2bfce48e58913a922a3199c72cfc0379cf37585e2ab2a4e39a407 ./ZKTECO-FO-M1-LOCAL-TEST-CHECKLIST.csv