diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..9f28550 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,4 @@ +module.exports = { + presets: ['@babel/preset-env'], + plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-proposal-class-properties'] +} \ No newline at end of file diff --git a/dist/relationship-mode.min.js b/dist/relationship-mode.min.js index 8a4beb7..0e72c62 100644 --- a/dist/relationship-mode.min.js +++ b/dist/relationship-mode.min.js @@ -1 +1 @@ -!function(s,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d():"function"==typeof define&&define.amd?define(d):(s="undefined"!=typeof globalThis?globalThis:s||self).relationshipMode=d()}(this,(function(){"use strict";return{guangdong:{name:"广东",data:{f:["老窦"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["细佬"],"lb,w":["弟妇"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新妇"],"s,s":["孙"],"s,s,w":["孙新妇"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孙女"],"s,d,h":["孙女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孙"],"d,s,w":["外孙新妇"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孙女"],"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}}})); +!function(f,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):(f="undefined"!=typeof globalThis?globalThis:f||self).relationshipMode=s()}(this,(function(){"use strict";function f(s){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},f(s)}function s(s){var m=function(s,m){if("object"!==f(s)||null===s)return s;var o=s[Symbol.toPrimitive];if(void 0!==o){var d=o.call(s,m||"default");if("object"!==f(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===m?String:Number)(s)}(s,"string");return"symbol"===f(m)?m:String(m)}function m(f,m,o){return(m=s(m))in f?Object.defineProperty(f,m,{value:o,enumerable:!0,configurable:!0,writable:!0}):f[m]=o,f}var o;return{guangdong:{name:"广东",data:(o={f:["老窦"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"]},m(o,"0,m,xb,d,s",["姨姨甥"]),m(o,"1,m,xb,d,s",["姨外甥"]),m(o,"0,m,xb,d,d",["姨姨甥女"]),m(o,"1,m,xb,d,d",["姨外甥女"]),m(o,"ob",["大佬"]),m(o,"ob,w",["阿嫂"]),m(o,"lb",["细佬"]),m(o,"lb,w",["弟妇"]),m(o,"xb,s",["侄"]),m(o,"xb,d",["侄女"]),m(o,"os",["家姐"]),m(o,"os,h",["姐夫"]),m(o,"ls",["阿妹"]),m(o,"ls,h",["妹夫"]),m(o,"0,xs,s",["姨甥"]),m(o,"1,xs,s",["外甥"]),m(o,"0,xs,d",["姨甥女"]),m(o,"1,xs,d",["外甥女"]),m(o,"s",["仔"]),m(o,"s,w",["新妇"]),m(o,"s,s",["孙"]),m(o,"s,s,w",["孙新妇"]),m(o,"s,s,s",["息仔"]),m(o,"s,s,d",["息女"]),m(o,"s,d",["孙女"]),m(o,"s,d,h",["孙女婿"]),m(o,"s,d,s",["外息仔"]),m(o,"s,d,d",["外息女"]),m(o,"d",["女"]),m(o,"d,s",["外孙"]),m(o,"d,s,w",["外孙新妇"]),m(o,"d,s,s",["外息仔"]),m(o,"d,s,d",["外息女"]),m(o,"d,d",["外孙女"]),m(o,"d,d,h",["外孙女婿"]),m(o,"d,d,s",["外息仔"]),m(o,"d,d,d",["外息女"]),o)},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}}})); diff --git a/dist/relationship-mode.zh-HK.min.js b/dist/relationship-mode.zh-HK.min.js index 4d8541d..65b30da 100644 --- a/dist/relationship-mode.zh-HK.min.js +++ b/dist/relationship-mode.zh-HK.min.js @@ -1 +1 @@ -!function(s,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d():"function"==typeof define&&define.amd?define(d):(s="undefined"!=typeof globalThis?globalThis:s||self).relationshipMode=d()}(this,(function(){"use strict";return{guangdong:{name:"廣東",data:{f:["老竇"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["細佬"],"lb,w":["弟婦"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新婦"],"s,s":["孫"],"s,s,w":["孫新婦"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孫女"],"s,d,h":["孫女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孫"],"d,s,w":["外孫新婦"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孫女"],"d,d,h":["外孫女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}}})); +!function(f,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):(f="undefined"!=typeof globalThis?globalThis:f||self).relationshipMode=s()}(this,(function(){"use strict";function f(s){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},f(s)}function s(s){var m=function(s,m){if("object"!==f(s)||null===s)return s;var o=s[Symbol.toPrimitive];if(void 0!==o){var d=o.call(s,m||"default");if("object"!==f(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===m?String:Number)(s)}(s,"string");return"symbol"===f(m)?m:String(m)}function m(f,m,o){return(m=s(m))in f?Object.defineProperty(f,m,{value:o,enumerable:!0,configurable:!0,writable:!0}):f[m]=o,f}var o;return{guangdong:{name:"廣東",data:(o={f:["老竇"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"]},m(o,"0,m,xb,d,s",["姨姨甥"]),m(o,"1,m,xb,d,s",["姨外甥"]),m(o,"0,m,xb,d,d",["姨姨甥女"]),m(o,"1,m,xb,d,d",["姨外甥女"]),m(o,"ob",["大佬"]),m(o,"ob,w",["阿嫂"]),m(o,"lb",["細佬"]),m(o,"lb,w",["弟婦"]),m(o,"xb,s",["侄"]),m(o,"xb,d",["侄女"]),m(o,"os",["家姐"]),m(o,"os,h",["姐夫"]),m(o,"ls",["阿妹"]),m(o,"ls,h",["妹夫"]),m(o,"0,xs,s",["姨甥"]),m(o,"1,xs,s",["外甥"]),m(o,"0,xs,d",["姨甥女"]),m(o,"1,xs,d",["外甥女"]),m(o,"s",["仔"]),m(o,"s,w",["新婦"]),m(o,"s,s",["孫"]),m(o,"s,s,w",["孫新婦"]),m(o,"s,s,s",["息仔"]),m(o,"s,s,d",["息女"]),m(o,"s,d",["孫女"]),m(o,"s,d,h",["孫女婿"]),m(o,"s,d,s",["外息仔"]),m(o,"s,d,d",["外息女"]),m(o,"d",["女"]),m(o,"d,s",["外孫"]),m(o,"d,s,w",["外孫新婦"]),m(o,"d,s,s",["外息仔"]),m(o,"d,s,d",["外息女"]),m(o,"d,d",["外孫女"]),m(o,"d,d,h",["外孫女婿"]),m(o,"d,d,s",["外息仔"]),m(o,"d,d,d",["外息女"]),o)},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}}})); diff --git a/dist/relationship.min.js b/dist/relationship.min.js index 9cbb0fd..f1a1ece 100644 --- a/dist/relationship.min.js +++ b/dist/relationship.min.js @@ -10,4 +10,4 @@ * * Created on: 2023-10-16 */ -!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";var s=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];var f=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],x=[{exp:/^从表/,arr:["从父姑表","从父舅表","从父姨表","从母姑表","从母舅表","从母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻内外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^亲家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太远鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太远鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元来晜仍云耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孙/,arr:["$1侄$2孙"]},{exp:/^([姨姑])([曾玄外]*)孙/,arr:["$1甥$2孙"]},{exp:/([孙甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孙外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新妇|媳)$/,arr:["媳妇"]},{exp:/嫂$/,arr:["兄妇"]},{exp:/女儿$/,arr:["女"]}],d={"晜":"兄","哥":"兄","姐":"姊","侄":"姪","婿":"壻","嬷":"嫲","祖父":"王父","祖母":"王母","孙女婿":"孙婿","甥女婿":"甥婿","侄女婿":"侄婿","孙媳妇":"孙妇","甥媳妇":"甥妇","侄媳妇":"侄妇","弟媳妇":"弟妇"};const m=["","一","二","三","四","五","六","七","八","九","十"];function b(s){let f=0;const x={"大":1,"小":99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>m.indexOf(s))).reverse();f=10*d+x}return f}var h={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孙"],"m,f#d,[s|d]":["公孙"],"m,m#d,[s|d]":["婆孙"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["婶侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["连襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["儿女亲家"]},l={"{G2}":{"f,f,xb":["从祖"],"m,f,xb":["外从祖"]},"{G1}":{"f,xb":["堂","同堂","亲堂","从父","叔伯","堂房","从"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","从母","两姨","姨表","从"],"f,f,xb,s":["从堂","再从父","远堂","堂叔伯","叔伯叔伯","再从"],"f,f,xb,d":["堂姑表","从父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["从母叔表"],"f,m,xs,d":["从母姑表"],"m,f,xb,s":["堂舅表","从父舅表"],"m,f,xb,d":["堂姨表","从父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["从母舅表"],"m,m,xs,d":["再从母","姨姨","再从"],"f,f,f,xb,s,s":["三从父","再从堂","远堂","族","三从"],"m,m,m,xs,d,d":["三从母","三从"],"f,f,f,f,xb,s,s,s":["四从父","三从堂","远堂","族","四从"],"m,m,m,m,xs,d,d,d":["四从母","四从"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","从父","叔伯","从"],"f,f,xb,s&o":["堂伯","从父伯","叔伯伯","从伯"],"f,f,xb,s&l":["堂叔","从父叔","叔伯叔","从叔"],"f,f,f,xb,s,s":["从堂"],"f,f,f,xb,s,s&o":["从堂伯"],"f,f,f,xb,s,s&l":["从堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","从母伯","从伯"],"f,m,xs,s&l":["姨叔","从母叔","从叔"],"m,f,xb,s":["堂舅","从父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","从母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","从父姑"],"f,f,f,xb,s,d":["从堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","从母姑"],"m,f,xb,d":["堂姨","从父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","从母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["从"],"1,f,xb,s":["再从"],"1,f,f,xb,s,s":["三从"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["从"],"0,m,xs,d":["再从"],"0,m,m,xs,d,d":["三从"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["从父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["从父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["从父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["从父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","内兄弟眷"],"w,xs,h":["姨姊妹姻","内姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["从父兄弟眷"],"f,xb,d,h":["从父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["从母兄弟眷"],"m,xs,d,h":["从母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孙眷"],"s,d,h":["孙姻"],"d,s,w":["外孙眷"],"d,d,h":["外孙姻"],"xb,s,s,w":["侄孙眷"],"xb,s,d,h":["侄孙姻"],"xb,d,s,w":["侄外孙眷"],"xb,d,d,h":["侄外孙姻"],"xs,s,s,w":["甥孙眷"],"xs,s,d,h":["甥孙姻"],"xs,d,s,w":["甥外孙眷"],"xs,d,d,h":["甥外孙姻"],"h,xb,s,s,w":["叔侄孙眷","叔伯孙眷","叔孙眷"],"h,xb,s,d,h":["叔侄孙姻","叔伯孙姻","叔孙姻"],"h,xb,d,s,w":["叔侄外孙眷","叔伯外孙眷","叔外孙眷"],"h,xb,d,d,h":["叔侄外孙姻","叔伯外孙姻","叔外孙姻"],"h,xs,s,s,w":["姑甥孙眷","姑孙眷"],"h,xs,s,d,h":["姑甥孙姻","姑孙姻"],"h,xs,d,s,w":["姑甥外孙眷","姑外孙眷"],"h,xs,d,d,h":["姑甥外孙姻","姑外孙姻"],"w,xb,s,s,w":["舅侄孙眷","舅孙眷"],"w,xb,s,d,h":["舅侄孙姻","舅孙姻"],"w,xb,d,s,w":["舅侄外孙眷","舅外孙眷"],"w,xb,d,d,h":["舅侄外孙姻","舅外孙姻"],"w,xs,s,s,w":["姨甥孙眷","姨孙眷"],"w,xs,s,d,h":["姨甥孙姻","姨孙姻"],"w,xs,d,s,w":["姨甥外孙眷","姨外孙眷"],"w,xs,d,d,h":["姨甥外孙姻","姨外孙姻"]}},M={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["远祖父"],"f,f,f,f,f,f,f,{G1M},w":["远祖母"],"f,f,f,f,f,f,f,{G1W}":["远祖母"],"f,f,f,f,f,f,f,{G1W},h":["远祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太外?爷爷"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太?外爷爷"],"f,{G1M}":["祖父","公","太?父","奶爷","爷爷","爷"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爷","爷爷","爷"],"m,{G1M}":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爷爷"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爷爷"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爷爷"],"f,m,{G1},s":["舅祖父","舅爷爷"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爷爷"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爷"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爷"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爷"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爷"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爷"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爷"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","婶"],"f,{G1},d":["姑母","姑姑","姑妈","姑"],"f,{G1},d,h":["姑父","姑丈","姑爸","姑夫"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅妈"],"m,{G1},d":["姨母","姨姨","姨妈","姨"],"m,{G1},d,h":["姨父","姨丈","姨爸","姨夫"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟妇"],"{G1},s&o":["哥","哥哥","阿哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄妇"],"{G1},s&l":["弟","弟弟","阿弟"],"{G1},s&l,w":["弟媳","弟妇"],"{G1},s,s":["侄男","侄子","侄儿"],"{G1},s,s,w":["侄妇"],"{G1},s,s,s":["侄孙男"],"{G1},s,s,s,w":["侄孙妇"],"{G1},s,s,s,s":["侄曾孙男"],"{G1},s,s,s,s,w":["侄曾孙妇"],"{G1},s,s,s,s,s":["侄玄孙男"],"{G1},s,s,s,s,s,w":["侄玄孙妇"],"{G1},s,s,s,s,d":["侄玄孙女"],"{G1},s,s,s,s,d,h":["侄玄孙婿"],"{G1},s,s,d":["侄孙女"],"{G1},s,s,d,h":["侄孙婿"],"{G1},s,s,s,d":["侄曾孙女"],"{G1},s,s,s,d,h":["侄曾孙婿"],"{G1},s,d":["侄女","侄女儿"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孙男","外孙男"],"{G1},s,d,s,w":["侄外孙妇"],"{G1},s,d,d":["侄外孙女","外孙女"],"{G1},s,d,d,h":["侄外孙婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐","姐姐","阿姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹","妹妹","阿妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥妇"],"{G1},d,s,s":["甥孙男"],"{G1},d,s,s,w":["甥孙妇"],"{G1},d,s,d":["甥孙女"],"{G1},d,s,d,h":["甥孙婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孙男","外孙男"],"{G1},d,d,s,w":["甥外孙妇"],"{G1},d,d,d":["甥外孙女","外孙女"],"{G1},d,d,d,h":["甥外孙婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大婶子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小婶子","小叔弟妇"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖岳父","太?岳","祖丈人","爷丈人","奶爷丈人"],"w,f,{G1M},w":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖岳父","太?岳父","祖丈人","爷丈人","奶爷丈人"],"w,m,{G1M}":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","姥爷丈人"],"w,m,{G1M},w":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","外爷丈人","姥爷丈人"],"w,{G1M}":["岳父","丈人","丈人爹"],"w,{G1M},w":["岳母","丈母","丈母娘"],"w,{G1W}":["岳母","丈母","丈母娘"],"w,{G1W},h":["岳父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅妇","大舅姆","大舅兄妇","舅兄妇","舅姐","大舅姐","大妗子","大妗儿"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅妇","小舅姆","小舅弟妇","舅弟妇","舅妹","小舅妹","小妗子","小妗儿"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["连襟","连桥"],"{G0},s":["男","男儿","儿","子","儿子"],"{G0},s,w":["媳妇","媳","妇"],"{G0},s,s":["孙","孙男","孙子"],"{G0},s,s,w":["孙妇"],"{G0},s,s,s":["曾孙","曾孙男"],"{G0},s,s,s,w":["曾孙妇"],"{G0},s,s,s,s":["玄孙","玄孙男","元孙","元孙男"],"{G0},s,s,s,s,w":["玄孙妇"],"{G0},s,s,s,d":["玄孙女","元孙女"],"{G0},s,s,s,d,h":["玄孙婿"],"{G0},s,s,d":["曾孙女"],"{G0},s,s,d,h":["曾孙婿"],"{G0},s,s,d,s":["玄外孙","玄外孙男"],"{G0},s,s,d,s,w":["玄外孙妇"],"{G0},s,s,d,d":["玄外孙女"],"{G0},s,s,d,d,h":["玄外孙婿"],"{G0},s,d":["孙女"],"{G0},s,d,h":["孙婿"],"{G0},s,d,s":["曾外孙","曾外孙男"],"{G0},s,d,s,w":["曾外孙妇"],"{G0},s,d,s,s":["曾外曾孙","曾外曾孙男"],"{G0},s,d,s,s,w":["曾外曾孙妇"],"{G0},s,d,s,d":["曾外曾孙女"],"{G0},s,d,s,d,h":["曾外曾孙婿"],"{G0},s,d,d":["曾外孙女"],"{G0},s,d,d,h":["曾外孙婿"],"{G0},s,d,d,s":["曾外曾外孙","曾外曾外孙男"],"{G0},s,d,d,s,w":["曾外曾外孙妇"],"{G0},s,d,d,d":["曾外曾外孙女"],"{G0},s,d,d,d,h":["曾外曾外孙婿"],"{G0},d":["女","女儿"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孙","外孙男"],"{G0},d,s,w":["外孙妇"],"{G0},d,s,s":["外曾孙","外曾孙男"],"{G0},d,s,s,w":["外曾孙妇"],"{G0},d,s,s,s":["外玄孙","外玄孙男"],"{G0},d,s,s,d":["外玄孙女"],"{G0},d,s,d":["外曾孙女"],"{G0},d,s,d,h":["外曾孙婿"],"{G0},d,s,d,s":["外玄外孙","外玄外孙男"],"{G0},d,s,d,d":["外玄外孙女"],"{G0},d,d":["外孙女"],"{G0},d,d,h":["外孙婿"],"{G0},d,d,s":["外曾外孙","外曾外孙男"],"{G0},d,d,s,w":["外曾外孙妇"],"{G0},d,d,s,s":["外曾外曾孙","外曾外曾孙男"],"{G0},d,d,s,d":["外曾外曾孙女"],"{G0},d,d,d":["外曾外孙女"],"{G0},d,d,d,h":["外曾外孙婿"],"{G0},d,d,d,s":["外曾外曾外孙"],"{G0},d,d,d,d":["外曾外曾外孙女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟妇"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄妇"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟妇"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄妇","侄妇"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥妇","甥妇"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母","姨妈"],"{M1W},xs,h":["姨父","姨丈","姨夫"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟妇"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄妇"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟妇"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄妇","侄妇"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥妇","甥妇"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟妇"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄妇"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟妇"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄妇","侄妇"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥妇","甥妇"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母","姑妈"],"{M1M},xs,h":["姑父","姑丈","姑夫"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟妇"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄妇"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟妇"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄妇","侄妇"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥妇","甥妇"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟妇"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄妇"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟妇"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母","姑妈"],"{M0},f,xs,h":["姑父","姑丈","姑夫"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟妇"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄妇"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟妇"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟妇"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄妇"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟妇"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母","姨妈"],"{M0},m,xs,h":["姨父","姨丈","姨夫"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟妇"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄妇"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟妇"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟妇"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄妇","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟妇","弟妹"],"{M0},xb,s":["侄男","侄子","侄儿"],"{M0},xb,s,w":["侄妇"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥妇"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟妇"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄妇"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟妇"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟妇"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄妇"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟妇"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["妇"],"{M-1},xb,s":["孙男"],"{M-1},xb,s,w":["孙妇"],"{M-1},xb,d":["孙女"],"{M-1},xb,d,h":["孙婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孙男"],"{M-1},xs,s,w":["外孙妇"],"{M-1},xs,d":["外孙女"],"{M-1},xs,d,h":["外孙婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孙男"],"{M-2},xb,w":["孙妇"],"{M-2},xs":["孙女"],"{M-2},xs,h":["孙婿"]},w={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爷","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爷","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["开祖父","开太爷","十世祖"],"f,f,f,f,f,f,f,f,f,m":["开祖母","开太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爷","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["远祖父","远太爷","八世祖"],"f,f,f,f,f,f,f,m":["远祖母","远太奶"],"f,f,f,f,f,f,f":["太祖父","太太爷","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爷","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爷","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爷","高太爷","祖太翁","祖太爷爷","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爷","老太爷","太翁","太爷爷","曾爷爷","公太","佬嗲","祖爷","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬷","太姆","太奶奶","曾奶奶","婆太","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爷","太外翁","太外爷爷"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬷","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爷","外太翁","外太爷爷"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬷","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爷","外太外翁","外太外爷爷","外太姥爷"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬷","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爷爷","祖父","奶爷","奶爹","阿爷","阿公","亚爷","亚公","依爷","嗲嗲","大父","爷","爷儿","爷老","爷老子","爷老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","亚嬷","亚婆","依奶","阿嬷","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媪婆","亲婆"],"m,f":["外公","外祖父","姥爷","阿公","外爷","客公","毑父","毑公","姥公","舅家爷","嘎公","嘎爹",,"嘎嘎爹","嘎爷爷","尕公","毑爹","毑爷","外大父","姥爹","魏公","魏爷"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","魏婆","魏奶","阿嬷","外嬷","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爷爷","大嗲","大爷","大公","大阿爷"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爷爷","晚公","幺爷","细嗲"],"f,f,lb,w":["叔婆","婶婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","从祖父","几爷爷","几大爷","几嗲","几爷","几公"],"f,f,xb,w":["伯叔祖母","从祖母","几奶奶","几大娘","几奶","几婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爷爷","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爷爷","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爷爷","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爷","大外爷"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爷","小外爷"],"m,f,lb,w":["叔外婆","外婶婆","小外婆","小姥姥","婶姥姥","小姥奶"],"m,f,xb":["堂外祖父","几外公","几姥爷","几外爷"],"m,f,xb,w":["堂外祖母","几外婆","几姥姥","几姥奶","几外奶","几姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父亲","老父亲","老爸","阿爸","阿父","阿爹","老窦","爹地","依爹","老爹","老汉","老爷子","老子","牙老子","爸","父","爹","老汉儿","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爷","依伯","世父","大爹","大爸","大爸爸","伯儿","大伯","大爷","大大","阿伯","几伯","伯"],"f,ob,w":["伯母","伯妈","伯娘","依姆","世母","大娘","大妈","大妈妈","伯妇","大嬷","大姆妈","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔儿","仲父","季父","叔仔","依叔","小叔","小爹","小爸","几叔","叔"],"f,lb,w":["婶婶","婶母","婶妈","婶娘","阿婶","婶儿","仲母","季母","叔妇","依婶","小婶","小娘","小妈","几婶","婶","婶子","家婶","叔母","叔妈","叔娘","婶爹","嬢嬢"],"f,xb,s&o":["堂哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟妇","堂弟妹"],"f,xb,s,s":["堂侄","再从子"],"f,xb,s,s,w":["堂侄媳妇"],"f,xb,s,s,s":["堂侄孙","再从孙"],"f,xb,s,s,s,s":["堂曾孙","再曾孙"],"f,xb,s,s,s,s,s":["堂玄孙","再玄孙"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂细妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳妇"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","姑姊","姑嬷"],"f,os,h":["大姑丈","大姑夫","恩伯"],"f,ls":["小姑","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑夫","恩叔"],"f,xs":["姑妈","姑母","姑姑","恩妈","几姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亘"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂婶"],"f,f,xb,s":["堂伯叔父","堂叔伯","从父"],"f,f,xb,s,w":["堂伯叔母","从母"],"f,f,xb,s,s&o":["从堂兄"],"f,f,xb,s,s&l":["从堂弟"],"f,f,xb,s,s,s":["从堂侄","三从子"],"f,f,xb,s,s,s,s":["从堂侄孙","三从孙"],"f,f,xb,s,s,s,s,s":["从堂侄曾孙","三曾孙"],"f,f,xb,s,s,s,s,s,s":["从堂侄玄孙","三玄孙"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["从伯父"],"f,f,f,xb,s,s&o,w":["从伯母"],"f,f,f,xb,s,s&l":["从叔父"],"f,f,f,xb,s,s&l,w":["从叔母"],"f,f,f,xb,s,s":["从伯叔父","再从父"],"f,f,f,xb,s,s,w":["从伯叔母","再从母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四从子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孙","四从孙","族孙"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孙","四曾孙","族曾孙"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孙","四玄孙","族玄孙"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["从伯叔祖父"],"f,f,f,f,xb,s,s,w":["从伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三从父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三从母","族母"],m:["妈妈","母亲","老母亲","老妈","阿妈","阿母","阿娘","老母","妈咪","依妈","老娘","老乸","老妈子","妈子","娘老子","妈","母","娘","阿毑","姆嬷","姆妈","娘亲"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅妈","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅妈","小妗","细妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","几舅","舅"],"m,xb,w":["舅妈","舅母","舅娘","娘妗","舅妻","舅姆","舅姆妈","舅媳妇","舅妇","舅姥","老妗","妗子","妗妗","妗妈","妗娘","妗母","阿妗","妗门","妗婆仔","妗儿妈","妗","嬢嬢"],"m,os":["大姨","大姨夫","姨嬷"],"m,os,h":["大姨丈","姨伯"],"m,ls":["小姨","姨仔","老姨"],"m,ls,h":["小姨丈","小姨夫","老姨夫","姨叔"],"m,xs":["姨妈","姨母","姨姨","姨娘","阿姨","几姨","姨","从母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅妈"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶亲"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太婶婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爷","翁亲","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑亲","大家","老婆婆","老人婆","大人婆","婆妈","婆母娘","婆子妈","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","婶婆","婶婆婆","婶亲","婆婆婶子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","爱爷","夫亲","夫君","官人","汉子","老头子","郎君","相公","夫婿","良人","老公仔","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"h,ob":["大伯子","大伯儿","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爷","伯爷子","婿伯"],"h,ob,w":["大婶子","大婶儿","大叔兄妇","伯兄妇","伯嫂","伯妇","伯姆","姒妇","姒姆","大伯嫂","姆姆","大姆","大伯妇","大伯娘","姐妇","阿姆"],"h,lb":["小叔子","小叔儿","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小婶子","小婶儿","小叔弟妇","叔弟妇","叔嫂","叔妇","叔姆","娣妇","娣姆","小叔妇","婶婶","小婶","小婶婶"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑儿","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亘子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑儿","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亘子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖岳父","曾祖丈人","太爷丈人","祖爷丈人"],"w,f,f,m":["曾祖岳母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖岳父","曾外祖丈人","祖姥爷丈人","太姥爷丈"],"w,f,m,m":["曾外祖岳母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖岳父","外曾祖丈人","祖奶爷丈人","太奶爷丈人","祖姥爷丈人","太姥爷丈人"],"w,m,f,m":["外曾祖岳母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖岳父","外曾外祖丈人","祖姥爷丈人","太姥爷丈人"],"w,m,m,m":["外曾外祖岳母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖岳父","太岳父","奶岳父","祖丈人","爷丈人","奶爷丈人","奶丈爷","奶丈人","老丈爷"],"w,f,m":["祖岳母","太岳母","奶岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯岳父"],"w,f,ob,w":["伯岳母"],"w,f,lb":["叔岳父"],"w,f,lb,w":["叔岳母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻婶"],"w,m,f":["外祖岳父","毑岳父","外祖丈人爹","外祖丈人","外太岳父","姥岳父","姥丈爷","姥丈人","姥丈人爹","老丈爷","姥爷丈人"],"w,m,m":["外祖岳母","毑岳母","外祖丈母娘","外祖丈母","外太岳母","姥岳母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["岳父","丈人","老丈人","外父","泰山","外舅","老亲爷","丈人爹","老干爷","丈人公","丈母爷","丈爷","丈爷爹","丈父","岳老子","老丈杆子","岳丈","岳翁","妻公","妇翁","冰翁"],"w,m":["岳母","丈母","老丈母","外母","泰水","外姑","老亲娘","丈人娘","老干娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","岳母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳妇","媳妇儿","媳妇子","太太","妻","女人","新娘","爱姥","妻亲","娘子","新娘子","夫人","婆娘","老太婆","内人","内子","内助","贤内助","爱妻","发妻","婆姨","婆子","老婆子","老婆儿","老婆仔","堂客","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅妇","大妗子","大妗儿","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳妇","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅妇","小妗子","小妗儿","小舅姆","小舅弟妇","小舅嫂","舅弟媳","小舅妹","小舅媳妇"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","亲家舅","舅老倌"],"w,xb,w":["舅嫂","舅妇","舅姆","妻妗","妗仔","妗子","妗儿"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨儿","姨姐"],"w,os,h":["大姨夫","大姨姐夫","姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙儿","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["连襟","姨夫","连桥","两桥","两乔","姨夫爷","老襟","一担挑","老挑","挑担","担儿挑","连襟儿","襟兄弟","友婿","妻尹","娅"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","亲哥","兄亲","老哥","依哥","阿哥","兄台","大佬","家兄","兄长","元兄","长兄","几哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄妇","兄妻","几嫂"],"ob,s":["侄子","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","亲弟","弟亲","老弟","依弟","阿弟","弟子","细佬","小弟","几弟"],"lb,w":["弟妹","弟媳","弟媳妇","弟媳妇子","弟新妇","老弟嫂"],"lb,s":["侄子","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","嫡侄","侄儿","侄儿子","侄","侄仔","阿侄"],"xb,s,w":["侄媳妇","侄媳","侄嫂","侄妇"],"xb,d":["侄女","侄囡","侄女儿","侄闺女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","亲姐","姊亲","老姐","依姐","阿姐","姊台","家姐","长姐","姊仔","几姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","亲妹","妹亲","老妹","依妹","阿妹","妹子","小妹","妹儿","几妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥儿","甥儿子","甥","甥仔"],"xs,s,w":["甥媳妇","甥媳","甥嫂","甥妇","甥儿息妇儿"],"xs,s,s":["甥孙","远甥","弥甥"],"xs,s,d":["甥孙女","远甥女","弥甥女"],"xs,d":["外甥女","甥女","甥囡","甥女儿","甥闺女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥儿息婿儿"],s:["儿子","男儿","息男","闺男","囝囝","囝男","囝儿","小子","娃子","男亲","伢子","长子","次子","幼子","儿","仔","囝","子","阿仔","仔仔","后生","公子","少爷","一世孙"],"s,w":["儿媳","儿媳妇","息妇儿","儿媳妇儿","新妇","新妇囝","心抱","息妇","儿妇","子妇","小妇","少奶奶","少夫人"],"s,w,f":["亲家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["亲家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孙"],"s,w,xb,d":["姻侄孙女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孙"],"s,w,xs,d":["姻侄外孙女"],"s,s":["孙子","孙男","孙男儿","孙儿","长孙","孙仔","孙囝","孙娃子","孙伢子","二世孙"],"s,s,w":["孙媳妇","孙媳","孙妇","孙息妇","孙新妇"],"s,s,s":["曾孙","曾孙男","重孙","重孙子","息仔","三世孙"],"s,s,s,w":["曾孙妇","重孙媳妇"],"s,s,s,s":["玄孙","元孙","膀孙","四世孙"],"s,s,s,s,w":["玄孙媳妇"],"s,s,s,s,s":["来孙","五世孙"],"s,s,s,s,s,w":["来孙媳妇"],"s,s,s,s,s,s":["晜孙","六世孙"],"s,s,s,s,s,s,w":["晜孙媳妇"],"s,s,s,s,s,s,s":["仍孙","礽孙","七世孙"],"s,s,s,s,s,s,s,w":["仍孙媳妇"],"s,s,s,s,s,s,s,s":["云孙","八世孙"],"s,s,s,s,s,s,s,s,w":["云孙媳妇"],"s,s,s,s,s,s,s,s,s":["耳孙","远孙","九世孙"],"s,s,s,s,s,s,s,s,s,w":["耳孙媳妇"],"s,s,s,s,s,s,s,s,s,s":["弥孙","十世孙"],"s,s,s,s,s,s,s,s,s,s,w":["弥孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s":["胎孙","十一世孙"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孙","十二世孙"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孙女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孙女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孙女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孙女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孙"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孙媳妇"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孙女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孙女婿"],"s,s,s,s,s,s,s,s,s,d":["弥孙女"],"s,s,s,s,s,s,s,s,s,d,h":["弥孙女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孙"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孙媳妇"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孙女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孙女婿"],"s,s,s,s,s,s,s,s,d":["耳孙女"],"s,s,s,s,s,s,s,s,d,h":["耳孙女婿"],"s,s,s,s,s,s,s,s,d,s":["弥外孙"],"s,s,s,s,s,s,s,s,d,s,w":["弥外孙媳妇"],"s,s,s,s,s,s,s,s,d,d":["弥外孙女"],"s,s,s,s,s,s,s,s,d,d,h":["弥外孙女婿"],"s,s,s,s,s,s,s,d":["云孙女"],"s,s,s,s,s,s,s,d,h":["云孙女婿"],"s,s,s,s,s,s,s,d,s":["耳外孙"],"s,s,s,s,s,s,s,d,s,w":["耳外孙媳妇"],"s,s,s,s,s,s,s,d,d":["耳外孙女"],"s,s,s,s,s,s,s,d,d,h":["耳外孙女婿"],"s,s,s,s,s,s,d":["仍孙女","礽孙女"],"s,s,s,s,s,s,d,h":["仍孙女婿"],"s,s,s,s,s,s,d,s":["云外孙"],"s,s,s,s,s,s,d,s,w":["云外孙媳妇"],"s,s,s,s,s,s,d,d":["云外孙女"],"s,s,s,s,s,s,d,d,h":["云外孙女婿"],"s,s,s,s,s,d":["晜孙女"],"s,s,s,s,s,d,h":["晜孙女婿"],"s,s,s,s,s,d,s":["仍外孙"],"s,s,s,s,s,d,s,w":["仍外孙媳妇"],"s,s,s,s,s,d,d":["仍外孙女"],"s,s,s,s,s,d,d,h":["仍外孙女婿"],"s,s,s,s,d":["来孙女"],"s,s,s,s,d,h":["来孙女婿"],"s,s,s,s,d,s":["晜外孙"],"s,s,s,s,d,s,w":["晜外孙媳妇"],"s,s,s,s,d,d":["晜外孙女"],"s,s,s,s,d,d,h":["晜外孙女婿"],"s,s,s,d":["玄孙女","元孙女","膀孙女"],"s,s,s,d,h":["玄孙女婿"],"s,s,s,d,s":["来外孙"],"s,s,s,d,s,w":["来外孙媳妇"],"s,s,s,d,d":["来外孙女"],"s,s,s,d,d,h":["来外孙女婿"],"s,s,d":["曾孙女","重孙女","息女"],"s,s,d,h":["曾孙女婿"],"s,s,d,s":["玄外孙"],"s,s,d,s,w":["玄外孙媳妇"],"s,s,d,d":["玄外孙女"],"s,s,d,d,h":["玄外孙女婿"],"s,d":["孙女","孙女儿","孙囡","孙囡儿","女孙","孙女子"],"s,d,h":["孙女婿","孙婿","孙郎","孙息婿"],"s,d,s":["曾外孙","外息仔"],"s,d,s,w":["曾外孙媳妇"],"s,d,s,s":["曾外曾孙"],"s,d,s,s,w":["曾外曾孙媳妇"],"s,d,s,d":["曾外曾孙女"],"s,d,s,d,h":["曾外曾孙女婿"],"s,d,d":["曾外孙女","外息女"],"s,d,d,h":["曾外孙女婿"],"s,d,d,s":["曾外曾外孙"],"s,d,d,s,w":["曾外曾外孙媳妇"],"s,d,d,d":["曾外曾外孙女"],"s,d,d,d,h":["曾外曾外孙女婿"],d:["女儿","千金","小姐","掌上明珠","息女","闺女","囡囡","囡女","囡儿","乖囡","囡嗯","丫头","姑娘","妮子","女亲","长女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爷","姑爷儿","女婿子","女婿儿","儿婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿儿","囝婿","囡婿","东床","半子","甥馆","女夫"],"d,h,f":["亲家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["亲家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孙"],"d,h,xb,d":["姻侄孙女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孙"],"d,h,xs,d":["姻侄外孙女"],"d,s":["外孙","外孙子","外孙儿"],"d,s,w":["外孙媳妇","外孙妇","外孙新妇"],"d,s,s":["外曾孙","重外孙","外息仔"],"d,s,s,w":["外曾孙媳妇","外曾孙妇"],"d,s,s,s":["外玄孙","外元孙","外膀孙"],"d,s,s,s,w":["外玄孙媳妇"],"d,s,s,d":["外玄孙女","外元孙女","外膀孙女"],"d,s,s,d,h":["外玄孙女婿"],"d,s,d":["外曾孙女","重外孙女","外息女"],"d,s,d,h":["外曾孙女婿","重外孙女婿"],"d,s,d,s":["外玄外孙"],"d,s,d,s,w":["外玄外孙媳妇"],"d,s,d,d":["外玄外孙女"],"d,s,d,d,h":["外玄外孙女婿"],"d,d":["外孙女","外孙囡","外孙女儿"],"d,d,h":["外孙女婿","外孙婿","外孙郎"],"d,d,s":["外曾外孙","外息仔"],"d,d,s,w":["外曾外孙媳妇"],"d,d,s,s":["外曾外曾孙"],"d,d,s,s,w":["外曾外曾孙媳妇"],"d,d,s,d":["外曾外曾孙女"],"d,d,s,d,h":["外曾外曾孙女婿"],"d,d,d":["外曾外孙女","外息女"],"d,d,d,h":["外曾外孙女婿"],"d,d,d,s":["外曾外曾外孙"],"d,d,d,s,w":["外曾外曾外孙媳妇"],"d,d,d,d":["外曾外曾外孙女"],"d,d,d,d,h":["外曾外曾外孙女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["从男","从子"],"1,xb,s,s":["从孙"],"1,xb,s,s,s":["从曾孙"],"1,xb,s,s,s,s":["从玄孙"],"1,xb,s,w":["从妇"],"1,xb,d":["从女","从子"],"1,xb,d,h":["从婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["离孙男","离孙子"],"1,xs,s,d":["离孙女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["归孙男","归孙子"],"0,xb,s,d":["归孙女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","从男","从子"],"0,xs,s,w":["从妇"],"0,xs,d":["姨甥女","从女","从子"],"0,xs,d,h":["从婿"],"0,xs,s,s":["姨甥孙","姨孙","姨甥孙男","姨孙男"],"0,xs,s,d":["姨甥孙女","姨孙女"],"0,xs,d,s":["姨甥外孙","姨外孙","姨甥外孙男","姨外孙男"],"0,xs,d,d":["姨甥外孙女","姨外孙女"]};let o=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爷"],"[f|m],[f|m],f,ob":["伯太老爷"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爷"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爷"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爷"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爷"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷","祖爷爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f|m],[f|m],[f|m]":["曾祖辈","祖祖","老太","阿太"],"[f|m],[f|m]":["祖辈"],"[f|m],f":["老爷"],"[f|m],f,ob":["伯老爷"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爷"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爷"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爷"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爷"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爷爷","舅姑爷"],"f,[f|m]":["祖父母","爷爷奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","从父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爷","老姥爷"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"m,f,[f,xs|m,xb],s":["舅姑姥爷"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","从母兄弟姐妹"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["两姨爸"],"[f|m],m,xs,s&o,w":["两姨姆"],"[f|m],m,xs,s&l,w":["两姨婶"],"[f|m],m,xs,d":["两姨娘娘"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅连襟","姑舅连桥"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","亲兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳妇","兄弟妇"],"[os|ls]":["姐妹","亲姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅儿子"],"[f,xs|m,xb],s,d":["姑舅女儿"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻儿","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","儿女","小孩","孩子","孩子们","孩儿","小孩儿","宝宝","宝贝","娃","娃子","儿辈","子辈","细伢","伢子","子息","子嗣","崽","幺儿"],"[s|d],[s|d]":["孙辈","孙息","孙枝"],"s,[s|d]":["孙子女"],"d,[s|d]":["外孙子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["儿孙","子孙","孙息"],"[s,w|d,h],[f|m]":["亲家","儿女亲家"],"[s,w|d,h],f":["亲家公","亲家父","亲家翁","亲家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄妇"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟妇"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄妇"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄妇"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟妇"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄妇"],"[s,w|d,h],m":["亲家母","亲家婆","亲家姆","亲姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄妇"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟妇"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),e=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f);if(!["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)))){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=o[l]||[]),x[l]=s.concat(x[l])}}}return x},t={};for(let s in l){t[s]={};for(let f in l[s])-1==f.indexOf("]")&&(t[s][f]=l[s][f])}let r={};for(let s in l){r[s]={};for(let f in l[s])f.indexOf("]")>-1&&N(f).forEach((function(x){r[s][x]=l[s][f]}))}o=Object.assign({},o,e(t,M),e(r,M));for(let s in w)o[s]=[].concat(w[s],o[s]||[]);o.o=["passer-by.com","作者"];const G={w:["妻","内","岳","岳家","丈人"],h:["夫","外","公","婆家","婆婆"]};let c=new Set(Object.values(o).flat());for(let s in o)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in G){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&o[s])continue}o[x]||(o[x]=[]);let d=G[f],m=o[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;c.has(d)||o[x].push(d)}))}))}var n=o;let a={},p=Object.assign({},n);function i(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),M=l.join(",");return M+(W(M)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function $(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function W(s){let f={f:1,m:1,s:-1,d:-1},x=0;return s.split(",").forEach((function(s){let d=s.replace(/&[ol\d]+/,"");x+=f[d]||0})),x}function u(s){let f=[],x=function(s){let f=[],x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");return p[x]&&p[d]?f=[x,d]:p[s]&&(f=[s]),$(f).map((function(s){return p[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(m[x]+"十").replace("一十","十"):"")+m[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),p[s]){let d="";W(s)<3&&!s.match(/[hw],/)?(p[s].forEach((function(s){!d&&s.includes("几")&&(d=s.replace("几",x))})),d||(d=p[s][0].match(/^[大小]/)?p[s][0].replace(/^[大小]/,x):x+p[s][0])):d=p[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let g=Object.assign({},p,{xb:["兄弟"],xs:["姐妹"]});function E(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return g[f][0]})).join("的");return f&&f>-1&&g[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let j=Object.assign({},p,{"f,xb":["伯叔父","几爸爸","几爸","几爹"],"f,xb,w":["伯叔母","几妈妈","几妈","几娘"],"h,xb":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","婶子"]}),S={};for(let s in j)j[s].forEach((function(f){void 0===S[f]&&(S[f]=[]),S[f].push(s)}));let O=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+o?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+w<+o&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),M=b[h].match(/([xol])[bs]/),w=l?l[1]:"",o=M?M[1]:"","x"==w||"x"==o)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}};function y(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆岳亲]家的?(孩子|儿子|女儿)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|妈|母)?家的?/,"姨")).split("的"),m=[],h=!0;for(;f.length;){let s=f.shift(),l=[],M=[s],w=function(s){x.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(M.push(d),w(d))}))}));for(let f in d){let x=s.replace(f,d[f]),m=s.replace(d[f],f);x!=s&&M.push(x),m!=s&&M.push(m)}};w(s);let o=[[],[],[]];M.forEach((function(s){let f=(s=s.replace(/^[尕幺细满碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"几"),d=s.replace(f[0],""),m=b(f[0]);[x,d,s].forEach((function(s,f){let x=S[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[从世]/)||o[f].push(d)}))}))}l=l.concat(S[s]||[])})),o.forEach((function(s){l.length||(l=s)})),l.length||(h=!1);let e=[];m.length||(m=[""]),m.forEach((function(s){l.forEach((function(f){e.push(s+(f?","+f:""))}))})),m=e}return h?$(m):[]}function N(s){let x=[],d={},m=function(s){let b="";if(!d[s]){d[s]=!0;do{b=s;for(let x of f)if((s=s.replace(x.exp,x.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;x.push(s)}};return m(s),x}function v(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=N(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return $(x)}let k=function(f){"string"==typeof f&&(f=function(f){for(let x of s){let s=f.match(x.exp);if(s)return x.opt(s)}return{}}(f));let x=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},f);!function(s){if(p=Object.assign({},n),s&&a[s])for(let f in a[s])p[f]=[].concat(a[s][f],n[f]||[])}(x.mode);let d=y(x.text),m=y(x.target);m.length||(m=[""]);let b=[];return d.forEach((function(s){m.forEach((function(f){(function(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=v(s.from,d),b=v(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=O({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?i(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h})({from:s,to:f,sex:x.sex,optimal:x.optimal}).forEach((function(s){(s?v(s.selector,s.sex):[]).forEach((function(f){let d=[f],m=s.sex;x.reverse&&(d=i(f,m),m=f.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==x.type?d.forEach((function(f){let x=E(f,s.sex);x&&b.push(x)})):"pair"==x.type?(d=i(f,s.sex),d.forEach((function(s){let x=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),l=f.replace(/([ol])([bs])/,"x$2"),M=s.replace(/&[ol]/,""),w=f.replace(/&[ol]/,"");for(let o in h){let e=o.split("#");if(e.length>1){let t=v(e[0]),r=v(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(h[o][0]),(G.includes(b)&&c.includes(l)||G.includes(l)&&c.includes(b))&&d.push(h[o][0]),(G.includes(M)&&c.includes(w)||G.includes(w)&&c.includes(M))&&m.push(h[o][0])}}return x.length||(x=d),x.length||(x=m),x}(f,s);b=b.concat(x)}))):d.forEach((function(s){let f=u(s);f.length||(f=u(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};return k.data=p,k.dataCount=Object.keys(p).length,k.setMode=function(s,f){a[s]=Object.assign(a[s]||{},f)},k})); +!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";function s(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1?"default":"chain"}}},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:function(s){return{text:s[3],target:s[1]}}},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[3],type:"pair"}}},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[2],type:"chain"}}},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:function(s){return{text:s[1],type:"chain"}}},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:function(s){return{text:s[1]}}},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:function(s){return{text:s[1]}}},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:function(s){return{text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"}}}];function m(s,f){var x="undefined"!=typeof Symbol&&s[Symbol.iterator]||s["@@iterator"];if(!x){if(Array.isArray(s)||(x=function(s,f){if(!s)return;if("string"==typeof s)return b(s,f);var x=Object.prototype.toString.call(s).slice(8,-1);"Object"===x&&s.constructor&&(x=s.constructor.name);if("Map"===x||"Set"===x)return Array.from(s);if("Arguments"===x||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x))return b(s,f)}(s))||f&&s&&"number"==typeof s.length){x&&(s=x);var d=0,m=function(){};return{s:m,n:function(){return d>=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:m}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,r=!0,e=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return r=s.done,s},e:function(s){e=!0,o=s},f:function(){try{r||null==x.return||x.return()}finally{if(e)throw o}}}}function b(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1&&P(f).forEach((function(x){p[s][x]=w[s][f]}))};for(var x in w[s])f(x)};for(var W in w)$(W);for(var v in a=Object.assign({},a,c(i,M),c(p,M)),n)a[v]=[].concat(n[v],a[v]||[]);a.o=["passer-by.com","作者"];var g={w:["妻","内","岳","岳家","丈人"],h:["夫","外","公","婆家","婆婆"]},y=new Set(Object.values(a).flat());for(var S in a)if(S.match(/^[fm]/)||S.match(/^[olx][bs]$|^[olx][bs],[^mf]/)){var j=function(){var s=E+","+S;if(S.match(/[fm]/)){var f=s.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(f!=s&&a[f])return"continue"}a[s]||(a[s]=[]);var x=g[E],d=a[S];x.forEach((function(f){d.forEach((function(x){var d=f+x;y.has(d)||a[s].push(d)}))}))};for(var E in g)j()}var O=a,A={},N=Object.assign({},O);function I(s,f){var x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));var m=[],b=function(f){var m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);var b=s.split(",").reverse(),o=m.split(",").reverse(),r=b.map((function(s,f){return x[s][o[f]]})),e=r.join(",");return e+(C(e)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function T(s){var f=s.filter((function(s){return s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")}));return s.filter((function(s){var x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter((function(s,f,x){return x.indexOf(s)===f}))}function C(s){var f={f:1,m:1,s:-1,d:-1},x=0;return s.split(",").forEach((function(s){var d=s.replace(/&[ol\d]+/,"");x+=f[d]||0})),x}function k(s){var f=[],x=function(s){var f=[],x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");return N[x]&&N[d]?f=[x,d]:N[s]&&(f=[s]),T(f).map((function(s){return N[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){var d=function(s){var f="",x={1:"大",99:"小"};if(x[s])f=x[s];else{var d=~~(s/10),m=s%10;f=(d?(t[d]+"十").replace("一十","十"):"")+t[m]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),N[s]){var m="";C(s)<3&&!s.match(/[hw],/)?(N[s].forEach((function(s){!m&&s.includes("几")&&(m=s.replace("几",d))})),m||(m=N[s][0].match(/^[大小]/)?N[s][0].replace(/^[大小]/,d):d+N[s][0])):m=N[s][0],f.push(m)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){var b=s.replace(/x/g,"l"),o=s.replace(/x/g,"o");f=f.concat(x(o),x(b))}return f}var U=Object.assign({},N,{xb:["兄弟"],xs:["姐妹"]});function q(s,f){var x=s.split(",").map((function(s){var f=s.replace(/&[ol\d]+/,"");return U[f][0]})).join("的");return f&&f>-1&&U[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}var z=Object.assign({},N,{"f,xb":["伯叔父","几爸爸","几爸","几爹"],"f,xb,w":["伯叔母","几妈妈","几妈","几娘"],"h,xb":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","婶子"]}),B={},D=function(s){z[s].forEach((function(f){void 0===B[f]&&(B[f]=[]),B[f].push(s)}))};for(var F in z)D(F);function H(s,f){var x="undefined"!=typeof Symbol&&s[Symbol.iterator]||s["@@iterator"];if(!x){if(Array.isArray(s)||(x=function(s,f){if(!s)return;if("string"==typeof s)return J(s,f);var x=Object.prototype.toString.call(s).slice(8,-1);"Object"===x&&s.constructor&&(x=s.constructor.name);if("Map"===x||"Set"===x)return Array.from(s);if("Arguments"===x||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x))return J(s,f)}(s))||f&&s&&"number"==typeof s.length){x&&(s=x);var d=0,m=function(){};return{s:m,n:function(){return d>=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:m}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var b,o=!0,r=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return o=s.done,s},e:function(s){r=!0,b=s},f:function(){try{o||null==x.return||x.return()}finally{if(r)throw b}}}}function J(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1)d=m;else if(b>-1&&-1==m)d=b;else{if(b!=m)return[];d=b}}var o=Q(s.from,d),r=Q(s.to,d);if(!o.length||!r.length)return[];var e=[];return o.forEach((function(f){r.forEach((function(x){var m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){var o=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(o=!0),o){var r=function(s){for(var f=s.from,x=s.to,d=s.sex,m=s.from.split(","),b=s.to.split(","),o=0;o+t?m[o]=m[o].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+h<+t&&(m[o]=m[o].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(o).join(","),x=b.slice(o+1).join(","),d=b[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(r=m[o].match(/([xol])[bs]/),e=b[o].match(/([xol])[bs]/),h=r?r[1]:"",t=e?e[1]:"","x"==h||"x"==t)){f=m.slice(o+1).join(","),x=b.slice(o+1).join(","),d=m[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(o+1).join(","),x=b.slice(o+1).join(","),d=m[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}}({from:f,to:x,sex:d,optimal:s.optimal});f=r.from,x=r.to,d=r.sex}}(x?I(x,d):[""]).forEach((function(s){var x=(s?","+s:"")+(f?","+f:"");e.push({selector:x,sex:m})}))}))})),e}function P(s){var f=[],x={};return function s(d){var m="";if(!x[d]){x[d]=!0;do{m=d;var b,r=H(o);try{for(r.s();!(b=r.n()).done;){var e=b.value;if((d=d.replace(e.exp,e.str)).includes("#"))return d.split("#").forEach(s),!1}}catch(s){r.e(s)}finally{r.f()}}while(m!=d);if(d.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;f.push(d)}}(s),f}function Q(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];var x=P(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return T(x)}var R=function(s){"string"==typeof s&&(s=function(s){var f,x=m(d);try{for(x.s();!(f=x.n()).done;){var b=f.value,o=s.match(b.exp);if(o)return b.opt(o)}}catch(s){x.e(s)}finally{x.f()}return{}}(s));var f=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},s);!function(s){if(N=Object.assign({},O),s&&A[s])for(var f in A[s])N[f]=[].concat(A[s][f],O[f]||[])}(f.mode);var b=K(f.text),o=K(f.target);o.length||(o=[""]);var r=[];return b.forEach((function(s){o.forEach((function(x){L({from:s,to:x,sex:f.sex,optimal:f.optimal}).forEach((function(s){(s?Q(s.selector,s.sex):[]).forEach((function(x){var d=[x],m=s.sex;f.reverse&&(d=I(x,m),m=x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==f.type?d.forEach((function(f){var x=q(f,s.sex);x&&r.push(x)})):"pair"==f.type?(d=I(x,s.sex)).forEach((function(s){var f=function(s,f){var x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");var b=s.replace(/([ol])([bs])/,"x$2"),o=f.replace(/([ol])([bs])/,"x$2"),r=s.replace(/&[ol]/,""),e=f.replace(/&[ol]/,"");for(var h in l){var t=h.split("#");if(t.length>1){var w=Q(t[0]),M=Q(t[1]),n=w.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),a=M.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(w.includes(s)&&M.includes(f)||w.includes(f)&&M.includes(s))&&x.push(l[h][0]),(n.includes(b)&&a.includes(o)||n.includes(o)&&a.includes(b))&&d.push(l[h][0]),(n.includes(r)&&a.includes(e)||n.includes(e)&&a.includes(r))&&m.push(l[h][0])}}return x.length||(x=d),x.length||(x=m),x}(x,s);r=r.concat(f)})):d.forEach((function(s){var f=k(s);f.length||(f=k(m+","+s)),r=r.concat(f)}))}))}))}))})),x(new Set(r))};return R.data=N,R.dataCount=Object.keys(N).length,R.setMode=function(s,f){A[s]=Object.assign(A[s]||{},f)},R})); diff --git a/dist/relationship.zh-HK.min.js b/dist/relationship.zh-HK.min.js index f425426..8808ecd 100644 --- a/dist/relationship.zh-HK.min.js +++ b/dist/relationship.zh-HK.min.js @@ -10,4 +10,4 @@ * * Created on: 2023-10-16 */ -!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";var s=[{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(\S+?)(什麼|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(誰|什麼|什麼親戚|啥親戚|什麼人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];var f=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],x=[{exp:/^從表/,arr:["從父姑表","從父舅表","從父姨表","從母姑表","從母舅表","從母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻內外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^親家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太遠鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太遠鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元來晜仍雲耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孫/,arr:["$1侄$2孫"]},{exp:/^([姨姑])([曾玄外]*)孫/,arr:["$1甥$2孫"]},{exp:/([孫甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孫外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新婦|媳)$/,arr:["媳婦"]},{exp:/嫂$/,arr:["兄婦"]},{exp:/女兒$/,arr:["女"]}],d={"晜":"兄","哥":"兄","姐":"姊","侄":"姪","婿":"壻","嬤":"嫲","祖父":"王父","祖母":"王母","孫女婿":"孫婿","甥女婿":"甥婿","侄女婿":"侄婿","孫媳婦":"孫婦","甥媳婦":"甥婦","侄媳婦":"侄婦","弟媳婦":"弟婦"};const m=["","一","二","三","四","五","六","七","八","九","十"];function b(s){let f=0;const x={"大":1,"小":99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>m.indexOf(s))).reverse();f=10*d+x}return f}var h={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孫"],"m,f#d,[s|d]":["公孫"],"m,m#d,[s|d]":["婆孫"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["嬸侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["連襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["兒女親家"]},l={"{G2}":{"f,f,xb":["從祖"],"m,f,xb":["外從祖"]},"{G1}":{"f,xb":["堂","同堂","親堂","從父","叔伯","堂房","從"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","從母","兩姨","姨表","從"],"f,f,xb,s":["從堂","再從父","遠堂","堂叔伯","叔伯叔伯","再從"],"f,f,xb,d":["堂姑表","從父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["從母叔表"],"f,m,xs,d":["從母姑表"],"m,f,xb,s":["堂舅表","從父舅表"],"m,f,xb,d":["堂姨表","從父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["從母舅表"],"m,m,xs,d":["再從母","姨姨","再從"],"f,f,f,xb,s,s":["三從父","再從堂","遠堂","族","三從"],"m,m,m,xs,d,d":["三從母","三從"],"f,f,f,f,xb,s,s,s":["四從父","三從堂","遠堂","族","四從"],"m,m,m,m,xs,d,d,d":["四從母","四從"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","從父","叔伯","從"],"f,f,xb,s&o":["堂伯","從父伯","叔伯伯","從伯"],"f,f,xb,s&l":["堂叔","從父叔","叔伯叔","從叔"],"f,f,f,xb,s,s":["從堂"],"f,f,f,xb,s,s&o":["從堂伯"],"f,f,f,xb,s,s&l":["從堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","從母伯","從伯"],"f,m,xs,s&l":["姨叔","從母叔","從叔"],"m,f,xb,s":["堂舅","從父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","從母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","從父姑"],"f,f,f,xb,s,d":["從堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","從母姑"],"m,f,xb,d":["堂姨","從父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","從母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["從"],"1,f,xb,s":["再從"],"1,f,f,xb,s,s":["三從"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["從"],"0,m,xs,d":["再從"],"0,m,m,xs,d,d":["三從"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["從父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["從父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["從父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["從父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","內兄弟眷"],"w,xs,h":["姨姊妹姻","內姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["從父兄弟眷"],"f,xb,d,h":["從父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["從母兄弟眷"],"m,xs,d,h":["從母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孫眷"],"s,d,h":["孫姻"],"d,s,w":["外孫眷"],"d,d,h":["外孫姻"],"xb,s,s,w":["侄孫眷"],"xb,s,d,h":["侄孫姻"],"xb,d,s,w":["侄外孫眷"],"xb,d,d,h":["侄外孫姻"],"xs,s,s,w":["甥孫眷"],"xs,s,d,h":["甥孫姻"],"xs,d,s,w":["甥外孫眷"],"xs,d,d,h":["甥外孫姻"],"h,xb,s,s,w":["叔侄孫眷","叔伯孫眷","叔孫眷"],"h,xb,s,d,h":["叔侄孫姻","叔伯孫姻","叔孫姻"],"h,xb,d,s,w":["叔侄外孫眷","叔伯外孫眷","叔外孫眷"],"h,xb,d,d,h":["叔侄外孫姻","叔伯外孫姻","叔外孫姻"],"h,xs,s,s,w":["姑甥孫眷","姑孫眷"],"h,xs,s,d,h":["姑甥孫姻","姑孫姻"],"h,xs,d,s,w":["姑甥外孫眷","姑外孫眷"],"h,xs,d,d,h":["姑甥外孫姻","姑外孫姻"],"w,xb,s,s,w":["舅侄孫眷","舅孫眷"],"w,xb,s,d,h":["舅侄孫姻","舅孫姻"],"w,xb,d,s,w":["舅侄外孫眷","舅外孫眷"],"w,xb,d,d,h":["舅侄外孫姻","舅外孫姻"],"w,xs,s,s,w":["姨甥孫眷","姨孫眷"],"w,xs,s,d,h":["姨甥孫姻","姨孫姻"],"w,xs,d,s,w":["姨甥外孫眷","姨外孫眷"],"w,xs,d,d,h":["姨甥外孫姻","姨外孫姻"]}},M={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["遠祖父"],"f,f,f,f,f,f,f,{G1M},w":["遠祖母"],"f,f,f,f,f,f,f,{G1W}":["遠祖母"],"f,f,f,f,f,f,f,{G1W},h":["遠祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太外?爺爺"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太?外爺爺"],"f,{G1M}":["祖父","公","太?父","奶爺","爺爺","爺"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爺","爺爺","爺"],"m,{G1M}":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爺爺"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爺爺"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爺爺"],"f,m,{G1},s":["舅祖父","舅爺爺"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爺爺"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爺"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爺"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爺"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爺"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爺"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爺"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","嬸"],"f,{G1},d":["姑母","姑姑","姑媽","姑"],"f,{G1},d,h":["姑父","姑丈","姑爸","姑夫"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅媽"],"m,{G1},d":["姨母","姨姨","姨媽","姨"],"m,{G1},d,h":["姨父","姨丈","姨爸","姨夫"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟婦"],"{G1},s&o":["哥","哥哥","阿哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄婦"],"{G1},s&l":["弟","弟弟","阿弟"],"{G1},s&l,w":["弟媳","弟婦"],"{G1},s,s":["侄男","侄子","侄兒"],"{G1},s,s,w":["侄婦"],"{G1},s,s,s":["侄孫男"],"{G1},s,s,s,w":["侄孫婦"],"{G1},s,s,s,s":["侄曾孫男"],"{G1},s,s,s,s,w":["侄曾孫婦"],"{G1},s,s,s,s,s":["侄玄孫男"],"{G1},s,s,s,s,s,w":["侄玄孫婦"],"{G1},s,s,s,s,d":["侄玄孫女"],"{G1},s,s,s,s,d,h":["侄玄孫婿"],"{G1},s,s,d":["侄孫女"],"{G1},s,s,d,h":["侄孫婿"],"{G1},s,s,s,d":["侄曾孫女"],"{G1},s,s,s,d,h":["侄曾孫婿"],"{G1},s,d":["侄女","侄女兒"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孫男","外孫男"],"{G1},s,d,s,w":["侄外孫婦"],"{G1},s,d,d":["侄外孫女","外孫女"],"{G1},s,d,d,h":["侄外孫婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐","姐姐","阿姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹","妹妹","阿妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥婦"],"{G1},d,s,s":["甥孫男"],"{G1},d,s,s,w":["甥孫婦"],"{G1},d,s,d":["甥孫女"],"{G1},d,s,d,h":["甥孫婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孫男","外孫男"],"{G1},d,d,s,w":["甥外孫婦"],"{G1},d,d,d":["甥外孫女","外孫女"],"{G1},d,d,d,h":["甥外孫婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大嬸子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小嬸子","小叔弟婦"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖嶽父","太?嶽","祖丈人","爺丈人","奶爺丈人"],"w,f,{G1M},w":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖嶽父","太?嶽父","祖丈人","爺丈人","奶爺丈人"],"w,m,{G1M}":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","姥爺丈人"],"w,m,{G1M},w":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","外爺丈人","姥爺丈人"],"w,{G1M}":["嶽父","丈人","丈人爹"],"w,{G1M},w":["嶽母","丈母","丈母娘"],"w,{G1W}":["嶽母","丈母","丈母娘"],"w,{G1W},h":["嶽父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅婦","大舅姆","大舅兄婦","舅兄婦","舅姐","大舅姐","大妗子","大妗兒"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅婦","小舅姆","小舅弟婦","舅弟婦","舅妹","小舅妹","小妗子","小妗兒"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["連襟","連橋"],"{G0},s":["男","男兒","兒","子","兒子"],"{G0},s,w":["媳婦","媳","婦"],"{G0},s,s":["孫","孫男","孫子"],"{G0},s,s,w":["孫婦"],"{G0},s,s,s":["曾孫","曾孫男"],"{G0},s,s,s,w":["曾孫婦"],"{G0},s,s,s,s":["玄孫","玄孫男","元孫","元孫男"],"{G0},s,s,s,s,w":["玄孫婦"],"{G0},s,s,s,d":["玄孫女","元孫女"],"{G0},s,s,s,d,h":["玄孫婿"],"{G0},s,s,d":["曾孫女"],"{G0},s,s,d,h":["曾孫婿"],"{G0},s,s,d,s":["玄外孫","玄外孫男"],"{G0},s,s,d,s,w":["玄外孫婦"],"{G0},s,s,d,d":["玄外孫女"],"{G0},s,s,d,d,h":["玄外孫婿"],"{G0},s,d":["孫女"],"{G0},s,d,h":["孫婿"],"{G0},s,d,s":["曾外孫","曾外孫男"],"{G0},s,d,s,w":["曾外孫婦"],"{G0},s,d,s,s":["曾外曾孫","曾外曾孫男"],"{G0},s,d,s,s,w":["曾外曾孫婦"],"{G0},s,d,s,d":["曾外曾孫女"],"{G0},s,d,s,d,h":["曾外曾孫婿"],"{G0},s,d,d":["曾外孫女"],"{G0},s,d,d,h":["曾外孫婿"],"{G0},s,d,d,s":["曾外曾外孫","曾外曾外孫男"],"{G0},s,d,d,s,w":["曾外曾外孫婦"],"{G0},s,d,d,d":["曾外曾外孫女"],"{G0},s,d,d,d,h":["曾外曾外孫婿"],"{G0},d":["女","女兒"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孫","外孫男"],"{G0},d,s,w":["外孫婦"],"{G0},d,s,s":["外曾孫","外曾孫男"],"{G0},d,s,s,w":["外曾孫婦"],"{G0},d,s,s,s":["外玄孫","外玄孫男"],"{G0},d,s,s,d":["外玄孫女"],"{G0},d,s,d":["外曾孫女"],"{G0},d,s,d,h":["外曾孫婿"],"{G0},d,s,d,s":["外玄外孫","外玄外孫男"],"{G0},d,s,d,d":["外玄外孫女"],"{G0},d,d":["外孫女"],"{G0},d,d,h":["外孫婿"],"{G0},d,d,s":["外曾外孫","外曾外孫男"],"{G0},d,d,s,w":["外曾外孫婦"],"{G0},d,d,s,s":["外曾外曾孫","外曾外曾孫男"],"{G0},d,d,s,d":["外曾外曾孫女"],"{G0},d,d,d":["外曾外孫女"],"{G0},d,d,d,h":["外曾外孫婿"],"{G0},d,d,d,s":["外曾外曾外孫"],"{G0},d,d,d,d":["外曾外曾外孫女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟婦"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄婦"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟婦"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄婦","侄婦"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥婦","甥婦"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母","姨媽"],"{M1W},xs,h":["姨父","姨丈","姨夫"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟婦"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄婦"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟婦"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄婦","侄婦"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥婦","甥婦"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟婦"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄婦"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟婦"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄婦","侄婦"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥婦","甥婦"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母","姑媽"],"{M1M},xs,h":["姑父","姑丈","姑夫"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟婦"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄婦"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟婦"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄婦","侄婦"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥婦","甥婦"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟婦"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄婦"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟婦"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母","姑媽"],"{M0},f,xs,h":["姑父","姑丈","姑夫"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟婦"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄婦"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟婦"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟婦"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄婦"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟婦"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母","姨媽"],"{M0},m,xs,h":["姨父","姨丈","姨夫"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟婦"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄婦"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟婦"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟婦"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄婦","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟婦","弟妹"],"{M0},xb,s":["侄男","侄子","侄兒"],"{M0},xb,s,w":["侄婦"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥婦"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟婦"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄婦"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟婦"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟婦"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄婦"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟婦"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["婦"],"{M-1},xb,s":["孫男"],"{M-1},xb,s,w":["孫婦"],"{M-1},xb,d":["孫女"],"{M-1},xb,d,h":["孫婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孫男"],"{M-1},xs,s,w":["外孫婦"],"{M-1},xs,d":["外孫女"],"{M-1},xs,d,h":["外孫婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孫男"],"{M-2},xb,w":["孫婦"],"{M-2},xs":["孫女"],"{M-2},xs,h":["孫婿"]},w={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爺","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爺","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["開祖父","開太爺","十世祖"],"f,f,f,f,f,f,f,f,f,m":["開祖母","開太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爺","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["遠祖父","遠太爺","八世祖"],"f,f,f,f,f,f,f,m":["遠祖母","遠太奶"],"f,f,f,f,f,f,f":["太祖父","太太爺","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爺","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爺","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爺","高太爺","祖太翁","祖太爺爺","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爺","老太爺","太翁","太爺爺","曾爺爺","公太","佬嗲","祖爺","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬤","太姆","太奶奶","曾奶奶","婆太","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爺","太外翁","太外爺爺"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬤","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爺","外太翁","外太爺爺"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬤","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爺","外太外翁","外太外爺爺","外太姥爺"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬤","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爺爺","祖父","奶爺","奶爹","阿爺","阿公","亞爺","亞公","依爺","嗲嗲","大父","爺","爺兒","爺老","爺老子","爺老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","亞嬤","亞婆","依奶","阿嬤","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媼婆","親婆"],"m,f":["外公","外祖父","姥爺","阿公","外爺","客公","毑父","毑公","姥公","舅家爺","嘎公","嘎爹",,"嘎嘎爹","嘎爺爺","尕公","毑爹","毑爺","外大父","姥爹","魏公","魏爺"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","魏婆","魏奶","阿嬤","外嬤","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爺爺","大嗲","大爺","大公","大阿爺"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爺爺","晚公","幺爺","細嗲"],"f,f,lb,w":["叔婆","嬸婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","從祖父","幾爺爺","幾大爺","幾嗲","幾爺","幾公"],"f,f,xb,w":["伯叔祖母","從祖母","幾奶奶","幾大娘","幾奶","幾婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爺爺","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爺爺","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爺爺","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爺","大外爺"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爺","小外爺"],"m,f,lb,w":["叔外婆","外嬸婆","小外婆","小姥姥","嬸姥姥","小姥奶"],"m,f,xb":["堂外祖父","幾外公","幾姥爺","幾外爺"],"m,f,xb,w":["堂外祖母","幾外婆","幾姥姥","幾姥奶","幾外奶","幾姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父親","老父親","老爸","阿爸","阿父","阿爹","老竇","爹地","依爹","老爹","老漢","老爺子","老子","牙老子","爸","父","爹","老漢兒","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爺","依伯","世父","大爹","大爸","大爸爸","伯兒","大伯","大爺","大大","阿伯","幾伯","伯"],"f,ob,w":["伯母","伯媽","伯娘","依姆","世母","大娘","大媽","大媽媽","伯婦","大嬤","大姆媽","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔兒","仲父","季父","叔仔","依叔","小叔","小爹","小爸","幾叔","叔"],"f,lb,w":["嬸嬸","嬸母","嬸媽","嬸娘","阿嬸","嬸兒","仲母","季母","叔婦","依嬸","小嬸","小娘","小媽","幾嬸","嬸","嬸子","家嬸","叔母","叔媽","叔娘","嬸爹","嬢嬢"],"f,xb,s&o":["堂哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟婦","堂弟妹"],"f,xb,s,s":["堂侄","再從子"],"f,xb,s,s,w":["堂侄媳婦"],"f,xb,s,s,s":["堂侄孫","再從孫"],"f,xb,s,s,s,s":["堂曾孫","再曾孫"],"f,xb,s,s,s,s,s":["堂玄孫","再玄孫"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂細妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳婦"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","姑姊","姑嬤"],"f,os,h":["大姑丈","大姑夫","恩伯"],"f,ls":["小姑","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑夫","恩叔"],"f,xs":["姑媽","姑母","姑姑","恩媽","幾姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亙"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂嬸"],"f,f,xb,s":["堂伯叔父","堂叔伯","從父"],"f,f,xb,s,w":["堂伯叔母","從母"],"f,f,xb,s,s&o":["從堂兄"],"f,f,xb,s,s&l":["從堂弟"],"f,f,xb,s,s,s":["從堂侄","三從子"],"f,f,xb,s,s,s,s":["從堂侄孫","三從孫"],"f,f,xb,s,s,s,s,s":["從堂侄曾孫","三曾孫"],"f,f,xb,s,s,s,s,s,s":["從堂侄玄孫","三玄孫"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["從伯父"],"f,f,f,xb,s,s&o,w":["從伯母"],"f,f,f,xb,s,s&l":["從叔父"],"f,f,f,xb,s,s&l,w":["從叔母"],"f,f,f,xb,s,s":["從伯叔父","再從父"],"f,f,f,xb,s,s,w":["從伯叔母","再從母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四從子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孫","四從孫","族孫"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孫","四曾孫","族曾孫"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孫","四玄孫","族玄孫"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["從伯叔祖父"],"f,f,f,f,xb,s,s,w":["從伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三從父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三從母","族母"],m:["媽媽","母親","老母親","老媽","阿媽","阿母","阿娘","老母","媽咪","依媽","老娘","老乸","老媽子","媽子","娘老子","媽","母","娘","阿毑","姆嬤","姆媽","娘親"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅媽","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅媽","小妗","細妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","幾舅","舅"],"m,xb,w":["舅媽","舅母","舅娘","娘妗","舅妻","舅姆","舅姆媽","舅媳婦","舅婦","舅姥","老妗","妗子","妗妗","妗媽","妗娘","妗母","阿妗","妗門","妗婆仔","妗兒媽","妗","嬢嬢"],"m,os":["大姨","大姨夫","姨嬤"],"m,os,h":["大姨丈","姨伯"],"m,ls":["小姨","姨仔","老姨"],"m,ls,h":["小姨丈","小姨夫","老姨夫","姨叔"],"m,xs":["姨媽","姨母","姨姨","姨娘","阿姨","幾姨","姨","從母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅媽"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶親"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太嬸婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爺","翁親","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑親","大家","老婆婆","老人婆","大人婆","婆媽","婆母娘","婆子媽","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","嬸婆","嬸婆婆","嬸親","婆婆嬸子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","愛爺","夫親","夫君","官人","漢子","老頭子","郎君","相公","夫婿","良人","老公仔","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"h,ob":["大伯子","大伯兒","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爺","伯爺子","婿伯"],"h,ob,w":["大嬸子","大嬸兒","大叔兄婦","伯兄婦","伯嫂","伯婦","伯姆","姒婦","姒姆","大伯嫂","姆姆","大姆","大伯婦","大伯娘","姐婦","阿姆"],"h,lb":["小叔子","小叔兒","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小嬸子","小嬸兒","小叔弟婦","叔弟婦","叔嫂","叔婦","叔姆","娣婦","娣姆","小叔婦","嬸嬸","小嬸","小嬸嬸"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑兒","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亙子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑兒","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亙子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖嶽父","曾祖丈人","太爺丈人","祖爺丈人"],"w,f,f,m":["曾祖嶽母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖嶽父","曾外祖丈人","祖姥爺丈人","太姥爺丈"],"w,f,m,m":["曾外祖嶽母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖嶽父","外曾祖丈人","祖奶爺丈人","太奶爺丈人","祖姥爺丈人","太姥爺丈人"],"w,m,f,m":["外曾祖嶽母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖嶽父","外曾外祖丈人","祖姥爺丈人","太姥爺丈人"],"w,m,m,m":["外曾外祖嶽母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖嶽父","太嶽父","奶嶽父","祖丈人","爺丈人","奶爺丈人","奶丈爺","奶丈人","老丈爺"],"w,f,m":["祖嶽母","太嶽母","奶嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯嶽父"],"w,f,ob,w":["伯嶽母"],"w,f,lb":["叔嶽父"],"w,f,lb,w":["叔嶽母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻嬸"],"w,m,f":["外祖嶽父","毑嶽父","外祖丈人爹","外祖丈人","外太嶽父","姥嶽父","姥丈爺","姥丈人","姥丈人爹","老丈爺","姥爺丈人"],"w,m,m":["外祖嶽母","毑嶽母","外祖丈母娘","外祖丈母","外太嶽母","姥嶽母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["嶽父","丈人","老丈人","外父","泰山","外舅","老親爺","丈人爹","老幹爺","丈人公","丈母爺","丈爺","丈爺爹","丈父","嶽老子","老丈杆子","嶽丈","嶽翁","妻公","婦翁","冰翁"],"w,m":["嶽母","丈母","老丈母","外母","泰水","外姑","老親娘","丈人娘","老幹娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","嶽母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳婦","媳婦兒","媳婦子","太太","妻","女人","新娘","愛姥","妻親","娘子","新娘子","夫人","婆娘","老太婆","內人","內子","內助","賢內助","愛妻","發妻","婆姨","婆子","老婆子","老婆兒","老婆仔","堂客","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅婦","大妗子","大妗兒","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳婦","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅婦","小妗子","小妗兒","小舅姆","小舅弟婦","小舅嫂","舅弟媳","小舅妹","小舅媳婦"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","親家舅","舅老倌"],"w,xb,w":["舅嫂","舅婦","舅姆","妻妗","妗仔","妗子","妗兒"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨兒","姨姐"],"w,os,h":["大姨夫","大姨姐夫","姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙兒","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["連襟","姨夫","連橋","兩橋","兩喬","姨夫爺","老襟","一擔挑","老挑","挑擔","擔兒挑","連襟兒","襟兄弟","友婿","妻尹","婭"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","親哥","兄親","老哥","依哥","阿哥","兄台","大佬","家兄","兄長","元兄","長兄","幾哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄婦","兄妻","幾嫂"],"ob,s":["侄子","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","親弟","弟親","老弟","依弟","阿弟","弟子","細佬","小弟","幾弟"],"lb,w":["弟妹","弟媳","弟媳婦","弟媳婦子","弟新婦","老弟嫂"],"lb,s":["侄子","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","嫡侄","侄兒","侄兒子","侄","侄仔","阿侄"],"xb,s,w":["侄媳婦","侄媳","侄嫂","侄婦"],"xb,d":["侄女","侄囡","侄女兒","侄閨女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","親姐","姊親","老姐","依姐","阿姐","姊台","家姐","長姐","姊仔","幾姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","親妹","妹親","老妹","依妹","阿妹","妹子","小妹","妹兒","幾妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥兒","甥兒子","甥","甥仔"],"xs,s,w":["甥媳婦","甥媳","甥嫂","甥婦","甥兒息婦兒"],"xs,s,s":["甥孫","遠甥","彌甥"],"xs,s,d":["甥孫女","遠甥女","彌甥女"],"xs,d":["外甥女","甥女","甥囡","甥女兒","甥閨女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥兒息婿兒"],s:["兒子","男兒","息男","閨男","囝囝","囝男","囝兒","小子","娃子","男親","伢子","長子","次子","幼子","兒","仔","囝","子","阿仔","仔仔","後生","公子","少爺","一世孫"],"s,w":["兒媳","兒媳婦","息婦兒","兒媳婦兒","新婦","新婦囝","心抱","息婦","兒婦","子婦","小婦","少奶奶","少夫人"],"s,w,f":["親家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["親家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孫"],"s,w,xb,d":["姻侄孫女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孫"],"s,w,xs,d":["姻侄外孫女"],"s,s":["孫子","孫男","孫男兒","孫兒","長孫","孫仔","孫囝","孫娃子","孫伢子","二世孫"],"s,s,w":["孫媳婦","孫媳","孫婦","孫息婦","孫新婦"],"s,s,s":["曾孫","曾孫男","重孫","重孫子","息仔","三世孫"],"s,s,s,w":["曾孫婦","重孫媳婦"],"s,s,s,s":["玄孫","元孫","膀孫","四世孫"],"s,s,s,s,w":["玄孫媳婦"],"s,s,s,s,s":["來孫","五世孫"],"s,s,s,s,s,w":["來孫媳婦"],"s,s,s,s,s,s":["晜孫","六世孫"],"s,s,s,s,s,s,w":["晜孫媳婦"],"s,s,s,s,s,s,s":["仍孫","礽孫","七世孫"],"s,s,s,s,s,s,s,w":["仍孫媳婦"],"s,s,s,s,s,s,s,s":["雲孫","八世孫"],"s,s,s,s,s,s,s,s,w":["雲孫媳婦"],"s,s,s,s,s,s,s,s,s":["耳孫","遠孫","九世孫"],"s,s,s,s,s,s,s,s,s,w":["耳孫媳婦"],"s,s,s,s,s,s,s,s,s,s":["彌孫","十世孫"],"s,s,s,s,s,s,s,s,s,s,w":["彌孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s":["胎孫","十一世孫"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孫","十二世孫"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孫女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孫女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孫女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孫女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孫"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孫媳婦"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孫女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孫女婿"],"s,s,s,s,s,s,s,s,s,d":["彌孫女"],"s,s,s,s,s,s,s,s,s,d,h":["彌孫女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孫"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孫媳婦"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孫女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孫女婿"],"s,s,s,s,s,s,s,s,d":["耳孫女"],"s,s,s,s,s,s,s,s,d,h":["耳孫女婿"],"s,s,s,s,s,s,s,s,d,s":["彌外孫"],"s,s,s,s,s,s,s,s,d,s,w":["彌外孫媳婦"],"s,s,s,s,s,s,s,s,d,d":["彌外孫女"],"s,s,s,s,s,s,s,s,d,d,h":["彌外孫女婿"],"s,s,s,s,s,s,s,d":["雲孫女"],"s,s,s,s,s,s,s,d,h":["雲孫女婿"],"s,s,s,s,s,s,s,d,s":["耳外孫"],"s,s,s,s,s,s,s,d,s,w":["耳外孫媳婦"],"s,s,s,s,s,s,s,d,d":["耳外孫女"],"s,s,s,s,s,s,s,d,d,h":["耳外孫女婿"],"s,s,s,s,s,s,d":["仍孫女","礽孫女"],"s,s,s,s,s,s,d,h":["仍孫女婿"],"s,s,s,s,s,s,d,s":["雲外孫"],"s,s,s,s,s,s,d,s,w":["雲外孫媳婦"],"s,s,s,s,s,s,d,d":["雲外孫女"],"s,s,s,s,s,s,d,d,h":["雲外孫女婿"],"s,s,s,s,s,d":["晜孫女"],"s,s,s,s,s,d,h":["晜孫女婿"],"s,s,s,s,s,d,s":["仍外孫"],"s,s,s,s,s,d,s,w":["仍外孫媳婦"],"s,s,s,s,s,d,d":["仍外孫女"],"s,s,s,s,s,d,d,h":["仍外孫女婿"],"s,s,s,s,d":["來孫女"],"s,s,s,s,d,h":["來孫女婿"],"s,s,s,s,d,s":["晜外孫"],"s,s,s,s,d,s,w":["晜外孫媳婦"],"s,s,s,s,d,d":["晜外孫女"],"s,s,s,s,d,d,h":["晜外孫女婿"],"s,s,s,d":["玄孫女","元孫女","膀孫女"],"s,s,s,d,h":["玄孫女婿"],"s,s,s,d,s":["來外孫"],"s,s,s,d,s,w":["來外孫媳婦"],"s,s,s,d,d":["來外孫女"],"s,s,s,d,d,h":["來外孫女婿"],"s,s,d":["曾孫女","重孫女","息女"],"s,s,d,h":["曾孫女婿"],"s,s,d,s":["玄外孫"],"s,s,d,s,w":["玄外孫媳婦"],"s,s,d,d":["玄外孫女"],"s,s,d,d,h":["玄外孫女婿"],"s,d":["孫女","孫女兒","孫囡","孫囡兒","女孫","孫女子"],"s,d,h":["孫女婿","孫婿","孫郎","孫息婿"],"s,d,s":["曾外孫","外息仔"],"s,d,s,w":["曾外孫媳婦"],"s,d,s,s":["曾外曾孫"],"s,d,s,s,w":["曾外曾孫媳婦"],"s,d,s,d":["曾外曾孫女"],"s,d,s,d,h":["曾外曾孫女婿"],"s,d,d":["曾外孫女","外息女"],"s,d,d,h":["曾外孫女婿"],"s,d,d,s":["曾外曾外孫"],"s,d,d,s,w":["曾外曾外孫媳婦"],"s,d,d,d":["曾外曾外孫女"],"s,d,d,d,h":["曾外曾外孫女婿"],d:["女兒","千金","小姐","掌上明珠","息女","閨女","囡囡","囡女","囡兒","乖囡","囡嗯","丫頭","姑娘","妮子","女親","長女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爺","姑爺兒","女婿子","女婿兒","兒婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿兒","囝婿","囡婿","東床","半子","甥館","女夫"],"d,h,f":["親家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["親家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孫"],"d,h,xb,d":["姻侄孫女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孫"],"d,h,xs,d":["姻侄外孫女"],"d,s":["外孫","外孫子","外孫兒"],"d,s,w":["外孫媳婦","外孫婦","外孫新婦"],"d,s,s":["外曾孫","重外孫","外息仔"],"d,s,s,w":["外曾孫媳婦","外曾孫婦"],"d,s,s,s":["外玄孫","外元孫","外膀孫"],"d,s,s,s,w":["外玄孫媳婦"],"d,s,s,d":["外玄孫女","外元孫女","外膀孫女"],"d,s,s,d,h":["外玄孫女婿"],"d,s,d":["外曾孫女","重外孫女","外息女"],"d,s,d,h":["外曾孫女婿","重外孫女婿"],"d,s,d,s":["外玄外孫"],"d,s,d,s,w":["外玄外孫媳婦"],"d,s,d,d":["外玄外孫女"],"d,s,d,d,h":["外玄外孫女婿"],"d,d":["外孫女","外孫囡","外孫女兒"],"d,d,h":["外孫女婿","外孫婿","外孫郎"],"d,d,s":["外曾外孫","外息仔"],"d,d,s,w":["外曾外孫媳婦"],"d,d,s,s":["外曾外曾孫"],"d,d,s,s,w":["外曾外曾孫媳婦"],"d,d,s,d":["外曾外曾孫女"],"d,d,s,d,h":["外曾外曾孫女婿"],"d,d,d":["外曾外孫女","外息女"],"d,d,d,h":["外曾外孫女婿"],"d,d,d,s":["外曾外曾外孫"],"d,d,d,s,w":["外曾外曾外孫媳婦"],"d,d,d,d":["外曾外曾外孫女"],"d,d,d,d,h":["外曾外曾外孫女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["從男","從子"],"1,xb,s,s":["從孫"],"1,xb,s,s,s":["從曾孫"],"1,xb,s,s,s,s":["從玄孫"],"1,xb,s,w":["從婦"],"1,xb,d":["從女","從子"],"1,xb,d,h":["從婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["離孫男","離孫子"],"1,xs,s,d":["離孫女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["歸孫男","歸孫子"],"0,xb,s,d":["歸孫女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","從男","從子"],"0,xs,s,w":["從婦"],"0,xs,d":["姨甥女","從女","從子"],"0,xs,d,h":["從婿"],"0,xs,s,s":["姨甥孫","姨孫","姨甥孫男","姨孫男"],"0,xs,s,d":["姨甥孫女","姨孫女"],"0,xs,d,s":["姨甥外孫","姨外孫","姨甥外孫男","姨外孫男"],"0,xs,d,d":["姨甥外孫女","姨外孫女"]};let o=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爺"],"[f|m],[f|m],f,ob":["伯太老爺"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爺"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爺"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爺"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爺"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺","祖爺爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f|m],[f|m],[f|m]":["曾祖輩","祖祖","老太","阿太"],"[f|m],[f|m]":["祖輩"],"[f|m],f":["老爺"],"[f|m],f,ob":["伯老爺"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爺"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爺"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爺"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爺"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爺爺","舅姑爺"],"f,[f|m]":["祖父母","爺爺奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","從父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爺","老姥爺"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爺"],"m,f,[f,xs|m,xb],s":["舅姑姥爺"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","從母兄弟姐妹"],"[f|m]":["父母","爹娘","爹媽","爸媽","爸爸媽媽","父母親","雙親","二親","兩親","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑嬸","姑舅嬸"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["兩姨爸"],"[f|m],m,xs,s&o,w":["兩姨姆"],"[f|m],m,xs,s&l,w":["兩姨嬸"],"[f|m],m,xs,d":["兩姨娘娘"],"w,[f|m]":["嶽父母","嶽父嶽母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯嶽父母"],"w,f,[lb|lb,w]":["叔嶽父母"],"w,f,[xs|xs,h]":["姑嶽父母"],"w,m,[xb|xb,w]":["舅嶽父母"],"w,m,[xs|xs,h]":["姨嶽父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅連襟","姑舅連橋"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","親兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳婦","兄弟婦"],"[os|ls]":["姐妹","親姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["從兄弟姐妹","從姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅兒子"],"[f,xs|m,xb],s,d":["姑舅女兒"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻兒","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","兒女","小孩","孩子","孩子們","孩兒","小孩兒","寶寶","寶貝","娃","娃子","兒輩","子輩","細伢","伢子","子息","子嗣","崽","幺兒"],"[s|d],[s|d]":["孫輩","孫息","孫枝"],"s,[s|d]":["孫子女"],"d,[s|d]":["外孫子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["兒孫","子孫","孫息"],"[s,w|d,h],[f|m]":["親家","兒女親家"],"[s,w|d,h],f":["親家公","親家父","親家翁","親家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄婦"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟婦"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄婦"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄婦"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟婦"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄婦"],"[s,w|d,h],m":["親家母","親家婆","親家姆","親姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄婦"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟婦"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),e=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f);if(!["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)))){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=o[l]||[]),x[l]=s.concat(x[l])}}}return x},t={};for(let s in l){t[s]={};for(let f in l[s])-1==f.indexOf("]")&&(t[s][f]=l[s][f])}let r={};for(let s in l){r[s]={};for(let f in l[s])f.indexOf("]")>-1&&N(f).forEach((function(x){r[s][x]=l[s][f]}))}o=Object.assign({},o,e(t,M),e(r,M));for(let s in w)o[s]=[].concat(w[s],o[s]||[]);o.o=["passer-by.com","作者"];const G={w:["妻","內","嶽","嶽家","丈人"],h:["夫","外","公","婆家","婆婆"]};let c=new Set(Object.values(o).flat());for(let s in o)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in G){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&o[s])continue}o[x]||(o[x]=[]);let d=G[f],m=o[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;c.has(d)||o[x].push(d)}))}))}var n=o;let a={},p=Object.assign({},n);function i(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),M=l.join(",");return M+(W(M)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function $(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function W(s){let f={f:1,m:1,s:-1,d:-1},x=0;return s.split(",").forEach((function(s){let d=s.replace(/&[ol\d]+/,"");x+=f[d]||0})),x}function u(s){let f=[],x=function(s){let f=[],x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");return p[x]&&p[d]?f=[x,d]:p[s]&&(f=[s]),$(f).map((function(s){return p[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(m[x]+"十").replace("一十","十"):"")+m[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),p[s]){let d="";W(s)<3&&!s.match(/[hw],/)?(p[s].forEach((function(s){!d&&s.includes("幾")&&(d=s.replace("幾",x))})),d||(d=p[s][0].match(/^[大小]/)?p[s][0].replace(/^[大小]/,x):x+p[s][0])):d=p[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let g=Object.assign({},p,{xb:["兄弟"],xs:["姐妹"]});function E(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return g[f][0]})).join("的");return f&&f>-1&&g[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let j=Object.assign({},p,{"f,xb":["伯叔父","幾爸爸","幾爸","幾爹"],"f,xb,w":["伯叔母","幾媽媽","幾媽","幾娘"],"h,xb":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","嬸子"]}),S={};for(let s in j)j[s].forEach((function(f){void 0===S[f]&&(S[f]=[]),S[f].push(s)}));let O=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+o?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+w<+o&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),M=b[h].match(/([xol])[bs]/),w=l?l[1]:"",o=M?M[1]:"","x"==w||"x"==o)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}};function y(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆嶽親]家的?(孩子|兒子|女兒)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|媽|母)?家的?/,"姨")).split("的"),m=[],h=!0;for(;f.length;){let s=f.shift(),l=[],M=[s],w=function(s){x.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(M.push(d),w(d))}))}));for(let f in d){let x=s.replace(f,d[f]),m=s.replace(d[f],f);x!=s&&M.push(x),m!=s&&M.push(m)}};w(s);let o=[[],[],[]];M.forEach((function(s){let f=(s=s.replace(/^[尕幺細滿碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"幾"),d=s.replace(f[0],""),m=b(f[0]);[x,d,s].forEach((function(s,f){let x=S[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[從世]/)||o[f].push(d)}))}))}l=l.concat(S[s]||[])})),o.forEach((function(s){l.length||(l=s)})),l.length||(h=!1);let e=[];m.length||(m=[""]),m.forEach((function(s){l.forEach((function(f){e.push(s+(f?","+f:""))}))})),m=e}return h?$(m):[]}function N(s){let x=[],d={},m=function(s){let b="";if(!d[s]){d[s]=!0;do{b=s;for(let x of f)if((s=s.replace(x.exp,x.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;x.push(s)}};return m(s),x}function v(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=N(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return $(x)}let k=function(f){"string"==typeof f&&(f=function(f){for(let x of s){let s=f.match(x.exp);if(s)return x.opt(s)}return{}}(f));let x=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},f);!function(s){if(p=Object.assign({},n),s&&a[s])for(let f in a[s])p[f]=[].concat(a[s][f],n[f]||[])}(x.mode);let d=y(x.text),m=y(x.target);m.length||(m=[""]);let b=[];return d.forEach((function(s){m.forEach((function(f){(function(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=v(s.from,d),b=v(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=O({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?i(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h})({from:s,to:f,sex:x.sex,optimal:x.optimal}).forEach((function(s){(s?v(s.selector,s.sex):[]).forEach((function(f){let d=[f],m=s.sex;x.reverse&&(d=i(f,m),m=f.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==x.type?d.forEach((function(f){let x=E(f,s.sex);x&&b.push(x)})):"pair"==x.type?(d=i(f,s.sex),d.forEach((function(s){let x=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),l=f.replace(/([ol])([bs])/,"x$2"),M=s.replace(/&[ol]/,""),w=f.replace(/&[ol]/,"");for(let o in h){let e=o.split("#");if(e.length>1){let t=v(e[0]),r=v(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(h[o][0]),(G.includes(b)&&c.includes(l)||G.includes(l)&&c.includes(b))&&d.push(h[o][0]),(G.includes(M)&&c.includes(w)||G.includes(w)&&c.includes(M))&&m.push(h[o][0])}}return x.length||(x=d),x.length||(x=m),x}(f,s);b=b.concat(x)}))):d.forEach((function(s){let f=u(s);f.length||(f=u(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};return k.data=p,k.dataCount=Object.keys(p).length,k.setMode=function(s,f){a[s]=Object.assign(a[s]||{},f)},k})); +!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";function s(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1?"default":"chain"}}},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:function(s){return{text:s[3],target:s[1]}}},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:function(s){return{text:s[1],target:s[3],type:"pair"}}},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:function(s){return{text:s[1],target:s[2],type:"chain"}}},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:function(s){return{text:s[1],type:"chain"}}},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:function(s){return{text:s[1]}}},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:function(s){return{text:s[1]}}},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:function(s){return{text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"}}}];function m(s,f){var x="undefined"!=typeof Symbol&&s[Symbol.iterator]||s["@@iterator"];if(!x){if(Array.isArray(s)||(x=function(s,f){if(!s)return;if("string"==typeof s)return b(s,f);var x=Object.prototype.toString.call(s).slice(8,-1);"Object"===x&&s.constructor&&(x=s.constructor.name);if("Map"===x||"Set"===x)return Array.from(s);if("Arguments"===x||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x))return b(s,f)}(s))||f&&s&&"number"==typeof s.length){x&&(s=x);var d=0,m=function(){};return{s:m,n:function(){return d>=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:m}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,r=!0,e=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return r=s.done,s},e:function(s){e=!0,o=s},f:function(){try{r||null==x.return||x.return()}finally{if(e)throw o}}}}function b(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1&&P(f).forEach((function(x){p[s][x]=w[s][f]}))};for(var x in w[s])f(x)};for(var W in w)$(W);for(var v in a=Object.assign({},a,c(i,M),c(p,M)),n)a[v]=[].concat(n[v],a[v]||[]);a.o=["passer-by.com","作者"];var g={w:["妻","內","嶽","嶽家","丈人"],h:["夫","外","公","婆家","婆婆"]},y=new Set(Object.values(a).flat());for(var S in a)if(S.match(/^[fm]/)||S.match(/^[olx][bs]$|^[olx][bs],[^mf]/)){var j=function(){var s=E+","+S;if(S.match(/[fm]/)){var f=s.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(f!=s&&a[f])return"continue"}a[s]||(a[s]=[]);var x=g[E],d=a[S];x.forEach((function(f){d.forEach((function(x){var d=f+x;y.has(d)||a[s].push(d)}))}))};for(var E in g)j()}var O=a,A={},N=Object.assign({},O);function I(s,f){var x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));var m=[],b=function(f){var m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);var b=s.split(",").reverse(),o=m.split(",").reverse(),r=b.map((function(s,f){return x[s][o[f]]})),e=r.join(",");return e+(C(e)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function T(s){var f=s.filter((function(s){return s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")}));return s.filter((function(s){var x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter((function(s,f,x){return x.indexOf(s)===f}))}function C(s){var f={f:1,m:1,s:-1,d:-1},x=0;return s.split(",").forEach((function(s){var d=s.replace(/&[ol\d]+/,"");x+=f[d]||0})),x}function k(s){var f=[],x=function(s){var f=[],x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");return N[x]&&N[d]?f=[x,d]:N[s]&&(f=[s]),T(f).map((function(s){return N[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){var d=function(s){var f="",x={1:"大",99:"小"};if(x[s])f=x[s];else{var d=~~(s/10),m=s%10;f=(d?(t[d]+"十").replace("一十","十"):"")+t[m]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),N[s]){var m="";C(s)<3&&!s.match(/[hw],/)?(N[s].forEach((function(s){!m&&s.includes("幾")&&(m=s.replace("幾",d))})),m||(m=N[s][0].match(/^[大小]/)?N[s][0].replace(/^[大小]/,d):d+N[s][0])):m=N[s][0],f.push(m)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){var b=s.replace(/x/g,"l"),o=s.replace(/x/g,"o");f=f.concat(x(o),x(b))}return f}var U=Object.assign({},N,{xb:["兄弟"],xs:["姐妹"]});function q(s,f){var x=s.split(",").map((function(s){var f=s.replace(/&[ol\d]+/,"");return U[f][0]})).join("的");return f&&f>-1&&U[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}var z=Object.assign({},N,{"f,xb":["伯叔父","幾爸爸","幾爸","幾爹"],"f,xb,w":["伯叔母","幾媽媽","幾媽","幾娘"],"h,xb":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","嬸子"]}),B={},D=function(s){z[s].forEach((function(f){void 0===B[f]&&(B[f]=[]),B[f].push(s)}))};for(var F in z)D(F);function H(s,f){var x="undefined"!=typeof Symbol&&s[Symbol.iterator]||s["@@iterator"];if(!x){if(Array.isArray(s)||(x=function(s,f){if(!s)return;if("string"==typeof s)return J(s,f);var x=Object.prototype.toString.call(s).slice(8,-1);"Object"===x&&s.constructor&&(x=s.constructor.name);if("Map"===x||"Set"===x)return Array.from(s);if("Arguments"===x||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x))return J(s,f)}(s))||f&&s&&"number"==typeof s.length){x&&(s=x);var d=0,m=function(){};return{s:m,n:function(){return d>=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:m}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var b,o=!0,r=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return o=s.done,s},e:function(s){r=!0,b=s},f:function(){try{o||null==x.return||x.return()}finally{if(r)throw b}}}}function J(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=new Array(f);x-1)d=m;else if(b>-1&&-1==m)d=b;else{if(b!=m)return[];d=b}}var o=Q(s.from,d),r=Q(s.to,d);if(!o.length||!r.length)return[];var e=[];return o.forEach((function(f){r.forEach((function(x){var m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){var o=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(o=!0),o){var r=function(s){for(var f=s.from,x=s.to,d=s.sex,m=s.from.split(","),b=s.to.split(","),o=0;o+t?m[o]=m[o].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+h<+t&&(m[o]=m[o].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(o).join(","),x=b.slice(o+1).join(","),d=b[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(r=m[o].match(/([xol])[bs]/),e=b[o].match(/([xol])[bs]/),h=r?r[1]:"",t=e?e[1]:"","x"==h||"x"==t)){f=m.slice(o+1).join(","),x=b.slice(o+1).join(","),d=m[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(o+1).join(","),x=b.slice(o+1).join(","),d=m[o].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}}({from:f,to:x,sex:d,optimal:s.optimal});f=r.from,x=r.to,d=r.sex}}(x?I(x,d):[""]).forEach((function(s){var x=(s?","+s:"")+(f?","+f:"");e.push({selector:x,sex:m})}))}))})),e}function P(s){var f=[],x={};return function s(d){var m="";if(!x[d]){x[d]=!0;do{m=d;var b,r=H(o);try{for(r.s();!(b=r.n()).done;){var e=b.value;if((d=d.replace(e.exp,e.str)).includes("#"))return d.split("#").forEach(s),!1}}catch(s){r.e(s)}finally{r.f()}}while(m!=d);if(d.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;f.push(d)}}(s),f}function Q(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];var x=P(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return T(x)}var R=function(s){"string"==typeof s&&(s=function(s){var f,x=m(d);try{for(x.s();!(f=x.n()).done;){var b=f.value,o=s.match(b.exp);if(o)return b.opt(o)}}catch(s){x.e(s)}finally{x.f()}return{}}(s));var f=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},s);!function(s){if(N=Object.assign({},O),s&&A[s])for(var f in A[s])N[f]=[].concat(A[s][f],O[f]||[])}(f.mode);var b=K(f.text),o=K(f.target);o.length||(o=[""]);var r=[];return b.forEach((function(s){o.forEach((function(x){L({from:s,to:x,sex:f.sex,optimal:f.optimal}).forEach((function(s){(s?Q(s.selector,s.sex):[]).forEach((function(x){var d=[x],m=s.sex;f.reverse&&(d=I(x,m),m=x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==f.type?d.forEach((function(f){var x=q(f,s.sex);x&&r.push(x)})):"pair"==f.type?(d=I(x,s.sex)).forEach((function(s){var f=function(s,f){var x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");var b=s.replace(/([ol])([bs])/,"x$2"),o=f.replace(/([ol])([bs])/,"x$2"),r=s.replace(/&[ol]/,""),e=f.replace(/&[ol]/,"");for(var h in l){var t=h.split("#");if(t.length>1){var w=Q(t[0]),M=Q(t[1]),n=w.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),a=M.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(w.includes(s)&&M.includes(f)||w.includes(f)&&M.includes(s))&&x.push(l[h][0]),(n.includes(b)&&a.includes(o)||n.includes(o)&&a.includes(b))&&d.push(l[h][0]),(n.includes(r)&&a.includes(e)||n.includes(e)&&a.includes(r))&&m.push(l[h][0])}}return x.length||(x=d),x.length||(x=m),x}(x,s);r=r.concat(f)})):d.forEach((function(s){var f=k(s);f.length||(f=k(m+","+s)),r=r.concat(f)}))}))}))}))})),x(new Set(r))};return R.data=N,R.dataCount=Object.keys(N).length,R.setMode=function(s,f){A[s]=Object.assign(A[s]||{},f)},R})); diff --git a/gulpfile.js b/gulpfile.js index b3c9abb..f418379 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,6 +3,8 @@ const rename = require("gulp-rename"); const cht = require('gulp-cht'); const rollup = require('rollup'); const terser = require('@rollup/plugin-terser'); +const resolve = require('@rollup/plugin-node-resolve'); +const babel = require('@rollup/plugin-babel'); const pkg = require('./package'); // copyright @@ -26,7 +28,12 @@ gulp.task('build', () => { return rollup.rollup({ input: './src/relationship.js', plugins: [ - terser() + terser(), + resolve(), + babel({ + babelHelpers: 'runtime', + exclude:'node_modules/**' + }) ] }).then(bundle => { return bundle.write({ @@ -42,7 +49,12 @@ gulp.task('mode', () => { return rollup.rollup({ input: './src/relationship-mode.js', plugins: [ - terser() + terser(), + resolve(), + babel({ + babelHelpers: 'runtime', + exclude:'node_modules/**' + }) ] }).then(bundle => { return bundle.write({ diff --git a/package-lock.json b/package-lock.json index 6052f86..16bfa0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,18 +9,1732 @@ "version": "1.2.3", "license": "MIT", "devDependencies": { - "@rollup/plugin-terser": "^0.4.0", + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/runtime": "^7.22.6", + "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-node-resolve": "^15.1.0", + "@rollup/plugin-terser": "^0.4.1", "gulp": "^4.0.2", "gulp-cht": "^2.0.20", "gulp-rename": "^2.0.0", - "rollup": "^3.18.0", + "rollup": "^3.20.2", "tape": "^5.3.1" } }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", + "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", + "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", + "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", + "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", + "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", + "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.7", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.6", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -50,9 +1764,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -60,30 +1774,87 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz", - "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==", + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", "dev": true, "dependencies": { - "serialize-javascript": "^6.0.0", - "smob": "^0.0.6", - "terser": "^5.15.1" + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", + "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", + "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { "node": ">=14.0.0" @@ -97,10 +1868,44 @@ } } }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -142,6 +1947,18 @@ "node": ">=0.10.0" } }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", @@ -416,6 +2233,45 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", @@ -522,6 +2378,38 @@ "node": ">=0.10.0" } }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, "node_modules/buffer-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", @@ -540,6 +2428,18 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -582,6 +2482,40 @@ "node": ">=0.10.0" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001517", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz", + "integrity": "sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -776,6 +2710,21 @@ "node": ">=0.10.0" } }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -843,6 +2792,19 @@ "is-plain-object": "^5.0.0" } }, + "node_modules/core-js-compat": { + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", + "integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.9" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -859,6 +2821,23 @@ "type": "^1.0.1" } }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -911,6 +2890,15 @@ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -1025,6 +3013,12 @@ "node": ">=0.10.0" } }, + "node_modules/electron-to-chromium": { + "version": "1.4.467", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.467.tgz", + "integrity": "sha512-2qI70O+rR4poYeF2grcuS/bCps5KJh6y1jtZMDDEteyKJQrzLOEhFyXCLcHW6DTBjKjWkk26JhWoAi+Ux9A0fg==", + "dev": true + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1195,6 +3189,39 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1609,6 +3636,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -1774,6 +3810,15 @@ "node": ">=0.10.0" } }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -1930,6 +3975,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", @@ -2208,6 +4262,21 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -2342,6 +4411,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", @@ -2600,12 +4675,42 @@ "node": ">=0.10.0" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/just-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", @@ -2717,6 +4822,21 @@ "node": ">=0.10.0" } }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -2929,6 +5049,12 @@ "node": ">=0.10.0" } }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", @@ -3019,6 +5145,12 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3423,6 +5555,24 @@ "node": ">=0.10.0" } }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -3575,6 +5725,39 @@ "node": ">= 0.10" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -3642,6 +5825,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", @@ -3799,9 +6020,9 @@ } }, "node_modules/rollup": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", - "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -3857,6 +6078,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/semver-greatest-satisfied-range": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", @@ -3926,9 +6156,9 @@ } }, "node_modules/smob": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz", - "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", + "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "node_modules/snapdragon": { @@ -4440,6 +6670,18 @@ "node": ">=0.10.0" } }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -4515,13 +6757,13 @@ } }, "node_modules/terser": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", - "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -4580,6 +6822,15 @@ "node": ">=0.10.0" } }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -4761,6 +7012,46 @@ "node": ">= 0.10" } }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -4844,6 +7135,36 @@ "yarn": "*" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -5075,6 +7396,12 @@ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/yargs": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", @@ -5108,10 +7435,1183 @@ } }, "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true + }, + "@babel/core": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", + "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", + "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helpers": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" + } + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", + "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", + "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", + "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "semver": "^6.3.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", + "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.7", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.6", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-modules": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -5132,9 +8632,9 @@ "dev": true }, "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -5142,36 +8642,91 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@rollup/plugin-babel": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + } + }, + "@rollup/plugin-node-resolve": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", + "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" } }, "@rollup/plugin-terser": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz", - "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", + "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", "dev": true, "requires": { - "serialize-javascript": "^6.0.0", - "smob": "^0.0.6", - "terser": "^5.15.1" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" } }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, "ansi-colors": { @@ -5198,6 +8753,15 @@ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", @@ -5397,6 +8961,36 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, "bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", @@ -5490,6 +9084,18 @@ "to-regex": "^3.0.1" } }, + "browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, "buffer-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", @@ -5502,6 +9108,12 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -5535,6 +9147,23 @@ "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "dev": true }, + "caniuse-lite": { + "version": "1.0.30001517", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz", + "integrity": "sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -5696,6 +9325,21 @@ "object-visit": "^1.0.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -5754,6 +9398,15 @@ "is-plain-object": "^5.0.0" } }, + "core-js-compat": { + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", + "integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", + "dev": true, + "requires": { + "browserslist": "^4.21.9" + } + }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -5770,6 +9423,15 @@ "type": "^1.0.1" } }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -5815,6 +9477,12 @@ } } }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, "default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -5904,6 +9572,12 @@ } } }, + "electron-to-chromium": { + "version": "1.4.467", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.467.tgz", + "integrity": "sha512-2qI70O+rR4poYeF2grcuS/bCps5KJh6y1jtZMDDEteyKJQrzLOEhFyXCLcHW6DTBjKjWkk26JhWoAi+Ux9A0fg==", + "dev": true + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6054,6 +9728,30 @@ "es6-symbol": "^3.1.1" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -6397,6 +10095,12 @@ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -6528,6 +10232,12 @@ "which": "^1.2.14" } }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, "globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -6645,6 +10355,12 @@ "get-intrinsic": "^1.1.1" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, "has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", @@ -6855,6 +10571,15 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -6951,6 +10676,12 @@ "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", @@ -7133,12 +10864,30 @@ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, "just-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", @@ -7228,6 +10977,21 @@ "strip-bom": "^2.0.0" } }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -7397,6 +11161,12 @@ } } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", @@ -7471,6 +11241,12 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -7782,6 +11558,18 @@ "pinkie-promise": "^2.0.0" } }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -7907,6 +11695,36 @@ "resolve": "^1.1.6" } }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -7958,6 +11776,37 @@ "functions-have-names": "^1.2.2" } }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, "remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", @@ -8078,9 +11927,9 @@ "dev": true }, "rollup": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", - "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -8121,6 +11970,12 @@ "is-regex": "^1.1.4" } }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, "semver-greatest-satisfied-range": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", @@ -8180,9 +12035,9 @@ } }, "smob": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz", - "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", + "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "snapdragon": { @@ -8610,6 +12465,15 @@ "is-utf8": "^0.2.0" } }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -8669,13 +12533,13 @@ } }, "terser": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", - "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" } @@ -8722,6 +12586,12 @@ "is-negated-glob": "^1.0.0" } }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -8868,6 +12738,34 @@ "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", "dev": true }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -8936,6 +12834,16 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -9126,6 +13034,12 @@ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "yargs": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", diff --git a/package.json b/package.json index 9c5206f..4be0f1a 100644 --- a/package.json +++ b/package.json @@ -23,11 +23,18 @@ "url": "https://github.com/mumuy/relationship/issues" }, "devDependencies": { - "@rollup/plugin-terser": "^0.4.0", + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/runtime": "^7.22.6", + "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-node-resolve": "^15.1.0", + "@rollup/plugin-terser": "^0.4.1", "gulp": "^4.0.2", "gulp-cht": "^2.0.20", "gulp-rename": "^2.0.0", - "rollup": "^3.18.0", + "rollup": "^3.20.2", "tape": "^5.3.1" }, "scripts": { diff --git a/src/module/data/main.js b/src/module/data/main.js index 0f1943e..4367a76 100644 --- a/src/module/data/main.js +++ b/src/module/data/main.js @@ -261,7 +261,7 @@ export default { 'lb,w':['弟妹','弟媳','弟媳妇','弟媳妇子','弟新妇','老弟嫂'], 'lb,s':['侄子','弟子'], 'lb,d':['侄女','弟女'], - 'xb,s':['侄子','侄男','嫡侄','侄儿','侄儿子','侄','侄仔','阿侄'], + 'xb,s':['侄子','侄男','嫡侄','侄儿','侄儿子','侄','侄仔','阿侄','老侄'], 'xb,s,w':['侄媳妇','侄媳','侄嫂','侄妇'], 'xb,d':['侄女','侄囡','侄女儿','侄闺女'], 'xb,d,h':['侄女婿','侄婿','侄郎'], diff --git a/src/module/data/prefix.js b/src/module/data/prefix.js index 93f31d7..a638703 100644 --- a/src/module/data/prefix.js +++ b/src/module/data/prefix.js @@ -51,7 +51,7 @@ export default { 'f,m,xb,s&l':['舅表叔'], 'f,m,xs,s&o':['姨伯','从母伯','从伯'], 'f,m,xs,s&l':['姨叔','从母叔','从叔'], - 'm,f,xb,s':['堂舅','从父舅'], + 'm,f,xb,s':['堂舅','从父舅','叔伯舅'], 'm,f,xs,s':['姑表舅'], 'm,m,xb,s':['舅表舅'], 'm,m,xs,s':['姨舅','从母舅'], @@ -70,7 +70,7 @@ export default { 'f,f,xs,d':['姑表姑'], 'f,m,xb,d':['舅表姑'], 'f,m,xs,d':['姨姑','从母姑'], - 'm,f,xb,d':['堂姨','从父姨'], + 'm,f,xb,d':['堂姨','从父姨','叔伯姨'], 'm,f,xs,d':['姑表姨'], 'm,m,xb,d':['舅表姨'], 'm,m,xs,d':['姨姨','从母姨'], @@ -110,24 +110,24 @@ export default { 'f,f,xb,s,w':['从父叔眷'], 'f,f,xs,s,w':['姑表叔眷'], 'f,m,xb,s,w':['舅表叔眷'], - 'f,m,xs,s,w':['姨表叔眷'], + 'f,m,xs,s,w':['从母叔眷'], 'm,xb,w':['舅眷'], 'm,f,xb,s,w':['从父舅眷'], 'm,f,xs,s,w':['姑表舅眷'], 'm,m,xb,s,w':['舅表舅眷'], - 'm,m,xs,s,w':['姨表舅眷'], + 'm,m,xs,s,w':['从母舅眷'], }, '{M1M}':{ 'f,xs,h':['姑姻'], 'f,f,xb,d,h':['从父姑姻'], 'f,f,xs,d,h':['姑表姑姻'], 'f,m,xb,d,h':['舅表姑姻'], - 'f,m,xs,d,h':['姨表姑姻'], + 'f,m,xs,d,h':['从母姑姻'], 'm,xs,h':['姨姻'], 'm,f,xb,d,h':['从父姨姻'], 'm,f,xs,d,h':['姑表姨姻'], 'm,m,xb,d,h':['舅表姨姻'], - 'm,m,xs,d,h':['姨表姨姻'], + 'm,m,xs,d,h':['从母姨姻'], }, '{M0}':{ 'xb,w':['兄弟眷'],