{
  "segments": {
    "identity": {
      "language": "root"
    },
    "segmentations": {
      "GraphemeClusterBreak": {
        "variables": [
          {
            "$CR": "\\p{Grapheme_Cluster_Break=CR}"
          },
          {
            "$LF": "\\p{Grapheme_Cluster_Break=LF}"
          },
          {
            "$Control": "\\p{Grapheme_Cluster_Break=Control}"
          },
          {
            "$Extend": "\\p{Grapheme_Cluster_Break=Extend}"
          },
          {
            "$ZWJ": "\\p{Grapheme_Cluster_Break=ZWJ}"
          },
          {
            "$RI": "\\p{Grapheme_Cluster_Break=Regional_Indicator}"
          },
          {
            "$Prepend": "\\p{Grapheme_Cluster_Break=Prepend}"
          },
          {
            "$SpacingMark": "\\p{Grapheme_Cluster_Break=SpacingMark}"
          },
          {
            "$L": "\\p{Grapheme_Cluster_Break=L}"
          },
          {
            "$V": "\\p{Grapheme_Cluster_Break=V}"
          },
          {
            "$T": "\\p{Grapheme_Cluster_Break=T}"
          },
          {
            "$LV": "\\p{Grapheme_Cluster_Break=LV}"
          },
          {
            "$LVT": "\\p{Grapheme_Cluster_Break=LVT}"
          },
          {
            "$ConjunctLinker": "\\p{Indic_Conjunct_Break=Linker}"
          },
          {
            "$LinkingConsonant": "\\p{Indic_Conjunct_Break=Consonant}"
          },
          {
            "$ExtPict": "\\p{Extended_Pictographic=True}"
          },
          {
            "$ConjunctExtender": "[\\p{Indic_Conjunct_Break=Linker}\\p{Indic_Conjunct_Break=Extend}]"
          },
          {
            "$XX": "\\p{Grapheme_Cluster_Break=Other}"
          }
        ],
        "segmentRules": {
          "3": " $CR × $LF ",
          "4": " ( $Control | $CR | $LF ) ÷ ",
          "5": " ÷ ( $Control | $CR | $LF ) ",
          "6": " $L × ( $L | $V | $LV | $LVT ) ",
          "7": " ( $LV | $V ) × ( $V | $T ) ",
          "8": " ( $LVT | $T) × $T ",
          "9": " × ($Extend | $ZWJ) ",
          "9.1": " × $SpacingMark ",
          "9.2": " $Prepend × ",
          "9.3": " $LinkingConsonant $ConjunctExtender* $ConjunctLinker $ConjunctExtender* × $LinkingConsonant ",
          "11": " $ExtPict $Extend* $ZWJ × $ExtPict ",
          "12": " ^ ($RI $RI)* $RI × $RI ",
          "13": " [^$RI] ($RI $RI)* $RI × $RI "
        }
      },
      "LineBreak": {
        "variables": [
          {
            "$AI": "\\p{Line_Break=Ambiguous}"
          },
          {
            "$AK": "\\p{Line_Break=Aksara}"
          },
          {
            "$ALorig": "\\p{Line_Break=Alphabetic}"
          },
          {
            "$AP": "\\p{Line_Break=Aksara_Prebase}"
          },
          {
            "$AS": "\\p{Line_Break=Aksara_Start}"
          },
          {
            "$B2": "\\p{Line_Break=Break_Both}"
          },
          {
            "$BA": "\\p{Line_Break=Break_After}"
          },
          {
            "$BB": "\\p{Line_Break=Break_Before}"
          },
          {
            "$BK": "\\p{Line_Break=Mandatory_Break}"
          },
          {
            "$CB": "\\p{Line_Break=Contingent_Break}"
          },
          {
            "$CL": "\\p{Line_Break=Close_Punctuation}"
          },
          {
            "$CP": "\\p{Line_Break=CP}"
          },
          {
            "$CMorig": "\\p{Line_Break=Combining_Mark}"
          },
          {
            "$CR": "\\p{Line_Break=Carriage_Return}"
          },
          {
            "$EX": "\\p{Line_Break=Exclamation}"
          },
          {
            "$GL": "\\p{Line_Break=Glue}"
          },
          {
            "$H2": "\\p{Line_Break=H2}"
          },
          {
            "$H3": "\\p{Line_Break=H3}"
          },
          {
            "$HH": "\\p{Line_Break=Unambiguous_Hyphen}"
          },
          {
            "$HL": "\\p{Line_Break=HL}"
          },
          {
            "$HY": "\\p{Line_Break=Hyphen}"
          },
          {
            "$ID": "\\p{Line_Break=Ideographic}"
          },
          {
            "$IN": "\\p{Line_Break=Inseparable}"
          },
          {
            "$IS": "\\p{Line_Break=Infix_Numeric}"
          },
          {
            "$JL": "\\p{Line_Break=JL}"
          },
          {
            "$JT": "\\p{Line_Break=JT}"
          },
          {
            "$JV": "\\p{Line_Break=JV}"
          },
          {
            "$LF": "\\p{Line_Break=Line_Feed}"
          },
          {
            "$NL": "\\p{Line_Break=Next_Line}"
          },
          {
            "$NSorig": "\\p{Line_Break=Nonstarter}"
          },
          {
            "$NU": "\\p{Line_Break=Numeric}"
          },
          {
            "$OP": "\\p{Line_Break=Open_Punctuation}"
          },
          {
            "$PO": "\\p{Line_Break=Postfix_Numeric}"
          },
          {
            "$PR": "\\p{Line_Break=Prefix_Numeric}"
          },
          {
            "$QU": "\\p{Line_Break=Quotation}"
          },
          {
            "$SA_Mn": "[\\p{Line_Break=Complex_Context}&\\p{gc=Mn}]"
          },
          {
            "$SA_Mc": "[\\p{Line_Break=Complex_Context}&\\p{gc=Mc}]"
          },
          {
            "$SAmMnmMc": "[\\p{Line_Break=Complex_Context}-\\p{gc=Mn}-\\p{gc=Mc}]"
          },
          {
            "$SG": "\\p{Line_Break=Surrogate}"
          },
          {
            "$SP": "\\p{Line_Break=Space}"
          },
          {
            "$SY": "\\p{Line_Break=Break_Symbols}"
          },
          {
            "$VF": "\\p{Line_Break=Virama_Final}"
          },
          {
            "$VI": "\\p{Line_Break=Virama}"
          },
          {
            "$WJ": "\\p{Line_Break=Word_Joiner}"
          },
          {
            "$XX": "\\p{Line_Break=Unknown}"
          },
          {
            "$ZW": "\\p{Line_Break=ZWSpace}"
          },
          {
            "$CJ": "\\p{Line_Break=Conditional_Japanese_Starter}"
          },
          {
            "$RI": "\\p{Line_Break=Regional_Indicator}"
          },
          {
            "$EB": "\\p{Line_Break=E_Base}"
          },
          {
            "$EM": "\\p{Line_Break=E_Modifier}"
          },
          {
            "$ZWJ": "\\p{Line_Break=ZWJ}"
          },
          {
            "$Pi": "\\p{gc=Pi}"
          },
          {
            "$Pf": "\\p{gc=Pf}"
          },
          {
            "$QU_Pi": "[$QU & $Pi]"
          },
          {
            "$QU_Pf": "[$QU & $Pf]"
          },
          {
            "$QUmPi": "[$QU - $Pi]"
          },
          {
            "$QUmPf": "[$QU - $Pf]"
          },
          {
            "$EastAsian": "[\\p{ea=F}\\p{ea=W}\\p{ea=H}]"
          },
          {
            "$DottedCircle": "[◌]"
          },
          {
            "$CPmEastAsian": "[$CP-$EastAsian]"
          },
          {
            "$OPmEastAsian": "[$OP-$EastAsian]"
          },
          {
            "$ExtPictUnassigned": "[\\p{Extended_Pictographic=True}&\\p{gc=Cn}]"
          },
          {
            "$sot": "^"
          },
          {
            "$eot": "(?!.)"
          },
          {
            "$AL": "[$AI $ALorig $SG $XX $SAmMnmMc]"
          },
          {
            "$CM": "[$CMorig $SA_Mn $SA_Mc]"
          },
          {
            "$NS": "[$NSorig $CJ]"
          }
        ],
        "segmentRules": {
          "4": " $BK ÷ ",
          "5.01": " $CR × $LF ",
          "5.02": " $CR ÷ ",
          "5.03": " $LF ÷ ",
          "5.04": " $NL ÷ ",
          "6": " × ( $BK | $CR | $LF | $NL ) ",
          "7.01": " × $SP ",
          "7.02": " × $ZW ",
          "8": " $ZW $SP* ÷ ",
          "8.1": " $ZWJ × ",
          "9": " (?<X>[^$BK $CR $LF $NL $SP $ZW]) ( $CM | $ZWJ )* → ${X} ",
          "10": " ( $CM | $ZWJ ) → A ",
          "11.01": " × $WJ ",
          "11.02": " $WJ × ",
          "12": " $GL × ",
          "12.1": " [^ $SP $BA $HY $HH] × $GL ",
          "13.01": " × $EX ",
          "13.02": " × $CL ",
          "13.03": " × $CP ",
          "13.04": " × $SY ",
          "14": " $OP $SP* × ",
          "15.11": " ( $BK | $CR | $LF | $NL | $OP | $QU | $GL | $SP | $ZW | $sot ) $QU_Pi $SP* × ",
          "15.21": " × $QU_Pf ( $SP | $GL | $WJ | $CL | $QU | $CP | $EX | $IS | $SY | $BK | $CR | $LF | $NL | $ZW | $eot ) ",
          "15.3": " $SP ÷ $IS $NU ",
          "15.4": " × $IS ",
          "16": " ($CL | $CP) $SP* × $NS ",
          "17": " $B2 $SP* × $B2 ",
          "18": " $SP ÷ ",
          "19.01": " × $QUmPi ",
          "19.02": " $QUmPf × ",
          "19.1": " [^$EastAsian] × $QU ",
          "19.11": " × $QU ( [^$EastAsian] | $eot ) ",
          "19.12": " $QU × [^$EastAsian] ",
          "19.13": " ( [^$EastAsian] | $sot ) $QU × ",
          "20.01": " ÷ $CB ",
          "20.02": " $CB ÷ ",
          "20.1": " ( $BK | $CR | $LF | $NL | $SP | $ZW | $CB | $GL | $sot ) ( $HY | $HH ) × ( $AL | $HL ) ",
          "21.01": " × $BA ",
          "21.02": " × $HH ",
          "21.03": " × $HY ",
          "21.04": " × $NS ",
          "21.05": " $BB × ",
          "21.1": " $HL ($HY | $HH) × [^$HL] ",
          "21.2": " $SY × $HL ",
          "22": " × $IN ",
          "23.02": " ($AL | $HL) × $NU ",
          "23.03": " $NU × ($AL | $HL) ",
          "23.12": " $PR × ($ID | $EB | $EM) ",
          "23.13": " ($ID | $EB | $EM) × $PO ",
          "24.02": " ($PR | $PO) × ($AL | $HL) ",
          "24.03": " ($AL | $HL) × ($PR | $PO) ",
          "25.01": " $NU ( $SY | $IS )* $CL × $PO ",
          "25.02": " $NU ( $SY | $IS )* $CP × $PO ",
          "25.03": " $NU ( $SY | $IS )* $CL × $PR ",
          "25.04": " $NU ( $SY | $IS )* $CP × $PR ",
          "25.05": " $NU ( $SY | $IS )* × $PO ",
          "25.06": " $NU ( $SY | $IS )* × $PR ",
          "25.07": " $PO × $OP $NU ",
          "25.08": " $PO × $OP $IS $NU ",
          "25.09": " $PO × $NU ",
          "25.1": " $PR × $OP $NU ",
          "25.11": " $PR × $OP $IS $NU ",
          "25.12": " $PR × $NU ",
          "25.13": " $HY × $NU ",
          "25.14": " $IS × $NU ",
          "25.15": " $NU ( $SY | $IS )* × $NU ",
          "26.01": " $JL × $JL | $JV | $H2 | $H3 ",
          "26.02": " $JV | $H2 × $JV | $JT ",
          "26.03": " $JT | $H3 × $JT ",
          "27.01": " $JL | $JV | $JT | $H2 | $H3 × $PO ",
          "27.02": " $PR × $JL | $JV | $JT | $H2 | $H3 ",
          "28": " ($AL | $HL) × ($AL | $HL) ",
          "28.11": " $AP × ($AK | $DottedCircle | $AS) ",
          "28.12": " ($AK | $DottedCircle | $AS) × ($VF | $VI) ",
          "28.13": " ($AK | $DottedCircle | $AS) $VI × ($AK | $DottedCircle) ",
          "28.14": " ($AK | $DottedCircle | $AS) × ($AK | $DottedCircle | $AS) $VF ",
          "29": " $IS × ($AL | $HL) ",
          "30.01": " ($AL | $HL | $NU) × $OPmEastAsian ",
          "30.02": " $CPmEastAsian × ($AL | $HL | $NU) ",
          "30.11": " $sot ($RI $RI)* $RI × $RI ",
          "30.12": " [^$RI] ($RI $RI)* $RI × $RI ",
          "30.13": " $RI ÷ $RI ",
          "30.21": " $EB × $EM ",
          "30.22": " $ExtPictUnassigned × $EM "
        }
      },
      "SentenceBreak": {
        "variables": [
          {
            "$CR": "\\p{Sentence_Break=CR}"
          },
          {
            "$LF": "\\p{Sentence_Break=LF}"
          },
          {
            "$Extend": "\\p{Sentence_Break=Extend}"
          },
          {
            "$Format": "\\p{Sentence_Break=Format}"
          },
          {
            "$Sep": "\\p{Sentence_Break=Sep}"
          },
          {
            "$Sp": "\\p{Sentence_Break=Sp}"
          },
          {
            "$Lower": "\\p{Sentence_Break=Lower}"
          },
          {
            "$Upper": "\\p{Sentence_Break=Upper}"
          },
          {
            "$OLetter": "\\p{Sentence_Break=OLetter}"
          },
          {
            "$Numeric": "\\p{Sentence_Break=Numeric}"
          },
          {
            "$ATerm": "\\p{Sentence_Break=ATerm}"
          },
          {
            "$STerm": "\\p{Sentence_Break=STerm}"
          },
          {
            "$Close": "\\p{Sentence_Break=Close}"
          },
          {
            "$SContinue": "\\p{Sentence_Break=SContinue}"
          },
          {
            "$XX": "\\p{Sentence_Break=Other}"
          },
          {
            "$Any": "."
          },
          {
            "$ParaSep": "[$Sep $CR $LF]"
          },
          {
            "$SATerm": "[$STerm $ATerm]"
          }
        ],
        "segmentRules": {
          "3": " $CR × $LF ",
          "4": " $ParaSep ÷ ",
          "5": " (?<X>[^$ParaSep]) ( $Extend | $Format )* → ${X} ",
          "6": " $ATerm × $Numeric ",
          "7": " ($Upper | $Lower) $ATerm × $Upper ",
          "8": " $ATerm $Close* $Sp* × [^ $OLetter $Upper $Lower $ParaSep $SATerm]* $Lower ",
          "8.1": " $SATerm $Close* $Sp* × ($SContinue | $SATerm) ",
          "9": " $SATerm $Close* × ( $Close | $Sp | $ParaSep ) ",
          "10": " $SATerm $Close* $Sp* × ( $Sp | $ParaSep ) ",
          "11": " $SATerm $Close* $Sp* $ParaSep? ÷ ",
          "998": " × $Any "
        }
      },
      "WordBreak": {
        "variables": [
          {
            "$CR": "\\p{Word_Break=CR}"
          },
          {
            "$LF": "\\p{Word_Break=LF}"
          },
          {
            "$Newline": "\\p{Word_Break=Newline}"
          },
          {
            "$Extend": "\\p{Word_Break=Extend}"
          },
          {
            "$Format": "[\\p{Word_Break=Format}]"
          },
          {
            "$Katakana": "\\p{Word_Break=Katakana}"
          },
          {
            "$ALetter": "\\p{Word_Break=ALetter}"
          },
          {
            "$MidLetter": "\\p{Word_Break=MidLetter}"
          },
          {
            "$MidNum": "\\p{Word_Break=MidNum}"
          },
          {
            "$MidNumLet": "\\p{Word_Break=MidNumLet}"
          },
          {
            "$Numeric": "\\p{Word_Break=Numeric}"
          },
          {
            "$ExtendNumLet": "\\p{Word_Break=ExtendNumLet}"
          },
          {
            "$RI": "\\p{Word_Break=Regional_Indicator}"
          },
          {
            "$Hebrew_Letter": "\\p{Word_Break=Hebrew_Letter}"
          },
          {
            "$Double_Quote": "\\p{Word_Break=Double_Quote}"
          },
          {
            "$Single_Quote": "\\p{Word_Break=Single_Quote}"
          },
          {
            "$ZWJ": "\\p{Word_Break=ZWJ}"
          },
          {
            "$ExtPict": "\\p{Extended_Pictographic=True}"
          },
          {
            "$WSegSpace": "\\p{Word_Break=WSegSpace}"
          },
          {
            "$XX": "\\p{Word_Break=Other}"
          },
          {
            "$AHLetter": "[$ALetter $Hebrew_Letter]"
          },
          {
            "$MidNumLetQ": "[$MidNumLet $Single_Quote]"
          }
        ],
        "segmentRules": {
          "3": " $CR × $LF ",
          "3.1": " ($Newline | $CR | $LF) ÷ ",
          "3.2": " ÷ ($Newline | $CR | $LF) ",
          "3.3": " $ZWJ × $ExtPict ",
          "3.4": " $WSegSpace × $WSegSpace ",
          "4": " (?<X>[^$CR $LF $Newline]) ($Extend | $Format | $ZWJ)* → ${X} ",
          "5": " $AHLetter × $AHLetter ",
          "6": " $AHLetter × ($MidLetter | $MidNumLetQ) $AHLetter ",
          "7": " $AHLetter ($MidLetter | $MidNumLetQ) × $AHLetter ",
          "7.1": " $Hebrew_Letter × $Single_Quote ",
          "7.2": " $Hebrew_Letter × $Double_Quote $Hebrew_Letter ",
          "7.3": " $Hebrew_Letter $Double_Quote × $Hebrew_Letter ",
          "8": " $Numeric × $Numeric ",
          "9": " $AHLetter × $Numeric ",
          "10": " $Numeric × $AHLetter ",
          "11": " $Numeric ($MidNum | $MidNumLetQ) × $Numeric ",
          "12": " $Numeric × ($MidNum | $MidNumLetQ) $Numeric ",
          "13": " $Katakana × $Katakana ",
          "13.1": " ($AHLetter | $Numeric | $Katakana | $ExtendNumLet) × $ExtendNumLet ",
          "13.2": " $ExtendNumLet × ($AHLetter | $Numeric | $Katakana) ",
          "15": " ^ ($RI $RI)* $RI × $RI ",
          "16": " [^$RI] ($RI $RI)* $RI × $RI "
        }
      }
    }
  }
}
