Z26331

{
    "Z1K1": "Z2",
    "Z2K1": {
        "Z1K1": "Z6",
        "Z6K1": "Z26331"
    },
    "Z2K2": {
        "Z1K1": "Z14",
        "Z14K1": "Z26328",
        "Z14K3": {
            "Z1K1": "Z16",
            "Z16K1": "Z600",
            "Z16K2": "function Z26328 (Z26328K1) {\n\tfunction Z17866(Z17866K1) {\n\t    let Q = Z17866K1.split(/(?!(?\u003C=[pbtdcgfr])(?=r)|(?\u003C=[pbcgfl])(?=l)|(?\u003C=[^aeiou])(?=h)|(?\u003C=q)(?=u))/gi);\n\t\n\t    const consonante = (s) =\u003E /^(b|c|ch|d|f|g|h|j|k|l|ll|m|n|ñ|p|qu|r|rr|s|t|v|w|x|y|z|pr|br|tr|dr|cr|gr|pl|bl|cl|gl|fl)(h)?$/i.test(s);\n\t    const vocal = (s) =\u003E /^(a|á|e|é|i|í|o|ó|u|ú|ü)$/i.test(s);\n\t    const vocalAbierta = (s) =\u003E /^(a|á|e|é|o|ó)$/i.test(s);\n\t    const vocalCerrada = (s) =\u003E /^(i|í|u|ú|ü|ǘ)$/i.test(s)\n\t    const vocalCerradaAcentuada = (s) =\u003E /^(í|ú|ǘ|ý)$/i.test(s);\n\t    function check(n, C) {\n\t        let b = true;\n\t        for (let i = 0; i \u003C C.length; i++) {\n\t            const c = C[i];\n\t            b = b \u0026\u0026 c(Q[n+i]);\n\t        }\n\t        return b;\n\t    }\n\t    \n\t    function f(n) {\n\t        if(check(n, [vocal, consonante, vocal])) {\n\t            return f(n + 1);\n\t        }\n\t        else if(check(n, [vocal, vocal])) {\n\t            if(Q[n + 1] == Q[n + 2] || check(n+1, [vocalAbierta, vocalAbierta]) || check(n+1, [vocalAbierta, vocalCerradaAcentuada]) || check(n+1, [vocalCerradaAcentuada, vocalAbierta])){\n\t                return f(n+1)\n\t            } else {\n\t                Q[n] = Q[n] + Q[n + 1];\n\t                Q.splice(n + 1, 1);\n\t                return f(n+1)\n\t            }\n\t        }\n\t        else if(check(n, [consonante, vocal, consonante, consonante])) {\n\t            Q[n] = Q[n] + Q[n + 1] + Q[n + 2];\n\t            Q.splice(n + 1, 2);\n\t            return f(n+1);\n\t        }\n\t        else if(check(n, [consonante, vocal, consonante])) {\n\t            Q[n] = Q[n] + Q[n + 1];\n\t            Q.splice(n + 1, 1);\n\t            return f(n+1);\n\t        }\n\t        else if(check(n, [consonante, vocal, consonante, consonante])) {\n\t            if(Q[n + 1] == Q[n + 2] || (vocalAbierta(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2])) || check(n+1, [vocalAbierta, vocalCerradaAcentuada]) || (vocalCerradaAcentuada(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2]))) {\n\t                Q[n] = Q[n] + Q[n + 1];\n\t                Q[n + 2] = Q[n + 2] + Q[n + 3];\n\t                Q.splice(n + 1, 1);\n\t                Q.splice(n + 2, 1);\n\t                return f(n+2);\n\t            } \n\t            else {\n\t                Q[n] = Q[n] + Q[n + 1] + Q[n + 2]\n\t                Q.splice(n+1, 2)\n\t                return f(n+1)\n\t            }\n\t        }\n\t        else if(consonante(Q[n]) \u0026\u0026 ((vocalAbierta(Q[n + 1]) \u0026\u0026 vocalCerrada(Q[n + 2])) || (vocalCerrada(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2])))) {\n\t            Q[n] = Q[n] + Q[n + 1] +  Q[n + 2];\n\t            Q.splice(n+1, 2);\n\t            return f(n + 1);\n\t        }\n\t        else if(check(n, [consonante, vocal])) {\n\t            Q[n] = Q[n] + Q[n + 1];\n\t            Q.splice(n + 1, 1)\n\t            return f(n + 1)\n\t        }\n\t        else if(check(n, [vocal, consonante])) {\n\t            Q[n] = Q[n] + Q[n + 1];\n\t            Q.splice(n + 1, 1)\n\t            return f(n + 1)\n\t        }\n\t        else {\n\t            if(consonante(Q[n])) {\n\t                Q[n - 1] = Q[n - 1] + Q[n];\n\t                Q.splice(n, 1);\n\t                return f(n)\n\t            }\n\t            return Q;\n\t        }\n\t    }\n\t\n\t    return f(0);\n\t}\n    const Z = Z17866(Z26328K1);\n    let acentuado = (s) =\u003E /á|é|í|ó|ú|ǘ|ý/i.test(s);\n\n    let q;\n    for (let i = 0; i \u003C Z.length; i++) {\n        const z = Z[i];\n        if(acentuado(z)){\n            return BigInt(Z.length - 1 - i);\n        }\n    }\n\n    return (/[^nsaeiouüy]$/i.test(Z[Z.length-1])) ? 0n : 1n;\n}"
        }
    },
    "Z2K3": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11",
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1002",
                "Z11K2": "stress placement in Spanish, js"
            }
        ]
    },
    "Z2K4": {
        "Z1K1": "Z32",
        "Z32K1": [
            "Z31"
        ]
    },
    "Z2K5": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11"
        ]
    }
}