Z16633

{
    "Z1K1": "Z2",
    "Z2K1": {
        "Z1K1": "Z6",
        "Z6K1": "Z16633"
    },
    "Z2K2": {
        "Z1K1": "Z14",
        "Z14K1": "Z16608",
        "Z14K3": {
            "Z1K1": "Z16",
            "Z16K1": "Z600",
            "Z16K2": "function Z16608(Z16608K1) {\n    function words(x, word_index) {\n        var unit = [\"\", \"unan\", \"daou\", \"tri\", \"pevar\", \"pemp\", \"c'hwech\", \"seizh\", \"eizh\", \"nav\"];\n        var dek = [\"dek\", \"unnek\", \"daouzek\", \"trizek\", \"pevarzek\", \"pemzek\", \"c’hwezek\", \"seitek\", \"triwec’h\", \"naontek\"];\n        var gent = [\"\", \"dek\", \"ugent\", \"tregont\", \"daou-ugent\", \"hanter-kant\", \"tri-ugent\", \"dek ha tri-ugent [netra ne vez ket implijet]\", \"pevar-ugent\", \"dek ha pevar-ugent [netra ne vez ket implijet]\"];\n\n        var kant_string = \"\", last_two_digits_string = \"\", dek_string = \"\", unit_string = \"\";\n        var kant = x / 100n;\n        if (kant != 0n) {\n\t\t\tvar kant_form = [\"\", \"kant\", \"c'hant\"];\n\t\t\tvar form = ([2n, 3n, 4n, 9n].includes(kant)) ? 2n : 1n;\n\t\t\t\n            kant_string = (kant == 1n) ? \"kant\" : unit[kant] + \" \" + kant_form[form];\n        }\n\n        var last_two_digits = x % 100n;\n        var dek_index = x % 20n - 10n;\n        if (last_two_digits \u003E= 10 \u0026\u0026 last_two_digits \u003C= 19n) {\n        \tlast_two_digits_string = dek[dek_index];\n        } else if (last_two_digits \u003E= 70n \u0026\u0026 last_two_digits \u003C= 79n) {\n            last_two_digits_string = dek[dek_index] + \" ha \" + \"tri-ugent\";\n        } else if (last_two_digits \u003E= 90n \u0026\u0026 last_two_digits \u003C= 99n) {\n            last_two_digits_string = dek[dek_index] + \" ha \" +\"pevar-ugent\";\n        } else {\n            var tens = last_two_digits / 10n;\n            var ones = last_two_digits % 10n;\n            var conjunction = (tens == 2n) ? \" warn-\" : (tens == 5n) ? \" hag \" : \" ha \";\n\n            if (tens != 0n) {\n                dek_string = gent[tens];\n            }\n            if (ones != 0n) {\n                unit_string = unit[ones];\n            }\n\n            if (dek_string != \"\" \u0026\u0026 unit_string != \"\") {\n                last_two_digits_string = unit_string + conjunction + dek_string;\n            } else if (dek_string != \"\" \u0026\u0026 unit_string == \"\") {\n                last_two_digits_string = dek_string;\n            } else if (dek_string == \"\" \u0026\u0026 unit_string != \"\") {\n                last_two_digits_string = unit_string;\n            } else {}\n        }\n\n        if (kant_string != \"\" \u0026\u0026 last_two_digits_string != \"\") {\n            return kant_string + \" \" + last_two_digits_string;\n        } else {\n        \treturn kant_string + last_two_digits_string;\n        }\n    }\n\n    var blocks_names = [\n        [\"\", \"\"],\n        [\"mil\", \"vil\"],\n        [\"milion\", \"milion\"],\n        [\"miliard\", \"miliard\"],\n        [\"bilion\", \"bilion\"]\n    ];\n    var blocks_string = [];\n\n    if (Z16608K1 == 0n) {\n        blocks_string.push(\"mann\");\n    } else {\n        var x_remainder = Z16608K1;\n        for (var i = 0; i != blocks_names.length; i++) {\n            var cur_block = x_remainder % 1000n;\n            x_remainder = x_remainder / 1000n;\n            var cur_block_string = words(cur_block, i);\n            if (cur_block_string != \"\") {\n            \tcur_block_string = (cur_block == 1n \u0026\u0026 Z16608K1 != 1n) ? \"\" : cur_block_string;\n                var variant_id = (cur_block != 2n) ? 0 : 1;\n                blocks_string.push(cur_block_string + (blocks_names[i][variant_id] == \"\" ? \"\" : (\" \" + blocks_names[i][variant_id])));\n            }\n        }\n    }\n\n    return blocks_string.reverse().join(\" \").trim();\n}"
        }
    },
    "Z2K3": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11",
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1002",
                "Z11K2": "Breton cardinal, JS"
            },
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1004",
                "Z11K2": "cardinal en breton, en JavaScript"
            },
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1430",
                "Z11K2": "Bretonische Kardinalzahl in JavaScript"
            }
        ]
    },
    "Z2K4": {
        "Z1K1": "Z32",
        "Z32K1": [
            "Z31"
        ]
    },
    "Z2K5": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11",
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1002",
                "Z11K2": "mutations for “kant”/“c’hant”, “mil”/“vil” no conjunction for “kant” etc, no quantifier when only one"
            },
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1430",
                "Z11K2": "Mutationen für \"kant\"/\"c’hant\", \"mil\"/\"vil\""
            }
        ]
    }
}