module Data.Char.Properties.BidiBrackets where data Type = O | C paired :: Char -> Maybe (Char, Type) paired = \ case '(' -> Just ('(', O) ')' -> Just (')', C) '[' -> Just ('[', O) ']' -> Just (']', C) '{' -> Just ('{', O) '}' -> Just ('}', C) '\3898' -> Just ('\3898', O) '\3899' -> Just ('\3899', C) '\3900' -> Just ('\3900', O) '\3901' -> Just ('\3901', C) '\5787' -> Just ('\5787', O) '\5788' -> Just ('\5788', C) '\8261' -> Just ('\8261', O) '\8262' -> Just ('\8262', C) '\8317' -> Just ('\8317', O) '\8318' -> Just ('\8318', C) '\8333' -> Just ('\8333', O) '\8334' -> Just ('\8334', C) '\8968' -> Just ('\8968', O) '\8969' -> Just ('\8969', C) '\8970' -> Just ('\8970', O) '\8971' -> Just ('\8971', C) '\9001' -> Just ('\9001', O) '\9002' -> Just ('\9002', C) '\10088' -> Just ('\10088', O) '\10089' -> Just ('\10089', C) '\10090' -> Just ('\10090', O) '\10091' -> Just ('\10091', C) '\10092' -> Just ('\10092', O) '\10093' -> Just ('\10093', C) '\10094' -> Just ('\10094', O) '\10095' -> Just ('\10095', C) '\10096' -> Just ('\10096', O) '\10097' -> Just ('\10097', C) '\10098' -> Just ('\10098', O) '\10099' -> Just ('\10099', C) '\10100' -> Just ('\10100', O) '\10101' -> Just ('\10101', C) '\10181' -> Just ('\10181', O) '\10182' -> Just ('\10182', C) '\10214' -> Just ('\10214', O) '\10215' -> Just ('\10215', C) '\10216' -> Just ('\10216', O) '\10217' -> Just ('\10217', C) '\10218' -> Just ('\10218', O) '\10219' -> Just ('\10219', C) '\10220' -> Just ('\10220', O) '\10221' -> Just ('\10221', C) '\10222' -> Just ('\10222', O) '\10223' -> Just ('\10223', C) '\10627' -> Just ('\10627', O) '\10628' -> Just ('\10628', C) '\10629' -> Just ('\10629', O) '\10630' -> Just ('\10630', C) '\10631' -> Just ('\10631', O) '\10632' -> Just ('\10632', C) '\10633' -> Just ('\10633', O) '\10634' -> Just ('\10634', C) '\10635' -> Just ('\10635', O) '\10636' -> Just ('\10636', C) '\10637' -> Just ('\10637', O) '\10638' -> Just ('\10638', C) '\10639' -> Just ('\10639', O) '\10640' -> Just ('\10640', C) '\10641' -> Just ('\10641', O) '\10642' -> Just ('\10642', C) '\10643' -> Just ('\10643', O) '\10644' -> Just ('\10644', C) '\10645' -> Just ('\10645', O) '\10646' -> Just ('\10646', C) '\10647' -> Just ('\10647', O) '\10648' -> Just ('\10648', C) '\10712' -> Just ('\10712', O) '\10713' -> Just ('\10713', C) '\10714' -> Just ('\10714', O) '\10715' -> Just ('\10715', C) '\10748' -> Just ('\10748', O) '\10749' -> Just ('\10749', C) '\11810' -> Just ('\11810', O) '\11811' -> Just ('\11811', C) '\11812' -> Just ('\11812', O) '\11813' -> Just ('\11813', C) '\11814' -> Just ('\11814', O) '\11815' -> Just ('\11815', C) '\11816' -> Just ('\11816', O) '\11817' -> Just ('\11817', C) '\12296' -> Just ('\12296', O) '\12297' -> Just ('\12297', C) '\12298' -> Just ('\12298', O) '\12299' -> Just ('\12299', C) '\12300' -> Just ('\12300', O) '\12301' -> Just ('\12301', C) '\12302' -> Just ('\12302', O) '\12303' -> Just ('\12303', C) '\12304' -> Just ('\12304', O) '\12305' -> Just ('\12305', C) '\12308' -> Just ('\12308', O) '\12309' -> Just ('\12309', C) '\12310' -> Just ('\12310', O) '\12311' -> Just ('\12311', C) '\12312' -> Just ('\12312', O) '\12313' -> Just ('\12313', C) '\12314' -> Just ('\12314', O) '\12315' -> Just ('\12315', C) '\65113' -> Just ('\65113', O) '\65114' -> Just ('\65114', C) '\65115' -> Just ('\65115', O) '\65116' -> Just ('\65116', C) '\65117' -> Just ('\65117', O) '\65118' -> Just ('\65118', C) '\65288' -> Just ('\65288', O) '\65289' -> Just ('\65289', C) '\65339' -> Just ('\65339', O) '\65341' -> Just ('\65341', C) '\65371' -> Just ('\65371', O) '\65373' -> Just ('\65373', C) '\65375' -> Just ('\65375', O) '\65376' -> Just ('\65376', C) '\65378' -> Just ('\65378', O) '\65379' -> Just ('\65379', C) _ -> Nothing