From ecc1433b379cae5cdd49dde30a7330cc59aa8989 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 24 Sep 2024 22:08:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/config.mts | 20 +++++- docs/UIAvatar.md | 53 +++++++------- docs/UIBattery.md | 37 ++++++++++ docs/UIBreadcrumb.md | 27 ++++++++ docs/UIButton.md | 49 +++++++++++++ docs/UICheckBox.md | 40 +++++++++++ docs/UICheckBoxGroup.md | 67 ++++++++++++++++++ docs/UIForm.md | 29 ++++---- docs/UIGroupBox.md | 34 +++++++++ docs/UILabel.md | 22 ++++++ docs/UILedDisplay.md | 35 ++++++++++ docs/UILedLabel.md | 25 +++++++ docs/UILedStopwatch.md | 44 ++++++++++++ docs/UILinkLabel.md | 25 +++++++ docs/UILoginForm.md | 23 ++++--- docs/UIMarkLabel.md | 27 ++++++++ docs/UIPanel.md | 32 +++++++++ docs/UIRadioButton.md | 47 +++++++++++++ docs/UIRadioButtonGroup.md | 63 +++++++++++++++++ docs/UISwitch.md | 42 +++++++++++ docs/UISymbolButton.md | 92 +++++++++++++++++++++++++ docs/UISymbolLabel.md | 39 +++++++++++ docs/UITitlePanel.md | 44 ++++++++++++ docs/assets/092842_9c0a202e_416720.png | Bin 0 -> 599 bytes docs/assets/093235_dd7f180f_416720.png | Bin 0 -> 871 bytes docs/assets/094934_cd27df88_416720.png | Bin 0 -> 757 bytes docs/assets/100744_1b3a73c1_416720.png | Bin 0 -> 839 bytes docs/assets/134446_6fedb531_416720.png | Bin 0 -> 1436 bytes docs/assets/142324_0224b4ba_416720.png | Bin 0 -> 1638 bytes docs/assets/142752_85484bd2_416720.png | Bin 0 -> 1992 bytes docs/assets/142906_320a5458_416720.png | Bin 0 -> 2619 bytes docs/assets/144220_8ad058b3_416720.png | Bin 0 -> 819 bytes docs/assets/150025_5481ef83_416720.png | Bin 0 -> 927 bytes docs/assets/151625_77c07059_416720.png | Bin 0 -> 1437 bytes docs/assets/153157_f15c5d08_416720.png | Bin 0 -> 1554 bytes docs/assets/154242_cb2fc9c4_416720.png | Bin 0 -> 2437 bytes docs/assets/212642_04b86c8c_416720.png | Bin 0 -> 1019 bytes docs/assets/213244_e2fcb212_416720.png | Bin 0 -> 2778 bytes docs/assets/213636_ee4259fe_416720.png | Bin 0 -> 22839 bytes docs/assets/213728_8aa2cb69_416720.png | Bin 0 -> 1450 bytes docs/assets/214035_21305f5f_416720.png | Bin 0 -> 1047 bytes docs/assets/214220_cbd9f247_416720.png | Bin 0 -> 1411 bytes docs/assets/215716_1239d541_416720.png | Bin 0 -> 1752 bytes docs/assets/220321_fa55106f_416720.png | Bin 0 -> 782 bytes docs/assets/220423_22aa1962_416720.png | Bin 0 -> 967 bytes docs/assets/232533_5e3bba9d_416720.png | Bin 0 -> 653 bytes docs/assets/232638_fd30df5f_416720.png | Bin 0 -> 4041 bytes docs/assets/232755_71dc172b_416720.png | Bin 0 -> 1570 bytes docs/assets/232813_0ae7f901_416720.png | Bin 0 -> 1160 bytes docs/assets/233007_095707ff_416720.png | Bin 0 -> 1938 bytes docs/assets/234550_c1e8282f_416720.png | Bin 15979 -> 4153 bytes 51 files changed, 866 insertions(+), 50 deletions(-) create mode 100644 docs/UIBattery.md create mode 100644 docs/UIBreadcrumb.md create mode 100644 docs/UIButton.md create mode 100644 docs/UICheckBox.md create mode 100644 docs/UICheckBoxGroup.md create mode 100644 docs/UIGroupBox.md create mode 100644 docs/UILabel.md create mode 100644 docs/UILedDisplay.md create mode 100644 docs/UILedLabel.md create mode 100644 docs/UILedStopwatch.md create mode 100644 docs/UILinkLabel.md create mode 100644 docs/UIMarkLabel.md create mode 100644 docs/UIPanel.md create mode 100644 docs/UIRadioButton.md create mode 100644 docs/UIRadioButtonGroup.md create mode 100644 docs/UISwitch.md create mode 100644 docs/UISymbolButton.md create mode 100644 docs/UISymbolLabel.md create mode 100644 docs/UITitlePanel.md create mode 100644 docs/assets/092842_9c0a202e_416720.png create mode 100644 docs/assets/093235_dd7f180f_416720.png create mode 100644 docs/assets/094934_cd27df88_416720.png create mode 100644 docs/assets/100744_1b3a73c1_416720.png create mode 100644 docs/assets/134446_6fedb531_416720.png create mode 100644 docs/assets/142324_0224b4ba_416720.png create mode 100644 docs/assets/142752_85484bd2_416720.png create mode 100644 docs/assets/142906_320a5458_416720.png create mode 100644 docs/assets/144220_8ad058b3_416720.png create mode 100644 docs/assets/150025_5481ef83_416720.png create mode 100644 docs/assets/151625_77c07059_416720.png create mode 100644 docs/assets/153157_f15c5d08_416720.png create mode 100644 docs/assets/154242_cb2fc9c4_416720.png create mode 100644 docs/assets/212642_04b86c8c_416720.png create mode 100644 docs/assets/213244_e2fcb212_416720.png create mode 100644 docs/assets/213636_ee4259fe_416720.png create mode 100644 docs/assets/213728_8aa2cb69_416720.png create mode 100644 docs/assets/214035_21305f5f_416720.png create mode 100644 docs/assets/214220_cbd9f247_416720.png create mode 100644 docs/assets/215716_1239d541_416720.png create mode 100644 docs/assets/220321_fa55106f_416720.png create mode 100644 docs/assets/220423_22aa1962_416720.png create mode 100644 docs/assets/232533_5e3bba9d_416720.png create mode 100644 docs/assets/232638_fd30df5f_416720.png create mode 100644 docs/assets/232755_71dc172b_416720.png create mode 100644 docs/assets/232813_0ae7f901_416720.png create mode 100644 docs/assets/233007_095707ff_416720.png diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 2fa227c6..97bead6e 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -49,7 +49,25 @@ export default defineConfig({ collapsed: true, items: [ { text: 'UIAvatar', link: '/UIAvatar' }, - { text: 'UILoginForm', link: '/UILoginForm' } + { text: 'UIBattery', link: '/UIBattery' }, + { text: 'UIBreadcrumb', link: '/UIBreadcrumb' }, + { text: 'UIButton', link: '/UIButton' }, + { text: 'UICheckBox', link: '/UICheckBox' }, + { text: 'UICheckBoxGroup', link: '/UICheckBoxGroup' }, + { text: 'UIGroupBox', link: '/UIGroupBox' }, + { text: 'UILabel', link: '/UILabel' }, + { text: 'UILedDisplay', link: '/UILedDisplay' }, + { text: 'UILedLabel', link: '/UILedLabel' }, + { text: 'UILedStopwatch', link: '/UILedStopwatch' }, + { text: 'UILinkLabel', link: '/UILinkLabel' }, + { text: 'UIMarkLabel', link: '/UIMarkLabel' }, + { text: 'UIPanel', link: '/UIPanel' }, + { text: 'UIRadioButton', link: '/UIRadioButton' }, + { text: 'UIRadioButtonGroup', link: '/UIRadioButtonGroup' }, + { text: 'UISwitch', link: '/UISwitch' }, + { text: 'UISymbolButton', link: '/UISymbolButton' }, + { text: 'UISymbolLabel', link: '/UISymbolLabel' }, + { text: 'UITitlePanel', link: '/UITitlePanel' } ] }, { diff --git a/docs/UIAvatar.md b/docs/UIAvatar.md index f438094c..2118e2ad 100644 --- a/docs/UIAvatar.md +++ b/docs/UIAvatar.md @@ -1,3 +1,5 @@ +# UIAvatar +--- - **UIAvatar** 头像 @@ -24,29 +26,32 @@ | TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | | Version | 版本 | string | - | -- 字体图标 -![输入图片说明](https://images.gitee.com/uploads/images/2021/0416/232533_5e3bba9d_416720.png "屏幕截图.png") - 设置Symbol属性 -![输入图片说明](https://images.gitee.com/uploads/images/2021/0127/213545_4603d7c9_416720.png "11.png") -点击Symbol右侧的按钮: -![输入图片说明](https://images.gitee.com/uploads/images/2021/0127/213636_ee4259fe_416720.png "12.png") - [[原创][开源] SunnyUI.Net 字体图标 ](https://www.cnblogs.com/yhuse/p/SunnyUI_FontImage.html)https://www.cnblogs.com/yhuse/p/SunnyUI_FontImage.html
+- 字体图标 + ![输入图片说明](./assets/232533_5e3bba9d_416720.png) -- 主题风格 - **主题** https://gitee.com/yhuse/SunnyUI/wikis/pages?sort_id=3739705&doc_id=1022550
+ + +- Symbol:字体图标(int) + SymbolSize:字体图标的大小(int) + ![enter image description here](./assets/164128_b3ef97c6_416720.png) + + 点击Symbol右侧的按钮: + ![输入图片说明](./assets/04b7d3ee_416720.png) + + 鼠标移到图标上,显示的数字为Symbol字符,点击图标即可设置图标。 + + + +- 显示方式 + 设置Icon属性 + 显示方式:图片(Image)、字体图标(Symbol)、文字(Text) + ![输入图片说明](./assets/232638_fd30df5f_416720.png) -- 主题设置 - 设置Style属性调用系统自带主题,如果需要自定义颜色,就是更改颜色属性后,把控件的Style设置为Custom,StyleCustomMode设置为True - StyleCustomMode就是接受用户自定义颜色的意思。 - -- 显示方式 - 设置Icon属性 - 显示方式:图片(Image)、字体图标(Symbol)、文字(Text) -![输入图片说明](https://images.gitee.com/uploads/images/2021/0416/232638_fd30df5f_416720.png "屏幕截图.png") - -- 显示形状 - 设置Shape属性 - 圆形(Circle): -![输入图片说明](https://images.gitee.com/uploads/images/2021/0416/232755_71dc172b_416720.png "屏幕截图.png") - 方形(Square): -![输入图片说明](https://images.gitee.com/uploads/images/2021/0416/232813_0ae7f901_416720.png "屏幕截图.png") \ No newline at end of file + + +- 显示形状 + 设置Shape属性 + 圆形(Circle): + ![输入图片说明](./assets/232755_71dc172b_416720.png) + 方形(Square): + ![输入图片说明](./assets/232813_0ae7f901_416720.png) \ No newline at end of file diff --git a/docs/UIBattery.md b/docs/UIBattery.md new file mode 100644 index 00000000..530a7423 --- /dev/null +++ b/docs/UIBattery.md @@ -0,0 +1,37 @@ +# UIBattery +--- +- **UIBattery** +电池电量图标 + +- 默认属性:Power +- 默认事件:- +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Power | 电量 | int | 100| +| ForeColor | 默认电量颜色 | Color | - | +| MultiColor | 根据电量显示多种颜色| bool| true| +| ColorEmpty| 电量为空颜色 | Color | - | +| ColorDanger|电量少时颜色 | Color | - | +| ColorSafe| 电量安全颜色 | Color | - | +| FillColor | 填充颜色 | Color | - | +| SymbolSize| 图标大小 | int | 45 | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 默认电量颜色 + MultiColor设置为false时,显示同一色 + ![输入图片说明](./assets/092842_9c0a202e_416720.png) + + + +- 多种电量颜色 + MultiColor设置为true时,根据电量显示多种颜色 + ![输入图片说明](./assets/093235_dd7f180f_416720.png) + 依次为:电量为空颜色,电量少时颜色,电量安全颜色,电量安全颜色,电量安全颜色 + diff --git a/docs/UIBreadcrumb.md b/docs/UIBreadcrumb.md new file mode 100644 index 00000000..7df91768 --- /dev/null +++ b/docs/UIBreadcrumb.md @@ -0,0 +1,27 @@ +# UIBreadcrumb +--- +- **UIBreadcrumb** +面包屑导航条。 + +- 默认属性:ItemIndex +- 默认事件:ItemIndexChanged +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Items |列表项 | ObjectCollection | - | +| ItemIndex |当前节点索引 | int|0 | +| ItemWidth|当前节点宽度索引 | int|120 | +| Interval|节点间隔 | int|1| +| ForeColor | 字体颜色 | Color | - | +| SelectedColor| 已选节点颜色 | Color | - | +| UnSelectedColor| 未选节点颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/134446_6fedb531_416720.png) \ No newline at end of file diff --git a/docs/UIButton.md b/docs/UIButton.md new file mode 100644 index 00000000..4eb911a8 --- /dev/null +++ b/docs/UIButton.md @@ -0,0 +1,49 @@ +# UIButton +--- +- **UIButton** +常用的操作按钮。 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| Selected | 是否选中 | bool | false | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| FillHoverColor | 鼠标移上时填充颜色 | Color | - | +| RectHoverColor | 鼠标移上时边框颜色 | Color | - | +| ForeHoverColor | 鼠标移上时字体颜色 | Color | - | +| FillPressColor | 鼠标按下时填充颜色 | Color | - | +| RectPressColor | 鼠标按下时边框颜色 | Color | - | +| ForePressColor | 鼠标按下时字体颜色 | Color | - | +| FillSelectedColor | 选中时填充颜色 | Color | - | +| ForeSelectedColor | 选中时字体颜色 | Color | - | +| RectSelectedColor | 选中时边框颜色 | Color | - | +| DialogResult | 指定标识符以指示对话框的返回值 | DialogResult | None | +| ShowFocusLine | 显示激活时边框线 | bool | false | +| ShowTips | 是否显示角标 | bool | false | +| TipsText | 角标文字 | string | - | +| TipsFont | 角标文字字体 | Font | - | +| TipsColor | 角标文字颜色 | Color | Red | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | +| UseDoubleClick | 是否启用双击事件 | bool |false | + + + +- 圆角按钮 + ![输入图片说明](./assets/b78a4d3d_416720.png) + 设置Radius和高度一样,例如Size:100,35 Radius:35 diff --git a/docs/UICheckBox.md b/docs/UICheckBox.md new file mode 100644 index 00000000..a44017d0 --- /dev/null +++ b/docs/UICheckBox.md @@ -0,0 +1,40 @@ +# UICheckBox +--- +- **UICheckBox** +复选框。 + +- 默认属性:Checked +- 默认事件:CheckedChanged +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Checked|是否选中 | bool| false| +| Text |获取或设置显示的文本 | string | - | +| AutoSize|自动大小 | bool| true | +| ImageSize|图标大小 | int| 16 | +| ImageInterval|图标与文字之间间隔| int| 3 | +| ReadOnly|是否只读| bool| false | +| ForeColor | 字体颜色 | Color | - | +| CheckBoxColor| 填充颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 事件 + CheckedChanged + public event EventHandler CheckedChanged; + 参数sender:当前控件 + + ValueChanged + public delegate void OnValueChanged(object sender, bool value); + 参数sender:当前控件 + 参数value:选中值,Checked + + + +- 示例 + ![输入图片说明](./assets/142324_0224b4ba_416720.png) \ No newline at end of file diff --git a/docs/UICheckBoxGroup.md b/docs/UICheckBoxGroup.md new file mode 100644 index 00000000..8d5743b8 --- /dev/null +++ b/docs/UICheckBoxGroup.md @@ -0,0 +1,67 @@ +# UICheckBoxGroup +--- +- **UICheckBoxGroup** +多选框组。 + +- 默认属性:Items +- 默认事件:ValueChanged +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Items |获取该多选框组中项的集合| ObjectCollection | - | +| Text |获取或设置显示的文本 | string | - | +| ColumnCount | 显示列的个数 | int | 1 | +| ColumnInterval | 显示项列之间的间隔 | int | 0 | +| RowInterval | 显示项行之间的间隔 | int | 0 | +| ItemSize | 显示项的大小 | Size | 150, 30 | +| StartPos | 显示项的起始位置 | Point | 12, 12 | +| TitleTop | 标题高度 | int | 16 | +| TitleInterval | 标题显示间隔| int | 10 | +| TitleAlignment | 文字显示位置| HorizontalAlignment | Left | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 事件 + ValueChanged + public delegate void OnValueChanged(object sender, int index, string text, bool isChecked); + + 参数sender:当前控件 + 参数index:选中索引,SelectedIndex + 参数text:选中项的文本 + 参数isChecked:选中项是否选中 + + + +- 增加编辑项 + 选择控件属性Items,点击打开,在其中增加编辑项 + + + +- 多列显示 + 设置ColumnCount=2,显示两列 + ![输入图片说明](./assets/153157_f15c5d08_416720.png) + + + +- 函数方法 + 全选: SelectAll(); + 全不选: UnSelectAll() ; + 反选: ReverseSelected(); + 清空: Clear(); + 选中索引列表:SelectedIndexes + 选中项列表:SelectedItems \ No newline at end of file diff --git a/docs/UIForm.md b/docs/UIForm.md index 2ccdedfb..01c27f23 100644 --- a/docs/UIForm.md +++ b/docs/UIForm.md @@ -42,38 +42,39 @@ | Version | 版本 | string | - | | TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | -- 主题风格 - [主题](/theme) -- 主题设置 - 设置Style属性调用系统自带主题,如果需要自定义颜色,就是更改颜色属性后,把控件的Style设置为Custom,StyleCustomMode设置为True - StyleCustomMode就是接受用户自定义颜色的意思。 - 创建窗体 - 项目引用SunnyUI.dll和SunnyUI.Common.dll,或者从Nuget引用SunnyUI。 - 详见[安装](/install) + 项目引用SunnyUI.dll和SunnyUI.Common.dll,或者从Nuget引用SunnyUI。 + 详见[安装](/install) + + - 新建窗体: ![输入图片说明](./assets/225716_b52454e1_416720.png) - + 修改:把Form修改成UIForm,并且 using Sunny.UI; ![输入图片说明](./assets/225813_5afb8ba9_416720.png) - + 这时切换到窗体,窗体已经变为UIForm: ![输入图片说明](./assets/28063ee9_416720.png) - + **下一步的操作非常重要:** 把窗体的AutoScaleMode从Font设置为None,否则可能出现因为屏幕分辨率而导致的窗体变形。 ![输入图片说明](./assets/230113_bf629fd4_416720.png) - + - + - 拖拽调整窗体大小 - ShowDragStretch 设置为true,显示边框可拖拽调整窗体大小。 + ShowDragStretch 设置为true,显示边框可拖拽调整窗体大小。 + + - 显示任务栏图标 设置Icon,将ShowIcon设置为true,再打开ShowTitleIcon可显示窗体标题栏图标。 -- 显示标题栏扩展按钮 + + +- 显示标题栏扩展按钮 ExtendBox设置为true,可在标题栏现有按钮最小化按钮的左边显示一个扩展按钮。 扩展按钮的图标设置ExtendSymbol。ExtendMenu为扩展按钮点击的下拉菜单。 diff --git a/docs/UIGroupBox.md b/docs/UIGroupBox.md new file mode 100644 index 00000000..d973c5d4 --- /dev/null +++ b/docs/UIGroupBox.md @@ -0,0 +1,34 @@ +# UIGroupBox +--- +- **UIGroupBox** +组框。 + +- 默认属性:Text +- 默认事件: +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| TitleTop | 标题高度 | int | 16 | +| TitleInterval | 标题显示间隔| int | 10 | +| TitleAlignment | 文字显示位置| HorizontalAlignment | Left | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/150025_5481ef83_416720.png) diff --git a/docs/UILabel.md b/docs/UILabel.md new file mode 100644 index 00000000..c85bc626 --- /dev/null +++ b/docs/UILabel.md @@ -0,0 +1,22 @@ +# UILabel +--- +- **UILabel** +标签。 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| ForeColor | 字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/220321_fa55106f_416720.png) \ No newline at end of file diff --git a/docs/UILedDisplay.md b/docs/UILedDisplay.md new file mode 100644 index 00000000..d7cb55c2 --- /dev/null +++ b/docs/UILedDisplay.md @@ -0,0 +1,35 @@ +# UILedDisplay +--- +- **UILedDisplay** LED显示屏。 + **注:仅支持英文、数字、标点符号、希腊字母,不支持中文** + +- 默认属性:Text +- 默认事件:- +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Text |获取或设置显示的文本 | string | - | +| CharCount| 显示字符个数 | int | 10 | +| BorderColor | 边框颜色 | Color | - | +| BorderInColor | 内线颜色 | Color | - | +| LedBackColor | LED背景色 | Color | - | +| BorderWidth| 边框宽度 | int | 1 | +| BorderInWidth| 内线宽度 | int | 1 | +| IntervalIn | LED亮块间距 | int | 1 | +| IntervalOn | LED亮块大小 | int | 2 | +| IntervalH | 左右边距 | int | 2 | +| IntervalV | 上下边距 | int | 5 | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 控件宽度 + 因为本控件模拟的时一个LED点阵显示屏,LED点阵显示屏宽度由可显示字符个数决定。 + 所以需要调整控件的宽度,不是设置Width属性,而是设置CharCount属性。 + + + +- 示例 + ![输入图片说明](./assets/094934_cd27df88_416720.png) \ No newline at end of file diff --git a/docs/UILedLabel.md b/docs/UILedLabel.md new file mode 100644 index 00000000..406d66ce --- /dev/null +++ b/docs/UILedLabel.md @@ -0,0 +1,25 @@ +# UILedLabel +--- +- **UILedLabel** LED标签。 + **注:仅支持英文、数字、标点符号、希腊字母,不支持中文** + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| BackColor | 背景颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| IntervalIn | LED亮块间距 | int | 1 | +| IntervalOn | LED亮块大小 | int | 2 | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/215716_1239d541_416720.png) \ No newline at end of file diff --git a/docs/UILedStopwatch.md b/docs/UILedStopwatch.md new file mode 100644 index 00000000..a5f2f6e2 --- /dev/null +++ b/docs/UILedStopwatch.md @@ -0,0 +1,44 @@ +# UILedStopwatch +--- +- **UILedStopwatch** +LED计时器。 + +- 默认属性:Text +- 默认事件:TimerTick +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Text |获取或设置显示的文本 | string | - | +| CharCount| 显示字符个数 | int | 10 | +| ShowType| 显示方式 | TimeShowType| -| +| Active| 是否开始工作 | bool| false | +| BorderColor | 边框颜色 | Color | - | +| BorderInColor | 内线颜色 | Color | - | +| LedBackColor | LED背景色 | Color | - | +| BorderWidth| 边框宽度 | int | 1 | +| BorderInWidth| 内线宽度 | int | 1 | +| IntervalIn | LED亮块间距 | int | 1 | +| IntervalOn | LED亮块大小 | int | 2 | +| IntervalH | 左右边距 | int | 2 | +| IntervalV | 上下边距 | int | 5 | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | +| TimeSpan| 开始计时后用去的时间| TimeSpan| - | +| IsWorking| 是否开始工作| bool| false | + + + +- 控件宽度 + 因为本控件模拟的时一个LED点阵显示屏,LED点阵显示屏宽度由可显示字符个数决定。 + 所以需要调整控件的宽度,不是设置Width属性,而是设置CharCount属性。 + + + +- 事件 + TimerTick:当定时器启动后,Text变化时触发一次 + + + +- 示例 + ![输入图片说明](./assets/100744_1b3a73c1_416720.png) \ No newline at end of file diff --git a/docs/UILinkLabel.md b/docs/UILinkLabel.md new file mode 100644 index 00000000..28aa4511 --- /dev/null +++ b/docs/UILinkLabel.md @@ -0,0 +1,25 @@ +# UILinkLabel +--- +- **UILinkLabel** +表示可显示超链接的标签控件。 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| ForeColor | 字体颜色 | Color | - | +| ActiveLinkColor | 获取或设置用来显示活动链接的颜色。 | Color | - | +| LinkColor | 获取或设置显示普通链接时使用的颜色。 | Color | - | +| VisitedLinkColor | 获取或设置当显示以前访问过的链接时所使用的颜色。 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/220423_22aa1962_416720.png) \ No newline at end of file diff --git a/docs/UILoginForm.md b/docs/UILoginForm.md index eb4efbb8..e83cbed3 100644 --- a/docs/UILoginForm.md +++ b/docs/UILoginForm.md @@ -20,39 +20,40 @@ | Version | 版本 | string | - | | TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | + + - 事件 ButtonLoginClick:确定按钮点击事件,有此事件时不执行OnLogin。需要手动给IsLogin赋值。 ButtonCancelClick:取消按钮点击事件。 OnLogin:登录事件。ButtonLoginClick为空时才执行此时间,返回值为IsLogin。 -- 主题风格 - [主题](/theme) + -- 主题设置 - 设置Style属性调用系统自带主题,如果需要自定义颜色,就是更改颜色属性后,把控件的Style设置为Custom,StyleCustomMode设置为True - StyleCustomMode就是接受用户自定义颜色的意思。 - -- 创建窗体 - 项目引用SunnyUI.dll和SunnyUI.Common.dll,或者从Nuget引用SunnyUI。 - 详见[安装](/install) +- 创建窗体 + 项目引用SunnyUI.dll和SunnyUI.Common.dll,或者从Nuget引用SunnyUI。详见[安装](/install) 创建窗体:参考[UIForm](/UIForm)创建窗体 切记把窗体的AutoScaleMode从Font设置为None,否则可能出现因为屏幕分辨率而导致的窗体变形。 + + - 为什么继承的窗体,上面有小锁,能解开吗,还有就是继承的窗体,有些控件属性都设置不了,怎么办? 首先得了解窗体继承的概念,和类的继承是差不多的,窗体上有小锁的其实就是类似于类继承中父类的某个Private属性 为了保证继承窗体的UI设计,上面的某些控件是不让修改和移动的,所以有锁。 在使用时,父窗体一般都将其所用的控件的属性和事件进行了封装,可以正常使用。 举例: ![输入图片说明](./assets/011a9a81_416720.png) + + - 继承的登录窗体的登录按钮有锁,但其点击事件已封装到父类的事件。 需要选中窗体,查看其事件: ![输入图片说明](./assets/105850_f7800c4b_416720.png) + - - + - 通过代码创建 也可以不用创建窗体,直接通过代码创建,来实现登录过程 + ```c# UILoginForm frm = new UILoginForm(); frm.ShowInTaskbar = true; diff --git a/docs/UIMarkLabel.md b/docs/UIMarkLabel.md new file mode 100644 index 00000000..5656e6ec --- /dev/null +++ b/docs/UIMarkLabel.md @@ -0,0 +1,27 @@ +# UIMarkLabel +--- +- **UIMarkLabel** +带颜色标签。 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| AutoSize| 自动大小 | bool | true | +| ForeColor | 字体颜色 | Color | - | +| MarkSize | 标签大小 | int | 3 | +| MarkPos | 标签位置 | UIMarkPos | Left | +| MarkColor | 标签颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 标签位置 + 标签有四个显示位置,左、右、下、上,见下图: + ![输入图片说明](./assets/214220_cbd9f247_416720.png) \ No newline at end of file diff --git a/docs/UIPanel.md b/docs/UIPanel.md new file mode 100644 index 00000000..fb8aa477 --- /dev/null +++ b/docs/UIPanel.md @@ -0,0 +1,32 @@ +# UIPanel +--- +- **UIPanel** +面板。 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| TextAlignment |文字对齐方向 | ContentAlignment | MiddleCenter | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 示例 + ![输入图片说明](./assets/144220_8ad058b3_416720.png) diff --git a/docs/UIRadioButton.md b/docs/UIRadioButton.md new file mode 100644 index 00000000..b818fa32 --- /dev/null +++ b/docs/UIRadioButton.md @@ -0,0 +1,47 @@ +# UIRadioButton +--- +- **UIRadioButton** +单选框。 + +- 默认属性:Checked +- 默认事件:CheckedChanged +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Checked|是否选中 | bool| false| +| Text |获取或设置显示的文本 | string | - | +| GroupIndex|分组编号 | int| 0 | +| AutoSize|自动大小 | bool| true | +| ImageSize|图标大小 | int| 16 | +| ImageInterval|图标与文字之间间隔| int| 3 | +| ReadOnly|是否只读| bool| false | +| ForeColor | 字体颜色 | Color | - | +| RadioButtonColor| 填充颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 事件 + CheckedChanged + public event EventHandler CheckedChanged; + 参数sender:当前控件 + + ValueChanged + public delegate void OnValueChanged(object sender, bool value); + 参数sender:当前控件 + 参数value:选中值,Checked + + + +- 分组编号 + 在同一个容器中,多个UIRadioButton可以根据GroupIndex进行分组,同一个GroupIndex的只能选中一个 + ![输入图片说明](./assets/142906_320a5458_416720.png) + + + +- 示例 + ![输入图片说明](./assets/142752_85484bd2_416720.png) \ No newline at end of file diff --git a/docs/UIRadioButtonGroup.md b/docs/UIRadioButtonGroup.md new file mode 100644 index 00000000..60e21aa7 --- /dev/null +++ b/docs/UIRadioButtonGroup.md @@ -0,0 +1,63 @@ +# UIRadioButtonGroup +--- +- **UIRadioButtonGroup** +单选框组。 + +- 默认属性:Items +- 默认事件:ValueChanged +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Items |获取该多选框组中项的集合| ObjectCollection | - | +| Text |获取或设置显示的文本 | string | - | +| SelectedIndex | 选中索引 | int | -1 | +| ColumnCount | 显示列的个数 | int | 1 | +| ColumnInterval | 显示项列之间的间隔 | int | 0 | +| RowInterval | 显示项行之间的间隔 | int | 0 | +| ItemSize | 显示项的大小 | Size | 150, 30 | +| StartPos | 显示项的起始位置 | Point | 12, 12 | +| TitleTop | 标题高度 | int | 16 | +| TitleInterval | 标题显示间隔| int | 10 | +| TitleAlignment | 文字显示位置| HorizontalAlignment | Left | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 事件 + ValueChanged + public delegate void OnValueChanged(object sender, int index, string text); + 参数sender:当前控件 + 参数index:选中索引,SelectedIndex + 参数text:选中项的文本 + + + +- 增加编辑项 + 选择控件属性Items,点击打开,在其中增加编辑项 + + + +- 多列显示 + 设置ColumnCount=3,显示两列 + ![输入图片说明](./assets/154242_cb2fc9c4_416720.png) + + + +- 函数方法 + 全不选: SelectedNone() ; + 设置选择项: SelectedIndex = 6; + 清空: Clear(); \ No newline at end of file diff --git a/docs/UISwitch.md b/docs/UISwitch.md new file mode 100644 index 00000000..eaee5005 --- /dev/null +++ b/docs/UISwitch.md @@ -0,0 +1,42 @@ +# UISwitch +--- +- **UISwitch** 开关。 + +- 默认属性:Active +- 默认事件:ValueChanged + +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Active| 是否打开 | bool | false | +| ActiveText| 打开文字 | string| 开 | +| InActiveText| 关闭文字 | string| 关 | +| ActiveColor| 打开颜色 | Color| - | +| InActiveColor| 关闭颜色 | Color| Silver | +| ButtonColor| 填充颜色 | Color| White | +| SwitchShape| 开关形状 | UISwitchShape| Round | +| ForeColor | 字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 事件 + ValueChanged + public delegate void OnValueChanged(object sender, bool value); + 参数sender:当前控件 + 参数value:选中值,active + + + +- 开关状态 + ![输入图片说明](./assets/233007_095707ff_416720.png) + 设置Active属性,状态切换通过ValueChanged输出 + + + +- 开关形状 + SwitchShape:Round为圆角开关,Square为方角开关 \ No newline at end of file diff --git a/docs/UISymbolButton.md b/docs/UISymbolButton.md new file mode 100644 index 00000000..c61e1e7c --- /dev/null +++ b/docs/UISymbolButton.md @@ -0,0 +1,92 @@ +# UISymbolButton +--- +- **UISymbolButton** +字体图标按钮 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| Symbol| 字体图标 | int | 61452 | +| SymbolSize| 字体图标大小 | int | 24 | +| Image| 图片| Image| - | +| ImageAlign| 图片放置位置 | ContentAlignment| MiddleCenter | +| ImageInterval| 图片文字间间隔 | int | 2| +| IsCircle| 是否是圆形 | bool | false | +| CircleRectWidth| 圆形边框大小 | int | 1| +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| Selected | 是否选中 | bool | false | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| FillHoverColor | 鼠标移上时填充颜色 | Color | - | +| RectHoverColor | 鼠标移上时边框颜色 | Color | - | +| ForeHoverColor | 鼠标移上时字体颜色 | Color | - | +| FillPressColor | 鼠标按下时填充颜色 | Color | - | +| RectPressColor | 鼠标按下时边框颜色 | Color | - | +| ForePressColor | 鼠标按下时字体颜色 | Color | - | +| FillSelectedColor | 选中时填充颜色 | Color | - | +| ForeSelectedColor | 选中时字体颜色 | Color | - | +| RectSelectedColor | 选中时边框颜色 | Color | - | +| DialogResult | 指定标识符以指示对话框的返回值 | DialogResult | None | +| ShowFocusLine | 显示激活时边框线 | bool | false | +| ShowTips | 是否显示角标 | bool | false | +| TipsText | 角标文字 | string | - | +| TipsFont | 角标文字字体 | Font | - | +| TipsColor | 角标文字颜色 | Color | Red | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | +| UseDoubleClick | 是否启用双击事件 | bool |false | + + + +- 字体图标 + ![输入图片说明](./assets/b89a75e6_416720.png) + + + +- Symbol:字体图标(int) + SymbolSize:字体图标的大小(int) + ![enter image description here](./assets/164128_b3ef97c6_416720.png) + + 点击Symbol右侧的按钮: + ![输入图片说明](./assets/04b7d3ee_416720.png) + + 鼠标移到图标上,显示的数字为Symbol字符,点击图标即可设置图标。 + + + +- 圆形按钮 + ![输入图片说明](./assets/213244_e2fcb212_416720.png) + 设置IsCircle为true,可设置CircleRectWidth边框大小 + + + +- 按钮组 + ![输入图片说明](./assets/213728_8aa2cb69_416720.png) + 设置左侧按钮显示左边两个圆角(RadiusSides:LeftTop, LeftBottom), + 设置中间的按钮(RadiusSides:None) + 设置右侧按钮显示左边两个圆角(RadiusSides:RightTop, RightBottom) + + + +- 自定义图片 + ![输入图片说明](./assets/214035_21305f5f_416720.png) + 设置Image属性 + + + +- 字体图标不居中显示 + 因为字体图标不是等宽和等高的,会存在不居中的现象 + 设置ImageAlign:TopLeft,然后设置Padding的Left和Top属性,例如5,5,0,0 \ No newline at end of file diff --git a/docs/UISymbolLabel.md b/docs/UISymbolLabel.md new file mode 100644 index 00000000..74aae686 --- /dev/null +++ b/docs/UISymbolLabel.md @@ -0,0 +1,39 @@ +# UISymbolLabel +--- +- **UISymbolLabel** +字体图标标签 + +- 默认属性:Text +- 默认事件:Click +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| AutoSize| 自动大小 | bool | true | +| Symbol| 字体图标 | int | 61452 | +| SymbolColor | 图标颜色 | Color | - | +| SymbolSize| 字体图标大小 | int | 24 | +| ImageInterval| 图标和文字间间隔 | int | 2| +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| ForeColor | 字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + +- 字体图标 + ![输入图片说明](./assets/212642_04b86c8c_416720.png) + + + +- Symbol:字体图标(int) + SymbolSize:字体图标的大小(int) + ![enter image description here](./assets/164128_b3ef97c6_416720.png) + + 点击Symbol右侧的按钮: + ![输入图片说明](./assets/04b7d3ee_416720.png) + + 鼠标移到图标上,显示的数字为Symbol字符,点击图标即可设置图标。 + + \ No newline at end of file diff --git a/docs/UITitlePanel.md b/docs/UITitlePanel.md new file mode 100644 index 00000000..8924cb40 --- /dev/null +++ b/docs/UITitlePanel.md @@ -0,0 +1,44 @@ +# UITitlePanel +--- +- **UITitlePanel** +带标题面板。 + +- 默认属性:Text +- 默认事件: +- 属性列表 + +| 属性 | 说明 | 类型 | 默认值 | +|-----------|--------|--------|-------| +| Style | 主题样式 | UIStyle | Blue | +| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false | +| Text |获取或设置显示的文本 | string | - | +| ShowCollapse | 是否打开缩放按钮 | bool | false | +| Collapsed | 是否缩放 | bool | false | +| TitleHeight | 面板高度 | int | 35 | +| TitleInterval |标题文字局左或者局右时与边框距离| int | 10 | +| TitleAlign | 文字显示位置| HorizontalAlignment | Center | +| RadiusSides | 圆角显示位置 | UICornerRadiusSides | All | +| Radius | 圆角角度 | int | 5 | +| RectSides | 边框显示位置 | ToolStripStatusLabelBorderSides | All | +| TextAlign | 文字对齐方向 | ContentAlignment | MiddleCenter | +| TitleColor | 标题颜色 | Color | - | +| FillColor | 填充颜色 | Color | - | +| RectColor | 边框颜色 | Color | - | +| ForeColor | 字体颜色 | Color | - | +| FillDisableColor | 不可用时填充颜色 | Color | - | +| RectDisableColor | 不可用时边框颜色 | Color | - | +| ForeDisableColor | 不可用时字体颜色 | Color | - | +| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - | +| Version | 版本 | string | - | + + + +- 其他 + **标题栏高度内不可放置其他控件。** + + 如果其中放入其他控件,并设置Dock为Fill时,遮挡标题栏,可设置Padding.Top属性 + + + +- 示例 + ![输入图片说明](./assets/151625_77c07059_416720.png) diff --git a/docs/assets/092842_9c0a202e_416720.png b/docs/assets/092842_9c0a202e_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..e8dd143a6bca2e0240926a62e15a6a58a5743a6c GIT binary patch literal 599 zcmV-d0;v6oP)+}Cm zp#N^ZDAMTEmd|W3Ffdx5%4_~y#FzO#hP3(>+|EqVU;Z*z4c7yoKfQ^|$lmd%WXXT&AbjihD6$ zdw(%nTrplMcPan?0ia1lK~#9!?bz*7f86<}Im3?>rx7cBii3v8t4%1k^ z&(un6{&`ziOaK5lKjZ99R6b4g_~u#%SDVY8P1=Z_HEsBob8?&bk(yyO^+#$BRMX1Y zMX#@gQ;CiBlymnpJ)3P^_U_+Z>Pp7xnnm5KOe~bOJs6h@oi4PgpSIt|>0L+<%yLm3 zcC?UE>U?2$gzBQVr>ni6)@JDvvD3N&o0?77xfJ?FdwZ$h-qrsXa;4j8U8UL6;<%>s z602!lD}k|it(rR8mEEd27o#=pPLNO8gUmipX(4T}R(^-cr-wCty{4wE?X4bQr?4lY zN{;WFy2EHZy>I#>@uSVimf-Ph-c14gdfE000000Dw!9j=DVvdRs-KPMeLOw=_C=9w9YXqc&;=*3_>y zJ-Jy62C5mSQ7RayrU*5u*$Xw#8a01sPmflDp=uH{tmZmyf57S{j(002ovPDHLkV1l5xDUtvH literal 0 HcmV?d00001 diff --git a/docs/assets/093235_dd7f180f_416720.png b/docs/assets/093235_dd7f180f_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca759e19c7eedb8aae241767cdab839e41674af GIT binary patch literal 871 zcmV-t1DO1YP)+}C^ zz9>+j|I+Bxmd|Xq-KE@{C@?TE=;74nP*CBwZ0ge7TA$94jiF@@{%#kceSdoeM$e=+L4h0*i>Fgww1;o|AR$)3`C=Vxi&s7LGL?&y`8x4eb7^W%HG?%YB5lX&`H2t z^C*%gUBrCgq0mgbM*U=lvNK{^bJ%jQ)tS3%7qF1aBYwR1_w&|f=P>fL+Hd+geWIXF zifx=AwAa^}A~$zOC-o8NtDu znSni=oh&$vJXL4M(@JyabQOP2B1<`^$C=aP%;|CGbR=^w z|6oqci8(Q6!kfLiOK$eUN^W-5ap!aue@;3}Kj*ThWKR1bn3K7S_7!_hB72Kx{8+9= z<}<#}Hv98+}Br z0000p0KmY&0RI3`p#Ly1FflQOxAXtEe=*UYUYgneF)?0RpX2MSL?U|0000; zgzJyT<|$Y=og3KhdKrKIWFLogcCGU5D>`38XS@~K-b3hIu2Z=AGNAJ$oo-DFI}ZA! z)2!Lg-L0;W;jf(yENDkU|Dbkkho&YD=v0Zl_!3ED+pD8TI!E~}w(f2xSvE95?#c4W z6^^}0j3R?$E=Oq9^-II>(ffwk%k<^L8&cb+zb}$bEee zPAbFt^1e=Q=r_OR4AenLojs^9OT?d+)e`XjZ$YsyjwK@Z{`@Vx5j{oM3PUXXI8}M0 zf1&iqkiKMk*2cL@yw`ySZ5xtg9lJl)~c5Qua9RL6T z00000phz~Wrpb-XhZU2f&dq8;Cpz;5o#@P$Om$vdoPS+j`gKYqT}#%WvkskWB~zUX zQuFcng^}5H&YGOF6P*-0#a>BvqLX4Tu-Gk8()EJKv-=c~o#>?4%PjU;_8gC#w9h+}Br z0000p0KmY&0RI3`p#Ly1Fj}AE>)EC;F@;(&F}L&o(Vt$oe=(Zb|1mLM(ewZ7^Tjb- zrh73lnp`n^y#MR-<1v55>%4_pF=(2+|F`qhT3n{LyoGx)UVFUbd%VTB*`|A3rdnKH zFeX+X9F@M-;m=aKIonx8l88B}y#{x>% zBKf|D(^)Q&H0T+VZ;7y7X8CpiSvjqhbRkaLl)uybh`mL{|>7hxz_kNMNF z553`uK1+@Xm+Ga{5nsJ?EIIZiCG|Cp96V&98fG0AS6tBHPRFanD(^8oW)+1}cxp_z zlt#MYgddSZA2KaBN+@69CxlTz>VwVa8Dz?j@_=ci*58=71An=Ut<+)?H@T88X((z? zghkD0t~g)W!z}W-SiopJ%#}tm{!Z&*eqU;n4CF8rUFv0*8x=TbQ8PZS^mWq~=Up&= zcVRcie00hCi2-#JE=POg;F25QbYEt0SmATt$)KDK`NUnynGTKUGQNY_*f7ea7DP*G zZ0vxVA@};c%gV!-mv!9uZ8dF|^q?bl>{7>f@x&81*GXN&l1#|265CMKdC&4EmK5jj zpwUAaN<%)J;|aTjE6`?xOGo$@4KC_D)};_LFVXVIO7MGiyd%Ln^_6lja2E4?V#+S< zzZHwZT$;-zVlEBCFbu;m48t%C!!TCIX4PbiVso=%7Uy!aTFj-n{AtGwQUHWuASmMh z-|Qh!kf8Jun3WldEQMT#4WdMJsY@b6m*+WquB%SJ*`HcrWnKQ=Whz9M!=-%WcC#}T z)Jt8u<3yM9y{u5V-Mn_OLRK$z>5da!4)^l=xj(fIxtF?h$B8cIKOk4`H#<`mBHlf^ zbjOJWWKC-zd8?l{q9#J}K>Uh2{v*QG9r=u($NcrJsXxs2uz5fKp)2siKsQVZf( R^^pJo002ovPDHLkV1l3%k%RyM literal 0 HcmV?d00001 diff --git a/docs/assets/134446_6fedb531_416720.png b/docs/assets/134446_6fedb531_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..998617ef45e8115da809a93db6fc38ccf5f6972f GIT binary patch literal 1436 zcmV;N1!MY&P)+}Dc z$p28F|NsC0&-VW?Ffj1s|KHpHt;qks?f;wG|Nr*?|L*^{e=(cU|1mLzxAXt-|Np

V!2_W%Fk|FNkTY zn~oMPr)|@jS-^;2nO+*BX|IoO!(c(C7e>)ETA5xLWz&cEEdX4> zBz@O2)|kAVk;0C=|Mp10YM)HsPAMlUQa0T}OY3qd{R)ZE6VU<&WO)$u9{6DLI+{ig z%^@E$LsnFxY}yN@hSelV)47kVKOUK;CHTS;PD+e{ zDL+{`gVnTAuBWEaa~obA(6T41*QI$~il#Z8eOUr8VZ0a97*H6XTN8spR# zMbRdT!Svj7TGS)||B;e8(B0s#XE0iT$Nlbd>KjzUeVS=X#r_JWdGP36t18rh2jlX6 zn&sgKf?d10xXy;>>1cfR9+RFZn8sGobn&iCm%o1g{~AhP5NK|Szn?gZ8O%1Z#$=j5 zeig6YcQc9pWe*Mn00000fc#$@K~+^%RaI40RaI5kH@g;BVIT~*ouJhtLJO<(rsP7g zU$kBA+5i93&cqR>crFG;<67{A#fg@OB#)+MmtC@Ci4;Hom$n`|E%Y;}e!9A-o*{Kn zJ=gjB4CtbIj?_iO%ML{2@62qEVYblRzk`CuWq)kx7KuFQFVIyI^pp>$w{@@ zN_Xu@Ljw@}-F|O1Qe>zfDw=jbYa|W+ zDk(D5^xkJjp^{}bJqnaAiaW8fP1~k3UD0Y?)f>ta+iKG$?*6Jg>9T@0kK+K*$(crKy4i_>h^YIsR*4>}r=pQ`7qm(M z?reGxl-g{164BRN*{$Bs8Vl$6g=ffnRVqc(U$oKh1xou`fl@RtrUs~>dpL%`+*hCyEknIfX_XaBtGb%yY}&tQ z_6;=^WZGiOHdZH^lR?6bC@|PExe5N?g~+ofLxm`*f@vL;4b#!TXx>s6{m0zaws8x% zQZ&g7`?tACOio{1QWQ|(_EA!W-+Swznb1`qqA&eDa)l?30L}HQ!A7kU9rx!X!V_nJ zJpIn;EmVjK>V+yi)4sa8{DJykdv;6%006@ literal 0 HcmV?d00001 diff --git a/docs/assets/142324_0224b4ba_416720.png b/docs/assets/142324_0224b4ba_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..c79dfcbbb9430352f300f71f3dcc0dca070aaee5 GIT binary patch literal 1638 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 a06zg7?q37vH2J>(0000 literal 0 HcmV?d00001 diff --git a/docs/assets/142906_320a5458_416720.png b/docs/assets/142906_320a5458_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce65b716c81cde02e059fd13ac5cf710290e3b7 GIT binary patch literal 2619 zcmaJ=c|6o>7a!ZLXeL}swlblzHbcp-EG=A&Y-5{dESIumEt#wt6I~S7B)aw`*?zVW z#tWvHOEAOr$|UcF*= z4Fcf>xc1Y7d|duex^2f@K-6#c=A1PUfk2@0L65=m%U1Dj%yLwOhuqtpe7%yvT# zt$|3lQqCGTipgexcqEdu_6AP@ITQlIHmjc-jd@cQj7YUbaMqY}UqDV>I3l=(Gn{3^ z)kWCZq%%{8!N59hmGG)HFtr8rDgy%%h`Irgv(_@R435o#{pohh&)|b5(6wlPcm|}7 zfCDTLUklQv!0rj~l{x9}f95AaLEPJ~jRt07=-egd~rZqO6!fs-e#y5a2 zNJ5s&edl6sIi?NwY<1zO!_2C+mj2-^JTk%si9y)f+1MiRdF&xZX*Q)aJEruU*1K2; z8<;>S#fCz;~vDAvG%$YJB!iwXL}mBUb@By%t+JI zJ!|h3*fM+7-81MAMMe3SR5n3m|^Y@nxC!Pv6^Izj4~aXaM~nC;E(2(Zx9JeN*h zVU?uCQcPoVyI)0CCWw~_K1A7(ZC+sNDhR*<)2e>2HYpFA|zThgUolb>q=M!`LS1ynmraa^jNsA$OVG?4`czPyT2ZPY7>?*=oF9tYA@>TRH~xogmR|83;to!1K3KCWqQbTQ1^?I6%^TWKe%lC5 z(OI5|i%^~n@+<6^)eQ63dB=@{Ldgs9An2F%74G7klB3ed5!k$v+TB`DA6n!@o`0-2 zAM@8FM|iG2S!wgTVoBBZ6%XUw=*S7d$$OvE zJgc>snTAVQ&j)2D;C4Xmv&fWsgwu?yr=cW2wc&C(l`lMIVfJbRxfdJkk7w9 zDw=e}zsEGYR;BQJcKF?%KY8&_m1|JeZI={t4ote`wIMfn5^y?xd0m0e-|D5Kpg5YDZE#cY)9@sH z&gEN4jWYBAM1QW)?fnDM=8%&z$4f^1`VUCJ_%tnaUeIw99`&Zqi7au-{f%Bo1wths zeHRLRF39yz5eaN`)fc~*bk-T4>9%I?UgeY5f#D))yYLf2_$1&B@Yz!>+DLjuP-pCn+J;dOGZ}vg_Hi1cX-c5ktzrJHp z+0qWkA@EP-D#|riE06c9gWquoF1P+7|uO<17qEbic2^# zTG6Q45oiNOOJ60fv+|1o<{_1t$IUaSo+vS^ zoj?i*xOtGPZU(qtw)~AX+BpljK_^8>_~X{c;~3=0>8aTU5i?t{OUZ4Cr~BkT`t)dz zgQU-qPgDR%+|j=xjeODrXUH|rNa9CV)vMI?q#sdpgqi`SES-mh-vcGgdFuj%+LKd% zDgN@wL__U7F+6roBN(ALsm)qy5xmOshD(uXz%jsWuUJ-|LEf&hcY-gpswsAbNYVL7 z_}!#Gye2im&MHPZ9q>h0!?HUhc@+AxgZ>OX5#>buDT(h0*)VkG zIxYQZx{s(d6HT=zI74i6i`ZeBdKFZNRz*Og1EGEpn%v-DAbjaz;Z;_^`?2JH@dDrB zJA2gduH?eUEh}57G8(y0hTi}GP#JJfET#RC4XZIJtuO!(wqgBH!!;ifs?fygu6KS9 zK<%uISsh2Oz__J_)B)MMAJ->?)~DRYc}Tl>$^g6FRa?!e&J3&jt+N-$?Ncovq;@`9 z)liy5!@D`vN`6W-AHL&>lSBtb9P~wNv}d+gdz|Tq5{kcccmBNl8A(!(gv)+z8$jhP z{!#}VP}^!XY8wKWFTJP;JkC9lo2cZDZD!}TDRhN2&z_uLCzNTWQ)x=vh8W}u(X52j z=RXs|+eH^zpAgis%|*e6lBCwX1oJbMH6lNKa@gi=4}0{=s0mH?E^bfzSk!sR+p%-| z28JUxQ~+Ssz2}n41Hv4=^B2IaZQ@7Q!0CyTLPP6QWdYB7R&5*9B{~;cw*v58D{+Ni mB{6sO+{q5p!0-RV?$%+$jx?p{@}9__fBLGqwOO?ZHvT_evoDAM literal 0 HcmV?d00001 diff --git a/docs/assets/144220_8ad058b3_416720.png b/docs/assets/144220_8ad058b3_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..23a1416dce5bdce43bf34a9552efea05f9ac36bb GIT binary patch literal 819 zcmeAS@N?(olHy`uVBq!ia0y~yU{nUOPjN5<$(x6+Jp@uY0X`wFuRs3}Sn%J#z~JKN z|J&;g4P%xW8n$l#{C`%A;p@+jqvk)pI6uzNFmBe(|J8;-k)yBow7$N%EXvTZde48u z`lDB#{6BE*|AsUF=N|gkx9i`dxBt)H`(M5BU&``-(To3W|NOXm&*ND)k8THQiCM;9 z+SX1LBftA4i^>gF=vT{IPCfV-`>hrg^O!z?S>^P+54AX*5AD9 zx6fG>&q*qt<+p!tX4aj%ckk2}XO}EBU%p)-R^ivhpY5}+^Q-+ml5nKsqOajAiP9b` zH`&E~fyY-QUl~yDuHRW-K75?Kf5+#4QnKsZUfUbrvZ*q-dvC9al&qZX{Q0$8^A;c6 zdED*r0{=TFH!rVFD*3rUKYq=0_4`t?dFM}N?QN*3-MhDLeO&+M&Bk}~7q@@Dm1e7V z_v4@Bw3!F{*e_PyJf9(@u-o4M+0)9*dj*^B?y{`f_ug&w&d9{PHS4yur)BgeZ@IJm zajp5SpFC@i&o2|tzG>#ac&X{)%uGv@^L2*1_B2(SZ$4flr*yq{TA}TWby8=)=lb`W zt^T+vD%SiK@5`&9i#L`&`?Ib5{npeEGPOTz<#L~${QUD)Z1lCXt#?cM&rkcE@}>Sr zhu~uA0S;>{QT{GoGIoytt*;-SJuQE)mRntIb+@TxLGJR&ptN+i^gg32uh6Hv_ud)- Pa{+^=tDnm{r-UW|2@Ih6 literal 0 HcmV?d00001 diff --git a/docs/assets/150025_5481ef83_416720.png b/docs/assets/150025_5481ef83_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..089cd284c014db4b171b1550eb0f1b8442623f33 GIT binary patch literal 927 zcmeAS@N?(olHy`uVBq!ia0y~yU{nIK&v7sV$+Z*zp9E5A0X`wFuRs3}Sn%J#z#wY= z;hL-`dBd<+as zUp!qLLn>~)nSML3*@4GJ{BqH9lhzPl{lMS8C}1g+)_EW14#40Qd7Z`;phB)vpigU*>WhqWNsq6fa@ux(!D~lF zI^U#p_32-i{2j`e}>!5laXJ3)tSy^73QC`OH}C) zix1;wCzmzCJ(iX0oioxW{yeZW?|YH^>3?TF71-6>__ovLUW0J*mbD)@6wNc8ZhUmr zPcAzx-!%uzPIoDM5|49#(jjwk{VncAEkMRZ91Ida^d5F|yxYIDx6H|E z;|}d$wa6(tUSg`yxYJadoW!uGf3(| TSbP0l+XkKwuGeB literal 0 HcmV?d00001 diff --git a/docs/assets/151625_77c07059_416720.png b/docs/assets/151625_77c07059_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..03b0785ebb56ffc2b391d5bdf3a52612c807af2f GIT binary patch literal 1437 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 V>4APVA$#(2P>7dv)5+kJzW^*)Aano# literal 0 HcmV?d00001 diff --git a/docs/assets/154242_cb2fc9c4_416720.png b/docs/assets/154242_cb2fc9c4_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..ec3ad31a93e00c5cf3ff6a07da43354b45ef1a2a GIT binary patch literal 2437 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 p%+}ES zP*DH>|4^X++?yzFz9`t+F)HeuUMo1>+t;M?f2~N^4;O-`{w5EhK6~;PT}YA zuhjqO@A})_=H_H)=U7;6y(oLaQP=4I>+=5O>h$mM^6J^+>B`jSU0>!`S7xaG-{kG; zYHClQ|LO7k>f`R}-|Fek*yz2+^}D<1VPV~)RCB*I)8qfb*#BIl{@tQY-JnV6@&DcG z|H|F}v(EqP@%!HG@7e0;=jiC@<>=1O(7M{aB|B<`?>hAdQ^7QNK^y=pFCoEf!pq~utDc{s z@6w&;jFRVhedca)=ela$pG4fAKHi`*yw?Ay%m0YE|C_=7;N|bx+~vjJ%fa2ov$VFQ z(Vw5sm5ax7lFnY?sz}_QM0LMI-=#fnz9)0D|Ka56>h|FJ@Zjpz-`CjL-SEu!=gh{& z$mp=RvDdNj*sQ(bo$bqy?~jk*w1(cTbmwhw-m7hz(rV-2-{a1|;>WYc=B(+zc80}k zOv3)p000P8NklW?X#xjLzj?nois@OkZ*lK5f%P-?-mCRsMr>NWWKQNeLi#Sm-jM~E0RC|`obmau4!RK;Ly(oK+aJ`;HVZOp!9+waQb=^VEuJP;EW9&0ULH?kRu?h zXKfDBh0T`Ck)c~=*23MS2T5g0mE`q>aQ%nk?Z$RMA%8m*=KRRTPBdC2p1lShQ zt|Z^r9D|bX!;))XYE-UM zYL7hlXQkpJv{u&NbSx=HOa(%d43sz)VL3vIBidYI-)4SeciTPSqu|!G-r~lRwzB3L zIKEH_p%5Ldd7}8R^)D9X@$ug*icea!a}a``97ITEZ$hlS?|h-rQ@_h$1eM3`wdj}@!mLLRu% zK=rwOE~!0b5)W*J_LxUT%3&UOtB~sMN62LAlAwy|KfKKYS5xz~Cnh4w#J6kDF#k^? zN0toIVFfudimz&JgxPIg$2#6@o{1O{-u*o$bA4ftYtL}bXT8rS|5A&v?wl%-ZqSUW3O8(p)>R&rZb-N&hho1(2 zh59?hQ~xfatOfc!M^Ya$@^lfX06Bu@N5{?P0_+rqc87!W{4cQe_2z)-8ZQZ z$Wc(NXC{!z){5ReB!~k|4C;Z zPxdqY2KJ}VanrY0eB*-?I5SD#(%pSbDMr)0D9U?O@T9ePMPGMdQC zp0#arVu3lrwNF6&+31URo^F#3=~xcmc+_kWM;(VuX($x$Jl}cw?}{ISy^0(|h|?r; zRKD%If&aSQY}1!7&W&wKZP-_J4xkKrpD-q>^ya+}-u3~k_hF84#IZ{`Lc*~8;;|Qy z0+$U;qrXZD+>)0@zf}s{QtF6Rgtq|xaIxJmIj^G>I> z&yhbTY;H+&+)*b#b=Rjk?vOuu_&21suk@zO(Qc1}906g{{*bK!EdYjRfL4N3;C?4akOOKqRmniTk^S#4i+D=F|; zt=fJQZT)uV2q_L|k!_&!1KL9Hy=hg6^2#T{DOzid(*6?o(zEZr(taQK(zE)W(*9$8 z#yJZAn5Ox+>Q}u8w8t#BDY|N<;>uebiq3E4_JTc8Md#lV_M-lkiq2nMpIMG@{v&=j z@B6uJ-@J;IU(dR?bEc|Y%DIOurXTn?56Rp^mW)u$eWp3Wk9^qJ@1Hx@?|+PcF3e96 zIB!LP^qOa|olNx!dGlqd0m_YzOLZv%^KZ&GpfI{G)n{)1UXLvA`RL6&N0>z{qA_B9 z(*zD#o>SoLiYc*`tmvO6uxLxE!&Q!{anxKMo+hwi&-$Ltg_wiU`!}bi32fZE!9&)- zvz~i!(Rg%mrTIyXl#Fu gS+Zowk|hh~4vwzjr6H@D;Cf}F~xUOGKp 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 literal 0 HcmV?d00001 diff --git a/docs/assets/213728_8aa2cb69_416720.png b/docs/assets/213728_8aa2cb69_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..5bca0ee242b9ab43ce6f215a02531a2ebe88ae7a GIT binary patch literal 1450 zcmV;b1y%ZqP)+}Cm zp#T5>|1dBxTA$;$e=&2j|LfVNnaKaqpI*1~|5`CIF)@XEy#KG%|Ht9~>+|F5^TpBg z|C-tVnp`n4T&8<5F)@F|F)?0-z5iIG|JLdM>%4_(uK%UY|5`DHVyOS;@&CNq|9rUr zkih?YF@;(&Ud!J9g0%itqW-tpri+iJx4ea^k6xNwUVAZKT3j)=(f?1N|9hX~xAVoC z*~QV>rkcE_dt9dBvd#+t00g>8L_t(|+U%O!P8%^0Kpoj`WExA!CL5#55~xxsD$vq< z|NqN6w~cYwG)*2NaOOxjUf)(6PsSF)D2k#e%8~fl#c12{cvn7<(05h;^k!)qB(Su_ z+Tp|Hl77{<)>)ZS*~nfh7#8U=Ts~{Tug6%U*TKltETPGSIH1Z*{7urwI3{SM{;p~#Lx$d zeed97dJgs%>r_e3HbU(aL}tWfkf`Iw+S3pg&zXj#xzv3~{e zy(IfNnaY0dJBa?Xun&r(Au?4wi1eTu)kh9u4`~5viB)q=?9=#Szl!}bniiBCCH9}5 zwGWTHNnTQZz;tvbc^?9FXiU=Mu_N1L$SXgZe7VFYo>xv?sPC}@7NdrgKwYAPWujQ?1yinrB_L z{c3b&pB39ATTtwCfi#i#w?UI~4-xx|FM~p?KRPpF-$H@;9SRX#=Y2{3oKKRGvWy$G3Ned4>N3(*kP$0Mvd{ z{AJIMbrptTC=APIh%&`<9HlBP@BfTf_jPyaX9-#+Vrau@%Q3z2u18r&E9B|k_0aG1u2heFr%f%Q zhn+X_l=qlEkY&C;kQKl2KLN;5MN)j^!I}K?!^Lk?+(cCYa#VmC(bwul^reAqF)n;0 z#UJV00^#DfDMk~weo@4zK5pp>`qBWl#dz>lzhkIxG;s0T6a!71`UP4I=v&;U>p$?p zwipM#>UWIwjRr1$n_?)xN58RQ>BXv0RjRr1$n_?(`20Zvyjq5)E zCh9MW4=&JL__)KZj|vyRO)->z0i5{8AJ<2or|+G%0_P2Dr@)yE@vR!x=R}`&?eA^! zwJ-Ulp#H7W2j2IkO~3Cy7tnuMz$fi_q)pxPbi5SNUxeoC$M*ZuX72aXdHroAx`KY} zSy$S;XWjGqoQN)>AA8RuZQgsHeo9||Y%id{*)<>rxsa#Y^&tCup?c&yZOWc~5^og9 zsh{aUNfV+~KlH)$bKm(#&R@HBYyvP015s37BZVR0#``arTBRBV#Cs$B_Rg|cp#CW8 z7pOmq`UUEbqW+&EaUgGXBiYZQ%{`IrMVs>m001!E2OETqt3|AqO8@`>07*qoM6N<$ Ef-lMRV*mgE literal 0 HcmV?d00001 diff --git a/docs/assets/214035_21305f5f_416720.png b/docs/assets/214035_21305f5f_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2fa05e126b22f27da9673609526d0360c6fd96 GIT binary patch literal 1047 zcmV+y1nB#TP)+}Cm zp#O!t^&o@ly}kdv^ZyHr`P0(UgRblxY1s*i_xkzy`1bbx{{GeT|LXGprRM+D%>PiY z|D~`04UPMY+5i0e`v-^ge7o^bz5nak|8LCyi=h7xb>r*i|8JoGwAK0qh4Cth?A6rN zgv9%S!S@c3{?Fw7yxRMn$@pun^8rtrPo3{G zj_p#A<_~t{tgNil;s1oh`l!zM8G!8E>Hp2%|FX^hajyT#;QNrl_K3XoceC?CmhFwS z>=u3Os>=VK!SaE${$!{ATciGsv+Fl}-(-u!z2^UpwCp#0-oW1}1poj7*-1n}RA}Dq zmw^-+ZWCBr;N_ASj=xQ8u|Tj{#WT# znh+AQ#W_quFLN%{a+M>S^9-J{!O4j%$EdV9P8Hfl&^Bkve&>pKTU6|w&*1F)xB|{& zzRQ8IK{O#Ct~l4kqTTEEsn5cxut73GBPK*&g?LUvSoM+MVYLm%Px!mOa!wL;zcWoT zv-6qn3_e?&qpM)fb;DG}0|Jc%Q)wN32I&KxBSD-v*o%_TuG*%sJD*vwI70@AWU6$` zd{ReU%=dxLA*>?oL1)(*M!6}M6lUjqK0nD%CKG4@t1}R$6`X`KjQE^Lm}aPN^-yOC zuc6VqBkI5IRsC*RVRMeh1192e>TI@_pn(>0i>WtpkLE>@~#hIN-&vZ;aw5eH;*%^E4j^t*puQQ5W&e^QrPxDNj zH`Z;EKt)1StZm#`@S7L!&xmAohGu(tXL`9@FGFja)mfIQvn+$Nx1OtzuGr~_J-gPh zYE?E-t$NY9FJ?0AdlhwlZ^E0-G|x8NlROTG7sHD+&>8;rp!2i&Y~%Yd%Do4jm+ST$ zeecPgxifdB%&r87QGU2PqLt5gg2U8XZjWe{CJxh5Tpy9c;cz${4u|6ce*ksuS*Ku& RKz;xK002ovPDHLkV1hTGK=uFt literal 0 HcmV?d00001 diff --git a/docs/assets/214220_cbd9f247_416720.png b/docs/assets/214220_cbd9f247_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..20ddb3a4efa2928214a48fee4f36acb1130f0bce GIT binary patch literal 1411 zcmV-}1$_F6P)+}Cm zp#Ly1FwgVFnzJ}|LeGYR4_2>)t_~^|1fyKFfdp#F@==X z|5TaaxAXtepI*0rF?BF7>+`^x+5a&yURs~yF-gpU=2`FjiPpFj%y@fOop#FkXLld0ACgFun8Jl-0n`)t_~lpHwh?byhH< zom^TmUboq%lvaIvFY51dvHYK~#9!?AXm}gFqBO;q(gb1q~QY9d)`%f3iwS z-~YvWy;C~_wh-DFvN#_^CSKhg26Y1f0002EZ`-20cw(o3E2=_LkNZZ~yIK!2N7jw= zYMG#2Os}}LWv{z8_caoF#hqF9TAbRy}qAooA@xRM5M9!4pNkwpk6F4 z_8RBMy@<8mjnjf&p;qs;+4N_l@S)*encX-YoTa5*MFe7xQj( zy1j-)?DYY-z~A=QP1R=Ixel{Rq&W7mR}r7QZ!P8;Yd4B%*k5s7mffOP{pTtlmbO{u zNw390e7rHv)BV-)eE{pQxa?^&_Nt-1>|Iz6;-;FDUdu|F*lRMk6ZSaa=@l!n%2=+{;{L#TTobrH zb=G6EU9Y+shTZ;|nO;sVzXafGOJ5zSk@}Rz=Y7?|ysuJ)D0Be6HdzmM`VyW-kB17r z4xTGP*#EB2wM1KszH0mWnM-P`KWg|I2YfJ?@wIxiF)q#6iQH}=qVYmswIzAeAu(3mw>&g(O&Gd0I&*b5~o#631+-q-fgmcMyhk;`sX^L4Y8 z4ckvOHCE(%P}SiBjme9AUdpKMhY%Z@7LB~UP+}Ze^R-^ImA;yaT&Y{lR|%3^zN2Du zL>w!Vj{~ur$%|s%(a5)wqQ0ulp|coDo2@-xt3_MstD(s4Nsh1PD=QWp54kxWifoy$ zyZeJrUKI1XzmCZZK0unb7)rzXw>e*{M_cmMROHHre4(%Ms!}WSwHrSD3R+)2-W=bLrKcLzOU_~t@PDQ zk_ RBLn~d002ovPDHLkV1g^o*rosg literal 0 HcmV?d00001 diff --git a/docs/assets/215716_1239d541_416720.png b/docs/assets/215716_1239d541_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..a2af97f0ab85a390675cee5fc1ee0dacac6eb66c GIT binary patch literal 1752 zcmV;}1}FK6P)+}Br z002;+{{a60FfcIYP*7T*~-f5locF?%sFdof;GFnxBQYe}!6qg?n6u{#5py000I9NklmnzQ{m>&$>{73vpYfP+Sqa^rHLREVC)ovX_IW?_k#PwqP+}_)HL@L+ z?N1ah_&55lSVTwMf%9Sk74jNt=-tq377^V^XM29Ej81C~=S|YT$*xb_8YSeQV9PK` z72nl?Uxk!*yTY!XH6**4*Xr!TXXU$HB)jrmZYVopf6r`{>M5HFou1vp(F}(NZozJV zO&X|I=Lk~t8oM-Hi=nsj!iIcT?Fy(d5$@iR8PdaLi#F!a$7%P2oIzflcGL!T!<;F2 zmnXDqlKu$01a0Uofkaa$cI{(vgd=%eJsgvw!R|U#=3}@K0UUN*phYy5D4;V1B&`AN zO4$UskHTJPd0q{|wCcN@isa0PFTS1M&c4dSgFMCH$jdBPe^TzCSQ8$$A(#UAtrG}Ru z?mc_>282Z}iY2=k?vpA3*RQ&T);bMHH6B?*W_K)-j9|%9ewr8iJpWq4d#h=Lnim;E>Fx;eVSE_M^)I8edYJepQy2WdWq37W2<~O z>5DeDVt4E!E`SqUfE6OT!mdh2?2-LY{^B^l`C;L^RJi`U=y8-gOTq}xgS+uS#Uub1 zRw>x!Ols9)fAsLGCBB?^=&G)w`q}qCM#D{5!kHkQ`T?H64Ke@#00000000000000yT@-Ma zU0oD7cJ5tALKq05C=c=fzq~7<5n`91r#t~YoGYAEP|;P(G6wGA`ZuJnmFDC9xx4GS zzSdAa(9hi>+~qE~%UxVzzgu*7S@x%rggrUiwm+35?8&&Ag+cz2{=nU7U(VbS?v{GY-Ij9~_6%L!HFwQj?mo@kM$8?VP$iwc zr+}Cm zp#Ly1Fwpb=Fjk+jcrekQUNJF+RGHwn^Z%OJ|1mLM>$rXE)t|S2G3)c;lvXgY^Z#|Y z|LgO>Ffe_T)&E+b%4_9Fj#xM|C(Ge zR4`aEf5pG^*mW>ic)H@0)zDN{pHwh?R909pR#?yTz*L#QT3n{LyoJxWeX+QGlvY>= zYBjI`00JsWL_t(|+U=LyQo=A0hU1oE)gn-(D2P@RJfD64XY|TAd*$sveLI@#*5JF;Se|u-$5oywOPEJos?Duwcp-77SITZOvX&2cQky5QKPejfV zY^O83p~#IyRwceNhc!XUbhfY_OVhtNODJ-~s|{-lh}45>Z`V514Ml=2&-WtTq4@Hf z&gLjcw+SM*qGI!ktXt&vGTdWWM2A#LR^%GsZLLTxzy7MoIX;})t<-iZb?6s2XQ0=L z#DP{WIwnQ7qMmdpH$=kW0tKl(5(~VR#x2ulPVMz{1~zT}?s^nXl4GG(X4DHAVK0Gi)Yaq*~KO$2<}MP#9}r0}_UXF16F10;u-cE>uOB2{E9tfeBYoisx^ zKB6c?tRa#Qa_xT;qqOu$Bs{%C;oTd;Ar?gHpn~GqMY^HeyG_1M?ZPKN+zpX>4__e` zL}GFkFf4qK=OWgE7pZMiFSa9huS}H`VnL)CQ{=LdY-h0Z8gI%`SUvmH+?% M07*qoM6N<$g7ngE=l}o! literal 0 HcmV?d00001 diff --git a/docs/assets/220423_22aa1962_416720.png b/docs/assets/220423_22aa1962_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..e506eb156c04cb0907b54442f9ed0921917bbc5b GIT binary patch literal 967 zcmV;&133JNP)+}CG zFfdS{|IqXQF)@X)crdqrF}L&o>+|6-R-e(IUa|B4Ffe_TRxp~`|1fyKF)?22xP4Ta z;FQ(>>+`^MFfh-VSTHbH>(!rHpW`uHrc^L6b-4eUTrqnwG3)ci>)EDSF)@3*|1p2X z>%4_^Fj!PDeNRCwC$m+Mm7Kn#T~OiC^UlLXS3IyAuv zw_fSJeg6lmj+LM^cwNuH42*NW!AA0GfB5sFT_QpVA%qY@2q8`2)&4;!3)lH00=j16 z?Rl#4@sZuab}>x5kG2bFmv&z=Rh>bvZ*!5-2%31 z+1>vlx!1#{jriKtAD$VufD`MR|FL_}mDKI(hK5gq5o^cT^>W(X!t7wrueOU!jrv;8 zbwDtJ+d|FTZT6jK2Ez}ozGGRcr>uu|Rb+lYywLmIx@QQyLNCv|gb+dqA%qY@2qArtQz1;dC$VyMKth8=OOLHWp=#`R;^x?hWagDdn^eoWZ}f5O7_66_F;Si zkMzoHotN45GAvn)HG1u;2K97>S3c~8lU1#B;w`(dhTJ2}gUwRAUWTi9-ekLQbh3QE zR2iK(oJ2-TByqc&ZNMYDlJdUmWpIjhn>E=k91J?w{b9R5tV)3Sh4(7EFo|B`c8BG5 zrJ&h%C%2>4P?zVs@WZT literal 0 HcmV?d00001 diff --git a/docs/assets/232533_5e3bba9d_416720.png b/docs/assets/232533_5e3bba9d_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..b85241c7c1e9bd806492ba0f24606ca2e2a1761b GIT binary patch literal 653 zcmV;80&@L{P)+}D> zz`#(T|B(<-i+TZ8N%FU{}&7HQ?%g)lfzr(e? z#=^qFe68ok$H}j|$%C%qV5RnIr|{I+-_g|C&Ct}OxX_BR-p|t3ts9H70005#NklV*kA&fcW6k`?0=VST1D*z>=_dEr{a7j(v|0dWwqPwc7GtzpOV*e z(!B2Ip`OwglBR)XvPnM|b)i-D_PFFsUYCv4<`i@`@+fm7MxBUDED5#FxrV?XEH%yO zw#?OeX?|2*vR4jcGnD zibMo#FziO)eG%rcQ2t<8C5q)otHojb3^a+u_@hnR!!F*ijAr6R*pX0Ym?~js(HqTK z`6bpzsG_;EC#`7P`+pk6H3Z zttO#D30M-zm59v*H5N)J9f*->C1z?0DigJZ9RkNHjM~N&nI|fTC~;i5Qed8_CnZG< nNkyt&qqWUHS*_J>_s@I)1LYboul*Ud00000NkvXXu0mjfQe#h( literal 0 HcmV?d00001 diff --git a/docs/assets/232638_fd30df5f_416720.png b/docs/assets/232638_fd30df5f_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..39a8b88c68e378cbe20479cc502753494ebc7a13 GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/docs/assets/232755_71dc172b_416720.png b/docs/assets/232755_71dc172b_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..542ab572bf0f87399993f7cf827fb7ea64e4b756 GIT binary patch literal 1570 zcmV+-2Hp9IP)+}D> zz`#(T|1dBx>G1rKvfD6LpW)~6&-4G~>-OuoeRa71#>dFp;px`f;>pU*>+`^6u*-EY zFy`&}%g)l2)&Jh)?d$X4P^I9)!orkRFrKUbjivukpzE)|z^S^2 zv3M|fp#No{|JmN=z`NkUz}C*u)pV-sp1{CRtJc84%bm8=R4_2FvGi1#;Jd%WdA7jM znOL>G#xO8_vGf1p>GOQ8=hN2QP@wg%yUC5az*I0;VWswiuHw|#-_X<9bud^kFj#7* z@SecSd9};W^T3pueX)sHWuWz*wd?EE;FQ(ivDKe-czu*sSTI&tp3PmQ000ExNklIR?51~xiKH8rEWR}VeE+vQ3i_d_y7ODc#}}?LfYJgO7R@~ox@7D z_O~zhen|^A3Kc3;s8FF~xgMx_?Hs?>y31m&-ZxLb@+i$n6@H0w;&Gz`Phh45j0364QD$KO=W9+i$AuI;|^ z_FXc1z#&9(nkwQ*IFW8f3gm#O3T1`nxOLTvv!FA@OkmtXfkTMqsBxP*iq4b|>!#q5 zv86dDOwqQZs-$iZ2>|2}A~`u9tPBm?BnU%t@Uph;fObIpyVwz2K00(K&i@b?NEVpW^wf$GDX|{rp5`7%W0S_-{BwFDfTUxDnBTNxDr- zzH9=#h?UZT>)yjy{MNuBKUe1*raifso?=>=9$!*99uZyC+^~$0ljXtAy}PWJZBty3 zLo1zgYUc$@t8r|lbK3S^dI|tJmeM(HV4IgsS0$(%S_V$rc1^={G8M+esV}$hj+j({ z)6qB<0*-M)bBnTME=Twc=L^ox0|2)00yer>4qJ7H=g0D@(j6SoULNfU+ucZ(WKv$m#zhuhCee9`z|$qYjNhz7{BPfj zM0)@QF9KPyUqtaiZQIZyFFY`CK^)s(d&5h4fy&~mlt5$0X)k;R(FFRzz1;r!asT`4 zZ}*1a1-fNlm^JmQCo2e{z5I|V2S;x|mRBbcFOFy$1j({All>R*HQg0O(Xw^n+ezG` zPwVi)>kMA_!A{_yLTsFr7r7#Fe}TyfFKbXSE5W3qOkQ~4d6Usg7mnaXE>Bt*Q?VUX zGI)^(m{IKI1H30cut{$hCL|qUZAbupKLQ5--R>SRT(lL*j$wQ(>Vg$5ROsK-Z_gKu U;u}FF*Z=?k07*qoM6N<$f*dm)A^-pY literal 0 HcmV?d00001 diff --git a/docs/assets/232813_0ae7f901_416720.png b/docs/assets/232813_0ae7f901_416720.png new file mode 100644 index 0000000000000000000000000000000000000000..5d62e47fd626b7c15f1f3edb827b17e44cfaaa8b GIT binary patch literal 1160 zcmV;31b6$1P)+}D> zz`#(T|JK{$FfcGMR-ciw+RyX<>$rV&xc}?(z-6$@buciL)&J}B;83ODlvXgFtN)Fq z|4^XoufV{my3R0o!0XkYz_shKcrbaO|7D>6z`NkUz}9rC>z=^CP^;F!z{{Ps)KoAq z>G1qinc%y>!+EyA&zV@Su=TaQ#xO8_vGf0Yt>;jn^{>0hjk~~9Fj!%w_Tc95gRbJq z%FT5!STHbHYNznz>h;^;=!&u4p1{j_wad@*z?7MNv58n^p!Kh{>z=ji>($_t)!?z! zpLKYBlvY?UR#@<70GI#(17%4>K~!ko?U@Tx+CUVAn?(YVf}kc4trUX<2vREIquN&c zZvX!u>e+`~!a$NuD4}-GjM?15z4>zP-Q5{@p{1quEOl8>*5%n>$#ZsPq|g;jvi3Ze zMk?LWx$DkTNSC9)XJ^l&S)L0^VB5C84J^JnB~)!Mca{kw;WU1}EE6)PTR%^hfP{3L zCrg`zW#-2+A&bh7<(@3c&W)u_7G-J{&9X9wNftH9jU`w_ndZ3HjY(Kujx2r{Wvp-p zv`EERs*|J2hR?>+eRA-6Da)(lR4le<1ad9i8xuQe@8XG5(qA8oNv#MBk2lRMFl^er zb~2XX!TbFV#s+hz_2#WH#B5MB2p>g=fA|6iV_1YCCJN(IfM6#3H;x5O(J_VqFj~x= z#@=D8!UN%p2r1j%VVp1bvSUr#_RL#(KE|;KBhaKAir$GP>IfDYHYjm4OF&j?nt-Lz z;coCEweZKxf(M*MhWI>=Wky!Zi)F!MnEK2ikg@(i3ken(CSf5F8ppB>@c>=}Tq-9= zeNJ%thed|*EH;T!3=4yRc=rzXKI4(-Q)-uBkzoQBGm^!QX2Ijw)*>wUbj*7gh-eUc zC&MHx<46`ShK1+nMZkrvlosZFK+NtcGK^2zNS@` zY2WoX#}a=wZkEL#$DnME1+vZM3iNlXnnkl{mVcP#E>n)|d9way3B99p*PiFBkU}y= z);wBTT3T9K|Bad#)wSj;7fb0UyQA~@aQ9k;ZTIEQoPfbt$|B~OmC{-B;n&BTs^a8k z*OHc`@}*Ya390xo^o}4(#sU;R!vcmY?NF856JxOyt`35vEX^*%b{%fXpjeWHa}-zx zj<5(!DOvj0RkVMt?y&M86)r5Lm2MGXSSVXhso78^Ob~7RtJ_P(0%zq_5_U)D3M_a7 zXMlQ8mfFvU(f5mQ^&VJIEp=nc;YSbX+Dy#ygLgTIZXSxIfkVw zLUNM&!nPApqsJ;P)Mv2JK}{gA(r=t#d0LTjf5FQ!mNFbuQW*|pVyV^njv`rHj9_8Q zQ$fux+YYP@EPTKl2^Q>`miR!WdtJN`Cz9UK1R2jGLzXFzWr%MlfWNy@%RN42!J aQ@;VtfoWQU^`Yqi0000+}Cm zp#Q+Y!2kdM*4yH<&i~`%j((Vt#gpX2M+{9`@&B>$ z|8t=K>hb=2F)>;(F_Yo{lc4`GF<#{E|K`&F%i#6J#m3R||4_pJ>+|Et$jLE(#lphE zF%>VypsQ>i${^jfTz{}w4 z*1)~g|8uSXTciHr=ke(O|J~{T*yjJ9!~co5|FN+0(2z`)kPz{`-k|K8;7-rn9? zF<#*H|C6!*?ehNS?fCWo_3QuZ%hup~Fp7o|deBU8#?^F?-TErWAz1nNkjO%MJ zQy`pPulBm#CmEpEzx0YARc}_j<}=$ZC};%cRd+oyFK8G^$c6O^l}5ouf{8460mN969e5MElQ&M%#Y8FIU@rQ@z%u zz%sQPFK(S**Q=XF7GGjoZ*u$CRj)X5_3G72PH~r0uTnG%e1gT6U;_fTSq`%VZEIxmH$orlJm!q`s`PQRq57`srkSaRt1N1saQ~-B%9~jrt z;@c|xxmP4~=ma*`=#`Lf_UWDlVHgMl@FlkP4`eDh6o+OCsGtTvAYG&xbgF|D7eS}~ z|J9a)rKMI9Gs!($0{0Hbdk7(f5JCtcgb+giVao&GM8LN&Y$26rLdga6;Jyo-!JG74 zkPNA)uPa8v% zfO#PYX_F=UdG+>o^>dY45?tpRk`y5&*Px^bj#1?1x~8eTm%!#Y@3>Sk;AeH=P=G&p zAyv+G%+=rJ-COs!?0rTrgjt}0pFw>=L=I3UoKdbw zahkbeMOLnA)BWiPE{!ir(jn6*;*Y zmO69I-3_)`kOuRG;j&0dOahu1yCn!i7ucYlF}czyDpy+Z$>rKqjJ~Wd-i@|RklyV5 zA4kd~c}cMibu9XHVLKoxN?hq5RIaq*lgssZtn_SexE>!)9=QD@EBxzW-inKJ{5lk$G07H?HtCxzH%9usLk;e6kJFS-J(_!Tr z*@ey9NQO+jnUya_gT)~=2K0!_cIUyYD`NTb@fy;G} z9kVi&9{=1$Rb=IASP$23_R3h;RAZF(1>VN44t}$Xw*`-$D^g_SD(dWGv>`Cnn(m%jN(>OvyrShCVR%GAOdy-vaizMFiwl}m$#kV^)-sHR zm4lUa7FKV7#dR{xwE&m3xEM#bFvF#g5eOsT4FfIqj5nl&kB^U!kB^U!kB^U!kI!@F YKUAgn0u4+D4gdfE07*qoM6N<$f}G?R*8l(j literal 0 HcmV?d00001 diff --git a/docs/assets/234550_c1e8282f_416720.png b/docs/assets/234550_c1e8282f_416720.png index 2cc288f57b811ac26d244041e306158be3c0482f..1e54d0c0ea9a4ee4a77f237b2377ab97462c531a 100644 GIT binary patch literal 4153 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 DYY8IZ literal 15979 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 omL;M}WQy?bJgI9O`rRMz$Gv9vLACkcLFC`0#N