diff --git a/.vs/Product_Manager/FileContentIndex/63cb3d92-c2f8-4112-ab2d-c65231547413.vsidx b/.vs/Product_Manager/FileContentIndex/63cb3d92-c2f8-4112-ab2d-c65231547413.vsidx new file mode 100644 index 0000000..aa0ef88 Binary files /dev/null and b/.vs/Product_Manager/FileContentIndex/63cb3d92-c2f8-4112-ab2d-c65231547413.vsidx differ diff --git a/.vs/Product_Manager/FileContentIndex/81947c27-65d3-4d88-bcd0-5eca0a0b693e.vsidx b/.vs/Product_Manager/FileContentIndex/81947c27-65d3-4d88-bcd0-5eca0a0b693e.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/Product_Manager/FileContentIndex/81947c27-65d3-4d88-bcd0-5eca0a0b693e.vsidx differ diff --git a/.vs/Product_Manager/FileContentIndex/dc2342ef-5660-4d70-8559-8e98ed5eb2a9.vsidx b/.vs/Product_Manager/FileContentIndex/dc2342ef-5660-4d70-8559-8e98ed5eb2a9.vsidx new file mode 100644 index 0000000..988fa76 Binary files /dev/null and b/.vs/Product_Manager/FileContentIndex/dc2342ef-5660-4d70-8559-8e98ed5eb2a9.vsidx differ diff --git a/.vs/Product_Manager/v17/.suo b/.vs/Product_Manager/v17/.suo new file mode 100644 index 0000000..781f3e7 Binary files /dev/null and b/.vs/Product_Manager/v17/.suo differ diff --git a/.vs/Product_Manager/v17/DocumentLayout.backup.json b/.vs/Product_Manager/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..0c61cca --- /dev/null +++ b/.vs/Product_Manager/v17/DocumentLayout.backup.json @@ -0,0 +1,101 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\2025.4.22 product manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\product_manager ver 2.0.0\\product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mainform.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mysqlmoudule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mysqlmoudule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\formsetting.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\formsetting.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "MainForm.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeToolTip": "Product_Manager\\MainForm.vb", + "ViewState": "AgIAAL4CAAAAAAAAAAAhwLQCAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-22T07:32:42.211Z", + "IsPinned": true, + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "MainForm.vb [\uB514\uC790\uC778]", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb [\uB514\uC790\uC778]", + "RelativeToolTip": "Product_Manager\\MainForm.vb [\uB514\uC790\uC778]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-30T06:11:26.64Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainForm.Designer.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.Designer.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.Designer.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.Designer.vb", + "RelativeToolTip": "Product_Manager\\MainForm.Designer.vb", + "ViewState": "AgIAAEQRAAAAAAAAAAAYwEwRAAAyAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-29T08:36:43.49Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "MySqlMoudule.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MySqlMoudule.vb", + "RelativeDocumentMoniker": "Product_Manager\\MySqlMoudule.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MySqlMoudule.vb", + "RelativeToolTip": "Product_Manager\\MySqlMoudule.vb", + "ViewState": "AgIAAE8AAAAAAAAAAAAkwF4AAAAdAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-29T01:19:00.498Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "FormSetting.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\FormSetting.vb", + "RelativeDocumentMoniker": "Product_Manager\\FormSetting.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\FormSetting.vb", + "RelativeToolTip": "Product_Manager\\FormSetting.vb", + "ViewState": "AgIAAEsDAAAAAAAAAAAhwBEEAAAdAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-23T00:51:21.907Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/Product_Manager/v17/DocumentLayout.json b/.vs/Product_Manager/v17/DocumentLayout.json new file mode 100644 index 0000000..d298d94 --- /dev/null +++ b/.vs/Product_Manager/v17/DocumentLayout.json @@ -0,0 +1,101 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|c:\\users\\jomt-note-pc\\secudrive dg\\2025.4.22 product manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\product_manager ver 2.0.0\\product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mainform.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mainform.designer.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\mysqlmoudule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\mysqlmoudule.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\product_manager\\formsetting.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}|Product_Manager\\Product_Manager.vbproj|solutionrelative:product_manager\\formsetting.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "MainForm.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeToolTip": "Product_Manager\\MainForm.vb", + "ViewState": "AgIAAH0CAAAAAAAAAAAawIUCAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-22T07:32:42.211Z", + "IsPinned": true, + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "MainForm.vb [\uB514\uC790\uC778]", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.vb [\uB514\uC790\uC778]", + "RelativeToolTip": "Product_Manager\\MainForm.vb [\uB514\uC790\uC778]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-30T06:11:26.64Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainForm.Designer.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.Designer.vb", + "RelativeDocumentMoniker": "Product_Manager\\MainForm.Designer.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MainForm.Designer.vb", + "RelativeToolTip": "Product_Manager\\MainForm.Designer.vb", + "ViewState": "AgIAAEQRAAAAAAAAAAAYwEwRAAAyAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-29T08:36:43.49Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "MySqlMoudule.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MySqlMoudule.vb", + "RelativeDocumentMoniker": "Product_Manager\\MySqlMoudule.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\MySqlMoudule.vb", + "RelativeToolTip": "Product_Manager\\MySqlMoudule.vb", + "ViewState": "AgIAAE8AAAAAAAAAAAAkwF4AAAAdAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-29T01:19:00.498Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "FormSetting.vb", + "DocumentMoniker": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\FormSetting.vb", + "RelativeDocumentMoniker": "Product_Manager\\FormSetting.vb", + "ToolTip": "C:\\Users\\JOMT-NOTE-PC\\SECUDRIVE DG\\2025.4.22 Product Manager \uD504\uB85C\uADF8\uB7A8 \uC694\uAD6C\uC0AC\uD56D \uAC1C\uC120\\2. \uAC1C\uC120\\Product_Manager Ver 2.0.0\\Product_Manager\\FormSetting.vb", + "RelativeToolTip": "Product_Manager\\FormSetting.vb", + "ViewState": "AgIAAEsDAAAAAAAAAAAhwBEEAAAdAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2025-04-23T00:51:21.907Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/Product_Manager.sln b/Product_Manager.sln new file mode 100644 index 0000000..30d65f1 --- /dev/null +++ b/Product_Manager.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33627.172 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Product_Manager", "Product_Manager\Product_Manager.vbproj", "{D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D5EE7B3E-74FD-46B4-B3A5-3C7B88245481}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CD1AE91D-15B3-46C4-BBF5-AD45F8A3D27D} + EndGlobalSection +EndGlobal diff --git a/Product_Manager/App.config b/Product_Manager/App.config new file mode 100644 index 0000000..1c75772 --- /dev/null +++ b/Product_Manager/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Product_Manager/FormSetting.vb b/Product_Manager/FormSetting.vb new file mode 100644 index 0000000..dff7105 --- /dev/null +++ b/Product_Manager/FormSetting.vb @@ -0,0 +1,1354 @@ +Module FormSetting + + Public Enum ModeList + DUALSONIC + MAXIMUM + ALTO + EFFECT + MAX_Mode + End Enum + Public SelectModel As Int16 + + Public Sub StartTop() + + With MainForm + + '' 상단 컴포넌트 + With .pnTop + .Location = New Point(0, 0) + .Size = New Size(1210, 90) + End With + + With .gbProdSelect + .Location = New Point(10, 5) + .Size = New Size(400, 80) + End With + + With .gbComport + .Location = New Point(415, 5) + .Size = New Size(350, 80) + End With + + With .lbComport + .Location = New Point(20, 35) + End With + + With .cboComport + .Location = New Point(105, 32) + .Size = New Size(140, 32) + End With + + With .btnComport + .Location = New Point(250, 30) + .Size = New Size(75, 37) + End With + + With .gbEtcOp + .Location = New Point(770, 5) + .Size = New Size(125, 80) + End With + + With .ckbDBUse + .Location = New Point(20, 35) + End With + + With .gbOpOut + .Location = New Point(900, 5) + .Size = New Size(310, 80) + End With + + With .rdbUseTime + .Location = New Point(40, 35) + .Size = New Size(106, 28) + End With + + With .rdbDev + .Location = New Point(165, 35) + .Size = New Size(106, 28) + End With + + With .pnBottom + .Location = New Point(0, 90) + .Enabled = False + End With + + End With + + End Sub + + Public Sub DUALForm_Setting() + AuthSetting("인증코드설정", "카트리지") + DefaultSetting() + ModeSetting(SelectModel) + DUALSetting() + End Sub + + Private Sub DUALSetting() + MainForm.gbTD.Enabled = False + MainForm.rdbDev.Enabled = True + MainForm.rdbDev.Checked = True + MainForm.rdbUseTime.Checked = False + End Sub + + Public Sub MAXForm_Setting() + AuthSetting("플래쉬 설정값 초기화", "초기화") + DefaultSetting() + ModeSetting(SelectModel) + MAXSetting() + End Sub + + Public Sub ALTOForm_Setting() + AuthSetting("플래쉬 설정값 초기화", "초기화") + DefaultSetting() + ModeSetting(SelectModel) + MAXSetting() + End Sub + + Public Sub EFFECTForm_Setting() + AuthSetting("플래쉬 설정값 초기화", "초기화") + DefaultSetting() + ModeSetting(SelectModel) + MAXSetting() + End Sub + + Private Sub MAXSetting() + With MainForm + + With .rdbDev + .Enabled = False + .Checked = False + End With + + With .rdbUseTime + .Checked = True + End With + + With .txbTDSerial + .Text = "DITI" + End With + + With .txbShot + .Text = "0" + End With + + With .txbMaxShot + .Text = "0" + End With + + With .gbTD + .Enabled = True + End With + + End With + End Sub + + Private Sub ModeSetting(ModelNum As Int16) + InfoModeSetting(ModelNum) + ShotCountSetting(ModelNum) + MotorOpSetting(ModelNum) + FreqOpSetting(ModelNum) + End Sub + + Private Sub DefaultSetting() + InfoSetting() + AreaSetting() + TDSetting() + FreqPowerSetting() + ShotSetting() + MotorSetting() + DeviceOpSetting() + End Sub + + Private Sub AuthSetting(btnStr As String, btnStr2 As String) + + '' 인증 항목 + With MainForm + With .gbAuth + .Location = New Point(10, 35) + .Size = New Size(380, 70) + .Text = btnStr + End With + + With .txbAuthBox + .Location = New Point(20, 30) + .Size = New Size(130, 29) + .Text = String.Empty + .BackColor = Color.FromArgb(0, 192, 0) + .Visible = False + End With + + With .btnAuth + .Location = New Point(160, 27) + .Size = New Size(210, 35) + .Text = btnStr2 + End With + + End With + End Sub + + Private Sub InfoSetting() + With MainForm + With .gbInfo + .Text = "제품 정보 설정" + .Location = New Point(10, 125) + .Size = New Size(380, 330) + End With + + ''---------------------------------------------------- + + With .pnIfNumber + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbIfBarcode + .Location = New Point(5, 7) + End With + + With .txbIfNumber + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Text = "10" & Format(Now, "yy") & Format(Now, "MM") & "000000" + .ReadOnly = True + End With + + ''---------------------------------------------------- + + With .pnIfCode + .Location = New Point(10, 70) + .Size = New Size(360, 40) + End With + + With .lbIfCode + .Location = New Point(5, 7) + End With + + With .txbIfCode + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Text = "JOMT" + .MaxLength = 4 + End With + + ''---------------------------------------------------- + + With .pnIfDate + .Location = New Point(10, 110) + .Size = New Size(360, 40) + End With + + With .lbIfDate + .Location = New Point(23, 7) + End With + + With .lbIfYear + .Location = New Point(140, 8) + End With + + With .nudIfYear + .Location = New Point(175, 5) + .Size = New Size(65, 32) + .TextAlign = HorizontalAlignment.Center + .Minimum = 10 + .Maximum = 99 + .Text = Format(Now, "yy") + End With + + ''---------------------------------------------------- + + With .lbIfMonth + .Location = New Point(250, 8) + End With + + With .nudIfMonth + .Location = New Point(285, 5) + .Size = New Size(65, 32) + .TextAlign = HorizontalAlignment.Center + .Minimum = 1 + .Maximum = 12 + .Text = Format(Now, "MM") + End With + + ''-------------------------------------------------------- + + With .pnIfSerial + .Location = New Point(10, 230) + .Size = New Size(360, 40) + End With + + With .lbIfSerial + .Location = New Point(5, 7) + End With + + With .nudIfSerial + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Maximum = 999999 + .Minimum = 0 + End With + + With .pnIfResult + .Location = New Point(10, 270) + .Size = New Size(360, 50) + End With + + With .btnIfWrite + .Location = New Point(250, 5) + .Size = New Size(105, 40) + .Text = "쓰기" + End With + + With .btnIfRead + .Location = New Point(145, 5) + .Size = New Size(105, 40) + End With + + With .txbInfoBox + .Location = New Point(10, 12) + .Size = New Size(130, 29) + .TextAlign = HorizontalAlignment.Center + .Text = String.Empty + .BackColor = Color.FromArgb(0, 192, 0) + .Visible = False + End With + + End With + End Sub + + Private Sub InfoModeSetting(ModeNum As Int16) + Select Case ModeNum + Case ModeList.DUALSONIC + + With MainForm + + With .gbInfo + .Size = New Size(380, 330) + End With + + With .pnIfMoTy + .Location = New Point(10, 150) + .Size = New Size(360, 80) + End With + + With .pnIfModel + .Location = New Point(0, 0) + .Size = New Size(360, 40) + End With + + With .lbIfModel + .Location = New Point(23, 7) + .Text = "모델종류" + End With + + With .rdbIfPRO_V1 + .Location = New Point(110, 7) + .Text = "PRO" + .Checked = True + .Visible = True + .Enabled = True + End With + + With .rdbIfLUX_V2 + .Location = New Point(190, 7) + .Text = "LUX" + .Checked = False + .Visible = True + .Enabled = True + End With + + With .rdbIfALPHA + .Location = New Point(260, 7) + .Text = "ALPHA" + .Checked = False + .Visible = True + .Enabled = True + End With + + With .pnIfType + .Location = New Point(0, 40) + .Size = New Size(360, 40) + .Visible = True + .Enabled = True + End With + + With .lbIfType + .Location = New Point(23, 7) + End With + + With .rdbIfFace + .Location = New Point(110, 7) + .Checked = True + End With + + With .rdbIfEye + .Location = New Point(190, 7) + End With + + With .rdbIfBody + .Location = New Point(260, 7) + End With + + With .pnIfSerial + .Location = New Point(10, 230) + End With + + With .pnIfResult + .Location = New Point(10, 270) + End With + + + End With + + Case ModeList.MAXIMUM + + With MainForm + + With .gbInfo + .Size = New Size(380, 290) + End With + + With .pnIfMoTy + .Location = New Point(10, 150) + .Size = New Size(360, 40) + End With + + With .pnIfModel + .Location = New Point(0, 0) + .Size = New Size(360, 40) + End With + + With .lbIfModel + .Location = New Point(23, 7) + .Text = "타입종류" + End With + + With .rdbIfPRO_V1 + .Location = New Point(110, 7) + .Text = "V1" + .Checked = False + .Visible = True + .Enabled = True + End With + + With .rdbIfLUX_V2 + .Location = New Point(190, 7) + .Text = "V2" + .Checked = True + .Visible = True + .Enabled = True + End With + + With .rdbIfALPHA + .Location = New Point(260, 7) + .Text = "ALPHA" + .Checked = False + .Visible = False + .Enabled = False + End With + + With .pnIfType + .Location = New Point(0, 40) + .Size = New Size(360, 40) + .Visible = False + .Enabled = False + End With + + With .lbIfType + .Location = New Point(23, 7) + End With + + With .rdbIfFace + .Location = New Point(110, 7) + .Checked = True + End With + + With .rdbIfEye + .Location = New Point(190, 7) + .Checked = False + End With + + With .rdbIfBody + .Location = New Point(260, 7) + .Checked = False + End With + + With .pnIfSerial + .Location = New Point(10, 190) + End With + + With .pnIfResult + .Location = New Point(10, 230) + End With + + End With + + Case ModeList.ALTO + With MainForm + + With .gbInfo + .Size = New Size(380, 290) + End With + + With .pnIfMoTy + .Location = New Point(10, 150) + .Size = New Size(360, 40) + End With + + With .pnIfModel + .Location = New Point(0, 0) + .Size = New Size(360, 40) + End With + + With .lbIfModel + .Location = New Point(23, 7) + .Text = "타입종류" + End With + + With .rdbIfPRO_V1 + .Location = New Point(110, 7) + .Text = "SET" + .Checked = True + .Visible = True + .Enabled = True + End With + + With .rdbIfLUX_V2 + .Location = New Point(190, 7) + .Text = "V2" + .Checked = False + .Visible = False + .Enabled = False + End With + + With .rdbIfALPHA + .Location = New Point(260, 7) + .Text = "ALPHA" + .Checked = False + .Visible = False + .Enabled = False + End With + + With .pnIfType + .Location = New Point(0, 40) + .Size = New Size(360, 40) + .Visible = False + .Enabled = False + End With + + With .lbIfType + .Location = New Point(23, 7) + End With + + With .rdbIfFace + .Location = New Point(110, 7) + .Checked = True + End With + + With .rdbIfEye + .Location = New Point(190, 7) + .Checked = False + End With + + With .rdbIfBody + .Location = New Point(260, 7) + .Checked = False + End With + + With .pnIfSerial + .Location = New Point(10, 190) + End With + + With .pnIfResult + .Location = New Point(10, 230) + End With + + + End With + + Case ModeList.EFFECT + With MainForm + + With .gbInfo + .Size = New Size(380, 290) + End With + + With .pnIfMoTy + .Location = New Point(10, 150) + .Size = New Size(360, 40) + End With + + With .pnIfModel + .Location = New Point(0, 0) + .Size = New Size(360, 40) + End With + + With .lbIfModel + .Location = New Point(23, 7) + .Text = "타입종류" + End With + + With .rdbIfPRO_V1 + .Location = New Point(110, 7) + .Text = "SET" + .Checked = True + .Visible = True + .Enabled = True + End With + + With .rdbIfLUX_V2 + .Location = New Point(190, 7) + .Text = "V2" + .Checked = False + .Visible = False + .Enabled = False + End With + + With .rdbIfALPHA + .Location = New Point(260, 7) + .Text = "ALPHA" + .Checked = False + .Visible = False + .Enabled = False + End With + + With .pnIfType + .Location = New Point(0, 40) + .Size = New Size(360, 40) + .Visible = False + .Enabled = False + End With + + With .lbIfType + .Location = New Point(23, 7) + End With + + With .rdbIfFace + .Location = New Point(110, 7) + .Checked = True + End With + + With .rdbIfEye + .Location = New Point(190, 7) + .Checked = False + End With + + With .rdbIfBody + .Location = New Point(260, 7) + .Checked = False + End With + + With .pnIfSerial + .Location = New Point(10, 190) + End With + + With .pnIfResult + .Location = New Point(10, 230) + End With + + End With + Case Else + MsgBox("잘못된 경로입니다.", vbCritical) + End Select + + End Sub + + Private Sub AreaSetting() + With MainForm + With .gbArea + .Location = New Point(10, 475) + .Size = New Size(380, 170) + End With + + + With .pnAbroad + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbAbroad + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .txbAbroad + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Text = "0" + End With + + + With .pnAgency + .Location = New Point(10, 70) + .Size = New Size(360, 40) + End With + + With .lbAgency + .Location = New Point(5, 7) + .Size = New Size(100, 24) + End With + + With .txbAgency + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Text = "0" + End With + + + With .pnArResult + .Location = New Point(10, 110) + .Size = New Size(360, 50) + End With + + With .txbAreaBox + + .Location = New Point(10, 12) + .Size = New Size(130, 29) + .BackColor = Color.FromArgb(0, 192, 0) + .TextAlign = HorizontalAlignment.Center + .Text = String.Empty + .Visible = False + + End With + + With .btnArRead + .Location = New Point(145, 5) + .Size = New Size(105, 40) + End With + + With .btnArWrite + .Location = New Point(250, 5) + .Size = New Size(105, 40) + End With + + End With + End Sub + + Private Sub TDSetting() + With MainForm + With .gbTD + .Location = New Point(400, 35) + .Size = New Size(380, 130) + End With + + With .pnTDSerial + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbTDSerial + .Location = New Point(5, 7) + .Size = New Size(100, 24) + End With + + With .txbTDSerial + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "DITI" + .TextAlign = HorizontalAlignment.Center + .CharacterCasing = CharacterCasing.Upper + .MaxLength = 10 + .ImeMode = ImeMode.Disable + End With + + + With .pnTdResult + .Location = New Point(10, 70) + .Size = New Size(360, 50) + End With + + With .txbTDBox + .Location = New Point(10, 12) + .Size = New Size(130, 29) + .BackColor = Color.FromArgb(0, 192, 0) + .Text = String.Empty + .Visible = False + End With + + With .btnTdRead + .Location = New Point(145, 5) + .Size = New Size(105, 40) + End With + + With .btnTdWrite + .Location = New Point(250, 5) + .Size = New Size(105, 40) + End With + End With + End Sub + + Private Sub FreqPowerSetting() + With MainForm + With .gbFreqPwr + .Location = New Point(400, 170) + .Size = New Size(380, 170) + End With + + With .pnFreq + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbFreq + .Location = New Point(41, 7) + .Size = New Size(64, 24) + End With + + With .txbFreq + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "7000" + .TextAlign = HorizontalAlignment.Center + End With + + + With .pnPower + .Location = New Point(10, 70) + .Size = New Size(360, 40) + End With + + With .lbPower + .Location = New Point(59, 7) + .Size = New Size(46, 24) + End With + + With .txbPower + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + End With + End Sub + + Private Sub ShotSetting() + With MainForm + With .gbShot + .Location = New Point(400, 475) + .Size = New Size(380, 170) + End With + + With .pnShot + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbShot + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .txbShot + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + + + With .pnMaxShot + .Location = New Point(10, 70) + .Size = New Size(360, 40) + End With + + With .lbMaxShot + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .txbMaxShot + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + + + With .pnShResult + .Location = New Point(10, 70) + .Size = New Size(360, 50) + End With + + With .txbShotBox + .Location = New Point(10, 12) + .Size = New Size(130, 29) + .BackColor = Color.FromArgb(0, 192, 0) + .Text = String.Empty + .Visible = False + End With + + With .btnShRead + .Location = New Point(145, 5) + .Size = New Size(105, 40) + End With + + With .btnShWrite + .Location = New Point(250, 5) + .Size = New Size(105, 40) + End With + End With + End Sub + + Private Sub ShotCountSetting(ModelNum As Int16) + Select Case ModelNum + Case ModeList.DUALSONIC + + With MainForm + With .pnMaxShot + .Visible = True + End With + + With .pnShResult + .Location = New Point(10, 110) + End With + + With .gbShot + .Enabled = True + End With + + End With + + Case ModeList.MAXIMUM + + With MainForm + With .pnMaxShot + .Visible = False + End With + + With .pnShResult + .Location = New Point(10, 70) + End With + + With .gbShot + .Enabled = True + End With + + End With + Case ModeList.ALTO + + With MainForm + With .gbShot + .Enabled = False + End With + End With + Case ModeList.EFFECT + With MainForm + With .pnMaxShot + .Visible = False + End With + + With .pnShResult + .Location = New Point(10, 70) + End With + + With .gbShot + .Enabled = True + End With + + End With + Case Else + MsgBox("잘못된 경로입니다.", vbCritical) + End Select + End Sub + + Private Sub MotorSetting() + With MainForm + With .gbMotor + .Location = New Point(400, 340) + .Size = New Size(380, 130) + End With + + With .pnMotor + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbMotor + .Location = New Point(5, 7) + .Size = New Size(100, 24) + End With + + With .txbMotor + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + End With + End Sub + + Private Sub MotorOpSetting(ModelNum As Int16) + Select Case ModelNum + Case ModeList.DUALSONIC + With MainForm + With .lbMotor + .Location = New Point(41, 7) + .Text = "백러쉬" + End With + + With .gbMotor + .Enabled = True + End With + End With + + Case ModeList.MAXIMUM + With MainForm + With .lbMotor + .Location = New Point(23, 7) + .Text = "모터이동" + End With + + With .gbMotor + .Enabled = True + End With + End With + + Case ModeList.ALTO + + With MainForm + With .gbMotor + .Enabled = False + End With + + With .lbMotor + .Location = New Point(23, 7) + .Text = "모터이동" + End With + End With + Case ModeList.EFFECT + With MainForm + With .lbMotor + .Location = New Point(23, 7) + .Text = "모터이동" + End With + + With .gbMotor + .Enabled = True + End With + End With + Case Else + MsgBox("잘못된 경로입니다.", vbCritical) + End Select + End Sub + + Private Sub FreqOpSetting(ModelNum As Int16) + Select Case ModelNum + Case ModeList.DUALSONIC + + With MainForm + With .gbFreqPwr + .Enabled = True + End With + End With + + Case ModeList.MAXIMUM + With MainForm + + With .gbFreqPwr + .Enabled = True + End With + + End With + + Case ModeList.ALTO + + With MainForm + With .gbFreqPwr + .Enabled = False + End With + End With + + Case ModeList.EFFECT + With MainForm + + With .gbFreqPwr + .Enabled = True + End With + + End With + Case Else + MsgBox("잘못된 경로입니다.", vbCritical) + End Select + End Sub + + Private Sub DeviceOpSetting() + With MainForm + With .gbDevice + .Location = New Point(810, 5) + .Size = New Size(400, 505) + End With + + + With .gbDvAuth + .Location = New Point(10, 35) + .Size = New Size(380, 70) + End With + + + With .txbDvAuthBox + .Location = New Point(20, 30) + .Size = New Size(130, 29) + .Text = String.Empty + .TextAlign = HorizontalAlignment.Center + .BackColor = Color.FromArgb(0, 192, 0) + End With + + With .btnDvAuth + .Location = New Point(160, 27) + .Size = New Size(210, 35) + .Text = "본체" + End With + + + With .gbDvInfo + .Location = New Point(10, 125) + .Size = New Size(380, 365) + End With + + With .pnDvNumber + .Location = New Point(10, 30) + .Size = New Size(360, 40) + End With + + With .lbDvNumber + .Location = New Point(5, 7) + .Size = New Size(100, 24) + .Text = "바코드넘버" + End With + + With .txbDvNumber + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = String.Empty + .TextAlign = HorizontalAlignment.Center + .ReadOnly = True + End With + + With .pnDvCode + .Location = New Point(10, 70) + .Size = New Size(360, 40) + End With + + With .lbDvCode + .Location = New Point(5, 7) + .Size = New Size(100, 24) + End With + + With .txbDvCode + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "JOMT" + .TextAlign = HorizontalAlignment.Center + End With + + With .pnDvDate + .Location = New Point(10, 110) + .Size = New Size(360, 40) + End With + + With .lbDvDate + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .lbDvYear + .Location = New Point(140, 8) + .Size = New Size(28, 24) + End With + + With .nudDvYear + .Location = New Point(175, 5) + .Size = New Size(65, 32) + .TextAlign = HorizontalAlignment.Center + .Text = Format(Now, "yy") + .Maximum = 99 + .Minimum = 10 + End With + + With .lbDvMonth + .Location = New Point(250, 8) + .Size = New Size(28, 24) + End With + + With .nudDvMonth + .Location = New Point(285, 5) + .Size = New Size(65, 32) + .TextAlign = HorizontalAlignment.Center + .Text = Format(Now, "MM") + .Maximum = 12 + .Minimum = 1 + End With + + With .pnDvMoTy + .Location = New Point(10, 150) + .Size = New Size(360, 40) + End With + + With .pnDvModel + .Location = New Point(0, 0) + .Size = New Size(360, 40) + End With + + With .lbDvModel + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .rdbDvPRO + .Location = New Point(110, 7) + .Size = New Size(66, 28) + End With + + With .rdbDvLUX + .Location = New Point(182, 7) + .Size = New Size(67, 28) + End With + + With .rdbDvALPHA + .Location = New Point(260, 7) + .Size = New Size(91, 28) + End With + + + With .pnDvSerial + .Location = New Point(10, 190) + .Size = New Size(360, 40) + End With + + With .lbDvSerial + .Location = New Point(5, 7) + .Size = New Size(100, 24) + End With + + With .nudDvSerial + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .TextAlign = HorizontalAlignment.Center + .Text = 0 + .Maximum = 999999 + .Minimum = 0 + End With + + With .pnDvAbroad + .Location = New Point(10, 230) + .Size = New Size(360, 40) + End With + + With .lbDvAbroad + .Location = New Point(23, 7) + .Size = New Size(82, 24) + End With + + With .txbDvAbroad + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + + With .pnDvAgency + .Location = New Point(10, 270) + .Size = New Size(360, 40) + End With + + With .lbDvAgency + .Location = New Point(5, 7) + .Size = New Size(5, 7) + End With + + With .txbDvAgency + .Location = New Point(145, 5) + .Size = New Size(205, 32) + .Text = "0" + .TextAlign = HorizontalAlignment.Center + End With + + With .pnDvResult + .Location = New Point(10, 310) + .Size = New Size(360, 50) + End With + + With .txbDvInfoBox + .Location = New Point(10, 12) + .Size = New Size(130, 29) + .BackColor = Color.FromArgb(0, 192, 0) + .Text = String.Empty + .TextAlign = HorizontalAlignment.Center + End With + + With .btnDvRead + .Location = New Point(145, 5) + .Size = New Size(105, 40) + End With + + With .btnDvWrite + .Location = New Point(250, 5) + .Size = New Size(105, 40) + End With + + End With + End Sub + + Public Sub ResetClear() + With MainForm + .txbIfNumber.Text = String.Empty + .txbIfCode.Text = String.Empty + .nudIfYear.Text = Format(Now, "yy") + .nudIfMonth.Text = Format(Now, "MM") + .rdbIfPRO_V1.Checked = True + .rdbIfLUX_V2.Checked = False + .rdbIfALPHA.Checked = False + .rdbIfFace.Checked = True + .rdbIfEye.Checked = False + .rdbIfBody.Checked = False + .nudIfSerial.Text = String.Empty + .txbAbroad.Text = String.Empty + .txbAgency.Text = String.Empty + .txbTDSerial.Text = String.Empty + .txbFreq.Text = String.Empty + .txbPower.Text = String.Empty + .txbMotor.Text = String.Empty + .txbShot.Text = String.Empty + .txbMaxShot.Text = String.Empty + + .txbALFtDay.Text = "0000" + .txbALFtHour.Text = "00" + .txbALFtMin.Text = "00" + .txbALFtSec.Text = "00" + .txbALEtDay.Text = "0000" + .txbALEtHour.Text = "00" + .txbALEtMin.Text = "00" + .txbALEtSec.Text = "00" + .txbALCsDay.Text = "0000" + .txbALCsHour.Text = "00" + .txbALCsMin.Text = "00" + .txbALCsSec.Text = "00" + + .txbALLtDay.Text = "0000" + .txbALLtHour.Text = "00" + .txbALLtMin.Text = "00" + .txbALLtSec.Text = "00" + .txbALBtDay.Text = "0000" + .txbALBtHour.Text = "00" + .txbALBtMin.Text = "00" + .txbALBtSec.Text = "00" + + .txbALAllDay.Text = "0000" + .txbALAllHour.Text = "00" + .txbALAllMin.Text = "00" + .txbALAllSec.Text = "00" + + .txbALAllErr.Text = String.Empty + + End With + + + + End Sub + + +End Module diff --git a/Product_Manager/JOMT 아이콘_ICO.ico b/Product_Manager/JOMT 아이콘_ICO.ico new file mode 100644 index 0000000..db1f26d Binary files /dev/null and b/Product_Manager/JOMT 아이콘_ICO.ico differ diff --git a/Product_Manager/MainForm.Designer.vb b/Product_Manager/MainForm.Designer.vb new file mode 100644 index 0000000..f30506f --- /dev/null +++ b/Product_Manager/MainForm.Designer.vb @@ -0,0 +1,5007 @@ + _ +Partial Class MainForm + Inherits System.Windows.Forms.Form + + 'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows Form 디자이너에 필요합니다. + Private components As System.ComponentModel.IContainer + + '참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. + '수정하려면 Windows Form 디자이너를 사용하십시오. + '코드 편집기에서는 수정하지 마세요. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainForm)) + Me.gbProdSelect = New System.Windows.Forms.GroupBox() + Me.rdbEffect = New System.Windows.Forms.RadioButton() + Me.rdbAlto = New System.Windows.Forms.RadioButton() + Me.rdbMax = New System.Windows.Forms.RadioButton() + Me.rdbDual = New System.Windows.Forms.RadioButton() + Me.gbComport = New System.Windows.Forms.GroupBox() + Me.btnComport = New System.Windows.Forms.Button() + Me.cboComport = New System.Windows.Forms.ComboBox() + Me.lbComport = New System.Windows.Forms.Label() + Me.pnTop = New System.Windows.Forms.Panel() + Me.gbOpOut = New System.Windows.Forms.GroupBox() + Me.rdbUseTime = New System.Windows.Forms.RadioButton() + Me.rdbDev = New System.Windows.Forms.RadioButton() + Me.gbEtcOp = New System.Windows.Forms.GroupBox() + Me.ckbDBUse = New System.Windows.Forms.CheckBox() + Me.pnBottom = New System.Windows.Forms.Panel() + Me.btnwrite = New System.Windows.Forms.Button() + Me.gbSetting = New System.Windows.Forms.GroupBox() + Me.gbMotor = New System.Windows.Forms.GroupBox() + Me.pnMtResult = New System.Windows.Forms.Panel() + Me.btnMtWrite = New System.Windows.Forms.Button() + Me.btnMtRead = New System.Windows.Forms.Button() + Me.txbMtBox = New System.Windows.Forms.TextBox() + Me.pnMotor = New System.Windows.Forms.Panel() + Me.txbMotor = New System.Windows.Forms.TextBox() + Me.lbMotor = New System.Windows.Forms.Label() + Me.gbShot = New System.Windows.Forms.GroupBox() + Me.pnShResult = New System.Windows.Forms.Panel() + Me.btnShWrite = New System.Windows.Forms.Button() + Me.btnShRead = New System.Windows.Forms.Button() + Me.txbShotBox = New System.Windows.Forms.TextBox() + Me.pnMaxShot = New System.Windows.Forms.Panel() + Me.txbMaxShot = New System.Windows.Forms.TextBox() + Me.lbMaxShot = New System.Windows.Forms.Label() + Me.pnShot = New System.Windows.Forms.Panel() + Me.txbShot = New System.Windows.Forms.TextBox() + Me.lbShot = New System.Windows.Forms.Label() + Me.gbFreqPwr = New System.Windows.Forms.GroupBox() + Me.pnFPResult = New System.Windows.Forms.Panel() + Me.btnFPWrite = New System.Windows.Forms.Button() + Me.btnFPRead = New System.Windows.Forms.Button() + Me.txbFPBox = New System.Windows.Forms.TextBox() + Me.pnPower = New System.Windows.Forms.Panel() + Me.txbPower = New System.Windows.Forms.TextBox() + Me.lbPower = New System.Windows.Forms.Label() + Me.pnFreq = New System.Windows.Forms.Panel() + Me.txbFreq = New System.Windows.Forms.TextBox() + Me.lbFreq = New System.Windows.Forms.Label() + Me.gbTD = New System.Windows.Forms.GroupBox() + Me.pnTdResult = New System.Windows.Forms.Panel() + Me.btnTdWrite = New System.Windows.Forms.Button() + Me.btnTdRead = New System.Windows.Forms.Button() + Me.txbTDBox = New System.Windows.Forms.TextBox() + Me.pnTDSerial = New System.Windows.Forms.Panel() + Me.txbTDSerial = New System.Windows.Forms.TextBox() + Me.lbTDSerial = New System.Windows.Forms.Label() + Me.gbArea = New System.Windows.Forms.GroupBox() + Me.pnArResult = New System.Windows.Forms.Panel() + Me.btnArWrite = New System.Windows.Forms.Button() + Me.btnArRead = New System.Windows.Forms.Button() + Me.txbAreaBox = New System.Windows.Forms.TextBox() + Me.pnAgency = New System.Windows.Forms.Panel() + Me.txbAgency = New System.Windows.Forms.TextBox() + Me.lbAgency = New System.Windows.Forms.Label() + Me.pnAbroad = New System.Windows.Forms.Panel() + Me.txbAbroad = New System.Windows.Forms.TextBox() + Me.lbAbroad = New System.Windows.Forms.Label() + Me.gbInfo = New System.Windows.Forms.GroupBox() + Me.pnIfResult = New System.Windows.Forms.Panel() + Me.btnIfWrite = New System.Windows.Forms.Button() + Me.btnIfRead = New System.Windows.Forms.Button() + Me.txbInfoBox = New System.Windows.Forms.TextBox() + Me.pnIfSerial = New System.Windows.Forms.Panel() + Me.nudIfSerial = New System.Windows.Forms.NumericUpDown() + Me.lbIfSerial = New System.Windows.Forms.Label() + Me.pnIfMoTy = New System.Windows.Forms.Panel() + Me.pnIfType = New System.Windows.Forms.Panel() + Me.rdbIfBody = New System.Windows.Forms.RadioButton() + Me.rdbIfEye = New System.Windows.Forms.RadioButton() + Me.rdbIfFace = New System.Windows.Forms.RadioButton() + Me.lbIfType = New System.Windows.Forms.Label() + Me.pnIfModel = New System.Windows.Forms.Panel() + Me.rdbIfALPHA = New System.Windows.Forms.RadioButton() + Me.rdbIfLUX_V2 = New System.Windows.Forms.RadioButton() + Me.rdbIfPRO_V1 = New System.Windows.Forms.RadioButton() + Me.lbIfModel = New System.Windows.Forms.Label() + Me.pnIfDate = New System.Windows.Forms.Panel() + Me.nudIfMonth = New System.Windows.Forms.NumericUpDown() + Me.nudIfYear = New System.Windows.Forms.NumericUpDown() + Me.lbIfMonth = New System.Windows.Forms.Label() + Me.lbIfYear = New System.Windows.Forms.Label() + Me.lbIfDate = New System.Windows.Forms.Label() + Me.pnIfCode = New System.Windows.Forms.Panel() + Me.txbIfCode = New System.Windows.Forms.TextBox() + Me.lbIfCode = New System.Windows.Forms.Label() + Me.pnIfNumber = New System.Windows.Forms.Panel() + Me.txbIfNumber = New System.Windows.Forms.TextBox() + Me.lbIfBarcode = New System.Windows.Forms.Label() + Me.gbAuth = New System.Windows.Forms.GroupBox() + Me.btnAuth = New System.Windows.Forms.Button() + Me.txbAuthBox = New System.Windows.Forms.TextBox() + Me.gbRunTime = New System.Windows.Forms.GroupBox() + Me.gbDUALUse = New System.Windows.Forms.GroupBox() + Me.pnDuResult = New System.Windows.Forms.Panel() + Me.btnDuWrite = New System.Windows.Forms.Button() + Me.btnDuReset = New System.Windows.Forms.Button() + Me.btnDuReady = New System.Windows.Forms.Button() + Me.txbDuUseBox = New System.Windows.Forms.TextBox() + Me.pnDuError = New System.Windows.Forms.Panel() + Me.txbDuError = New System.Windows.Forms.TextBox() + Me.lbDuError = New System.Windows.Forms.Label() + Me.pnDuEye = New System.Windows.Forms.Panel() + Me.txbDuEye = New System.Windows.Forms.TextBox() + Me.lbDuEye = New System.Windows.Forms.Label() + Me.pnDuFace = New System.Windows.Forms.Panel() + Me.txbDuFace = New System.Windows.Forms.TextBox() + Me.lbDuFace = New System.Windows.Forms.Label() + Me.pnDuReady = New System.Windows.Forms.Panel() + Me.lbDuReadySec = New System.Windows.Forms.Label() + Me.txbDuReadyDay = New System.Windows.Forms.TextBox() + Me.txbDuReadySec = New System.Windows.Forms.TextBox() + Me.lbDuReadyMin = New System.Windows.Forms.Label() + Me.txbDuReadyMin = New System.Windows.Forms.TextBox() + Me.lbDuReadyHour = New System.Windows.Forms.Label() + Me.txbDuReadyHour = New System.Windows.Forms.TextBox() + Me.lbDuReadyDay = New System.Windows.Forms.Label() + Me.lbDuReady = New System.Windows.Forms.Label() + Me.pnDuFull = New System.Windows.Forms.Panel() + Me.lbDuFullSec = New System.Windows.Forms.Label() + Me.txbDuFullDay = New System.Windows.Forms.TextBox() + Me.txbDuFullSec = New System.Windows.Forms.TextBox() + Me.lbDuFullMin = New System.Windows.Forms.Label() + Me.txbDuFullMin = New System.Windows.Forms.TextBox() + Me.lbDuFullHour = New System.Windows.Forms.Label() + Me.txbDuFullHour = New System.Windows.Forms.TextBox() + Me.lbDuFullDay = New System.Windows.Forms.Label() + Me.lbDuFull = New System.Windows.Forms.Label() + Me.gbDevice = New System.Windows.Forms.GroupBox() + Me.gbDvInfo = New System.Windows.Forms.GroupBox() + Me.pnDvAgency = New System.Windows.Forms.Panel() + Me.txbDvAgency = New System.Windows.Forms.TextBox() + Me.lbDvAgency = New System.Windows.Forms.Label() + Me.pnDvAbroad = New System.Windows.Forms.Panel() + Me.txbDvAbroad = New System.Windows.Forms.TextBox() + Me.lbDvAbroad = New System.Windows.Forms.Label() + Me.pnDvResult = New System.Windows.Forms.Panel() + Me.btnDvWrite = New System.Windows.Forms.Button() + Me.btnDvRead = New System.Windows.Forms.Button() + Me.txbDvInfoBox = New System.Windows.Forms.TextBox() + Me.pnDvSerial = New System.Windows.Forms.Panel() + Me.nudDvSerial = New System.Windows.Forms.NumericUpDown() + Me.lbDvSerial = New System.Windows.Forms.Label() + Me.pnDvMoTy = New System.Windows.Forms.Panel() + Me.pnDvModel = New System.Windows.Forms.Panel() + Me.rdbDvALPHA = New System.Windows.Forms.RadioButton() + Me.rdbDvLUX = New System.Windows.Forms.RadioButton() + Me.rdbDvPRO = New System.Windows.Forms.RadioButton() + Me.lbDvModel = New System.Windows.Forms.Label() + Me.pnDvDate = New System.Windows.Forms.Panel() + Me.nudDvMonth = New System.Windows.Forms.NumericUpDown() + Me.nudDvYear = New System.Windows.Forms.NumericUpDown() + Me.lbDvMonth = New System.Windows.Forms.Label() + Me.lbDvYear = New System.Windows.Forms.Label() + Me.lbDvDate = New System.Windows.Forms.Label() + Me.pnDvCode = New System.Windows.Forms.Panel() + Me.txbDvCode = New System.Windows.Forms.TextBox() + Me.lbDvCode = New System.Windows.Forms.Label() + Me.pnDvNumber = New System.Windows.Forms.Panel() + Me.txbDvNumber = New System.Windows.Forms.TextBox() + Me.lbDvNumber = New System.Windows.Forms.Label() + Me.gbDvAuth = New System.Windows.Forms.GroupBox() + Me.btnDvAuth = New System.Windows.Forms.Button() + Me.txbDvAuthBox = New System.Windows.Forms.TextBox() + Me.tcAltoUse = New System.Windows.Forms.TabControl() + Me.tpALFunc1 = New System.Windows.Forms.TabPage() + Me.pnALCsTime = New System.Windows.Forms.Panel() + Me.lbALCsSec = New System.Windows.Forms.Label() + Me.txbALCsDay = New System.Windows.Forms.TextBox() + Me.txbALCsSec = New System.Windows.Forms.TextBox() + Me.lbALCsMin = New System.Windows.Forms.Label() + Me.txbALCsMin = New System.Windows.Forms.TextBox() + Me.lbALCsHour = New System.Windows.Forms.Label() + Me.txbALCsHour = New System.Windows.Forms.TextBox() + Me.lbALCsDay = New System.Windows.Forms.Label() + Me.lbALCsTime = New System.Windows.Forms.Label() + Me.pnALEtTime = New System.Windows.Forms.Panel() + Me.lbALEtSec = New System.Windows.Forms.Label() + Me.txbALEtDay = New System.Windows.Forms.TextBox() + Me.txbALEtSec = New System.Windows.Forms.TextBox() + Me.lbALEtMin = New System.Windows.Forms.Label() + Me.txbALEtMin = New System.Windows.Forms.TextBox() + Me.lbALEtHour = New System.Windows.Forms.Label() + Me.txbALEtHour = New System.Windows.Forms.TextBox() + Me.lbALEtDay = New System.Windows.Forms.Label() + Me.lbALEtTime = New System.Windows.Forms.Label() + Me.pnALFtTime = New System.Windows.Forms.Panel() + Me.lbALFtSec = New System.Windows.Forms.Label() + Me.txbALFtDay = New System.Windows.Forms.TextBox() + Me.txbALFtSec = New System.Windows.Forms.TextBox() + Me.lbALFtMin = New System.Windows.Forms.Label() + Me.txbALFtMin = New System.Windows.Forms.TextBox() + Me.lbALFtHour = New System.Windows.Forms.Label() + Me.txbALFtHour = New System.Windows.Forms.TextBox() + Me.lbALFtDay = New System.Windows.Forms.Label() + Me.lbALFtTime = New System.Windows.Forms.Label() + Me.pnALFuncBox1 = New System.Windows.Forms.Panel() + Me.btnALFuncReset1 = New System.Windows.Forms.Button() + Me.btnALFuncRead1 = New System.Windows.Forms.Button() + Me.txbALFuncBox1 = New System.Windows.Forms.TextBox() + Me.tpALFunc2 = New System.Windows.Forms.TabPage() + Me.pnALLtTime = New System.Windows.Forms.Panel() + Me.lbALLtSec = New System.Windows.Forms.Label() + Me.txbALLtDay = New System.Windows.Forms.TextBox() + Me.txbALLtSec = New System.Windows.Forms.TextBox() + Me.lbALLtMin = New System.Windows.Forms.Label() + Me.txbALLtMin = New System.Windows.Forms.TextBox() + Me.lbALLtHour = New System.Windows.Forms.Label() + Me.txbALLtHour = New System.Windows.Forms.TextBox() + Me.lbALLtDay = New System.Windows.Forms.Label() + Me.lbALLtTime = New System.Windows.Forms.Label() + Me.pnALFuncBox2 = New System.Windows.Forms.Panel() + Me.btnALFuncReset2 = New System.Windows.Forms.Button() + Me.btnALFuncRead2 = New System.Windows.Forms.Button() + Me.txbALFuncBox2 = New System.Windows.Forms.TextBox() + Me.pnALBtTime = New System.Windows.Forms.Panel() + Me.lbALBtSec = New System.Windows.Forms.Label() + Me.txbALBtDay = New System.Windows.Forms.TextBox() + Me.txbALBtSec = New System.Windows.Forms.TextBox() + Me.lbALBtMin = New System.Windows.Forms.Label() + Me.txbALBtMin = New System.Windows.Forms.TextBox() + Me.lbALBtHour = New System.Windows.Forms.Label() + Me.txbALBtHour = New System.Windows.Forms.TextBox() + Me.lbALBtDay = New System.Windows.Forms.Label() + Me.lbALBtTime = New System.Windows.Forms.Label() + Me.tpALTOFull = New System.Windows.Forms.TabPage() + Me.pnALAllFunc = New System.Windows.Forms.Panel() + Me.btnALAllReset = New System.Windows.Forms.Button() + Me.btnALAllRead = New System.Windows.Forms.Button() + Me.txbALAllBox = New System.Windows.Forms.TextBox() + Me.pnALAllErr = New System.Windows.Forms.Panel() + Me.txbALAllErr = New System.Windows.Forms.TextBox() + Me.lbALAllErr = New System.Windows.Forms.Label() + Me.pnALAllTime = New System.Windows.Forms.Panel() + Me.lbALAllSec = New System.Windows.Forms.Label() + Me.txbALAllDay = New System.Windows.Forms.TextBox() + Me.txbALAllSec = New System.Windows.Forms.TextBox() + Me.lbALAllMin = New System.Windows.Forms.Label() + Me.txbALAllMin = New System.Windows.Forms.TextBox() + Me.lbALAllHour = New System.Windows.Forms.Label() + Me.txbALAllHour = New System.Windows.Forms.TextBox() + Me.lbALAllDay = New System.Windows.Forms.Label() + Me.lbALAllTime = New System.Windows.Forms.Label() + Me.tcMAXUse = New System.Windows.Forms.TabControl() + Me.tpMAXFULL = New System.Windows.Forms.TabPage() + Me.pnMxAllFunc = New System.Windows.Forms.Panel() + Me.btnMxAllReset = New System.Windows.Forms.Button() + Me.btnMxAllRead = New System.Windows.Forms.Button() + Me.txbMxAllBox = New System.Windows.Forms.TextBox() + Me.pnMxAllShot = New System.Windows.Forms.Panel() + Me.txbMxAllShot = New System.Windows.Forms.TextBox() + Me.lbMxAllShot = New System.Windows.Forms.Label() + Me.pnMxAllErr = New System.Windows.Forms.Panel() + Me.txbMxAllErr = New System.Windows.Forms.TextBox() + Me.lbMxAllErr = New System.Windows.Forms.Label() + Me.pnMxAllTime = New System.Windows.Forms.Panel() + Me.lbMxAllSec = New System.Windows.Forms.Label() + Me.txbMxAllDay = New System.Windows.Forms.TextBox() + Me.txbMxAllSec = New System.Windows.Forms.TextBox() + Me.lbMxAllMin = New System.Windows.Forms.Label() + Me.txbMxAllMin = New System.Windows.Forms.TextBox() + Me.lbMxAllHour = New System.Windows.Forms.Label() + Me.txbMxAllHour = New System.Windows.Forms.TextBox() + Me.lbMxAllDay = New System.Windows.Forms.Label() + Me.lbMxAllTime = New System.Windows.Forms.Label() + Me.tpMXHIFU = New System.Windows.Forms.TabPage() + Me.pnMxHfResult = New System.Windows.Forms.Panel() + Me.btnMxHfReset = New System.Windows.Forms.Button() + Me.btnMxHfRead = New System.Windows.Forms.Button() + Me.txbMxHfBox = New System.Windows.Forms.TextBox() + Me.pnMxFcShot = New System.Windows.Forms.Panel() + Me.txbMxFcShot = New System.Windows.Forms.TextBox() + Me.lbMxFcShot = New System.Windows.Forms.Label() + Me.pnMxEyTime = New System.Windows.Forms.Panel() + Me.lbMxEySec = New System.Windows.Forms.Label() + Me.txbMxEyDay = New System.Windows.Forms.TextBox() + Me.txbMxEySec = New System.Windows.Forms.TextBox() + Me.lbMxEyMin = New System.Windows.Forms.Label() + Me.txbMxEyMin = New System.Windows.Forms.TextBox() + Me.lbMxEyHour = New System.Windows.Forms.Label() + Me.txbMxEyHour = New System.Windows.Forms.TextBox() + Me.lbMxEyDay = New System.Windows.Forms.Label() + Me.lbMxEyTime = New System.Windows.Forms.Label() + Me.pnMxFcTime = New System.Windows.Forms.Panel() + Me.lbMxFcSec = New System.Windows.Forms.Label() + Me.txbMxFcDay = New System.Windows.Forms.TextBox() + Me.txbMxFcSec = New System.Windows.Forms.TextBox() + Me.lbMxFcMin = New System.Windows.Forms.Label() + Me.txbMxFcMin = New System.Windows.Forms.TextBox() + Me.lbMxFcHour = New System.Windows.Forms.Label() + Me.txbMxFcHour = New System.Windows.Forms.TextBox() + Me.lbMxFcDay = New System.Windows.Forms.Label() + Me.lbMxFcTime = New System.Windows.Forms.Label() + Me.tpMXRF = New System.Windows.Forms.TabPage() + Me.pnMxEtResult = New System.Windows.Forms.Panel() + Me.btnMxEtReset = New System.Windows.Forms.Button() + Me.btnMxEtRead = New System.Windows.Forms.Button() + Me.txbMxEtBox = New System.Windows.Forms.TextBox() + Me.pnMxCuTime = New System.Windows.Forms.Panel() + Me.lbMxCuSec = New System.Windows.Forms.Label() + Me.txbMxCuDay = New System.Windows.Forms.TextBox() + Me.txbMxCuSec = New System.Windows.Forms.TextBox() + Me.lbMxCuMin = New System.Windows.Forms.Label() + Me.txbMxCuMin = New System.Windows.Forms.TextBox() + Me.lbMxCuHour = New System.Windows.Forms.Label() + Me.txbMxCuHour = New System.Windows.Forms.TextBox() + Me.lbMxCuDay = New System.Windows.Forms.Label() + Me.lbMxCuTime = New System.Windows.Forms.Label() + Me.pnMxDuTime = New System.Windows.Forms.Panel() + Me.lbMxDuSec = New System.Windows.Forms.Label() + Me.txbMxDuDay = New System.Windows.Forms.TextBox() + Me.txbMxDuSec = New System.Windows.Forms.TextBox() + Me.lbMxDuMin = New System.Windows.Forms.Label() + Me.txbMxDuMin = New System.Windows.Forms.TextBox() + Me.lbMxDuHour = New System.Windows.Forms.Label() + Me.txbMxDuHour = New System.Windows.Forms.TextBox() + Me.lbMxDuDay = New System.Windows.Forms.Label() + Me.lbMxDuTime = New System.Windows.Forms.Label() + Me.pnMxTuTime = New System.Windows.Forms.Panel() + Me.lbMxTuSec = New System.Windows.Forms.Label() + Me.txbMxTuDay = New System.Windows.Forms.TextBox() + Me.txbMxTuSec = New System.Windows.Forms.TextBox() + Me.lbMxTuMin = New System.Windows.Forms.Label() + Me.txbMxTuMin = New System.Windows.Forms.TextBox() + Me.lbMxTuHour = New System.Windows.Forms.Label() + Me.txbMxTuHour = New System.Windows.Forms.TextBox() + Me.lbMxTuDay = New System.Windows.Forms.Label() + Me.lbMxTuTime = New System.Windows.Forms.Label() + Me.btnEnd = New System.Windows.Forms.Button() + Me.SerialPort1 = New System.IO.Ports.SerialPort(Me.components) + Me.pnDBLoad = New System.Windows.Forms.Panel() + Me.pnLoadBot = New System.Windows.Forms.Panel() + Me.btnReset = New System.Windows.Forms.Button() + Me.gbDBLoad = New System.Windows.Forms.GroupBox() + Me.gbPDSearch = New System.Windows.Forms.GroupBox() + Me.txbPDSN = New System.Windows.Forms.TextBox() + Me.lbPDSN = New System.Windows.Forms.Label() + Me.txbPDAC = New System.Windows.Forms.TextBox() + Me.lbPDAC = New System.Windows.Forms.Label() + Me.txbPDCP = New System.Windows.Forms.TextBox() + Me.txbPDCC = New System.Windows.Forms.TextBox() + Me.txbPDMotor = New System.Windows.Forms.TextBox() + Me.lbPDCC = New System.Windows.Forms.Label() + Me.txbPDModel = New System.Windows.Forms.TextBox() + Me.txbPDSC = New System.Windows.Forms.TextBox() + Me.txbPDSerial = New System.Windows.Forms.TextBox() + Me.lbPDCP = New System.Windows.Forms.Label() + Me.lbPDModel = New System.Windows.Forms.Label() + Me.txbPDType = New System.Windows.Forms.TextBox() + Me.lbPDSerial = New System.Windows.Forms.Label() + Me.lbPDType = New System.Windows.Forms.Label() + Me.lbPDSC = New System.Windows.Forms.Label() + Me.lbPDMotor = New System.Windows.Forms.Label() + Me.gbTDSearch = New System.Windows.Forms.GroupBox() + Me.txbTDSN = New System.Windows.Forms.TextBox() + Me.lbTDSN = New System.Windows.Forms.Label() + Me.txbMesDate = New System.Windows.Forms.TextBox() + Me.lbMesDate = New System.Windows.Forms.Label() + Me.txbMesFreq = New System.Windows.Forms.TextBox() + Me.lbMesFreq = New System.Windows.Forms.Label() + Me.txbMesPw = New System.Windows.Forms.TextBox() + Me.lbMesPw = New System.Windows.Forms.Label() + Me.pnLoadTop = New System.Windows.Forms.Panel() + Me.btnLoadNum = New System.Windows.Forms.Button() + Me.txbLoadNum = New System.Windows.Forms.TextBox() + Me.lbLoadNum = New System.Windows.Forms.Label() + Me.gbProdSelect.SuspendLayout() + Me.gbComport.SuspendLayout() + Me.pnTop.SuspendLayout() + Me.gbOpOut.SuspendLayout() + Me.gbEtcOp.SuspendLayout() + Me.pnBottom.SuspendLayout() + Me.gbSetting.SuspendLayout() + Me.gbMotor.SuspendLayout() + Me.pnMtResult.SuspendLayout() + Me.pnMotor.SuspendLayout() + Me.gbShot.SuspendLayout() + Me.pnShResult.SuspendLayout() + Me.pnMaxShot.SuspendLayout() + Me.pnShot.SuspendLayout() + Me.gbFreqPwr.SuspendLayout() + Me.pnFPResult.SuspendLayout() + Me.pnPower.SuspendLayout() + Me.pnFreq.SuspendLayout() + Me.gbTD.SuspendLayout() + Me.pnTdResult.SuspendLayout() + Me.pnTDSerial.SuspendLayout() + Me.gbArea.SuspendLayout() + Me.pnArResult.SuspendLayout() + Me.pnAgency.SuspendLayout() + Me.pnAbroad.SuspendLayout() + Me.gbInfo.SuspendLayout() + Me.pnIfResult.SuspendLayout() + Me.pnIfSerial.SuspendLayout() + CType(Me.nudIfSerial, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnIfMoTy.SuspendLayout() + Me.pnIfType.SuspendLayout() + Me.pnIfModel.SuspendLayout() + Me.pnIfDate.SuspendLayout() + CType(Me.nudIfMonth, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.nudIfYear, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnIfCode.SuspendLayout() + Me.pnIfNumber.SuspendLayout() + Me.gbAuth.SuspendLayout() + Me.gbRunTime.SuspendLayout() + Me.gbDUALUse.SuspendLayout() + Me.pnDuResult.SuspendLayout() + Me.pnDuError.SuspendLayout() + Me.pnDuEye.SuspendLayout() + Me.pnDuFace.SuspendLayout() + Me.pnDuReady.SuspendLayout() + Me.pnDuFull.SuspendLayout() + Me.gbDevice.SuspendLayout() + Me.gbDvInfo.SuspendLayout() + Me.pnDvAgency.SuspendLayout() + Me.pnDvAbroad.SuspendLayout() + Me.pnDvResult.SuspendLayout() + Me.pnDvSerial.SuspendLayout() + CType(Me.nudDvSerial, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnDvMoTy.SuspendLayout() + Me.pnDvModel.SuspendLayout() + Me.pnDvDate.SuspendLayout() + CType(Me.nudDvMonth, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.nudDvYear, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnDvCode.SuspendLayout() + Me.pnDvNumber.SuspendLayout() + Me.gbDvAuth.SuspendLayout() + Me.tcAltoUse.SuspendLayout() + Me.tpALFunc1.SuspendLayout() + Me.pnALCsTime.SuspendLayout() + Me.pnALEtTime.SuspendLayout() + Me.pnALFtTime.SuspendLayout() + Me.pnALFuncBox1.SuspendLayout() + Me.tpALFunc2.SuspendLayout() + Me.pnALLtTime.SuspendLayout() + Me.pnALFuncBox2.SuspendLayout() + Me.pnALBtTime.SuspendLayout() + Me.tpALTOFull.SuspendLayout() + Me.pnALAllFunc.SuspendLayout() + Me.pnALAllErr.SuspendLayout() + Me.pnALAllTime.SuspendLayout() + Me.tcMAXUse.SuspendLayout() + Me.tpMAXFULL.SuspendLayout() + Me.pnMxAllFunc.SuspendLayout() + Me.pnMxAllShot.SuspendLayout() + Me.pnMxAllErr.SuspendLayout() + Me.pnMxAllTime.SuspendLayout() + Me.tpMXHIFU.SuspendLayout() + Me.pnMxHfResult.SuspendLayout() + Me.pnMxFcShot.SuspendLayout() + Me.pnMxEyTime.SuspendLayout() + Me.pnMxFcTime.SuspendLayout() + Me.tpMXRF.SuspendLayout() + Me.pnMxEtResult.SuspendLayout() + Me.pnMxCuTime.SuspendLayout() + Me.pnMxDuTime.SuspendLayout() + Me.pnMxTuTime.SuspendLayout() + Me.pnDBLoad.SuspendLayout() + Me.pnLoadBot.SuspendLayout() + Me.gbDBLoad.SuspendLayout() + Me.gbPDSearch.SuspendLayout() + Me.gbTDSearch.SuspendLayout() + Me.pnLoadTop.SuspendLayout() + Me.SuspendLayout() + ' + 'gbProdSelect + ' + Me.gbProdSelect.Controls.Add(Me.rdbEffect) + Me.gbProdSelect.Controls.Add(Me.rdbAlto) + Me.gbProdSelect.Controls.Add(Me.rdbMax) + Me.gbProdSelect.Controls.Add(Me.rdbDual) + Me.gbProdSelect.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbProdSelect.Location = New System.Drawing.Point(10, 5) + Me.gbProdSelect.Name = "gbProdSelect" + Me.gbProdSelect.Size = New System.Drawing.Size(437, 80) + Me.gbProdSelect.TabIndex = 0 + Me.gbProdSelect.TabStop = False + Me.gbProdSelect.Text = "제품선택" + ' + 'rdbEffect + ' + Me.rdbEffect.AutoSize = True + Me.rdbEffect.Font = New System.Drawing.Font("함초롬바탕", 12.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbEffect.Location = New System.Drawing.Point(305, 33) + Me.rdbEffect.Name = "rdbEffect" + Me.rdbEffect.Size = New System.Drawing.Size(93, 26) + Me.rdbEffect.TabIndex = 3 + Me.rdbEffect.TabStop = True + Me.rdbEffect.Text = "EFFECT" + Me.rdbEffect.UseVisualStyleBackColor = True + ' + 'rdbAlto + ' + Me.rdbAlto.AutoSize = True + Me.rdbAlto.Font = New System.Drawing.Font("함초롬바탕", 12.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbAlto.Location = New System.Drawing.Point(235, 33) + Me.rdbAlto.Name = "rdbAlto" + Me.rdbAlto.Size = New System.Drawing.Size(72, 26) + Me.rdbAlto.TabIndex = 2 + Me.rdbAlto.TabStop = True + Me.rdbAlto.Text = "ALTO" + Me.rdbAlto.UseVisualStyleBackColor = True + ' + 'rdbMax + ' + Me.rdbMax.AutoSize = True + Me.rdbMax.Font = New System.Drawing.Font("함초롬바탕", 12.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbMax.Location = New System.Drawing.Point(125, 33) + Me.rdbMax.Name = "rdbMax" + Me.rdbMax.Size = New System.Drawing.Size(111, 26) + Me.rdbMax.TabIndex = 1 + Me.rdbMax.TabStop = True + Me.rdbMax.Text = "MAXIMUM" + Me.rdbMax.UseVisualStyleBackColor = True + ' + 'rdbDual + ' + Me.rdbDual.AutoSize = True + Me.rdbDual.Font = New System.Drawing.Font("함초롬바탕", 12.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbDual.Location = New System.Drawing.Point(4, 33) + Me.rdbDual.Name = "rdbDual" + Me.rdbDual.Size = New System.Drawing.Size(126, 26) + Me.rdbDual.TabIndex = 0 + Me.rdbDual.TabStop = True + Me.rdbDual.Text = "DUALSONIC" + Me.rdbDual.UseVisualStyleBackColor = True + ' + 'gbComport + ' + Me.gbComport.Controls.Add(Me.btnComport) + Me.gbComport.Controls.Add(Me.cboComport) + Me.gbComport.Controls.Add(Me.lbComport) + Me.gbComport.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbComport.Location = New System.Drawing.Point(453, 7) + Me.gbComport.Name = "gbComport" + Me.gbComport.Size = New System.Drawing.Size(352, 80) + Me.gbComport.TabIndex = 1 + Me.gbComport.TabStop = False + Me.gbComport.Text = "통신설정" + ' + 'btnComport + ' + Me.btnComport.Location = New System.Drawing.Point(241, 28) + Me.btnComport.Name = "btnComport" + Me.btnComport.Size = New System.Drawing.Size(75, 40) + Me.btnComport.TabIndex = 2 + Me.btnComport.Text = "검색" + Me.btnComport.UseVisualStyleBackColor = True + ' + 'cboComport + ' + Me.cboComport.FormattingEnabled = True + Me.cboComport.Location = New System.Drawing.Point(94, 31) + Me.cboComport.Name = "cboComport" + Me.cboComport.Size = New System.Drawing.Size(140, 32) + Me.cboComport.TabIndex = 1 + ' + 'lbComport + ' + Me.lbComport.AutoSize = True + Me.lbComport.Location = New System.Drawing.Point(6, 36) + Me.lbComport.Name = "lbComport" + Me.lbComport.Size = New System.Drawing.Size(82, 24) + Me.lbComport.TabIndex = 0 + Me.lbComport.Text = "통신포트" + ' + 'pnTop + ' + Me.pnTop.Controls.Add(Me.gbOpOut) + Me.pnTop.Controls.Add(Me.gbEtcOp) + Me.pnTop.Controls.Add(Me.gbProdSelect) + Me.pnTop.Controls.Add(Me.gbComport) + Me.pnTop.Location = New System.Drawing.Point(0, 0) + Me.pnTop.Name = "pnTop" + Me.pnTop.Size = New System.Drawing.Size(1223, 90) + Me.pnTop.TabIndex = 2 + ' + 'gbOpOut + ' + Me.gbOpOut.Controls.Add(Me.rdbUseTime) + Me.gbOpOut.Controls.Add(Me.rdbDev) + Me.gbOpOut.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbOpOut.Location = New System.Drawing.Point(941, 5) + Me.gbOpOut.Name = "gbOpOut" + Me.gbOpOut.Size = New System.Drawing.Size(269, 80) + Me.gbOpOut.TabIndex = 2 + Me.gbOpOut.TabStop = False + Me.gbOpOut.Text = "설정 종류" + ' + 'rdbUseTime + ' + Me.rdbUseTime.AutoSize = True + Me.rdbUseTime.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbUseTime.Location = New System.Drawing.Point(23, 35) + Me.rdbUseTime.Name = "rdbUseTime" + Me.rdbUseTime.Size = New System.Drawing.Size(106, 28) + Me.rdbUseTime.TabIndex = 1 + Me.rdbUseTime.TabStop = True + Me.rdbUseTime.Text = "사용 정보" + Me.rdbUseTime.UseVisualStyleBackColor = True + ' + 'rdbDev + ' + Me.rdbDev.AutoSize = True + Me.rdbDev.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.rdbDev.Location = New System.Drawing.Point(143, 36) + Me.rdbDev.Name = "rdbDev" + Me.rdbDev.Size = New System.Drawing.Size(106, 28) + Me.rdbDev.TabIndex = 0 + Me.rdbDev.TabStop = True + Me.rdbDev.Text = "본체 정보" + Me.rdbDev.UseVisualStyleBackColor = True + ' + 'gbEtcOp + ' + Me.gbEtcOp.Controls.Add(Me.ckbDBUse) + Me.gbEtcOp.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbEtcOp.Location = New System.Drawing.Point(811, 5) + Me.gbEtcOp.Name = "gbEtcOp" + Me.gbEtcOp.Size = New System.Drawing.Size(125, 80) + Me.gbEtcOp.TabIndex = 2 + Me.gbEtcOp.TabStop = False + Me.gbEtcOp.Text = "기타설정" + ' + 'ckbDBUse + ' + Me.ckbDBUse.AutoSize = True + Me.ckbDBUse.Location = New System.Drawing.Point(20, 35) + Me.ckbDBUse.Name = "ckbDBUse" + Me.ckbDBUse.Size = New System.Drawing.Size(97, 28) + Me.ckbDBUse.TabIndex = 0 + Me.ckbDBUse.Text = "DB 사용" + Me.ckbDBUse.UseVisualStyleBackColor = True + ' + 'pnBottom + ' + Me.pnBottom.Controls.Add(Me.btnwrite) + Me.pnBottom.Controls.Add(Me.gbSetting) + Me.pnBottom.Controls.Add(Me.gbRunTime) + Me.pnBottom.Controls.Add(Me.gbDevice) + Me.pnBottom.Location = New System.Drawing.Point(0, 90) + Me.pnBottom.Name = "pnBottom" + Me.pnBottom.Size = New System.Drawing.Size(1223, 667) + Me.pnBottom.TabIndex = 3 + ' + 'btnwrite + ' + Me.btnwrite.Font = New System.Drawing.Font("함초롬바탕", 27.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnwrite.Location = New System.Drawing.Point(816, 516) + Me.btnwrite.Name = "btnwrite" + Me.btnwrite.Size = New System.Drawing.Size(394, 145) + Me.btnwrite.TabIndex = 2 + Me.btnwrite.Text = "전체 읽기" + Me.btnwrite.UseVisualStyleBackColor = True + ' + 'gbSetting + ' + Me.gbSetting.Controls.Add(Me.gbMotor) + Me.gbSetting.Controls.Add(Me.gbShot) + Me.gbSetting.Controls.Add(Me.gbFreqPwr) + Me.gbSetting.Controls.Add(Me.gbTD) + Me.gbSetting.Controls.Add(Me.gbArea) + Me.gbSetting.Controls.Add(Me.gbInfo) + Me.gbSetting.Controls.Add(Me.gbAuth) + Me.gbSetting.Font = New System.Drawing.Font("함초롬바탕", 15.75!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbSetting.Location = New System.Drawing.Point(10, 5) + Me.gbSetting.Name = "gbSetting" + Me.gbSetting.Size = New System.Drawing.Size(795, 655) + Me.gbSetting.TabIndex = 0 + Me.gbSetting.TabStop = False + Me.gbSetting.Text = "카트리지 설정" + ' + 'gbMotor + ' + Me.gbMotor.Controls.Add(Me.pnMtResult) + Me.gbMotor.Controls.Add(Me.pnMotor) + Me.gbMotor.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbMotor.ForeColor = System.Drawing.Color.Black + Me.gbMotor.Location = New System.Drawing.Point(400, 340) + Me.gbMotor.Name = "gbMotor" + Me.gbMotor.Size = New System.Drawing.Size(380, 130) + Me.gbMotor.TabIndex = 58 + Me.gbMotor.TabStop = False + Me.gbMotor.Text = "TD 모터 설정" + ' + 'pnMtResult + ' + Me.pnMtResult.Controls.Add(Me.btnMtWrite) + Me.pnMtResult.Controls.Add(Me.btnMtRead) + Me.pnMtResult.Controls.Add(Me.txbMtBox) + Me.pnMtResult.Location = New System.Drawing.Point(10, 70) + Me.pnMtResult.Name = "pnMtResult" + Me.pnMtResult.Size = New System.Drawing.Size(360, 50) + Me.pnMtResult.TabIndex = 47 + ' + 'btnMtWrite + ' + Me.btnMtWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMtWrite.Location = New System.Drawing.Point(250, 5) + Me.btnMtWrite.Name = "btnMtWrite" + Me.btnMtWrite.Size = New System.Drawing.Size(105, 40) + Me.btnMtWrite.TabIndex = 47 + Me.btnMtWrite.Text = "쓰기" + Me.btnMtWrite.UseVisualStyleBackColor = True + ' + 'btnMtRead + ' + Me.btnMtRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMtRead.Location = New System.Drawing.Point(145, 5) + Me.btnMtRead.Name = "btnMtRead" + Me.btnMtRead.Size = New System.Drawing.Size(105, 40) + Me.btnMtRead.TabIndex = 46 + Me.btnMtRead.Text = "읽기" + Me.btnMtRead.UseVisualStyleBackColor = True + ' + 'txbMtBox + ' + Me.txbMtBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbMtBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMtBox.ForeColor = System.Drawing.Color.White + Me.txbMtBox.Location = New System.Drawing.Point(10, 12) + Me.txbMtBox.Name = "txbMtBox" + Me.txbMtBox.Size = New System.Drawing.Size(130, 29) + Me.txbMtBox.TabIndex = 45 + Me.txbMtBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbMtBox.Visible = False + ' + 'pnMotor + ' + Me.pnMotor.Controls.Add(Me.txbMotor) + Me.pnMotor.Controls.Add(Me.lbMotor) + Me.pnMotor.Location = New System.Drawing.Point(10, 30) + Me.pnMotor.Name = "pnMotor" + Me.pnMotor.Size = New System.Drawing.Size(360, 40) + Me.pnMotor.TabIndex = 45 + ' + 'txbMotor + ' + Me.txbMotor.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMotor.Location = New System.Drawing.Point(145, 5) + Me.txbMotor.Name = "txbMotor" + Me.txbMotor.Size = New System.Drawing.Size(205, 32) + Me.txbMotor.TabIndex = 1 + ' + 'lbMotor + ' + Me.lbMotor.AutoSize = True + Me.lbMotor.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMotor.Location = New System.Drawing.Point(23, 7) + Me.lbMotor.Name = "lbMotor" + Me.lbMotor.Size = New System.Drawing.Size(82, 24) + Me.lbMotor.TabIndex = 0 + Me.lbMotor.Text = "모터이동" + ' + 'gbShot + ' + Me.gbShot.Controls.Add(Me.pnShResult) + Me.gbShot.Controls.Add(Me.pnMaxShot) + Me.gbShot.Controls.Add(Me.pnShot) + Me.gbShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbShot.ForeColor = System.Drawing.Color.Black + Me.gbShot.Location = New System.Drawing.Point(400, 475) + Me.gbShot.Name = "gbShot" + Me.gbShot.Size = New System.Drawing.Size(380, 170) + Me.gbShot.TabIndex = 57 + Me.gbShot.TabStop = False + Me.gbShot.Text = "Shot Count 설정" + ' + 'pnShResult + ' + Me.pnShResult.Controls.Add(Me.btnShWrite) + Me.pnShResult.Controls.Add(Me.btnShRead) + Me.pnShResult.Controls.Add(Me.txbShotBox) + Me.pnShResult.Location = New System.Drawing.Point(10, 110) + Me.pnShResult.Name = "pnShResult" + Me.pnShResult.Size = New System.Drawing.Size(360, 50) + Me.pnShResult.TabIndex = 47 + ' + 'btnShWrite + ' + Me.btnShWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnShWrite.Location = New System.Drawing.Point(250, 5) + Me.btnShWrite.Name = "btnShWrite" + Me.btnShWrite.Size = New System.Drawing.Size(105, 40) + Me.btnShWrite.TabIndex = 47 + Me.btnShWrite.Text = "쓰기" + Me.btnShWrite.UseVisualStyleBackColor = True + ' + 'btnShRead + ' + Me.btnShRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnShRead.Location = New System.Drawing.Point(145, 5) + Me.btnShRead.Name = "btnShRead" + Me.btnShRead.Size = New System.Drawing.Size(105, 40) + Me.btnShRead.TabIndex = 46 + Me.btnShRead.Text = "읽기" + Me.btnShRead.UseVisualStyleBackColor = True + ' + 'txbShotBox + ' + Me.txbShotBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbShotBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbShotBox.ForeColor = System.Drawing.Color.White + Me.txbShotBox.Location = New System.Drawing.Point(10, 12) + Me.txbShotBox.Name = "txbShotBox" + Me.txbShotBox.Size = New System.Drawing.Size(130, 29) + Me.txbShotBox.TabIndex = 45 + Me.txbShotBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbShotBox.Visible = False + ' + 'pnMaxShot + ' + Me.pnMaxShot.Controls.Add(Me.txbMaxShot) + Me.pnMaxShot.Controls.Add(Me.lbMaxShot) + Me.pnMaxShot.Location = New System.Drawing.Point(10, 70) + Me.pnMaxShot.Name = "pnMaxShot" + Me.pnMaxShot.Size = New System.Drawing.Size(360, 40) + Me.pnMaxShot.TabIndex = 46 + ' + 'txbMaxShot + ' + Me.txbMaxShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMaxShot.Location = New System.Drawing.Point(145, 5) + Me.txbMaxShot.Name = "txbMaxShot" + Me.txbMaxShot.Size = New System.Drawing.Size(205, 32) + Me.txbMaxShot.TabIndex = 1 + ' + 'lbMaxShot + ' + Me.lbMaxShot.AutoSize = True + Me.lbMaxShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMaxShot.Location = New System.Drawing.Point(23, 7) + Me.lbMaxShot.Name = "lbMaxShot" + Me.lbMaxShot.Size = New System.Drawing.Size(82, 24) + Me.lbMaxShot.TabIndex = 0 + Me.lbMaxShot.Text = "전체샷수" + ' + 'pnShot + ' + Me.pnShot.Controls.Add(Me.txbShot) + Me.pnShot.Controls.Add(Me.lbShot) + Me.pnShot.Location = New System.Drawing.Point(10, 30) + Me.pnShot.Name = "pnShot" + Me.pnShot.Size = New System.Drawing.Size(360, 40) + Me.pnShot.TabIndex = 45 + ' + 'txbShot + ' + Me.txbShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbShot.Location = New System.Drawing.Point(145, 5) + Me.txbShot.Name = "txbShot" + Me.txbShot.Size = New System.Drawing.Size(205, 32) + Me.txbShot.TabIndex = 1 + ' + 'lbShot + ' + Me.lbShot.AutoSize = True + Me.lbShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbShot.Location = New System.Drawing.Point(23, 7) + Me.lbShot.Name = "lbShot" + Me.lbShot.Size = New System.Drawing.Size(82, 24) + Me.lbShot.TabIndex = 0 + Me.lbShot.Text = "남은샷수" + ' + 'gbFreqPwr + ' + Me.gbFreqPwr.Controls.Add(Me.pnFPResult) + Me.gbFreqPwr.Controls.Add(Me.pnPower) + Me.gbFreqPwr.Controls.Add(Me.pnFreq) + Me.gbFreqPwr.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbFreqPwr.ForeColor = System.Drawing.Color.Black + Me.gbFreqPwr.Location = New System.Drawing.Point(400, 170) + Me.gbFreqPwr.Name = "gbFreqPwr" + Me.gbFreqPwr.Size = New System.Drawing.Size(380, 170) + Me.gbFreqPwr.TabIndex = 56 + Me.gbFreqPwr.TabStop = False + Me.gbFreqPwr.Text = "주파수 및 파워 설정" + ' + 'pnFPResult + ' + Me.pnFPResult.Controls.Add(Me.btnFPWrite) + Me.pnFPResult.Controls.Add(Me.btnFPRead) + Me.pnFPResult.Controls.Add(Me.txbFPBox) + Me.pnFPResult.Location = New System.Drawing.Point(10, 110) + Me.pnFPResult.Name = "pnFPResult" + Me.pnFPResult.Size = New System.Drawing.Size(360, 50) + Me.pnFPResult.TabIndex = 47 + ' + 'btnFPWrite + ' + Me.btnFPWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnFPWrite.Location = New System.Drawing.Point(250, 5) + Me.btnFPWrite.Name = "btnFPWrite" + Me.btnFPWrite.Size = New System.Drawing.Size(105, 40) + Me.btnFPWrite.TabIndex = 47 + Me.btnFPWrite.Text = "쓰기" + Me.btnFPWrite.UseVisualStyleBackColor = True + ' + 'btnFPRead + ' + Me.btnFPRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnFPRead.Location = New System.Drawing.Point(145, 5) + Me.btnFPRead.Name = "btnFPRead" + Me.btnFPRead.Size = New System.Drawing.Size(105, 40) + Me.btnFPRead.TabIndex = 46 + Me.btnFPRead.Text = "읽기" + Me.btnFPRead.UseVisualStyleBackColor = True + ' + 'txbFPBox + ' + Me.txbFPBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbFPBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbFPBox.ForeColor = System.Drawing.Color.White + Me.txbFPBox.Location = New System.Drawing.Point(10, 12) + Me.txbFPBox.Name = "txbFPBox" + Me.txbFPBox.Size = New System.Drawing.Size(130, 29) + Me.txbFPBox.TabIndex = 45 + Me.txbFPBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbFPBox.Visible = False + ' + 'pnPower + ' + Me.pnPower.Controls.Add(Me.txbPower) + Me.pnPower.Controls.Add(Me.lbPower) + Me.pnPower.Location = New System.Drawing.Point(10, 70) + Me.pnPower.Name = "pnPower" + Me.pnPower.Size = New System.Drawing.Size(360, 40) + Me.pnPower.TabIndex = 46 + ' + 'txbPower + ' + Me.txbPower.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbPower.Location = New System.Drawing.Point(145, 5) + Me.txbPower.Name = "txbPower" + Me.txbPower.Size = New System.Drawing.Size(205, 32) + Me.txbPower.TabIndex = 1 + ' + 'lbPower + ' + Me.lbPower.AutoSize = True + Me.lbPower.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbPower.Location = New System.Drawing.Point(59, 7) + Me.lbPower.Name = "lbPower" + Me.lbPower.Size = New System.Drawing.Size(46, 24) + Me.lbPower.TabIndex = 0 + Me.lbPower.Text = "파워" + ' + 'pnFreq + ' + Me.pnFreq.Controls.Add(Me.txbFreq) + Me.pnFreq.Controls.Add(Me.lbFreq) + Me.pnFreq.Location = New System.Drawing.Point(10, 30) + Me.pnFreq.Name = "pnFreq" + Me.pnFreq.Size = New System.Drawing.Size(360, 40) + Me.pnFreq.TabIndex = 45 + ' + 'txbFreq + ' + Me.txbFreq.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbFreq.Location = New System.Drawing.Point(145, 5) + Me.txbFreq.Name = "txbFreq" + Me.txbFreq.Size = New System.Drawing.Size(205, 32) + Me.txbFreq.TabIndex = 1 + ' + 'lbFreq + ' + Me.lbFreq.AutoSize = True + Me.lbFreq.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbFreq.Location = New System.Drawing.Point(41, 7) + Me.lbFreq.Name = "lbFreq" + Me.lbFreq.Size = New System.Drawing.Size(64, 24) + Me.lbFreq.TabIndex = 0 + Me.lbFreq.Text = "주파수" + ' + 'gbTD + ' + Me.gbTD.Controls.Add(Me.pnTdResult) + Me.gbTD.Controls.Add(Me.pnTDSerial) + Me.gbTD.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbTD.ForeColor = System.Drawing.Color.Black + Me.gbTD.Location = New System.Drawing.Point(400, 35) + Me.gbTD.Name = "gbTD" + Me.gbTD.Size = New System.Drawing.Size(380, 130) + Me.gbTD.TabIndex = 55 + Me.gbTD.TabStop = False + Me.gbTD.Text = "TD 번호 설정" + ' + 'pnTdResult + ' + Me.pnTdResult.Controls.Add(Me.btnTdWrite) + Me.pnTdResult.Controls.Add(Me.btnTdRead) + Me.pnTdResult.Controls.Add(Me.txbTDBox) + Me.pnTdResult.Location = New System.Drawing.Point(10, 70) + Me.pnTdResult.Name = "pnTdResult" + Me.pnTdResult.Size = New System.Drawing.Size(360, 50) + Me.pnTdResult.TabIndex = 47 + ' + 'btnTdWrite + ' + Me.btnTdWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnTdWrite.Location = New System.Drawing.Point(250, 5) + Me.btnTdWrite.Name = "btnTdWrite" + Me.btnTdWrite.Size = New System.Drawing.Size(105, 40) + Me.btnTdWrite.TabIndex = 47 + Me.btnTdWrite.Text = "쓰기" + Me.btnTdWrite.UseVisualStyleBackColor = True + ' + 'btnTdRead + ' + Me.btnTdRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnTdRead.Location = New System.Drawing.Point(145, 5) + Me.btnTdRead.Name = "btnTdRead" + Me.btnTdRead.Size = New System.Drawing.Size(105, 40) + Me.btnTdRead.TabIndex = 46 + Me.btnTdRead.Text = "읽기" + Me.btnTdRead.UseVisualStyleBackColor = True + ' + 'txbTDBox + ' + Me.txbTDBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbTDBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbTDBox.ForeColor = System.Drawing.Color.White + Me.txbTDBox.Location = New System.Drawing.Point(10, 12) + Me.txbTDBox.Name = "txbTDBox" + Me.txbTDBox.Size = New System.Drawing.Size(130, 29) + Me.txbTDBox.TabIndex = 45 + Me.txbTDBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbTDBox.Visible = False + ' + 'pnTDSerial + ' + Me.pnTDSerial.Controls.Add(Me.txbTDSerial) + Me.pnTDSerial.Controls.Add(Me.lbTDSerial) + Me.pnTDSerial.Location = New System.Drawing.Point(10, 30) + Me.pnTDSerial.Name = "pnTDSerial" + Me.pnTDSerial.Size = New System.Drawing.Size(360, 40) + Me.pnTDSerial.TabIndex = 45 + ' + 'txbTDSerial + ' + Me.txbTDSerial.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbTDSerial.Location = New System.Drawing.Point(145, 5) + Me.txbTDSerial.Name = "txbTDSerial" + Me.txbTDSerial.Size = New System.Drawing.Size(205, 32) + Me.txbTDSerial.TabIndex = 1 + ' + 'lbTDSerial + ' + Me.lbTDSerial.AutoSize = True + Me.lbTDSerial.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbTDSerial.Location = New System.Drawing.Point(5, 7) + Me.lbTDSerial.Name = "lbTDSerial" + Me.lbTDSerial.Size = New System.Drawing.Size(100, 24) + Me.lbTDSerial.TabIndex = 0 + Me.lbTDSerial.Text = "시리얼번호" + ' + 'gbArea + ' + Me.gbArea.Controls.Add(Me.pnArResult) + Me.gbArea.Controls.Add(Me.pnAgency) + Me.gbArea.Controls.Add(Me.pnAbroad) + Me.gbArea.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbArea.ForeColor = System.Drawing.Color.Black + Me.gbArea.Location = New System.Drawing.Point(10, 475) + Me.gbArea.Name = "gbArea" + Me.gbArea.Size = New System.Drawing.Size(380, 170) + Me.gbArea.TabIndex = 54 + Me.gbArea.TabStop = False + Me.gbArea.Text = "지역 코드 설정" + ' + 'pnArResult + ' + Me.pnArResult.Controls.Add(Me.btnArWrite) + Me.pnArResult.Controls.Add(Me.btnArRead) + Me.pnArResult.Controls.Add(Me.txbAreaBox) + Me.pnArResult.Location = New System.Drawing.Point(10, 110) + Me.pnArResult.Name = "pnArResult" + Me.pnArResult.Size = New System.Drawing.Size(360, 50) + Me.pnArResult.TabIndex = 47 + ' + 'btnArWrite + ' + Me.btnArWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnArWrite.Location = New System.Drawing.Point(250, 5) + Me.btnArWrite.Name = "btnArWrite" + Me.btnArWrite.Size = New System.Drawing.Size(105, 40) + Me.btnArWrite.TabIndex = 47 + Me.btnArWrite.Text = "쓰기" + Me.btnArWrite.UseVisualStyleBackColor = True + ' + 'btnArRead + ' + Me.btnArRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnArRead.Location = New System.Drawing.Point(145, 5) + Me.btnArRead.Name = "btnArRead" + Me.btnArRead.Size = New System.Drawing.Size(105, 40) + Me.btnArRead.TabIndex = 46 + Me.btnArRead.Text = "읽기" + Me.btnArRead.UseVisualStyleBackColor = True + ' + 'txbAreaBox + ' + Me.txbAreaBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbAreaBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbAreaBox.ForeColor = System.Drawing.Color.White + Me.txbAreaBox.Location = New System.Drawing.Point(10, 12) + Me.txbAreaBox.Name = "txbAreaBox" + Me.txbAreaBox.Size = New System.Drawing.Size(130, 29) + Me.txbAreaBox.TabIndex = 45 + Me.txbAreaBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbAreaBox.Visible = False + ' + 'pnAgency + ' + Me.pnAgency.Controls.Add(Me.txbAgency) + Me.pnAgency.Controls.Add(Me.lbAgency) + Me.pnAgency.Location = New System.Drawing.Point(10, 70) + Me.pnAgency.Name = "pnAgency" + Me.pnAgency.Size = New System.Drawing.Size(360, 40) + Me.pnAgency.TabIndex = 46 + ' + 'txbAgency + ' + Me.txbAgency.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbAgency.Location = New System.Drawing.Point(145, 5) + Me.txbAgency.Name = "txbAgency" + Me.txbAgency.Size = New System.Drawing.Size(205, 32) + Me.txbAgency.TabIndex = 1 + ' + 'lbAgency + ' + Me.lbAgency.AutoSize = True + Me.lbAgency.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbAgency.Location = New System.Drawing.Point(5, 7) + Me.lbAgency.Name = "lbAgency" + Me.lbAgency.Size = New System.Drawing.Size(100, 24) + Me.lbAgency.TabIndex = 0 + Me.lbAgency.Text = "대리점코드" + ' + 'pnAbroad + ' + Me.pnAbroad.Controls.Add(Me.txbAbroad) + Me.pnAbroad.Controls.Add(Me.lbAbroad) + Me.pnAbroad.Location = New System.Drawing.Point(10, 30) + Me.pnAbroad.Name = "pnAbroad" + Me.pnAbroad.Size = New System.Drawing.Size(360, 40) + Me.pnAbroad.TabIndex = 45 + ' + 'txbAbroad + ' + Me.txbAbroad.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbAbroad.Location = New System.Drawing.Point(145, 5) + Me.txbAbroad.Name = "txbAbroad" + Me.txbAbroad.Size = New System.Drawing.Size(205, 32) + Me.txbAbroad.TabIndex = 1 + ' + 'lbAbroad + ' + Me.lbAbroad.AutoSize = True + Me.lbAbroad.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbAbroad.Location = New System.Drawing.Point(23, 7) + Me.lbAbroad.Name = "lbAbroad" + Me.lbAbroad.Size = New System.Drawing.Size(82, 24) + Me.lbAbroad.TabIndex = 0 + Me.lbAbroad.Text = "국가코드" + ' + 'gbInfo + ' + Me.gbInfo.Controls.Add(Me.pnIfResult) + Me.gbInfo.Controls.Add(Me.pnIfSerial) + Me.gbInfo.Controls.Add(Me.pnIfMoTy) + Me.gbInfo.Controls.Add(Me.pnIfDate) + Me.gbInfo.Controls.Add(Me.pnIfCode) + Me.gbInfo.Controls.Add(Me.pnIfNumber) + Me.gbInfo.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbInfo.Location = New System.Drawing.Point(10, 125) + Me.gbInfo.Name = "gbInfo" + Me.gbInfo.Size = New System.Drawing.Size(380, 330) + Me.gbInfo.TabIndex = 52 + Me.gbInfo.TabStop = False + Me.gbInfo.Text = "제품 정보 설정" + ' + 'pnIfResult + ' + Me.pnIfResult.Controls.Add(Me.btnIfWrite) + Me.pnIfResult.Controls.Add(Me.btnIfRead) + Me.pnIfResult.Controls.Add(Me.txbInfoBox) + Me.pnIfResult.Location = New System.Drawing.Point(10, 270) + Me.pnIfResult.Name = "pnIfResult" + Me.pnIfResult.Size = New System.Drawing.Size(360, 50) + Me.pnIfResult.TabIndex = 5 + ' + 'btnIfWrite + ' + Me.btnIfWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnIfWrite.Location = New System.Drawing.Point(250, 5) + Me.btnIfWrite.Name = "btnIfWrite" + Me.btnIfWrite.Size = New System.Drawing.Size(105, 40) + Me.btnIfWrite.TabIndex = 47 + Me.btnIfWrite.Text = "쓰기" + Me.btnIfWrite.UseVisualStyleBackColor = True + ' + 'btnIfRead + ' + Me.btnIfRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnIfRead.Location = New System.Drawing.Point(145, 5) + Me.btnIfRead.Name = "btnIfRead" + Me.btnIfRead.Size = New System.Drawing.Size(105, 40) + Me.btnIfRead.TabIndex = 46 + Me.btnIfRead.Text = "읽기" + Me.btnIfRead.UseVisualStyleBackColor = True + ' + 'txbInfoBox + ' + Me.txbInfoBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbInfoBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbInfoBox.ForeColor = System.Drawing.Color.White + Me.txbInfoBox.Location = New System.Drawing.Point(10, 12) + Me.txbInfoBox.Name = "txbInfoBox" + Me.txbInfoBox.Size = New System.Drawing.Size(130, 29) + Me.txbInfoBox.TabIndex = 45 + Me.txbInfoBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbInfoBox.Visible = False + ' + 'pnIfSerial + ' + Me.pnIfSerial.Controls.Add(Me.nudIfSerial) + Me.pnIfSerial.Controls.Add(Me.lbIfSerial) + Me.pnIfSerial.Location = New System.Drawing.Point(10, 230) + Me.pnIfSerial.Name = "pnIfSerial" + Me.pnIfSerial.Size = New System.Drawing.Size(360, 40) + Me.pnIfSerial.TabIndex = 4 + ' + 'nudIfSerial + ' + Me.nudIfSerial.Location = New System.Drawing.Point(145, 5) + Me.nudIfSerial.Name = "nudIfSerial" + Me.nudIfSerial.Size = New System.Drawing.Size(205, 32) + Me.nudIfSerial.TabIndex = 10 + ' + 'lbIfSerial + ' + Me.lbIfSerial.AutoSize = True + Me.lbIfSerial.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfSerial.Location = New System.Drawing.Point(5, 7) + Me.lbIfSerial.Name = "lbIfSerial" + Me.lbIfSerial.Size = New System.Drawing.Size(100, 24) + Me.lbIfSerial.TabIndex = 0 + Me.lbIfSerial.Text = "시리얼번호" + ' + 'pnIfMoTy + ' + Me.pnIfMoTy.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnIfMoTy.Controls.Add(Me.pnIfType) + Me.pnIfMoTy.Controls.Add(Me.pnIfModel) + Me.pnIfMoTy.Location = New System.Drawing.Point(10, 150) + Me.pnIfMoTy.Name = "pnIfMoTy" + Me.pnIfMoTy.Size = New System.Drawing.Size(360, 80) + Me.pnIfMoTy.TabIndex = 3 + ' + 'pnIfType + ' + Me.pnIfType.Controls.Add(Me.rdbIfBody) + Me.pnIfType.Controls.Add(Me.rdbIfEye) + Me.pnIfType.Controls.Add(Me.rdbIfFace) + Me.pnIfType.Controls.Add(Me.lbIfType) + Me.pnIfType.Location = New System.Drawing.Point(0, 40) + Me.pnIfType.Name = "pnIfType" + Me.pnIfType.Size = New System.Drawing.Size(360, 40) + Me.pnIfType.TabIndex = 2 + ' + 'rdbIfBody + ' + Me.rdbIfBody.AutoSize = True + Me.rdbIfBody.Location = New System.Drawing.Point(260, 7) + Me.rdbIfBody.Name = "rdbIfBody" + Me.rdbIfBody.Size = New System.Drawing.Size(81, 28) + Me.rdbIfBody.TabIndex = 9 + Me.rdbIfBody.TabStop = True + Me.rdbIfBody.Text = "BODY" + Me.rdbIfBody.UseVisualStyleBackColor = True + ' + 'rdbIfEye + ' + Me.rdbIfEye.AutoSize = True + Me.rdbIfEye.Location = New System.Drawing.Point(190, 7) + Me.rdbIfEye.Name = "rdbIfEye" + Me.rdbIfEye.Size = New System.Drawing.Size(65, 28) + Me.rdbIfEye.TabIndex = 8 + Me.rdbIfEye.TabStop = True + Me.rdbIfEye.Text = "EYE" + Me.rdbIfEye.UseVisualStyleBackColor = True + ' + 'rdbIfFace + ' + Me.rdbIfFace.AutoSize = True + Me.rdbIfFace.Location = New System.Drawing.Point(110, 7) + Me.rdbIfFace.Name = "rdbIfFace" + Me.rdbIfFace.Size = New System.Drawing.Size(77, 28) + Me.rdbIfFace.TabIndex = 7 + Me.rdbIfFace.TabStop = True + Me.rdbIfFace.Text = "FACE" + Me.rdbIfFace.UseVisualStyleBackColor = True + ' + 'lbIfType + ' + Me.lbIfType.AutoSize = True + Me.lbIfType.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfType.Location = New System.Drawing.Point(23, 7) + Me.lbIfType.Name = "lbIfType" + Me.lbIfType.Size = New System.Drawing.Size(82, 24) + Me.lbIfType.TabIndex = 0 + Me.lbIfType.Text = "타입종류" + ' + 'pnIfModel + ' + Me.pnIfModel.Controls.Add(Me.rdbIfALPHA) + Me.pnIfModel.Controls.Add(Me.rdbIfLUX_V2) + Me.pnIfModel.Controls.Add(Me.rdbIfPRO_V1) + Me.pnIfModel.Controls.Add(Me.lbIfModel) + Me.pnIfModel.Location = New System.Drawing.Point(0, 0) + Me.pnIfModel.Name = "pnIfModel" + Me.pnIfModel.Size = New System.Drawing.Size(360, 40) + Me.pnIfModel.TabIndex = 1 + ' + 'rdbIfALPHA + ' + Me.rdbIfALPHA.AutoSize = True + Me.rdbIfALPHA.Location = New System.Drawing.Point(260, 7) + Me.rdbIfALPHA.Name = "rdbIfALPHA" + Me.rdbIfALPHA.Size = New System.Drawing.Size(91, 28) + Me.rdbIfALPHA.TabIndex = 6 + Me.rdbIfALPHA.TabStop = True + Me.rdbIfALPHA.Text = "ALPHA" + Me.rdbIfALPHA.UseVisualStyleBackColor = True + ' + 'rdbIfLUX_V2 + ' + Me.rdbIfLUX_V2.AutoSize = True + Me.rdbIfLUX_V2.Location = New System.Drawing.Point(190, 7) + Me.rdbIfLUX_V2.Name = "rdbIfLUX_V2" + Me.rdbIfLUX_V2.Size = New System.Drawing.Size(67, 28) + Me.rdbIfLUX_V2.TabIndex = 5 + Me.rdbIfLUX_V2.TabStop = True + Me.rdbIfLUX_V2.Text = "LUX" + Me.rdbIfLUX_V2.UseVisualStyleBackColor = True + ' + 'rdbIfPRO_V1 + ' + Me.rdbIfPRO_V1.AutoSize = True + Me.rdbIfPRO_V1.Location = New System.Drawing.Point(110, 7) + Me.rdbIfPRO_V1.Name = "rdbIfPRO_V1" + Me.rdbIfPRO_V1.Size = New System.Drawing.Size(66, 28) + Me.rdbIfPRO_V1.TabIndex = 4 + Me.rdbIfPRO_V1.TabStop = True + Me.rdbIfPRO_V1.Text = "PRO" + Me.rdbIfPRO_V1.UseVisualStyleBackColor = True + ' + 'lbIfModel + ' + Me.lbIfModel.AutoSize = True + Me.lbIfModel.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfModel.Location = New System.Drawing.Point(23, 7) + Me.lbIfModel.Name = "lbIfModel" + Me.lbIfModel.Size = New System.Drawing.Size(82, 24) + Me.lbIfModel.TabIndex = 0 + Me.lbIfModel.Text = "모델종류" + ' + 'pnIfDate + ' + Me.pnIfDate.Controls.Add(Me.nudIfMonth) + Me.pnIfDate.Controls.Add(Me.nudIfYear) + Me.pnIfDate.Controls.Add(Me.lbIfMonth) + Me.pnIfDate.Controls.Add(Me.lbIfYear) + Me.pnIfDate.Controls.Add(Me.lbIfDate) + Me.pnIfDate.Location = New System.Drawing.Point(10, 110) + Me.pnIfDate.Name = "pnIfDate" + Me.pnIfDate.Size = New System.Drawing.Size(360, 40) + Me.pnIfDate.TabIndex = 2 + ' + 'nudIfMonth + ' + Me.nudIfMonth.Location = New System.Drawing.Point(285, 5) + Me.nudIfMonth.Name = "nudIfMonth" + Me.nudIfMonth.Size = New System.Drawing.Size(65, 32) + Me.nudIfMonth.TabIndex = 3 + ' + 'nudIfYear + ' + Me.nudIfYear.Location = New System.Drawing.Point(175, 5) + Me.nudIfYear.Name = "nudIfYear" + Me.nudIfYear.Size = New System.Drawing.Size(65, 32) + Me.nudIfYear.TabIndex = 2 + ' + 'lbIfMonth + ' + Me.lbIfMonth.AutoSize = True + Me.lbIfMonth.Location = New System.Drawing.Point(250, 8) + Me.lbIfMonth.Name = "lbIfMonth" + Me.lbIfMonth.Size = New System.Drawing.Size(28, 24) + Me.lbIfMonth.TabIndex = 2 + Me.lbIfMonth.Text = "월" + ' + 'lbIfYear + ' + Me.lbIfYear.AutoSize = True + Me.lbIfYear.Location = New System.Drawing.Point(140, 8) + Me.lbIfYear.Name = "lbIfYear" + Me.lbIfYear.Size = New System.Drawing.Size(28, 24) + Me.lbIfYear.TabIndex = 1 + Me.lbIfYear.Text = "년" + ' + 'lbIfDate + ' + Me.lbIfDate.AutoSize = True + Me.lbIfDate.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfDate.Location = New System.Drawing.Point(23, 7) + Me.lbIfDate.Name = "lbIfDate" + Me.lbIfDate.Size = New System.Drawing.Size(82, 24) + Me.lbIfDate.TabIndex = 0 + Me.lbIfDate.Text = "제조일자" + ' + 'pnIfCode + ' + Me.pnIfCode.Controls.Add(Me.txbIfCode) + Me.pnIfCode.Controls.Add(Me.lbIfCode) + Me.pnIfCode.Location = New System.Drawing.Point(10, 70) + Me.pnIfCode.Name = "pnIfCode" + Me.pnIfCode.Size = New System.Drawing.Size(360, 40) + Me.pnIfCode.TabIndex = 1 + ' + 'txbIfCode + ' + Me.txbIfCode.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbIfCode.Location = New System.Drawing.Point(145, 5) + Me.txbIfCode.Name = "txbIfCode" + Me.txbIfCode.Size = New System.Drawing.Size(205, 32) + Me.txbIfCode.TabIndex = 1 + ' + 'lbIfCode + ' + Me.lbIfCode.AutoSize = True + Me.lbIfCode.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfCode.Location = New System.Drawing.Point(5, 7) + Me.lbIfCode.Name = "lbIfCode" + Me.lbIfCode.Size = New System.Drawing.Size(100, 24) + Me.lbIfCode.TabIndex = 0 + Me.lbIfCode.Text = "제조사코드" + ' + 'pnIfNumber + ' + Me.pnIfNumber.Controls.Add(Me.txbIfNumber) + Me.pnIfNumber.Controls.Add(Me.lbIfBarcode) + Me.pnIfNumber.Location = New System.Drawing.Point(10, 30) + Me.pnIfNumber.Name = "pnIfNumber" + Me.pnIfNumber.Size = New System.Drawing.Size(360, 40) + Me.pnIfNumber.TabIndex = 0 + ' + 'txbIfNumber + ' + Me.txbIfNumber.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbIfNumber.Location = New System.Drawing.Point(145, 5) + Me.txbIfNumber.Name = "txbIfNumber" + Me.txbIfNumber.ReadOnly = True + Me.txbIfNumber.Size = New System.Drawing.Size(205, 32) + Me.txbIfNumber.TabIndex = 1 + ' + 'lbIfBarcode + ' + Me.lbIfBarcode.AutoSize = True + Me.lbIfBarcode.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbIfBarcode.Location = New System.Drawing.Point(5, 7) + Me.lbIfBarcode.Name = "lbIfBarcode" + Me.lbIfBarcode.Size = New System.Drawing.Size(100, 24) + Me.lbIfBarcode.TabIndex = 0 + Me.lbIfBarcode.Text = "바코드넘버" + ' + 'gbAuth + ' + Me.gbAuth.Controls.Add(Me.btnAuth) + Me.gbAuth.Controls.Add(Me.txbAuthBox) + Me.gbAuth.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbAuth.Location = New System.Drawing.Point(10, 35) + Me.gbAuth.Name = "gbAuth" + Me.gbAuth.Size = New System.Drawing.Size(380, 70) + Me.gbAuth.TabIndex = 0 + Me.gbAuth.TabStop = False + Me.gbAuth.Text = "인증코드설정" + ' + 'btnAuth + ' + Me.btnAuth.Font = New System.Drawing.Font("굴림", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnAuth.Location = New System.Drawing.Point(160, 27) + Me.btnAuth.Name = "btnAuth" + Me.btnAuth.Size = New System.Drawing.Size(210, 35) + Me.btnAuth.TabIndex = 45 + Me.btnAuth.Text = "카트리지" + Me.btnAuth.UseVisualStyleBackColor = True + ' + 'txbAuthBox + ' + Me.txbAuthBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbAuthBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbAuthBox.ForeColor = System.Drawing.Color.White + Me.txbAuthBox.Location = New System.Drawing.Point(20, 30) + Me.txbAuthBox.Name = "txbAuthBox" + Me.txbAuthBox.Size = New System.Drawing.Size(130, 29) + Me.txbAuthBox.TabIndex = 44 + Me.txbAuthBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbAuthBox.Visible = False + ' + 'gbRunTime + ' + Me.gbRunTime.Controls.Add(Me.tcAltoUse) + Me.gbRunTime.Controls.Add(Me.gbDUALUse) + Me.gbRunTime.Controls.Add(Me.tcMAXUse) + Me.gbRunTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbRunTime.Location = New System.Drawing.Point(810, 6) + Me.gbRunTime.Name = "gbRunTime" + Me.gbRunTime.Size = New System.Drawing.Size(400, 505) + Me.gbRunTime.TabIndex = 3 + Me.gbRunTime.TabStop = False + Me.gbRunTime.Text = "사용 정보" + ' + 'gbDUALUse + ' + Me.gbDUALUse.Controls.Add(Me.pnDuResult) + Me.gbDUALUse.Controls.Add(Me.pnDuError) + Me.gbDUALUse.Controls.Add(Me.pnDuEye) + Me.gbDUALUse.Controls.Add(Me.pnDuFace) + Me.gbDUALUse.Controls.Add(Me.pnDuReady) + Me.gbDUALUse.Controls.Add(Me.pnDuFull) + Me.gbDUALUse.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbDUALUse.ForeColor = System.Drawing.Color.Black + Me.gbDUALUse.Location = New System.Drawing.Point(6, 36) + Me.gbDUALUse.Name = "gbDUALUse" + Me.gbDUALUse.Size = New System.Drawing.Size(380, 455) + Me.gbDUALUse.TabIndex = 55 + Me.gbDUALUse.TabStop = False + Me.gbDUALUse.Text = "DUALSONIC 사용 내역" + ' + 'pnDuResult + ' + Me.pnDuResult.Controls.Add(Me.btnDuWrite) + Me.pnDuResult.Controls.Add(Me.btnDuReset) + Me.pnDuResult.Controls.Add(Me.btnDuReady) + Me.pnDuResult.Controls.Add(Me.txbDuUseBox) + Me.pnDuResult.Location = New System.Drawing.Point(10, 355) + Me.pnDuResult.Name = "pnDuResult" + Me.pnDuResult.Size = New System.Drawing.Size(360, 93) + Me.pnDuResult.TabIndex = 51 + ' + 'btnDuWrite + ' + Me.btnDuWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDuWrite.Location = New System.Drawing.Point(237, 8) + Me.btnDuWrite.Name = "btnDuWrite" + Me.btnDuWrite.Size = New System.Drawing.Size(113, 50) + Me.btnDuWrite.TabIndex = 49 + Me.btnDuWrite.Text = "쓰기" + Me.btnDuWrite.UseVisualStyleBackColor = True + ' + 'btnDuReset + ' + Me.btnDuReset.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDuReset.ForeColor = System.Drawing.Color.Red + Me.btnDuReset.Location = New System.Drawing.Point(12, 8) + Me.btnDuReset.Name = "btnDuReset" + Me.btnDuReset.Size = New System.Drawing.Size(104, 50) + Me.btnDuReset.TabIndex = 48 + Me.btnDuReset.Text = "초기화" + Me.btnDuReset.UseVisualStyleBackColor = True + ' + 'btnDuReady + ' + Me.btnDuReady.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDuReady.Location = New System.Drawing.Point(120, 8) + Me.btnDuReady.Name = "btnDuReady" + Me.btnDuReady.Size = New System.Drawing.Size(113, 50) + Me.btnDuReady.TabIndex = 46 + Me.btnDuReady.Text = "읽기" + Me.btnDuReady.UseVisualStyleBackColor = True + ' + 'txbDuUseBox + ' + Me.txbDuUseBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbDuUseBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuUseBox.ForeColor = System.Drawing.Color.White + Me.txbDuUseBox.Location = New System.Drawing.Point(10, 60) + Me.txbDuUseBox.Name = "txbDuUseBox" + Me.txbDuUseBox.Size = New System.Drawing.Size(340, 29) + Me.txbDuUseBox.TabIndex = 45 + Me.txbDuUseBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbDuUseBox.Visible = False + ' + 'pnDuError + ' + Me.pnDuError.Controls.Add(Me.txbDuError) + Me.pnDuError.Controls.Add(Me.lbDuError) + Me.pnDuError.Location = New System.Drawing.Point(10, 310) + Me.pnDuError.Name = "pnDuError" + Me.pnDuError.Size = New System.Drawing.Size(360, 40) + Me.pnDuError.TabIndex = 50 + ' + 'txbDuError + ' + Me.txbDuError.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuError.Location = New System.Drawing.Point(145, 5) + Me.txbDuError.Name = "txbDuError" + Me.txbDuError.Size = New System.Drawing.Size(205, 32) + Me.txbDuError.TabIndex = 1 + Me.txbDuError.Text = "0" + Me.txbDuError.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuError + ' + Me.lbDuError.AutoSize = True + Me.lbDuError.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuError.Location = New System.Drawing.Point(5, 8) + Me.lbDuError.Name = "lbDuError" + Me.lbDuError.Size = New System.Drawing.Size(121, 24) + Me.lbDuError.TabIndex = 0 + Me.lbDuError.Text = "Error Count" + ' + 'pnDuEye + ' + Me.pnDuEye.Controls.Add(Me.txbDuEye) + Me.pnDuEye.Controls.Add(Me.lbDuEye) + Me.pnDuEye.Location = New System.Drawing.Point(10, 265) + Me.pnDuEye.Name = "pnDuEye" + Me.pnDuEye.Size = New System.Drawing.Size(360, 40) + Me.pnDuEye.TabIndex = 49 + ' + 'txbDuEye + ' + Me.txbDuEye.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuEye.Location = New System.Drawing.Point(145, 5) + Me.txbDuEye.Name = "txbDuEye" + Me.txbDuEye.Size = New System.Drawing.Size(205, 32) + Me.txbDuEye.TabIndex = 1 + Me.txbDuEye.Text = "0" + Me.txbDuEye.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuEye + ' + Me.lbDuEye.AutoSize = True + Me.lbDuEye.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuEye.Location = New System.Drawing.Point(31, 8) + Me.lbDuEye.Name = "lbDuEye" + Me.lbDuEye.Size = New System.Drawing.Size(95, 24) + Me.lbDuEye.TabIndex = 0 + Me.lbDuEye.Text = "EYE Shot" + ' + 'pnDuFace + ' + Me.pnDuFace.Controls.Add(Me.txbDuFace) + Me.pnDuFace.Controls.Add(Me.lbDuFace) + Me.pnDuFace.Location = New System.Drawing.Point(10, 220) + Me.pnDuFace.Name = "pnDuFace" + Me.pnDuFace.Size = New System.Drawing.Size(360, 40) + Me.pnDuFace.TabIndex = 48 + ' + 'txbDuFace + ' + Me.txbDuFace.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuFace.Location = New System.Drawing.Point(145, 5) + Me.txbDuFace.Name = "txbDuFace" + Me.txbDuFace.Size = New System.Drawing.Size(205, 32) + Me.txbDuFace.TabIndex = 1 + Me.txbDuFace.Text = "0" + Me.txbDuFace.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuFace + ' + Me.lbDuFace.AutoSize = True + Me.lbDuFace.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFace.Location = New System.Drawing.Point(19, 8) + Me.lbDuFace.Name = "lbDuFace" + Me.lbDuFace.Size = New System.Drawing.Size(107, 24) + Me.lbDuFace.TabIndex = 0 + Me.lbDuFace.Text = "FACE Shot" + ' + 'pnDuReady + ' + Me.pnDuReady.Controls.Add(Me.lbDuReadySec) + Me.pnDuReady.Controls.Add(Me.txbDuReadyDay) + Me.pnDuReady.Controls.Add(Me.txbDuReadySec) + Me.pnDuReady.Controls.Add(Me.lbDuReadyMin) + Me.pnDuReady.Controls.Add(Me.txbDuReadyMin) + Me.pnDuReady.Controls.Add(Me.lbDuReadyHour) + Me.pnDuReady.Controls.Add(Me.txbDuReadyHour) + Me.pnDuReady.Controls.Add(Me.lbDuReadyDay) + Me.pnDuReady.Controls.Add(Me.lbDuReady) + Me.pnDuReady.Location = New System.Drawing.Point(10, 125) + Me.pnDuReady.Name = "pnDuReady" + Me.pnDuReady.Size = New System.Drawing.Size(360, 90) + Me.pnDuReady.TabIndex = 47 + ' + 'lbDuReadySec + ' + Me.lbDuReadySec.AutoSize = True + Me.lbDuReadySec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuReadySec.Location = New System.Drawing.Point(325, 48) + Me.lbDuReadySec.Name = "lbDuReadySec" + Me.lbDuReadySec.Size = New System.Drawing.Size(28, 24) + Me.lbDuReadySec.TabIndex = 8 + Me.lbDuReadySec.Text = "초" + ' + 'txbDuReadyDay + ' + Me.txbDuReadyDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuReadyDay.Location = New System.Drawing.Point(5, 45) + Me.txbDuReadyDay.Name = "txbDuReadyDay" + Me.txbDuReadyDay.Size = New System.Drawing.Size(80, 32) + Me.txbDuReadyDay.TabIndex = 1 + Me.txbDuReadyDay.Text = "0000" + Me.txbDuReadyDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbDuReadySec + ' + Me.txbDuReadySec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuReadySec.Location = New System.Drawing.Point(280, 45) + Me.txbDuReadySec.Name = "txbDuReadySec" + Me.txbDuReadySec.Size = New System.Drawing.Size(45, 32) + Me.txbDuReadySec.TabIndex = 7 + Me.txbDuReadySec.Text = "00" + Me.txbDuReadySec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuReadyMin + ' + Me.lbDuReadyMin.AutoSize = True + Me.lbDuReadyMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuReadyMin.Location = New System.Drawing.Point(245, 48) + Me.lbDuReadyMin.Name = "lbDuReadyMin" + Me.lbDuReadyMin.Size = New System.Drawing.Size(28, 24) + Me.lbDuReadyMin.TabIndex = 6 + Me.lbDuReadyMin.Text = "분" + ' + 'txbDuReadyMin + ' + Me.txbDuReadyMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuReadyMin.Location = New System.Drawing.Point(200, 45) + Me.txbDuReadyMin.Name = "txbDuReadyMin" + Me.txbDuReadyMin.Size = New System.Drawing.Size(45, 32) + Me.txbDuReadyMin.TabIndex = 5 + Me.txbDuReadyMin.Text = "00" + Me.txbDuReadyMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuReadyHour + ' + Me.lbDuReadyHour.AutoSize = True + Me.lbDuReadyHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuReadyHour.Location = New System.Drawing.Point(165, 48) + Me.lbDuReadyHour.Name = "lbDuReadyHour" + Me.lbDuReadyHour.Size = New System.Drawing.Size(28, 24) + Me.lbDuReadyHour.TabIndex = 4 + Me.lbDuReadyHour.Text = "시" + ' + 'txbDuReadyHour + ' + Me.txbDuReadyHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuReadyHour.Location = New System.Drawing.Point(120, 45) + Me.txbDuReadyHour.Name = "txbDuReadyHour" + Me.txbDuReadyHour.Size = New System.Drawing.Size(45, 32) + Me.txbDuReadyHour.TabIndex = 3 + Me.txbDuReadyHour.Text = "00" + Me.txbDuReadyHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuReadyDay + ' + Me.lbDuReadyDay.AutoSize = True + Me.lbDuReadyDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuReadyDay.Location = New System.Drawing.Point(85, 48) + Me.lbDuReadyDay.Name = "lbDuReadyDay" + Me.lbDuReadyDay.Size = New System.Drawing.Size(28, 24) + Me.lbDuReadyDay.TabIndex = 2 + Me.lbDuReadyDay.Text = "일" + ' + 'lbDuReady + ' + Me.lbDuReady.AutoSize = True + Me.lbDuReady.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuReady.Location = New System.Drawing.Point(5, 7) + Me.lbDuReady.Name = "lbDuReady" + Me.lbDuReady.Size = New System.Drawing.Size(165, 27) + Me.lbDuReady.TabIndex = 0 + Me.lbDuReady.Text = "Ready 사용 시간" + ' + 'pnDuFull + ' + Me.pnDuFull.Controls.Add(Me.lbDuFullSec) + Me.pnDuFull.Controls.Add(Me.txbDuFullDay) + Me.pnDuFull.Controls.Add(Me.txbDuFullSec) + Me.pnDuFull.Controls.Add(Me.lbDuFullMin) + Me.pnDuFull.Controls.Add(Me.txbDuFullMin) + Me.pnDuFull.Controls.Add(Me.lbDuFullHour) + Me.pnDuFull.Controls.Add(Me.txbDuFullHour) + Me.pnDuFull.Controls.Add(Me.lbDuFullDay) + Me.pnDuFull.Controls.Add(Me.lbDuFull) + Me.pnDuFull.Location = New System.Drawing.Point(10, 30) + Me.pnDuFull.Name = "pnDuFull" + Me.pnDuFull.Size = New System.Drawing.Size(360, 90) + Me.pnDuFull.TabIndex = 46 + ' + 'lbDuFullSec + ' + Me.lbDuFullSec.AutoSize = True + Me.lbDuFullSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFullSec.Location = New System.Drawing.Point(325, 48) + Me.lbDuFullSec.Name = "lbDuFullSec" + Me.lbDuFullSec.Size = New System.Drawing.Size(28, 24) + Me.lbDuFullSec.TabIndex = 8 + Me.lbDuFullSec.Text = "초" + ' + 'txbDuFullDay + ' + Me.txbDuFullDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuFullDay.Location = New System.Drawing.Point(5, 45) + Me.txbDuFullDay.Name = "txbDuFullDay" + Me.txbDuFullDay.Size = New System.Drawing.Size(80, 32) + Me.txbDuFullDay.TabIndex = 1 + Me.txbDuFullDay.Text = "0000" + Me.txbDuFullDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbDuFullSec + ' + Me.txbDuFullSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuFullSec.Location = New System.Drawing.Point(280, 45) + Me.txbDuFullSec.Name = "txbDuFullSec" + Me.txbDuFullSec.Size = New System.Drawing.Size(45, 32) + Me.txbDuFullSec.TabIndex = 7 + Me.txbDuFullSec.Text = "00" + Me.txbDuFullSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuFullMin + ' + Me.lbDuFullMin.AutoSize = True + Me.lbDuFullMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFullMin.Location = New System.Drawing.Point(245, 48) + Me.lbDuFullMin.Name = "lbDuFullMin" + Me.lbDuFullMin.Size = New System.Drawing.Size(28, 24) + Me.lbDuFullMin.TabIndex = 6 + Me.lbDuFullMin.Text = "분" + ' + 'txbDuFullMin + ' + Me.txbDuFullMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuFullMin.Location = New System.Drawing.Point(200, 45) + Me.txbDuFullMin.Name = "txbDuFullMin" + Me.txbDuFullMin.Size = New System.Drawing.Size(45, 32) + Me.txbDuFullMin.TabIndex = 5 + Me.txbDuFullMin.Text = "00" + Me.txbDuFullMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuFullHour + ' + Me.lbDuFullHour.AutoSize = True + Me.lbDuFullHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFullHour.Location = New System.Drawing.Point(165, 48) + Me.lbDuFullHour.Name = "lbDuFullHour" + Me.lbDuFullHour.Size = New System.Drawing.Size(28, 24) + Me.lbDuFullHour.TabIndex = 4 + Me.lbDuFullHour.Text = "시" + ' + 'txbDuFullHour + ' + Me.txbDuFullHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDuFullHour.Location = New System.Drawing.Point(120, 45) + Me.txbDuFullHour.Name = "txbDuFullHour" + Me.txbDuFullHour.Size = New System.Drawing.Size(45, 32) + Me.txbDuFullHour.TabIndex = 3 + Me.txbDuFullHour.Text = "00" + Me.txbDuFullHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbDuFullDay + ' + Me.lbDuFullDay.AutoSize = True + Me.lbDuFullDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFullDay.Location = New System.Drawing.Point(85, 48) + Me.lbDuFullDay.Name = "lbDuFullDay" + Me.lbDuFullDay.Size = New System.Drawing.Size(28, 24) + Me.lbDuFullDay.TabIndex = 2 + Me.lbDuFullDay.Text = "일" + ' + 'lbDuFull + ' + Me.lbDuFull.AutoSize = True + Me.lbDuFull.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDuFull.Location = New System.Drawing.Point(5, 7) + Me.lbDuFull.Name = "lbDuFull" + Me.lbDuFull.Size = New System.Drawing.Size(124, 27) + Me.lbDuFull.TabIndex = 0 + Me.lbDuFull.Text = "총 사용 시간" + ' + 'gbDevice + ' + Me.gbDevice.Controls.Add(Me.gbDvInfo) + Me.gbDevice.Controls.Add(Me.gbDvAuth) + Me.gbDevice.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbDevice.Location = New System.Drawing.Point(810, 5) + Me.gbDevice.Name = "gbDevice" + Me.gbDevice.Size = New System.Drawing.Size(400, 505) + Me.gbDevice.TabIndex = 1 + Me.gbDevice.TabStop = False + Me.gbDevice.Text = "본체 설정" + ' + 'gbDvInfo + ' + Me.gbDvInfo.Controls.Add(Me.pnDvAgency) + Me.gbDvInfo.Controls.Add(Me.pnDvAbroad) + Me.gbDvInfo.Controls.Add(Me.pnDvResult) + Me.gbDvInfo.Controls.Add(Me.pnDvSerial) + Me.gbDvInfo.Controls.Add(Me.pnDvMoTy) + Me.gbDvInfo.Controls.Add(Me.pnDvDate) + Me.gbDvInfo.Controls.Add(Me.pnDvCode) + Me.gbDvInfo.Controls.Add(Me.pnDvNumber) + Me.gbDvInfo.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbDvInfo.Location = New System.Drawing.Point(10, 125) + Me.gbDvInfo.Name = "gbDvInfo" + Me.gbDvInfo.Size = New System.Drawing.Size(380, 365) + Me.gbDvInfo.TabIndex = 54 + Me.gbDvInfo.TabStop = False + Me.gbDvInfo.Text = "제품 정보 설정" + ' + 'pnDvAgency + ' + Me.pnDvAgency.Controls.Add(Me.txbDvAgency) + Me.pnDvAgency.Controls.Add(Me.lbDvAgency) + Me.pnDvAgency.Location = New System.Drawing.Point(10, 270) + Me.pnDvAgency.Name = "pnDvAgency" + Me.pnDvAgency.Size = New System.Drawing.Size(360, 40) + Me.pnDvAgency.TabIndex = 7 + ' + 'txbDvAgency + ' + Me.txbDvAgency.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvAgency.Location = New System.Drawing.Point(145, 5) + Me.txbDvAgency.Name = "txbDvAgency" + Me.txbDvAgency.Size = New System.Drawing.Size(205, 32) + Me.txbDvAgency.TabIndex = 1 + ' + 'lbDvAgency + ' + Me.lbDvAgency.AutoSize = True + Me.lbDvAgency.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvAgency.Location = New System.Drawing.Point(5, 7) + Me.lbDvAgency.Name = "lbDvAgency" + Me.lbDvAgency.Size = New System.Drawing.Size(100, 24) + Me.lbDvAgency.TabIndex = 0 + Me.lbDvAgency.Text = "대리점코드" + ' + 'pnDvAbroad + ' + Me.pnDvAbroad.Controls.Add(Me.txbDvAbroad) + Me.pnDvAbroad.Controls.Add(Me.lbDvAbroad) + Me.pnDvAbroad.Location = New System.Drawing.Point(10, 230) + Me.pnDvAbroad.Name = "pnDvAbroad" + Me.pnDvAbroad.Size = New System.Drawing.Size(360, 40) + Me.pnDvAbroad.TabIndex = 6 + ' + 'txbDvAbroad + ' + Me.txbDvAbroad.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvAbroad.Location = New System.Drawing.Point(145, 5) + Me.txbDvAbroad.Name = "txbDvAbroad" + Me.txbDvAbroad.Size = New System.Drawing.Size(205, 32) + Me.txbDvAbroad.TabIndex = 1 + ' + 'lbDvAbroad + ' + Me.lbDvAbroad.AutoSize = True + Me.lbDvAbroad.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvAbroad.Location = New System.Drawing.Point(23, 7) + Me.lbDvAbroad.Name = "lbDvAbroad" + Me.lbDvAbroad.Size = New System.Drawing.Size(82, 24) + Me.lbDvAbroad.TabIndex = 0 + Me.lbDvAbroad.Text = "국가코드" + ' + 'pnDvResult + ' + Me.pnDvResult.Controls.Add(Me.btnDvWrite) + Me.pnDvResult.Controls.Add(Me.btnDvRead) + Me.pnDvResult.Controls.Add(Me.txbDvInfoBox) + Me.pnDvResult.Location = New System.Drawing.Point(10, 310) + Me.pnDvResult.Name = "pnDvResult" + Me.pnDvResult.Size = New System.Drawing.Size(360, 50) + Me.pnDvResult.TabIndex = 5 + ' + 'btnDvWrite + ' + Me.btnDvWrite.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDvWrite.Location = New System.Drawing.Point(250, 5) + Me.btnDvWrite.Name = "btnDvWrite" + Me.btnDvWrite.Size = New System.Drawing.Size(105, 40) + Me.btnDvWrite.TabIndex = 47 + Me.btnDvWrite.Text = "쓰기" + Me.btnDvWrite.UseVisualStyleBackColor = True + ' + 'btnDvRead + ' + Me.btnDvRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDvRead.Location = New System.Drawing.Point(145, 5) + Me.btnDvRead.Name = "btnDvRead" + Me.btnDvRead.Size = New System.Drawing.Size(105, 40) + Me.btnDvRead.TabIndex = 46 + Me.btnDvRead.Text = "읽기" + Me.btnDvRead.UseVisualStyleBackColor = True + ' + 'txbDvInfoBox + ' + Me.txbDvInfoBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbDvInfoBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvInfoBox.ForeColor = System.Drawing.Color.White + Me.txbDvInfoBox.Location = New System.Drawing.Point(10, 12) + Me.txbDvInfoBox.Name = "txbDvInfoBox" + Me.txbDvInfoBox.Size = New System.Drawing.Size(130, 29) + Me.txbDvInfoBox.TabIndex = 45 + Me.txbDvInfoBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbDvInfoBox.Visible = False + ' + 'pnDvSerial + ' + Me.pnDvSerial.Controls.Add(Me.nudDvSerial) + Me.pnDvSerial.Controls.Add(Me.lbDvSerial) + Me.pnDvSerial.Location = New System.Drawing.Point(10, 190) + Me.pnDvSerial.Name = "pnDvSerial" + Me.pnDvSerial.Size = New System.Drawing.Size(360, 40) + Me.pnDvSerial.TabIndex = 4 + ' + 'nudDvSerial + ' + Me.nudDvSerial.Location = New System.Drawing.Point(145, 5) + Me.nudDvSerial.Maximum = New Decimal(New Integer() {500000, 0, 0, 0}) + Me.nudDvSerial.Name = "nudDvSerial" + Me.nudDvSerial.Size = New System.Drawing.Size(205, 32) + Me.nudDvSerial.TabIndex = 4 + ' + 'lbDvSerial + ' + Me.lbDvSerial.AutoSize = True + Me.lbDvSerial.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvSerial.Location = New System.Drawing.Point(5, 7) + Me.lbDvSerial.Name = "lbDvSerial" + Me.lbDvSerial.Size = New System.Drawing.Size(100, 24) + Me.lbDvSerial.TabIndex = 0 + Me.lbDvSerial.Text = "시리얼번호" + ' + 'pnDvMoTy + ' + Me.pnDvMoTy.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnDvMoTy.Controls.Add(Me.pnDvModel) + Me.pnDvMoTy.Location = New System.Drawing.Point(10, 150) + Me.pnDvMoTy.Name = "pnDvMoTy" + Me.pnDvMoTy.Size = New System.Drawing.Size(360, 40) + Me.pnDvMoTy.TabIndex = 3 + ' + 'pnDvModel + ' + Me.pnDvModel.Controls.Add(Me.rdbDvALPHA) + Me.pnDvModel.Controls.Add(Me.rdbDvLUX) + Me.pnDvModel.Controls.Add(Me.rdbDvPRO) + Me.pnDvModel.Controls.Add(Me.lbDvModel) + Me.pnDvModel.Location = New System.Drawing.Point(0, 0) + Me.pnDvModel.Name = "pnDvModel" + Me.pnDvModel.Size = New System.Drawing.Size(360, 40) + Me.pnDvModel.TabIndex = 1 + ' + 'rdbDvALPHA + ' + Me.rdbDvALPHA.AutoSize = True + Me.rdbDvALPHA.Location = New System.Drawing.Point(260, 7) + Me.rdbDvALPHA.Name = "rdbDvALPHA" + Me.rdbDvALPHA.Size = New System.Drawing.Size(91, 28) + Me.rdbDvALPHA.TabIndex = 3 + Me.rdbDvALPHA.TabStop = True + Me.rdbDvALPHA.Text = "ALPHA" + Me.rdbDvALPHA.UseVisualStyleBackColor = True + ' + 'rdbDvLUX + ' + Me.rdbDvLUX.AutoSize = True + Me.rdbDvLUX.Location = New System.Drawing.Point(182, 7) + Me.rdbDvLUX.Name = "rdbDvLUX" + Me.rdbDvLUX.Size = New System.Drawing.Size(67, 28) + Me.rdbDvLUX.TabIndex = 2 + Me.rdbDvLUX.TabStop = True + Me.rdbDvLUX.Text = "LUX" + Me.rdbDvLUX.UseVisualStyleBackColor = True + ' + 'rdbDvPRO + ' + Me.rdbDvPRO.AutoSize = True + Me.rdbDvPRO.Location = New System.Drawing.Point(110, 7) + Me.rdbDvPRO.Name = "rdbDvPRO" + Me.rdbDvPRO.Size = New System.Drawing.Size(66, 28) + Me.rdbDvPRO.TabIndex = 1 + Me.rdbDvPRO.TabStop = True + Me.rdbDvPRO.Text = "PRO" + Me.rdbDvPRO.UseVisualStyleBackColor = True + ' + 'lbDvModel + ' + Me.lbDvModel.AutoSize = True + Me.lbDvModel.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvModel.Location = New System.Drawing.Point(23, 7) + Me.lbDvModel.Name = "lbDvModel" + Me.lbDvModel.Size = New System.Drawing.Size(82, 24) + Me.lbDvModel.TabIndex = 0 + Me.lbDvModel.Text = "모델종류" + ' + 'pnDvDate + ' + Me.pnDvDate.Controls.Add(Me.nudDvMonth) + Me.pnDvDate.Controls.Add(Me.nudDvYear) + Me.pnDvDate.Controls.Add(Me.lbDvMonth) + Me.pnDvDate.Controls.Add(Me.lbDvYear) + Me.pnDvDate.Controls.Add(Me.lbDvDate) + Me.pnDvDate.Location = New System.Drawing.Point(10, 110) + Me.pnDvDate.Name = "pnDvDate" + Me.pnDvDate.Size = New System.Drawing.Size(360, 40) + Me.pnDvDate.TabIndex = 2 + ' + 'nudDvMonth + ' + Me.nudDvMonth.Location = New System.Drawing.Point(285, 5) + Me.nudDvMonth.Name = "nudDvMonth" + Me.nudDvMonth.Size = New System.Drawing.Size(65, 32) + Me.nudDvMonth.TabIndex = 4 + ' + 'nudDvYear + ' + Me.nudDvYear.Location = New System.Drawing.Point(175, 5) + Me.nudDvYear.Name = "nudDvYear" + Me.nudDvYear.Size = New System.Drawing.Size(65, 32) + Me.nudDvYear.TabIndex = 3 + ' + 'lbDvMonth + ' + Me.lbDvMonth.AutoSize = True + Me.lbDvMonth.Location = New System.Drawing.Point(250, 8) + Me.lbDvMonth.Name = "lbDvMonth" + Me.lbDvMonth.Size = New System.Drawing.Size(28, 24) + Me.lbDvMonth.TabIndex = 2 + Me.lbDvMonth.Text = "월" + ' + 'lbDvYear + ' + Me.lbDvYear.AutoSize = True + Me.lbDvYear.Location = New System.Drawing.Point(140, 8) + Me.lbDvYear.Name = "lbDvYear" + Me.lbDvYear.Size = New System.Drawing.Size(28, 24) + Me.lbDvYear.TabIndex = 1 + Me.lbDvYear.Text = "년" + ' + 'lbDvDate + ' + Me.lbDvDate.AutoSize = True + Me.lbDvDate.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvDate.Location = New System.Drawing.Point(23, 7) + Me.lbDvDate.Name = "lbDvDate" + Me.lbDvDate.Size = New System.Drawing.Size(82, 24) + Me.lbDvDate.TabIndex = 0 + Me.lbDvDate.Text = "제조일자" + ' + 'pnDvCode + ' + Me.pnDvCode.Controls.Add(Me.txbDvCode) + Me.pnDvCode.Controls.Add(Me.lbDvCode) + Me.pnDvCode.Location = New System.Drawing.Point(10, 70) + Me.pnDvCode.Name = "pnDvCode" + Me.pnDvCode.Size = New System.Drawing.Size(360, 40) + Me.pnDvCode.TabIndex = 1 + ' + 'txbDvCode + ' + Me.txbDvCode.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvCode.Location = New System.Drawing.Point(145, 5) + Me.txbDvCode.Name = "txbDvCode" + Me.txbDvCode.Size = New System.Drawing.Size(205, 32) + Me.txbDvCode.TabIndex = 1 + ' + 'lbDvCode + ' + Me.lbDvCode.AutoSize = True + Me.lbDvCode.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvCode.Location = New System.Drawing.Point(5, 7) + Me.lbDvCode.Name = "lbDvCode" + Me.lbDvCode.Size = New System.Drawing.Size(100, 24) + Me.lbDvCode.TabIndex = 0 + Me.lbDvCode.Text = "제조사코드" + ' + 'pnDvNumber + ' + Me.pnDvNumber.Controls.Add(Me.txbDvNumber) + Me.pnDvNumber.Controls.Add(Me.lbDvNumber) + Me.pnDvNumber.Location = New System.Drawing.Point(10, 30) + Me.pnDvNumber.Name = "pnDvNumber" + Me.pnDvNumber.Size = New System.Drawing.Size(360, 40) + Me.pnDvNumber.TabIndex = 0 + ' + 'txbDvNumber + ' + Me.txbDvNumber.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvNumber.Location = New System.Drawing.Point(145, 5) + Me.txbDvNumber.Name = "txbDvNumber" + Me.txbDvNumber.Size = New System.Drawing.Size(205, 32) + Me.txbDvNumber.TabIndex = 1 + ' + 'lbDvNumber + ' + Me.lbDvNumber.AutoSize = True + Me.lbDvNumber.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbDvNumber.Location = New System.Drawing.Point(5, 7) + Me.lbDvNumber.Name = "lbDvNumber" + Me.lbDvNumber.Size = New System.Drawing.Size(100, 24) + Me.lbDvNumber.TabIndex = 0 + Me.lbDvNumber.Text = "바코드넘버" + ' + 'gbDvAuth + ' + Me.gbDvAuth.Controls.Add(Me.btnDvAuth) + Me.gbDvAuth.Controls.Add(Me.txbDvAuthBox) + Me.gbDvAuth.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbDvAuth.Location = New System.Drawing.Point(10, 35) + Me.gbDvAuth.Name = "gbDvAuth" + Me.gbDvAuth.Size = New System.Drawing.Size(380, 70) + Me.gbDvAuth.TabIndex = 53 + Me.gbDvAuth.TabStop = False + Me.gbDvAuth.Text = "인증코드설정" + ' + 'btnDvAuth + ' + Me.btnDvAuth.Font = New System.Drawing.Font("굴림", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnDvAuth.Location = New System.Drawing.Point(160, 27) + Me.btnDvAuth.Name = "btnDvAuth" + Me.btnDvAuth.Size = New System.Drawing.Size(210, 35) + Me.btnDvAuth.TabIndex = 45 + Me.btnDvAuth.Text = "카트리지" + Me.btnDvAuth.UseVisualStyleBackColor = True + ' + 'txbDvAuthBox + ' + Me.txbDvAuthBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbDvAuthBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbDvAuthBox.ForeColor = System.Drawing.Color.White + Me.txbDvAuthBox.Location = New System.Drawing.Point(20, 30) + Me.txbDvAuthBox.Name = "txbDvAuthBox" + Me.txbDvAuthBox.Size = New System.Drawing.Size(130, 29) + Me.txbDvAuthBox.TabIndex = 44 + Me.txbDvAuthBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbDvAuthBox.Visible = False + ' + 'tcAltoUse + ' + Me.tcAltoUse.Controls.Add(Me.tpALFunc1) + Me.tcAltoUse.Controls.Add(Me.tpALFunc2) + Me.tcAltoUse.Controls.Add(Me.tpALTOFull) + Me.tcAltoUse.Font = New System.Drawing.Font("함초롬바탕", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.tcAltoUse.Location = New System.Drawing.Point(6, 34) + Me.tcAltoUse.Name = "tcAltoUse" + Me.tcAltoUse.SelectedIndex = 0 + Me.tcAltoUse.Size = New System.Drawing.Size(380, 455) + Me.tcAltoUse.TabIndex = 57 + ' + 'tpALFunc1 + ' + Me.tpALFunc1.BackColor = System.Drawing.SystemColors.Control + Me.tpALFunc1.Controls.Add(Me.pnALCsTime) + Me.tpALFunc1.Controls.Add(Me.pnALEtTime) + Me.tpALFunc1.Controls.Add(Me.pnALFtTime) + Me.tpALFunc1.Controls.Add(Me.pnALFuncBox1) + Me.tpALFunc1.Location = New System.Drawing.Point(4, 30) + Me.tpALFunc1.Name = "tpALFunc1" + Me.tpALFunc1.Padding = New System.Windows.Forms.Padding(3) + Me.tpALFunc1.Size = New System.Drawing.Size(372, 421) + Me.tpALFunc1.TabIndex = 1 + Me.tpALFunc1.Text = "Func-1" + ' + 'pnALCsTime + ' + Me.pnALCsTime.Controls.Add(Me.lbALCsSec) + Me.pnALCsTime.Controls.Add(Me.txbALCsDay) + Me.pnALCsTime.Controls.Add(Me.txbALCsSec) + Me.pnALCsTime.Controls.Add(Me.lbALCsMin) + Me.pnALCsTime.Controls.Add(Me.txbALCsMin) + Me.pnALCsTime.Controls.Add(Me.lbALCsHour) + Me.pnALCsTime.Controls.Add(Me.txbALCsHour) + Me.pnALCsTime.Controls.Add(Me.lbALCsDay) + Me.pnALCsTime.Controls.Add(Me.lbALCsTime) + Me.pnALCsTime.Location = New System.Drawing.Point(6, 185) + Me.pnALCsTime.Name = "pnALCsTime" + Me.pnALCsTime.Size = New System.Drawing.Size(360, 90) + Me.pnALCsTime.TabIndex = 55 + ' + 'lbALCsSec + ' + Me.lbALCsSec.AutoSize = True + Me.lbALCsSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALCsSec.Location = New System.Drawing.Point(325, 48) + Me.lbALCsSec.Name = "lbALCsSec" + Me.lbALCsSec.Size = New System.Drawing.Size(28, 24) + Me.lbALCsSec.TabIndex = 8 + Me.lbALCsSec.Text = "초" + ' + 'txbALCsDay + ' + Me.txbALCsDay.BackColor = System.Drawing.Color.White + Me.txbALCsDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALCsDay.Location = New System.Drawing.Point(5, 45) + Me.txbALCsDay.Name = "txbALCsDay" + Me.txbALCsDay.ReadOnly = True + Me.txbALCsDay.Size = New System.Drawing.Size(80, 32) + Me.txbALCsDay.TabIndex = 1 + Me.txbALCsDay.Text = "0000" + Me.txbALCsDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALCsSec + ' + Me.txbALCsSec.BackColor = System.Drawing.Color.White + Me.txbALCsSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALCsSec.Location = New System.Drawing.Point(280, 45) + Me.txbALCsSec.Name = "txbALCsSec" + Me.txbALCsSec.ReadOnly = True + Me.txbALCsSec.Size = New System.Drawing.Size(45, 32) + Me.txbALCsSec.TabIndex = 7 + Me.txbALCsSec.Text = "00" + Me.txbALCsSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALCsMin + ' + Me.lbALCsMin.AutoSize = True + Me.lbALCsMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALCsMin.Location = New System.Drawing.Point(245, 48) + Me.lbALCsMin.Name = "lbALCsMin" + Me.lbALCsMin.Size = New System.Drawing.Size(28, 24) + Me.lbALCsMin.TabIndex = 6 + Me.lbALCsMin.Text = "분" + ' + 'txbALCsMin + ' + Me.txbALCsMin.BackColor = System.Drawing.Color.White + Me.txbALCsMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALCsMin.Location = New System.Drawing.Point(200, 45) + Me.txbALCsMin.Name = "txbALCsMin" + Me.txbALCsMin.ReadOnly = True + Me.txbALCsMin.Size = New System.Drawing.Size(45, 32) + Me.txbALCsMin.TabIndex = 5 + Me.txbALCsMin.Text = "00" + Me.txbALCsMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALCsHour + ' + Me.lbALCsHour.AutoSize = True + Me.lbALCsHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALCsHour.Location = New System.Drawing.Point(165, 48) + Me.lbALCsHour.Name = "lbALCsHour" + Me.lbALCsHour.Size = New System.Drawing.Size(28, 24) + Me.lbALCsHour.TabIndex = 4 + Me.lbALCsHour.Text = "시" + ' + 'txbALCsHour + ' + Me.txbALCsHour.BackColor = System.Drawing.Color.White + Me.txbALCsHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALCsHour.Location = New System.Drawing.Point(120, 45) + Me.txbALCsHour.Name = "txbALCsHour" + Me.txbALCsHour.ReadOnly = True + Me.txbALCsHour.Size = New System.Drawing.Size(45, 32) + Me.txbALCsHour.TabIndex = 3 + Me.txbALCsHour.Text = "00" + Me.txbALCsHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALCsDay + ' + Me.lbALCsDay.AutoSize = True + Me.lbALCsDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALCsDay.Location = New System.Drawing.Point(85, 48) + Me.lbALCsDay.Name = "lbALCsDay" + Me.lbALCsDay.Size = New System.Drawing.Size(28, 24) + Me.lbALCsDay.TabIndex = 2 + Me.lbALCsDay.Text = "일" + ' + 'lbALCsTime + ' + Me.lbALCsTime.AutoSize = True + Me.lbALCsTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALCsTime.Location = New System.Drawing.Point(5, 7) + Me.lbALCsTime.Name = "lbALCsTime" + Me.lbALCsTime.Size = New System.Drawing.Size(180, 27) + Me.lbALCsTime.TabIndex = 0 + Me.lbALCsTime.Text = "Cos-Up 사용 시간" + ' + 'pnALEtTime + ' + Me.pnALEtTime.Controls.Add(Me.lbALEtSec) + Me.pnALEtTime.Controls.Add(Me.txbALEtDay) + Me.pnALEtTime.Controls.Add(Me.txbALEtSec) + Me.pnALEtTime.Controls.Add(Me.lbALEtMin) + Me.pnALEtTime.Controls.Add(Me.txbALEtMin) + Me.pnALEtTime.Controls.Add(Me.lbALEtHour) + Me.pnALEtTime.Controls.Add(Me.txbALEtHour) + Me.pnALEtTime.Controls.Add(Me.lbALEtDay) + Me.pnALEtTime.Controls.Add(Me.lbALEtTime) + Me.pnALEtTime.Location = New System.Drawing.Point(6, 95) + Me.pnALEtTime.Name = "pnALEtTime" + Me.pnALEtTime.Size = New System.Drawing.Size(360, 90) + Me.pnALEtTime.TabIndex = 49 + ' + 'lbALEtSec + ' + Me.lbALEtSec.AutoSize = True + Me.lbALEtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALEtSec.Location = New System.Drawing.Point(325, 48) + Me.lbALEtSec.Name = "lbALEtSec" + Me.lbALEtSec.Size = New System.Drawing.Size(28, 24) + Me.lbALEtSec.TabIndex = 8 + Me.lbALEtSec.Text = "초" + ' + 'txbALEtDay + ' + Me.txbALEtDay.BackColor = System.Drawing.Color.White + Me.txbALEtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALEtDay.Location = New System.Drawing.Point(5, 45) + Me.txbALEtDay.Name = "txbALEtDay" + Me.txbALEtDay.ReadOnly = True + Me.txbALEtDay.Size = New System.Drawing.Size(80, 32) + Me.txbALEtDay.TabIndex = 1 + Me.txbALEtDay.Text = "0000" + Me.txbALEtDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALEtSec + ' + Me.txbALEtSec.BackColor = System.Drawing.Color.White + Me.txbALEtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALEtSec.Location = New System.Drawing.Point(280, 45) + Me.txbALEtSec.Name = "txbALEtSec" + Me.txbALEtSec.ReadOnly = True + Me.txbALEtSec.Size = New System.Drawing.Size(45, 32) + Me.txbALEtSec.TabIndex = 7 + Me.txbALEtSec.Text = "00" + Me.txbALEtSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALEtMin + ' + Me.lbALEtMin.AutoSize = True + Me.lbALEtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALEtMin.Location = New System.Drawing.Point(245, 48) + Me.lbALEtMin.Name = "lbALEtMin" + Me.lbALEtMin.Size = New System.Drawing.Size(28, 24) + Me.lbALEtMin.TabIndex = 6 + Me.lbALEtMin.Text = "분" + ' + 'txbALEtMin + ' + Me.txbALEtMin.BackColor = System.Drawing.Color.White + Me.txbALEtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALEtMin.Location = New System.Drawing.Point(200, 45) + Me.txbALEtMin.Name = "txbALEtMin" + Me.txbALEtMin.ReadOnly = True + Me.txbALEtMin.Size = New System.Drawing.Size(45, 32) + Me.txbALEtMin.TabIndex = 5 + Me.txbALEtMin.Text = "00" + Me.txbALEtMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALEtHour + ' + Me.lbALEtHour.AutoSize = True + Me.lbALEtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALEtHour.Location = New System.Drawing.Point(165, 48) + Me.lbALEtHour.Name = "lbALEtHour" + Me.lbALEtHour.Size = New System.Drawing.Size(28, 24) + Me.lbALEtHour.TabIndex = 4 + Me.lbALEtHour.Text = "시" + ' + 'txbALEtHour + ' + Me.txbALEtHour.BackColor = System.Drawing.Color.White + Me.txbALEtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALEtHour.Location = New System.Drawing.Point(120, 45) + Me.txbALEtHour.Name = "txbALEtHour" + Me.txbALEtHour.ReadOnly = True + Me.txbALEtHour.Size = New System.Drawing.Size(45, 32) + Me.txbALEtHour.TabIndex = 3 + Me.txbALEtHour.Text = "00" + Me.txbALEtHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALEtDay + ' + Me.lbALEtDay.AutoSize = True + Me.lbALEtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALEtDay.Location = New System.Drawing.Point(85, 48) + Me.lbALEtDay.Name = "lbALEtDay" + Me.lbALEtDay.Size = New System.Drawing.Size(28, 24) + Me.lbALEtDay.TabIndex = 2 + Me.lbALEtDay.Text = "일" + ' + 'lbALEtTime + ' + Me.lbALEtTime.AutoSize = True + Me.lbALEtTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALEtTime.Location = New System.Drawing.Point(5, 7) + Me.lbALEtTime.Name = "lbALEtTime" + Me.lbALEtTime.Size = New System.Drawing.Size(281, 27) + Me.lbALEtTime.TabIndex = 0 + Me.lbALEtTime.Text = "EYE - Tight Up 총 사용 시간" + ' + 'pnALFtTime + ' + Me.pnALFtTime.Controls.Add(Me.lbALFtSec) + Me.pnALFtTime.Controls.Add(Me.txbALFtDay) + Me.pnALFtTime.Controls.Add(Me.txbALFtSec) + Me.pnALFtTime.Controls.Add(Me.lbALFtMin) + Me.pnALFtTime.Controls.Add(Me.txbALFtMin) + Me.pnALFtTime.Controls.Add(Me.lbALFtHour) + Me.pnALFtTime.Controls.Add(Me.txbALFtHour) + Me.pnALFtTime.Controls.Add(Me.lbALFtDay) + Me.pnALFtTime.Controls.Add(Me.lbALFtTime) + Me.pnALFtTime.Location = New System.Drawing.Point(6, 5) + Me.pnALFtTime.Name = "pnALFtTime" + Me.pnALFtTime.Size = New System.Drawing.Size(360, 90) + Me.pnALFtTime.TabIndex = 48 + ' + 'lbALFtSec + ' + Me.lbALFtSec.AutoSize = True + Me.lbALFtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALFtSec.Location = New System.Drawing.Point(325, 48) + Me.lbALFtSec.Name = "lbALFtSec" + Me.lbALFtSec.Size = New System.Drawing.Size(28, 24) + Me.lbALFtSec.TabIndex = 8 + Me.lbALFtSec.Text = "초" + ' + 'txbALFtDay + ' + Me.txbALFtDay.BackColor = System.Drawing.Color.White + Me.txbALFtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFtDay.Location = New System.Drawing.Point(5, 45) + Me.txbALFtDay.Name = "txbALFtDay" + Me.txbALFtDay.ReadOnly = True + Me.txbALFtDay.Size = New System.Drawing.Size(80, 32) + Me.txbALFtDay.TabIndex = 1 + Me.txbALFtDay.Text = "0000" + Me.txbALFtDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALFtSec + ' + Me.txbALFtSec.BackColor = System.Drawing.Color.White + Me.txbALFtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFtSec.Location = New System.Drawing.Point(280, 45) + Me.txbALFtSec.Name = "txbALFtSec" + Me.txbALFtSec.ReadOnly = True + Me.txbALFtSec.Size = New System.Drawing.Size(45, 32) + Me.txbALFtSec.TabIndex = 7 + Me.txbALFtSec.Text = "00" + Me.txbALFtSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALFtMin + ' + Me.lbALFtMin.AutoSize = True + Me.lbALFtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALFtMin.Location = New System.Drawing.Point(245, 48) + Me.lbALFtMin.Name = "lbALFtMin" + Me.lbALFtMin.Size = New System.Drawing.Size(28, 24) + Me.lbALFtMin.TabIndex = 6 + Me.lbALFtMin.Text = "분" + ' + 'txbALFtMin + ' + Me.txbALFtMin.BackColor = System.Drawing.Color.White + Me.txbALFtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFtMin.Location = New System.Drawing.Point(200, 45) + Me.txbALFtMin.Name = "txbALFtMin" + Me.txbALFtMin.ReadOnly = True + Me.txbALFtMin.Size = New System.Drawing.Size(45, 32) + Me.txbALFtMin.TabIndex = 5 + Me.txbALFtMin.Text = "00" + Me.txbALFtMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALFtHour + ' + Me.lbALFtHour.AutoSize = True + Me.lbALFtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALFtHour.Location = New System.Drawing.Point(165, 48) + Me.lbALFtHour.Name = "lbALFtHour" + Me.lbALFtHour.Size = New System.Drawing.Size(28, 24) + Me.lbALFtHour.TabIndex = 4 + Me.lbALFtHour.Text = "시" + ' + 'txbALFtHour + ' + Me.txbALFtHour.BackColor = System.Drawing.Color.White + Me.txbALFtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFtHour.Location = New System.Drawing.Point(120, 45) + Me.txbALFtHour.Name = "txbALFtHour" + Me.txbALFtHour.ReadOnly = True + Me.txbALFtHour.Size = New System.Drawing.Size(45, 32) + Me.txbALFtHour.TabIndex = 3 + Me.txbALFtHour.Text = "00" + Me.txbALFtHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALFtDay + ' + Me.lbALFtDay.AutoSize = True + Me.lbALFtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALFtDay.Location = New System.Drawing.Point(85, 48) + Me.lbALFtDay.Name = "lbALFtDay" + Me.lbALFtDay.Size = New System.Drawing.Size(28, 24) + Me.lbALFtDay.TabIndex = 2 + Me.lbALFtDay.Text = "일" + ' + 'lbALFtTime + ' + Me.lbALFtTime.AutoSize = True + Me.lbALFtTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALFtTime.Location = New System.Drawing.Point(5, 7) + Me.lbALFtTime.Name = "lbALFtTime" + Me.lbALFtTime.Size = New System.Drawing.Size(294, 27) + Me.lbALFtTime.TabIndex = 0 + Me.lbALFtTime.Text = "FACE - Tight Up 총 사용 시간" + ' + 'pnALFuncBox1 + ' + Me.pnALFuncBox1.Controls.Add(Me.btnALFuncReset1) + Me.pnALFuncBox1.Controls.Add(Me.btnALFuncRead1) + Me.pnALFuncBox1.Controls.Add(Me.txbALFuncBox1) + Me.pnALFuncBox1.Location = New System.Drawing.Point(6, 320) + Me.pnALFuncBox1.Name = "pnALFuncBox1" + Me.pnALFuncBox1.Size = New System.Drawing.Size(360, 93) + Me.pnALFuncBox1.TabIndex = 54 + ' + 'btnALFuncReset1 + ' + Me.btnALFuncReset1.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALFuncReset1.ForeColor = System.Drawing.Color.Red + Me.btnALFuncReset1.Location = New System.Drawing.Point(10, 5) + Me.btnALFuncReset1.Name = "btnALFuncReset1" + Me.btnALFuncReset1.Size = New System.Drawing.Size(170, 50) + Me.btnALFuncReset1.TabIndex = 48 + Me.btnALFuncReset1.Text = "사용 시간 초기화" + Me.btnALFuncReset1.UseVisualStyleBackColor = True + ' + 'btnALFuncRead1 + ' + Me.btnALFuncRead1.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALFuncRead1.Location = New System.Drawing.Point(180, 5) + Me.btnALFuncRead1.Name = "btnALFuncRead1" + Me.btnALFuncRead1.Size = New System.Drawing.Size(170, 50) + Me.btnALFuncRead1.TabIndex = 46 + Me.btnALFuncRead1.Text = "읽기" + Me.btnALFuncRead1.UseVisualStyleBackColor = True + ' + 'txbALFuncBox1 + ' + Me.txbALFuncBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbALFuncBox1.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFuncBox1.ForeColor = System.Drawing.Color.White + Me.txbALFuncBox1.Location = New System.Drawing.Point(10, 60) + Me.txbALFuncBox1.Name = "txbALFuncBox1" + Me.txbALFuncBox1.Size = New System.Drawing.Size(340, 29) + Me.txbALFuncBox1.TabIndex = 45 + Me.txbALFuncBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbALFuncBox1.Visible = False + ' + 'tpALFunc2 + ' + Me.tpALFunc2.BackColor = System.Drawing.SystemColors.Control + Me.tpALFunc2.Controls.Add(Me.pnALLtTime) + Me.tpALFunc2.Controls.Add(Me.pnALFuncBox2) + Me.tpALFunc2.Controls.Add(Me.pnALBtTime) + Me.tpALFunc2.Location = New System.Drawing.Point(4, 30) + Me.tpALFunc2.Name = "tpALFunc2" + Me.tpALFunc2.Padding = New System.Windows.Forms.Padding(3) + Me.tpALFunc2.Size = New System.Drawing.Size(372, 421) + Me.tpALFunc2.TabIndex = 2 + Me.tpALFunc2.Text = "Func-2" + ' + 'pnALLtTime + ' + Me.pnALLtTime.Controls.Add(Me.lbALLtSec) + Me.pnALLtTime.Controls.Add(Me.txbALLtDay) + Me.pnALLtTime.Controls.Add(Me.txbALLtSec) + Me.pnALLtTime.Controls.Add(Me.lbALLtMin) + Me.pnALLtTime.Controls.Add(Me.txbALLtMin) + Me.pnALLtTime.Controls.Add(Me.lbALLtHour) + Me.pnALLtTime.Controls.Add(Me.txbALLtHour) + Me.pnALLtTime.Controls.Add(Me.lbALLtDay) + Me.pnALLtTime.Controls.Add(Me.lbALLtTime) + Me.pnALLtTime.Location = New System.Drawing.Point(6, 5) + Me.pnALLtTime.Name = "pnALLtTime" + Me.pnALLtTime.Size = New System.Drawing.Size(360, 90) + Me.pnALLtTime.TabIndex = 56 + ' + 'lbALLtSec + ' + Me.lbALLtSec.AutoSize = True + Me.lbALLtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALLtSec.Location = New System.Drawing.Point(325, 48) + Me.lbALLtSec.Name = "lbALLtSec" + Me.lbALLtSec.Size = New System.Drawing.Size(28, 24) + Me.lbALLtSec.TabIndex = 8 + Me.lbALLtSec.Text = "초" + ' + 'txbALLtDay + ' + Me.txbALLtDay.BackColor = System.Drawing.Color.White + Me.txbALLtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALLtDay.Location = New System.Drawing.Point(5, 45) + Me.txbALLtDay.Name = "txbALLtDay" + Me.txbALLtDay.ReadOnly = True + Me.txbALLtDay.Size = New System.Drawing.Size(80, 32) + Me.txbALLtDay.TabIndex = 1 + Me.txbALLtDay.Text = "0000" + Me.txbALLtDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALLtSec + ' + Me.txbALLtSec.BackColor = System.Drawing.Color.White + Me.txbALLtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALLtSec.Location = New System.Drawing.Point(280, 45) + Me.txbALLtSec.Name = "txbALLtSec" + Me.txbALLtSec.ReadOnly = True + Me.txbALLtSec.Size = New System.Drawing.Size(45, 32) + Me.txbALLtSec.TabIndex = 7 + Me.txbALLtSec.Text = "00" + Me.txbALLtSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALLtMin + ' + Me.lbALLtMin.AutoSize = True + Me.lbALLtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALLtMin.Location = New System.Drawing.Point(245, 48) + Me.lbALLtMin.Name = "lbALLtMin" + Me.lbALLtMin.Size = New System.Drawing.Size(28, 24) + Me.lbALLtMin.TabIndex = 6 + Me.lbALLtMin.Text = "분" + ' + 'txbALLtMin + ' + Me.txbALLtMin.BackColor = System.Drawing.Color.White + Me.txbALLtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALLtMin.Location = New System.Drawing.Point(200, 45) + Me.txbALLtMin.Name = "txbALLtMin" + Me.txbALLtMin.ReadOnly = True + Me.txbALLtMin.Size = New System.Drawing.Size(45, 32) + Me.txbALLtMin.TabIndex = 5 + Me.txbALLtMin.Text = "00" + Me.txbALLtMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALLtHour + ' + Me.lbALLtHour.AutoSize = True + Me.lbALLtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALLtHour.Location = New System.Drawing.Point(165, 48) + Me.lbALLtHour.Name = "lbALLtHour" + Me.lbALLtHour.Size = New System.Drawing.Size(28, 24) + Me.lbALLtHour.TabIndex = 4 + Me.lbALLtHour.Text = "시" + ' + 'txbALLtHour + ' + Me.txbALLtHour.BackColor = System.Drawing.Color.White + Me.txbALLtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALLtHour.Location = New System.Drawing.Point(120, 45) + Me.txbALLtHour.Name = "txbALLtHour" + Me.txbALLtHour.ReadOnly = True + Me.txbALLtHour.Size = New System.Drawing.Size(45, 32) + Me.txbALLtHour.TabIndex = 3 + Me.txbALLtHour.Text = "00" + Me.txbALLtHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALLtDay + ' + Me.lbALLtDay.AutoSize = True + Me.lbALLtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALLtDay.Location = New System.Drawing.Point(85, 48) + Me.lbALLtDay.Name = "lbALLtDay" + Me.lbALLtDay.Size = New System.Drawing.Size(28, 24) + Me.lbALLtDay.TabIndex = 2 + Me.lbALLtDay.Text = "일" + ' + 'lbALLtTime + ' + Me.lbALLtTime.AutoSize = True + Me.lbALLtTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALLtTime.Location = New System.Drawing.Point(5, 7) + Me.lbALLtTime.Name = "lbALLtTime" + Me.lbALLtTime.Size = New System.Drawing.Size(272, 27) + Me.lbALLtTime.TabIndex = 0 + Me.lbALLtTime.Text = "Lip - Tight Up 총 사용 시간" + ' + 'pnALFuncBox2 + ' + Me.pnALFuncBox2.Controls.Add(Me.btnALFuncReset2) + Me.pnALFuncBox2.Controls.Add(Me.btnALFuncRead2) + Me.pnALFuncBox2.Controls.Add(Me.txbALFuncBox2) + Me.pnALFuncBox2.Location = New System.Drawing.Point(6, 320) + Me.pnALFuncBox2.Name = "pnALFuncBox2" + Me.pnALFuncBox2.Size = New System.Drawing.Size(360, 93) + Me.pnALFuncBox2.TabIndex = 54 + ' + 'btnALFuncReset2 + ' + Me.btnALFuncReset2.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALFuncReset2.ForeColor = System.Drawing.Color.Red + Me.btnALFuncReset2.Location = New System.Drawing.Point(10, 5) + Me.btnALFuncReset2.Name = "btnALFuncReset2" + Me.btnALFuncReset2.Size = New System.Drawing.Size(170, 50) + Me.btnALFuncReset2.TabIndex = 48 + Me.btnALFuncReset2.Text = "사용 시간 초기화" + Me.btnALFuncReset2.UseVisualStyleBackColor = True + ' + 'btnALFuncRead2 + ' + Me.btnALFuncRead2.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALFuncRead2.Location = New System.Drawing.Point(180, 5) + Me.btnALFuncRead2.Name = "btnALFuncRead2" + Me.btnALFuncRead2.Size = New System.Drawing.Size(170, 50) + Me.btnALFuncRead2.TabIndex = 46 + Me.btnALFuncRead2.Text = "읽기" + Me.btnALFuncRead2.UseVisualStyleBackColor = True + ' + 'txbALFuncBox2 + ' + Me.txbALFuncBox2.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbALFuncBox2.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALFuncBox2.ForeColor = System.Drawing.Color.White + Me.txbALFuncBox2.Location = New System.Drawing.Point(10, 60) + Me.txbALFuncBox2.Name = "txbALFuncBox2" + Me.txbALFuncBox2.Size = New System.Drawing.Size(340, 29) + Me.txbALFuncBox2.TabIndex = 45 + Me.txbALFuncBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbALFuncBox2.Visible = False + ' + 'pnALBtTime + ' + Me.pnALBtTime.Controls.Add(Me.lbALBtSec) + Me.pnALBtTime.Controls.Add(Me.txbALBtDay) + Me.pnALBtTime.Controls.Add(Me.txbALBtSec) + Me.pnALBtTime.Controls.Add(Me.lbALBtMin) + Me.pnALBtTime.Controls.Add(Me.txbALBtMin) + Me.pnALBtTime.Controls.Add(Me.lbALBtHour) + Me.pnALBtTime.Controls.Add(Me.txbALBtHour) + Me.pnALBtTime.Controls.Add(Me.lbALBtDay) + Me.pnALBtTime.Controls.Add(Me.lbALBtTime) + Me.pnALBtTime.Location = New System.Drawing.Point(6, 95) + Me.pnALBtTime.Name = "pnALBtTime" + Me.pnALBtTime.Size = New System.Drawing.Size(360, 90) + Me.pnALBtTime.TabIndex = 49 + ' + 'lbALBtSec + ' + Me.lbALBtSec.AutoSize = True + Me.lbALBtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALBtSec.Location = New System.Drawing.Point(325, 48) + Me.lbALBtSec.Name = "lbALBtSec" + Me.lbALBtSec.Size = New System.Drawing.Size(28, 24) + Me.lbALBtSec.TabIndex = 8 + Me.lbALBtSec.Text = "초" + ' + 'txbALBtDay + ' + Me.txbALBtDay.BackColor = System.Drawing.Color.White + Me.txbALBtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALBtDay.Location = New System.Drawing.Point(5, 45) + Me.txbALBtDay.Name = "txbALBtDay" + Me.txbALBtDay.ReadOnly = True + Me.txbALBtDay.Size = New System.Drawing.Size(80, 32) + Me.txbALBtDay.TabIndex = 1 + Me.txbALBtDay.Text = "0000" + Me.txbALBtDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALBtSec + ' + Me.txbALBtSec.BackColor = System.Drawing.Color.White + Me.txbALBtSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALBtSec.Location = New System.Drawing.Point(280, 45) + Me.txbALBtSec.Name = "txbALBtSec" + Me.txbALBtSec.ReadOnly = True + Me.txbALBtSec.Size = New System.Drawing.Size(45, 32) + Me.txbALBtSec.TabIndex = 7 + Me.txbALBtSec.Text = "00" + Me.txbALBtSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALBtMin + ' + Me.lbALBtMin.AutoSize = True + Me.lbALBtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALBtMin.Location = New System.Drawing.Point(245, 48) + Me.lbALBtMin.Name = "lbALBtMin" + Me.lbALBtMin.Size = New System.Drawing.Size(28, 24) + Me.lbALBtMin.TabIndex = 6 + Me.lbALBtMin.Text = "분" + ' + 'txbALBtMin + ' + Me.txbALBtMin.BackColor = System.Drawing.Color.White + Me.txbALBtMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALBtMin.Location = New System.Drawing.Point(200, 45) + Me.txbALBtMin.Name = "txbALBtMin" + Me.txbALBtMin.ReadOnly = True + Me.txbALBtMin.Size = New System.Drawing.Size(45, 32) + Me.txbALBtMin.TabIndex = 5 + Me.txbALBtMin.Text = "00" + Me.txbALBtMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALBtHour + ' + Me.lbALBtHour.AutoSize = True + Me.lbALBtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALBtHour.Location = New System.Drawing.Point(165, 48) + Me.lbALBtHour.Name = "lbALBtHour" + Me.lbALBtHour.Size = New System.Drawing.Size(28, 24) + Me.lbALBtHour.TabIndex = 4 + Me.lbALBtHour.Text = "시" + ' + 'txbALBtHour + ' + Me.txbALBtHour.BackColor = System.Drawing.Color.White + Me.txbALBtHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALBtHour.Location = New System.Drawing.Point(120, 45) + Me.txbALBtHour.Name = "txbALBtHour" + Me.txbALBtHour.ReadOnly = True + Me.txbALBtHour.Size = New System.Drawing.Size(45, 32) + Me.txbALBtHour.TabIndex = 3 + Me.txbALBtHour.Text = "00" + Me.txbALBtHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALBtDay + ' + Me.lbALBtDay.AutoSize = True + Me.lbALBtDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALBtDay.Location = New System.Drawing.Point(85, 48) + Me.lbALBtDay.Name = "lbALBtDay" + Me.lbALBtDay.Size = New System.Drawing.Size(28, 24) + Me.lbALBtDay.TabIndex = 2 + Me.lbALBtDay.Text = "일" + ' + 'lbALBtTime + ' + Me.lbALBtTime.AutoSize = True + Me.lbALBtTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALBtTime.Location = New System.Drawing.Point(5, 7) + Me.lbALBtTime.Name = "lbALBtTime" + Me.lbALBtTime.Size = New System.Drawing.Size(269, 27) + Me.lbALBtTime.TabIndex = 0 + Me.lbALBtTime.Text = "Body - Tight-Up 사용 시간" + ' + 'tpALTOFull + ' + Me.tpALTOFull.BackColor = System.Drawing.SystemColors.Control + Me.tpALTOFull.Controls.Add(Me.pnALAllFunc) + Me.tpALTOFull.Controls.Add(Me.pnALAllErr) + Me.tpALTOFull.Controls.Add(Me.pnALAllTime) + Me.tpALTOFull.Location = New System.Drawing.Point(4, 30) + Me.tpALTOFull.Name = "tpALTOFull" + Me.tpALTOFull.Padding = New System.Windows.Forms.Padding(3) + Me.tpALTOFull.Size = New System.Drawing.Size(372, 421) + Me.tpALTOFull.TabIndex = 0 + Me.tpALTOFull.Text = "전체" + ' + 'pnALAllFunc + ' + Me.pnALAllFunc.Controls.Add(Me.btnALAllReset) + Me.pnALAllFunc.Controls.Add(Me.btnALAllRead) + Me.pnALAllFunc.Controls.Add(Me.txbALAllBox) + Me.pnALAllFunc.Location = New System.Drawing.Point(6, 320) + Me.pnALAllFunc.Name = "pnALAllFunc" + Me.pnALAllFunc.Size = New System.Drawing.Size(360, 93) + Me.pnALAllFunc.TabIndex = 53 + ' + 'btnALAllReset + ' + Me.btnALAllReset.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALAllReset.ForeColor = System.Drawing.Color.Red + Me.btnALAllReset.Location = New System.Drawing.Point(10, 5) + Me.btnALAllReset.Name = "btnALAllReset" + Me.btnALAllReset.Size = New System.Drawing.Size(170, 50) + Me.btnALAllReset.TabIndex = 48 + Me.btnALAllReset.Text = "사용 시간 초기화" + Me.btnALAllReset.UseVisualStyleBackColor = True + ' + 'btnALAllRead + ' + Me.btnALAllRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnALAllRead.Location = New System.Drawing.Point(180, 5) + Me.btnALAllRead.Name = "btnALAllRead" + Me.btnALAllRead.Size = New System.Drawing.Size(170, 50) + Me.btnALAllRead.TabIndex = 46 + Me.btnALAllRead.Text = "읽기" + Me.btnALAllRead.UseVisualStyleBackColor = True + ' + 'txbALAllBox + ' + Me.txbALAllBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbALAllBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllBox.ForeColor = System.Drawing.Color.White + Me.txbALAllBox.Location = New System.Drawing.Point(10, 60) + Me.txbALAllBox.Name = "txbALAllBox" + Me.txbALAllBox.Size = New System.Drawing.Size(340, 29) + Me.txbALAllBox.TabIndex = 45 + Me.txbALAllBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbALAllBox.Visible = False + ' + 'pnALAllErr + ' + Me.pnALAllErr.Controls.Add(Me.txbALAllErr) + Me.pnALAllErr.Controls.Add(Me.lbALAllErr) + Me.pnALAllErr.Location = New System.Drawing.Point(5, 100) + Me.pnALAllErr.Name = "pnALAllErr" + Me.pnALAllErr.Size = New System.Drawing.Size(360, 40) + Me.pnALAllErr.TabIndex = 51 + ' + 'txbALAllErr + ' + Me.txbALAllErr.BackColor = System.Drawing.Color.White + Me.txbALAllErr.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllErr.Location = New System.Drawing.Point(145, 5) + Me.txbALAllErr.Name = "txbALAllErr" + Me.txbALAllErr.ReadOnly = True + Me.txbALAllErr.Size = New System.Drawing.Size(205, 32) + Me.txbALAllErr.TabIndex = 1 + Me.txbALAllErr.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALAllErr + ' + Me.lbALAllErr.AutoSize = True + Me.lbALAllErr.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllErr.Location = New System.Drawing.Point(12, 8) + Me.lbALAllErr.Name = "lbALAllErr" + Me.lbALAllErr.Size = New System.Drawing.Size(121, 24) + Me.lbALAllErr.TabIndex = 0 + Me.lbALAllErr.Text = "Error Count" + ' + 'pnALAllTime + ' + Me.pnALAllTime.Controls.Add(Me.lbALAllSec) + Me.pnALAllTime.Controls.Add(Me.txbALAllDay) + Me.pnALAllTime.Controls.Add(Me.txbALAllSec) + Me.pnALAllTime.Controls.Add(Me.lbALAllMin) + Me.pnALAllTime.Controls.Add(Me.txbALAllMin) + Me.pnALAllTime.Controls.Add(Me.lbALAllHour) + Me.pnALAllTime.Controls.Add(Me.txbALAllHour) + Me.pnALAllTime.Controls.Add(Me.lbALAllDay) + Me.pnALAllTime.Controls.Add(Me.lbALAllTime) + Me.pnALAllTime.Location = New System.Drawing.Point(5, 5) + Me.pnALAllTime.Name = "pnALAllTime" + Me.pnALAllTime.Size = New System.Drawing.Size(360, 90) + Me.pnALAllTime.TabIndex = 49 + ' + 'lbALAllSec + ' + Me.lbALAllSec.AutoSize = True + Me.lbALAllSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllSec.Location = New System.Drawing.Point(325, 48) + Me.lbALAllSec.Name = "lbALAllSec" + Me.lbALAllSec.Size = New System.Drawing.Size(28, 24) + Me.lbALAllSec.TabIndex = 8 + Me.lbALAllSec.Text = "초" + ' + 'txbALAllDay + ' + Me.txbALAllDay.BackColor = System.Drawing.Color.White + Me.txbALAllDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllDay.Location = New System.Drawing.Point(5, 45) + Me.txbALAllDay.Name = "txbALAllDay" + Me.txbALAllDay.ReadOnly = True + Me.txbALAllDay.Size = New System.Drawing.Size(80, 32) + Me.txbALAllDay.TabIndex = 1 + Me.txbALAllDay.Text = "0000" + Me.txbALAllDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbALAllSec + ' + Me.txbALAllSec.BackColor = System.Drawing.Color.White + Me.txbALAllSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllSec.Location = New System.Drawing.Point(280, 45) + Me.txbALAllSec.Name = "txbALAllSec" + Me.txbALAllSec.ReadOnly = True + Me.txbALAllSec.Size = New System.Drawing.Size(45, 32) + Me.txbALAllSec.TabIndex = 7 + Me.txbALAllSec.Text = "00" + Me.txbALAllSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALAllMin + ' + Me.lbALAllMin.AutoSize = True + Me.lbALAllMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllMin.Location = New System.Drawing.Point(245, 48) + Me.lbALAllMin.Name = "lbALAllMin" + Me.lbALAllMin.Size = New System.Drawing.Size(28, 24) + Me.lbALAllMin.TabIndex = 6 + Me.lbALAllMin.Text = "분" + ' + 'txbALAllMin + ' + Me.txbALAllMin.BackColor = System.Drawing.Color.White + Me.txbALAllMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllMin.Location = New System.Drawing.Point(200, 45) + Me.txbALAllMin.Name = "txbALAllMin" + Me.txbALAllMin.ReadOnly = True + Me.txbALAllMin.Size = New System.Drawing.Size(45, 32) + Me.txbALAllMin.TabIndex = 5 + Me.txbALAllMin.Text = "00" + Me.txbALAllMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALAllHour + ' + Me.lbALAllHour.AutoSize = True + Me.lbALAllHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllHour.Location = New System.Drawing.Point(165, 48) + Me.lbALAllHour.Name = "lbALAllHour" + Me.lbALAllHour.Size = New System.Drawing.Size(28, 24) + Me.lbALAllHour.TabIndex = 4 + Me.lbALAllHour.Text = "시" + ' + 'txbALAllHour + ' + Me.txbALAllHour.BackColor = System.Drawing.Color.White + Me.txbALAllHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbALAllHour.Location = New System.Drawing.Point(120, 45) + Me.txbALAllHour.Name = "txbALAllHour" + Me.txbALAllHour.ReadOnly = True + Me.txbALAllHour.Size = New System.Drawing.Size(45, 32) + Me.txbALAllHour.TabIndex = 3 + Me.txbALAllHour.Text = "00" + Me.txbALAllHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbALAllDay + ' + Me.lbALAllDay.AutoSize = True + Me.lbALAllDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllDay.Location = New System.Drawing.Point(85, 48) + Me.lbALAllDay.Name = "lbALAllDay" + Me.lbALAllDay.Size = New System.Drawing.Size(28, 24) + Me.lbALAllDay.TabIndex = 2 + Me.lbALAllDay.Text = "일" + ' + 'lbALAllTime + ' + Me.lbALAllTime.AutoSize = True + Me.lbALAllTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbALAllTime.Location = New System.Drawing.Point(5, 7) + Me.lbALAllTime.Name = "lbALAllTime" + Me.lbALAllTime.Size = New System.Drawing.Size(144, 27) + Me.lbALAllTime.TabIndex = 0 + Me.lbALAllTime.Text = "전체 사용 시간" + ' + 'tcMAXUse + ' + Me.tcMAXUse.Controls.Add(Me.tpMAXFULL) + Me.tcMAXUse.Controls.Add(Me.tpMXHIFU) + Me.tcMAXUse.Controls.Add(Me.tpMXRF) + Me.tcMAXUse.Font = New System.Drawing.Font("함초롬바탕", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.tcMAXUse.Location = New System.Drawing.Point(10, 43) + Me.tcMAXUse.Name = "tcMAXUse" + Me.tcMAXUse.SelectedIndex = 0 + Me.tcMAXUse.Size = New System.Drawing.Size(380, 455) + Me.tcMAXUse.TabIndex = 56 + ' + 'tpMAXFULL + ' + Me.tpMAXFULL.BackColor = System.Drawing.SystemColors.Control + Me.tpMAXFULL.Controls.Add(Me.pnMxAllFunc) + Me.tpMAXFULL.Controls.Add(Me.pnMxAllShot) + Me.tpMAXFULL.Controls.Add(Me.pnMxAllErr) + Me.tpMAXFULL.Controls.Add(Me.pnMxAllTime) + Me.tpMAXFULL.Location = New System.Drawing.Point(4, 30) + Me.tpMAXFULL.Name = "tpMAXFULL" + Me.tpMAXFULL.Padding = New System.Windows.Forms.Padding(3) + Me.tpMAXFULL.Size = New System.Drawing.Size(372, 421) + Me.tpMAXFULL.TabIndex = 0 + Me.tpMAXFULL.Text = "전체" + ' + 'pnMxAllFunc + ' + Me.pnMxAllFunc.Controls.Add(Me.btnMxAllReset) + Me.pnMxAllFunc.Controls.Add(Me.btnMxAllRead) + Me.pnMxAllFunc.Controls.Add(Me.txbMxAllBox) + Me.pnMxAllFunc.Location = New System.Drawing.Point(6, 320) + Me.pnMxAllFunc.Name = "pnMxAllFunc" + Me.pnMxAllFunc.Size = New System.Drawing.Size(360, 93) + Me.pnMxAllFunc.TabIndex = 53 + ' + 'btnMxAllReset + ' + Me.btnMxAllReset.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxAllReset.ForeColor = System.Drawing.Color.Red + Me.btnMxAllReset.Location = New System.Drawing.Point(10, 5) + Me.btnMxAllReset.Name = "btnMxAllReset" + Me.btnMxAllReset.Size = New System.Drawing.Size(170, 50) + Me.btnMxAllReset.TabIndex = 48 + Me.btnMxAllReset.Text = "사용 시간 초기화" + Me.btnMxAllReset.UseVisualStyleBackColor = True + ' + 'btnMxAllRead + ' + Me.btnMxAllRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxAllRead.Location = New System.Drawing.Point(180, 5) + Me.btnMxAllRead.Name = "btnMxAllRead" + Me.btnMxAllRead.Size = New System.Drawing.Size(170, 50) + Me.btnMxAllRead.TabIndex = 46 + Me.btnMxAllRead.Text = "읽기" + Me.btnMxAllRead.UseVisualStyleBackColor = True + ' + 'txbMxAllBox + ' + Me.txbMxAllBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbMxAllBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllBox.ForeColor = System.Drawing.Color.White + Me.txbMxAllBox.Location = New System.Drawing.Point(10, 60) + Me.txbMxAllBox.Name = "txbMxAllBox" + Me.txbMxAllBox.Size = New System.Drawing.Size(340, 29) + Me.txbMxAllBox.TabIndex = 45 + Me.txbMxAllBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbMxAllBox.Visible = False + ' + 'pnMxAllShot + ' + Me.pnMxAllShot.Controls.Add(Me.txbMxAllShot) + Me.pnMxAllShot.Controls.Add(Me.lbMxAllShot) + Me.pnMxAllShot.Location = New System.Drawing.Point(6, 100) + Me.pnMxAllShot.Name = "pnMxAllShot" + Me.pnMxAllShot.Size = New System.Drawing.Size(360, 40) + Me.pnMxAllShot.TabIndex = 52 + ' + 'txbMxAllShot + ' + Me.txbMxAllShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllShot.Location = New System.Drawing.Point(145, 5) + Me.txbMxAllShot.Name = "txbMxAllShot" + Me.txbMxAllShot.Size = New System.Drawing.Size(205, 32) + Me.txbMxAllShot.TabIndex = 1 + Me.txbMxAllShot.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxAllShot + ' + Me.lbMxAllShot.AutoSize = True + Me.lbMxAllShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllShot.Location = New System.Drawing.Point(19, 8) + Me.lbMxAllShot.Name = "lbMxAllShot" + Me.lbMxAllShot.Size = New System.Drawing.Size(113, 24) + Me.lbMxAllShot.TabIndex = 0 + Me.lbMxAllShot.Text = "Shot Count" + ' + 'pnMxAllErr + ' + Me.pnMxAllErr.Controls.Add(Me.txbMxAllErr) + Me.pnMxAllErr.Controls.Add(Me.lbMxAllErr) + Me.pnMxAllErr.Location = New System.Drawing.Point(6, 145) + Me.pnMxAllErr.Name = "pnMxAllErr" + Me.pnMxAllErr.Size = New System.Drawing.Size(360, 40) + Me.pnMxAllErr.TabIndex = 51 + ' + 'txbMxAllErr + ' + Me.txbMxAllErr.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllErr.Location = New System.Drawing.Point(145, 5) + Me.txbMxAllErr.Name = "txbMxAllErr" + Me.txbMxAllErr.Size = New System.Drawing.Size(205, 32) + Me.txbMxAllErr.TabIndex = 1 + Me.txbMxAllErr.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxAllErr + ' + Me.lbMxAllErr.AutoSize = True + Me.lbMxAllErr.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllErr.Location = New System.Drawing.Point(12, 8) + Me.lbMxAllErr.Name = "lbMxAllErr" + Me.lbMxAllErr.Size = New System.Drawing.Size(121, 24) + Me.lbMxAllErr.TabIndex = 0 + Me.lbMxAllErr.Text = "Error Count" + ' + 'pnMxAllTime + ' + Me.pnMxAllTime.Controls.Add(Me.lbMxAllSec) + Me.pnMxAllTime.Controls.Add(Me.txbMxAllDay) + Me.pnMxAllTime.Controls.Add(Me.txbMxAllSec) + Me.pnMxAllTime.Controls.Add(Me.lbMxAllMin) + Me.pnMxAllTime.Controls.Add(Me.txbMxAllMin) + Me.pnMxAllTime.Controls.Add(Me.lbMxAllHour) + Me.pnMxAllTime.Controls.Add(Me.txbMxAllHour) + Me.pnMxAllTime.Controls.Add(Me.lbMxAllDay) + Me.pnMxAllTime.Controls.Add(Me.lbMxAllTime) + Me.pnMxAllTime.Location = New System.Drawing.Point(6, 5) + Me.pnMxAllTime.Name = "pnMxAllTime" + Me.pnMxAllTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxAllTime.TabIndex = 49 + ' + 'lbMxAllSec + ' + Me.lbMxAllSec.AutoSize = True + Me.lbMxAllSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllSec.Location = New System.Drawing.Point(325, 48) + Me.lbMxAllSec.Name = "lbMxAllSec" + Me.lbMxAllSec.Size = New System.Drawing.Size(28, 24) + Me.lbMxAllSec.TabIndex = 8 + Me.lbMxAllSec.Text = "초" + ' + 'txbMxAllDay + ' + Me.txbMxAllDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxAllDay.Name = "txbMxAllDay" + Me.txbMxAllDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxAllDay.TabIndex = 1 + Me.txbMxAllDay.Text = "0000" + Me.txbMxAllDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxAllSec + ' + Me.txbMxAllSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllSec.Location = New System.Drawing.Point(280, 45) + Me.txbMxAllSec.Name = "txbMxAllSec" + Me.txbMxAllSec.Size = New System.Drawing.Size(45, 32) + Me.txbMxAllSec.TabIndex = 7 + Me.txbMxAllSec.Text = "00" + Me.txbMxAllSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxAllMin + ' + Me.lbMxAllMin.AutoSize = True + Me.lbMxAllMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxAllMin.Name = "lbMxAllMin" + Me.lbMxAllMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxAllMin.TabIndex = 6 + Me.lbMxAllMin.Text = "분" + ' + 'txbMxAllMin + ' + Me.txbMxAllMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxAllMin.Name = "txbMxAllMin" + Me.txbMxAllMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxAllMin.TabIndex = 5 + Me.txbMxAllMin.Text = "00" + Me.txbMxAllMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxAllHour + ' + Me.lbMxAllHour.AutoSize = True + Me.lbMxAllHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxAllHour.Name = "lbMxAllHour" + Me.lbMxAllHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxAllHour.TabIndex = 4 + Me.lbMxAllHour.Text = "시" + ' + 'txbMxAllHour + ' + Me.txbMxAllHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxAllHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxAllHour.Name = "txbMxAllHour" + Me.txbMxAllHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxAllHour.TabIndex = 3 + Me.txbMxAllHour.Text = "00" + Me.txbMxAllHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxAllDay + ' + Me.lbMxAllDay.AutoSize = True + Me.lbMxAllDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxAllDay.Name = "lbMxAllDay" + Me.lbMxAllDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxAllDay.TabIndex = 2 + Me.lbMxAllDay.Text = "일" + ' + 'lbMxAllTime + ' + Me.lbMxAllTime.AutoSize = True + Me.lbMxAllTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxAllTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxAllTime.Name = "lbMxAllTime" + Me.lbMxAllTime.Size = New System.Drawing.Size(144, 27) + Me.lbMxAllTime.TabIndex = 0 + Me.lbMxAllTime.Text = "전체 사용 시간" + ' + 'tpMXHIFU + ' + Me.tpMXHIFU.BackColor = System.Drawing.SystemColors.Control + Me.tpMXHIFU.Controls.Add(Me.pnMxHfResult) + Me.tpMXHIFU.Controls.Add(Me.pnMxFcShot) + Me.tpMXHIFU.Controls.Add(Me.pnMxEyTime) + Me.tpMXHIFU.Controls.Add(Me.pnMxFcTime) + Me.tpMXHIFU.Location = New System.Drawing.Point(4, 30) + Me.tpMXHIFU.Name = "tpMXHIFU" + Me.tpMXHIFU.Padding = New System.Windows.Forms.Padding(3) + Me.tpMXHIFU.Size = New System.Drawing.Size(372, 421) + Me.tpMXHIFU.TabIndex = 1 + Me.tpMXHIFU.Text = "HIFU" + ' + 'pnMxHfResult + ' + Me.pnMxHfResult.Controls.Add(Me.btnMxHfReset) + Me.pnMxHfResult.Controls.Add(Me.btnMxHfRead) + Me.pnMxHfResult.Controls.Add(Me.txbMxHfBox) + Me.pnMxHfResult.Location = New System.Drawing.Point(6, 320) + Me.pnMxHfResult.Name = "pnMxHfResult" + Me.pnMxHfResult.Size = New System.Drawing.Size(360, 93) + Me.pnMxHfResult.TabIndex = 54 + ' + 'btnMxHfReset + ' + Me.btnMxHfReset.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxHfReset.ForeColor = System.Drawing.Color.Red + Me.btnMxHfReset.Location = New System.Drawing.Point(10, 5) + Me.btnMxHfReset.Name = "btnMxHfReset" + Me.btnMxHfReset.Size = New System.Drawing.Size(170, 50) + Me.btnMxHfReset.TabIndex = 48 + Me.btnMxHfReset.Text = "사용 시간 초기화" + Me.btnMxHfReset.UseVisualStyleBackColor = True + ' + 'btnMxHfRead + ' + Me.btnMxHfRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxHfRead.Location = New System.Drawing.Point(180, 5) + Me.btnMxHfRead.Name = "btnMxHfRead" + Me.btnMxHfRead.Size = New System.Drawing.Size(170, 50) + Me.btnMxHfRead.TabIndex = 46 + Me.btnMxHfRead.Text = "읽기" + Me.btnMxHfRead.UseVisualStyleBackColor = True + ' + 'txbMxHfBox + ' + Me.txbMxHfBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbMxHfBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxHfBox.ForeColor = System.Drawing.Color.White + Me.txbMxHfBox.Location = New System.Drawing.Point(10, 60) + Me.txbMxHfBox.Name = "txbMxHfBox" + Me.txbMxHfBox.Size = New System.Drawing.Size(340, 29) + Me.txbMxHfBox.TabIndex = 45 + Me.txbMxHfBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbMxHfBox.Visible = False + ' + 'pnMxFcShot + ' + Me.pnMxFcShot.Controls.Add(Me.txbMxFcShot) + Me.pnMxFcShot.Controls.Add(Me.lbMxFcShot) + Me.pnMxFcShot.Location = New System.Drawing.Point(6, 190) + Me.pnMxFcShot.Name = "pnMxFcShot" + Me.pnMxFcShot.Size = New System.Drawing.Size(360, 40) + Me.pnMxFcShot.TabIndex = 50 + ' + 'txbMxFcShot + ' + Me.txbMxFcShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxFcShot.Location = New System.Drawing.Point(145, 5) + Me.txbMxFcShot.Name = "txbMxFcShot" + Me.txbMxFcShot.Size = New System.Drawing.Size(205, 32) + Me.txbMxFcShot.TabIndex = 1 + Me.txbMxFcShot.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxFcShot + ' + Me.lbMxFcShot.AutoSize = True + Me.lbMxFcShot.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcShot.Location = New System.Drawing.Point(12, 8) + Me.lbMxFcShot.Name = "lbMxFcShot" + Me.lbMxFcShot.Size = New System.Drawing.Size(107, 24) + Me.lbMxFcShot.TabIndex = 0 + Me.lbMxFcShot.Text = "ShotCount" + ' + 'pnMxEyTime + ' + Me.pnMxEyTime.Controls.Add(Me.lbMxEySec) + Me.pnMxEyTime.Controls.Add(Me.txbMxEyDay) + Me.pnMxEyTime.Controls.Add(Me.txbMxEySec) + Me.pnMxEyTime.Controls.Add(Me.lbMxEyMin) + Me.pnMxEyTime.Controls.Add(Me.txbMxEyMin) + Me.pnMxEyTime.Controls.Add(Me.lbMxEyHour) + Me.pnMxEyTime.Controls.Add(Me.txbMxEyHour) + Me.pnMxEyTime.Controls.Add(Me.lbMxEyDay) + Me.pnMxEyTime.Controls.Add(Me.lbMxEyTime) + Me.pnMxEyTime.Location = New System.Drawing.Point(6, 95) + Me.pnMxEyTime.Name = "pnMxEyTime" + Me.pnMxEyTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxEyTime.TabIndex = 49 + ' + 'lbMxEySec + ' + Me.lbMxEySec.AutoSize = True + Me.lbMxEySec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxEySec.Location = New System.Drawing.Point(325, 48) + Me.lbMxEySec.Name = "lbMxEySec" + Me.lbMxEySec.Size = New System.Drawing.Size(28, 24) + Me.lbMxEySec.TabIndex = 8 + Me.lbMxEySec.Text = "초" + ' + 'txbMxEyDay + ' + Me.txbMxEyDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxEyDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxEyDay.Name = "txbMxEyDay" + Me.txbMxEyDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxEyDay.TabIndex = 1 + Me.txbMxEyDay.Text = "0000" + Me.txbMxEyDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxEySec + ' + Me.txbMxEySec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxEySec.Location = New System.Drawing.Point(280, 45) + Me.txbMxEySec.Name = "txbMxEySec" + Me.txbMxEySec.Size = New System.Drawing.Size(45, 32) + Me.txbMxEySec.TabIndex = 7 + Me.txbMxEySec.Text = "00" + Me.txbMxEySec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxEyMin + ' + Me.lbMxEyMin.AutoSize = True + Me.lbMxEyMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxEyMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxEyMin.Name = "lbMxEyMin" + Me.lbMxEyMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxEyMin.TabIndex = 6 + Me.lbMxEyMin.Text = "분" + ' + 'txbMxEyMin + ' + Me.txbMxEyMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxEyMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxEyMin.Name = "txbMxEyMin" + Me.txbMxEyMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxEyMin.TabIndex = 5 + Me.txbMxEyMin.Text = "00" + Me.txbMxEyMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxEyHour + ' + Me.lbMxEyHour.AutoSize = True + Me.lbMxEyHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxEyHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxEyHour.Name = "lbMxEyHour" + Me.lbMxEyHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxEyHour.TabIndex = 4 + Me.lbMxEyHour.Text = "시" + ' + 'txbMxEyHour + ' + Me.txbMxEyHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxEyHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxEyHour.Name = "txbMxEyHour" + Me.txbMxEyHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxEyHour.TabIndex = 3 + Me.txbMxEyHour.Text = "00" + Me.txbMxEyHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxEyDay + ' + Me.lbMxEyDay.AutoSize = True + Me.lbMxEyDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxEyDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxEyDay.Name = "lbMxEyDay" + Me.lbMxEyDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxEyDay.TabIndex = 2 + Me.lbMxEyDay.Text = "일" + ' + 'lbMxEyTime + ' + Me.lbMxEyTime.AutoSize = True + Me.lbMxEyTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxEyTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxEyTime.Name = "lbMxEyTime" + Me.lbMxEyTime.Size = New System.Drawing.Size(171, 27) + Me.lbMxEyTime.TabIndex = 0 + Me.lbMxEyTime.Text = "EYE 총 사용 시간" + ' + 'pnMxFcTime + ' + Me.pnMxFcTime.Controls.Add(Me.lbMxFcSec) + Me.pnMxFcTime.Controls.Add(Me.txbMxFcDay) + Me.pnMxFcTime.Controls.Add(Me.txbMxFcSec) + Me.pnMxFcTime.Controls.Add(Me.lbMxFcMin) + Me.pnMxFcTime.Controls.Add(Me.txbMxFcMin) + Me.pnMxFcTime.Controls.Add(Me.lbMxFcHour) + Me.pnMxFcTime.Controls.Add(Me.txbMxFcHour) + Me.pnMxFcTime.Controls.Add(Me.lbMxFcDay) + Me.pnMxFcTime.Controls.Add(Me.lbMxFcTime) + Me.pnMxFcTime.Location = New System.Drawing.Point(6, 5) + Me.pnMxFcTime.Name = "pnMxFcTime" + Me.pnMxFcTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxFcTime.TabIndex = 48 + ' + 'lbMxFcSec + ' + Me.lbMxFcSec.AutoSize = True + Me.lbMxFcSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcSec.Location = New System.Drawing.Point(325, 48) + Me.lbMxFcSec.Name = "lbMxFcSec" + Me.lbMxFcSec.Size = New System.Drawing.Size(28, 24) + Me.lbMxFcSec.TabIndex = 8 + Me.lbMxFcSec.Text = "초" + ' + 'txbMxFcDay + ' + Me.txbMxFcDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxFcDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxFcDay.Name = "txbMxFcDay" + Me.txbMxFcDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxFcDay.TabIndex = 1 + Me.txbMxFcDay.Text = "0000" + Me.txbMxFcDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxFcSec + ' + Me.txbMxFcSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxFcSec.Location = New System.Drawing.Point(280, 45) + Me.txbMxFcSec.Name = "txbMxFcSec" + Me.txbMxFcSec.Size = New System.Drawing.Size(45, 32) + Me.txbMxFcSec.TabIndex = 7 + Me.txbMxFcSec.Text = "00" + Me.txbMxFcSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxFcMin + ' + Me.lbMxFcMin.AutoSize = True + Me.lbMxFcMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxFcMin.Name = "lbMxFcMin" + Me.lbMxFcMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxFcMin.TabIndex = 6 + Me.lbMxFcMin.Text = "분" + ' + 'txbMxFcMin + ' + Me.txbMxFcMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxFcMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxFcMin.Name = "txbMxFcMin" + Me.txbMxFcMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxFcMin.TabIndex = 5 + Me.txbMxFcMin.Text = "00" + Me.txbMxFcMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxFcHour + ' + Me.lbMxFcHour.AutoSize = True + Me.lbMxFcHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxFcHour.Name = "lbMxFcHour" + Me.lbMxFcHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxFcHour.TabIndex = 4 + Me.lbMxFcHour.Text = "시" + ' + 'txbMxFcHour + ' + Me.txbMxFcHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxFcHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxFcHour.Name = "txbMxFcHour" + Me.txbMxFcHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxFcHour.TabIndex = 3 + Me.txbMxFcHour.Text = "00" + Me.txbMxFcHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxFcDay + ' + Me.lbMxFcDay.AutoSize = True + Me.lbMxFcDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxFcDay.Name = "lbMxFcDay" + Me.lbMxFcDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxFcDay.TabIndex = 2 + Me.lbMxFcDay.Text = "일" + ' + 'lbMxFcTime + ' + Me.lbMxFcTime.AutoSize = True + Me.lbMxFcTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxFcTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxFcTime.Name = "lbMxFcTime" + Me.lbMxFcTime.Size = New System.Drawing.Size(184, 27) + Me.lbMxFcTime.TabIndex = 0 + Me.lbMxFcTime.Text = "FACE 총 사용 시간" + ' + 'tpMXRF + ' + Me.tpMXRF.BackColor = System.Drawing.SystemColors.Control + Me.tpMXRF.Controls.Add(Me.pnMxEtResult) + Me.tpMXRF.Controls.Add(Me.pnMxCuTime) + Me.tpMXRF.Controls.Add(Me.pnMxDuTime) + Me.tpMXRF.Controls.Add(Me.pnMxTuTime) + Me.tpMXRF.Location = New System.Drawing.Point(4, 30) + Me.tpMXRF.Name = "tpMXRF" + Me.tpMXRF.Padding = New System.Windows.Forms.Padding(3) + Me.tpMXRF.Size = New System.Drawing.Size(372, 421) + Me.tpMXRF.TabIndex = 2 + Me.tpMXRF.Text = "Etc" + ' + 'pnMxEtResult + ' + Me.pnMxEtResult.Controls.Add(Me.btnMxEtReset) + Me.pnMxEtResult.Controls.Add(Me.btnMxEtRead) + Me.pnMxEtResult.Controls.Add(Me.txbMxEtBox) + Me.pnMxEtResult.Location = New System.Drawing.Point(6, 320) + Me.pnMxEtResult.Name = "pnMxEtResult" + Me.pnMxEtResult.Size = New System.Drawing.Size(360, 93) + Me.pnMxEtResult.TabIndex = 54 + ' + 'btnMxEtReset + ' + Me.btnMxEtReset.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxEtReset.ForeColor = System.Drawing.Color.Red + Me.btnMxEtReset.Location = New System.Drawing.Point(10, 5) + Me.btnMxEtReset.Name = "btnMxEtReset" + Me.btnMxEtReset.Size = New System.Drawing.Size(170, 50) + Me.btnMxEtReset.TabIndex = 48 + Me.btnMxEtReset.Text = "사용 시간 초기화" + Me.btnMxEtReset.UseVisualStyleBackColor = True + ' + 'btnMxEtRead + ' + Me.btnMxEtRead.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnMxEtRead.Location = New System.Drawing.Point(180, 5) + Me.btnMxEtRead.Name = "btnMxEtRead" + Me.btnMxEtRead.Size = New System.Drawing.Size(170, 50) + Me.btnMxEtRead.TabIndex = 46 + Me.btnMxEtRead.Text = "읽기" + Me.btnMxEtRead.UseVisualStyleBackColor = True + ' + 'txbMxEtBox + ' + Me.txbMxEtBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.txbMxEtBox.Font = New System.Drawing.Font("굴림", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxEtBox.ForeColor = System.Drawing.Color.White + Me.txbMxEtBox.Location = New System.Drawing.Point(10, 60) + Me.txbMxEtBox.Name = "txbMxEtBox" + Me.txbMxEtBox.Size = New System.Drawing.Size(340, 29) + Me.txbMxEtBox.TabIndex = 45 + Me.txbMxEtBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.txbMxEtBox.Visible = False + ' + 'pnMxCuTime + ' + Me.pnMxCuTime.Controls.Add(Me.lbMxCuSec) + Me.pnMxCuTime.Controls.Add(Me.txbMxCuDay) + Me.pnMxCuTime.Controls.Add(Me.txbMxCuSec) + Me.pnMxCuTime.Controls.Add(Me.lbMxCuMin) + Me.pnMxCuTime.Controls.Add(Me.txbMxCuMin) + Me.pnMxCuTime.Controls.Add(Me.lbMxCuHour) + Me.pnMxCuTime.Controls.Add(Me.txbMxCuHour) + Me.pnMxCuTime.Controls.Add(Me.lbMxCuDay) + Me.pnMxCuTime.Controls.Add(Me.lbMxCuTime) + Me.pnMxCuTime.Location = New System.Drawing.Point(6, 195) + Me.pnMxCuTime.Name = "pnMxCuTime" + Me.pnMxCuTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxCuTime.TabIndex = 51 + ' + 'lbMxCuSec + ' + Me.lbMxCuSec.AutoSize = True + Me.lbMxCuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxCuSec.Location = New System.Drawing.Point(325, 48) + Me.lbMxCuSec.Name = "lbMxCuSec" + Me.lbMxCuSec.Size = New System.Drawing.Size(28, 24) + Me.lbMxCuSec.TabIndex = 8 + Me.lbMxCuSec.Text = "초" + ' + 'txbMxCuDay + ' + Me.txbMxCuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxCuDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxCuDay.Name = "txbMxCuDay" + Me.txbMxCuDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxCuDay.TabIndex = 1 + Me.txbMxCuDay.Text = "0000" + Me.txbMxCuDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxCuSec + ' + Me.txbMxCuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxCuSec.Location = New System.Drawing.Point(280, 45) + Me.txbMxCuSec.Name = "txbMxCuSec" + Me.txbMxCuSec.Size = New System.Drawing.Size(45, 32) + Me.txbMxCuSec.TabIndex = 7 + Me.txbMxCuSec.Text = "00" + Me.txbMxCuSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxCuMin + ' + Me.lbMxCuMin.AutoSize = True + Me.lbMxCuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxCuMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxCuMin.Name = "lbMxCuMin" + Me.lbMxCuMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxCuMin.TabIndex = 6 + Me.lbMxCuMin.Text = "분" + ' + 'txbMxCuMin + ' + Me.txbMxCuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxCuMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxCuMin.Name = "txbMxCuMin" + Me.txbMxCuMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxCuMin.TabIndex = 5 + Me.txbMxCuMin.Text = "00" + Me.txbMxCuMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxCuHour + ' + Me.lbMxCuHour.AutoSize = True + Me.lbMxCuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxCuHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxCuHour.Name = "lbMxCuHour" + Me.lbMxCuHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxCuHour.TabIndex = 4 + Me.lbMxCuHour.Text = "시" + ' + 'txbMxCuHour + ' + Me.txbMxCuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxCuHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxCuHour.Name = "txbMxCuHour" + Me.txbMxCuHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxCuHour.TabIndex = 3 + Me.txbMxCuHour.Text = "00" + Me.txbMxCuHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxCuDay + ' + Me.lbMxCuDay.AutoSize = True + Me.lbMxCuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxCuDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxCuDay.Name = "lbMxCuDay" + Me.lbMxCuDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxCuDay.TabIndex = 2 + Me.lbMxCuDay.Text = "일" + ' + 'lbMxCuTime + ' + Me.lbMxCuTime.AutoSize = True + Me.lbMxCuTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxCuTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxCuTime.Name = "lbMxCuTime" + Me.lbMxCuTime.Size = New System.Drawing.Size(180, 27) + Me.lbMxCuTime.TabIndex = 0 + Me.lbMxCuTime.Text = "Cos-Up 사용 시간" + ' + 'pnMxDuTime + ' + Me.pnMxDuTime.Controls.Add(Me.lbMxDuSec) + Me.pnMxDuTime.Controls.Add(Me.txbMxDuDay) + Me.pnMxDuTime.Controls.Add(Me.txbMxDuSec) + Me.pnMxDuTime.Controls.Add(Me.lbMxDuMin) + Me.pnMxDuTime.Controls.Add(Me.txbMxDuMin) + Me.pnMxDuTime.Controls.Add(Me.lbMxDuHour) + Me.pnMxDuTime.Controls.Add(Me.txbMxDuHour) + Me.pnMxDuTime.Controls.Add(Me.lbMxDuDay) + Me.pnMxDuTime.Controls.Add(Me.lbMxDuTime) + Me.pnMxDuTime.Location = New System.Drawing.Point(6, 100) + Me.pnMxDuTime.Name = "pnMxDuTime" + Me.pnMxDuTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxDuTime.TabIndex = 50 + ' + 'lbMxDuSec + ' + Me.lbMxDuSec.AutoSize = True + Me.lbMxDuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxDuSec.Location = New System.Drawing.Point(325, 48) + Me.lbMxDuSec.Name = "lbMxDuSec" + Me.lbMxDuSec.Size = New System.Drawing.Size(28, 24) + Me.lbMxDuSec.TabIndex = 8 + Me.lbMxDuSec.Text = "초" + ' + 'txbMxDuDay + ' + Me.txbMxDuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxDuDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxDuDay.Name = "txbMxDuDay" + Me.txbMxDuDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxDuDay.TabIndex = 1 + Me.txbMxDuDay.Text = "0000" + Me.txbMxDuDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxDuSec + ' + Me.txbMxDuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxDuSec.Location = New System.Drawing.Point(280, 45) + Me.txbMxDuSec.Name = "txbMxDuSec" + Me.txbMxDuSec.Size = New System.Drawing.Size(45, 32) + Me.txbMxDuSec.TabIndex = 7 + Me.txbMxDuSec.Text = "00" + Me.txbMxDuSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxDuMin + ' + Me.lbMxDuMin.AutoSize = True + Me.lbMxDuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxDuMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxDuMin.Name = "lbMxDuMin" + Me.lbMxDuMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxDuMin.TabIndex = 6 + Me.lbMxDuMin.Text = "분" + ' + 'txbMxDuMin + ' + Me.txbMxDuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxDuMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxDuMin.Name = "txbMxDuMin" + Me.txbMxDuMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxDuMin.TabIndex = 5 + Me.txbMxDuMin.Text = "00" + Me.txbMxDuMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxDuHour + ' + Me.lbMxDuHour.AutoSize = True + Me.lbMxDuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxDuHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxDuHour.Name = "lbMxDuHour" + Me.lbMxDuHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxDuHour.TabIndex = 4 + Me.lbMxDuHour.Text = "시" + ' + 'txbMxDuHour + ' + Me.txbMxDuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxDuHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxDuHour.Name = "txbMxDuHour" + Me.txbMxDuHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxDuHour.TabIndex = 3 + Me.txbMxDuHour.Text = "00" + Me.txbMxDuHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxDuDay + ' + Me.lbMxDuDay.AutoSize = True + Me.lbMxDuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxDuDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxDuDay.Name = "lbMxDuDay" + Me.lbMxDuDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxDuDay.TabIndex = 2 + Me.lbMxDuDay.Text = "일" + ' + 'lbMxDuTime + ' + Me.lbMxDuTime.AutoSize = True + Me.lbMxDuTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxDuTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxDuTime.Name = "lbMxDuTime" + Me.lbMxDuTime.Size = New System.Drawing.Size(194, 27) + Me.lbMxDuTime.TabIndex = 0 + Me.lbMxDuTime.Text = "Daily-Up 사용 시간" + ' + 'pnMxTuTime + ' + Me.pnMxTuTime.Controls.Add(Me.lbMxTuSec) + Me.pnMxTuTime.Controls.Add(Me.txbMxTuDay) + Me.pnMxTuTime.Controls.Add(Me.txbMxTuSec) + Me.pnMxTuTime.Controls.Add(Me.lbMxTuMin) + Me.pnMxTuTime.Controls.Add(Me.txbMxTuMin) + Me.pnMxTuTime.Controls.Add(Me.lbMxTuHour) + Me.pnMxTuTime.Controls.Add(Me.txbMxTuHour) + Me.pnMxTuTime.Controls.Add(Me.lbMxTuDay) + Me.pnMxTuTime.Controls.Add(Me.lbMxTuTime) + Me.pnMxTuTime.Location = New System.Drawing.Point(6, 5) + Me.pnMxTuTime.Name = "pnMxTuTime" + Me.pnMxTuTime.Size = New System.Drawing.Size(360, 90) + Me.pnMxTuTime.TabIndex = 49 + ' + 'lbMxTuSec + ' + Me.lbMxTuSec.AutoSize = True + Me.lbMxTuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxTuSec.Location = New System.Drawing.Point(325, 48) + Me.lbMxTuSec.Name = "lbMxTuSec" + Me.lbMxTuSec.Size = New System.Drawing.Size(28, 24) + Me.lbMxTuSec.TabIndex = 8 + Me.lbMxTuSec.Text = "초" + ' + 'txbMxTuDay + ' + Me.txbMxTuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxTuDay.Location = New System.Drawing.Point(5, 45) + Me.txbMxTuDay.Name = "txbMxTuDay" + Me.txbMxTuDay.Size = New System.Drawing.Size(80, 32) + Me.txbMxTuDay.TabIndex = 1 + Me.txbMxTuDay.Text = "0000" + Me.txbMxTuDay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbMxTuSec + ' + Me.txbMxTuSec.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxTuSec.Location = New System.Drawing.Point(280, 45) + Me.txbMxTuSec.Name = "txbMxTuSec" + Me.txbMxTuSec.Size = New System.Drawing.Size(45, 32) + Me.txbMxTuSec.TabIndex = 7 + Me.txbMxTuSec.Text = "00" + Me.txbMxTuSec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxTuMin + ' + Me.lbMxTuMin.AutoSize = True + Me.lbMxTuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxTuMin.Location = New System.Drawing.Point(245, 48) + Me.lbMxTuMin.Name = "lbMxTuMin" + Me.lbMxTuMin.Size = New System.Drawing.Size(28, 24) + Me.lbMxTuMin.TabIndex = 6 + Me.lbMxTuMin.Text = "분" + ' + 'txbMxTuMin + ' + Me.txbMxTuMin.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxTuMin.Location = New System.Drawing.Point(200, 45) + Me.txbMxTuMin.Name = "txbMxTuMin" + Me.txbMxTuMin.Size = New System.Drawing.Size(45, 32) + Me.txbMxTuMin.TabIndex = 5 + Me.txbMxTuMin.Text = "00" + Me.txbMxTuMin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxTuHour + ' + Me.lbMxTuHour.AutoSize = True + Me.lbMxTuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxTuHour.Location = New System.Drawing.Point(165, 48) + Me.lbMxTuHour.Name = "lbMxTuHour" + Me.lbMxTuHour.Size = New System.Drawing.Size(28, 24) + Me.lbMxTuHour.TabIndex = 4 + Me.lbMxTuHour.Text = "시" + ' + 'txbMxTuHour + ' + Me.txbMxTuHour.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbMxTuHour.Location = New System.Drawing.Point(120, 45) + Me.txbMxTuHour.Name = "txbMxTuHour" + Me.txbMxTuHour.Size = New System.Drawing.Size(45, 32) + Me.txbMxTuHour.TabIndex = 3 + Me.txbMxTuHour.Text = "00" + Me.txbMxTuHour.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMxTuDay + ' + Me.lbMxTuDay.AutoSize = True + Me.lbMxTuDay.Font = New System.Drawing.Font("함초롬바탕", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxTuDay.Location = New System.Drawing.Point(85, 48) + Me.lbMxTuDay.Name = "lbMxTuDay" + Me.lbMxTuDay.Size = New System.Drawing.Size(28, 24) + Me.lbMxTuDay.TabIndex = 2 + Me.lbMxTuDay.Text = "일" + ' + 'lbMxTuTime + ' + Me.lbMxTuTime.AutoSize = True + Me.lbMxTuTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbMxTuTime.Location = New System.Drawing.Point(5, 7) + Me.lbMxTuTime.Name = "lbMxTuTime" + Me.lbMxTuTime.Size = New System.Drawing.Size(196, 27) + Me.lbMxTuTime.TabIndex = 0 + Me.lbMxTuTime.Text = "Tight-Up 사용 시간" + ' + 'btnEnd + ' + Me.btnEnd.Font = New System.Drawing.Font("함초롬바탕", 27.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnEnd.Location = New System.Drawing.Point(339, 514) + Me.btnEnd.Name = "btnEnd" + Me.btnEnd.Size = New System.Drawing.Size(341, 145) + Me.btnEnd.TabIndex = 2 + Me.btnEnd.Text = "종 료" + Me.btnEnd.UseVisualStyleBackColor = True + ' + 'pnDBLoad + ' + Me.pnDBLoad.Controls.Add(Me.pnLoadBot) + Me.pnDBLoad.Controls.Add(Me.pnLoadTop) + Me.pnDBLoad.Location = New System.Drawing.Point(1220, 0) + Me.pnDBLoad.Name = "pnDBLoad" + Me.pnDBLoad.Size = New System.Drawing.Size(683, 757) + Me.pnDBLoad.TabIndex = 4 + ' + 'pnLoadBot + ' + Me.pnLoadBot.Controls.Add(Me.btnEnd) + Me.pnLoadBot.Controls.Add(Me.btnReset) + Me.pnLoadBot.Controls.Add(Me.gbDBLoad) + Me.pnLoadBot.Location = New System.Drawing.Point(0, 90) + Me.pnLoadBot.Name = "pnLoadBot" + Me.pnLoadBot.Size = New System.Drawing.Size(683, 667) + Me.pnLoadBot.TabIndex = 1 + ' + 'btnReset + ' + Me.btnReset.Font = New System.Drawing.Font("함초롬바탕", 27.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnReset.Location = New System.Drawing.Point(3, 515) + Me.btnReset.Name = "btnReset" + Me.btnReset.Size = New System.Drawing.Size(330, 145) + Me.btnReset.TabIndex = 1 + Me.btnReset.Text = "초 기 화" + Me.btnReset.UseVisualStyleBackColor = True + ' + 'gbDBLoad + ' + Me.gbDBLoad.Controls.Add(Me.gbPDSearch) + Me.gbDBLoad.Controls.Add(Me.gbTDSearch) + Me.gbDBLoad.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.gbDBLoad.Location = New System.Drawing.Point(3, 5) + Me.gbDBLoad.Name = "gbDBLoad" + Me.gbDBLoad.Size = New System.Drawing.Size(669, 505) + Me.gbDBLoad.TabIndex = 0 + Me.gbDBLoad.TabStop = False + Me.gbDBLoad.Text = "검색 결과" + ' + 'gbPDSearch + ' + Me.gbPDSearch.Controls.Add(Me.txbPDSN) + Me.gbPDSearch.Controls.Add(Me.lbPDSN) + Me.gbPDSearch.Controls.Add(Me.txbPDAC) + Me.gbPDSearch.Controls.Add(Me.lbPDAC) + Me.gbPDSearch.Controls.Add(Me.txbPDCP) + Me.gbPDSearch.Controls.Add(Me.txbPDCC) + Me.gbPDSearch.Controls.Add(Me.txbPDMotor) + Me.gbPDSearch.Controls.Add(Me.lbPDCC) + Me.gbPDSearch.Controls.Add(Me.txbPDModel) + Me.gbPDSearch.Controls.Add(Me.txbPDSC) + Me.gbPDSearch.Controls.Add(Me.txbPDSerial) + Me.gbPDSearch.Controls.Add(Me.lbPDCP) + Me.gbPDSearch.Controls.Add(Me.lbPDModel) + Me.gbPDSearch.Controls.Add(Me.txbPDType) + Me.gbPDSearch.Controls.Add(Me.lbPDSerial) + Me.gbPDSearch.Controls.Add(Me.lbPDType) + Me.gbPDSearch.Controls.Add(Me.lbPDSC) + Me.gbPDSearch.Controls.Add(Me.lbPDMotor) + Me.gbPDSearch.Location = New System.Drawing.Point(6, 218) + Me.gbPDSearch.Name = "gbPDSearch" + Me.gbPDSearch.Size = New System.Drawing.Size(657, 281) + Me.gbPDSearch.TabIndex = 25 + Me.gbPDSearch.TabStop = False + Me.gbPDSearch.Text = "Product Data" + ' + 'txbPDSN + ' + Me.txbPDSN.Location = New System.Drawing.Point(165, 42) + Me.txbPDSN.Name = "txbPDSN" + Me.txbPDSN.Size = New System.Drawing.Size(465, 35) + Me.txbPDSN.TabIndex = 14 + Me.txbPDSN.Text = "-" + Me.txbPDSN.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbPDSN + ' + Me.lbPDSN.AutoSize = True + Me.lbPDSN.Location = New System.Drawing.Point(41, 45) + Me.lbPDSN.Name = "lbPDSN" + Me.lbPDSN.Size = New System.Drawing.Size(123, 27) + Me.lbPDSN.TabIndex = 13 + Me.lbPDSN.Text = "PD Serial : " + ' + 'txbPDAC + ' + Me.txbPDAC.Location = New System.Drawing.Point(450, 222) + Me.txbPDAC.Name = "txbPDAC" + Me.txbPDAC.Size = New System.Drawing.Size(180, 35) + Me.txbPDAC.TabIndex = 20 + Me.txbPDAC.Text = "-" + Me.txbPDAC.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbPDAC + ' + Me.lbPDAC.AutoSize = True + Me.lbPDAC.Location = New System.Drawing.Point(353, 225) + Me.lbPDAC.Name = "lbPDAC" + Me.lbPDAC.Size = New System.Drawing.Size(91, 27) + Me.lbPDAC.TabIndex = 11 + Me.lbPDAC.Text = "대리점 : " + ' + 'txbPDCP + ' + Me.txbPDCP.Location = New System.Drawing.Point(450, 177) + Me.txbPDCP.Name = "txbPDCP" + Me.txbPDCP.Size = New System.Drawing.Size(180, 35) + Me.txbPDCP.TabIndex = 21 + Me.txbPDCP.Text = "-" + Me.txbPDCP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbPDCC + ' + Me.txbPDCC.Location = New System.Drawing.Point(165, 222) + Me.txbPDCC.Name = "txbPDCC" + Me.txbPDCC.Size = New System.Drawing.Size(180, 35) + Me.txbPDCC.TabIndex = 19 + Me.txbPDCC.Text = "-" + Me.txbPDCC.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbPDMotor + ' + Me.txbPDMotor.Location = New System.Drawing.Point(450, 132) + Me.txbPDMotor.Name = "txbPDMotor" + Me.txbPDMotor.Size = New System.Drawing.Size(180, 35) + Me.txbPDMotor.TabIndex = 23 + Me.txbPDMotor.Text = "-" + Me.txbPDMotor.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbPDCC + ' + Me.lbPDCC.AutoSize = True + Me.lbPDCC.Location = New System.Drawing.Point(54, 225) + Me.lbPDCC.Name = "lbPDCC" + Me.lbPDCC.Size = New System.Drawing.Size(111, 27) + Me.lbPDCC.TabIndex = 10 + Me.lbPDCC.Text = "국가코드 : " + ' + 'txbPDModel + ' + Me.txbPDModel.Location = New System.Drawing.Point(165, 87) + Me.txbPDModel.Name = "txbPDModel" + Me.txbPDModel.Size = New System.Drawing.Size(180, 35) + Me.txbPDModel.TabIndex = 15 + Me.txbPDModel.Text = "-" + Me.txbPDModel.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbPDSC + ' + Me.txbPDSC.Location = New System.Drawing.Point(165, 132) + Me.txbPDSC.Name = "txbPDSC" + Me.txbPDSC.Size = New System.Drawing.Size(180, 35) + Me.txbPDSC.TabIndex = 22 + Me.txbPDSC.Text = "-" + Me.txbPDSC.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'txbPDSerial + ' + Me.txbPDSerial.Location = New System.Drawing.Point(165, 177) + Me.txbPDSerial.Name = "txbPDSerial" + Me.txbPDSerial.Size = New System.Drawing.Size(180, 35) + Me.txbPDSerial.TabIndex = 18 + Me.txbPDSerial.Text = "-" + Me.txbPDSerial.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbPDCP + ' + Me.lbPDCP.AutoSize = True + Me.lbPDCP.Location = New System.Drawing.Point(353, 180) + Me.lbPDCP.Name = "lbPDCP" + Me.lbPDCP.Size = New System.Drawing.Size(91, 27) + Me.lbPDCP.TabIndex = 6 + Me.lbPDCP.Text = "제조사 : " + ' + 'lbPDModel + ' + Me.lbPDModel.AutoSize = True + Me.lbPDModel.Location = New System.Drawing.Point(73, 90) + Me.lbPDModel.Name = "lbPDModel" + Me.lbPDModel.Size = New System.Drawing.Size(91, 27) + Me.lbPDModel.TabIndex = 7 + Me.lbPDModel.Text = "Model : " + ' + 'txbPDType + ' + Me.txbPDType.Location = New System.Drawing.Point(450, 87) + Me.txbPDType.Name = "txbPDType" + Me.txbPDType.Size = New System.Drawing.Size(180, 35) + Me.txbPDType.TabIndex = 17 + Me.txbPDType.Text = "-" + Me.txbPDType.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbPDSerial + ' + Me.lbPDSerial.AutoSize = True + Me.lbPDSerial.Location = New System.Drawing.Point(75, 180) + Me.lbPDSerial.Name = "lbPDSerial" + Me.lbPDSerial.Size = New System.Drawing.Size(89, 27) + Me.lbPDSerial.TabIndex = 9 + Me.lbPDSerial.Text = "Serial : " + ' + 'lbPDType + ' + Me.lbPDType.AutoSize = True + Me.lbPDType.Location = New System.Drawing.Point(365, 90) + Me.lbPDType.Name = "lbPDType" + Me.lbPDType.Size = New System.Drawing.Size(79, 27) + Me.lbPDType.TabIndex = 8 + Me.lbPDType.Text = "Type : " + ' + 'lbPDSC + ' + Me.lbPDSC.AutoSize = True + Me.lbPDSC.Location = New System.Drawing.Point(23, 135) + Me.lbPDSC.Name = "lbPDSC" + Me.lbPDSC.Size = New System.Drawing.Size(141, 27) + Me.lbPDSC.TabIndex = 5 + Me.lbPDSC.Text = "Shot Count : " + ' + 'lbPDMotor + ' + Me.lbPDMotor.AutoSize = True + Me.lbPDMotor.Location = New System.Drawing.Point(354, 135) + Me.lbPDMotor.Name = "lbPDMotor" + Me.lbPDMotor.Size = New System.Drawing.Size(90, 27) + Me.lbPDMotor.TabIndex = 4 + Me.lbPDMotor.Text = "Motor : " + ' + 'gbTDSearch + ' + Me.gbTDSearch.Controls.Add(Me.txbTDSN) + Me.gbTDSearch.Controls.Add(Me.lbTDSN) + Me.gbTDSearch.Controls.Add(Me.txbMesDate) + Me.gbTDSearch.Controls.Add(Me.lbMesDate) + Me.gbTDSearch.Controls.Add(Me.txbMesFreq) + Me.gbTDSearch.Controls.Add(Me.lbMesFreq) + Me.gbTDSearch.Controls.Add(Me.txbMesPw) + Me.gbTDSearch.Controls.Add(Me.lbMesPw) + Me.gbTDSearch.Location = New System.Drawing.Point(6, 35) + Me.gbTDSearch.Name = "gbTDSearch" + Me.gbTDSearch.Size = New System.Drawing.Size(657, 180) + Me.gbTDSearch.TabIndex = 24 + Me.gbTDSearch.TabStop = False + Me.gbTDSearch.Text = "TD Data" + ' + 'txbTDSN + ' + Me.txbTDSN.Location = New System.Drawing.Point(165, 42) + Me.txbTDSN.Name = "txbTDSN" + Me.txbTDSN.Size = New System.Drawing.Size(465, 35) + Me.txbTDSN.TabIndex = 12 + Me.txbTDSN.Text = "-" + Me.txbTDSN.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbTDSN + ' + Me.lbTDSN.AutoSize = True + Me.lbTDSN.Location = New System.Drawing.Point(40, 45) + Me.lbTDSN.Name = "lbTDSN" + Me.lbTDSN.Size = New System.Drawing.Size(124, 27) + Me.lbTDSN.TabIndex = 0 + Me.lbTDSN.Text = "TD Serial : " + ' + 'txbMesDate + ' + Me.txbMesDate.Location = New System.Drawing.Point(165, 87) + Me.txbMesDate.Name = "txbMesDate" + Me.txbMesDate.Size = New System.Drawing.Size(465, 35) + Me.txbMesDate.TabIndex = 13 + Me.txbMesDate.Text = "-" + Me.txbMesDate.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMesDate + ' + Me.lbMesDate.AutoSize = True + Me.lbMesDate.Location = New System.Drawing.Point(47, 90) + Me.lbMesDate.Name = "lbMesDate" + Me.lbMesDate.Size = New System.Drawing.Size(117, 27) + Me.lbMesDate.TabIndex = 1 + Me.lbMesDate.Text = "생산 일자 : " + ' + 'txbMesFreq + ' + Me.txbMesFreq.Location = New System.Drawing.Point(165, 132) + Me.txbMesFreq.Name = "txbMesFreq" + Me.txbMesFreq.Size = New System.Drawing.Size(180, 35) + Me.txbMesFreq.TabIndex = 14 + Me.txbMesFreq.Text = "-" + Me.txbMesFreq.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMesFreq + ' + Me.lbMesFreq.AutoSize = True + Me.lbMesFreq.Location = New System.Drawing.Point(26, 135) + Me.lbMesFreq.Name = "lbMesFreq" + Me.lbMesFreq.Size = New System.Drawing.Size(138, 27) + Me.lbMesFreq.TabIndex = 2 + Me.lbMesFreq.Text = "Frequency : " + ' + 'txbMesPw + ' + Me.txbMesPw.Location = New System.Drawing.Point(450, 132) + Me.txbMesPw.Name = "txbMesPw" + Me.txbMesPw.Size = New System.Drawing.Size(180, 35) + Me.txbMesPw.TabIndex = 16 + Me.txbMesPw.Text = "-" + Me.txbMesPw.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + ' + 'lbMesPw + ' + Me.lbMesPw.AutoSize = True + Me.lbMesPw.Location = New System.Drawing.Point(352, 135) + Me.lbMesPw.Name = "lbMesPw" + Me.lbMesPw.Size = New System.Drawing.Size(92, 27) + Me.lbMesPw.TabIndex = 3 + Me.lbMesPw.Text = "Power : " + ' + 'pnLoadTop + ' + Me.pnLoadTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnLoadTop.Controls.Add(Me.btnLoadNum) + Me.pnLoadTop.Controls.Add(Me.txbLoadNum) + Me.pnLoadTop.Controls.Add(Me.lbLoadNum) + Me.pnLoadTop.Location = New System.Drawing.Point(0, 0) + Me.pnLoadTop.Name = "pnLoadTop" + Me.pnLoadTop.Size = New System.Drawing.Size(680, 90) + Me.pnLoadTop.TabIndex = 0 + ' + 'btnLoadNum + ' + Me.btnLoadNum.Font = New System.Drawing.Font("함초롬바탕", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.btnLoadNum.Location = New System.Drawing.Point(540, 19) + Me.btnLoadNum.Name = "btnLoadNum" + Me.btnLoadNum.Size = New System.Drawing.Size(130, 56) + Me.btnLoadNum.TabIndex = 1 + Me.btnLoadNum.Text = "검 색" + Me.btnLoadNum.UseVisualStyleBackColor = True + ' + 'txbLoadNum + ' + Me.txbLoadNum.Font = New System.Drawing.Font("함초롬바탕", 27.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.txbLoadNum.Location = New System.Drawing.Point(173, 19) + Me.txbLoadNum.MaxLength = 12 + Me.txbLoadNum.Name = "txbLoadNum" + Me.txbLoadNum.Size = New System.Drawing.Size(364, 56) + Me.txbLoadNum.TabIndex = 1 + ' + 'lbLoadNum + ' + Me.lbLoadNum.AutoSize = True + Me.lbLoadNum.Font = New System.Drawing.Font("함초롬바탕", 24.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte)) + Me.lbLoadNum.Location = New System.Drawing.Point(15, 27) + Me.lbLoadNum.Name = "lbLoadNum" + Me.lbLoadNum.Size = New System.Drawing.Size(152, 41) + Me.lbLoadNum.TabIndex = 0 + Me.lbLoadNum.Text = "번호 검색" + ' + 'MainForm + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1904, 761) + Me.Controls.Add(Me.pnDBLoad) + Me.Controls.Add(Me.pnTop) + Me.Controls.Add(Me.pnBottom) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "MainForm" + Me.Text = "Form1" + Me.gbProdSelect.ResumeLayout(False) + Me.gbProdSelect.PerformLayout() + Me.gbComport.ResumeLayout(False) + Me.gbComport.PerformLayout() + Me.pnTop.ResumeLayout(False) + Me.gbOpOut.ResumeLayout(False) + Me.gbOpOut.PerformLayout() + Me.gbEtcOp.ResumeLayout(False) + Me.gbEtcOp.PerformLayout() + Me.pnBottom.ResumeLayout(False) + Me.gbSetting.ResumeLayout(False) + Me.gbMotor.ResumeLayout(False) + Me.pnMtResult.ResumeLayout(False) + Me.pnMtResult.PerformLayout() + Me.pnMotor.ResumeLayout(False) + Me.pnMotor.PerformLayout() + Me.gbShot.ResumeLayout(False) + Me.pnShResult.ResumeLayout(False) + Me.pnShResult.PerformLayout() + Me.pnMaxShot.ResumeLayout(False) + Me.pnMaxShot.PerformLayout() + Me.pnShot.ResumeLayout(False) + Me.pnShot.PerformLayout() + Me.gbFreqPwr.ResumeLayout(False) + Me.pnFPResult.ResumeLayout(False) + Me.pnFPResult.PerformLayout() + Me.pnPower.ResumeLayout(False) + Me.pnPower.PerformLayout() + Me.pnFreq.ResumeLayout(False) + Me.pnFreq.PerformLayout() + Me.gbTD.ResumeLayout(False) + Me.pnTdResult.ResumeLayout(False) + Me.pnTdResult.PerformLayout() + Me.pnTDSerial.ResumeLayout(False) + Me.pnTDSerial.PerformLayout() + Me.gbArea.ResumeLayout(False) + Me.pnArResult.ResumeLayout(False) + Me.pnArResult.PerformLayout() + Me.pnAgency.ResumeLayout(False) + Me.pnAgency.PerformLayout() + Me.pnAbroad.ResumeLayout(False) + Me.pnAbroad.PerformLayout() + Me.gbInfo.ResumeLayout(False) + Me.pnIfResult.ResumeLayout(False) + Me.pnIfResult.PerformLayout() + Me.pnIfSerial.ResumeLayout(False) + Me.pnIfSerial.PerformLayout() + CType(Me.nudIfSerial, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnIfMoTy.ResumeLayout(False) + Me.pnIfType.ResumeLayout(False) + Me.pnIfType.PerformLayout() + Me.pnIfModel.ResumeLayout(False) + Me.pnIfModel.PerformLayout() + Me.pnIfDate.ResumeLayout(False) + Me.pnIfDate.PerformLayout() + CType(Me.nudIfMonth, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.nudIfYear, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnIfCode.ResumeLayout(False) + Me.pnIfCode.PerformLayout() + Me.pnIfNumber.ResumeLayout(False) + Me.pnIfNumber.PerformLayout() + Me.gbAuth.ResumeLayout(False) + Me.gbAuth.PerformLayout() + Me.gbRunTime.ResumeLayout(False) + Me.gbDUALUse.ResumeLayout(False) + Me.pnDuResult.ResumeLayout(False) + Me.pnDuResult.PerformLayout() + Me.pnDuError.ResumeLayout(False) + Me.pnDuError.PerformLayout() + Me.pnDuEye.ResumeLayout(False) + Me.pnDuEye.PerformLayout() + Me.pnDuFace.ResumeLayout(False) + Me.pnDuFace.PerformLayout() + Me.pnDuReady.ResumeLayout(False) + Me.pnDuReady.PerformLayout() + Me.pnDuFull.ResumeLayout(False) + Me.pnDuFull.PerformLayout() + Me.gbDevice.ResumeLayout(False) + Me.gbDvInfo.ResumeLayout(False) + Me.pnDvAgency.ResumeLayout(False) + Me.pnDvAgency.PerformLayout() + Me.pnDvAbroad.ResumeLayout(False) + Me.pnDvAbroad.PerformLayout() + Me.pnDvResult.ResumeLayout(False) + Me.pnDvResult.PerformLayout() + Me.pnDvSerial.ResumeLayout(False) + Me.pnDvSerial.PerformLayout() + CType(Me.nudDvSerial, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnDvMoTy.ResumeLayout(False) + Me.pnDvModel.ResumeLayout(False) + Me.pnDvModel.PerformLayout() + Me.pnDvDate.ResumeLayout(False) + Me.pnDvDate.PerformLayout() + CType(Me.nudDvMonth, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.nudDvYear, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnDvCode.ResumeLayout(False) + Me.pnDvCode.PerformLayout() + Me.pnDvNumber.ResumeLayout(False) + Me.pnDvNumber.PerformLayout() + Me.gbDvAuth.ResumeLayout(False) + Me.gbDvAuth.PerformLayout() + Me.tcAltoUse.ResumeLayout(False) + Me.tpALFunc1.ResumeLayout(False) + Me.pnALCsTime.ResumeLayout(False) + Me.pnALCsTime.PerformLayout() + Me.pnALEtTime.ResumeLayout(False) + Me.pnALEtTime.PerformLayout() + Me.pnALFtTime.ResumeLayout(False) + Me.pnALFtTime.PerformLayout() + Me.pnALFuncBox1.ResumeLayout(False) + Me.pnALFuncBox1.PerformLayout() + Me.tpALFunc2.ResumeLayout(False) + Me.pnALLtTime.ResumeLayout(False) + Me.pnALLtTime.PerformLayout() + Me.pnALFuncBox2.ResumeLayout(False) + Me.pnALFuncBox2.PerformLayout() + Me.pnALBtTime.ResumeLayout(False) + Me.pnALBtTime.PerformLayout() + Me.tpALTOFull.ResumeLayout(False) + Me.pnALAllFunc.ResumeLayout(False) + Me.pnALAllFunc.PerformLayout() + Me.pnALAllErr.ResumeLayout(False) + Me.pnALAllErr.PerformLayout() + Me.pnALAllTime.ResumeLayout(False) + Me.pnALAllTime.PerformLayout() + Me.tcMAXUse.ResumeLayout(False) + Me.tpMAXFULL.ResumeLayout(False) + Me.pnMxAllFunc.ResumeLayout(False) + Me.pnMxAllFunc.PerformLayout() + Me.pnMxAllShot.ResumeLayout(False) + Me.pnMxAllShot.PerformLayout() + Me.pnMxAllErr.ResumeLayout(False) + Me.pnMxAllErr.PerformLayout() + Me.pnMxAllTime.ResumeLayout(False) + Me.pnMxAllTime.PerformLayout() + Me.tpMXHIFU.ResumeLayout(False) + Me.pnMxHfResult.ResumeLayout(False) + Me.pnMxHfResult.PerformLayout() + Me.pnMxFcShot.ResumeLayout(False) + Me.pnMxFcShot.PerformLayout() + Me.pnMxEyTime.ResumeLayout(False) + Me.pnMxEyTime.PerformLayout() + Me.pnMxFcTime.ResumeLayout(False) + Me.pnMxFcTime.PerformLayout() + Me.tpMXRF.ResumeLayout(False) + Me.pnMxEtResult.ResumeLayout(False) + Me.pnMxEtResult.PerformLayout() + Me.pnMxCuTime.ResumeLayout(False) + Me.pnMxCuTime.PerformLayout() + Me.pnMxDuTime.ResumeLayout(False) + Me.pnMxDuTime.PerformLayout() + Me.pnMxTuTime.ResumeLayout(False) + Me.pnMxTuTime.PerformLayout() + Me.pnDBLoad.ResumeLayout(False) + Me.pnLoadBot.ResumeLayout(False) + Me.gbDBLoad.ResumeLayout(False) + Me.gbPDSearch.ResumeLayout(False) + Me.gbPDSearch.PerformLayout() + Me.gbTDSearch.ResumeLayout(False) + Me.gbTDSearch.PerformLayout() + Me.pnLoadTop.ResumeLayout(False) + Me.pnLoadTop.PerformLayout() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents gbProdSelect As GroupBox + Friend WithEvents rdbAlto As RadioButton + Friend WithEvents rdbMax As RadioButton + Friend WithEvents rdbDual As RadioButton + Friend WithEvents gbComport As GroupBox + Friend WithEvents btnComport As Button + Friend WithEvents cboComport As ComboBox + Friend WithEvents lbComport As Label + Friend WithEvents pnTop As Panel + Friend WithEvents gbEtcOp As GroupBox + Friend WithEvents ckbDBUse As CheckBox + Friend WithEvents pnBottom As Panel + Friend WithEvents gbSetting As GroupBox + Friend WithEvents gbAuth As GroupBox + Friend WithEvents btnAuth As Button + Friend WithEvents txbAuthBox As TextBox + Friend WithEvents gbInfo As GroupBox + Friend WithEvents pnIfNumber As Panel + Friend WithEvents lbIfBarcode As Label + Friend WithEvents pnIfMoTy As Panel + Friend WithEvents pnIfModel As Panel + Friend WithEvents rdbIfALPHA As RadioButton + Friend WithEvents rdbIfLUX_V2 As RadioButton + Friend WithEvents rdbIfPRO_V1 As RadioButton + Friend WithEvents lbIfModel As Label + Friend WithEvents pnIfDate As Panel + Friend WithEvents nudIfMonth As NumericUpDown + Friend WithEvents nudIfYear As NumericUpDown + Friend WithEvents lbIfMonth As Label + Friend WithEvents lbIfYear As Label + Friend WithEvents lbIfDate As Label + Friend WithEvents pnIfCode As Panel + Friend WithEvents txbIfCode As TextBox + Friend WithEvents lbIfCode As Label + Friend WithEvents txbIfNumber As TextBox + Friend WithEvents pnIfSerial As Panel + Friend WithEvents nudIfSerial As NumericUpDown + Friend WithEvents lbIfSerial As Label + Friend WithEvents pnIfType As Panel + Friend WithEvents rdbIfBody As RadioButton + Friend WithEvents rdbIfEye As RadioButton + Friend WithEvents rdbIfFace As RadioButton + Friend WithEvents lbIfType As Label + Friend WithEvents pnIfResult As Panel + Friend WithEvents btnIfWrite As Button + Friend WithEvents btnIfRead As Button + Friend WithEvents txbInfoBox As TextBox + Friend WithEvents gbArea As GroupBox + Friend WithEvents pnArResult As Panel + Friend WithEvents btnArWrite As Button + Friend WithEvents btnArRead As Button + Friend WithEvents txbAreaBox As TextBox + Friend WithEvents pnAgency As Panel + Friend WithEvents txbAgency As TextBox + Friend WithEvents lbAgency As Label + Friend WithEvents pnAbroad As Panel + Friend WithEvents txbAbroad As TextBox + Friend WithEvents lbAbroad As Label + Friend WithEvents gbMotor As GroupBox + Friend WithEvents pnMtResult As Panel + Friend WithEvents btnMtWrite As Button + Friend WithEvents btnMtRead As Button + Friend WithEvents txbMtBox As TextBox + Friend WithEvents pnMotor As Panel + Friend WithEvents txbMotor As TextBox + Friend WithEvents lbMotor As Label + Friend WithEvents gbShot As GroupBox + Friend WithEvents pnShResult As Panel + Friend WithEvents btnShWrite As Button + Friend WithEvents btnShRead As Button + Friend WithEvents txbShotBox As TextBox + Friend WithEvents pnMaxShot As Panel + Friend WithEvents txbMaxShot As TextBox + Friend WithEvents lbMaxShot As Label + Friend WithEvents pnShot As Panel + Friend WithEvents txbShot As TextBox + Friend WithEvents lbShot As Label + Friend WithEvents gbFreqPwr As GroupBox + Friend WithEvents btnFPWrite As Button + Friend WithEvents btnFPRead As Button + Friend WithEvents txbFPBox As TextBox + Friend WithEvents pnPower As Panel + Friend WithEvents txbPower As TextBox + Friend WithEvents lbPower As Label + Friend WithEvents pnFreq As Panel + Friend WithEvents txbFreq As TextBox + Friend WithEvents lbFreq As Label + Friend WithEvents gbTD As GroupBox + Friend WithEvents pnTdResult As Panel + Friend WithEvents btnTdWrite As Button + Friend WithEvents btnTdRead As Button + Friend WithEvents txbTDBox As TextBox + Friend WithEvents pnTDSerial As Panel + Friend WithEvents txbTDSerial As TextBox + Friend WithEvents lbTDSerial As Label + Friend WithEvents pnFPResult As Panel + Friend WithEvents gbOpOut As GroupBox + Friend WithEvents rdbUseTime As RadioButton + Friend WithEvents rdbDev As RadioButton + Friend WithEvents btnEnd As Button + Friend WithEvents gbDevice As GroupBox + Friend WithEvents gbDvInfo As GroupBox + Friend WithEvents pnDvResult As Panel + Friend WithEvents btnDvWrite As Button + Friend WithEvents btnDvRead As Button + Friend WithEvents txbDvInfoBox As TextBox + Friend WithEvents pnDvSerial As Panel + Friend WithEvents nudDvSerial As NumericUpDown + Friend WithEvents lbDvSerial As Label + Friend WithEvents pnDvMoTy As Panel + Friend WithEvents pnDvModel As Panel + Friend WithEvents rdbDvALPHA As RadioButton + Friend WithEvents rdbDvLUX As RadioButton + Friend WithEvents rdbDvPRO As RadioButton + Friend WithEvents lbDvModel As Label + Friend WithEvents pnDvDate As Panel + Friend WithEvents nudDvMonth As NumericUpDown + Friend WithEvents nudDvYear As NumericUpDown + Friend WithEvents lbDvMonth As Label + Friend WithEvents lbDvYear As Label + Friend WithEvents lbDvDate As Label + Friend WithEvents pnDvCode As Panel + Friend WithEvents txbDvCode As TextBox + Friend WithEvents lbDvCode As Label + Friend WithEvents pnDvNumber As Panel + Friend WithEvents txbDvNumber As TextBox + Friend WithEvents lbDvNumber As Label + Friend WithEvents gbDvAuth As GroupBox + Friend WithEvents btnDvAuth As Button + Friend WithEvents txbDvAuthBox As TextBox + Friend WithEvents pnDvAbroad As Panel + Friend WithEvents txbDvAbroad As TextBox + Friend WithEvents lbDvAbroad As Label + Friend WithEvents pnDvAgency As Panel + Friend WithEvents txbDvAgency As TextBox + Friend WithEvents lbDvAgency As Label + Friend WithEvents SerialPort1 As IO.Ports.SerialPort + Friend WithEvents gbRunTime As GroupBox + Friend WithEvents gbDUALUse As GroupBox + Friend WithEvents pnDuFull As Panel + Friend WithEvents lbDuFullSec As Label + Friend WithEvents txbDuFullDay As TextBox + Friend WithEvents txbDuFullSec As TextBox + Friend WithEvents lbDuFullMin As Label + Friend WithEvents txbDuFullMin As TextBox + Friend WithEvents lbDuFullHour As Label + Friend WithEvents txbDuFullHour As TextBox + Friend WithEvents lbDuFullDay As Label + Friend WithEvents lbDuFull As Label + Friend WithEvents pnDuResult As Panel + Friend WithEvents btnDuReset As Button + Friend WithEvents btnDuReady As Button + Friend WithEvents txbDuUseBox As TextBox + Friend WithEvents pnDuError As Panel + Friend WithEvents txbDuError As TextBox + Friend WithEvents lbDuError As Label + Friend WithEvents pnDuEye As Panel + Friend WithEvents txbDuEye As TextBox + Friend WithEvents lbDuEye As Label + Friend WithEvents pnDuFace As Panel + Friend WithEvents txbDuFace As TextBox + Friend WithEvents lbDuFace As Label + Friend WithEvents pnDuReady As Panel + Friend WithEvents lbDuReadySec As Label + Friend WithEvents txbDuReadyDay As TextBox + Friend WithEvents txbDuReadySec As TextBox + Friend WithEvents lbDuReadyMin As Label + Friend WithEvents txbDuReadyMin As TextBox + Friend WithEvents lbDuReadyHour As Label + Friend WithEvents txbDuReadyHour As TextBox + Friend WithEvents lbDuReadyDay As Label + Friend WithEvents lbDuReady As Label + Friend WithEvents tcMAXUse As TabControl + Friend WithEvents tpMAXFULL As TabPage + Friend WithEvents tpMXHIFU As TabPage + Friend WithEvents tpMXRF As TabPage + Friend WithEvents pnMxAllFunc As Panel + Friend WithEvents btnMxAllReset As Button + Friend WithEvents btnMxAllRead As Button + Friend WithEvents txbMxAllBox As TextBox + Friend WithEvents pnMxAllShot As Panel + Friend WithEvents txbMxAllShot As TextBox + Friend WithEvents lbMxAllShot As Label + Friend WithEvents pnMxAllErr As Panel + Friend WithEvents txbMxAllErr As TextBox + Friend WithEvents lbMxAllErr As Label + Friend WithEvents pnMxAllTime As Panel + Friend WithEvents lbMxAllSec As Label + Friend WithEvents txbMxAllDay As TextBox + Friend WithEvents txbMxAllSec As TextBox + Friend WithEvents lbMxAllMin As Label + Friend WithEvents txbMxAllMin As TextBox + Friend WithEvents lbMxAllHour As Label + Friend WithEvents txbMxAllHour As TextBox + Friend WithEvents lbMxAllDay As Label + Friend WithEvents lbMxAllTime As Label + Friend WithEvents pnMxHfResult As Panel + Friend WithEvents btnMxHfReset As Button + Friend WithEvents btnMxHfRead As Button + Friend WithEvents txbMxHfBox As TextBox + Friend WithEvents pnMxFcShot As Panel + Friend WithEvents txbMxFcShot As TextBox + Friend WithEvents lbMxFcShot As Label + Friend WithEvents pnMxEyTime As Panel + Friend WithEvents lbMxEySec As Label + Friend WithEvents txbMxEyDay As TextBox + Friend WithEvents txbMxEySec As TextBox + Friend WithEvents lbMxEyMin As Label + Friend WithEvents txbMxEyMin As TextBox + Friend WithEvents lbMxEyHour As Label + Friend WithEvents txbMxEyHour As TextBox + Friend WithEvents lbMxEyDay As Label + Friend WithEvents lbMxEyTime As Label + Friend WithEvents pnMxFcTime As Panel + Friend WithEvents lbMxFcSec As Label + Friend WithEvents txbMxFcDay As TextBox + Friend WithEvents txbMxFcSec As TextBox + Friend WithEvents lbMxFcMin As Label + Friend WithEvents txbMxFcMin As TextBox + Friend WithEvents lbMxFcHour As Label + Friend WithEvents txbMxFcHour As TextBox + Friend WithEvents lbMxFcDay As Label + Friend WithEvents lbMxFcTime As Label + Friend WithEvents pnMxEtResult As Panel + Friend WithEvents btnMxEtReset As Button + Friend WithEvents btnMxEtRead As Button + Friend WithEvents txbMxEtBox As TextBox + Friend WithEvents pnMxCuTime As Panel + Friend WithEvents lbMxCuSec As Label + Friend WithEvents txbMxCuDay As TextBox + Friend WithEvents txbMxCuSec As TextBox + Friend WithEvents lbMxCuMin As Label + Friend WithEvents txbMxCuMin As TextBox + Friend WithEvents lbMxCuHour As Label + Friend WithEvents txbMxCuHour As TextBox + Friend WithEvents lbMxCuDay As Label + Friend WithEvents lbMxCuTime As Label + Friend WithEvents pnMxDuTime As Panel + Friend WithEvents lbMxDuSec As Label + Friend WithEvents txbMxDuDay As TextBox + Friend WithEvents txbMxDuSec As TextBox + Friend WithEvents lbMxDuMin As Label + Friend WithEvents txbMxDuMin As TextBox + Friend WithEvents lbMxDuHour As Label + Friend WithEvents txbMxDuHour As TextBox + Friend WithEvents lbMxDuDay As Label + Friend WithEvents lbMxDuTime As Label + Friend WithEvents pnMxTuTime As Panel + Friend WithEvents lbMxTuSec As Label + Friend WithEvents txbMxTuDay As TextBox + Friend WithEvents txbMxTuSec As TextBox + Friend WithEvents lbMxTuMin As Label + Friend WithEvents txbMxTuMin As TextBox + Friend WithEvents lbMxTuHour As Label + Friend WithEvents txbMxTuHour As TextBox + Friend WithEvents lbMxTuDay As Label + Friend WithEvents lbMxTuTime As Label + Friend WithEvents tcAltoUse As TabControl + Friend WithEvents tpALTOFull As TabPage + Friend WithEvents pnALAllFunc As Panel + Friend WithEvents btnALAllReset As Button + Friend WithEvents btnALAllRead As Button + Friend WithEvents txbALAllBox As TextBox + Friend WithEvents pnALAllErr As Panel + Friend WithEvents txbALAllErr As TextBox + Friend WithEvents lbALAllErr As Label + Friend WithEvents pnALAllTime As Panel + Friend WithEvents lbALAllSec As Label + Friend WithEvents txbALAllDay As TextBox + Friend WithEvents txbALAllSec As TextBox + Friend WithEvents lbALAllMin As Label + Friend WithEvents txbALAllMin As TextBox + Friend WithEvents lbALAllHour As Label + Friend WithEvents txbALAllHour As TextBox + Friend WithEvents lbALAllDay As Label + Friend WithEvents lbALAllTime As Label + Friend WithEvents tpALFunc1 As TabPage + Friend WithEvents pnALFuncBox1 As Panel + Friend WithEvents btnALFuncReset1 As Button + Friend WithEvents btnALFuncRead1 As Button + Friend WithEvents txbALFuncBox1 As TextBox + Friend WithEvents pnALEtTime As Panel + Friend WithEvents lbALEtSec As Label + Friend WithEvents txbALEtDay As TextBox + Friend WithEvents txbALEtSec As TextBox + Friend WithEvents lbALEtMin As Label + Friend WithEvents txbALEtMin As TextBox + Friend WithEvents lbALEtHour As Label + Friend WithEvents txbALEtHour As TextBox + Friend WithEvents lbALEtDay As Label + Friend WithEvents lbALEtTime As Label + Friend WithEvents pnALFtTime As Panel + Friend WithEvents lbALFtSec As Label + Friend WithEvents txbALFtDay As TextBox + Friend WithEvents txbALFtSec As TextBox + Friend WithEvents lbALFtMin As Label + Friend WithEvents txbALFtMin As TextBox + Friend WithEvents lbALFtHour As Label + Friend WithEvents txbALFtHour As TextBox + Friend WithEvents lbALFtDay As Label + Friend WithEvents lbALFtTime As Label + Friend WithEvents tpALFunc2 As TabPage + Friend WithEvents pnALFuncBox2 As Panel + Friend WithEvents btnALFuncRead2 As Button + Friend WithEvents txbALFuncBox2 As TextBox + Friend WithEvents pnALBtTime As Panel + Friend WithEvents lbALBtSec As Label + Friend WithEvents txbALBtDay As TextBox + Friend WithEvents txbALBtSec As TextBox + Friend WithEvents lbALBtMin As Label + Friend WithEvents txbALBtMin As TextBox + Friend WithEvents lbALBtHour As Label + Friend WithEvents txbALBtHour As TextBox + Friend WithEvents lbALBtDay As Label + Friend WithEvents lbALBtTime As Label + Friend WithEvents pnALCsTime As Panel + Friend WithEvents lbALCsSec As Label + Friend WithEvents txbALCsDay As TextBox + Friend WithEvents txbALCsSec As TextBox + Friend WithEvents lbALCsMin As Label + Friend WithEvents txbALCsMin As TextBox + Friend WithEvents lbALCsHour As Label + Friend WithEvents txbALCsHour As TextBox + Friend WithEvents lbALCsDay As Label + Friend WithEvents lbALCsTime As Label + Friend WithEvents pnALLtTime As Panel + Friend WithEvents lbALLtSec As Label + Friend WithEvents txbALLtDay As TextBox + Friend WithEvents txbALLtSec As TextBox + Friend WithEvents lbALLtMin As Label + Friend WithEvents txbALLtMin As TextBox + Friend WithEvents lbALLtHour As Label + Friend WithEvents txbALLtHour As TextBox + Friend WithEvents lbALLtDay As Label + Friend WithEvents lbALLtTime As Label + Friend WithEvents btnALFuncReset2 As Button + Friend WithEvents pnDBLoad As Panel + Friend WithEvents pnLoadTop As Panel + Friend WithEvents btnLoadNum As Button + Friend WithEvents txbLoadNum As TextBox + Friend WithEvents lbLoadNum As Label + Friend WithEvents pnLoadBot As Panel + Friend WithEvents gbDBLoad As GroupBox + Friend WithEvents gbPDSearch As GroupBox + Friend WithEvents txbPDSN As TextBox + Friend WithEvents lbPDSN As Label + Friend WithEvents txbPDAC As TextBox + Friend WithEvents lbPDAC As Label + Friend WithEvents txbPDCP As TextBox + Friend WithEvents txbPDCC As TextBox + Friend WithEvents txbPDMotor As TextBox + Friend WithEvents lbPDCC As Label + Friend WithEvents txbPDModel As TextBox + Friend WithEvents txbPDSC As TextBox + Friend WithEvents txbPDSerial As TextBox + Friend WithEvents lbPDCP As Label + Friend WithEvents lbPDModel As Label + Friend WithEvents txbPDType As TextBox + Friend WithEvents lbPDSerial As Label + Friend WithEvents lbPDType As Label + Friend WithEvents lbPDSC As Label + Friend WithEvents lbPDMotor As Label + Friend WithEvents gbTDSearch As GroupBox + Friend WithEvents txbTDSN As TextBox + Friend WithEvents lbTDSN As Label + Friend WithEvents txbMesDate As TextBox + Friend WithEvents lbMesDate As Label + Friend WithEvents txbMesFreq As TextBox + Friend WithEvents lbMesFreq As Label + Friend WithEvents txbMesPw As TextBox + Friend WithEvents lbMesPw As Label + Friend WithEvents btnwrite As Button + Friend WithEvents btnReset As Button + Friend WithEvents rdbEffect As RadioButton + Friend WithEvents btnDuWrite As Button +End Class diff --git a/Product_Manager/MainForm.resx b/Product_Manager/MainForm.resx new file mode 100644 index 0000000..13d5366 --- /dev/null +++ b/Product_Manager/MainForm.resx @@ -0,0 +1,2116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 71 + + + + + AAABAAEApa4AAAEAIAAQ0QEAFgAAACgAAAClAAAAXAEAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+/r3APDp + 3v/w6d7/8One/+DSuv/g0rr/4NK6/+DSuv/g0rr/4NK6/+DSuv/g0rr/4NK6/+jezf/w6d7/8One//Tv + 5/////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD7+vcA8One/+TYw//czK//0LiO/8eqc/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/9C4jv/Uv5r/4NK6/+zk1v/07+f/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////APTv5//k2MP/2Mal/8eqc/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9C4jv/czK//7OTW//v69wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+/r3AOje + zf/YxqX/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/3Myv//Dp + 3v////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+PTvIuTYw//LsoH/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//Co2P/2Mal/+zk1v////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AOjezf/Uv5r/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//Co2P/2Mal//Tv5/////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APj07yLczK//wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/6N7N//v69wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wDw6d7/0LiO/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8KjY//czK//+PTvIv///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A8One/9C4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9jGpf/49O8i////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APDp + 3v/QuI7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/2Mal//j0 + 7yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD07+f/0LiO/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//g0rr/+/r3AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+/r3ANjGpf++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/wqNj/+jezf////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDk2MP/wqNj/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7/9O/n/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A+PTvItC4jv++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDk2MP/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/9O/n/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A+/r3ANS/mv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+TYw/////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wDw6d7/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Uv5r/+/r3AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AOTYw/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/x6pz//Tv5/////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD7+vcA2Mal/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8KjY//o3s3/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APv6 + 9wDLsoH/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6//// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9O/n/8eq + c/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9jG + pf////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD07+f/wqNj/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//QuI7/+/r3AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APTv5//Co2P/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/y7KB//v69wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9O/n/8KjY/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/8uygf/7+vcA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD07+f/wqNj/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//LsoH/+/r3AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD+/fwA9e/kAOjdxP////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////+/r3//Dp3v/w6d7/8One//Dp3v/o3s3/4NK6/+DSuv/YxqX/0LiO/9C4 + jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/y7KB//v69wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP79/AD18OYA7eTRiP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Tv5//w6d7/4NK6/9zMr//QuI7/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/9C4jv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APTv5ADt5NGI//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v69//w6d7/4NK6/9S/mv/Co2P/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//YxqX/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A9fPtAOjdxAD///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////+PTv/+je + zf/YxqX/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A39S7APv7+/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Tv5//g0rr/y7KB/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+jezf////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A7OTW//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////j07//k2MP/x6pz/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8KjY//07+f/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wDs5Nb/vpxT/9zMr/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////Tv5//YxqX/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//HqnP/+/r3AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////APj07yLCo2P/vpxT/76cU//o3s3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+/r3/+DSuv/Co2P/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/1L+a/////wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AMuygf++nFP/vpxT/76cU//Co2P/9O/n//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////6N7N/8eq + c/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+TYw/////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A4NK6/76cU/++nFP/vpxT/76cU/++nFP/y7KB//v69/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///g0rr/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//07+f/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wDw6d7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9S/mv////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////+/r3/9zMr/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APv6 + 9wDHqnP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//k2MP///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////07+f/y7KB/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6//// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AODS + uv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/8One//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////9zMr/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Tv + 5/////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9O/n/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/wqNj//j07/////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////w6d7/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9C4 + jv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A0LiO/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8uygf////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+PTv/8uygf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//o3s3/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDo3s3/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//YxqX///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v69//Uv5r/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//Co2P/+/r3AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDHqnP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/6N7N//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////2Mal/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/4NK6/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AODSuv++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Tv + 5/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////9jGpf++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/wqNj//j07yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+/r3AMKjY/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8eq + c//7+vf///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////YxqX/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/9jGpf////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A4NK6/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//QuI7///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////0LiO/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//49O8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD7+vcAwqNj/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/3Myv//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////+/r3/8uy + gf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//YxqX/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDg0rr/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/+zk1v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////Tv + 5//Co2P/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/+/r3AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDHqnP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/8KjY//07+f///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///k2MP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AOjezf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//LsoH/+/r3//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////1L+a/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/wqNj/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AMuygf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/1L+a//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////+PTv/8KjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/+jezf////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A9O/n/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/+TYw/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+DSuv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/8uygf////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A2Mal/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//w6d7///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////HqnP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//07+f/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AwqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/+/r3//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////o3s3/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//czK//////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDo3s3/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/x6pz/+jezf////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////x6pz/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDUv5r/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/8uygf/QuI7/0LiO/9C4jv/QuI7/3Myv/+DSuv/g0rr/7OTW//Dp3v/7+vf///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6N7N/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/7OTW/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APv69wC+nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9C4 + jv/YxqX/5NjD//Tv5/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////+/r3/8KjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/2Mal/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AOjezf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//Co2P/1L+a/+jezf/7+vf///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////9zMr/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/wqNj/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ANjGpf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/2Mal//j07/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////Tv5/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Tv5/////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AMKjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//YxqX/+PTv//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////HqnP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A9O/n/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/wqNj/+TYw/////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////czK//vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8uygf////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A5NjD/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//YxqX///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////07+f/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//7+vcA////AP///wD///8A////AP// + /wD///8A////AP///wD///8A1L+a/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/y7KB//v6 + 9/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//w6d7/////AP///wD///8A////AP// + /wD///8A////AP///wD///8AwqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9jG + pf////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////1L+a/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//g0rr/////AP///wD///8A////AP// + /wD///8A////AP///wD07+f/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//k2MP///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4NK6/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//QuI7/////AP///wD///8A////AP// + /wD///8A////AP///wDo3s3/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//Co2P/+PTv//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////8One/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/////AP///wD///8A////AP// + /wD///8A////AP///wDczK//vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/2Mal//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+/r3/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/+PTvIv///wD///8A////AP// + /wD///8A////AP///wDQuI7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/wqNj//v69/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////8KjY/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/8One/////wD///8A////AP// + /wD///8A////AP///wDCo2P/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/+jezf////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9C4jv++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP// + /wD///8A////AP///wC+nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/9S/mv////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9jGpf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/2Mal/////wD///8A////AP// + /wD///8A////APDp3v++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/8KjY/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+DSuv++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/0LiO/////wD///8A////AP// + /wD///8A////APDp3v++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//07+f///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+TYw/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/wqNj/////wD///8A////AP// + /wD///8A////AODSuv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//s5Nb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////Dp3v++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/////wD///8A////AP// + /wD///8A////AODSuv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//g0rr///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////Dp3v++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//v69wD///8A////AP// + /wD///8A////ANjGpf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//g0rr///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////Dp3v++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//YxqX///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////Dp3v++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v69/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+jezf////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AMKjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AL6cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AL6cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AL6cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AMuygf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//Dp3v////8A////AP// + /wD///8A////AODSuv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//j07yL///8A////AP// + /wD///8A////AODSuv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/////wD///8A////AP// + /wD///8A////AOjezf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/////wD///8A////AP// + /wD///8A////APDp3v++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/0LiO/////wD///8A////AP// + /wD///8A////APj07yK+nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/1L+a/////wD///8A////AP// + /wD///8A////AP///wC+nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP// + /wD///8A////AP///wDQuI7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/6N7N/////wD///8A////AP// + /wD///8A////AP///wDYxqX/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/9O/n/////wD///8A////AP// + /wD///8A////AP///wDk2MP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/////AP///wD///8A////AP// + /wD///8A////AP///wDw6d7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/////AP///wD///8A////AP// + /wD///8A////AP///wD///8AvpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//czK//////AP///wD///8A////AP// + /wD///8A////AP///wD///8Ay7KB/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//o3s3/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A3Myv/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//49O8i////AP///wD///8A////AP// + /wD///8A////AP///wD///8A7OTW/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8eqc/////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A+/r3AL6cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9jGpf////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ANC4jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+zk1v////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AOTYw/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT//v69wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APj07yK+nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/1L+a/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDLsoH/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/6N7N/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDk2MP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/+/r3AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD49O8ivpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Uv5r/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A0LiO/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//s5Nb/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A6N7N/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/8eqc/////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AMKjY/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ANzMr/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT//j07yL///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////APj07yK+nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/2Mal/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDYxqX/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/8One/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD07+f/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A0LiO/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//w6d7/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A8One/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/9C4jv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANjGpf++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT//Dp3v////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APj07yK+nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/0LiO/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDczK//vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/+PTvIv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD7+vcAwqNj/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//czK//////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A5NjD/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8Kj + Y//7+vcA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANC4 + jv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+zk + 1v////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APTv + 5/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/0LiO//// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wDg0rr/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/+PTvIv// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8Ay7KB/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//o3s3/////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A+PTvIsKjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9S/mv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AOjezf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/x6pz//v69wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wDYxqX/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/9O/n/////wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD7+vcAy7KB/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//o3s3/////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A+PTvIsKjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9jGpf////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APTv5/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/y7KB/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wDo3s3/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU//LsoH/+/r3AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A5NjD/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/8KjY//07+f/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ANjGpf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/wqNj//Tv5/////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDYxqX/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//Co2P/9O/n/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A2Mal/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//QuI7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v69/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/8KjY//07+f/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANjGpf++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU//HqnP/+/r3//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+jezf++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/wqNj//Tv5/////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDYxqX/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/0LiO//Dp3v/w6d7/8One//Dp3v/w6d7/8One//Dp3v/w6d7/8One//Dp + 3v/w6d7/8One//Dp3v/w6d7/8One//Dp3v/w6d7/8One//Dp3v/w6d7/8One//Dp3v/w6d7/8One//Dp + 3v/w6d7/8One//Dp3v/w6d7/8One//Dp3v/w6d7/6N7N/8KjY/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//Co2P/9O/n/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A5NjD/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8eq + c//07+f/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOje + zf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/y7KB//v6 + 9wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD07+f/wqNj/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//YxqX/+/r3AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A+PTvIsuygf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/+DSuv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////APv69wDYxqX/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//Co2P/8One/////wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A6N7N/8KjY/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/9C4jv/49O8i////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APj07yLLsoH/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A4NK6/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/8uygf/07+f/////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////APj07yLQuI7/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/4NK6/////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A6N7N/8KjY/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/9C4jv/49O8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APv69wDg0rr/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U//HqnP/8One/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+PTvItjG + pf++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/wqNj/+je + zf////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD49O8i2Mal/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/8KjY//g0rr/+/r3AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////APj07yLYxqX/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//HqnP/6N7N/////wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A+PTvIuDSuv/Co2P/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/0LiO/+zk1v////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A6N7N/9S/mv++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/wqNj/9zMr//49O8i////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD49O8i5NjD/8uygf++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/wqNj/9jGpf/s5Nb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD49O8i5NjD/9S/ + mv++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/x6pz/9zM + r//s5Nb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A8One/+DSuv/QuI7/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU//HqnP/1L+a/+TYw//49O8i////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////APTv5//k2MP/3Myv/9C4jv/Co2P/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76cU/++nFP/vpxT/76c + U/++nFP/vpxT/76cU/++nFP/y7KB/9S/mv/g0rr/7OTW//j07yL///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APDp3v/w6d7/4NK6/+DS + uv/czK//0LiO/9C4jv/QuI7/0LiO/9C4jv/QuI7/0LiO/9C4jv/QuI7/0LiO/9C4jv/Uv5r/4NK6/+DS + uv/o3s3/8One//j07yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///////////////////////////gAAAD///////////////////////////gAAAD///////////// + //////////////gAAAD///////////////////////////gAAAD///////////////////////////gA + AAD///////////////////////////gAAAD///////////////////////////gAAAD////////////A + AD////////////gAAAD//////////+AAAAB///////////gAAAD//////////AAAAAAH//////////gA + AAD/////////4AAAAAAAf/////////gAAAD////////+AAAAAAAAD/////////gAAAD////////4AAAA + AAAAAf////////gAAAD////////AAAAAAAAAAH////////gAAAD///////8AAAAAAAAAAA////////gA + AAD///////wAAAAAAAAAAAP///////gAAAD///////AAAAAAAAAAAAD///////gAAAD//////8AAAAAA + AAAAAAB///////gAAAD//////4AAAAAAAAAAAAAf//////gAAAD//////gAAAAAAAAAAAAAH//////gA + AAD/////+AAAAAAAAAAAAAAD//////gAAAD/////8AAAAAAAAAAAAAAA//////gAAAD/////4AAAAAAA + AAAAAAAAf/////gAAAD/////gAAAAAAAAAAAAAAAP/////gAAAD/////AAAAAAAAAAAAAAAAD/////gA + AAD////+AAAAAAAAAAAAAAAAB/////gAAAD////8AAAAAAAAAAAAAAAAA/////gAAAD////wAAAAAAAA + AAAAAAAAAf////gAAAD////gAAAAAAAAAAAAAAAAAP////gAAAD////AAAAAAAAAAAAAAAAAAH////gA + AAD///+AAAAAAAAAAAAAAAAAAD////gAAAD///8AAAAAAAAAAAAAAAAAAB////gAAAD///4AAAAAAAAA + AAAAAAAAAA////gAAAD///wAAAAAAAAAAAAAAAAAAAf///gAAAD///gAAAAAAAAAAAAAAAAAAAP///gA + AAD///gAAAAAAAAAAAAAAAAAAAH///gAAAD///AAAAAAAAAAAAAAAAAAAAD///gAAAD//+AAAAAAAAAA + AAAAAAAAAAB///gAAAD//8AAAAAAAAAAAAAAAAAAAAB///gAAAD//4AAAAAAAAAAAAAAAAAAAAA///gA + AAD//4AAAAAAAAAAAAAAAAAAAAAf//gAAAD//wAAAAAAAAAAAAAAAAAAAAAP//gAAAD//gAAAAAAAAAA + AAAAAAAAAAAP//gAAAD//gAAAAAAAAAAAAAAAAAAAAAH//gAAAD//AAAAAAAAAAAAAAAAAAAAAAD//gA + AAD/+AAAAAAAAAAAAAAAAAAAAAAD//gAAAD/+AAAAAAAAAAAAAAAAAAAAAAB//gAAAD/8AAAAAAAAAAA + AAAAAAAAAAAB//gAAAD/8AAAAAAAAAAAAAAAAAAAAAAA//gAAAD/4AAAAAAAAAAAAAAAAAAAAAAAf/gA + AAD/4AAAAAAAAAAAAAAAAAAAAAAAf/gAAAD/wAAAAAAAAAAAAAAAAAAAAAAAP/gAAAD/wAAAAAAAAAAA + AAAAAAAAAAAAP/gAAAD/gAAAAAAAAAAAAAAAAAAAAAAAP/gAAAD/gAAAAAAAAAAAAAAAAAAAAAAAH/gA + AAD/AAAAAAAAAAAAAAAAAAAAAAAAH/gAAAD/AAAAAAAAAAAAAAAAAAAAAAAAD/gAAAD+AAAAAAAAAAAA + AAAAAAAAAAAAD/gAAAD+AAAAAAAAAAAAAAAAAAAAAAAAB/gAAAD+AAAAAAAAAAAAAAAAAAAAAAAAB/gA + AAD8AAAAAAAAAAAAAAAAAAAAAAAAB/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAA/gAAAD8AAAAAAAAAAAA + AAAAAAAAAAAAA/gAAAD4AAAAAAAAAAAAAAAAAAAAAAAAA/gAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAfgA + AAD4AAAAAAAAAAAAAAAAAAAAAAAAAfgAAADwAAAAAAAAAAAAAAAAAAAAAAAAAfgAAADwAAAAAAAAAAAA + AAAAAAAAAAAAAfgAAADwAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADwAAAAAAAAAAAAAAAAAAAAAAAAAPgA + AADgAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADgAAAAAAAAAAAA + AAAAAAAAAAAAAHgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAHgA + AADgAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAAAAAAAAAAAAA + AAAAAAAAAAAAAHgAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHgA + AADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAA + AAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgA + AADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAA + AAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgA + AADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAA + AAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADAAAAAAAAAAAAAAAAAAAAAAAAAADgA + AADAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAAAAAAAAAAAAA + AAAAAAAAAAAAAHgAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAHgA + AADgAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAHgAAADgAAAAAAAAAAAA + AAAAAAAAAAAAAPgAAADgAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADwAAAAAAAAAAAAAAAAAAAAAAAAAPgA + AADwAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADwAAAAAAAAAAAAAAAAAAAAAAAAAPgAAADwAAAAAAAAAAAA + AAAAAAAAAAAAAfgAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAfgAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAfgA + AAD4AAAAAAAAAAAAAAAAAAAAAAAAA/gAAAD4AAAAAAAAAAAAAAAAAAAAAAAAA/gAAAD8AAAAAAAAAAAA + AAAAAAAAAAAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAB/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAB/gA + AAD+AAAAAAAAAAAAAAAAAAAAAAAAB/gAAAD+AAAAAAAAAAAAAAAAAAAAAAAAD/gAAAD/AAAAAAAAAAAA + AAAAAAAAAAAAD/gAAAD/AAAAAAAAAAAAAAAAAAAAAAAAD/gAAAD/AAAAAAAAAAAAAAAAAAAAAAAAH/gA + AAD/gAAAAAAAAAAAAAAAAAAAAAAAH/gAAAD/gAAAAAAAAAAAAAAAAAAAAAAAP/gAAAD/wAAAAAAAAAAA + AAAAAAAAAAAAP/gAAAD/wAAAAAAAAAAAAAAAAAAAAAAAf/gAAAD/4AAAAAAAAAAAAAAAAAAAAAAAf/gA + AAD/4AAAAAAAAAAAAAAAAAAAAAAA//gAAAD/8AAAAAAAAAAAAAAAAAAAAAAA//gAAAD/+AAAAAAAAAAA + AAAAAAAAAAAB//gAAAD/+AAAAAAAAAAAAAAAAAAAAAAD//gAAAD//AAAAAAAAAAAAAAAAAAAAAAD//gA + AAD//AAAAAAAAAAAAAAAAAAAAAAH//gAAAD//gAAAAAAAAAAAAAAAAAAAAAH//gAAAD//wAAAAAAAAAA + AAAAAAAAAAAP//gAAAD//wAAAAAAAAAAAAAAAAAAAAAf//gAAAD//4AAAAAAAAAAAAAAAAAAAAA///gA + AAD//8AAAAAAAAAAAAAAAAAAAAA///gAAAD//+AAAAAAAAAAAAAAAAAAAAB///gAAAD//+AAAAAAAAAA + AAAAAAAAAAD///gAAAD///AAAAAAAAAAAAAAAAAAAAH///gAAAD///gAAAAAAAAAAAAAAAAAAAP///gA + AAD///wAAAAAAAAAAAAAAAAAAAP///gAAAD///4AAAAAAAAAAAAAAAAAAAf///gAAAD///8AAAAAAAAA + AAAAAAAAAA////gAAAD///+AAAAAAAAAAAAAAAAAAB////gAAAD////AAAAAAAAAAAAAAAAAAD////gA + AAD////gAAAAAAAAAAAAAAAAAH////gAAAD////wAAAAAAAAAAAAAAAAAP////gAAAD////4AAAAAAAA + AAAAAAAAA/////gAAAD////8AAAAAAAAAAAAAAAAB/////gAAAD////+AAAAAAAAAAAAAAAAD/////gA + AAD/////gAAAAAAAAAAAAAAAH/////gAAAD/////wAAAAAAAAAAAAAAAP/////gAAAD/////4AAAAAAA + AAAAAAAA//////gAAAD/////+AAAAAAAAAAAAAAB//////gAAAD//////AAAAAAAAAAAAAAH//////gA + AAD//////wAAAAAAAAAAAAAP//////gAAAD//////8AAAAAAAAAAAAA///////gAAAD//////+AAAAAA + AAAAAAD///////gAAAD///////gAAAAAAAAAAAP///////gAAAD///////4AAAAAAAAAAA////////gA + AAD///////+AAAAAAAAAAD////////gAAAD////////wAAAAAAAAAP////////gAAAD////////8AAAA + AAAAB/////////gAAAD/////////gAAAAAAAP/////////gAAAD/////////+AAAAAAB//////////gA + AAD//////////4AAAAAf//////////gAAAD///////////4AAAf///////////gAAAD///////////// + //////////////gAAAD///////////////////////////gAAAD///////////////////////////gA + AAD///////////////////////////gAAAD///////////////////////////gAAAD///////////// + //////////////gAAAD///////////////////////////gAAAA= + + + \ No newline at end of file diff --git a/Product_Manager/MainForm.vb b/Product_Manager/MainForm.vb new file mode 100644 index 0000000..e48376c --- /dev/null +++ b/Product_Manager/MainForm.vb @@ -0,0 +1,4048 @@ +Imports System.IO.Ports +Imports System.Math +Imports System.Runtime.InteropServices.ComTypes +Imports Microsoft +Imports System.Runtime.Remoting +Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock +Imports Mysqlx + +Public Class MainForm + Public Const FormVersion As String = "2.0.0" + Private Const FormName As String = "DUALSONIC Product Manager Ver " & FormVersion + + Private Const TDNameSize As Int16 = 10 + Private Const StrLen As Int16 = 10 + Private Const WriteSerialLength As Int16 = 6 + Private Const SerialLength As Int16 = 9 + Private Const SerialParsingLength As Int16 = 12 + Private Const PROSerialParsing As ULong = 111669149696 + Private Const LUXSerialParsing As ULong = 0 + Private Const ALPHASerialParsing As ULong = 412316860416 + + Private Const OneDay As Int32 = 86400 + Private Const OneHour As Int32 = 3600 + Private Const OneMinute As Int16 = 60 + Private Const OneSecond As Int32 = 1000 + + + Private Enum ErrorList + DataError = -5 + DBError = -4 + ResultError = -3 + ReceiveError = -2 + SendError = -1 + NonError + MAXError + End Enum + + Private Enum ModelList + PRO = 1 + LUX + MAXIMUM + ALPHA + ALTO + EFFECT + MAX_Model + End Enum + + Private Enum TypeList + V1_Set + V2_Face + Eye + Body + MAXType + End Enum + + Private Enum TypeCodeList + Eye = 1 + Face + Body + MAXType + End Enum + + Private tmpCmdMessage As String = String.Empty + Private cmdMessage As String = String.Empty + Private DBCmd As String = String.Empty + + Private Sub StartForm() + Me.Text = FormName + Me.Size = New Size(1920, 800) + + UseSerialSetting(SerialPort1) + rdbDual.Checked = True + ckbDBUse.Checked = True + End Sub + + Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load + StartForm() + StartTop() + End Sub + + Private Sub rdbDual_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDual.CheckedChanged, rdbMax.CheckedChanged, rdbAlto.CheckedChanged, rdbEffect.CheckedChanged + ResetClear() + ResultReset() + + Dim CheckOkNg As RadioButton = CType(sender, RadioButton) + + If CheckOkNg.Checked = True Then + + If rdbDual.Checked = True Then + SelectModel = ModeList.DUALSONIC + DUALForm_Setting() + DUALSONIC_UseOn() + Device_UseOn() + + btnALFuncReset1.Enabled = True + + ElseIf rdbMax.Checked = True Then + SelectModel = ModeList.MAXIMUM + MAXForm_Setting() + MAXIMUM_UseOn() + + btnALFuncReset1.Enabled = True + + ElseIf rdbAlto.Checked = True Then + SelectModel = ModeList.ALTO + ALTOForm_Setting() + ALTO_UseOn() + + btnALFuncReset1.Enabled = False + + ElseIf rdbEffect.Checked = True Then + SelectModel = ModeList.EFFECT + EFFECTForm_Setting() + EFFECT_UseOn() + + btnALFuncReset1.Enabled = True + Else + MsgBox("잘못된 경로입니다.", vbCritical) + End If + + End If + + End Sub + + Private Sub rdbDev_Click(sender As Object, e As EventArgs) Handles rdbDev.Click, rdbUseTime.Click + + Dim CheckOkNg As RadioButton = CType(sender, RadioButton) + + If rdbDev.Checked = True Then + Device_UseOn() + ElseIf rdbUseTime.Checked = True Then + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_UseOn() + Case ModeList.MAXIMUM + MAXIMUM_UseOn() + Case ModeList.ALTO + ALTO_UseOn() + Case ModeList.EFFECT + EFFECT_UseOn() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + Else + MsgBox("잘못된 경로입니다.", vbCritical) + End If + + End Sub + + Private Sub Device_UseOn() + gbDevice.Visible = True + gbRunTime.Visible = False + tcMAXUse.Visible = False + gbDUALUse.Visible = False + tcAltoUse.Visible = False + End Sub + + Private Sub DUALSONIC_UseOn() + gbDevice.Visible = False + gbRunTime.Visible = True + tcMAXUse.Visible = False + gbDUALUse.Visible = True + tcAltoUse.Visible = False + End Sub + + Private Sub MAXIMUM_UseOn() + gbDevice.Visible = False + gbRunTime.Visible = True + tcMAXUse.Visible = True + gbDUALUse.Visible = False + tcAltoUse.Visible = False + End Sub + + Private Sub ALTO_UseOn() + gbDevice.Visible = False + gbRunTime.Visible = True + tcMAXUse.Visible = False + gbDUALUse.Visible = False + tcAltoUse.Visible = True + End Sub + + Private Sub EFFECT_UseOn() + gbDevice.Visible = False + gbRunTime.Visible = False + tcMAXUse.Visible = False + gbDUALUse.Visible = False + tcAltoUse.Visible = False + End Sub + + Private Sub btnComport_Click(sender As Object, e As EventArgs) Handles btnComport.Click + If btnComport.Text = "검색" Then + pnBottom.Enabled = False + If LoadCompartList() Then + btnComport.Text = "연결" + End If + Else + If cboComport.SelectedIndex = -1 Then + MsgBox("연결하고자 하는 포트를 선택하여 주십시오.", vbExclamation, FormName) + Else + + If UseSerial_Ch1.IsOpen Then + UseSerial_Ch1.Close() + End If + + If OpenSerial(cboComport.SelectedItem) Then + pnBottom.Enabled = True + End If + End If + + btnComport.Text = "검색" + End If + End Sub + + Private Function LoadCompartList() As Boolean + Try + cboComport.Items.Clear() + Dim PortName() As String = SerialPort.GetPortNames + + For i = 0 To PortName.Length - 1 + cboComport.Items.Add(PortName(i)) + Next + + cboComport.Text = "SELECT!" + Return True + + Catch ex As Exception + MsgBox("COM 포트 불러오기 실패!" & vbCrLf & ex.Message, vbCritical, FormName) + Return False + End Try + End Function + + Private Sub btnAuth_Click(sender As Object, e As EventArgs) Handles btnAuth.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_AuthFunc() + Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT + FlashDataReset() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub AuthReady() + txbAuthBox.Visible = True + txbAuthBox.Text = "RUNNING" + txbAuthBox.BackColor = Color.GreenYellow + txbAuthBox.Refresh() + End Sub + + Private Sub DUALSONIC_AuthFunc() + Const PollingTimeOut As Int16 = 10000 + Dim StageCnt As Int16 = ErrorList.NonError + Try + AuthReady() + + tmpCmdMessage = "cartauth" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim ReceiveData As String = PollingReceiveData(PollingTimeOut) + + If ReceiveData = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If ReceiveData = "success" Then + txbAuthBox.Text = "SUCCESS" + txbAuthBox.BackColor = Color.Green + GoTo End_Finish + Else + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + Catch ex As Exception + MsgBox("인증 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAuthBox.Text = "ERROR" + Str(StageCnt) + txbAuthBox.BackColor = Color.Red +End_Finish: + txbAuthBox.Refresh() + End Sub + + Private Sub FlashDataReset() + Dim StageCnt As Int16 = ErrorList.NonError + Dim TDNameStr As String = String.Empty + + Try + AuthReady() + + If MsgBox("Flash Data 를 초기화 하시겠습니까?", vbExclamation + vbOKCancel, FormName) = MsgBoxResult.Ok Then + If ckbDBUse.Checked = True Then + + TDNameStr = TDNameLoad() + + If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then + MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbCritical, FormName) + StageCnt = TDNameStr + GoTo FAIL_Finish + End If + + End If + + Dim ResetResult As Int16 = DataResetFunc() + + If ResetResult = ErrorList.SendError Or ResetResult = ErrorList.ReceiveError Then + StageCnt = ResetResult + GoTo FAIL_Finish + End If + + If ckbDBUse.Checked = True Then + If ResetDBUpdate(TDNameStr) = False Then + StageCnt = ErrorList.DBError + GoTo FAIL_Finish + End If + End If + + End If + + txbAuthBox.Text = "SUCCESS" + txbAuthBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("초기화 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try +FAIL_Finish: + txbAuthBox.Text = "ERROR" + Str(StageCnt) + txbAuthBox.BackColor = Color.Red +End_Finish: + txbAuthBox.Refresh() + End Sub + + Private Function ResetDBUpdate(TDSerial As String) As Boolean + DBCmd = "UPDATE " & UseCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Power = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'" + If DBCommand(DBCmd) Then + Return True + End If + Return False + End Function + + Private Function DataResetFunc() As Boolean + Dim retval As String + + tmpCmdMessage = "resetinf" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + retval = PollingReceiveData(1500) + + If retval <> "ok" Then + Return ErrorList.ReceiveError + End If + + Return ErrorList.NonError + End Function + + Private Sub btnIfWrite_Click(sender As Object, e As EventArgs) Handles btnIfWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_WriteFunc() + Case ModeList.MAXIMUM + MAXIMUM_WriteFunc() + Case ModeList.ALTO + ALTO_WriteFunc() + Case ModeList.EFFECT + EFFECT_WriteFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Function InfoWriteStart() As Boolean + + InfoReadReady() + + If nudIfYear.Text.Replace(" ", "") = String.Empty Or nudIfMonth.Text.Replace(" ", "") = String.Empty Or nudIfSerial.Text.Replace(" ", "") = String.Empty Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + If txbIfCode.Text = String.Empty Then + txbIfCode.Text = "jomt" + End If + + If rdbIfPRO_V1.Checked = False And rdbIfLUX_V2.Checked = False And rdbIfALPHA.Checked = False Then + MsgBox("모델을 선택하여 주십시오.", vbExclamation, FormName) + Return True + End If + + If rdbIfFace.Checked = False And rdbIfEye.Checked = False And rdbIfBody.Checked = False Then + MsgBox("타입을 선택하여 주십시오.", vbExclamation, FormName) + Return True + End If + + Return False + + End Function + + Private Function ModelSetting() As Int16 + If rdbIfPRO_V1.Checked = True Then + If SelectModel = ModeList.DUALSONIC Then + Return ModelList.PRO + Else + Return TypeList.V1_Set + End If + ElseIf rdbIfLUX_V2.Checked = True Then + If SelectModel = ModeList.DUALSONIC Then + Return ModelList.LUX + Else + Return TypeList.V2_Face + End If + + ElseIf rdbIfALPHA.Checked = True Then + Return ModelList.ALPHA + Else + Return ModelList.MAX_Model + End If + End Function + + Private Function TypeSetting() As Int16 + If rdbIfFace.Checked = True Then + Return TypeList.V2_Face + ElseIf rdbIfEye.Checked = True Then + Return TypeList.Eye + ElseIf rdbIfBody.Checked = True Then + Return TypeList.Body + Else + Return TypeList.MAXType + End If + End Function + + Private Function TypeCodeSetting() As Int16 + If rdbIfFace.Checked = True Then + Return TypeCodeList.Face + ElseIf rdbIfEye.Checked = True Then + Return TypeCodeList.Eye + ElseIf rdbIfBody.Checked = True Then + Return TypeCodeList.Body + Else + Return TypeCodeList.MAXType + End If + End Function + + Private Sub DUALSONIC_WriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Try + If InfoWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Dim ModelCode As Int16 = ModelSetting() + Dim TypeCode As Int16 = TypeSetting() + + If ModelCode = ModelList.MAX_Model Or TypeCode = TypeList.MAXType Then + MsgBox("존재하지 않는 모델 및 타입 코드입니다. 체크된 내용을 확인하여 주십시오.", vbCritical, FormName) + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* 제조사코드 발신 ******* + ''************************************ + + tmpCmdMessage = "cartmanu" + cmdMessage = "[sb" & tmpCmdMessage & " " & "" & txbIfCode.Text & "" & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* 모델 넘버 발신 ********** + ''************************************ + + tmpCmdMessage = "ctmodel" + cmdMessage = "[sb" & tmpCmdMessage & " " & ModelCode & TypeCode & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* Cart Type 전송 ******** + ''************************************ + + Dim TypeCodeNum As Int16 = TypeCodeSetting() + + tmpCmdMessage = "carttype" + cmdMessage = "[sb" & tmpCmdMessage & " " & TypeCodeNum & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''****** 시리얼넘버 발신 ********** + ''************************************ + Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) + Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) + + If SerialValue = "FAIL" Or MonthParsing = "FAIL" Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If SerialValue.Length <> WriteSerialLength Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + SerialValue = ModelCode & TypeCode & nudIfYear.Text & MonthParsing & Mid(SerialValue, 4, 3) & Mid(SerialValue, 1, 3) + txbIfNumber.Text = SerialValue + + tmpCmdMessage = "cartsn" + cmdMessage = "[sb" & tmpCmdMessage & " " & SerialValue & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + Else + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + End If + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub MAXIMUM_WriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Dim TDNameStr As String = String.Empty + Const AboardCode As Int32 = 82 + Const AgencyCode As Int16 = 0 + + Try + If InfoWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ckbDBUse.Checked = True Then + + TDNameStr = TDNameLoad() + + If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then + MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) + StageCnt = TDNameStr + GoTo FAIL_Finish + End If + + Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) + + If DBExist = False Then + MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + End If + + Dim ModelCode As Integer = ModelSetting() + + If ModelCode = ModelList.MAX_Model Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ModelCode = ModelList.MAXIMUM & ModelCode + + Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) + Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) + + SerialValue = nudIfYear.Value & MonthParsing & SerialValue + + Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + Dim cartridgeSerial = Mid(SerialValue, 5, 3) & Mid(SerialValue, 8, 3) + + '여기에 Update TD 번호 조건 걸어서 넣기' + ' 변수 정리하고 어떤 칼럼인지 정리 + Dim DBCmd = "UPDATE " & UseCartridgeTbl & "SET Product_SN = '" & txbIfNumber.Text & "', Ct_Manufacture_Name = '" & txbIfCode.Text & "', Ct_Manufacture_Year = '" & nudIfYear.Value & "', Ct_Manufacture_Month = '" & nudIfMonth.Value & "', Ct_SN = '" & cartridgeSerial & "', Ct_Model = 'MAXIMUM', Ct_Type = 'SET', Ct_Remain_ShotCnt = 0 WHERE PV_SN = '" & TDNameStr & "'" + + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub ALTO_WriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Dim TDNameStr As String = String.Empty + Const AboardCode As Int32 = 82 + Const AgencyCode As Int16 = 0 + + Try + If InfoWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ckbDBUse.Checked = True Then + + TDNameStr = TDNameLoad() + + If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then + MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) + StageCnt = TDNameStr + GoTo FAIL_Finish + End If + + Dim DBExist As Boolean = NonTDNameDBLoad(TDNameStr) + + If DBExist = False Then + MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + End If + + Dim ModelCode As Integer = ModelSetting() + + If ModelCode = ModelList.MAX_Model Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ModelCode = ModelList.ALTO & ModelCode + + Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) + Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) + + SerialValue = nudIfYear.Value & MonthParsing & SerialValue + + Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub EFFECT_WriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Dim TDNameStr As String = String.Empty + Const AboardCode As Int32 = 82 + Const AgencyCode As Int16 = 0 + + Try + If InfoWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ckbDBUse.Checked = True Then + + TDNameStr = TDNameLoad() + + If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then + MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) + StageCnt = TDNameStr + GoTo FAIL_Finish + End If + + Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) + + If DBExist = False Then + MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + End If + + Dim ModelCode As Integer = ModelSetting() + + If ModelCode = ModelList.MAX_Model Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ModelCode = ModelList.EFFECT & ModelCode + + Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) + Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) + + SerialValue = nudIfYear.Value & MonthParsing & SerialValue + + Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Function MAXInfoWrite(Factory As String, ProdNum As String, ModelType As Integer, AboardNum As Integer, AgencyNum As Integer) As Int16 + + tmpCmdMessage = "wrsconf1" + cmdMessage = "[" & tmpCmdMessage & " " & Factory & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retVal As String = PollingReceiveData(2000) + + If retVal <> Factory.ToLower & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum Then + Return ErrorList.ReceiveError + End If + + Return ErrorList.NonError + End Function + + Private Function MonthSetting(MonthData As String) As String + If Len(MonthData) = 2 Then + Return MonthData + ElseIf Len(MonthData) = 1 Then + Return "0" & MonthData + Else + Return "FAIL" + End If + End Function + + Private Function SerialNumSetting(SerialNum As String) As String + For cnt = Len(SerialNum) To 5 + SerialNum = "0" + SerialNum + Next + + If SerialNum.Length = 6 Then + Return SerialNum + Else + Return "FAIL" + End If + End Function + + Private Sub btnIfRead_Click(sender As Object, e As EventArgs) Handles btnIfRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_ReadFunc() + Case ModeList.MAXIMUM + MAXIMUM_ReadFunc() + Case ModeList.ALTO + ALTO_ReadFunc() + Case ModeList.EFFECT + EFFECT_ReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub DUALSONIC_ReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + InfoResest() + InfoReadReady() + + ''************************************ + ''******* 제조사 코드 수신 ******* + ''************************************ + + tmpCmdMessage = "cartmanu" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbIfCode.Text = DataResult + + ''************************************ + ''****** 모델타입 수신 ******** + ''************************************ + + tmpCmdMessage = "ctmodel" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + Dim ModelCode As Int16 = Val(Mid(DataResult, 1, 1)) + + If ModelChecking(ModelCode) Then + MsgBox("없는 모델 번호입니다.", vbCritical, FormName) + GoTo FAIL_Finish + End If + + ''************************************ + ''******* Cart Type 수신 ******** + ''************************************ + + tmpCmdMessage = "carttype" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + DataResult = Mid(DataResult, 1, 1) + + If TypeChecking(Val(DataResult)) Then + MsgBox("없는 타입 번호입니다.", vbCritical, FormName) + GoTo FAIL_Finish + End If + + ''************************************ + ''****** 시리얼넘버 발신 ********** + ''************************************ + + tmpCmdMessage = "cartsn" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + 'If DataResult.Length <> SerialLength Then + ' StageCnt = ErrorList.DataError + ' GoTo FAIL_Finish + 'End If + + DataResult = SerialParsingFunc(ModelCode, DataResult) + + If DataResult.Length <> SerialParsingLength Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + txbIfNumber.Text = DataResult + nudIfYear.Text = Mid(DataResult, 3, 2) + nudIfMonth.Text = Mid(DataResult, 5, 2) + nudIfSerial.Text = Mid(DataResult, 10, 3) & Mid(DataResult, 7, 3) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub MAXIMUM_ReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + InfoReadReady() + + Dim ResultData As String = ReadInfo() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + Dim ModelCode As String = Mid(ProdValue, 1, 1) + Dim TypeCode As String = Mid(ProdValue, 2, 1) + + txbIfCode.Text = MakeCode + + If (ProdValue & SerialValue).Length <> SerialParsingLength Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ModelCode = Str(ModelList.MAXIMUM) Then + StageCnt = ErrorList.DataError + MsgBox("MAXIMUM 제품군이 아닙니다.", vbCritical, FormName) + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + + nudIfYear.Text = Mid(SerialValue, 1, 2) + nudIfMonth.Text = Mid(SerialValue, 3, 2) + + If TypeChecking_MAX(TypeCode) Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + nudIfSerial.Text = Mid(SerialValue, 5, 6) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub ALTO_ReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + InfoReadReady() + + Dim ResultData As String = ReadInfo() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + Dim ModelCode As String = Mid(ProdValue, 1, 1) + Dim TypeCode As String = Mid(ProdValue, 2, 1) + + txbIfCode.Text = MakeCode + + If (ProdValue & SerialValue).Length <> SerialParsingLength Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ModelCode = Str(ModelList.ALTO) Then + StageCnt = ErrorList.DataError + MsgBox("ALTO 제품군이 아닙니다.", vbCritical, FormName) + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + + nudIfYear.Text = Mid(SerialValue, 1, 2) + nudIfMonth.Text = Mid(SerialValue, 3, 2) + + If TypeChecking_MAX(TypeCode) Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + nudIfSerial.Text = Mid(SerialValue, 5, 6) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Sub EFFECT_ReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + InfoReadReady() + + Dim ResultData As String = ReadInfo() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + Dim ModelCode As String = Mid(ProdValue, 1, 1) + Dim TypeCode As String = Mid(ProdValue, 2, 1) + + txbIfCode.Text = MakeCode + + If (ProdValue & SerialValue).Length <> SerialParsingLength Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + If ModelCode = Str(ModelList.EFFECT) Then + StageCnt = ErrorList.DataError + MsgBox("EFFECT 제품군이 아닙니다.", vbCritical, FormName) + GoTo FAIL_Finish + End If + + txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) + + nudIfYear.Text = Mid(SerialValue, 1, 2) + nudIfMonth.Text = Mid(SerialValue, 3, 2) + + If TypeChecking_MAX(TypeCode) Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + nudIfSerial.Text = Mid(SerialValue, 5, 6) + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbInfoBox.Text = "ERROR" + Str(StageCnt) + txbInfoBox.BackColor = Color.Red +End_Finish: + txbInfoBox.Refresh() + End Sub + + Private Function ReadInfo() As String + tmpCmdMessage = "rdsconf1" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(2000) + + If InStr(1, retval, ",") > 0 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + + End Function + + Private Sub InfoReadReady() + txbInfoBox.Visible = True + txbInfoBox.Text = "RUNNING" + txbInfoBox.BackColor = Color.GreenYellow + txbInfoBox.Refresh() + End Sub + + Private Sub InfoResest() + txbIfNumber.Text = String.Empty + txbIfNumber.Refresh() + txbIfCode.Text = String.Empty + txbIfCode.Refresh() + nudIfYear.Text = Format(Now, "yy") + nudIfYear.Refresh() + nudIfMonth.Text = Format(Now, "MM") + nudIfMonth.Refresh() + rdbIfPRO_V1.Checked = True + rdbIfPRO_V1.Refresh() + rdbIfLUX_V2.Checked = False + rdbIfLUX_V2.Refresh() + rdbIfALPHA.Checked = False + rdbIfALPHA.Refresh() + rdbIfFace.Checked = True + rdbIfFace.Refresh() + rdbIfEye.Checked = False + rdbIfEye.Refresh() + rdbIfBody.Checked = False + rdbIfBody.Refresh() + nudIfSerial.Text = String.Empty + nudIfSerial.Refresh() + + txbInfoBox.Visible = False + txbInfoBox.Text = String.Empty + txbInfoBox.BackColor = Color.FromArgb(0, 192, 0) + End Sub + + Private Function SerialParsingFunc(ModelNum As Int16, CheckSerial As String) As String + Select Case ModelNum + Case ModelList.PRO + Return Val(CheckSerial) + PROSerialParsing + Case ModelList.LUX + Return Val(CheckSerial) + LUXSerialParsing + Case ModelList.ALPHA + Return Val(CheckSerial) + ALPHASerialParsing + Case Else + Return False + End Select + End Function + + Private Function ModelChecking(ModelNum As Int16) As Boolean + Select Case ModelNum + Case ModelList.PRO + rdbIfPRO_V1.Checked = True + rdbIfLUX_V2.Checked = False + rdbIfALPHA.Checked = False + Case ModelList.LUX + rdbIfPRO_V1.Checked = False + rdbIfLUX_V2.Checked = True + rdbIfALPHA.Checked = False + Case ModelList.ALPHA + rdbIfPRO_V1.Checked = False + rdbIfLUX_V2.Checked = False + rdbIfALPHA.Checked = True + Case Else + Return True + End Select + + Return False + End Function + + Private Function TypeChecking_MAX(TypeNum As Int16) As Boolean + Select Case TypeNum + Case TypeList.V1_Set + rdbIfPRO_V1.Checked = True + rdbIfLUX_V2.Checked = False + rdbIfALPHA.Checked = False + Case TypeList.V2_Face + rdbIfPRO_V1.Checked = False + rdbIfLUX_V2.Checked = True + rdbIfALPHA.Checked = False + Case Else + Return True + End Select + Return False + End Function + + Private Function TypeChecking(TypeNum As Int16) As Boolean + Select Case TypeNum + Case TypeCodeList.Face + rdbIfFace.Checked = True + rdbIfEye.Checked = False + rdbIfBody.Checked = False + Case TypeCodeList.Eye + rdbIfFace.Checked = False + rdbIfEye.Checked = True + rdbIfBody.Checked = False + Case TypeCodeList.Body + rdbIfFace.Checked = False + rdbIfEye.Checked = False + rdbIfBody.Checked = True + Case Else + Return True + End Select + Return False + End Function + + Private Function TDNameDBLoad(TDName As String) As Boolean + DBCmd = "SELECT EXISTS (SELECT 1 FROM " & UseCartridgeTbl & " WHERE PV_SN = '" & TDName & "')" + Return DBQueryScalar(DBCmd) + End Function + + Private Function NonTDNameDBLoad(TDName As String) As Boolean + DBCmd = "SELECT EXISTS (SELECT 1 FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & TDName & "')" + Return DBQueryScalar(DBCmd) + End Function + + + Private Function TDNameLoad() As String + + Dim retVal As String + + tmpCmdMessage = "settdsn" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return Str(ErrorList.SendError) + End If + + retVal = PollingReceiveData(1500) + + If retVal.Length = TDNameSize Then + Return retVal + Else + Return Str(ErrorList.ReceiveError) + End If + + End Function + + Private Sub btnArRead_Click(sender As Object, e As EventArgs) Handles btnArRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_AreaReadFunc() + Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT + MAXIMUM_AreaReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub AreaReadStart() + txbAreaBox.Visible = True + txbAreaBox.Text = "RUNNING" + txbAreaBox.BackColor = Color.GreenYellow + txbAreaBox.Refresh() + End Sub + + Private Sub DUALSONIC_AreaReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Try + AreaReadStart() + + ''************************************ + ''******* txbAbroad 수신 ******* + ''************************************ + + tmpCmdMessage = "ctabroad" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbAbroad.Text = DataResult + + ''************************************ + ''******* txbAgency 수신 ********** + ''************************************ + + tmpCmdMessage = "ctagency" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbAgency.Text = DataResult + + txbAreaBox.Text = "SUCCESS" + txbAreaBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAreaBox.Text = "ERROR" + Str(StageCnt) + txbAreaBox.BackColor = Color.Red +End_Finish: + txbAreaBox.Refresh() + End Sub + + Private Sub MAXIMUM_AreaReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Try + AreaReadStart() + + Dim ResultData As String = ReadInfo() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + 'If Mid(ResultData, 1, InStr(ResultData, ",") - 1) = "" Then + ' StageCnt = ErrorList.DataError + ' GoTo FAIL_Finish + 'End If + + txbAgency.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length) + ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",", ResultData.Length) - 1) + txbAbroad.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length) + + txbAreaBox.Text = "SUCCESS" + txbAreaBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAreaBox.Text = "ERROR" + Str(StageCnt) + txbAreaBox.BackColor = Color.Red +End_Finish: + txbAreaBox.Refresh() + End Sub + + Private Function AreaWriteStart() As Boolean + AreaReadStart() + + If txbAbroad.Text = String.Empty Or txbAgency.Text = String.Empty Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + Return False + End Function + + Private Sub btnArWrite_Click(sender As Object, e As EventArgs) Handles btnArWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_AreaWriteFunc() + Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT + MAXIMUM_AreaWriteFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub DUALSONIC_AreaWriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If AreaWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* txbAbroad 발신 ******** + ''************************************ + + tmpCmdMessage = "ctabroad" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbAbroad.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''****** txbAgency 발신 ******** + ''************************************ + + tmpCmdMessage = "ctagency" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbAgency.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbAreaBox.Text = "SUCCESS" + txbAreaBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAreaBox.Text = "ERROR" + Str(StageCnt) + txbAreaBox.BackColor = Color.Red +End_Finish: + txbAreaBox.Refresh() + End Sub + + Private Sub MAXIMUM_AreaWriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Try + If AreaWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Dim ResultData As String = ReadInfo() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim Data1 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim Data2 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + Dim Data3 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + ResultData = MAXInfoWrite(Data1, Data2, Data3, txbAbroad.Text, txbAgency.Text) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbAreaBox.Text = "SUCCESS" + txbAreaBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAreaBox.Text = "ERROR" + Str(StageCnt) + txbAreaBox.BackColor = Color.Red +End_Finish: + txbAreaBox.Refresh() + End Sub + + Private Sub btnTdRead_Click(sender As Object, e As EventArgs) Handles btnTdRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_TDReadFunc() + Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT + MAXIMUM_TDReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub TDReadStart() + txbTDBox.Visible = True + txbTDBox.Text = "RUNNING" + txbTDBox.BackColor = Color.GreenYellow + txbTDBox.Refresh() + End Sub + + Private Sub DUALSONIC_TDReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + Try + TDReadStart() + + MsgBox("현재 기능 없음") + + txbInfoBox.Text = "SUCCESS" + txbInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbAreaBox.Text = "ERROR" + Str(StageCnt) + txbAreaBox.BackColor = Color.Red +End_Finish: + txbAreaBox.Refresh() + End Sub + + Private Sub MAXIMUM_TDReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + TDReadStart() + + Dim ResultData As String = TDNameLoad() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + If ResultData.Length <> TDNameSize Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + txbTDSerial.Text = ResultData + + txbTDBox.Text = "SUCCESS" + txbTDBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbTDBox.Text = "ERROR" + Str(StageCnt) + txbTDBox.BackColor = Color.Red +End_Finish: + txbTDBox.Refresh() + End Sub + + Private Function TDWriteStart() As Boolean + TDReadStart() + + If txbTDSerial.Text.Replace(" ", "") = "" Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + If txbTDSerial.Text.Length <> TDNameSize Then + MsgBox("TD 규격에 맞지 않는 데이터 입니다.(10자)", vbExclamation, FormName) + Return True + End If + + Return False + End Function + + Private Sub btnTdWrite_Click(sender As Object, e As EventArgs) Handles btnTdWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_TDWrtieFunc() + Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT + MAXIMUM_TDWrtieFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub DUALSONIC_TDWrtieFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If TDWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + MsgBox("해당 기능 없음") + + txbTDBox.Text = "SUCCESS" + txbTDBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbTDBox.Text = "ERROR" + Str(StageCnt) + txbTDBox.BackColor = Color.Red +End_Finish: + txbTDBox.Refresh() + End Sub + + Private Sub MAXIMUM_TDWrtieFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If TDWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Dim ResultData As String = TDDataWrtie(txbTDSerial.Text) + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbTDBox.Text = "SUCCESS" + txbTDBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbTDBox.Text = "ERROR" + Str(StageCnt) + txbTDBox.BackColor = Color.Red +End_Finish: + txbTDBox.Refresh() + End Sub + + Private Function TDDataWrtie(SaveData As String) As String + tmpCmdMessage = "settdsn" + cmdMessage = "[" & tmpCmdMessage & " " & SaveData & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return Str(ErrorList.SendError) + End If + + Dim retVal As String = PollingReceiveData(1500) + + If retVal = SaveData.ToLower Then + Return retVal + Else + Return Str(ErrorList.ReceiveError) + End If + End Function + + Private Sub btnFPRead_Click(sender As Object, e As EventArgs) Handles btnFPRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_FPReadFunc() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_FPReadFunc() + Case ModeList.ALTO + txbFPBox.Text = "ERROR" + txbFPBox.BackColor = Color.Red + txbFPBox.Refresh() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub FPReadStart() + txbFPBox.Visible = True + txbFPBox.Text = "RUNNING" + txbFPBox.BackColor = Color.GreenYellow + txbFPBox.Refresh() + End Sub + + Private Sub DUALSONIC_FPReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + FPReadStart() + + ''************************************ + ''******* Cart Frq Info 수신 ******** + ''************************************ + + tmpCmdMessage = "cartfreq" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbFreq.Text = DataResult + + ''************************************ + ''******* Cart PWR Info 수신 ******** + ''************************************ + + tmpCmdMessage = "ctpower" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbPower.Text = Val(DataResult) / 100 + + txbFPBox.Text = "SUCCESS" + txbFPBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbFPBox.Text = "ERROR" + Str(StageCnt) + txbFPBox.BackColor = Color.Red +End_Finish: + txbFPBox.Refresh() + End Sub + + Private Sub MAXIMUM_FPReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + FPReadStart() + + Dim ResultData As String = FPDataRead() + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbFreq.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + txbPower.Text = Val(Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)) / 100 + + txbFPBox.Text = "SUCCESS" + txbFPBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbFPBox.Text = "ERROR" + Str(StageCnt) + txbFPBox.BackColor = Color.Red +End_Finish: + txbFPBox.Refresh() + End Sub + + Private Function FPDataRead() As String + tmpCmdMessage = "settdcnf" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return Str(ErrorList.SendError) + End If + + Dim retVal As String = PollingReceiveData(500) + + If InStr(1, retVal, ",") > 0 Then + Return retVal + Else + Return Str(ErrorList.ReceiveError) + End If + End Function + + Private Sub btnFPWrite_Click(sender As Object, e As EventArgs) Handles btnFPWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_FPWriteFunc() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_FPWriteFunc() + Case ModeList.ALTO + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Function FPWrtieStart() As Boolean + FPReadStart() + + If txbFreq.Text.Replace(" ", "") = "" Or txbPower.Text.Replace(" ", "") = "" Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + If Val(txbFreq.Text) < 6700 Or Val(txbFreq.Text) > 7200 Then + MsgBox("주파수 범위에 어긋나는 값입니다.(6700 ~ 7200)", vbExclamation, FormName) + Return True + End If + + If CSng(Val(txbPower.Text)) < -0.5 Or CSng(Val(txbPower.Text)) > 0.5 Then + MsgBox("파워 범위에 어긋나는 값입니다.(-0.5 ~ 0.5)", vbExclamation, FormName) + Return True + End If + + Return False + + End Function + + Private Sub DUALSONIC_FPWriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + FPWrtieStart() + + ''************************************ + ''******* Cart 주파수 전송 ******** + ''************************************ + + tmpCmdMessage = "cartfreq" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbFreq.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* Cart 파워 전송 ******** + ''************************************ + + Dim tmpVal As Integer = (Val(txbPower.Text) * 100) + tmpCmdMessage = "ctpower" + cmdMessage = "[sb" & tmpCmdMessage & " " & tmpVal & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + + txbFPBox.Text = "SUCCESS" + txbFPBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbFPBox.Text = "ERROR" + Str(StageCnt) + txbFPBox.BackColor = Color.Red +End_Finish: + txbFPBox.Refresh() + End Sub + + Private Sub MAXIMUM_FPWriteFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + FPWrtieStart() + + Dim ResultData As Byte = FPWrtieSetting(Val(txbFreq.Text), CSng(txbPower.Text)) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbFPBox.Text = "SUCCESS" + txbFPBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbFPBox.Text = "ERROR" + Str(StageCnt) + txbFPBox.BackColor = Color.Red +End_Finish: + txbFPBox.Refresh() + End Sub + + Private Function FPWrtieSetting(Frequency As Integer, Power As Single) As SByte + Power = Power * 100 + + tmpCmdMessage = "settdcnf" + cmdMessage = "[" & tmpCmdMessage & " " & Frequency & "," & Power & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return Str(ErrorList.SendError) + End If + + Dim retVal As String = PollingReceiveData(2500) + + If retVal <> Frequency & "," & Power Then + Return ErrorList.ReceiveError + Else + Return ErrorList.NonError + End If + End Function + + Private Sub btnMtRead_Click(sender As Object, e As EventArgs) Handles btnMtRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_MtRead() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_MtRead() + Case ModeList.ALTO + txbFPBox.Text = "ERROR" + txbFPBox.BackColor = Color.Red + txbFPBox.Refresh() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub MoterReadStart() + txbMtBox.Visible = True + txbMtBox.Text = "RUNNING" + txbMtBox.BackColor = Color.GreenYellow + txbMtBox.Refresh() + End Sub + + Private Sub DUALSONIC_MtRead() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + MoterReadStart() + + ''************************************ + ''******* Front 센서 수신 ****** + ''************************************ + tmpCmdMessage = "frontsen" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbMotor.Text = DataResult + + + txbMtBox.Text = "SUCCESS" + txbMtBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMtBox.Text = "ERROR" + Str(StageCnt) + txbMtBox.BackColor = Color.Red +End_Finish: + txbMtBox.Refresh() + End Sub + + Private Sub MAXIMUM_MtRead() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + MoterReadStart() + + Dim ResultData As String = MoterRead() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbMotor.Text = ResultData + + txbMtBox.Text = "SUCCESS" + txbMtBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMtBox.Text = "ERROR" + Str(StageCnt) + txbMtBox.BackColor = Color.Red +End_Finish: + txbMtBox.Refresh() + End Sub + + Private Function MoterRead() As String + tmpCmdMessage = "setmotor" + cmdMessage = "[" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 4 Then + Return Mid(retval, 1, InStr(1, retval, ",") - 1) + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Sub btnMtWrite_Click(sender As Object, e As EventArgs) Handles btnMtWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_MtWrite() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_MtWrite() + Case ModeList.ALTO + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Function MoterWrtieStart() As Boolean + MoterReadStart() + + If txbMotor.Text.Replace(" ", "") = "" Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + If Val(txbMotor.Text) > 5 Or Val(txbMotor.Text) < -5 Then + MsgBox("모터 범위값을 벗어났습니다.", vbExclamation, FormName) + Return True + End If + + Return False + End Function + + Private Sub DUALSONIC_MtWrite() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If MoterWrtieStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + txbMtBox.Text = "SUCCESS" + txbMtBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMtBox.Text = "ERROR" + Str(StageCnt) + txbMtBox.BackColor = Color.Red +End_Finish: + txbMtBox.Refresh() + End Sub + + Private Sub MAXIMUM_MtWrite() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If MoterWrtieStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Dim ResultData As String = MoterSetting(Val(txbMotor.Text)) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbMtBox.Text = "SUCCESS" + txbMtBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMtBox.Text = "ERROR" + Str(StageCnt) + txbMtBox.BackColor = Color.Red +End_Finish: + txbMtBox.Refresh() + End Sub + + Private Function MoterSetting(SetPulse As Integer) As String + tmpCmdMessage = "setmotor" + cmdMessage = "[" & tmpCmdMessage & " " & SetPulse & ",0,0,0,0]" + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If retval = SetPulse & ",0,0,0,0" Then + Return ErrorList.NonError + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Sub btnShRead_Click(sender As Object, e As EventArgs) Handles btnShRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_ShotRead() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_ShotRead() + Case ModeList.ALTO + txbFPBox.Text = "ERROR" + txbFPBox.BackColor = Color.Red + txbFPBox.Refresh() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub ShotReadStart() + txbShotBox.Visible = True + txbShotBox.Text = "RUNNING" + txbShotBox.BackColor = Color.GreenYellow + txbShotBox.Refresh() + End Sub + + Private Sub DUALSONIC_ShotRead() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ShotReadStart() + + ''************************************ + ''******* Shot Cnt 수신 ******** + ''************************************ + + tmpCmdMessage = "rshotcnt" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbShot.Text = DataResult + + ''************************************ + ''****** Max Shot Cnt 수신 ******** + ''************************************ + tmpCmdMessage = "tshotcnt" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + txbMaxShot.Text = DataResult + + txbShotBox.Text = "SUCCESS" + txbShotBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbShotBox.Text = "ERROR" + Str(StageCnt) + txbShotBox.BackColor = Color.Red +End_Finish: + txbShotBox.Refresh() + End Sub + + Private Sub MAXIMUM_ShotRead() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ShotReadStart() + + Dim ResultData As String = ShotReadFunc() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbShot.Text = ResultData + + txbShotBox.Text = "SUCCESS" + txbShotBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbShotBox.Text = "ERROR" + Str(StageCnt) + txbShotBox.BackColor = Color.Red +End_Finish: + txbShotBox.Refresh() + End Sub + + Private Function ShotReadFunc() As String + tmpCmdMessage = "shotconf" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If IsNumeric(retval) Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Sub btnShWrite_Click(sender As Object, e As EventArgs) Handles btnShWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_ShotWrite() + Case ModeList.MAXIMUM, ModeList.EFFECT + MAXIMUM_ShotWrtie() + Case ModeList.ALTO + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Function ShotWriteStart() As Boolean + ShotReadStart() + + If txbShot.Text.Replace(" ", "") = "" Or txbMaxShot.Text.Replace(" ", "") = "" Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + Return False + End Function + + Private Sub DUALSONIC_ShotWrite() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ShotWriteStart() + + If Val(txbShot.Text) > Val(txbMaxShot.Text) Then + MsgBox("현재 샷 수가 전체 샷 수보다 큽니다.", vbExclamation, FormName) + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + ''************************************ + ''******* Shot Cnt 발신 ******** + ''************************************ + + tmpCmdMessage = "rshotcnt" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbShot.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + ''************************************ + ''****** Max Shot Cnt 발신 ******** + ''************************************ + + tmpCmdMessage = "tshotcnt" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbMaxShot.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + DataResult = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbShotBox.Text = "SUCCESS" + txbShotBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbShotBox.Text = "ERROR" + Str(StageCnt) + txbShotBox.BackColor = Color.Red +End_Finish: + txbShotBox.Refresh() + End Sub + + Private Sub MAXIMUM_ShotWrtie() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ShotWriteStart() + + Dim ResultData As String = ShotWriteFunc(Val(txbShot.Text)) + + If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbShotBox.Text = "SUCCESS" + txbShotBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbShotBox.Text = "ERROR" + Str(StageCnt) + txbShotBox.BackColor = Color.Red +End_Finish: + txbShotBox.Refresh() + End Sub + + Private Function ShotWriteFunc(ShotData As Integer) As String + tmpCmdMessage = "shotconf" + cmdMessage = "[" & tmpCmdMessage & " " & ShotData & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If retval = ShotData Then + Return ErrorList.NonError + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Sub btnDvAuth_Click(sender As Object, e As EventArgs) Handles btnDvAuth.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_DevAuth() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub DevAuthStart() + txbDvAuthBox.Visible = True + txbDvAuthBox.Text = "RUNNING" + txbDvAuthBox.BackColor = Color.GreenYellow + txbDvAuthBox.Refresh() + End Sub + + Private Sub DUALSONIC_DevAuth() + Dim StageCnt As Int16 = ErrorList.NonError + Try + DevAuthStart() + + ''************************************ + ''******* 본체 인증 발신 ******** + ''************************************ + + tmpCmdMessage = "mainauth" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(10000) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbDvAuthBox.Text = "SUCCESS" + txbDvAuthBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDvAuthBox.Text = "ERROR" + Str(StageCnt) + txbDvAuthBox.BackColor = Color.Red +End_Finish: + txbDvAuthBox.Refresh() + End Sub + + Private Sub btnDvRead_Click(sender As Object, e As EventArgs) Handles btnDvRead.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_DevRead() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub DevReadStart() + txbDvInfoBox.Visible = True + txbDvInfoBox.Text = "RUNNING" + txbDvInfoBox.BackColor = Color.GreenYellow + txbDvInfoBox.Refresh() + End Sub + + Private Sub DUALSONIC_DevRead() + Dim StageCnt As Int16 = ErrorList.NonError + Try + DevReadStart() + + ''************************************ + ''******* 제조사 코드 수신 ******* + ''************************************ + + tmpCmdMessage = "rdstconf" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If UBound(Split(DataResult, ",")) <> 4 Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + txbDvCode.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + Dim BackCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + Dim FrontCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + txbDvAbroad.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + txbDvAgency.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + nudDvYear.Text = Mid(BackCode, 1, 2) + nudDvMonth.Text = Mid(BackCode, 3, 2) + + txbDvNumber.Text = FrontCode & BackCode + nudDvSerial.Text = Mid(BackCode, 5, 3) & Mid(BackCode, 8, 3) + + DevModelChecking(Mid(FrontCode, 1, 1)) + + txbDvInfoBox.Text = "SUCCESS" + txbDvInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDvInfoBox.Text = "ERROR" + Str(StageCnt) + txbDvInfoBox.BackColor = Color.Red +End_Finish: + txbDvInfoBox.Refresh() + End Sub + + Private Sub DevModelChecking(ModelNum As Int16) + Select Case ModelNum + Case ModelList.PRO + rdbDvPRO.Checked = True + rdbDvLUX.Checked = False + rdbDvALPHA.Checked = False + + Case ModelList.LUX + rdbDvPRO.Checked = False + rdbDvLUX.Checked = True + rdbDvALPHA.Checked = False + + Case ModelList.ALPHA + rdbDvPRO.Checked = False + rdbDvLUX.Checked = False + rdbDvALPHA.Checked = True + + Case Else + MsgBox("잘못된 코드 번호 입니다.", vbCritical, FormName) + End Select + + End Sub + + Private Sub btnDvWrite_Click(sender As Object, e As EventArgs) Handles btnDvWrite.Click + Select Case SelectModel + Case ModeList.DUALSONIC + DUALSONIC_DevWrite() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Function DevWriteStart() As Boolean + DevReadStart() + + If txbDvCode.Text = String.Empty Then + txbDvCode.Text = "jomt" + End If + + If txbDvCode.Text.Replace(" ", "") = "" Or nudDvYear.Text.Replace(" ", "") = "" Or nudDvMonth.Text.Replace(" ", "") = "" Or nudDvSerial.Text.Replace(" ", "") = "" Or txbDvAbroad.Text.Replace(" ", "") = "" Or txbDvAgency.Text.Replace(" ", "") = "" Then + MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) + Return True + End If + + If rdbDvPRO.Checked = False And rdbDvLUX.Checked = False And rdbDvALPHA.Checked = False Then + MsgBox("선택된 타입이 존재하지 않습니다.", vbExclamation, FormName) + Return True + End If + + Return False + End Function + + Private Sub DUALSONIC_DevWrite() + Dim StageCnt As Int16 = ErrorList.NonError + Const TypeNum As Char = "0" + Try + + If DevWriteStart() Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + ''************************************ + ''******* 제조사코드 발신 ******* + ''************************************ + + Dim MonthParsing As String = MonthSetting(nudDvMonth.Value.ToString) + Dim SerialNum As String = nudDvYear.Value & MonthParsing & SerialNumSetting(nudDvSerial.Value) + Dim ModelNum As String = DevModelSetting() & TypeNum + + If ModelNum = ModelList.MAX_Model Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + tmpCmdMessage = "wrstconf" + cmdMessage = "[sb" & tmpCmdMessage & " " & txbDvCode.Text & "," & SerialNum & "," & ModelNum & "," & txbDvAbroad.Text & "," & txbDvAgency.Text & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbDvInfoBox.Text = "SUCCESS" + txbDvInfoBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDvInfoBox.Text = "ERROR" + Str(StageCnt) + txbDvInfoBox.BackColor = Color.Red +End_Finish: + txbDvInfoBox.Refresh() + End Sub + + Private Function DevModelSetting() As Int16 + If rdbDvPRO.Checked = True Then + Return ModelList.PRO + ElseIf rdbDvLUX.Checked = True Then + Return ModelList.LUX + ElseIf rdbDvALPHA.Checked = True Then + Return ModelList.ALPHA + Else + MsgBox("잘못된 타입 경로입니다.", vbCritical, FormName) + Return ModelList.MAX_Model + End If + + End Function + + Private Sub btnDuReady_Click(sender As Object, e As EventArgs) Handles btnDuReady.Click + Dim StageCnt As Int16 = ErrorList.NonError + + + Try + DuReadyStart() + + ''************************************ + ''******* 기기 사용 정보 수신 ******* + ''************************************ + + tmpCmdMessage = "rdstinfo" + cmdMessage = "[sb" & tmpCmdMessage & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If UBound(Split(DataResult, ",")) <> 4 Then + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Dim TimeCnt As ULong = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + TimeCnt = TimeCnt / OneSecond + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbDuFullDay.Text = DayCnt + + If HourCnt < StrLen Then + txbDuFullHour.Text = "0" & HourCnt + Else + txbDuFullHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbDuFullMin.Text = "0" & MinCnt + Else + txbDuFullMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbDuFullSec.Text = "0" & SecCnt + Else + txbDuFullSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + TimeCnt = TimeCnt / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbDuReadyDay.Text = DayCnt + + If HourCnt < StrLen Then + txbDuReadyHour.Text = "0" & HourCnt + Else + txbDuReadyHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbDuReadyMin.Text = "0" & MinCnt + Else + txbDuReadyMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbDuReadySec.Text = "0" & SecCnt + Else + txbDuReadySec.Text = SecCnt + End If + + txbDuFace.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + txbDuEye.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) + DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + txbDuError.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) + + + txbDuUseBox.Text = "SUCCESS" + txbDuUseBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDuUseBox.Text = "ERROR" + Str(StageCnt) + txbDuUseBox.BackColor = Color.Red +End_Finish: + txbDuUseBox.Refresh() + End Sub + + Private Sub DuReadyStart() + txbDuUseBox.Visible = True + txbDuUseBox.Text = "RUNNING" + txbDuUseBox.BackColor = Color.GreenYellow + txbDuUseBox.Refresh() + End Sub + + Private Sub btnDuRest_Click(sender As Object, e As EventArgs) Handles btnDuReset.Click + Dim StageCnt As Int16 = ErrorList.NonError + + Try + DuReadyStart() + + If MsgBox("한 번 초기화된 사용 기록은 되돌릴 수 없습니다." & vbCrLf & "정말 초기화 하시겠습니까?", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then + + tmpCmdMessage = "wrstinfo" + cmdMessage = "[sb" & tmpCmdMessage & " 0,0,0,0,0]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbDuUseBox.Text = "SUCCESS" + txbDuUseBox.BackColor = Color.Green + GoTo End_Finish + + Else + GoTo FAIL_Finish + End If + + txbDuUseBox.Text = "SUCCESS" + txbDuUseBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDuUseBox.Text = "ERROR" + Str(StageCnt) + txbDuUseBox.BackColor = Color.Red +End_Finish: + txbDuUseBox.Refresh() + End Sub + + Private Sub btnDuWrite_Click(sender As Object, e As EventArgs) Handles btnDuWrite.Click + Dim StageCnt As Int16 = ErrorList.NonError + + Try + DuReadyStart() + Dim writeData As String = ParseDualsonicWriteData() + + tmpCmdMessage = "wrstinfo" + cmdMessage = "[sb" & tmpCmdMessage & " " & writeData & "]" + + If SendData(cmdMessage) Then + StageCnt = ErrorList.SendError + GoTo FAIL_Finish + End If + + Dim DataResult As String = PollingReceiveData(1500) + + If DataResult = "False" Then + StageCnt = ErrorList.ReceiveError + GoTo FAIL_Finish + End If + + If DataResult <> "success" Then + StageCnt = ErrorList.ResultError + GoTo FAIL_Finish + End If + + txbDuUseBox.Text = "SUCCESS" + txbDuUseBox.BackColor = Color.Green + GoTo End_Finish + + GoTo FAIL_Finish + + txbDuUseBox.Text = "SUCCESS" + txbDuUseBox.BackColor = Color.Green + + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbDuUseBox.Text = "Error" + Str(StageCnt) + txbDuUseBox.BackColor = Color.Red +End_Finish: + txbDuUseBox.Refresh() + End Sub + + Private Function ParseDualsonicWriteData() As String + Dim TimeCnt1 As ULong + Dim TimeCnt2 As ULong + + Dim FullDay As Integer = Val(txbDuFullDay.Text) + Dim FullHour As Integer = Val(txbDuFullHour.Text) + Dim FullMin As Integer = Val(txbDuFullMin.Text) + Dim FullSec As Integer = Val(txbDuFullSec.Text) + + TimeCnt1 = (CLng(FullDay) * OneDay) + (CLng(FullHour) * OneHour) + (CLng(FullMin) * OneMinute) + CLng(FullSec) + TimeCnt1 *= OneSecond ' 초 단위가 아니라 밀리초 단위로 저장하고 있었다면 여기서 다시 변환 + + Dim ReadyDay As Integer = Val(txbDuReadyDay.Text) + Dim ReadyHour As Integer = Val(txbDuReadyHour.Text) + Dim ReadyMin As Integer = Val(txbDuReadyMin.Text) + Dim ReadySec As Integer = Val(txbDuReadySec.Text) + + TimeCnt2 = (CLng(ReadyDay) * OneDay) + (CLng(ReadyHour) * OneHour) + (CLng(ReadyMin) * OneMinute) + CLng(ReadySec) + TimeCnt2 *= OneSecond + + Dim FaceCnt As String = txbDuFace.Text.Trim() + Dim EyeCnt As String = txbDuEye.Text.Trim() + Dim ErrorStr As String = txbDuError.Text.Trim() + + Return TimeCnt1.ToString() & "," & TimeCnt2.ToString() & "," & FaceCnt & "," & EyeCnt & "," & ErrorStr + End Function + + Private Sub MAXIMUM_All_ReadStart() + txbMxAllBox.Visible = True + txbMxAllBox.Text = "RUNNING" + txbMxAllBox.BackColor = Color.GreenYellow + txbMxAllBox.Refresh() + End Sub + + Private Sub btnMxAllRead_Click(sender As Object, e As EventArgs) Handles btnMxAllRead.Click + Select Case SelectModel + Case ModeList.MAXIMUM + MAXIMUM_UseReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub MAXIMUM_UseReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + MAXIMUM_All_ReadStart() + + Dim ResultData As String = RunTimeSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbMxAllDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxAllHour.Text = "0" & HourCnt + Else + txbMxAllHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxAllMin.Text = "0" & MinCnt + Else + txbMxAllMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxAllSec.Text = "0" & SecCnt + Else + txbMxAllSec.Text = SecCnt + End If + + ResultData = ShotErrSearch() + + txbMxAllShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + txbMxAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + txbMxAllBox.Text = "SUCCESS" + txbMxAllBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMxAllBox.Text = "Error" + Str(StageCnt) + txbMxAllBox.BackColor = Color.Red +End_Finish: + txbMxAllBox.Refresh() + End Sub + + Private Function RunTimeSearch() As String + tmpCmdMessage = "rdsinfo4" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 6 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Function ShotErrSearch() As String + tmpCmdMessage = "rdsinfo5" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 4 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Function ALTOFESearch() As String + tmpCmdMessage = "rdsinfo7" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 4 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Function ALTOLBSearch() As String + tmpCmdMessage = "rdsinfo8" + cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 4 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Function RunTimeWrtie(SystemTime As ULong, HIFUTime As ULong, FHIFUTime As ULong, EHIFUTime As ULong, RFTime As ULong, MCTime As ULong, EPTime As ULong) As String + tmpCmdMessage = "wrsinfo4" + cmdMessage = "[" & tmpCmdMessage & " " & SystemTime & "," & HIFUTime & "," & FHIFUTime & "," & EHIFUTime & "," & RFTime & "," & MCTime & "," & EPTime & "]" + vbCrLf + + If SendData(cmdMessage) Then + Return ErrorList.SendError + End If + + Dim retval As String = PollingReceiveData(1000) + + If UBound(Split(retval, ",")) = 4 Then + Return retval + Else + Return ErrorList.ReceiveError + End If + End Function + + Private Sub btnMxAllReset_Click(sender As Object, e As EventArgs) Handles btnMxAllReset.Click, btnMxHfReset.Click, btnMxEtReset.Click + Select Case SelectModel + Case ModeList.MAXIMUM + MAXIMUM_UseResetFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub MAXIMUM_UseResetFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + If MsgBox("전체 항목에 대해 초기화 진행하시겠습니까?" & vbCrLf & "초기화된 데이터는 복구가 불가능 합니다.", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then + + Dim ResultData As String = RunTimeWrtie(0, 0, 0, 0, 0, 0, 0) + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + txbMxAllBox.Text = "SUCCESS" + txbMxAllBox.BackColor = Color.Green + GoTo End_Finish + + Else + StageCnt = ErrorList.DataError + GoTo FAIL_Finish + End If + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMxAllBox.Text = "Error" + Str(StageCnt) + txbMxAllBox.BackColor = Color.Red +End_Finish: + txbMxAllBox.Refresh() + End Sub + + Private Sub btnMxHfRead_Click(sender As Object, e As EventArgs) Handles btnMxHfRead.Click + Select Case SelectModel + Case ModeList.MAXIMUM + MAXIMUM_HF_UseReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub MAXIMUM_HF_ReadStart() + txbMxHfBox.Visible = True + txbMxHfBox.Text = "RUNNING" + txbMxHfBox.BackColor = Color.GreenYellow + txbMxHfBox.Refresh() + End Sub + + Private Sub MAXIMUM_HF_UseReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + MAXIMUM_HF_ReadStart() + + Dim ResultData As String = RunTimeSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbMxFcDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxFcHour.Text = "0" & HourCnt + Else + txbMxFcHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxFcMin.Text = "0" & MinCnt + Else + txbMxFcMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxFcSec.Text = "0" & SecCnt + Else + txbMxFcSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbMxEyDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxEyHour.Text = "0" & HourCnt + Else + txbMxEyHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxEyMin.Text = "0" & MinCnt + Else + txbMxEyMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxEySec.Text = "0" & SecCnt + Else + txbMxEySec.Text = SecCnt + End If + + ResultData = ShotErrSearch() + + txbMxFcShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + txbMxHfBox.Text = "SUCCESS" + txbMxHfBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMxHfBox.Text = "Error" + Str(StageCnt) + txbMxHfBox.BackColor = Color.Red +End_Finish: + txbMxHfBox.Refresh() + End Sub + + Private Sub MAXIMUM_ET_ReadStart() + txbMxEtBox.Visible = True + txbMxEtBox.Text = "RUNNING" + txbMxEtBox.BackColor = Color.GreenYellow + txbMxEtBox.Refresh() + End Sub + + Private Sub btnMxEtRead_Click(sender As Object, e As EventArgs) Handles btnMxEtRead.Click + Select Case SelectModel + Case ModeList.MAXIMUM + MAXIMUM_ET_UseReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub MAXIMUM_ET_UseReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + MAXIMUM_ET_ReadStart() + + Dim ResultData As String = RunTimeSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbMxTuDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxTuHour.Text = "0" & HourCnt + Else + txbMxTuHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxTuMin.Text = "0" & MinCnt + Else + txbMxTuMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxTuSec.Text = "0" & SecCnt + Else + txbMxTuSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbMxDuDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxDuHour.Text = "0" & HourCnt + Else + txbMxDuHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxDuMin.Text = "0" & MinCnt + Else + txbMxDuMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxDuSec.Text = "0" & SecCnt + Else + txbMxDuSec.Text = SecCnt + End If + + TimeCnt = Val(ResultData) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbMxCuDay.Text = DayCnt + + If HourCnt < StrLen Then + txbMxCuHour.Text = "0" & HourCnt + Else + txbMxCuHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbMxCuMin.Text = "0" & MinCnt + Else + txbMxCuMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbMxCuSec.Text = "0" & SecCnt + Else + txbMxCuSec.Text = SecCnt + End If + + txbMxEtBox.Text = "SUCCESS" + txbMxEtBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbMxEtBox.Text = "Error" + Str(StageCnt) + txbMxEtBox.BackColor = Color.Red +End_Finish: + txbMxEtBox.Refresh() + End Sub + + Private Sub btnALAllRead_Click(sender As Object, e As EventArgs) Handles btnALAllRead.Click + Select Case SelectModel + Case ModeList.ALTO + ALTO_ALL_UseReadFunc() + Case Else + MsgBox("잘못된 경로입니다.", vbCritical, FormName) + End Select + End Sub + + Private Sub ALTO_ALL_ReadStart() + txbALAllBox.Visible = True + txbALAllBox.Text = "RUNNING" + txbALAllBox.BackColor = Color.GreenYellow + txbALAllBox.Refresh() + End Sub + + Private Sub ALTO_ALL_UseReadFunc() + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ALTO_ALL_ReadStart() + + Dim ResultData As String = RunTimeSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbALAllDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALAllHour.Text = "0" & HourCnt + Else + txbALAllHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALAllMin.Text = "0" & MinCnt + Else + txbALAllMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALAllSec.Text = "0" & SecCnt + Else + txbALAllSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + ResultData = ShotErrSearch() + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + txbALAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) + + txbALAllBox.Text = "SUCCESS" + txbALAllBox.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbALAllBox.Text = "Error" + Str(StageCnt) + txbALAllBox.BackColor = Color.Red +End_Finish: + txbALAllBox.Refresh() + End Sub + + Private Sub ALTO_Func1_ReadStart() + txbALFuncBox1.Visible = True + txbALFuncBox1.Text = "RUNNING" + txbALFuncBox1.BackColor = Color.GreenYellow + txbALFuncBox1.Refresh() + End Sub + + Private Sub btnALFuncRead1_Click(sender As Object, e As EventArgs) Handles btnALFuncRead1.Click + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ALTO_Func1_ReadStart() + + Dim ResultData As String = ALTOFESearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim TimeCnt As ULong = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond + ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",") - 1) + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbALEtDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALEtHour.Text = "0" & HourCnt + Else + txbALEtHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALEtMin.Text = "0" & MinCnt + Else + txbALEtMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALEtSec.Text = "0" & SecCnt + Else + txbALEtSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbALFtDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALFtHour.Text = "0" & HourCnt + Else + txbALFtHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALFtMin.Text = "0" & MinCnt + Else + txbALFtMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALFtSec.Text = "0" & SecCnt + Else + txbALFtSec.Text = SecCnt + End If + + ResultData = RunTimeSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbALCsDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALCsHour.Text = "0" & HourCnt + Else + txbALCsHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALCsMin.Text = "0" & MinCnt + Else + txbALCsMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALCsSec.Text = "0" & SecCnt + Else + txbALCsSec.Text = SecCnt + End If + + txbALFuncBox1.Text = "SUCCESS" + txbALFuncBox1.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbALFuncBox1.Text = "Error" + Str(StageCnt) + txbALFuncBox1.BackColor = Color.Red +End_Finish: + txbALFuncBox1.Refresh() + End Sub + + Private Sub ALTO_Func2_ReadStart() + txbALFuncBox2.Visible = True + txbALFuncBox2.Text = "RUNNING" + txbALFuncBox2.BackColor = Color.GreenYellow + txbALFuncBox2.Refresh() + End Sub + + Private Sub btnALFuncRead2_Click(sender As Object, e As EventArgs) Handles btnALFuncRead2.Click + Dim StageCnt As Int16 = ErrorList.NonError + + Try + ALTO_Func2_ReadStart() + + Dim ResultData As String = ALTOLBSearch() + + If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then + StageCnt = ResultData + GoTo FAIL_Finish + End If + + Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) + + Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) + Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) + Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) + Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) + + txbALLtDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALLtHour.Text = "0" & HourCnt + Else + txbALLtHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALLtMin.Text = "0" & MinCnt + Else + txbALLtMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALLtSec.Text = "0" & SecCnt + Else + txbALLtSec.Text = SecCnt + End If + + TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond + + DayCnt = Truncate(TimeCnt / OneDay) + HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) + MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) + SecCnt = Truncate(TimeCnt Mod OneMinute) + + txbALBtDay.Text = DayCnt + + If HourCnt < StrLen Then + txbALBtHour.Text = "0" & HourCnt + Else + txbALBtHour.Text = HourCnt + End If + + If MinCnt < StrLen Then + txbALBtMin.Text = "0" & MinCnt + Else + txbALBtMin.Text = MinCnt + End If + + If SecCnt < StrLen Then + txbALBtSec.Text = "0" & SecCnt + Else + txbALBtSec.Text = SecCnt + End If + + txbALFuncBox2.Text = "SUCCESS" + txbALFuncBox2.BackColor = Color.Green + GoTo End_Finish + + Catch ex As Exception + MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + GoTo FAIL_Finish + End Try + +FAIL_Finish: + txbALFuncBox2.Text = "Error" + Str(StageCnt) + txbALFuncBox2.BackColor = Color.Red +End_Finish: + txbALFuncBox2.Refresh() + End Sub + + Private Sub ResultReset() + txbAuthBox.Text = String.Empty + txbAuthBox.BackColor = Color.FromArgb(0, 192, 0) + txbAuthBox.Visible = False + + txbInfoBox.Text = String.Empty + txbInfoBox.BackColor = Color.FromArgb(0, 192, 0) + txbInfoBox.Visible = False + + txbAreaBox.Text = String.Empty + txbAreaBox.BackColor = Color.FromArgb(0, 192, 0) + txbAreaBox.Visible = False + + + txbTDBox.Text = String.Empty + txbTDBox.BackColor = Color.FromArgb(0, 192, 0) + txbTDBox.Visible = False + + txbFPBox.Text = String.Empty + txbFPBox.BackColor = Color.FromArgb(0, 192, 0) + txbFPBox.Visible = False + + txbMtBox.Text = String.Empty + txbMtBox.BackColor = Color.FromArgb(0, 192, 0) + txbMtBox.Visible = False + + txbShotBox.Text = String.Empty + txbShotBox.BackColor = Color.FromArgb(0, 192, 0) + txbShotBox.Visible = False + + txbDvAuthBox.Text = String.Empty + txbDvAuthBox.BackColor = Color.FromArgb(0, 192, 0) + txbDvAuthBox.Visible = False + + txbDvInfoBox.Text = String.Empty + txbDvInfoBox.BackColor = Color.FromArgb(0, 192, 0) + txbDvInfoBox.Visible = False + + txbALFuncBox1.Text = String.Empty + txbALFuncBox1.BackColor = Color.FromArgb(0, 192, 0) + txbALFuncBox1.Visible = False + + txbALFuncBox2.Text = String.Empty + txbALFuncBox2.BackColor = Color.FromArgb(0, 192, 0) + txbALFuncBox2.Visible = False + + txbALAllBox.Text = String.Empty + txbALAllBox.BackColor = Color.FromArgb(0, 192, 0) + txbALAllBox.Visible = False + End Sub + + Private Sub btnEnd_Click(sender As Object, e As EventArgs) Handles btnEnd.Click + End + End Sub + + Private Sub txbLoadNum_KeyDown(sender As Object, e As KeyEventArgs) Handles txbLoadNum.KeyDown + If e.KeyCode = Keys.Return Then + btnLoadNum_Click(sender, New System.EventArgs) + End If + End Sub + + Private Const TDLength As Byte = 10 + Private Const ProdLength As Byte = 12 + + ''DataType 이 True 일 경우 TD 데이터 / False 일 경우 제품 데이터 + Private DataType As Boolean = False + + Private Sub btnLoadNum_Click(sender As Object, e As EventArgs) Handles btnLoadNum.Click + If String.IsNullOrWhiteSpace(txbLoadNum.Text) Then + MsgBox("입력된 정보가 존재하지 않습니다. 검색하고자 하는 번호를 입력하여 주십시오.", vbExclamation) + Else + If txbLoadNum.Text.Length = TDLength Then + DataType = True + Dim result = TD_Search() + + If result <> True Then + NonTD_Search() + End If + ElseIf txbLoadNum.Text.Length = ProdLength Then + DataType = False + Dim result = Product_Search() + + If result <> True Then + NonTDProduct_Search() + End If + Else + MsgBox("TD 및 제품 번호 양식에 맞지 않습니다.", vbExclamation) + End If + End If + End Sub + + Private Function TD_Search() As Boolean + Dim DBCmd As String = "Select Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,P1_Frequency,P3_DateTime FROM " & CartDB & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1" + + If DBQueryReader(DBCmd) Then + txbPDSN.Text = sqlDataQuery(0) + txbPDCP.Text = sqlDataQuery(1) + txbPDSerial.Text = sqlDataQuery(2) + txbPDModel.Text = sqlDataQuery(3) + txbPDType.Text = sqlDataQuery(4) + txbPDCC.Text = sqlDataQuery(5) + txbPDAC.Text = sqlDataQuery(6) + txbMesPw.Text = sqlDataQuery(7) + txbPDSC.Text = sqlDataQuery(8) + txbPDMotor.Text = sqlDataQuery(9) + txbTDSN.Text = sqlDataQuery(10) + txbMesFreq.Text = sqlDataQuery(11) + txbMesDate.Text = sqlDataQuery(12) + + Return True + Else + Return False + End If + End Function + + Private Sub NonTD_Search() + Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN,P3_DateTime FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1" + + If DBQueryReader(DBCmd) Then + txbPDSN.Text = sqlDataQuery(0) + txbPDCP.Text = sqlDataQuery(1) + txbPDSerial.Text = sqlDataQuery(2) + txbPDModel.Text = sqlDataQuery(3) + txbPDType.Text = sqlDataQuery(4) + txbPDCC.Text = sqlDataQuery(5) + txbPDAC.Text = sqlDataQuery(6) + txbMesPw.Text = "" + txbPDSC.Text = "" + txbPDMotor.Text = "" + txbTDSN.Text = sqlDataQuery(7) + txbMesFreq.Text = "" + txbMesDate.Text = sqlDataQuery(8) + + Else + MsgBox("존재하지 않는 데이터입니다.", vbExclamation) + End If + End Sub + + Private Function Product_Search() As Boolean + Dim DBCmd As String = "SELECT Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,P1_Frequency,P3_DateTime FROM " & CartDB & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1" + + If DBQueryReader(DBCmd) Then + txbPDSN.Text = sqlDataQuery(0) + txbPDCP.Text = sqlDataQuery(1) + txbPDSerial.Text = sqlDataQuery(2) + txbPDModel.Text = sqlDataQuery(3) + txbPDType.Text = sqlDataQuery(4) + txbPDCC.Text = sqlDataQuery(5) + txbPDAC.Text = sqlDataQuery(6) + txbMesPw.Text = sqlDataQuery(7) + txbPDSC.Text = sqlDataQuery(8) + txbPDMotor.Text = sqlDataQuery(9) + txbTDSN.Text = sqlDataQuery(10) + txbMesFreq.Text = sqlDataQuery(11) + txbMesDate.Text = sqlDataQuery(12) + + Return True + Else + Return False + End If + End Function + + Private Sub NonTDProduct_Search() + Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN,P3_DateTime FROM " & NonCartridgeTbl & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1" + + If DBQueryReader(DBCmd) Then + txbPDSN.Text = sqlDataQuery(0) + txbPDCP.Text = sqlDataQuery(1) + txbPDSerial.Text = sqlDataQuery(2) + txbPDModel.Text = sqlDataQuery(3) + txbPDType.Text = sqlDataQuery(4) + txbPDCC.Text = sqlDataQuery(5) + txbPDAC.Text = sqlDataQuery(6) + txbMesPw.Text = "" + txbPDSC.Text = "" + txbPDMotor.Text = "" + txbTDSN.Text = sqlDataQuery(7) + txbMesFreq.Text = "" + txbMesDate.Text = sqlDataQuery(8) + + Else + MsgBox("존재하지 않는 데이터입니다.", vbExclamation) + End If + End Sub + + Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click + txbPDSN.Text = "-" + txbPDCP.Text = "-" + txbPDSerial.Text = "-" + txbPDModel.Text = "-" + txbPDType.Text = "-" + txbPDCC.Text = "-" + txbPDAC.Text = "-" + txbMesPw.Text = "-" + txbPDSC.Text = "-" + txbPDMotor.Text = "-" + txbTDSN.Text = "-" + txbMesFreq.Text = "-" + txbMesDate.Text = "-" + End Sub + + Private Sub btnwrite_Click(sender As Object, e As EventArgs) Handles btnwrite.Click + btnIfRead_Click(sender, e) + btnArRead_Click(sender, e) + btnTdRead_Click(sender, e) + + If SelectModel.Equals(ModeList.ALTO) Then + Return + End If + + btnFPRead_Click(sender, e) + btnMtRead_Click(sender, e) + btnShRead_Click(sender, e) + End Sub +End Class diff --git a/Product_Manager/My Project/Application.Designer.vb b/Product_Manager/My Project/Application.Designer.vb new file mode 100644 index 0000000..d5fe049 --- /dev/null +++ b/Product_Manager/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' 이 코드는 도구를 사용하여 생성되었습니다. +' 런타임 버전:4.0.30319.42000 +' +' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +' 이러한 변경 내용이 손실됩니다. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + '참고: 자동으로 생성되므로 직접 이 파일을 수정하지 마세요. 변경할 사항이 있거나 + ' 파일에서 빌드 오류가 발생하는 경우 프로젝트 디자이너로 + ' 이동([프로젝트 속성]으로 이동하거나 솔루션 탐색기에서 My Project 노드를 + '두 번 클릭)한 다음 [애플리케이션] 탭에서 변경하세요. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Product_Manager.MainForm + End Sub + End Class +End Namespace diff --git a/Product_Manager/My Project/Application.myapp b/Product_Manager/My Project/Application.myapp new file mode 100644 index 0000000..c9f73c9 --- /dev/null +++ b/Product_Manager/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + MainForm + false + 0 + true + 0 + true + false + \ No newline at end of file diff --git a/Product_Manager/My Project/AssemblyInfo.vb b/Product_Manager/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..6c6db1c --- /dev/null +++ b/Product_Manager/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +' 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +' 이러한 특성 값을 변경하세요. + +' 어셈블리 특성 값을 검토합니다. + + + + + + + + + + +'이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. + + +' 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +' +' 주 버전 +' 부 버전 +' 빌드 번호 +' 수정 버전 +' +' 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +' 기본값으로 할 수 있습니다. +' + + + diff --git a/Product_Manager/My Project/Resources.Designer.vb b/Product_Manager/My Project/Resources.Designer.vb new file mode 100644 index 0000000..c96b8e5 --- /dev/null +++ b/Product_Manager/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Product_Manager.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Product_Manager/My Project/Resources.resx b/Product_Manager/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Product_Manager/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Product_Manager/My Project/Settings.Designer.vb b/Product_Manager/My Project/Settings.Designer.vb new file mode 100644 index 0000000..b9245aa --- /dev/null +++ b/Product_Manager/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Product_Manager.My.MySettings + Get + Return Global.Product_Manager.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Product_Manager/My Project/Settings.settings b/Product_Manager/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/Product_Manager/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Product_Manager/MySqlMoudule.vb b/Product_Manager/MySqlMoudule.vb new file mode 100644 index 0000000..7025a56 --- /dev/null +++ b/Product_Manager/MySqlMoudule.vb @@ -0,0 +1,157 @@ +Imports MySql.Data.MySqlClient + +Module MySqlMoudule + Private Const CartridgeTbl As String = "jomtTesterDB.jomtCartridgeTbl" + Private Const CartridgeTblTest As String = "jomtTesterServerDB.jomtCartridgeTbl" + + Public UseCartridgeTbl As String = CartridgeTbl + + Public Const NonCartridgeTbl As String = "jomtTesterDB.jomtNonTDTbl" + + + Private Const LocalHostIP As String = "192.168.0.250" + Private Const DataBaseName As String = "jomtOrderTestDB" + Private Const UserName As String = "root" + Private Const UserPasswrod As String = "JOMT1646db!!" + + Private Conn As String = "Server=" + LocalHostIP + ";DataBase=" + DataBaseName + ";user=" + UserName + ";password=" + UserPasswrod + ";" + + Private sqlCon As New MySqlConnection(Conn) + Private sqlCmd As New MySqlCommand() + Private sqlData As MySqlDataReader '' SQL Server와 연결을 유지한 상태에서 한번에 한 레코드(One Row)씩 데이타를 가져오는데 사용된다 + + Public sqlDataQuery() As Object + + Public Const CartDB As String = "jomtTesterDB.jomtCartridgeTbl" + + Private Function DBOpen() As Boolean + Try + If sqlCon.State <> ConnectionState.Open Then '' sqlCon.State 의 상태를 나타냄 + sqlCon.Open() + End If + Return True + Catch ex As Exception + MsgBox("MySQL Command Error:" + vbCrLf + Err.Description) + Return False + End Try + End Function + + Private Function DBClose() As Boolean + Try + If sqlCon.State = ConnectionState.Open Then + sqlCon.Close() + End If + Return True + + Catch ex As Exception + MsgBox("MySQL Command Error:" + vbCrLf + Err.Description) + Return False + End Try + End Function + + Private Function Database_Use() As Boolean + Try + DBOpen() + + sqlCmd.CommandText = "USE " & DataBaseName & ";" + sqlCmd.Connection = sqlCon + sqlCmd.ExecuteNonQuery() + + Return True + Catch ex As Exception + MsgBox("MySQL Command Error:" + vbCrLf + Err.Description) + Return False + End Try + End Function + + Public Function DBCommand(cmdStr As String) As Boolean + Try + Database_Use() '' 연결에 대한 sql문 실행, 명령을 수행하고 영향을 받은 행의 수를 반환하는 메서드, 행 추가나 변경, 삭제 등의 명령을 수행할 때는 명령으로 영향받은 행의 수만 알면 되기 때문에 ExecuteNonQuery 메서드를 사용합니다. 리턴값은 INT32 형 + sqlCmd.CommandText = cmdStr + sqlCmd.Connection = sqlCon + sqlCmd.ExecuteNonQuery() + DBClose() + Return True + + Catch ex As Exception + MsgBox("MySQL Command Error:" + vbCrLf + Err.Description) + DBClose() + Return False + End Try + End + End Function + + Public Function DBQueryScalar(cmdStr As String) As String + Dim result As String + + Try + Database_Use() + sqlCmd.CommandText = cmdStr + sqlCmd.Connection = sqlCon + result = sqlCmd.ExecuteScalar() 'SQL 명령을 실행하고, Query 가 리턴하는 첫번째 행의 첫번째 열을 리턴한다. 결과가 딱 1개인 집계함수(count, sum, avg 등)에 사용한다. 반환값은 object 형 + + Return result + + Catch ex As Exception + MsgBox("MySQL Command Error:" + vbCrLf + Err.Description) + Return False + End Try + End + End Function + + Public Function DBQueryReader(cmdStr As String) As Integer + Dim FieldCount As Integer + Dim initRun As Boolean = True + Dim DataTypeName As String + Dim TmpData As Object + Dim QueryCount As ULong + + Try + Database_Use() + + sqlCmd.CommandText = cmdStr + sqlCmd.Connection = sqlCon + sqlData = sqlCmd.ExecuteReader '' 어떤 쿼리에서도 적용이 가능하다. SELECT 쿼리를 이용할 경우 해당하는 값들이 DataReader 타입으로 온다. 값을 가져온 후에는 SqlDataReader객체의 read메서드를 통해 값을 읽어올 수 있고 , 사용 후에는 close메서드를 이용하여 실행을 끝내주어야 한다. + + FieldCount = sqlData.FieldCount '' 현재 행의 열 수를 가져옵니다. + + While (sqlData.Read()) + If initRun Then + ReDim sqlDataQuery(FieldCount - 1) '' 배열을 모든 필드를 담을 수 있는 양으로 맞추는 기능 + initRun = False + + Else + ReDim Preserve sqlDataQuery(UBound(sqlDataQuery) + FieldCount) '' 배열에 저장된 값을 보존하면서 배열의 길이만 재선언 + End If + + For cnt = 0 To FieldCount - 1 + DataTypeName = sqlData.GetDataTypeName(cnt) '' 지정된 열의 데이터 형식을 나타내는 문자열을 가져옵니다. + + If DataTypeName = "DATE" Then + TmpData = sqlData.GetDateTime(cnt) + Else + TmpData = sqlData.GetValue(cnt) + End If + + If DBNull.Value.Equals(TmpData) Or TmpData.Equals(String.Empty) Then + sqlDataQuery(QueryCount) = String.Empty + Else + sqlDataQuery(QueryCount) = TmpData + End If + + QueryCount += 1 + Next + End While + + DBClose() + Return QueryCount + + Catch ex As Exception + MsgBox(Err.Description) + If sqlCon.State = ConnectionState.Open Then sqlCon.Close() + Return 0 + End Try + + End Function + +End Module diff --git a/Product_Manager/Product_Manager.vbproj b/Product_Manager/Product_Manager.vbproj new file mode 100644 index 0000000..075de09 --- /dev/null +++ b/Product_Manager/Product_Manager.vbproj @@ -0,0 +1,135 @@ + + + + + Debug + AnyCPU + {D5EE7B3E-74FD-46B4-B3A5-3C7B88245481} + WinExe + Product_Manager.My.MyApplication + Product_Manager + Product_Manager + 512 + WindowsForms + v4.8 + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + Product_Manager.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + Product_Manager.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + JOMT 아이콘_ICO.ico + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + MainForm.vb + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + MainForm.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + \ No newline at end of file diff --git a/Product_Manager/SerialPortMoudule.vb b/Product_Manager/SerialPortMoudule.vb new file mode 100644 index 0000000..942ed34 --- /dev/null +++ b/Product_Manager/SerialPortMoudule.vb @@ -0,0 +1,274 @@ +Imports System.Globalization +Imports System.IO.Ports +Imports System.Runtime.Remoting.Messaging + +Module SerialPortMoudule + Private Const FormName As String = "DUALSONIC Product Manager Serial Port Ver " & MainForm.FormVersion + Public UseSerial_Ch1 As SerialPort + + Private rxMessage As String = String.Empty + Private cmdMessage As String = String.Empty + + Public Sub UseSerialSetting(UseSerial As SerialPort) + UseSerial_Ch1 = UseSerial + End Sub + + Public Function OpenSerial(SelectPort As String) As Boolean + Try + If UseSerial_Ch1.IsOpen = False Then + With UseSerial_Ch1 + .PortName = SelectPort + .BaudRate = 230400 + .DataBits = 8 + .Parity = Parity.None + .StopBits = StopBits.One + .Handshake = Handshake.None + + .Open() + End With + + Return True + Else + MsgBox("해당 포트는 Open 상태입니다. 연결을 끊고 다시 연결하여 주십시오.", vbExclamation, FormName) + Return False + End If + + Catch ex As Exception + MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + Return False + End Try + End Function + + Public Function SendData(SendMessage As String) As Boolean + Try + If UseSerial_Ch1.IsOpen = True Then + + UseSerial_Ch1.DiscardInBuffer() + UseSerial_Ch1.DiscardOutBuffer() + UseSerial_Ch1.WriteTimeout = -1 + UseSerial_Ch1.WriteLine(SendMessage) + Return False + + Else + + MsgBox("통신 포트가 열리지 않았습니다.", vbCritical, FormName) + Return True + + End If + + Catch ex As Exception + MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + Return True + End Try + End Function + + Public Function PollingReceiveData(RdTimeout As Long) As String + + Try + + If UseSerial_Ch1.IsOpen = True Then + rxMessage = "" + UseSerial_Ch1.ReadTimeout = RdTimeout + rxMessage = UseSerial_Ch1.ReadLine + + Return ParsingData() + + Else + MsgBox("통신 포트가 열리지 않았습니다.", vbCritical, FormName) + Return False + End If + + Catch ex As Exception + MsgBox("COM 포트 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + Return False + End Try + + End Function + + Private Function ParsingData() As String + Dim cmdStr As String + Dim cmdVal(0 To 7) As String + Dim i As Integer + + Try + cmdStr = "0" + + If rxMessage <> "" Then + cmdMessage = "" + + If Mid(rxMessage, 1, 1) = "[" Then + cmdMessage = Mid(rxMessage, 2, Len(rxMessage)) + + cmdStr = Mid(cmdMessage, 1, (InStr(rxMessage, " ") - 2)) + cmdMessage = Mid(rxMessage, InStr(rxMessage, " ") + 1, Len(cmdMessage)) + + For i = 1 To 7 + If InStr(cmdMessage, ",") <> 0 Then + cmdVal(i) = Mid(cmdMessage, 1, InStr(cmdMessage, ",") - 1) + cmdMessage = Mid(cmdMessage, InStr(cmdMessage, ",") + 1, Len(cmdMessage)) + ElseIf InStr(cmdMessage, "]") <> 0 Then + cmdVal(i) = Mid(cmdMessage, 1, InStr(cmdMessage, "]") - 1) + 'cmdMessage = Mid(cmdMessage, InStr(cmdMessage, "]") + 1, Len(cmdMessage)) + Else + Exit For + End If + Next i + + rxMessage = "" + + Select Case cmdStr + + '' DUALSONIC + Case "cartauth" + cmdStr = cmdVal(1) + Return cmdStr + Case "cartmanu" + cmdStr = cmdVal(1) + Return cmdStr + Case "ctmodel" + cmdStr = cmdVal(1) + Return cmdStr + Case "carttype" + cmdStr = cmdVal(1) + Return cmdStr + Case "cartsn" + cmdStr = cmdVal(1) + Return cmdStr + Case "cartmanu" + cmdStr = cmdVal(1) + Return cmdStr + Case "ctabroad" + cmdStr = cmdVal(1) + Return cmdStr + Case "ctagency" + cmdStr = cmdVal(1) + Return cmdStr + Case "cartfreq" + cmdStr = cmdVal(1) + Return cmdStr + Case "ctpower" + cmdStr = cmdVal(1) + Return cmdStr + Case "frontsen" + cmdStr = cmdVal(1) + Return cmdStr + Case "rshotcnt" + cmdStr = cmdVal(1) + Return cmdStr + Case "tshotcnt" + cmdStr = cmdVal(1) + Return cmdStr + Case "mainauth" + cmdStr = cmdVal(1) + Return cmdStr + Case "rdstconf" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "wrstconf" + cmdStr = cmdVal(1) + Return cmdStr + + + '' MAXIMUM + Case "rdsconf1" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "wrsconf1" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "shotconf" + cmdStr = cmdVal(1) + Return cmdStr + Case "rdstinfo" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "wrstinfo" + cmdStr = cmdVal(1) + Return cmdStr + Case "rdsinfo4" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6) & "," & cmdVal(7) + Return cmdStr + Case "rdsinfo5" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "wrsinfo4" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + + Case "deviceon" + cmdStr = cmdVal(1) + Return cmdStr + Case "entermft" + cmdStr = cmdVal(1) + Return cmdStr + Case "mftmode" + cmdStr = cmdVal(1) + Return cmdStr + Case "runmc" + cmdStr = cmdVal(1) + Return cmdStr + Case "runrf" + cmdStr = cmdVal(1) + Return cmdStr + Case "runep" + cmdStr = cmdVal(1) + Return cmdStr + Case "endmft" + cmdStr = cmdVal(1) + Return cmdStr + Case "runhifu" + cmdStr = cmdVal(1) + Return cmdStr + Case "dsfwver" + cmdStr = cmdVal(1) + Return cmdStr + Case "rdbattlv" + cmdStr = cmdVal(1) + Return cmdStr + Case "rdtemp" + cmdStr = cmdVal(1) & "," & cmdVal(2) + Return cmdStr + Case "resetinf" + cmdStr = cmdVal(1) + Return cmdStr + Case "settdsn" + cmdStr = cmdVal(1) + Return cmdStr + Case "settdcnf" + cmdStr = cmdVal(1) & "," & cmdVal(2) + Return cmdStr + Case "runled" + cmdStr = cmdVal(1) + Return cmdStr + Case "setmotor" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + Case "runbuzz" + cmdStr = cmdVal(1) + Return cmdStr + + ''ALTO + Case "rdsinfo7" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + + Case "rdsinfo8" + cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) + Return cmdStr + + End Select + + End If + + End If + + Return False + + Catch ex As Exception + rxMessage = "" + MsgBox("Receive 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) + Return False + End Try + End Function + +End Module diff --git a/Product_Manager/bin/Debug/BouncyCastle.Crypto.dll b/Product_Manager/bin/Debug/BouncyCastle.Crypto.dll new file mode 100644 index 0000000..7a8034b Binary files /dev/null and b/Product_Manager/bin/Debug/BouncyCastle.Crypto.dll differ diff --git a/Product_Manager/bin/Debug/Google.Protobuf.dll b/Product_Manager/bin/Debug/Google.Protobuf.dll new file mode 100644 index 0000000..3683dc8 Binary files /dev/null and b/Product_Manager/bin/Debug/Google.Protobuf.dll differ diff --git a/Product_Manager/bin/Debug/K4os.Compression.LZ4.Streams.dll b/Product_Manager/bin/Debug/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/Product_Manager/bin/Debug/K4os.Compression.LZ4.Streams.dll differ diff --git a/Product_Manager/bin/Debug/K4os.Compression.LZ4.dll b/Product_Manager/bin/Debug/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/Product_Manager/bin/Debug/K4os.Compression.LZ4.dll differ diff --git a/Product_Manager/bin/Debug/K4os.Hash.xxHash.dll b/Product_Manager/bin/Debug/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/Product_Manager/bin/Debug/K4os.Hash.xxHash.dll differ diff --git a/Product_Manager/bin/Debug/MySql.Data.dll b/Product_Manager/bin/Debug/MySql.Data.dll new file mode 100644 index 0000000..c89bddf Binary files /dev/null and b/Product_Manager/bin/Debug/MySql.Data.dll differ diff --git a/Product_Manager/bin/Debug/MySql.Data.xml b/Product_Manager/bin/Debug/MySql.Data.xml new file mode 100644 index 0000000..ccd2628 --- /dev/null +++ b/Product_Manager/bin/Debug/MySql.Data.xml @@ -0,0 +1,17757 @@ + + + + MySql.Data + + + + + The implementation of the caching_sha2_password authentication plugin. + + + + + Generates a byte array set with the password of the user in the expected format based on the + SSL settings of the current connection. + + A byte array that contains the password of the user in the expected format. + + + + Defines the stage of the authentication. + + + + + Defines the default behavior for an authentication plugin. + + + + + Gets or sets the authentication data returned by the server. + + + + + This is a factory method that is used only internally. It creates an auth plugin based on the method type + + + + + + + + + Gets the connection option settings. + + + + + Gets the server version associated with this authentication plugin. + + + + + Gets the encoding assigned to the native driver. + + + + + Sets the authentication data required to encode, encrypt, or convert the password of the user. + + A byte array containing the authentication data provided by the server. + This method may be overriden based on the requirements by the implementing authentication plugin. + + + + Defines the behavior when checking for constraints. + + This method is intended to be overriden. + + + + Throws a that encapsulates the original exception. + + The exception to encapsulate. + + + + Defines the behavior when authentication is successful. + + This method is intended to be overriden. + + + + Defines the behavior when more data is required from the server. + + The data returned by the server. + The data to return to the server. + This method is intended to be overriden. + + + + Gets the plugin name based on the authentication plugin type defined during the creation of this object. + + + + + Gets the user name associated to the connection settings. + + The user name associated to the connection settings. + + + + Gets the encoded, encrypted, or converted password based on the authentication plugin type defined during the creation of this object. + This method is intended to be overriden. + + An object containing the encoded, encrypted, or converted password. + + + + Allows connections to a user account set with the mysql_native_password authentication plugin. + + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + The implementation of the sha256_password authentication plugin. + + + + + The byte array representation of the public key provided by the server. + + + + + Applies XOR to the byte arrays provided as input. + + A byte array that contains the results of the XOR operation. + + + + + + + + + Defines the type of the security buffer. + + + + + Defines a security handle. + + + + + Describes a buffer allocated by a transport to pass to a security package. + + + + + Specifies the size, in bytes, of the buffer. + + + + + Bit flags that indicate the type of the buffer. + + + + + Pointer to a buffer. + + + + + Hold a numeric value used in defining other data types. + + + + + Least significant digits. + + + + + Most significant digits. + + + + + Holds a pointer used to define a security handle. + + + + + Least significant digits. + + + + + Most significant digits. + + + + + Indicates the sizes of important structures used in the message support functions. + + + + + Specifies the maximum size of the security token used in the authentication changes. + + + + + Specifies the maximum size of the signature created by the MakeSignature function. + This member must be zero if integrity services are not requested or available. + + + + + Specifies the preferred integral size of the messages. + + + + + Size of the security trailer to be appended to messages. + This member should be zero if the relevant services are not requested or available. + + + + + Allows importing large amounts of data into a database with bulk loading. + + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the field terminator. + + The field terminator. + + + + Gets or sets the line terminator. + + The line terminator. + + + + Gets or sets the name of the table. + + The name of the table. + + + + Gets or sets the character set. + + The character set. + + + + Gets or sets the name of the file. + + The name of the file. + + + + Gets or sets the timeout. + + The timeout. + + + + Gets or sets a value indicating whether the file name that is to be loaded + is local to the client or not. The default value is false. + + true if local; otherwise, false. + + + + Gets or sets the number of lines to skip. + + The number of lines to skip. + + + + Gets or sets the line prefix. + + The line prefix. + + + + Gets or sets the field quotation character. + + The field quotation character. + + + + Gets or sets a value indicating whether [field quotation optional]. + + + true if [field quotation optional]; otherwise, false. + + + + + Gets or sets the escape character. + + The escape character. + + + + Gets or sets the conflict option. + + The conflict option. + + + + Gets or sets the priority. + + The priority. + + + + Gets the columns. + + The columns. + + + + Gets the expressions. + + The expressions. + + + + Executes the load operation. + + The number of rows inserted. + + + + Asynchronous version of the load operation. + + The number of rows inserted. + + + + Executes the load operation asynchronously while the cancellation isn't requested. + + The cancellation token. + The number of rows inserted. + + + + Represents the priority set for bulk loading operations. + + + + + This is the default and indicates normal priority + + + + + Low priority will cause the load operation to wait until all readers of the table + have finished. This only affects storage engines that use only table-level locking + such as MyISAM, Memory, and Merge. + + + + + Concurrent priority is only relevant for MyISAM tables and signals that if the table + has no free blocks in the middle that other readers can retrieve data from the table + while the load operation is happening. + + + + + Represents the behavior when conflicts arise during bulk loading operations. + + + + + This is the default and indicates normal operation. In the event of a LOCAL load, this + is the same as ignore. When the data file is on the server, then a key conflict will + cause an error to be thrown and the rest of the data file ignored. + + + + + Replace column values when a key conflict occurs. + + + + + Ignore any rows where the primary key conflicts. + + + + + Summary description for CharSetMap. + + + + + Returns the text encoding for a given MySQL character set name + + Version of the connection requesting the encoding + Name of the character set to get the encoding for + Encoding object for the given character set name + + + + Initializes the mapping. + + + + Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. + MySqlCommand features the following methods for executing commands at a MySQL database: + + + Item + Description + + + + ExecuteReader + + Executes commands that return rows. + + + + ExecuteNonQuery + + Executes commands such as SQL INSERT, DELETE, and UPDATE statements. + + + + ExecuteScalar + + Retrieves a single value (for example, an aggregate value) from a database. + + + + You can reset the CommandText property and reuse the MySqlCommand + object. However, you must close the MySqlDataReader + before you can execute a new or previous command. + + If a MySqlException is + generated by the method executing a MySqlCommand, the MySqlConnection + remains open. It is the responsibility of the programmer to close the connection. + + + Using the '@' symbol for paramters is now the preferred approach although the old pattern of using + '?' is still supported. Please be aware though that using '@' can cause conflicts when user variables + are also used. To help with this situation please see the documentation on the 'allow user variables' + connection string option. The 'old syntax' connection string option has now been deprecated. + + + The following example creates a MySqlCommand and + a MySqlConnection. The MySqlConnection is opened and set as the Connection + for the MySqlCommand. The example then calls ExecuteNonQuery, + and closes the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + Public Sub InsertRow(myConnectionString As String) + " If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + + Initializes a new instance of the MySqlCommand class. + + + The following example creates a MySqlCommand and sets some of its properties. + + + This example shows how to use one of the overloaded + versions of the MySqlCommand constructor. For other examples that might be available, + see the individual overload topics. + + + + Public Sub CreateMySqlCommand() + Dim myConnection As New MySqlConnection _ + ("Persist Security Info=False;database=test;server=myServer") + myConnection.Open() + Dim myTrans As MySqlTransaction = myConnection.BeginTransaction() + Dim mySelectQuery As String = "SELECT * FROM MyTable" + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection, myTrans) + myCommand.CommandTimeout = 20 + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection myConnection = new MySqlConnection("Persist Security Info=False; + database=test;server=myServer"); + myConnection.Open(); + MySqlTransaction myTrans = myConnection.BeginTransaction(); + string mySelectQuery = "SELECT * FROM myTable"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection,myTrans); + myCommand.CommandTimeout = 20; + } + + + public: + void CreateMySqlCommand() + { + MySqlConnection* myConnection = new MySqlConnection(S"Persist Security Info=False; + database=test;server=myServer"); + myConnection->Open(); + MySqlTransaction* myTrans = myConnection->BeginTransaction(); + String* mySelectQuery = S"SELECT * FROM myTable"; + MySqlCommand* myCommand = new MySqlCommand(mySelectQuery, myConnection, myTrans); + myCommand->CommandTimeout = 20; + }; + + + + Initializes a new instance of the MySqlCommand class. + + The base constructor initializes all fields to their default values. The + following table shows initial property values for an instance of . + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class with the text of the query. + The text of the query. + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class + with the text of the query and a . + The text of the query. + A that represents the + connection to an instance of SQL Server. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class + with the text of the query, a , and the + . + The text of the query. + A that represents the + connection to an instance of SQL Server. + + The in which the executes. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + conn.Open(); + Dim txn as MySqlTransaction = conn.BeginTransaction() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn, txn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + conn.Open(); + MySqlTransaction txn = conn.BeginTransaction(); + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn, txn); + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets the last inserted id. + + + + + + Gets or sets the SQL statement to execute at the data source. + + The SQL statement or stored procedure to execute. The default is an empty string. + + + When the property is set to StoredProcedure, + the CommandText property should be set to the name of the stored procedure. + The user may be required to use escape character syntax if the stored procedure name + contains any special characters. The command executes this stored procedure when + you call one of the Execute methods. Starting with Connector/NET 5.0, having both a stored function + and stored procedure with the same name in the same database is not supported. It is + suggested that you provide unqiue names for your stored routines. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id" + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandText = "SELECT * FROM mytable ORDER BY id"; + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets or sets the wait time before terminating the attempt to execute a command + and generating an error. + + The time (in seconds) to wait for the command to execute. The default is 30 + seconds. + + CommandTimeout is dependent on the ability of MySQL to cancel an executing query. + Because of this, CommandTimeout is only supported when connected to MySQL + version 5.0.0 or higher. + + + + + Gets or sets a value indicating how the property is to be interpreted. + + One of the values. The default is Text. + + + When you set the CommandType property to StoredProcedure, you + should set the property to the name of the stored + procedure. The command executes this stored procedure when you call one of the + Execute methods. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets a boolean value that indicates whether the Prepared method has been called. + + + + + + Gets or sets the used by this instance of the + . + + The connection to a data source. The default value is a null reference + (Nothing in Visual Basic). + + + If you set Connection while a transaction is in progress and the + property is not null, an + is generated. If the Transaction property is not null and the transaction + has already been committed or rolled back, Transaction is set to + null. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id" + Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer" + Dim myCommand As New MySqlCommand(mySelectQuery) + myCommand.Connection = New MySqlConnection(myConnectString) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string mySelectQuery = "SELECT * FROM mytable ORDER BY id"; + string myConnectString = "Persist Security Info=False;database=test;server=myServer"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery); + myCommand.Connection = new MySqlConnection(myConnectString); + myCommand.CommandType = CommandType.Text; + } + + + + + + Get the + + The parameters of the SQL statement or stored procedure. The default is + an empty collection. + + Connector/NET does not support unnamed parameters. Every parameter added to the collection must + have an associated name. + + The following example creates a and displays its parameters. + To accomplish this, the method is passed a , a query string + that is a SQL SELECT statement, and an array of objects. + + Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _ + mySelectQuery As String, myParamArray() As MySqlParameter) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age" + myCommand.UpdatedRowSource = UpdateRowSource.Both + myCommand.Parameters.Add(myParamArray) + Dim j As Integer + For j = 0 To myCommand.Parameters.Count - 1 + myCommand.Parameters.Add(myParamArray(j)) + Next j + Dim myMessage As String = "" + Dim i As Integer + For i = 0 To myCommand.Parameters.Count - 1 + myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr + Next i + Console.WriteLine(myMessage) + End Sub + + + public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery, + MySqlParameter[] myParamArray) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age"; + myCommand.Parameters.Add(myParamArray); + for (int j=0; j<myParamArray.Length; j++) + { + myCommand.Parameters.Add(myParamArray[j]) ; + } + string myMessage = ""; + for (int i = 0; i < myCommand.Parameters.Count; i++) + { + myMessage += myCommand.Parameters[i].ToString() + "\n"; + } + MessageBox.Show(myMessage); + } + + + + + + Gets or sets the within which the executes. + + The . The default value is a null reference (Nothing in Visual Basic). + + You cannot set the Transaction property if it is already set to a + specific value, and the command is in the process of executing. If you set the + transaction property to a object that is not connected + to the same as the object, + an exception will be thrown the next time you attempt to execute a statement. + + + + + Gets or sets a boolean value that indicates whether caching is enabled. + + + + + Gets or sets the seconds for how long a TableDirect result should be cached. + + + + + Gets or sets how command results are applied to the DataRow when used by the + Update method of the DbDataAdapter. + + + + + Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. + + + + + Attempts to cancel the execution of a currently active command + + + Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. + + + + + Creates a new instance of a object. + + + This method is a strongly-typed version of . + + A object. + + + + + Check the connection to make sure + - it is open + - it is not currently being used by a reader + - and we have the right version of MySQL for the requested command type + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + Number of rows affected + You can use ExecuteNonQuery to perform any type of database operation, + however any resultsets returned will not be available. Any output parameters + used in calling a stored procedure will be populated with data and can be + retrieved after execution is complete. + For UPDATE, INSERT, and DELETE statements, the return value is the number + of rows affected by the command. For all other types of statements, the return + value is -1. + + The following example creates a MySqlCommand and then + executes it using ExecuteNonQuery. The example is passed a string that is a + SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to + connect to the data source. + + Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteNonQuery() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteNonQuery(); + myConnection.Close(); + } + + + + + + Reset reader to null, to avoid "There is already an open data reader" + on the next ExecuteReader(). Used in error handling scenarios. + + + + + Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. + + + + + Sends the to the Connection + and builds a . + + A object. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + While the is in use, the associated + is busy serving the MySqlDataReader. + While in this state, no other operations can be performed on the + MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + + + The following example creates a , then executes it by + passing a string that is a SQL SELECT statement, and a string to use to connect to the + data source. + + Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + Try + While myReader.Read() + Console.WriteLine(myReader.GetString(0)) + End While + Finally + myReader.Close + myConnection.Close + End Try + End Sub + + + public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myConnection.Open(); + MMySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + try + { + while(myReader.Read()) + { + Console.WriteLine(myReader.GetString(0)); + } + } + finally + { + myReader.Close(); + myConnection.Close(); + } + } + + + + + + Sends the to the Connection, + and builds a using one of the values. + + One of the values. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + The supports a special mode that enables large binary + values to be read efficiently. For more information, see the SequentialAccess + setting for . + + + While the is in use, the associated + is busy serving the MySqlDataReader. + While in this state, no other operations can be performed on the + MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + If the MySqlDataReader is created with CommandBehavior set to + CloseConnection, closing the MySqlDataReader closes the connection + automatically. + + + When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit + clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The + method will still return false after the first row but pulling all rows of data + into the client will have a performance impact. If the limit clause is not necessary, it should + be avoided. + + + A object. + + + + + Executes the query, and returns the first column of the first row in the + result set returned by the query. Extra columns or rows are ignored. + + The first column of the first row in the result set, or a null reference if the + result set is empty + + + Use the ExecuteScalar method to retrieve a single value (for example, + an aggregate value) from a database. This requires less code than using the + method, and then performing the operations necessary + to generate the single value using the data returned by a + + + The following example creates a and then + executes it using ExecuteScalar. The example is passed a string that is a + SQL statement that returns an aggregate result, and a string to use to + connect to the data source. + + + Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myScalarQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteScalar() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteScalar(); + myConnection.Close(); + } + + + public: + void CreateMySqlCommand(String* myScalarQuery, MySqlConnection* myConnection) + { + MySqlCommand* myCommand = new MySqlCommand(myScalarQuery, myConnection); + myCommand->Connection->Open(); + myCommand->ExecuteScalar(); + myConnection->Close(); + } + + + + + + + + + + Creates a prepared version of the command on an instance of MySQL Server. + + + Prepared statements are only supported on MySQL version 4.1 and higher. Calling + prepare while connected to earlier versions of MySQL will succeed but will execute + the statement in the same way as unprepared. + + + The following example demonstrates the use of the Prepare method. + + public sub PrepareExample() + Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection) + cmd.Parameters.Add( "@val", 10 ) + cmd.Prepare() + cmd.ExecuteNonQuery() + + cmd.Parameters(0).Value = 20 + cmd.ExecuteNonQuery() + end sub + + + private void PrepareExample() + { + MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection); + cmd.Parameters.Add( "@val", 10 ); + cmd.Prepare(); + cmd.ExecuteNonQuery(); + + cmd.Parameters[0].Value = 20; + cmd.ExecuteNonQuery(); + } + + + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this , and retrieves one or more + result sets from the server. + + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this using one of the + CommandBehavior values. + + One of the values, indicating + options for statement execution and data retrieval. + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Finishes asynchronous execution of a SQL statement, returning the requested + . + + The returned by the call to + . + A MySqlDataReader object that can be used to retrieve the requested rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + + An delegate that is invoked when the command's + execution has completed. Pass a null reference (Nothing in Visual Basic) + to indicate that no callback is required. + A user-defined state object that is passed to the + callback procedure. Retrieve this object from within the callback procedure + using the property. + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Finishes asynchronous execution of a SQL statement. + + The returned by the call + to . + + + + + Verifies if a query is valid even if it has not spaces or is a stored procedure call + + Query to validate + If it is necessary to add call statement + + + + Creates a clone of this object. CommandText, Connection, and Transaction properties + are included as well as the entire parameter list. + + The cloned object. + + + + Summary description for API. + + + + + Summary description for CompressedStream. + + + + + Represents an open connection to a MySQL Server database. This class cannot be inherited. + + + A MySqlConnection object represents a session to a MySQL Server + data source. When you create an instance of MySqlConnection, all + properties are set to their initial values. For a list of these values, see the + MySqlConnection constructor. + + + + If the MySqlConnection goes out of scope, it is not closed. Therefore, + you must explicitly close the connection by calling + or . + + + The following example creates a and + a MySqlConnection. The MySqlConnection is opened and set as the + for the MySqlCommand. The example then calls + , and closes the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + + Public Sub InsertRow(myConnectionString As String) + ' If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + + The client used to handle SSH connections. + + + + Occurs when MySQL returns warnings as a result of executing a command or query. + + + + + Initializes a new instance of the class. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + + You can change the value for these properties only by using the ConnectionString property. + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class when given a string containing the connection string. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + + You can change the value for these properties only by using the ConnectionString property. + + The connection properties used to open the MySQL database. + + + + Determines whether the connection is a clone of other connection. + + + + + Returns the id of the server thread this connection is executing on + + + + + Gets the name of the MySQL server to which to connect. + + + + + Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. + The value set is less than 0. + A value of 0 indicates no limit, and should be avoided in a + because an attempt to connect + will wait indefinitely. + + The following example creates a MySqlConnection + and sets some of its properties in the connection string. + + Public Sub CreateSqlConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30" + myConnection.Open() + End Sub + + + public void CreateSqlConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30"; + myConnection.Open(); + } + + + + + Gets the name of the current database or the database to be used after a connection is opened.The name of the current database or the name of the database to be used after a connection is opened. The default value is an empty string. + + The Database property does not update dynamically. + If you change the current database using a SQL statement, then this property + may reflect the wrong value. If you change the current database using the + method, this property is updated to reflect the new database. + + + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + Indicates if this connection should use compression when communicating with the server. + + + + Gets the current state of the connection. + A bitwise combination of the values. The default is Closed. + + The allowed state changes are: + + + From Closed to Open, using the Open method of the connection object. + + + From Open to Closed, using either the Close method or the Dispose method of the connection object. + + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + Gets a string containing the version of the MySQL server to which the client is connected.The version of the instance of MySQL.The connection is closed. + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Gets or sets the string used to connect to a MySQL Server database. + + + The ConnectionString returned may not be exactly like what was originally + set but will be indentical in terms of keyword/value pairs. Security information + will not be included unless the Persist Security Info value is set to true. + + + You can use the ConnectionString property to connect to a database. + The following example illustrates a typical connection string. + + "Persist Security Info=False;database=MyDB;server=MySqlServer;user id=myUser;Password=myPass" + + The ConnectionString property can be set only when the connection is + closed. Many of the connection string values have corresponding read-only + properties. When the connection string is set, all of these properties are + updated, except when an error is detected. In this case, none of the properties + are updated. properties return only those settings contained in the + ConnectionString. + + + To connect to a local machine, specify "localhost" for the server. If you do not + specify a server, localhost is assumed. + + + Resetting the ConnectionString on a closed connection resets all + connection string values (and related properties) including the password. For + example, if you set a connection string that includes "Database= MyDb", and + then reset the connection string to "Data Source=myserver;User Id=myUser;Password=myPass", + the property is no longer set to MyDb. + + + The connection string is parsed immediately after being set. If errors in + syntax are found when parsing, a runtime exception, such as , + is generated. Other errors can be found only when an attempt is made to open the + connection. + + + The basic format of a connection string consists of a series of keyword/value + pairs separated by semicolons. The equal sign (=) connects each keyword and its + value. To include values that contain a semicolon, single-quote character, or + double-quote character, the value must be enclosed in double quotes. If the + value contains both a semicolon and a double-quote character, the value can be + enclosed in single quotes. The single quote is also useful if the value begins + with a double-quote character. Conversely, the double quote can be used if the + value begins with a single quote. If the value contains both single-quote and + double-quote characters, the quote character used to enclose the value must be + doubled each time it occurs within the value. + + + To include preceding or trailing spaces in the string value, the value must + be enclosed in either single quotes or double quotes. Any leading or trailing + spaces around integer, Boolean, or enumerated values are ignored, even if + enclosed in quotes. However, spaces within a string literal keyword or value are + preserved. Using .NET Framework version 1.1, single or double quotes may be used + within a connection string without using delimiters (for example, Data Source= + my'Server or Data Source= my"Server), unless a quote character is the first or + last character in the value. + + + To include an equal sign (=) in a keyword or value, it must be preceded by + another equal sign. For example, in the hypothetical connection string + + "key==word=value" + + the keyword is "key=word" and the value is "value". + + If a specific keyword in a keyword= value pair occurs multiple times in a + connection string, the last occurrence listed is used in the value set. + + Keywords are not case sensitive. + + The following table lists the valid names for keyword values within the + ConnectionString. + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
+ Connect Timeout -or- Connection Timeout + 15 + The length of time (in seconds) to wait for a connection to the server before + terminating the attempt and generating an error. +
+ Host -or- Server -or- Data Source -or- + DataSource -or- Address -or- Addr -or- + Network Address + localhost + + The name or network address of the instance of MySQL to which to connect. Multiple hosts can be + specified separated by &. This can be useful where multiple MySQL servers are configured for replication + and you are not concerned about the precise server you are connecting to. No attempt is made by the provider to + synchronize writes to the database so care should be taken when using this option. + + + In Unix environment with Mono, this can be a fully qualified path to MySQL socket filename. With this configuration, the Unix socket will be used instead of TCP/IP socket. + Currently only a single socket name can be given so accessing MySQL in a replicated environment using Unix sockets is not currently supported. + +
Port3306 + The port MySQL is using to listen for connections. This value is ignored if the connection protocol + is anything but socket. +
Protocolsocket + Specifies the type of connection to make to the server.Values can be: + socket or tcp for a socket connection
+ pipe for a named pipe connection
+ unix for a Unix socket connection
+ memory to use MySQL shared memory +
+ CharSet -or Character Set + + + Specifies the character set that should be used to encode all queries sent to the server. + Resultsets are still returned in the character set of the data returned. +
LoggingfalseWhen true, various pieces of information is output to any configured TraceListeners.
Allow Batchtrue + When true, multiple SQL statements can be sent with one command execution.

+ -Note-
+ Starting with MySQL 4.1.1, batch statements should be separated by the server-defined seperator character.
+ Commands sent to earlier versions of MySQL should be seperated with ';'. +
Encryptfalse + When true, SSL/TLS encryption is used for all data sent between the + client and server if the server has a certificate installed. Recognized values + are true, false, yes, and no. +
+ Initial Catalog -or- Database + mysqlThe name of the database to use intially
+ Password -or- pwd + + The password for the MySQL account being used.
Persist Security Infofalse + When set to false or no (strongly recommended), security-sensitive + information, such as the password, is not returned as part of the connection if + the connection is open or has ever been in an open state. Resetting the + connection string resets all connection string values including the password. + Recognized values are true, false, yes, and no. +
+ User Id -or- Username -or- Uid -or- User name + + The MySQL login account being used.
Shared Memory NameMYSQLThe name of the shared memory object to use for communication if the connection protocol is set to memory.
Allow Zero Datetimefalse + True to have MySqlDataReader.GetValue() return a MySqlDateTime for date or datetime columns that have illegal values. + False will cause a DateTime object to be returned for legal values and an exception will be thrown for illegal values. +
Convert Zero Datetimefalse + True to have MySqlDataReader.GetValue() and MySqlDataReader.GetDateTime() + return DateTime.MinValue for date or datetime columns that have illegal values. +
+ Pipe Name -or- Pipe + mysql + When set to the name of a named pipe, the MySqlConnection will attempt to connect to MySQL + on that named pipe.

This settings only applies to the Windows platform. +
+ Use Performance Monitor -or- UsePerformanceMonitor + false + Posts performance data that can be tracked using perfmon +
+ Procedure Cache Size + 25 + How many stored procedure definitions can be held in the cache +
+ Ignore Prepare + true + Instructs the provider to ignore any attempts to prepare commands. This option + was added to allow a user to disable prepared statements in an entire application + without modifying the code. A user might want to do this if errors or bugs are + encountered with MySQL prepared statements. +
Use Procedure Bodiestrue + Instructs the provider to attempt to call the procedure without first resolving the metadata. This + is useful in situations where the calling user does not have access to the mysql.proc table. To + use this mode, the parameters for the procedure must be added to the command in the same order + as they appear in the procedure definition and their types must be explicitly set. +
Auto Enlisttrue + Indicates whether the connection should automatically enlist in the current transaction, + if there is one. +
Respect Binary Flagstrue + Indicates whether the connection should respect all binary flags sent to the client + as part of column metadata. False will cause the connector to behave like + Connector/NET 5.0 and earlier. +
BlobAsUTF8IncludePatternnull + Pattern that should be used to indicate which blob columns should be treated as UTF-8. +
BlobAsUTF8ExcludePatternnull + Pattern that should be used to indicate which blob columns should not be treated as UTF-8. +
Default Command Timeout30 + The default timeout that new MySqlCommand objects will use unless changed. +
Allow User Variablesfalse + Should the provider expect user variables in the SQL. +
Interactive -or- Interactive Sessionfalse + Should this session be considered interactive? +
Functions Return Stringfalse + Set this option to true to force the return value of SQL functions to be string. +
Use Affected Rowsfalse + Set this option to true to cause the affected rows reported to reflect only the + rows that are actually changed. By default, the number of rows that are matched + is returned. +
+
+ + The following table lists the valid names for connection pooling values within + the ConnectionString. For more information about connection pooling, see + Connection Pooling for the MySql Data Provider. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
Connection Lifetime0 + When a connection is returned to the pool, its creation time is compared with + the current time, and the connection is destroyed if that time span (in seconds) + exceeds the value specified by Connection Lifetime. This is useful in + clustered configurations to force load balancing between a running server and a + server just brought online. + + A value of zero (0) causes pooled connections to have the maximum connection + timeout. + +
Max Pool Size100The maximum number of connections allowed in the pool.
Min Pool Size0The minimum number of connections allowed in the pool.
Poolingtrue + When true, the MySqlConnection object is drawn from the appropriate + pool, or if necessary, is created and added to the appropriate pool. Recognized + values are true, false, yes, and no. +
Connection Resetfalse + Specifies whether the database connection should be reset when being + drawn from the pool. Leaving this as false will yeild much faster + connection opens but the user should understand the side effects + of doing this such as temporary tables and user variables from the previous + session not being cleared out. +
Cache Server Propertiesfalse + Specifies whether the server variables are cached between pooled connections. + On systems where the variables change infrequently and there are lots of + connection attempts, this can speed up things dramatically. +
+
+ + When setting keyword or connection pooling values that require a Boolean + value, you can use 'yes' instead of 'true', and 'no' instead of 'false'. + + + Note The MySql Data Provider uses the native socket protocol to + communicate with MySQL. Therefore, it does not support the use of an ODBC data source name (DSN) when + connecting to MySQL because it does not add an ODBC layer. + + + CAUTION In this release, the application should use caution when constructing a + connection string based on user input (for example when retrieving user ID and password information from a + dialog box, and appending it to the connection string). The application should + ensure that a user cannot embed extra connection string parameters in these + values (for example, entering a password as "validpassword;database=somedb" in + an attempt to attach to a different database). + +
+ The following example creates a and sets some of its properties + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + + The following example creates a in Unix environment with Mono installed. MySQL socket filename used in this example is "/var/lib/mysql/mysql.sock". The actual filename depends on your MySQL configuration. + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + +
+ + + Gets a boolean value that indicates whether the password associated to the connection is expired. + + + + Begins a database transaction.An object representing the new transaction.Parallel transactions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. Also + note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + Begins a database transaction with the specified isolation level.The isolation level under which the transaction should run. An object representing the new transaction.Parallel exceptions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. + Also note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + Changes the current database for an open MySqlConnection.The name of the database to use. + + The value supplied in the database parameter must be a valid database + name. The database parameter cannot contain a null value, an empty + string, or a string with only blank characters. + + + + When you are using connection pooling against MySQL, and you close + the connection, it is returned to the connection pool. The next time the + connection is retrieved from the pool, the reset connection request + executes before the user performs any operations. + + The database name is not valid.The connection is not open.Cannot change the database. + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + Pings the server. + + true if the ping was successful; otherwise, false. + + + Opens a database connection with the property settings specified by the ConnectionString.Cannot open a connection without specifying a data source or server.A connection-level error occurred while opening the connection. + + The draws an open connection from the connection pool if one is available. + Otherwise, it establishes a new connection to an instance of MySQL. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Initializes the if more than one host is found. + + A string containing an unparsed list of hosts. + true if the connection data is a URI; otherwise false. + The number of hosts found, -1 if an error was raised during parsing. + + + + Creates a object based on the provided parameters. + + The host string which can be a simple host name or a host name and port. + The priority of the host. + The port number of the host. + + + + + Creates and returns a object associated with the . + + A object. + + + + Closes the connection to the database. This is the preferred method of closing any open connection. + + The Close method rolls back any pending transactions. It then releases + the connection to the connection pool, or closes the connection if connection + pooling is disabled. + + + An application can call Close more than one time. No exception is + generated. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Cancels the query after the specified time interval. + + The length of time (in seconds) to wait for the cancelation of the command execution. + + + + Sets query timeout. If timeout has been set prior and not + yet cleared ClearCommandTimeout(), it has no effect. + + timeout in seconds + true if + + + + Clears query timeout, allowing next SetCommandTimeout() to succeed. + + + + + Gets a schema collection based on the provided restriction values. + + The name of the collection. + The values to restrict. + A schema collection object. + + + Empties the connection pool associated with the specified connection. + The associated with the pool to be cleared. + + + ClearPool clears the connection pool that is associated with the connection. + If additional connections associated with connection are in use at the time of the call, + they are marked appropriately and are discarded (instead of being returned to the pool) + when Close is called on them. + + + + + Clears all connection pools. + + ClearAllPools essentially performs a on all current connection + pools. + + + + + + Initiates the asynchronous execution of a transaction. + + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The cancellation token. + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The isolation level under which the transaction should run. + An object representing the new transaction. + + + + Asynchronous version of BeginTransaction. + + The isolation level under which the transaction should run. + The cancellation token. + An object representing the new transaction. + + + + Asynchronous version of the ChangeDataBase method. + + The name of the database to use. + + + + + Asynchronous version of the ChangeDataBase method. + + The name of the database to use. + The cancellation token. + + + + + Asynchronous version of the Close method. + + + + + Asynchronous version of the Close method. + + The cancellation token. + + + + Asynchronous version of the ClearPool method. + + The connection associated with the pool to be cleared. + + + + Asynchronous version of the ClearPool method. + + The connection associated with the pool to be cleared. + The cancellation token. + + + + Asynchronous version of the ClearAllPools method. + + + + + Asynchronous version of the ClearAllPools method. + + The cancellation token. + + + + Asynchronous version of the GetSchemaCollection method. + + The name of the collection. + The values to restrict. + A collection of schema objects. + + + + Asynchronous version of the GetSchemaCollection method. + + The name of the collection. + The values to restrict. + The cancellation token. + A collection of schema objects. + + + + Returns schema information for the data source of this . + + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name. + + Specifies the name of the schema to return. + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name and the specified string array + for the restriction values. + + Specifies the name of the schema to return. + Specifies a set of restriction values for the requested schema. + A that contains schema information. + + + + Enlists in the specified transaction. + + + A reference to an existing in which to enlist. + + + + + Creates a new MySqlConnection object with the exact same ConnectionString value + + A cloned MySqlConnection object + + + + Represents the method that will handle the event of a + . + + + + + Provides data for the InfoMessage event. This class cannot be inherited. + + + + + Gets or sets an array of objects set with the errors found. + + + + + IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality. + + + + + Summary description for Crypt. + + + + + Simple XOR scramble + + Source array + Index inside source array + Destination array + Index inside destination array + Password used to xor the bits + Number of bytes to scramble + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + Encrypts a password using the MySql encryption scheme + + The password to encrypt + The encryption seed the server gave us + Indicates if we should use the old or new encryption scheme + + + + + Hashes a password using the algorithm from Monty's code. + The first element in the return is the result of the "old" hash. + The second element is the rest of the "new" hash. + + Password to be hashed + Two element array containing the hashed values + + + + Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. + + + To create a MySQLDataReader, you must call the + method of the object, rather than directly using a constructor. + + + While the MySqlDataReader is in use, the associated + is busy serving the MySqlDataReader, and no other operations can be performed + on the MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + + + and + are the only properties that you can call after the MySqlDataReader is + closed. Though the RecordsAffected property may be accessed at any time + while the MySqlDataReader exists, always call Close before returning + the value of RecordsAffected to ensure an accurate return value. + + + For optimal performance, MySqlDataReader avoids creating + unnecessary objects or making unnecessary copies of data. As a result, multiple calls + to methods such as return a reference to the + same object. Use caution if you are modifying the underlying value of the objects + returned by methods such as GetValue. + + + The following example creates a , + a , and a MySqlDataReader. The example reads through + the data, writing it out to the console. Finally, the example closes the MySqlDataReader, then the + MySqlConnection. + + Public Sub ReadMyData(myConnString As String) + Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders" + Dim myConnection As New MySqlConnection(myConnString) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + ' Always call Read before accessing data. + While myReader.Read() + Console.WriteLine((myReader.GetInt32(0) & ", " & myReader.GetString(1))) + End While + ' always call Close when done reading. + myReader.Close() + ' Close the connection when done with it. + myConnection.Close() + End Sub 'ReadMyData + + + public void ReadMyData(string myConnString) { + string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"; + MySqlConnection myConnection = new MySqlConnection(myConnString); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + myConnection.Open(); + MySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + // Always call Read before accessing data. + while (myReader.Read()) { + Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1)); + } + // always call Close when done reading. + myReader.Close(); + // Close the connection when done with it. + myConnection.Close(); + } + + + + + + Gets the number of columns in the current row. + + + + + Gets a value indicating whether the MySqlDataReader contains one or more rows. + + + + + Gets a value indicating whether the data reader is closed. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + + + Overloaded. Gets the value of a column in its native format. + In C#, this property is the indexer for the MySqlDataReader class. + + + + + Gets the value of a column in its native format. + [C#] In C#, this property is the indexer for the MySqlDataReader class. + + + + + Gets a value indicating the depth of nesting for the current row. This method is not + supported currently and always returns 0. + + + + + Closes the MySqlDataReader object. + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to begin the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to begin the read operation. + The maximum length to copy into the buffer. + The actual number of bytes read. + + + + + Gets the value of the specified column as a single character. + + + + + + + Gets the value of the specified column as a single character. + + + + + + + Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. + + + + + + + + + + + Gets the name of the source data type. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + The column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + The zero-based column ordinal.The value of the specified column. + + + + Gets the value of the specified column as a . + + The name of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a . + + The index of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinalThe value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a Double object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a Double object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the Type that is the data type of the object. + + + + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a Float object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a Float object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the value of the specified column as a globally-unique identifier(GUID). + + The name of the column. + + + + + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; threfore, the data retrieved must already be a 16 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the name of the specified column. + + + + + + + Gets the column ordinal, given the name of the column. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a String object. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a String object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column in its native format. + + + + + + + Gets all attribute columns in the collection for the current row. + + + + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets a value indicating whether the column contains non-existent or missing values. + + + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + + + + Advances the MySqlDataReader to the next record. + + + + + + Gets the value of the specified column as a . + + The index of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a . + + The name of the colum. + The value of the specified column as a . + + + + Returns an that iterates through the . + + + + + Returns a DataTable that describes the column metadata of the MySqlDataReader. + + + + + + Summary description for BaseDriver. + + + + + For pooled connections, time when the driver was + put into idle queue + + + + + Loads the properties from the connected server into a hashtable + + + + + + + Loads all the current character set names and ids for this server + into the charSets hashtable + + + + + The exception that is thrown when MySQL returns an error. This class cannot be inherited. + + + + This class is created whenever the MySql Data Provider encounters an error generated from the server. + + + Any open connections are not automatically closed when an exception is thrown. If + the client application determines that the exception is fatal, it should close any open + objects or objects. + + + The following example generates a MySqlException due to a missing server, + and then displays the exception. + + + Public Sub ShowException() + Dim mySelectQuery As String = "SELECT column1 FROM table1" + Dim myConnection As New MySqlConnection ("Data Source=localhost;Database=Sample;") + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + + Try + myCommand.Connection.Open() + Catch e As MySqlException + MessageBox.Show( e.Message ) + End Try + End Sub + + + public void ShowException() + { + string mySelectQuery = "SELECT column1 FROM table1"; + MySqlConnection myConnection = + new MySqlConnection("Data Source=localhost;Database=Sample;"); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + + try + { + myCommand.Connection.Open(); + } + catch (MySqlException e) + { + MessageBox.Show( e.Message ); + } + } + + + + + + Gets a number that identifies the type of error. + + + + + True if this exception was fatal and cause the closing of the connection, false otherwise. + + + + + Gets the SQL state. + + + + + Gets an integer that representes the MySQL error code. + + + + + Summary description for Field. + + + + + We are adding a custom installer class to our assembly so our installer + can make proper changes to the machine.config file. + + + + + We override Install so we can add our assembly to the proper + machine.config files. + + + + + + We override Uninstall so we can remove out assembly from the + machine.config files. + + + + + + Automatically generates single-table commands used to reconcile changes made to a DataSet with the associated MySQL database. This class cannot be inherited. + + + The does not automatically generate the SQL statements required to + reconcile changes made to a DataSet with the associated instance of MySQL. + However, you can create a MySqlCommandBuilder object to automatically generate SQL statements for + single-table updates if you set the SelectCommand property + of the MySqlDataAdapter. Then, any additional SQL statements that you do not set are generated by the + MySqlCommandBuilder. + + + + The MySqlCommandBuilder registers itself as a listener for RowUpdating + events whenever you set the property. You can only associate one + MySqlDataAdapter or MySqlCommandBuilder object with each other at one time. + + + + To generate INSERT, UPDATE, or DELETE statements, the MySqlCommandBuilder uses the + SelectCommand property to retrieve a required set of metadata automatically. If you change + the SelectCommand after the metadata has is retrieved (for example, after the first update), you + should call the method to update the metadata. + + + + The SelectCommand must also return at least one primary key or unique + column. If none are present, an InvalidOperation exception is generated, + and the commands are not generated. + + + + The MySqlCommandBuilder also uses the Connection, + CommandTimeout, and Transaction + properties referenced by the SelectCommand. The user should call + RefreshSchema if any of these properties are modified, or if the + SelectCommand itself is replaced. Otherwise the InsertCommand, + UpdateCommand, and + DeleteCommand properties retain + their previous values. + + + + If you call Dispose, the MySqlCommandBuilder is disassociated + from the MySqlDataAdapter, and the generated commands are no longer used. + + + + Caution must be used when using MySqlCOmmandBuilder on MySql 4.0 systems. With MySql 4.0, + database/schema information is not provided to the connector for a query. This means that + a query that pulls columns from two identically named tables in two or more different databases + will not cause an exception to be thrown but will not work correctly. Even more dangerous + is the situation where your select statement references database X but is executed in + database Y and both databases have tables with similar layouts. This situation can cause + unwanted changes or deletes. + This note does not apply to MySQL versions 4.1 and later. + + + + The following example uses the , along + and , to + select rows from a data source. The example is passed an initialized + , a connection string, a + query string that is a SQL SELECT statement, and a string that is the + name of the database table. The example then creates a MySqlCommandBuilder. + + + Public Shared Function SelectRows(myConnection As String, mySelectQuery As String, myTableName As String) As DataSet + Dim myConn As New MySqlConnection(myConnection) + Dim myDataAdapter As New MySqlDataAdapter() + myDataAdapter.SelectCommand = New MySqlCommand(mySelectQuery, myConn) + Dim cb As SqlCommandBuilder = New MySqlCommandBuilder(myDataAdapter) + + myConn.Open() + + Dim ds As DataSet = New DataSet + myDataAdapter.Fill(ds, myTableName) + + ' Code to modify data in DataSet here + + ' Without the MySqlCommandBuilder this line would fail. + myDataAdapter.Update(ds, myTableName) + + myConn.Close() + End Function 'SelectRows + + + public static DataSet SelectRows(string myConnection, string mySelectQuery, string myTableName) + { + MySqlConnection myConn = new MySqlConnection(myConnection); + MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); + myDataAdapter.SelectCommand = new MySqlCommand(mySelectQuery, myConn); + MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); + + myConn.Open(); + + DataSet ds = new DataSet(); + myDataAdapter.Fill(ds, myTableName); + + //code to modify data in DataSet here + + //Without the MySqlCommandBuilder this line would fail + myDataAdapter.Update(ds, myTableName); + + myConn.Close(); + + return ds; + } + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the associated object. + + The to use. + + + The registers itself as a listener for + events that are generated by the + specified in this property. + + + When you create a new instance MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + is released. + + + + + + Gets or sets a object for which SQL statements are automatically generated. + + A object. + + + The registers itself as a listener for + events that are generated by the + specified in this property. + + + When you create a new instance MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + is released. + + + + + + Retrieves parameter information from the stored procedure specified + in the MySqlCommand and populates the Parameters collection of the + specified MySqlCommand object. + This method is not currently supported since stored procedures are + not available in MySql. + + The MySqlCommand referencing the stored + procedure from which the parameter information is to be derived. + The derived parameters are added to the Parameters collection of the + MySqlCommand. + The command text is not + a valid stored procedure name. + + + + Gets the delete command. + + + + + + Gets the update command. + + + + + + Gets the insert command. + + + + + + + + + + + + + Represents a set of data commands and a database connection that are used to fill a dataset and update a MySQL database. This class cannot be inherited. + + + The MySQLDataAdapter, serves as a bridge between a + and MySQL for retrieving and saving data. The MySQLDataAdapter provides this + bridge by mapping , which changes the data in the + DataSet to match the data in the data source, and , + which changes the data in the data source to match the data in the DataSet, + using the appropriate SQL statements against the data source. + + + When the MySQLDataAdapter fills a DataSet, it will create the necessary + tables and columns for the returned data if they do not already exist. However, primary + key information will not be included in the implicitly created schema unless the + property is set to . + You may also have the MySQLDataAdapter create the schema of the DataSet, + including primary key information, before filling it with data using . + + + MySQLDataAdapter is used in conjunction with + and to increase performance when connecting to a MySQL database. + + + The MySQLDataAdapter also includes the , + , , + , and + properties to facilitate the loading and updating of data. + + + When an instance of MySQLDataAdapter is created, the read/write properties + are set to initial values. For a list of these values, see the MySQLDataAdapter + constructor. + + + Please be aware that the class allows only + Int16, Int32, and Int64 to have the AutoIncrement property set. + If you plan to use autoincremement columns with MySQL, you should consider + using signed integer columns. + + + The following example creates a and a . + The MySqlConnection is opened and set as the for the + MySqlCommand. The example then calls , and closes + the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + Public Function SelectRows(dataSet As DataSet, connection As String, query As String) As DataSet + Dim conn As New MySqlConnection(connection) + Dim adapter As New MySqlDataAdapter() + adapter.SelectCommand = new MySqlCommand(query, conn) + adapter.Fill(dataset) + Return dataset + End Function + + + public DataSet SelectRows(DataSet dataset,string connection,string query) + { + MySqlConnection conn = new MySqlConnection(connection); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + adapter.SelectCommand = new MySqlCommand(query, conn); + adapter.Fill(dataset); + return dataset; + } + + + + + + Occurs during Update before a command is executed against the data source. The attempt to update is made, so the event fires. + + + + + Occurs during Update after a command is executed against the data source. The attempt to update is made, so the event fires. + + + + + Initializes a new instance of the MySqlDataAdapter class. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.SelectCommand = New MySqlCommand("SELECT id, name FROM mytable", conn) + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter(); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.SelectCommand = new MySqlCommand("SELECT id, name FROM mytable", conn); + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + the specified as the + property. + + that is a SQL SELECT statement or stored procedure and is set + as the property of the . + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + When SelectCommand (or any of the other command properties) is assigned + to a previously created , the MySqlCommand is not cloned. + The SelectCommand maintains a reference to the previously created MySqlCommand + object. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim cmd as new MySqlCommand("SELECT id, name FROM mytable", conn) + Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlCommand cmd = new MySqlCommand("SELECT id, name FROM mytable", conn); + MySqlDataAdapter da = new MySqlDataAdapter(cmd); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + a and a object. + + A String that is a SQL SELECT statement or stored procedure to be used by + the property of the . + + A that represents the connection. + + + This implementation of the opens and closes a + if it is not already open. This can be useful in a an application that must call the + method for two or more MySqlDataAdapter objects. + If the MySqlConnection is already open, you must explicitly call + or to close it. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", conn) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", conn); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + a and a connection string. + + A that is a SQL SELECT statement or stored procedure to + be used by the property of the . + The connection string + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test") + Dim conn As MySqlConnection = da.SelectCommand.Connection + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test"); + MySqlConnection conn = da.SelectCommand.Connection; + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Gets or sets a SQL statement or stored procedure used to delete records from the data set. + + A used during to delete records in the + database that correspond to deleted rows in the . + + + During , if this property is not set and primary key information + is present in the , the DeleteCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When DeleteCommand is assigned to a previously created , + the MySqlCommand is not cloned. The DeleteCommand maintains a reference + to the previously created MySqlCommand object. + + + The following example creates a and sets the + and DeleteCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the DeleteCommand. + cmd = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + parm.SourceVersion = DataRowVersion.Original + + da.DeleteCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the DeleteCommand. + cmd = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + parm.SourceVersion = DataRowVersion.Original; + + da.DeleteCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to insert records into the data set. + + A used during to insert records into the + database that correspond to new rows in the . + + + During , if this property is not set and primary key information + is present in the , the InsertCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When InsertCommand is assigned to a previously created , + the MySqlCommand is not cloned. The InsertCommand maintains a reference + to the previously created MySqlCommand object. + + + If execution of this command returns rows, these rows may be added to the DataSet + depending on how you set the property of the MySqlCommand object. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to select records in the data source. + + A used during to select records from the + database for placement in the . + + + When SelectCommand is assigned to a previously created , + the MySqlCommand is not cloned. The SelectCommand maintains a reference to the + previously created MySqlCommand object. + + + If the SelectCommand does not return any rows, no tables are added to the + , and no exception is raised. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to updated records in the data source. + + A used during to update records in the + database with data from the . + + + During , if this property is not set and primary key information + is present in the , the UpdateCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When UpdateCommand is assigned to a previously created , + the MySqlCommand is not cloned. The UpdateCommand maintains a reference + to the previously created MySqlCommand object. + + + If execution of this command returns rows, these rows may be merged with the DataSet + depending on how you set the property of the MySqlCommand object. + + + The following example creates a and sets the + and UpdateCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the UpdateCommand. + cmd = New MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + + parm = cmd.Parameters.Add("@oldId", MySqlDbType.VarChar, 15, "id") + parm.SourceVersion = DataRowVersion.Original + + da.UpdateCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the UpdateCommand. + cmd = new MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + parm = cmd.Parameters.Add( "@oldId", MySqlDbType.VarChar, 15, "id" ); + parm.SourceVersion = DataRowVersion.Original; + + da.UpdateCommand = cmd; + + return da; + } + + + + + + Open connection if it was closed. + Necessary to workaround "connection must be open and valid" error + with batched updates. + + Row state + list of opened connections + If connection is opened by this function, the list is updated + + true if connection was opened + + + + Overridden. See . + + + + + + + + + + Overridden. See . + + + + + + + + + + Overridden. Raises the RowUpdating event. + + A MySqlRowUpdatingEventArgs that contains the event data. + + + + Overridden. Raises the RowUpdated event. + + A MySqlRowUpdatedEventArgs that contains the event data. + + + + Asynchronous version of the Fill method. + + The to fill records with. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill records with. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The name of the to use for table mapping. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The name of the to use for table mapping. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The name of the source table to use for table mapping. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The name of the source table to use for table mapping. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + An instance of . + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + An instance of . + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The start record. + The max number of affected records. + The s to fill with records. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The start record. + The max number of affected records. + The cancellation token. + The s to fill with records. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The start record. + The max number of affected records. + The name of the source table to use for table mapping. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The start record. + The max number of affected records. + The name of the source table to use for table mapping. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The name of the source table to use for table mapping. + An instance of . + The start record. + The max number of affected records. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The name of the source table to use for table mapping. + An instance of . + The start record. + The max number of affected records. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The s to fill with records. + The start record. + The max number of affected records. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The number of rows successfully added to or refreshed in the s. + + + + Asynchronous version of the Fill method. + + The s to fill with records. + The start record. + The max number of affected records. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The cancellation token. + The number of rows successfully added to or refreshed in the s. + + + + Asynchronous version of the Fill method. + + The to fill with records. + The start record. + The max number of affected records. + The name of the source table to use for table mapping. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The number of rows successfully added to or refreshed in the . + + + + Asynchronous version of the Fill method. + + The to fill with records. + The start record. + The max number of affected records. + The name of the source table to use for table mapping. + The SQL SELECT statement used to retrieve rows from the data source. + One of the values. + The cancellation token. + The number of rows successfully added to or refreshed in the . + + + + Async version of FillSchema + + DataSet to use + Schema Type + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataReader to use + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + DBCommand to use + Source Table + Command Behavior + DataTable[] + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataReader to use + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DBCommand to use + Command Behavior + DataTable + + + + Async version of Update + + DataRow[] to use + int + + + + Async version of Update + + DataSet to use + int + + + + Async version of Update + + DataTable to use + int + + + + Async version of Update + + DataRow[] to use + Data Table Mapping + int + + + + Async version of Update + + DataSet to use + Source Table + + + + + Represents the method that will handle the event of a . + + + + + Represents the method that will handle the event of a . + + + + + Provides data for the RowUpdating event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatingEventArgs class. + + The to + . + The to execute during . + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand to execute when performing the Update. + + + + + Provides data for the RowUpdated event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatedEventArgs class. + + The sent through an . + The executed when is called. + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand executed when Update is called. + + + + + Enables the provider to help ensure that a user has a security level adequate for accessing data. + + + + + Adds a new connection string with set of restricted keywords to the MySqlClientPermission object + + Settings to be used for the connection + Keywords to define the restrictions + KeyRestrictionBehavior to be used + + + + Returns MySqlClientPermission as an IPermission + + + + + + Associates a security action with a custom security attribute. + + + + + Represents a section within a configuration file. + + + + + Gets the MySQL configuations associated to the current configuration. + + + + + Gets a collection of the exception interceptors available in the current configuration. + + + + + Gets a collection of the command interceptors available in the current configuration. + + + + + Gets a collection of the authentication plugins available in the current configuration. + + + + + Gets or sets the replication configurations. + + + + + Defines the configurations allowed for an authentication plugin. + + + + + Gets or sets the name of the authentication plugin. + + + + + Gets or sets the type of the authentication plugin. + + + + + Defines the configurations allowed for an interceptor. + + + + + Gets or sets the name of the interceptor. + + + + + Gets or sets the type of the interceptor. + + + + + Represents a generic configuration element. + + + + + + Gets an enumerator that iterates through the returned list. + + An enumerator that iterates through the returned list. + + + + Helper class that makes it easier to work with the provider. + + + + + Asynchronous version of ExecuteDataRow. + + The settings to be used for the connection. + The command to execute. + The parameters to use for the command. + The DataRow containing the first row of the resultset. + + + + Asynchronous version of ExecuteDataRow. + + The settings to be used for the connection. + The command to execute. + The cancellation token. + The parameters to use for the command. + The DataRow containing the first row of the resultset. + + + + Executes a single SQL command and returns the first row of the resultset. A new MySqlConnection object + is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + DataRow containing the first row of the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Updates the given table with data from the given + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of UpdateDataset + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Executes a single command against a MySQL database. The is assumed to be + open when the method is called and remains open after the method completes. + + The object to use + The SQL command to be executed. + An array of objects to use with the command. + The number of affected records. + + + + Executes a single command against a MySQL database. + + to use. + The SQL command to be executed. + An rray of objects to use with the command. + The number of affected records. + A new is created using the given. + + + + Executes a single command against a MySQL database, possibly inside an existing transaction. + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Execute a single command against a MySQL database. + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Escapes the string. + + The string to escape. + The string with all quotes escaped. + + + + Replaces quotes with double quotes. + + The string to modidify. + A string containing double quotes instead of single quotes. + + + + Async version of ExecuteNonQuery + + object to use + SQL command to be executed + Array of objects to use with the command. + Rows affected + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + An array of objects to use with the command. + The number of rows affected. + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + The cancellation token. + An array of objects to use with the command. + The number of rows affected. + + + + Async version of ExecuteReader + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteReader + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteScalar + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Represents a parameter to a , This class cannot be inherited. + + + + + Gets or sets the to use when loading . + + + + + CLoses this object. + + An object that is a clone of this object. + + + + Initializes a new instance of the class with the parameter name, the , the size, and the source column name. + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. + + The name of the parameter to map. + An that is the value of the . + + + + Initializes a new instance of the class with the parameter name and the data type. + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the class with the parameter name, the , and the size. + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. + + The name of the parameter to map. + One of the values. + The length of the parameter. + One of the values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which is resolved. + The total number of decimal places to which is resolved. + The name of the source column. + One of the values. + An that is the value of the . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + As of MySql version 4.1 and earlier, input-only is the only valid choice. + + + + + Gets or sets a value indicating whether the parameter accepts null values. + + + + + Gets or sets the of the parameter. + + + + + Gets or sets the maximum number of digits used to represent the property. + + + + + Gets or sets the number of decimal places to which is resolved. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + + Gets or sets the value of the parameter. + + + + + Returns the possible values for this parameter if this parameter is of type + SET or ENUM. Returns null otherwise. + + + + + Gets or sets the name of the source column that is mapped to the and used for loading or returning the . + + + + + Sets or gets a value which indicates whether the source column is nullable. + This allows to correctly generate Update statements + for nullable columns. + + + + + Gets or sets the of the parameter. + + + + + Overridden. Gets a string containing the . + + + + + + Resets the DbType property to its original settings. + + + + + Represents a collection of parameters relevant to a as well as their respective mappings to columns in a . This class cannot be inherited. + + + The number of the parameters in the collection must be equal to the number of + parameter placeholders within the command text, or an exception will be generated. + + The following example creates multiple instances of + through the MySqlParameterCollection collection within the . + These parameters are used to select data within the data source and place the data in + the . This code assumes that a DataSet and a MySqlDataAdapter + have already been created with the appropriate schema, commands, and connection. + + Public Sub AddParameters() + ' ... + ' create myDataSet and myDataAdapter + ' ... + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters" + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239 + + myDataAdapter.Fill(myDataSet) + End Sub 'AddSqlParameters + + + public void AddSqlParameters() + { + // ... + // create myDataSet and myDataAdapter + // ... + + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters"; + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239; + myDataAdapter.Fill(myDataSet); + + } + + + + + + Gets a value that indicates whether the + has a fixed size. + + + + + Gets a value that indicates whether the + is read-only. + + + + + Gets a value that indicates whether the + is synchronized. + + + + + Gets the number of MySqlParameter objects in the collection. + + + + + Gets the at the specified index. + + Gets the with a specified attribute. + [C#] In C#, this property is the indexer for the class. + + + + + Gets the with the specified name. + + + + + Adds a to the with the parameter name, the data type, the column length, and the source column name. + + The name of the parameter. + One of the values. + The length of the column. + The name of the source column. + The newly added object. + + + + Adds the specified object to the . + + The to add to the collection. + The newly added object. + + + + Adds a parameter and its value. + + The name of the parameter. + The value of the parameter. + A object representing the provided values. + + + + Adds a to the given the parameter name and the data type. + + The name of the parameter. + One of the values. + The newly added object. + + + + Adds a to the with the parameter name, the data type, and the column length. + + The name of the parameter. + One of the values. + The length of the column. + The newly added object. + + + + Removes all items from the collection. + + + + + Gets the location of the in the collection with a specific parameter name. + + The name of the object to retrieve. + The zero-based location of the in the collection. + + + + Gets the location of a in the collection. + + The object to locate. + The zero-based location of the in the collection. + Gets the location of a in the collection. + + + + This method will update all the items in the index hashes when + we insert a parameter somewhere in the middle + + + + + + + Adds an array of values to the end of the . + + + + + + Retrieve the parameter with the given name. + + + + + + + Adds the specified object to the . + + The to add to the collection. + The index of the new object. + + + + Gets a value indicating whether a with the specified parameter name exists in the collection. + + The name of the object to find. + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether a MySqlParameter exists in the collection. + + The value of the object to find. + true if the collection contains the object; otherwise, false. + Gets a value indicating whether a exists in the collection. + + + + Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. + + + + + + + Returns an enumerator that iterates through the . + + + + + + Inserts a MySqlParameter into the collection at the specified index. + + + + + + + Removes the specified MySqlParameter from the collection. + + + + + + Removes the specified from the collection using the parameter name. + + The name of the object to retrieve. + + + + Removes the specified from the collection using a specific index. + + The zero-based index of the parameter. + Removes the specified from the collection. + + + + Gets an object that can be used to synchronize access to the + . + + + + + Represents a single(not nested) TransactionScope + + + + + Defines security permissions assigned to a MySQL object. + + + + + Creates a set of permissions. + + A flag indicating if the reflection permission should be included. + A object representing a collection of permissions. + + + + BaseCommandInterceptor is the base class that should be used for all userland + command interceptors + + + + + Gets the active connection. + + + + + Executes an SQL statements that returns a scalar value such as a calculation. + + The SQL statement to execute. + A scalar value that represents the result returned by the execution of the SQL statement. + false. + This method is intended to be overriden. + + + + Executes an SQL statement that returns the number of affected rows. + + The SQL statement to execute. + The number of affected rows. + false. + This method is intended to be overriden. + + + + Executes an SQL statement that will return a resultset. + + The SQL statement to execute. + A value that describes the results of the query and its effect on the database. + A object containing the result of the statement execution. + false. + This method is intended to be overriden. + + + + Sets the active connection. + + The active connection. + + + + CommandInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + BaseExceptionInterceptor is the base class that should be used for all userland + exception interceptors. + + + + + Returns the received exception. + + The exception to be returned. + The exception originally received. + + + + Gets the active connection. + + + + + Initilizes this object by setting the active connection. + + The connection to become active. + + + + StandardExceptionInterceptor is the standard interceptor that simply returns the exception. + It is the default action. + + + + + Returns the received exception, which is the default action + + The exception to be returned. + The exception originally received. + + + + ExceptionInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + Interceptor is the base class for the "manager" classes such as ExceptionInterceptor, + CommandInterceptor, etc + + + + + Return schema information about procedures and functions + Restrictions supported are: + schema, name, type + + + + + + + Return schema information about parameters for procedures and functions + Restrictions supported are: + schema, name, type, parameter name + + + + + Initializes a new row for the procedure parameters table. + + + + + Parses out the elements of a procedure parameter data type. + + + + + Implementation of memcached binary client protocol. + + According to http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped + + + + Sends an store command (add, replace, set). + + + + + + + + + + + Sends a get command. + + + + + + + + + Sends a delete command. + + + + + + + + Sends a command without args (like flush). + + + + + + + + Sends a command with amount (INCR/DECR) + + + + + + + + + Encodes in the binary protocol the a command of the kind set, add or replace. + + + + + + + If true applies to set, add or replace commands; if false applies to append and prepend commands. + + + + + An interface of the client memcached protocol. This class is abstract for + implementation of the Memcached client interface see for the + text protocol version and for the binary protocol version. + + + + + The port used by the connection. + + + + + The server DNS or IP address used by the connection. + + + + + The network stream used by the connecition. + + + + + Factory method for creating instances of that implement a connection with the requested features. + The connection object returned must be explicitely opened see method . + + The Memcached server DNS or IP address. + The port for the Memcached server + A set of flags indicating characterestics requested. + An instance of a client connection ready to be used. + + + + Opens the client connection. + + + + + Closes the client connection. + + + + + Adds a new key/value pair with the given TimeSpan expiration. + + The key for identifying the entry. + The data to associate with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Appens the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Executes the Check-and-set Memcached operation. + + The key for identifying the entry. + The data to use in the CAS. + The interval of timespan, use TimeSpan.Zero for no expiration. + The CAS unique value to use. + + + + + Decrements the value associated with a key by the given amount. + + The key associated with the value to decrement. + The amount to decrement the value. + + + + Removes they pair key/value given the specified key. + + + + + + Removes all entries from the storage, effectively invalidating the whole cache. + + The interval after which the cache will be cleaned. Can be TimeSpan.Zero for immediately. + + + + Get the key/value pair associated with a given key. + + The key for which to returm the key/value. + The key/value associated with the key or a MemcachedException if it does not exists. + + + + Increments the value associated with a key by the given amount. + + The key associated with the value to increment. + The amount to increment the value. + + + + Prepends the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Replaces the value associated with the given key with another value. + + The key for identifying the entry. + The data to replace the value associated with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Set the value of a given key. + + The key for identifying the entry. + The data to associate with the given key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + A set of flags for requesting new instances of connections + + + + + Requests a connection implememting the text protocol. + + + + + Requests a connection implementing the binary protocol. + + + + + Requests a TCP connection. Currently UDP is not supported. + + + + + The base exception class for all Memcached exceptions. + + + + + Implementation of the Memcached text client protocol. + + + + + Sends a command to the memcached server. + + + + + + + This version is for commands that take a key, data, expiration and casUnique. + + + + Sends a command to the memcached server. + + + + + + This version is for commands that take a key, data and expiration + + + + Send a command to memcached server. + + + + + This version is for commands that don't need flags neither expiration fields. + + + + Sends a command to the server. + + + + This version is for commands that only require a key + + + + Sends a command to the server. + + + + + This version is for commands that only require a key and an integer value. + + + + Sends a command to the server. + + + + This version is for commands that only require a key and expiration. + + + + Abstract class that provides common functionality for connection options that apply for all protocols. + + + + + Readonly field containing a collection of protocol shared connection options. + + + + + Gets or sets a flag indicating if the object has access to procedures. + + + + + Gets or sets a dictionary representing key-value pairs for each connection option. + + + + + Gets or sets the name of the server. + + The server. + + + + Gets or sets the name of the database for the initial connection. + + + + + Gets or sets the protocol that should be used for communicating + with MySQL. + + + + + Gets or sets the port number that is used when the socket + protocol is being used. + + + + + Gets or sets a boolean value that indicates whether this connection + should resolve DNS SRV records. + + + + + Gets or sets the user ID that should be used to connect with. + + + + + Gets or sets the password that should be used to make a connection. + + + + + Gets or sets the path to the certificate file to be used. + + + + + Gets or sets the password to be used in conjunction with the certificate file. + + + + + Gets or sets the location to a personal store where a certificate is held. + + + + + Gets or sets a certificate thumbprint to ensure correct identification of a certificate contained within a personal store. + + + + + Indicates whether to use SSL connections and how to handle server certificate errors. + + + + + Sets the TLS versions to use in a SSL connection to the server. + + + Tls version=TLSv1.1,TLSv1.2; + + + + + Gets or sets the path to a local key file in PEM format to use for establishing an encrypted connection. + + + + + Gets or sets the path to a local certificate file in PEM format to use for establishing an encrypted connection. + + + + + Gets or sets the name of the SSH server. + + + + + Gets or sets the port number to use when authenticating to the SSH server. + + + + + Gets or sets the user name to authenticate to the SSH server. + + + + + Gets or sets the password to authenticate to the SSH server. + + + + + Gets or sets the SSH key file to authenticate to the SSH server. + + + + + Gets or sets the passphrase of the key file to authenticate to the SSH server. + + + + + Gets or sets the idle connection time(seconds) for TCP connections. + + + + + Gets or sets the character set that should be used for sending queries to the server. + + + + + Analyzes the connection string for potential duplicated or invalid connection options. + + Connection string. + Flag that indicates if the connection is using X Protocol. + Flag that indicates if the default port is used. + + + + Represents a set of methods for creating instances of the MySQL client implementation of the data source classes. + + + + + Gets an instance of the . + This can be used to retrieve strongly typed data objects. + + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommand. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnection. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbParameter. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnectionStringBuilder. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommandBuilder. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbDataAdapter. + + + + Provide a simple caching layer + + + + + Aids in the creation of connection strings by exposing the connection options as properties. + Contains connection options specific to the Classic protocol. + + + + + Main constructor. + + + + + Constructor accepting a connection string. + + The connection string. + + + + Readonly field containing a collection of classic protocol and protocol shared connection options. + + + + + Gets or sets the name of the named pipe that should be used + for communicating with MySQL. + + + + + Gets or sets a boolean value that indicates whether this connection + should use compression. + + + + + Gets or sets a boolean value that indicates whether this connection will allow + commands to send multiple SQL statements in one execution. + + + + + Gets or sets a boolean value that indicates whether logging is enabled. + + + + + Gets or sets the base name of the shared memory objects used to + communicate with MySQL when the shared memory protocol is being used. + + + + + Gets or sets the default command timeout. + + + + + Gets or sets the connection timeout. + + + + + Gets or sets a boolean value that indicates whether this connection will allow + to load data local infile. + + + + + Gets or sets a boolean value that indicates if the password should be persisted + in the connection string. + + + + + Gets or sets a boolean value that indicates if the connection should be encrypted. + + Obsolte. Use instead. + + + + Gets or sets a boolean value that indicates if RSA public keys should be retrieved from the server. + + This option is only relevant when SSL is disabled. Setting this option to true in + 8.0 servers that have the caching_sha2_password authentication plugin as the default plugin will + cause the connection attempt to fail if the user hasn't successfully connected to the server on a + previous occasion. + + + + Gets or sets a boolean value that indicates if zero date time values are supported. + + Default value is false. + + + + Gets or sets a boolean value that indicates if zero datetime values should be + converted to DateTime.MinValue. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the Usage Advisor should be enabled. + + Default value is false. + + + + Gets or sets the size of the stored procedure cache. + + Default value is 25. + + + + Gets or sets a boolean value that indicates if the performance monitor hooks should be enabled. + + Default value is false. + + + + Gets or sets a boolean value that indicates if calls to the Prepare method should be ignored. + + Default value is false. + + + + Gets or sets a boolean value that indicates if an opened connection should particiapte in the current scope. + + Default value is true. + + + + Gets or sets a boolean value that indicates if security asserts must be included. + + Must be set to true when using the class in a partial trust environment, + with the library installed in the GAC of the hosting environment. Not supported in .NET Core. + Default value is false. + + + + Gets or sets a boolean value that indicates if column binary flags set by the server are ignored. + + Default value is true. + + + + Gets or sets a boolean value that indicates if TINYINT(1) shound be treated as a BOOLEAN. + + Default value is true. + + + + Gets or sets a boolean value that indicates if the provider expects user variables in the SQL. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the session should be interactive. + + Default value is false. + + + + Gets or sets a boolean value that indicates if server functions should be treated as returning a string. + + Default value is false. + + + + Gets or sets a boolean value that indicates if the server should report affected rows instead of found rows. + + Default value is false. + + + + Gets or sets a boolean value that indicates if items of data type BINARY(16) should be treated as guids. + + Default value is false. + + + + Gets or sets a boolean value that indicates if SQL Server syntax should be allowed by supporting square brackets + around symbols instead of backticks. + + Default value is false. + + + + Gets or sets a boolean value that indicates if caching of TableDirect commands is enabled. + + Default value is false. + + + + Gets or sets the seconds for how long a TableDirect result should be cached. + + Default value is 0. + + + + Gets or sets a boolean value that indicates if stored routine parameters should be checked against the server. + + Default value is true. + + + + Gets or sets a boolean value that indicates if this connection will use replication. + + Default value is false. + + + + Gets or sets the list of interceptors that can triage thrown MySqlExceptions. + + + + + Gets or sets the list of interceptors that can intercept command operations. + + + + + Gets or sets the lifetime of a pooled connection. + + Default value is 0. + + + + Gets or sets a boolean value indicating if connection pooling is enabled. + + Default value is true. + + + + Gets the minimum connection pool size. + + Default value is 0. + + + + Gets or sets the maximum connection pool setting. + + Default value is 100. + + + + Gets or sets a boolean value that indicates if the connection should be reset when retrieved + from the pool. + + Default value is false. + + + + Gets or sets a boolean value that indicates whether the server variable settings are updated by a + SHOW VARIABLES command each time a pooled connection is returned. + + Default value is false. + + + + Indicates whether the driver should treat binary BLOBs as UTF8. + + Default value is false. + + + + Gets or sets the pattern to match for the columns that should be treated as UTF8. + + + + + Gets or sets the pattern to match for the columns that should not be treated as UTF8. + + + + + Gets or sets a connection option. + + The keyword that identifies the connection option to modify. + + + + Summary description for ClientParam. + + + + + DB Operations Code + + + + + Specifies MySQL specific data type of a field, property, for use in a . + + + + + + A fixed precision and scale numeric value between -1038 + -1 and 10 38 -1. + + + + + The signed range is -128 to 127. The unsigned + range is 0 to 255. + + + + + A 16-bit signed integer. The signed range is + -32768 to 32767. The unsigned range is 0 to 65535 + + + + + Specifies a 24 (3 byte) signed or unsigned value. + + + + + A 32-bit signed integer + + + + + A 64-bit signed integer. + + + + + A small (single-precision) floating-point + number. Allowable values are -3.402823466E+38 to -1.175494351E-38, + 0, and 1.175494351E-38 to 3.402823466E+38. + + + + + A normal-size (double-precision) + floating-point number. Allowable values are -1.7976931348623157E+308 + to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to + 1.7976931348623157E+308. + + + + + A timestamp. The range is '1970-01-01 00:00:00' to sometime in the + year 2037 + + + + + Date The supported range is '1000-01-01' to '9999-12-31'. + + + + + Time The range is '-838:59:59' to '838:59:59'. + + + + + DateTime The supported range is '1000-01-01 00:00:00' to + '9999-12-31 23:59:59'. + + + + + Datetime The supported range is '1000-01-01 00:00:00' to + '9999-12-31 23:59:59'. + + + + + A year in 2- or 4-digit format (default is 4-digit). The + allowable values are 1901 to 2155, 0000 in the 4-digit year + format, and 1970-2069 if you use the 2-digit format (70-69). + + + + + Obsolete Use Datetime or Date type + + + + + A variable-length string containing 0 to 65535 characters + + + + + Bit-field data type + + + + + JSON + + + + + New Decimal + + + + + An enumeration. A string object that can have only one value, + chosen from the list of values 'value1', 'value2', ..., NULL + or the special "" error value. An ENUM can have a maximum of + 65535 distinct values + + + + + A set. A string object that can have zero or more values, each + of which must be chosen from the list of values 'value1', 'value2', + ... A SET can have a maximum of 64 members. + + + + + A binary column with a maximum length of 255 (2^8 - 1) + characters + + + + + A binary column with a maximum length of 16777215 (2^24 - 1) bytes. + + + + + A binary column with a maximum length of 4294967295 or + 4G (2^32 - 1) bytes. + + + + + A binary column with a maximum length of 65535 (2^16 - 1) bytes. + + + + + A variable-length string containing 0 to 255 bytes. + + + + + A fixed-length string. + + + + + Geometric (GIS) data type. + + + + + Unsigned 8-bit value. + + + + + Unsigned 16-bit value. + + + + + Unsigned 24-bit value. + + + + + Unsigned 32-bit value. + + + + + Unsigned 64-bit value. + + + + + Fixed length binary string. + + + + + Variable length binary string. + + + + + A text column with a maximum length of 255 (2^8 - 1) characters. + + + + + A text column with a maximum length of 16777215 (2^24 - 1) characters. + + + + + A text column with a maximum length of 4294967295 or + 4G (2^32 - 1) characters. + + + + + A text column with a maximum length of 65535 (2^16 - 1) characters. + + + + + A guid column. + + + + + Allows the user to specify the type of connection that should + be used. + + + + + TCP/IP style connection. Works everywhere. + + + + + TCP/IP style connection. Works everywhere. + + + + + TCP/IP style connection. Works everywhere. + + + + + Named pipe connection. Works only on Windows systems. + + + + + Named pipe connection. Works only on Windows systems. + + + + + Unix domain socket connection. Works only with Unix systems. + + + + + Unix domain socket connection. Works only with Unix systems. + + + + + Shared memory connection. Currently works only with Windows systems. + + + + + Shared memory connection. Currently works only with Windows systems. + + + + + SSL options for connection. + + + + + Do not use SSL. + + + + + Use SSL, if server supports it. This option is only available for the classic protocol. + + + + + Always use SSL. Deny connection if server does not support SSL. + Do not perform server certificate validation. + This is the default SSL mode when the same isn't specified as part of the connection string. + + + + + Always use SSL. Validate server SSL certificate, but different host name mismatch. + + + + + Always use SSL and perform full certificate validation. + + + + + Specifies the connection types supported + + + + + Use TCP/IP sockets. + + + + + Use client library. + + + + + Use MySQL embedded server. + + + + + Defines the location of the certificate store. + + + + + Do not use certificate store. + + + + + Use certificate store for the current user. + + + + + User certificate store for the machine. + + + + + Specifies the authentication mechanism that should be used. + + + + + If SSL is enabled or Unix sockets are being used, sets PLAIN as the authentication mechanism; + otherwise, it tries to use MYSQL41 and then SHA256_MEMORY. + + + + + Authenticate using PLAIN. + + + + + Authenticate using MYSQL41. + + + + + Authenticate using EXTERNAL. + + + + + Authenticate using SHA256_MEMORY. + + + + + Defines waiting options that may be used with row locking options. + + + + + Waits until the blocking transaction releases the row lock. + + + + + Never waits to acquire a row lock. The query executes immediately, + failing with an error if a requested row is locked. + + + + + Never waits to acquire a row lock. The query executes immediately, + removing locked rows from the result set. + + + + + Defines the type of compression used when data is exchanged between client and server. + + + + + Uses compression if client and server are able to reach a concensus. Otherwise, compression + is not used. + + + + + Enforces the use of compression. If no concensus is reached, an error is raised. + + + + + Disables compression. + + + + + Collection of error codes that can be returned by the server + + + + + + + + + + + Error level + + + + + Error code + + + + + Error message + + + + + Provides a reference to error codes returned by MySQL. + + + + + ER_HASHCHK + + + + ER_NISAMCHK + + + + ER_NO + + + + ER_YES + + + The file couldn't be created. + ER_CANT_CREATE_FILE + + + The table couldn't be created. + ER_CANT_CREATE_TABLE + + + The database couldn't be created. + ER_CANT_CREATE_DB + + + The database couldn't be created, it already exists. + ER_DB_CREATE_EXISTS + + + The database couldn't be dropped, it doesn't exist. + ER_DB_DROP_EXISTS + + + The database couldn't be dropped, the file can't be deleted. + ER_DB_DROP_DELETE + + + The database couldn't be dropped, the directory can't be deleted. + ER_DB_DROP_RMDIR + + + The file couldn't be deleted. + ER_CANT_DELETE_FILE + + + The record couldn't be read from the system table. + ER_CANT_FIND_SYSTEM_REC + + + The status couldn't be retrieved. + ER_CANT_GET_STAT + + + The working directory couldn't be retrieved. + ER_CANT_GET_WD + + + The file couldn't be locked. + ER_CANT_LOCK + + + The file couldn't be opened. + ER_CANT_OPEN_FILE + + + The file couldn't be found. + ER_FILE_NOT_FOUND + + + The directory couldn't be read. + ER_CANT_READ_DIR + + + The working directory couldn't be entered. + ER_CANT_SET_WD + + + The record changed since it was last read. + ER_CHECKREAD + + + The disk is full. + ER_DISK_FULL + + + + There is already a key with the given values. + + + + An error occurred when closing the file. + ER_ERROR_ON_CLOSE + + + An error occurred when reading from the file. + ER_ERROR_ON_READ + + + An error occurred when renaming then file. + ER_ERROR_ON_RENAME + + + An error occurred when writing to the file. + ER_ERROR_ON_WRITE + + + The file is in use. + ER_FILE_USED + + + Sorting has been aborted. + ER_FILSORT_ABORT + + + The view doesn't exist. + ER_FORM_NOT_FOUND + + + Got the specified error from the table storage engine. + ER_GET_ERRNO + + + The table storage engine doesn't support the specified option. + ER_ILLEGAL_HA + + + + The specified key was not found. + + + + The file contains incorrect information. + ER_NOT_FORM_FILE + + + The key file is incorrect for the table, it should be repaired. + ER_NOT_KEYFILE + + + The key file is old for the table, it should be repaired. + ER_OLD_KEYFILE + + + The table is read-only + ER_OPEN_AS_READONLY + + + The server is out of memory, it should be restarted. + ER_OUTOFMEMORY + + + The server is out of sort-memory, the sort buffer size should be increased. + ER_OUT_OF_SORTMEMORY + + + An unexpected EOF was found when reading from the file. + ER_UNEXPECTED_EOF + + + Too many connections are open. + ER_CON_COUNT_ERROR + + + The server is out of resources, check if MySql or some other process is using all available memory. + ER_OUT_OF_RESOURCES + + + + Given when the connection is unable to successfully connect to host. + + + + The handshake was invalid. + ER_HANDSHAKE_ERROR + + + Access was denied for the specified user using the specified database. + ER_DBACCESS_DENIED_ERROR + + + + Normally returned when an incorrect password is given + + + + No database has been selected. + ER_NO_DB_ERROR + + + The command is unknown. + ER_UNKNOWN_COM_ERROR + + + The specified column cannot be NULL. + ER_BAD_NULL_ERROR + + + The specified database is not known. + + + The specified table already exists. + ER_TABLE_EXISTS_ERROR + + + The specified table is unknown. + ER_BAD_TABLE_ERROR + + + The specified column is ambiguous. + ER_NON_UNIQ_ERROR + + + The server is currently being shutdown. + ER_SERVER_SHUTDOWN + + + The specified columns is unknown. + ER_BAD_FIELD_ERROR + + + The specified column isn't in GROUP BY. + ER_WRONG_FIELD_WITH_GROUP + + + The specified columns cannot be grouped on. + ER_WRONG_GROUP_FIELD + + + There are sum functions and columns in the same statement. + ER_WRONG_SUM_SELECT + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT + + + The identifier name is too long. + ER_TOO_LONG_IDENT + + + The column name is duplicated. + ER_DUP_FIELDNAME + + + + Duplicate Key Name + + + + + Duplicate Key Entry + + + + The column specifier is incorrect. + ER_WRONG_FIELD_SPEC + + + An error occurred when parsing the statement. + ER_PARSE_ERROR + + + The statement is empty. + ER_EMPTY_QUERY + + + The table alias isn't unique. + ER_NONUNIQ_TABLE + + + The default value is invalid for the specified field. + ER_INVALID_DEFAULT + + + The table has multiple primary keys defined. + ER_MULTIPLE_PRI_KEY + + + Too many keys were defined for the table. + ER_TOO_MANY_KEYS + + + Too many parts to the keys were defined for the table. + ER_TOO_MANY_KEY_PARTS + + + The specified key is too long + ER_TOO_LONG_KEY + + + The specified key column doesn't exist in the table. + ER_KEY_COLUMN_DOES_NOT_EXITS + + + The BLOB column was used as a key, this can't be done. + ER_BLOB_USED_AS_KEY + + + The column length is too big for the specified column type. + ER_TOO_BIG_FIELDLENGTH + + + There can only be one auto-column, and it must be defined as a PK. + ER_WRONG_AUTO_KEY + + + The server is ready to accept connections. + ER_READY + + + + ER_NORMAL_SHUTDOWN + + + The server received the specified signal and is aborting. + ER_GOT_SIGNAL + + + The server shutdown is complete. + ER_SHUTDOWN_COMPLETE + + + The server is forcing close of the specified thread. + ER_FORCING_CLOSE + + + An error occurred when creating the IP socket. + ER_IPSOCK_ERROR + + + The table has no index like the one used in CREATE INDEX. + ER_NO_SUCH_INDEX + + + The field separator argument is not what is expected, check the manual. + ER_WRONG_FIELD_TERMINATORS + + + The BLOB columns must terminated, fixed row lengths cannot be used. + ER_BLOBS_AND_NO_TERMINATED + + + The text file cannot be read. + ER_TEXTFILE_NOT_READABLE + + + The specified file already exists. + ER_FILE_EXISTS_ERROR + + + Information returned by the LOAD statement. + ER_LOAD_INFO + + + Information returned by an UPDATE statement. + ER_ALTER_INFO + + + The prefix key is incorrect. + ER_WRONG_SUB_KEY + + + All columns cannot be removed from a table, use DROP TABLE instead. + ER_CANT_REMOVE_ALL_FIELDS + + + Cannot DROP, check that the column or key exists. + ER_CANT_DROP_FIELD_OR_KEY + + + Information returned by an INSERT statement. + ER_INSERT_INFO + + + The target table cannot be specified for update in FROM clause. + ER_UPDATE_TABLE_USED + + + The specified thread ID is unknown. + ER_NO_SUCH_THREAD + + + The thread cannot be killed, the current user is not the owner. + ER_KILL_DENIED_ERROR + + + No tables used in the statement. + ER_NO_TABLES_USED + + + Too many string have been used for the specified column and SET. + ER_TOO_BIG_SET + + + A unique filename couldn't be generated. + ER_NO_UNIQUE_LOGFILE + + + The specified table was locked with a READ lock, and can't be updated. + ER_TABLE_NOT_LOCKED_FOR_WRITE + + + The specified table was not locked with LOCK TABLES. + ER_TABLE_NOT_LOCKED + + + BLOB and Text columns cannot have a default value. + ER_BLOB_CANT_HAVE_DEFAULT + + + The specified database name is incorrect. + ER_WRONG_DB_NAME + + + The specified table name is incorrect. + ER_WRONG_TABLE_NAME + + + The SELECT command would examine more than MAX_JOIN_SIZE rows, check the WHERE clause and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok. + ER_TOO_BIG_SELECT + + + An unknown error occurred. + ER_UNKNOWN_ERROR + + + The specified procedure is unknown. + ER_UNKNOWN_PROCEDURE + + + The number of parameters provided for the specified procedure is incorrect. + ER_WRONG_PARAMCOUNT_TO_PROCEDURE + + + The parameters provided for the specified procedure are incorrect. + ER_WRONG_PARAMETERS_TO_PROCEDURE + + + The specified table is unknown. + ER_UNKNOWN_TABLE + + + The specified column has been specified twice. + ER_FIELD_SPECIFIED_TWICE + + + The group function has been incorrectly used. + ER_INVALID_GROUP_FUNC_USE + + + The specified table uses an extension that doesn't exist in this MySQL version. + ER_UNSUPPORTED_EXTENSION + + + The table must have at least one column. + ER_TABLE_MUST_HAVE_COLUMNS + + + The specified table is full. + ER_RECORD_FILE_FULL + + + The specified character set is unknown. + ER_UNKNOWN_CHARACTER_SET + + + Too many tables, MySQL can only use the specified number of tables in a JOIN. + ER_TOO_MANY_TABLES + + + Too many columns + ER_TOO_MANY_FIELDS + + + The row size is too large, the maximum row size for the used tables (not counting BLOBS) is specified, change some columns or BLOBS. + ER_TOO_BIG_ROWSIZE + + + A thread stack overrun occurred. Stack statistics are specified. + ER_STACK_OVERRUN + + + A cross dependency was found in the OUTER JOIN, examine the ON conditions. + ER_WRONG_OUTER_JOIN + + + The table handler doesn't support NULL in the given index, change specified column to be NOT NULL or use another handler. + ER_NULL_COLUMN_IN_INDEX + + + The specified user defined function cannot be loaded. + ER_CANT_FIND_UDF + + + The specified user defined function cannot be initialised. + ER_CANT_INITIALIZE_UDF + + + No paths are allowed for the shared library. + ER_UDF_NO_PATHS + + + The specified user defined function already exists. + ER_UDF_EXISTS + + + The specified shared library cannot be opened. + ER_CANT_OPEN_LIBRARY + + + The specified symbol cannot be found in the library. + ER_CANT_FIND_DL_ENTRY + + + The specified function is not defined. + ER_FUNCTION_NOT_DEFINED + + + The specified host is blocked because of too many connection errors, unblock with 'mysqladmin flush-hosts'. + ER_HOST_IS_BLOCKED + + + + The given host is not allowed to connect + + + + + The anonymous user is not allowed to connect + + + + + The given password is not allowed + + + + + The given password does not match + + + + Information returned by an UPDATE statement. + ER_UPDATE_INFO + + + A new thread couldn't be created. + ER_CANT_CREATE_THREAD + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT_ON_ROW + + + The specified table can't be re-opened. + ER_CANT_REOPEN_TABLE + + + The NULL value has been used incorrectly. + ER_INVALID_USE_OF_NULL + + + The regular expression contains an error. + ER_REGEXP_ERROR + + + GROUP columns (MIN(), MAX(), COUNT(), ...) cannot be mixes with no GROUP columns if there is not GROUP BY clause. + ER_MIX_OF_GROUP_FUNC_AND_FIELDS + + + + ER_NONEXISTING_GRANT + + + + ER_TABLEACCESS_DENIED_ERROR + + + + ER_COLUMNACCESS_DENIED_ERROR + + + + ER_ILLEGAL_GRANT_FOR_TABLE + + + + ER_GRANT_WRONG_HOST_OR_USER + + + + ER_NO_SUCH_TABLE + + + + ER_NONEXISTING_TABLE_GRANT + + + + ER_NOT_ALLOWED_COMMAND + + + + ER_SYNTAX_ERROR + + + + ER_DELAYED_CANT_CHANGE_LOCK + + + + ER_TOO_MANY_DELAYED_THREADS + + + + ER_ABORTING_CONNECTION + + + + An attempt was made to send or receive a packet larger than + max_allowed_packet_size + + + + + ER_NET_READ_ERROR_FROM_PIPE + + + + ER_NET_FCNTL_ERROR + + + + ER_NET_PACKETS_OUT_OF_ORDER + + + + ER_NET_UNCOMPRESS_ERROR + + + + ER_NET_READ_ERROR + + + + ER_NET_READ_INTERRUPTED + + + + ER_NET_ERROR_ON_WRITE + + + + ER_NET_WRITE_INTERRUPTED + + + + ER_TOO_LONG_STRING + + + + ER_TABLE_CANT_HANDLE_BLOB + + + + ER_TABLE_CANT_HANDLE_AUTO_INCREMENT + + + + ER_DELAYED_INSERT_TABLE_LOCKED + + + + ER_WRONG_COLUMN_NAME + + + + ER_WRONG_KEY_COLUMN + + + + ER_WRONG_MRG_TABLE + + + + ER_DUP_UNIQUE + + + + ER_BLOB_KEY_WITHOUT_LENGTH + + + + ER_PRIMARY_CANT_HAVE_NULL + + + + ER_TOO_MANY_ROWS + + + + ER_REQUIRES_PRIMARY_KEY + + + + ER_NO_RAID_COMPILED + + + + ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE + + + + ER_KEY_DOES_NOT_EXITS + + + + ER_CHECK_NO_SUCH_TABLE + + + + ER_CHECK_NOT_IMPLEMENTED + + + + ER_CANT_DO_THIS_DURING_AN_TRANSACTION + + + + ER_ERROR_DURING_COMMIT + + + + ER_ERROR_DURING_ROLLBACK + + + + ER_ERROR_DURING_FLUSH_LOGS + + + + ER_ERROR_DURING_CHECKPOINT + + + + ER_NEW_ABORTING_CONNECTION + + + + ER_DUMP_NOT_IMPLEMENTED + + + + ER_FLUSH_MASTER_BINLOG_CLOSED + + + + ER_INDEX_REBUILD + + + + ER_MASTER + + + + ER_MASTER_NET_READ + + + + ER_MASTER_NET_WRITE + + + + ER_FT_MATCHING_KEY_NOT_FOUND + + + + ER_LOCK_OR_ACTIVE_TRANSACTION + + + + ER_UNKNOWN_SYSTEM_VARIABLE + + + + ER_CRASHED_ON_USAGE + + + + ER_CRASHED_ON_REPAIR + + + + ER_WARNING_NOT_COMPLETE_ROLLBACK + + + + ER_TRANS_CACHE_FULL + + + + ER_SLAVE_MUST_STOP + + + + ER_SLAVE_NOT_RUNNING + + + + ER_BAD_SLAVE + + + + ER_MASTER_INFO + + + + ER_SLAVE_THREAD + + + + ER_TOO_MANY_USER_CONNECTIONS + + + + ER_SET_CONSTANTS_ONLY + + + + ER_LOCK_WAIT_TIMEOUT + + + + ER_LOCK_TABLE_FULL + + + + ER_READ_ONLY_TRANSACTION + + + + ER_DROP_DB_WITH_READ_LOCK + + + + ER_CREATE_DB_WITH_READ_LOCK + + + + ER_WRONG_ARGUMENTS + + + + ER_NO_PERMISSION_TO_CREATE_USER + + + + ER_UNION_TABLES_IN_DIFFERENT_DIR + + + + ER_LOCK_DEADLOCK + + + + ER_TABLE_CANT_HANDLE_FT + + + + ER_CANNOT_ADD_FOREIGN + + + + ER_NO_REFERENCED_ROW + + + + ER_ROW_IS_REFERENCED + + + + ER_CONNECT_TO_MASTER + + + + ER_QUERY_ON_MASTER + + + + ER_ERROR_WHEN_EXECUTING_COMMAND + + + + ER_WRONG_USAGE + + + + ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT + + + + ER_CANT_UPDATE_WITH_READLOCK + + + + ER_MIXING_NOT_ALLOWED + + + + ER_DUP_ARGUMENT + + + + ER_USER_LIMIT_REACHED + + + + ER_SPECIFIC_ACCESS_DENIED_ERROR + + + + ER_LOCAL_VARIABLE + + + + ER_GLOBAL_VARIABLE + + + + ER_NO_DEFAULT + + + + ER_WRONG_VALUE_FOR_VAR + + + + ER_WRONG_TYPE_FOR_VAR + + + + ER_VAR_CANT_BE_READ + + + + ER_CANT_USE_OPTION_HERE + + + + ER_NOT_SUPPORTED_YET + + + + ER_MASTER_FATAL_ERROR_READING_BINLOG + + + + ER_SLAVE_IGNORED_TABLE + + + + ER_INCORRECT_GLOBAL_LOCAL_VAR + + + + ER_WRONG_FK_DEF + + + + ER_KEY_REF_DO_NOT_MATCH_TABLE_REF + + + + ER_OPERAND_COLUMNS + + + + ER_SUBQUERY_NO_1_ROW + + + + ER_UNKNOWN_STMT_HANDLER + + + + ER_CORRUPT_HELP_DB + + + + ER_CYCLIC_REFERENCE + + + + ER_AUTO_CONVERT + + + + ER_ILLEGAL_REFERENCE + + + + ER_DERIVED_MUST_HAVE_ALIAS + + + + ER_SELECT_REDUCED + + + + ER_TABLENAME_NOT_ALLOWED_HERE + + + + ER_NOT_SUPPORTED_AUTH_MODE + + + + ER_SPATIAL_CANT_HAVE_NULL + + + + ER_COLLATION_CHARSET_MISMATCH + + + + ER_SLAVE_WAS_RUNNING + + + + ER_SLAVE_WAS_NOT_RUNNING + + + + ER_TOO_BIG_FOR_UNCOMPRESS + + + + ER_ZLIB_Z_MEM_ERROR + + + + ER_ZLIB_Z_BUF_ERROR + + + + ER_ZLIB_Z_DATA_ERROR + + + + ER_CUT_VALUE_GROUP_CONCAT + + + + ER_WARN_TOO_FEW_RECORDS + + + + ER_WARN_TOO_MANY_RECORDS + + + + ER_WARN_NULL_TO_NOTNULL + + + + ER_WARN_DATA_OUT_OF_RANGE + + + + WARN_DATA_TRUNCATED + + + + ER_WARN_USING_OTHER_HANDLER + + + + ER_CANT_AGGREGATE_2COLLATIONS + + + + ER_DROP_USER + + + + ER_REVOKE_GRANTS + + + + ER_CANT_AGGREGATE_3COLLATIONS + + + + ER_CANT_AGGREGATE_NCOLLATIONS + + + + ER_VARIABLE_IS_NOT_STRUCT + + + + ER_UNKNOWN_COLLATION + + + + ER_SLAVE_IGNORED_SSL_PARAMS + + + + ER_SERVER_IS_IN_SECURE_AUTH_MODE + + + + ER_WARN_FIELD_RESOLVED + + + + ER_BAD_SLAVE_UNTIL_COND + + + + ER_MISSING_SKIP_SLAVE + + + + ER_UNTIL_COND_IGNORED + + + + ER_WRONG_NAME_FOR_INDEX + + + + ER_WRONG_NAME_FOR_CATALOG + + + + ER_WARN_QC_RESIZE + + + + ER_BAD_FT_COLUMN + + + + ER_UNKNOWN_KEY_CACHE + + + + ER_WARN_HOSTNAME_WONT_WORK + + + + ER_UNKNOWN_STORAGE_ENGINE + + + + ER_WARN_DEPRECATED_SYNTAX + + + + ER_NON_UPDATABLE_TABLE + + + + ER_FEATURE_DISABLED + + + + ER_OPTION_PREVENTS_STATEMENT + + + + ER_DUPLICATED_VALUE_IN_TYPE + + + + ER_TRUNCATED_WRONG_VALUE + + + + ER_TOO_MUCH_AUTO_TIMESTAMP_COLS + + + + ER_INVALID_ON_UPDATE + + + + ER_UNSUPPORTED_PS + + + + ER_GET_ERRMSG + + + + ER_GET_TEMPORARY_ERRMSG + + + + ER_UNKNOWN_TIME_ZONE + + + + ER_WARN_INVALID_TIMESTAMP + + + + ER_INVALID_CHARACTER_STRING + + + + ER_WARN_ALLOWED_PACKET_OVERFLOWED + + + + ER_CONFLICTING_DECLARATIONS + + + + ER_SP_NO_RECURSIVE_CREATE + + + + ER_SP_ALREADY_EXISTS + + + + ER_SP_DOES_NOT_EXIST + + + + ER_SP_DROP_FAILED + + + + ER_SP_STORE_FAILED + + + + ER_SP_LILABEL_MISMATCH + + + + ER_SP_LABEL_REDEFINE + + + + ER_SP_LABEL_MISMATCH + + + + ER_SP_UNINIT_VAR + + + + ER_SP_BADSELECT + + + + ER_SP_BADRETURN + + + + ER_SP_BADSTATEMENT + + + + ER_UPDATE_LOG_DEPRECATED_IGNORED + + + + ER_UPDATE_LOG_DEPRECATED_TRANSLATED + + + + ER_QUERY_INTERRUPTED + + + + ER_SP_WRONG_NO_OF_ARGS + + + + ER_SP_COND_MISMATCH + + + + ER_SP_NORETURN + + + + ER_SP_NORETURNEND + + + + ER_SP_BAD_CURSOR_QUERY + + + + ER_SP_BAD_CURSOR_SELECT + + + + ER_SP_CURSOR_MISMATCH + + + + ER_SP_CURSOR_ALREADY_OPEN + + + + ER_SP_CURSOR_NOT_OPEN + + + + ER_SP_UNDECLARED_VAR + + + + ER_SP_WRONG_NO_OF_FETCH_ARGS + + + + ER_SP_FETCH_NO_DATA + + + + ER_SP_DUP_PARAM + + + + ER_SP_DUP_VAR + + + + ER_SP_DUP_COND + + + + ER_SP_DUP_CURS + + + + ER_SP_CANT_ALTER + + + + ER_SP_SUBSELECT_NYI + + + + ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_SP_VARCOND_AFTER_CURSHNDLR + + + + ER_SP_CURSOR_AFTER_HANDLER + + + + ER_SP_CASE_NOT_FOUND + + + + ER_FPARSER_TOO_BIG_FILE + + + + ER_FPARSER_BAD_HEADER + + + + ER_FPARSER_EOF_IN_COMMENT + + + + ER_FPARSER_ERROR_IN_PARAMETER + + + + ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER + + + + ER_VIEW_NO_EXPLAIN + + + + ER_FRM_UNKNOWN_TYPE + + + + ER_WRONG_OBJECT + + + + ER_NONUPDATEABLE_COLUMN + + + + ER_VIEW_SELECT_DERIVED + + + + ER_VIEW_SELECT_CLAUSE + + + + ER_VIEW_SELECT_VARIABLE + + + + ER_VIEW_SELECT_TMPTABLE + + + + ER_VIEW_WRONG_LIST + + + + ER_WARN_VIEW_MERGE + + + + ER_WARN_VIEW_WITHOUT_KEY + + + + ER_VIEW_INVALID + + + + ER_SP_NO_DROP_SP + + + + ER_SP_GOTO_IN_HNDLR + + + + ER_TRG_ALREADY_EXISTS + + + + ER_TRG_DOES_NOT_EXIST + + + + ER_TRG_ON_VIEW_OR_TEMP_TABLE + + + + ER_TRG_CANT_CHANGE_ROW + + + + ER_TRG_NO_SUCH_ROW_IN_TRG + + + + ER_NO_DEFAULT_FOR_FIELD + + + + ER_DIVISION_BY_ZERO + + + + ER_TRUNCATED_WRONG_VALUE_FOR_FIELD + + + + ER_ILLEGAL_VALUE_FOR_TYPE + + + + ER_VIEW_NONUPD_CHECK + + + + ER_VIEW_CHECK_FAILED + + + + ER_PROCACCESS_DENIED_ERROR + + + + ER_RELAY_LOG_FAIL + + + + ER_PASSWD_LENGTH + + + + ER_UNKNOWN_TARGET_BINLOG + + + + ER_IO_ERR_LOG_INDEX_READ + + + + ER_BINLOG_PURGE_PROHIBITED + + + + ER_FSEEK_FAIL + + + + ER_BINLOG_PURGE_FATAL_ERR + + + + ER_LOG_IN_USE + + + + ER_LOG_PURGE_UNKNOWN_ERR + + + + ER_RELAY_LOG_INIT + + + + ER_NO_BINARY_LOGGING + + + + ER_RESERVED_SYNTAX + + + + ER_WSAS_FAILED + + + + ER_DIFF_GROUPS_PROC + + + + ER_NO_GROUP_FOR_PROC + + + + ER_ORDER_WITH_PROC + + + + ER_LOGGING_PROHIBIT_CHANGING_OF + + + + ER_NO_FILE_MAPPING + + + + ER_WRONG_MAGIC + + + + ER_PS_MANY_PARAM + + + + ER_KEY_PART_0 + + + + ER_VIEW_CHECKSUM + + + + ER_VIEW_MULTIUPDATE + + + + ER_VIEW_NO_INSERT_FIELD_LIST + + + + ER_VIEW_DELETE_MERGE_VIEW + + + + ER_CANNOT_USER + + + + ER_XAER_NOTA + + + + ER_XAER_INVAL + + + + ER_XAER_RMFAIL + + + + ER_XAER_OUTSIDE + + + + ER_XAER_RMERR + + + + ER_XA_RBROLLBACK + + + + ER_NONEXISTING_PROC_GRANT + + + + ER_PROC_AUTO_GRANT_FAIL + + + + ER_PROC_AUTO_REVOKE_FAIL + + + + ER_DATA_TOO_LONG + + + + ER_SP_BAD_SQLSTATE + + + + ER_STARTUP + + + + ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR + + + + ER_CANT_CREATE_USER_WITH_GRANT + + + + ER_WRONG_VALUE_FOR_TYPE + + + + ER_TABLE_DEF_CHANGED + + + + ER_SP_DUP_HANDLER + + + + ER_SP_NOT_VAR_ARG + + + + ER_SP_NO_RETSET + + + + ER_CANT_CREATE_GEOMETRY_OBJECT + + + + ER_FAILED_ROUTINE_BREAK_BINLOG + + + + ER_BINLOG_UNSAFE_ROUTINE + + + + ER_BINLOG_CREATE_ROUTINE_NEED_SUPER + + + + ER_EXEC_STMT_WITH_OPEN_CURSOR + + + + ER_STMT_HAS_NO_OPEN_CURSOR + + + + ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_NO_DEFAULT_FOR_VIEW_FIELD + + + + ER_SP_NO_RECURSION + + + + ER_TOO_BIG_SCALE + + + + ER_TOO_BIG_PRECISION + + + + ER_M_BIGGER_THAN_D + + + + ER_WRONG_LOCK_OF_SYSTEM_TABLE + + + + ER_CONNECT_TO_FOREIGN_DATA_SOURCE + + + + ER_QUERY_ON_FOREIGN_DATA_SOURCE + + + + ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST + + + + ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE + + + + ER_FOREIGN_DATA_STRING_INVALID + + + + ER_CANT_CREATE_FEDERATED_TABLE + + + + ER_TRG_IN_WRONG_SCHEMA + + + + ER_STACK_OVERRUN_NEED_MORE + + + + ER_TOO_LONG_BODY + + + + ER_WARN_CANT_DROP_DEFAULT_KEYCACHE + + + + ER_TOO_BIG_DISPLAYWIDTH + + + + ER_XAER_DUPID + + + + ER_DATETIME_FUNCTION_OVERFLOW + + + + ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG + + + + ER_VIEW_PREVENT_UPDATE + + + + ER_PS_NO_RECURSION + + + + ER_SP_CANT_SET_AUTOCOMMIT + + + + ER_MALFORMED_DEFINER + + + + ER_VIEW_FRM_NO_USER + + + + ER_VIEW_OTHER_USER + + + + ER_NO_SUCH_USER + + + + ER_FORBID_SCHEMA_CHANGE + + + + ER_ROW_IS_REFERENCED_2 + + + + ER_NO_REFERENCED_ROW_2 + + + + ER_SP_BAD_VAR_SHADOW + + + + ER_TRG_NO_DEFINER + + + + ER_OLD_FILE_FORMAT + + + + ER_SP_RECURSION_LIMIT + + + + ER_SP_PROC_TABLE_CORRUPT + + + + ER_SP_WRONG_NAME + + + + ER_TABLE_NEEDS_UPGRADE + + + + ER_SP_NO_AGGREGATE + + + + ER_MAX_PREPARED_STMT_COUNT_REACHED + + + + ER_VIEW_RECURSIVE + + + + ER_NON_GROUPING_FIELD_USED + + + + ER_TABLE_CANT_HANDLE_SPKEYS + + + + ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA + + + + ER_REMOVED_SPACES + + + + ER_AUTOINC_READ_FAILED + + + + ER_USERNAME + + + + ER_HOSTNAME + + + + ER_WRONG_STRING_LENGTH + + + + ER_NON_INSERTABLE_TABLE + + + + ER_ADMIN_WRONG_MRG_TABLE + + + + ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT + + + + ER_NAME_BECOMES_EMPTY + + + + ER_AMBIGUOUS_FIELD_TERM + + + + ER_FOREIGN_SERVER_EXISTS + + + + ER_FOREIGN_SERVER_DOESNT_EXIST + + + + ER_ILLEGAL_HA_CREATE_OPTION + + + + ER_PARTITION_REQUIRES_VALUES_ERROR + + + + ER_PARTITION_WRONG_VALUES_ERROR + + + + ER_PARTITION_MAXVALUE_ERROR + + + + ER_PARTITION_SUBPARTITION_ERROR + + + + ER_PARTITION_SUBPART_MIX_ERROR + + + + ER_PARTITION_WRONG_NO_PART_ERROR + + + + ER_PARTITION_WRONG_NO_SUBPART_ERROR + + + + ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR + + + + ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR + + + + ER_FIELD_NOT_FOUND_PART_ERROR + + + + ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR + + + + ER_INCONSISTENT_PARTITION_INFO_ERROR + + + + ER_PARTITION_FUNC_NOT_ALLOWED_ERROR + + + + ER_PARTITIONS_MUST_BE_DEFINED_ERROR + + + + ER_RANGE_NOT_INCREASING_ERROR + + + + ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR + + + + ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR + + + + ER_PARTITION_ENTRY_ERROR + + + + ER_MIX_HANDLER_ERROR + + + + ER_PARTITION_NOT_DEFINED_ERROR + + + + ER_TOO_MANY_PARTITIONS_ERROR + + + + ER_SUBPARTITION_ERROR + + + + ER_CANT_CREATE_HANDLER_FILE + + + + ER_BLOB_FIELD_IN_PART_FUNC_ERROR + + + + ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF + + + + ER_NO_PARTS_ERROR + + + + ER_PARTITION_MGMT_ON_NONPARTITIONED + + + + ER_FOREIGN_KEY_ON_PARTITIONED + + + + ER_DROP_PARTITION_NON_EXISTENT + + + + ER_DROP_LAST_PARTITION + + + + ER_COALESCE_ONLY_ON_HASH_PARTITION + + + + ER_REORG_HASH_ONLY_ON_SAME_NO + + + + ER_REORG_NO_PARAM_ERROR + + + + ER_ONLY_ON_RANGE_LIST_PARTITION + + + + ER_ADD_PARTITION_SUBPART_ERROR + + + + ER_ADD_PARTITION_NO_NEW_PARTITION + + + + ER_COALESCE_PARTITION_NO_PARTITION + + + + ER_REORG_PARTITION_NOT_EXIST + + + + ER_SAME_NAME_PARTITION + + + + ER_NO_BINLOG_ERROR + + + + ER_CONSECUTIVE_REORG_PARTITIONS + + + + ER_REORG_OUTSIDE_RANGE + + + + ER_PARTITION_FUNCTION_FAILURE + + + + ER_PART_STATE_ERROR + + + + ER_LIMITED_PART_RANGE + + + + ER_PLUGIN_IS_NOT_LOADED + + + + ER_WRONG_VALUE + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE + + + + ER_FILEGROUP_OPTION_ONLY_ONCE + + + + ER_CREATE_FILEGROUP_FAILED + + + + ER_DROP_FILEGROUP_FAILED + + + + ER_TABLESPACE_AUTO_EXTEND_ERROR + + + + ER_WRONG_SIZE_NUMBER + + + + ER_SIZE_OVERFLOW_ERROR + + + + ER_ALTER_FILEGROUP_FAILED + + + + ER_BINLOG_ROW_LOGGING_FAILED + + + + ER_BINLOG_ROW_WRONG_TABLE_DEF + + + + ER_BINLOG_ROW_RBR_TO_SBR + + + + ER_EVENT_ALREADY_EXISTS + + + + ER_EVENT_STORE_FAILED + + + + ER_EVENT_DOES_NOT_EXIST + + + + ER_EVENT_CANT_ALTER + + + + ER_EVENT_DROP_FAILED + + + + ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG + + + + ER_EVENT_ENDS_BEFORE_STARTS + + + + ER_EVENT_EXEC_TIME_IN_THE_PAST + + + + ER_EVENT_OPEN_TABLE_FAILED + + + + ER_EVENT_NEITHER_M_EXPR_NOR_M_AT + + + + ER_COL_COUNT_DOESNT_MATCH_CORRUPTED + + + + ER_CANNOT_LOAD_FROM_TABLE + + + + ER_EVENT_CANNOT_DELETE + + + + ER_EVENT_COMPILE_ERROR + + + + ER_EVENT_SAME_NAME + + + + ER_EVENT_DATA_TOO_LONG + + + + ER_DROP_INDEX_FK + + + + ER_WARN_DEPRECATED_SYNTAX_WITH_VER + + + + ER_CANT_WRITE_LOCK_LOG_TABLE + + + + ER_CANT_LOCK_LOG_TABLE + + + + ER_FOREIGN_DUPLICATE_KEY + + + + ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE + + + + ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR + + + + ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT + + + + ER_NDB_CANT_SWITCH_BINLOG_FORMAT + + + + ER_PARTITION_NO_TEMPORARY + + + + ER_PARTITION_CONST_DOMAIN_ERROR + + + + ER_PARTITION_FUNCTION_IS_NOT_ALLOWED + + + + ER_DDL_LOG_ERROR + + + + ER_NULL_IN_VALUES_LESS_THAN + + + + ER_WRONG_PARTITION_NAME + + + + ER_CANT_CHANGE_TRANSACTION_ISOLATION + + + + ER_DUP_ENTRY_AUTOINCREMENT_CASE + + + + ER_EVENT_MODIFY_QUEUE_ERROR + + + + ER_EVENT_SET_VAR_ERROR + + + + ER_PARTITION_MERGE_ERROR + + + + ER_CANT_ACTIVATE_LOG + + + + ER_RBR_NOT_AVAILABLE + + + + ER_BASE64_DECODE_ERROR + + + + ER_EVENT_RECURSION_FORBIDDEN + + + + ER_EVENTS_DB_ERROR + + + + ER_ONLY_INTEGERS_ALLOWED + + + + ER_UNSUPORTED_LOG_ENGINE + + + + ER_BAD_LOG_STATEMENT + + + + ER_CANT_RENAME_LOG_TABLE + + + + ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_STORED_FCT + + + + ER_NATIVE_FCT_NAME_COLLISION + + + + ER_DUP_ENTRY_WITH_KEY_NAME + + + + ER_BINLOG_PURGE_EMFILE + + + + ER_EVENT_CANNOT_CREATE_IN_THE_PAST + + + + ER_EVENT_CANNOT_ALTER_IN_THE_PAST + + + + ER_SLAVE_INCIDENT + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT + + + + ER_BINLOG_UNSAFE_STATEMENT + + + + ER_SLAVE_FATAL_ERROR + + + + ER_SLAVE_RELAY_LOG_READ_FAILURE + + + + ER_SLAVE_RELAY_LOG_WRITE_FAILURE + + + + ER_SLAVE_CREATE_EVENT_FAILURE + + + + ER_SLAVE_MASTER_COM_FAILURE + + + + ER_BINLOG_LOGGING_IMPOSSIBLE + + + + ER_VIEW_NO_CREATION_CTX + + + + ER_VIEW_INVALID_CREATION_CTX + + + + ER_SR_INVALID_CREATION_CTX + + + + ER_TRG_CORRUPTED_FILE + + + + ER_TRG_NO_CREATION_CTX + + + + ER_TRG_INVALID_CREATION_CTX + + + + ER_EVENT_INVALID_CREATION_CTX + + + + ER_TRG_CANT_OPEN_TABLE + + + + ER_CANT_CREATE_SROUTINE + + + + ER_SLAVE_AMBIGOUS_EXEC_MODE + + + + ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT + + + + ER_SLAVE_CORRUPT_EVENT + + + + ER_LOAD_DATA_INVALID_COLUMN + + + + ER_LOG_PURGE_NO_FILE + + + + ER_XA_RBTIMEOUT + + + + ER_XA_RBDEADLOCK + + + + ER_NEED_REPREPARE + + + + ER_DELAYED_NOT_SUPPORTED + + + + WARN_NO_MASTER_INFO + + + + WARN_OPTION_IGNORED + + + + WARN_PLUGIN_DELETE_BUILTIN + + + + WARN_PLUGIN_BUSY + + + + ER_VARIABLE_IS_READONLY + + + + ER_WARN_ENGINE_TRANSACTION_ROLLBACK + + + + ER_SLAVE_HEARTBEAT_FAILURE + + + + ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE + + + + ER_NDB_REPLICATION_SCHEMA_ERROR + + + + ER_CONFLICT_FN_PARSE_ERROR + + + + ER_EXCEPTIONS_WRITE_ERROR + + + + ER_TOO_LONG_TABLE_COMMENT + + + + ER_TOO_LONG_FIELD_COMMENT + + + + ER_FUNC_INEXISTENT_NAME_COLLISION + + + + ER_DATABASE_NAME + + + + ER_TABLE_NAME + + + + ER_PARTITION_NAME + + + + ER_SUBPARTITION_NAME + + + + ER_TEMPORARY_NAME + + + + ER_RENAMED_NAME + + + + ER_TOO_MANY_CONCURRENT_TRXS + + + + WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED + + + + ER_DEBUG_SYNC_TIMEOUT + + + + ER_DEBUG_SYNC_HIT_LIMIT + + + + ER_ERROR_LAST + + + + WriteInteger + + + + + + + Summary description for MySqlPool. + + + + + It is assumed that this property will only be used from inside an active + lock. + + + + + Indicates whether this pool is being cleared. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + Removes a connection from the in use pool. The only situations where this method + would be called are when a connection that is in use gets some type of fatal exception + or when the connection is being returned to the pool and it's too old to be + returned. + + + + + + Clears this pool of all idle connections and marks this pool and being cleared + so all other connections are closed when they are returned. + + + + + Remove expired drivers from the idle pool + + + + Closing driver is a potentially lengthy operation involving network + IO. Therefore we do not close expired drivers while holding + idlePool.SyncRoot lock. We just remove the old drivers from the idle + queue and return them to the caller. The caller will need to close + them (or let GC close them) + + + + + Summary description for MySqlPoolManager. + + + + + Queue of demoted hosts. + + + + + List of hosts that will be attempted to connect to. + + + + + Timer to be used when a host have been demoted. + + + + + Remove drivers that have been idle for too long. + + + + + Remove hosts that have been on the demoted list for more + than 120,000 milliseconds and add them to the available hosts list. + + + + + Provides a class capable of executing a SQL script containing + multiple SQL statements including CREATE PROCEDURE statements + that require changing the delimiter + + + + + Handles the event raised whenever a statement is executed. + + + + + Handles the event raised whenever an error is raised by the execution of a script. + + + + + Handles the event raised whenever a script execution is finished. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class. + + The connection. + + + + Initializes a new instance of the + class. + + The query. + + + + Initializes a new instance of the + class. + + The connection. + The query. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the query. + + The query. + + + + Gets or sets the delimiter. + + The delimiter. + + + + Executes this instance. + + The number of statements executed as part of the script. + + + + Initiates the asynchronous execution of SQL statements. + + The number of statements executed as part of the script inside. + + + + Initiates the asynchronous execution of SQL statements. + + The cancellation token. + The number of statements executed as part of the script inside. + + + + Represents the method that will handle errors when executing MySQL statements. + + + + + Represents the method that will handle errors when executing MySQL scripts. + + + + + Sets the arguments associated to MySQL scripts. + + + + + Gets the statement text. + + The statement text. + + + + Gets the line. + + The line. + + + + Gets the position. + + The position. + + + + Sets the arguments associated to MySQL script errors. + + + + + Initializes a new instance of the class. + + The exception. + + + + Gets the exception. + + The exception. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignore; otherwise, false. + + + + Summary description for MySqlStream. + + + + + ReadPacket is called by NativeDriver to start reading the next + packet on the stream. + + + + + Reads the specified number of bytes from the stream and stores them at given + offset in the buffer. + Throws EndOfStreamException if not all bytes can be read. + + Stream to read from + Array to store bytes read from the stream + The offset in buffer at which to begin storing the data read from the current stream. + Number of bytes to read + + + + LoadPacket loads up and decodes the header of the incoming packet. + + + + + Traces information about the client execution. + + + + + Gets the list of trace listeners. + + + + + Gets or sets the switch to control tracing and debugging. + + + + + Gets or sets a flag indicating if query analysis is enabled. + + + + + Enables query analysis. + + The host on which to enable query analysis. + The interval of time for logging trace information. + + + + Disables query analysis. + + + + + Specifies the types of warning flags. + + + + + No index exists. + + + + + Bad index exists. + + + + + Rows have been excluded from the result. + + + + + Columns have been excluded from the result. + + + + + Type conversions took place. + + + + + Specifies the event that triggered the trace. + + + + + A connection has been opened. + + + + + A connection has been closed. + + + + + A query has been executed. + + + + + Data has been retrieved from the resultset. + + + + + Data retrieval has ended. + + + + + Query execution has ended. + + + + + The statement to be executed has been created. + + + + + The statement has been executed. + + + + + The statement is no longer required. + + + + + The query provided is of a nonquery type. + + + + + Usage advisor warnings have been requested. + + + + + Noncritical problem. + + + + + An error has been raised during data retrieval. + + + + + The query has been normalized. + + + + + Summary description for Driver. + + + + + Sets the current database for the this connection + + + + + + Return the appropriate set of connection flags for our + server capabilities and our user requested options. + + + + + Query is the method that is called to send all queries to the server + + + + + Sends the specified file to the server. + This supports the LOAD DATA LOCAL INFILE + + + + + + FetchDataRow is the method that the data reader calls to see if there is another + row to fetch. In the non-prepared mode, it will simply read the next data packet. + In the prepared mode (statementId > 0), it will + + + + + Execution timeout, in milliseconds. When the accumulated time for network IO exceeds this value + TimeoutException is thrown. This timeout needs to be reset for every new command + + + + + + Summary description for PreparedStatement. + + + + + Prepares CommandText for use with the Prepare method + + Command text stripped of all paramter names + + Takes the output of TokenizeSql and creates a single string of SQL + that only contains '?' markers for each parameter. It also creates + the parameterMap array list that includes all the paramter names in the + order they appeared in the SQL + + + + + Defines a replication configurarion element in the configuration file. + + + + + Gets a collection of objects representing the server groups. + + + + + Defines a replication server group in the configuration file. + + + + + Gets or sets the name of the replication server group configuration. + + + + + Gets or sets the group type of the replication server group configuration. + + + + + Gets or sets the number of seconds to wait for retry. + + + + + Gets a collection of objects representing the + server configurations associated to this group configuration. + + + + + Defines a replication server in configuration file. + + + + + Gets or sets the name of the replication server configuration. + + + + + Gets or sets whether the replication server is configured as master. + + + + + Gets or sets the connection string associated to this replication server. + + + + + Manager for Replication and Load Balancing features + + + + + Returns Replication Server Group List + + + + + Adds a Default Server Group to the list + + Group name + Time between reconnections for failed servers + Replication Server Group added + + + + Adds a Server Group to the list + + Group name + ServerGroup type reference + Time between reconnections for failed servers + Server Group added + + + + Gets the next server from a replication group + + Group name + True if the server to return must be a master + Replication Server defined by the Load Balancing plugin + + + + Gets a Server Group by name + + Group name + Server Group if found, otherwise throws an MySqlException + + + + Validates if the replication group name exists + + Group name to validate + true if the replication group name is found; otherwise, false + + + + Assigns a new server driver to the connection object + + Group name + True if the server connection to assign must be a master + MySqlConnection object where the new driver will be assigned + + + + Class that implements Round Robing Load Balancing technique. + + + + + Gets an available server based on Round Robin load balancing. + + Flag indicating if the server to return must be a master. + A object representing the next available server. + + + + Represents a server in a Replication environment. + + + + + Gets the server name. + + + + + Gets a value indicating whether the server is master or slave. + + + + + Gets the connection string used to connect to the server. + + + + + Gets a flag indicating if the server is available to be considered in load balancing. + + + + + Base class used to implement load balancing features. + + + + + List of servers available for replication. + + + + The group name. + The number of seconds to perform a retry. + + + + Gets the group name. + + + + + Gets the retry time between connections to failed servers. + + + + + Gets the server list in the group. + + + + + Adds a server into the group. + + The server name. + A flag indicating if the server to add is master or slave. + The connection string used by this server. + A object representing the recently added object. + + + + Removes a server from the group. + + The server name. + + + + Gets a server by name. + + The server name. + The replication server. + + + + Must be implemented. Defines the next server for a custom load balancing implementation. + + Defines if the server to return is a master or any. + The next server based on the load balancing implementation. + Null if no available server is found. + + + + + Defines the next server for a custom load balancing implementation. + + Defines if the server to return is a master or any. + Currently not being used. + The next server based on the load balancing implementation. + Null if no available server is found. + + + + + Handles a failed connection to a server. + + The failed server. + This method can be overrided to implement a custom failover handling. + + + + Handles a failed connection to a server. + + The failed server. + The exception that caused the failover. + + + + return the ordinal for the given column name + + + + + + + Retrieve the value as the given column index + + The column value to retrieve + The value as the given column + + + + Closes the current resultset, dumping any data still on the wire + + + + + Loads the column metadata for the current resultset + + + + + Represents a schema and its contents. + + + + + Gets or sets the name of the schema. + + + + + Gets the list of columns in the schema. + + + + + Gets the list of rows in the schema. + + + + + Represents a row within a schema. + + + + + Represents a column within a schema. + + + + + The name of the column. + + + + + The type of the column. + + + + + GetForeignKeysOnTable retrieves the foreign keys on the given table. + Since MySQL supports foreign keys on versions prior to 5.0, we can't use + information schema. MySQL also does not include any type of SHOW command + for foreign keys so we have to resort to use SHOW CREATE TABLE and parsing + the output. + + The table to store the key info in. + The table to get the foeign key info for. + Only get foreign keys that match this name. + Should column information be included in the table. + + + + Serializes the given parameter to the given memory stream + + + This method is called by PrepareSqlBuffers to convert the given + parameter to bytes and write those bytes to the given memory stream. + + + True if the parameter was successfully serialized, false otherwise. + + + + Summary description for StoredProcedure. + + + + + Defines the basic operations to be performed on the table cache. + + + + + The maximum age allowed for cache entries. + + + + + Adds the given command and result set to the cache. + + The command to store in the cache. + The resultset associated to the stored command. + + + + Retrieves the specified command from the cache. + + The command to retrieve. + The allowed age for the cache entry. + + + + + Removes the specified command from the cache. + + The command to remove from the cache. + + + + Clears the cache. + + + + + Removes cache entries older than the value defined by . + + + + + Stream that supports timeout of IO operations. + This class is used is used to support timeouts for SQL command, where a + typical operation involves several network reads/writes. + Timeout here is defined as the accumulated duration of all IO operations. + + + + + Construct a TimedStream + + Undelying stream + + + + Figure out whether it is necessary to reset timeout on stream. + We track the current value of timeout and try to avoid + changing it too often, because setting Read/WriteTimeout property + on network stream maybe a slow operation that involves a system call + (setsockopt). Therefore, we allow a small difference, and do not + reset timeout if current value is slightly greater than the requested + one (within 0.1 second). + + + + + Common handler for IO exceptions. + Resets timeout to infinity if timeout exception is + detected and stops the times. + + original exception + + + + Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited. + + The application creates a MySqlTransaction object by calling + on the object. All subsequent operations associated with the + transaction (for example, committing or aborting the transaction), are performed on the + MySqlTransaction object. + + The following example creates a and a MySqlTransaction. + It also demonstrates how to use the , + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub 'RunTransaction + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + Gets the object associated with the transaction, or a null reference (Nothing in Visual Basic) if the transaction is no longer valid. + + The object associated with this transaction. + + A single application may have multiple database connections, each + with zero or more transactions. This property enables you to + determine the connection object associated with a particular + transaction created by . + + + + + Specifies the for this transaction. + + + The for this transaction. The default is ReadCommitted. + + + Parallel transactions are not supported. Therefore, the IsolationLevel + applies to the entire transaction. + + + + + Commits the database transaction. + + The Commit method is equivalent to the MySQL SQL statement + COMMIT. + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + Rolls back a transaction from a pending state. + + The Rollback method is equivalent to the MySQL statement ROLLBACK. + The transaction can only be rolled back from a pending state + (after BeginTransaction has been called, but before Commit is + called). + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + DNS resolver that runs queries against a server. + + + + + Initializes a new instance of the class. + + + + + Gets the DNS SVR records of the service name that is provided. + + A list of s sorted as described in RFC2782. + + + + Sorts a list of DNS SRV records according to the sorting rules described in RFC2782. + + List of s to sort. + A new list of sorted s. + + + + Resets the DnsSrvResolver + + + + + Class that represents a DNS SRV record. + RFC 2782 (https://tools.ietf.org/html/rfc2782) + + + + + Gets the port. + + + + + Gets the priority. + + + + + Gets the target domain name. + + + + + Gets the weight. + + + + + Initializes a new instance of class. + + The port. + The priority. + The target. + The weight. + + + + Initializes a new instance of class. + + The DNS SRV record. + + + + Compare two objects. First, using their priority and + if both have the same, then using their weights. + + A to compare. + A to compare. + + + + + Initializes a new instance of the class from a . + + The DNS SRV record. + + + + This class is modeled after .NET Stopwatch. It provides better + performance (no system calls).It is however less precise than + .NET Stopwatch, measuring in milliseconds. It is adequate to use + when high-precision is not required (e.g for measuring IO timeouts), + but not for other tasks. + + + + + Wrapper around NetworkStream. + + MyNetworkStream is equivalent to NetworkStream, except + 1. It throws TimeoutException if read or write timeout occurs, instead + of IOException, to match behavior of other streams (named pipe and + shared memory). This property comes handy in TimedStream. + + 2. It implements workarounds for WSAEWOULDBLOCK errors, that can start + occuring after stream has times out. For a discussion about the CLR bug, + refer to http://tinyurl.com/lhgpyf. This error should never occur, as + we're not using asynchronous operations, but apparerntly it does occur + directly after timeout has expired. + The workaround is hinted in the URL above and implemented like this: + For each IO operation, if it throws WSAEWOULDBLOCK, we explicitely set + the socket to Blocking and retry the operation once again. + + + + + Set keepalive + timeout on socket. + + socket + keepalive timeout, in seconds + + + + Static class to manage SSH connections created with SSH .NET. + + + + + Gets or sets the SSH client initialized when calling the method. + + + + + Stores a list of SSH clients having different connection settings. + + + + + Initializes an instance if no SSH client with similar connection options has already been initialized. + + The SSH host name. + The SSH user name. + The SSH password. + The SSH key file. + The SSH pass phrase. + The SSH port. + The local host name. + The local port number. + Flag to indicate if the connection will be created for the classic or X Protocol. + + + + + Read a single quoted identifier from the stream + + + + + + + Helper class to encapsulate shared memory functionality + Also cares of proper cleanup of file mapping object and cew + + + + + Summary description for SharedMemoryStream. + + + + + By creating a private ctor, we keep the compiler from creating a default ctor + + + + + Mark - or + signs that are unary ops as no output + + + + + + Wrapper class used for handling SSH connections. + + + + + Starts the SSH client. + + + + + Stops the SSH client. + + + + + Handles SSL connections for the Classic and X protocols. + + + + + Contains the connection options provided by the user. + + + + + A flag to establish how certificates are to be treated and validated. + + + + + Defines the supported TLS protocols. + + + + + Retrieves a collection containing the client SSL PFX certificates. + + Dependent on connection string settings. + Either file or store based certificates are used. + + + + Initiates the SSL connection. + + The base stream. + The encoding used in the SSL connection. + The connection string used to establish the connection. + A instance ready to initiate an SSL connection. + + + + Verifies the SSL certificates used for authentication. + + An object that contains state information for this validation. + The MySQL server certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + true if no errors were found based on the selected SSL mode; false, otherwise. + + + + Gets the extension of the specified file. + + The path of the file. + Flag to indicate if the result should be converted to lower case. + The . character is ommited from the result. + + + + + Summary description for StreamCreator. + + + + + Set the keepalive timeout on the socket. + + The socket object. + The keepalive timeout, in seconds. + + + + Summary description for Version. + + + + + Provides functionality to read SSL PEM certificates and to perform multiple validations via Bouncy Castle. + + + + + Raises an exception if the specified connection option is null, empty or whitespace. + + The connection option to verify. + + + + Reads the specified file as a byte array. + + The path of the file to read. + A byte array representing the read file. + + + + Reads the SSL certificate file. + + The path to the certificate file. + A instance representing the SSL certificate file. + + + + Reads the SSL certificate key file. + + The path to the certificate key file. + A instance representing the SSL certificate key file. + + + + Verifies that the certificate has not yet expired. + + The certificate to verify. + + + + Verifies a certificate CA status. + + The certificate to validate. + A flag indicating the expected CA status. + + + + Verifies that the certificate was signed using the private key that corresponds to the specified public key + + The client side certificate containing the public key. + The server certificate. + + + + Verifies that no SSL policy errors regarding the identitfy of the host were raised. + + A instance set with the raised SSL errors. + + + + Verifies that the issuer matches the CA by comparing the CA certificate issuer and the server certificate issuer. + + The CA certificate. + The server certificate. + + + + + Gets and sets the host list. + + + + + Gets the active host. + + + + + Active host. + + + + + Sets the initial active host. + + + + + Determines the next host. + + object that represents the next available host. + + + + Implements common elements that allow to manage the hosts available for client side failover. + + + + + Gets and sets the failover group which consists of a host list. + + + + + Resets the manager. + + + + + Sets the host list to be used during failover operations. + + The host list. + The failover method. + + + + Attempts to establish a connection to a host specified from the list. + + The original connection string set by the user. + An out parameter that stores the updated connection string. + A object in case this is a pooling scenario. + An instance if the connection was succesfully established, a exception is thrown otherwise. + + + + + Creates a if more than one host is found. + + A string containing an unparsed list of hosts. + true if the connection is X Protocol; otherwise false. + true if the connection data is a URI; otherwise false. + The number of hosts found, -1 if an error was raised during parsing. + + + + Creates a object based on the provided parameters. + + The host string that can be a simple host name or a host name and port. + The priority of the host. + The port number of the host. + true if the connection data is a URI; otherwise false. + + + + + Attempts the next host in the list. Moves to the first element if the end of the list is reached. + + + + + Determines the next host on which to attempt a connection by checking the value of the Priority property in descending order. + + + + + Determines the next host on which to attempt a connection randomly. + + + + + Depicts a host which can be failed over to. + + + + + Gets and sets the name or address of the host. + + + + + Gets and sets the port number. + + + + + Gets a value between 0 and 100 which represents the priority of the host. + + + + + Flag to indicate if this host is currently being used. + + + + + Flag to indicate if this host has been attempted to connection. + + + + + Time since the host has been demoted. + + + + + Initializes a object. + + The host. + The port. + The priority. + + + + Compares two objects of type . + + FailoverServer object to compare. + True if host properties are the same. Otherwise, false. + + + + Manages the hosts available for client side failover using the Random Failover method. + The Random Failover method attempts to connect to the hosts specified in the list randomly until all the hosts have been attempted. + + + + + The initial host taken from the list. + + + + + The host for the current connection attempt. + + + + + Random object to get the next host. + + + + + Sets the initial active host. + + + + + Determines the next host. + + A object that represents the next available host. + + + + Manages the hosts available for client side failover using the Sequential Failover method. + The Sequential Failover method attempts to connect to the hosts specified in the list one after another until the initial host is reached. + + + + + The initial host taken from the list. + + + + + The index of the current host. + + + + + The host for the current connection attempt. + + + + + Sets the initial active host. + + + + + Determines the next host. + + A object that represents the next available host. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter is null. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter's SelectCommand is null. + + + + + Looks up a localized string similar to Invalid attempt to access a field before calling Read(). + + + + + Looks up a localized string similar to Authentication to host '{0}' for user '{1}' using method '{2}' failed with message: {3}. + + + + + Looks up a localized string similar to Authentication method '{0}' not supported by any of the available plugins.. + + + + + Looks up a localized string similar to Version string not in acceptable format. + + + + + Looks up a localized string similar to The buffer cannot be null. + + + + + Looks up a localized string similar to Buffer is not large enough. + + + + + Looks up a localized string similar to Canceling an executing query requires MySQL 5.0 or higher.. + + + + + Looks up a localized string similar to Canceling an active query is only supported on MySQL 5.0.0 and above. . + + + + + Looks up a localized string similar to Parameters can only be derived for commands using the StoredProcedure command type.. + + + + + Looks up a localized string similar to MySqlCommandBuilder does not support multi-table statements. + + + + + Looks up a localized string similar to MySqlCommandBuilder cannot operate on tables with no unique or key columns. + + + + + Looks up a localized string similar to Chaos isolation level is not supported . + + + + + Looks up a localized string similar to The CommandText property has not been properly initialized.. + + + + + Looks up a localized string similar to Compression is not supported.. + + + + + Looks up a localized string similar to The connection is already open.. + + + + + Looks up a localized string similar to Connection unexpectedly terminated.. + + + + + Looks up a localized string similar to Connection must be valid and open. + + + + + Looks up a localized string similar to The connection is not open.. + + + + + Looks up a localized string similar to The connection property has not been set or is null.. + + + + + Looks up a localized string similar to Could not find specified column in results: {0}. + + + + + Looks up a localized string similar to Count cannot be negative. + + + + + Looks up a localized string similar to SetLength is not a valid operation on CompressedStream. + + + + + Looks up a localized string similar to The given value was not in a supported format.. + + + + + Looks up a localized string similar to There is already an open DataReader associated with this Connection which must be closed first.. + + + + + Looks up a localized string similar to The default connection encoding was not found. Please report this as a bug along with your connection string and system details.. + + + + + Looks up a localized string similar to MySQL Connector/NET does not currently support distributed transactions.. + + + + + Looks up a localized string similar to Specifying multiple host names with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Specifying a port number with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Using Unix domain sockets with DNS SRV lookup is not permitted.. + + + + + Looks up a localized string similar to Unable to locate any hosts for {0}.. + + + + + Looks up a localized string similar to Connection option '{0}' is duplicated.. + + + + + Looks up a localized string similar to SSL connection option '{0}' is duplicated.. + + + + + Looks up a localized string similar to Encoding error during validation.. + + + + + Looks up a localized string similar to Error creating socket connection. + + + + + Looks up a localized string similar to Fatal error encountered during command execution.. + + + + + Looks up a localized string similar to Fatal error encountered during data read.. + + + + + Looks up a localized string similar to Fatal error encountered attempting to read the resultset.. + + + + + Looks up a localized string similar to File based certificates are only supported when connecting to MySQL Server 5.1 or greater.. + + + + + Looks up a localized string similar to The specified file cannot be converted to a certificate.. + + + + + Looks up a localized string similar to The specified file cannot be converted to a key.. + + + + + Looks up a localized string similar to Failed to read file at the specified location.. + + + + + Looks up a localized string similar to No file path has been provided for the connection option {0}.. + + + + + Looks up a localized string similar to From index and length use more bytes than from contains. + + + + + Looks up a localized string similar to From index must be a valid index inside the from buffer. + + + + + Looks up a localized string similar to Call to GetHostEntry failed after {0} while querying for hostname '{1}': SocketErrorCode={2}, ErrorCode={3}, NativeErrorCode={4}.. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from server.. + + + + + Looks up a localized string similar to Value has an unsupported format.. + + + + + Looks up a localized string similar to An incorrect response was received from the server.. + + + + + Looks up a localized string similar to Index and length use more bytes than to has room for. + + + + + Looks up a localized string similar to Index must be a valid position in the buffer. + + + + + Looks up a localized string similar to The provided key is invalid.. + + + + + Looks up a localized string similar to You have specified an invalid column ordinal.. + + + + + Looks up a localized string similar to The requested value '{0}' is invalid for the given keyword '{1}'.. + + + + + Looks up a localized string similar to The host name or IP address is invalid.. + + + + + Looks up a localized string similar to Microsecond must be a value between 0 and 999999.. + + + + + Looks up a localized string similar to Millisecond must be a value between 0 and 999. For more precision use Microsecond.. + + + + + Looks up a localized string similar to No other SSL options are accepted when SSL Mode is set to None.. + + + + + Looks up a localized string similar to Procedure or function '{0}' cannot be found in database '{1}'.. + + + + + Looks up a localized string similar to The certificate is invalid.. + + + + + Looks up a localized string similar to Unable to validate the signature.. + + + + + Looks up a localized string similar to Unable to verify the signature.. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Looks up a localized string similar to Option "tls-version" can not be specified when SSL connections are disabled.. + + + + + Looks up a localized string similar to '{0}' not recognized as a valid TLS protocol version (should be one of TLSv1, TLSv1.1, TLSv1.2{1}).. + + + + + Looks up a localized string similar to '{0}' is an illegal value for a boolean option.. + + + + + Looks up a localized string similar to Keyword does not allow null values.. + + + + + Looks up a localized string similar to Option not supported.. + + + + + Looks up a localized string similar to ACCESSIBLE + ADD + ALL + ALTER + ANALYZE + AND + AS + ASC + ASENSITIVE + BEFORE + BEGIN + BETWEEN + BIGINT + BINARY + BLOB + BOTH + BY + CALL + CASCADE + CASE + CHANGE + CHAR + CHARACTER + CHECK + COLLATE + COLUMN + COMMIT + CONDITION + CONNECTION + CONSTRAINT + CONTINUE + CONVERT + CREATE + CROSS + CURRENT_DATE + CURRENT_TIME + CURRENT_TIMESTAMP + CURRENT_USER + CURSOR + DATABASE + DATABASES + DAY_HOUR + DAY_MICROSECOND + DAY_MINUTE + DAY_SECOND + DEC + DECIMAL + DECLARE + DEFAULT + DELAYED + DELETE + DESC + DESCRIBE + DETERMINISTIC + DISTINCT + DISTINCTROW + D [rest of string was truncated]";. + + + + + Looks up a localized string similar to Server asked for stream in response to LOAD DATA LOCAL INFILE, but the functionality is disabled by the client setting 'allowlocalinfile' to 'false'.. + + + + + Looks up a localized string similar to Mixing named and unnamed parameters is not allowed.. + + + + + Looks up a localized string similar to INTERNAL ERROR: More than one output parameter row detected.. + + + + + Looks up a localized string similar to Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.. + + + + + Looks up a localized string similar to NamedPipeStream does not support seeking. + + + + + Looks up a localized string similar to NamedPipeStream doesn't support SetLength. + + + + + Looks up a localized string similar to The new value must be a MySqlParameter object.. + + + + + Looks up a localized string similar to Invalid attempt to call NextResult when the reader is closed.. + + + + + Looks up a localized string similar to When calling stored procedures and 'Use Procedure Bodies' is false, all parameters must have their type explicitly set.. + + + + + Looks up a localized string similar to Nested transactions are not supported.. + + + + + Looks up a localized string similar to The host {0} does not support SSL connections.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows.. + + + + + Looks up a localized string similar to Cannot retrieve Windows identity for current user. Connections that use IntegratedSecurity cannot be pooled. Use either 'ConnectionReset=true' or 'Pooling=false' in the connection string to fix.. + + + + + Looks up a localized string similar to The object is not open or has been disposed.. + + + + + Looks up a localized string similar to Offset cannot be negative. + + + + + Looks up a localized string similar to Offset must be a valid position in buffer. + + + + + Looks up a localized string similar to Authentication with old password no longer supported, use 4.1 style passwords.. + + + + + Looks up a localized string similar to The option '{0}' is not currently supported.. + + + + + Looks up a localized string similar to Parameter '{0}' has already been defined.. + + + + + Looks up a localized string similar to Parameter cannot have a negative value. + + + + + Looks up a localized string similar to Parameter cannot be null. + + + + + Looks up a localized string similar to Parameter '{0}' can't be null or empty.. + + + + + Looks up a localized string similar to Parameter index was not found in Parameter Collection.. + + + + + Looks up a localized string similar to Parameter is invalid.. + + + + + Looks up a localized string similar to Parameter '{0}' must be defined.. + + + + + Looks up a localized string similar to Parameter '{0}' was not found during prepare.. + + + + + Looks up a localized string similar to Parameter can't be null or empty.. + + + + + Looks up a localized string similar to Password must be valid and contain length characters. + + + + + Looks up a localized string similar to This category includes a series of counters for MySQL. + + + + + Looks up a localized string similar to .NET Data Provider for MySQL. + + + + + Looks up a localized string similar to The number of times a procedures metadata had to be queried from the server.. + + + + + Looks up a localized string similar to Hard Procedure Queries. + + + + + Looks up a localized string similar to The number of times a procedures metadata was retrieved from the client-side cache.. + + + + + Looks up a localized string similar to Soft Procedure Queries. + + + + + Looks up a localized string similar to same name are not supported.. + + + + + Looks up a localized string similar to Packets larger than max_allowed_packet are not allowed.. + + + + + Looks up a localized string similar to Reading from the stream has failed.. + + + + + Looks up a localized string similar to Invalid attempt to read a prior column using SequentialAccess. + + + + + Looks up a localized string similar to Replicated connections allow only readonly statements.. + + + + + Looks up a localized string similar to Attempt to connect to '{0}' server failed.. + + + + + Looks up a localized string similar to No available server found.. + + + + + Looks up a localized string similar to Replication group '{0}' not found.. + + + + + Looks up a localized string similar to Replicated server not found: '{0}'. + + + + + Looks up a localized string similar to Routine '{0}' cannot be found. Either check the spelling or make sure you have sufficient rights to execute the routine.. + + + + + Looks up a localized string similar to Attempt to call stored function '{0}' without specifying a return parameter. + + + + + Looks up a localized string similar to Retrieval of the RSA public key is not enabled for insecure connections.. + + + + + Looks up a localized string similar to Connector/NET no longer supports server versions prior to 5.0. + + + + + Looks up a localized string similar to Snapshot isolation level is not supported.. + + + + + Looks up a localized string similar to Socket streams do not support seeking. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from procedure cache.. + + + + + Looks up a localized string similar to Stored procedures are not supported on this version of MySQL. + + + + + Looks up a localized string similar to The SSH Key File and/or SSH Password must be provided.. + + + + + Looks up a localized string similar to The provided passphrase is invalid.. + + + + + Looks up a localized string similar to The certificate authority (CA) does not match.. + + + + + Looks up a localized string similar to The host name does not match the name on the certificate.. + + + + + Looks up a localized string similar to The certificate is not a certificate authority (CA).. + + + + + Looks up a localized string similar to SSL Connection error.. + + + + + Looks up a localized string similar to The stream has already been closed. + + + + + Looks up a localized string similar to The stream does not support reading. + + + + + Looks up a localized string similar to The stream does not support writing. + + + + + Looks up a localized string similar to String can't be empty.. + + + + + Looks up a localized string similar to Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.. + + + + + Looks up a localized string similar to error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} seconds was exceeded for each selected server.. + + + + + Looks up a localized string similar to TLSv1.3 is supported in .NET Framework 4.8 or .NET Core 3.0.. + + + + + Looks up a localized string similar to No supported TLS protocol version found in the 'tls-versions' list.. + + + + + Looks up a localized string similar to {0}: Connection Closed. + + + + + Looks up a localized string similar to Unable to trace. There are more than Int32.MaxValue connections in use.. + + + + + Looks up a localized string similar to {0}: Error encountered during row fetch. Number = {1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Connection Opened: connection string = '{1}'. + + + + + Looks up a localized string similar to {0}: Error encountered attempting to open result: Number={1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Query Closed. + + + + + Looks up a localized string similar to {0}: Query Normalized: {2}. + + + + + Looks up a localized string similar to {0}: Query Opened: {2}. + + + + + Looks up a localized string similar to {0}: Resultset Opened: field(s) = {1}, affected rows = {2}, inserted id = {3}. + + + + + Looks up a localized string similar to {0}: Resultset Closed. Total rows={1}, skipped rows={2}, size (bytes)={3}. + + + + + Looks up a localized string similar to {0}: Set Database: {1}. + + + + + Looks up a localized string similar to {0}: Statement closed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement executed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement prepared: sql='{1}', statement id={2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query is using a bad index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The field '{2}' was converted to the following types: {3}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query does not use an index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The following columns were not accessed: {2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Skipped {2} rows. Consider a more focused query.. + + + + + Looks up a localized string similar to {0}: MySql Warning: Level={1}, Code={2}, Message={3}. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseCommandInterceptor. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseExceptionInterceptor. + + + + + Looks up a localized string similar to Unable to connect to any of the specified MySQL hosts.. + + + + + Looks up a localized string similar to Unable to create plugin for authentication method '{0}'. Please see inner exception for details.. + + + + + Looks up a localized string similar to Unable to derive stored routine parameters. The 'Parameters' information schema table is not available and access to the stored procedure body has been disabled.. + + + + + Looks up a localized string similar to Unable to enable query analysis. Be sure the MySql.Data.EMTrace assembly is properly located and registered.. + + + + + Looks up a localized string similar to An error occured attempting to enumerate the user-defined functions. Do you have SELECT privileges on the mysql.func table?. + + + + + Looks up a localized string similar to Unable to execute stored procedure '{0}'.. + + + + + Looks up a localized string similar to There was an error parsing the foreign key definition.. + + + + + Looks up a localized string similar to Error encountered reading the RSA public key.. + + + + + Looks up a localized string similar to Unable to retrieve stored procedure metadata for routine '{0}'. Either grant SELECT privilege to mysql.proc for this user or use "check parameters=false" with your connection string.. + + + + + Looks up a localized string similar to Unable to start a second async operation while one is running.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows. + + + + + Looks up a localized string similar to Unknown authentication method '{0}' was requested.. + + + + + Looks up a localized string similar to Unknown connection protocol. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Looks up a localized string similar to The requested column value could not be treated as or conveted to a Guid.. + + + + + Looks up a localized string similar to Windows authentication connections are not supported on {0}. + + + + + Looks up a localized string similar to Writing to the stream failed.. + + + + + Looks up a localized string similar to Parameter '{0}' is not found but a parameter with the name '{1}' is found. Parameter names must include the leading parameter marker.. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Appdata path is not defined.. + + + + + Looks up a localized string similar to Authentication failed using MYSQL41 and SHA256_MEMORY. Check the user name and password or try using a secure connection.. + + + + + Looks up a localized string similar to You can't get more sessions because Client is closed.. + + + + + Looks up a localized string similar to Client option '{0}' does not support value '{1}'.. + + + + + Looks up a localized string similar to Client option '{0}' is not recognized as valid.. + + + + + Looks up a localized string similar to {0} '{1}' does not exist in schema '{2}'.. + + + + + Looks up a localized string similar to '{0}' cannot be set to false with DNS SRV lookup enabled.. + + + + + Looks up a localized string similar to Scheme '{0}' is not valid.. + + + + + + Looks up a localized string similar to Compression using {0} is not supported.. + + + + + Looks up a localized string similar to Failed to load libzstd.dll. Removing zstd_stream from the client supported compression algorithms.. + + + + + Looks up a localized string similar to Compression using {0} is not supported in .NET Framework.. + + + + + Looks up a localized string similar to The connection property 'compression' acceptable values are: 'preferred', 'required' or 'disabled'. The value '{0}' is not acceptable.. + + + + + Looks up a localized string similar to Compression is not enabled.. + + + + + Looks up a localized string similar to Compression requested but the server does not support it.. + + + + + Looks up a localized string similar to There are still decompressed messages pending to be processed.. + + + + + Looks up a localized string similar to Duplicate key '{0}' used in "connection-attributes".. + + + + + Looks up a localized string similar to Key name in connection attribute cannot be an empty string.. + + + + + Looks up a localized string similar to At least one option must be specified.. + + + + + Looks up a localized string similar to This feature is currently not supported.. + + + + + Looks up a localized string similar to This functionality is only supported in MySQL {0} and higher.. + + + + + Looks up a localized string similar to Collation with id '{0}' not found.. + + + + + Looks up a localized string similar to The value of "connection-attributes" must be either a boolean or a list of key-value pairs.. + + + + + Looks up a localized string similar to Connection Data is incorrect.. + + + + + Looks up a localized string similar to The connection string is invalid.. + + + + + Looks up a localized string similar to '{0}' is not a valid connection string attribute.. + + + + + Looks up a localized string similar to The connection timeout value must be a positive integer (including 0).. + + + + + Looks up a localized string similar to Decimal (BCD) format is invalid.. + + + + + Looks up a localized string similar to Field type with name '{0}' not found.. + + + + + Looks up a localized string similar to Index type with name '{0}' not found.. + + + + + Looks up a localized string similar to The value provided is not a valid JSON document. {0}. + + + + + Looks up a localized string similar to {0} is not a valid column name in the row.. + + + + + Looks up a localized string similar to {0} is not a valid index for the row.. + + + + + Looks up a localized string similar to Session state is not valid.. + + + + + Looks up a localized string similar to Invalid Uri . + + + + + Looks up a localized string similar to Invalid uri query value. + + + + + Looks up a localized string similar to Key names in "connection-attributes" cannot start with "_".. + + + + + Looks up a localized string similar to Json configuration must contain 'uri' or 'host' but not both.. + + + + + Looks up a localized string similar to Keyword '{0}' not found.. + + + + + Looks up a localized string similar to Keyword not supported.. + + + + + Looks up a localized string similar to Field '{0}' is mandatory.. + + + + + Looks up a localized string similar to Missed required 'schema' option.. + + + + + Looks up a localized string similar to More than one document id was generated. Please use the DocumentIds property instead.. + + + + + Looks up a localized string similar to There is no data at index {0}. + + + + + Looks up a localized string similar to No 'host' has been specified.. + + + + + Looks up a localized string similar to No more data in resultset.. + + + + + Looks up a localized string similar to Object '{0}' not found. + + + + + Looks up a localized string similar to No placeholders.. + + + + + Looks up a localized string similar to {0} must be a value greater than 0.. + + + + + Looks up a localized string similar to Path not found '{0}'.. + + + + + Looks up a localized string similar to Queue timeout expired. The timeout period elapsed prior to getting a session from the pool.. + + + + + Looks up a localized string similar to Providing a port number as part of the host address isn't supported when using connection strings in basic format or anonymous objects. Use URI format instead.. + + + + + Looks up a localized string similar to You must either assign no priority to any of the hosts or give a priority for every host.. + + + + + Looks up a localized string similar to The priority must be between 0 and 100.. + + + + + Looks up a localized string similar to ProgramData path is not defined.. + + + + + Looks up a localized string similar to The server doesn't support the requested operation. Please update the MySQL Server and/or Client library. + + + + + Looks up a localized string similar to The process of closing the resultset and resulted in results being lost.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout of {0} milliseconds was exceeded for each selected server.. + + + + + Looks up a localized string similar to All server connection attempts were aborted. Timeout was exceeded for each selected server.. + + + + + Looks up a localized string similar to Connection attempt to the server was aborted. Timeout of {0} milliseconds was exceeded.. + + + + + Looks up a localized string similar to Connection attempt to the server was aborted. Timeout was exceeded.. + + + + + Looks up a localized string similar to Unable to connect to any specified host.. + + + + + Looks up a localized string similar to Unable to read or decode data value.. + + + + + Looks up a localized string similar to Unable to open a session.. + + + + + Looks up a localized string similar to Unexpected end of packet found while reading data values. + + + + + Looks up a localized string similar to Field name '{0}' is not allowed.. + + + + + Looks up a localized string similar to Unknown placeholder :{0}. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Summary description for MySqlUInt64. + + + + + An exception thrown by MySQL when a type conversion does not succeed. + + + + Initializes a new instance of the class with a specified error message. + Message describing the error. + + + + Represents a datetime data type object in a MySql database. + + + + + Defines whether the UTF or local timezone will be used. + + + + + Constructs a new MySqlDateTime object by setting the individual time properties to + the given values. + + The year to use. + The month to use. + The day to use. + The hour to use. + The minute to use. + The second to use. + The microsecond to use. + + + + Constructs a new MySqlDateTime object by using values from the given object. + + The object to copy. + + + + Constructs a new MySqlDateTime object by copying the current value of the given object. + + The MySqlDateTime object to copy. + + + + Enables the contruction of a MySqlDateTime object by parsing a string. + + + + + Indicates if this object contains a value that can be represented as a DateTime + + + + Returns the year portion of this datetime + + + Returns the month portion of this datetime + + + Returns the day portion of this datetime + + + Returns the hour portion of this datetime + + + Returns the minute portion of this datetime + + + Returns the second portion of this datetime + + + + Returns the milliseconds portion of this datetime + expressed as a value between 0 and 999 + + + + + Returns the microseconds portion of this datetime (6 digit precision) + + + + + Returns true if this datetime object has a null value + + + + + Retrieves the value of this as a DateTime object. + + + + Returns this value as a DateTime + + + Returns a MySQL specific string representation of this value + + + + + + + + + Represents a decimal data type object in a MySql database. + + + + + Gets a boolean value signaling if the type is null. + + + + + Gets or sets the decimal precision of the type. + + + + + Gets or sets the scale of the type. + + + + + Gets the decimal value associated to this type. + + + + + Converts this decimal value to a double value. + + The value of this type converted to a dobule value. + + + + Represents a geometry data type object in a MySql database. + + + + + Gets the x coordinate. + + + + + Gets the y coordinate. + + + + + Gets the SRID value. + + + + + Gets a boolean value that signals if the type is null. + + + + + Gets the value associated to this type. + + + + + Gets the value associated to this type. + + + + Returns the Well-Known Text representation of this value + POINT({0} {1})", longitude, latitude + http://dev.mysql.com/doc/refman/4.1/en/gis-wkt-format.html + + + + Get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + + + + Try to get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + Out mysqlGeometryValue + + + + Sets the DSInfo when GetSchema is called for the DataSourceInformation collection. + + + + + Gets the well-known text representation of the geomtry object. + + A string representation of the WKT. + + + + Provides functionality for loading unmanaged libraries. + + + + + Loads the specified unmanaged library from the embedded resources. + + The application name. + The library name. + + + + Provides support for configuring X Protocol compressed messages. + + + + + The capabilities sub-key used to specify the compression algorithm. + + + + + The capabilities key used to specify the compression capability. + + + + + Messages with a value lower than this threshold will not be compressed. + + + + + Default value for enabling or disabling combined compressed messages. + + + + + Default value for the maximum number of combined compressed messages contained in a compression message. + + + + + deflate_stream compression algorithm. + + + + + lz4_message compression algorithm. + + + + + The capabilities sub-key used to specify if combining compressed messages is permitted. + + + + + The capabilities sub-key used to specify the maximum number of compressed messages contained in a compression message. + + + + + zstd_stream compression algorithm. + + + + + Buffer used to store the data received from the server. + + + + + Deflate stream used for compressing data. + + + + + Deflate stream used for decompressing data. + + + + + Flag indicating if the initialization is for compression or decompression. + + + + + Stores the communication packet generated the last time ReadNextBufferedMessage method was called. + + + + + Indicates if the libzstd.dll has been loaded. + + + + + Stream used to store multiple X Protocol messages. + + + + + ZStandard stream used for decompressing data. + + + + + Static constructor used to initialize the client supported compression algorithms. + + + + + Main constructor used to set the compression algorithm and initialize the list of messages to + be compressed by the client. + + The compression algorithm to use. + Flag indicating if the initialization is for compression or decompression. + + + + Gets or sets the list of messages that should be compressed by the client when compression is enabled. + + + + + Gets or sets an array containing the compression algorithms supported by the client. + + + + + Gets or sets the compression algorithm. + + + + + Flag indicating if compression is enabled. + + + + + Flag indicating if the last decompressed message contains multiple messages. + + + + + General method used to compress data using the compression algorithm defined in the constructor. + + The data to compress. + A compressed byte array. + + + + Compresses data using the deflate_stream algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the lz4_message algorithm. + + The data to compress. + A compressed byte array. + + + + Compresses data using the zstd_stream algorithm. + + The data to compress. + A compressed byte array. + + + + General method used to decompress data using the compression algorithm defined in the constructor. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the deflate_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the lz4_message compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Decompresses data using the zstd_stream compression algorithm. + + The data to decompress. + The expected length of the decompressed data. + A decompressed byte array. + + + + Closes and disposes of any open streams. + + + + + Gets the byte array representing the next X Protocol frame that is stored in cache. + + A byte array representing an X Protocol frame. + + + + Gets a representing the next X Protocol frame that is stored in cache. + + A with the next X Protocol frame. + + + + Loads the libzstd.dll assembly. + + + + + This object store the required parameters to create a Collection with schema validation. + + If false, throws an exception if the collection exists. + Object which hold the Level and Schema parameters + + + + + This object store the required parameters to Modify a Collection with schema validation. + + Object which hold the Level and Schema parameters + + + + + This object store the required parameters to create a Collection with schema validation. + + It can be STRICT to enable schema validation or OFF to disable + The JSON which define the rules to be validated in the collection + + + + The possible values for parameter Level in Validation object. + + Enforce schema validation. + Schema validation disabled. + + + + Implementation of EXTERNAL authentication type. + + + + + Implementation of MySQL41 authentication type. + + + + + Implementation of PLAIN authentication type. + + + + + Compares two Guids in string format. + + The first string to compare. + The first string to compare. + An integer that indicates the lexical relationship between the two comparands, similar to + + + + Compares two objects. + + The first to compare. + The second to compare. + An integer that indicates the lexical relationship between the two comparands, similar to + + + + Constructor that sets the stream used to read or write data. + + The stream used to read or write data. + + + + Constructor that sets the stream used to read or write data and the compression controller. + + The stream used to read or write data. + The compression controller. + + + + Gets or sets the compression controller uses to manage compression operations. + + + + + Writes X Protocol frames to the X Plugin. + + The integer representation of the client message identifier used for the message. + The message to include in the X Protocol frame. + + + + Writes X Protocol frames to the X Plugin. + + The client message identifier used for the message. + The message to include in the X Protocol frame. + + + + Reads X Protocol frames incoming from the X Plugin. + + A instance representing the X Protocol frame that was read. + + + + Abstract class for the protocol base operations in client/server communication. + + + + + Expression parser for MySQL-X protocol. + + + string being parsed. + + + Token stream produced by lexer. + + + Parser's position in token stream. + + + Mapping of names to positions for named placeholders. Used for both string values ":arg" and numeric values ":2". + + + Number of positional placeholders. + + + Are relational columns identifiers allowed? + + + Token types used by the lexer. + + + Token. Includes type and string value of the token. + + + Mapping of reserved words to token types. + + + Does the next character equal the given character? (respects bounds) + + + Helper function to match integer or floating point numbers. This function should be called when the position is on the first character of the number (a + digit or '.'). + + @param i The current position in the string + @return the next position in the string after the number. + + + Lexer for MySQL-X expression language. + + + Assert that the token at pos is of type type. + + + Does the current token have type `t'? + + + Does the next token have type `t'? + + + Does the token at position `pos' have type `t'? + + + Consume token. + + @return the string value of the consumed token + + + Parse a paren-enclosed expression list. This is used for function params or IN params. + + @return a List of expressions + + + Parse a function call of the form: IDENTIFIER PAREN_EXPR_LIST. + + @return an Expr representing the function call. + + + Parse an identifier for a function call: [schema.]name + + + Parse a document path member. + + + Parse a document path array index. + + + Parse a JSON-style document path, like WL#7909, but prefix by @. instead of $. + + + Parse a document field. + + + Parse a column identifier (which may optionally include a JSON document path). + + + Build a unary operator expression. + + + Parse an atomic expression. (c.f. grammar at top) + + + Parse a left-associated binary operator. + + @param types + The token types that denote this operator. + @param innerParser + The inner parser that should be called to parse operands. + @return an expression tree of the binary operator or a single operand + + + Parse the entire string as an expression. + + @return an X-protocol expression tree + + + + Parse an ORDER BY specification which is a comma-separated list of expressions, each may be optionally suffixed by ASC/DESC. + + + Parse a SELECT projection which is a comma-separated list of expressions, each optionally suffixed with a target alias. + + + Parse an INSERT field name. + @todo unit test + + + Parse an UPDATE field which can include can document paths. + + + Parse a document projection which is similar to SELECT but with document paths as the target alias. + + + Parse a list of expressions used for GROUP BY. + + + @return the number of positional placeholders in the expression. + + + @return a mapping of parameter names to positions. + + + Proto-buf helper to build a LITERAL Expr with a Scalar NULL type. + + + Proto-buf helper to build a LITERAL Expr with a Scalar DOUBLE type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar SINT (signed int) type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar UINT (unsigned int) type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar STRING type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar OCTETS type (wrapped in Any). + + + Proto-buf helper to build a LITERAL Expr with a Scalar BOOL type (wrapped in Any). + + + Wrap an Any value in a LITERAL expression. + + + Build an Any with a string value. + + + + Parses an anonymous object into a dictionary. + + The object to parse. + A dictionary if the provided object is an anonymous object; otherwise, null. + + + List of operators which will be serialized as infix operators. + + + Scalar to string. + + + JSON document path to string. + + + Column identifier (or JSON path) to string. + + + Function call to string. + + + Create a string from a list of (already stringified) parameters. Surround by parens and separate by commas. + + + Convert an operator to a string. Includes special cases for chosen infix operators (AND, OR) and special forms such as LIKE and BETWEEN. + + + Escape a string literal. + + + Quote a named identifer. + + + Serialize an expression to a string. + + + + Build the message to be sent to MySQL Server to execute statement "Create" or "Modify" collection with schema options + + The namespace + The name of the command to be executed on MySql Server + Array of KeyValuePairs with the parameters required to build the message + void. + + + + Sends the delete documents message + + + + + Sends the CRUD modify message + + + + + Class implementation for a default communication kind. + + + + + Constructor method for the communication routing service + + A MySqlXConnectionStringBuilder setted with the information to use in the connection + + + + Gets the current connection base on the connection mode + + One of the values of ConnectionMode Offline, ReadOnly, WriteOnly, ReadWrite + + + + + Abstract class used to define the kind of server in environments with multiple types of distributed systems. + + + + + Main class for parsing json strings. + + + + + Initializes a new instance of the JsonParser class. + + + + + Parses the received string into a dictionary. + + The string to parse. + A object that represents the parsed string. + + + + Abstract class to manage and encapsulate one or more actual connections. + + + + + Creates a new session object with the values of the settings parameter. + + Settings to be used in the session object + + + + Sets the connection's charset default collation. + + The opened session. + The character set. + + + + Gets the version of the server. + + An instance of containing the server version. + + + + Gets the thread Id of the connection. + + Thread Id + + + + Implementation class for object that manages low-level work of queuing tasks onto threads. + + + + + Implementation class of InternalSession to manage connections using the Xprotocol type object. + + + + + Defines the compression controller that will be passed on the instance when + compression is enabled. + + + + + Defines the compression controller that will be passed on the instance when + compression is enabled. + + + + + The used client to handle SSH connections. + + + + + Negotiates compression capabilities with the server. + + An array containing the compression algorithms supported by the server. + + + + Prepare the dictionary of arguments required to create a MySQL message. + + The name of the MySQL schema. + The name of the collection. + This object hold the parameters required to create the collection. + + Collection referente. + + + + Prepare the dictionary of arguments required to Modify a MySQL message. + + The name of the MySQL schema. + The name of the collection. + This object hold the parameters required to Modify the collection. + + Collection referente. + + + + Gets the compression algorithm being used to compress or decompress data. + + Flag to indicate if the compression algorithm should be + retrieved from the reader or writer controller. + The name of the compression algorithm being used if any. + null if no compression algorithm is being used. + + + + Represents a base class for a Session. + + + + + Flag to set if prepared statements are supported. + + + + + Gets the connection settings for this session. + + + + + Gets the currently active schema. + + + + + Gets the default schema provided when creating the session. + + + + + Gets the connection uri representation of the connection options provided during the creation of the session. + + + + + Initializes a new instance of the BaseSession class based on the specified connection string. + + The connection used to create the session. + is null. + Unable to parse the when + in URI format. + + When using Unix sockets the protocol=unix or protocol=unixsocket connection option is required. + This will enable elements passed in the server connection option to be treated as Unix sockets. The user is also required + to explicitly set sslmode to none since X Plugin does not support SSL when using Unix sockets. Note that + protocol=unix and protocol=unixsocket are synonyms. +   + Multiple hosts can be specified as part of the , + which enables client-side failover when trying to establish a connection. +   + Connection URI examples: + - mysqlx://test:test@[192.1.10.10,localhost] + - mysqlx://test:test@[192.1.10.10,127.0.0.1] + - mysqlx://root:@[../tmp/mysqlx.sock,/tmp/mysqld.sock]?protocol=unix&sslmode=none + - mysqlx://test:test@[192.1.10.10:33060,127.0.0.1:33060] + - mysqlx://test:test@[192.1.10.10,120.0.0.2:22000,[::1]:33060]/test?connectiontimeout=10 + - mysqlx://test:test@[(address=server.example,priority=20),(address=127.0.0.1,priority=100)] + - mysqlx://test:test@[(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25)] + +   + Connection string examples: + - server=10.10.10.10,localhost;port=33060;uid=test;password=test; + - host=10.10.10.10,192.101.10.2,localhost;port=5202;uid=test;password=test; + - host=./tmp/mysqld.sock,/var/run/mysqldx.sock;port=5202;uid=root;protocol=unix;sslmode=none; + - server=(address=server.example,priority=20),(address=127.0.0.1,priority=100);port=33060;uid=test;password=test; + - server=(address=server.example,priority=100),(address=127.0.0.1,priority=75),(address=192.0.10.56,priority=25);port=33060;uid=test;password=test; + +   + Failover methods + - Sequential: Connection attempts will be performed in a sequential order, that is, one after another until + a connection is successful or all the elements from the list have been tried. + + - Priority based: If a priority is provided, the connection attemps will be performed in descending order, starting + with the host with the highest priority. Priority must be a value between 0 and 100. Additionally, it is required to either + give a priority for every host or no priority to any host. + + + + + + Initializes a new instance of the BaseSession class based on the specified anonymous type object. + + The connection data as an anonymous type used to create the session. + is null. + + Multiple hosts can be specified as part of the , which enables client-side failover when trying to + establish a connection. +   + To assign multiple hosts, create a property similar to the connection string examples shown in + . Note that the value of the property must be a string. + + + + + + Drops the database/schema with the given name. + + The name of the schema. + is null. + + + + Creates a schema/database with the given name. + + The name of the schema/database. + A object that matches the recently created schema/database. + + + + Gets the schema with the given name. + + The name of the schema. + A object set with the provided schema name. + + + + Gets a list of schemas (or databases) in this session. + + A list containing all existing schemas (or databases). + + + + Starts a new transaction. + + + + + Commits the current transaction. + + A object containing the results of the commit operation. + + + + Rolls back the current transaction. + + + + + Closes this session or releases it to the pool. + + + + + Closes this session + + + + + Sets a transaction savepoint with an autogenerated name. + + The autogenerated name of the transaction savepoint. + + + + Sets a named transaction savepoint. + + The name of the transaction savepoint. + The name of the transaction savepoint. + + + + Removes the named savepoint from the set of savepoints within the current transaction. + + The name of the transaction savepoint. + + + + Rolls back a transaction to the named savepoint without terminating the transaction. + + The name of the transaction savepoint. + + + + Parses the connection data. + + The connection string or connection URI. + An updated connection string representation of the provided connection string or connection URI. + + + + Parses a connection URI. + + The connection URI to parse. + The connection string representation of the provided . + + + + Validates if the string provided is a Unix socket file. + + The Unix socket to evaluate. + true if is a valid Unix socket; otherwise, false. + + + + Converts the URI object into a connection string. + + An instance with the values for the provided connection options. + The path of the Unix socket file. + If true the replaces the value for the server connection option; otherwise, false + A connection string. + + + + Parses a connection string. + + The connection string to parse. + The parsed connection string. + + + + Normalizes the Unix socket by removing leading and ending parenthesis as well as removing special characters. + + The Unix socket to normalize. + A normalized Unix socket. + + + + Disposes the current object. Disposes of the managed state if the flag is set to true. + + Flag to indicate if the managed state is to be disposed. + + + + Disposes the current object. Code added to correctly implement the disposable pattern. + + + + + Describes the state of the session. + + + + + The session is closed. + + + + + The session is open. + + + + + The session object is connecting to the data source. + + + + + The session object is executing a command. + + + + + Class encapsulating a session pooling functionality. + + + + + Queue of demoted hosts. + + + + + List of hosts that will be attempted to connect to. + + + + + Timer to be used when a host have been demoted. + + + + + Remove hosts from the demoted list that have already been there for more + than 120,000 milliseconds and add them to the available hosts list. + + + + + Get a session from pool or create a new one. + + + + + + Closes all sessions the Client object created and destroys the managed pool. + + + + + Represents a collection of documents. + + + + + Creates an containing the provided objects that can be used to add + one or more items to a collection. + + The objects to add. + An object containing the objects to add. + is null. + This method can take anonymous objects, domain objects, or just plain JSON strings. + The statement can be further modified before execution. + + + + Creates a with the given condition that can be used to remove + one or more documents from a collection.The statement can then be further modified before execution. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Removes the document with the given identifier. + + The unique identifier of the document to replace. + A object containing the results of the execution. + is null or white space. + This is a direct execution method. + + + + Creates a with the given condition that can be used to modify one or more + documents from a collection. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Replaces the document matching the given identifier. + + The unique identifier of the document to replace. + The document to replace the matching document. + A object containing the results of the execution. + is null or whitespace. + is null. + This is a direct execution method. Operation succeeds even if no matching document was found; + in which case, the Result.RecordsAffected property is zero. If the new document contains an identifier, the value + is ignored. + + + + Adds the given document to the collection unless the identifier or any other field that has a unique index + already exists, in which case it will update the matching document. + + The unique identifier of the document to replace. + The document to replace the matching document. + A object containing the results of the execution. + The server version is lower than 8.0.3. + is null or white space. + is null. + The is different from the one in . + This is a direct execution method. + + + + Returns the number of documents in this collection on the server. + + The number of documents found. + + + + Creates a with the given condition which can be used to find documents in a + collection. + + An optional condition to match documents. + A object set with the given condition. + The statement can then be further modified before execution. + + + + Creates an index based on the properties provided in the JSON document. + + The index name. + JSON document describing the index to be created. + + is a JSON document with the following fields: + + - fields: array of IndexField objects, each describing a single document member to be + included in the index (see below). + - type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may + be omitted. + +   + A single IndexField description consists of the following fields: + + - field: string, the full document path to the document member or field to be indexed. + - type: string, one of the supported SQL column types to map the field into (see the following list). + For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for + indexing may be added. + - required: bool, (optional) true if the field is required to exist in the document. defaults to + false, except for GEOJSON where it defaults to true. + - options: int, (optional) special option flags for use when decoding GEOJSON data. + - srid: int, (optional) srid value for use when decoding GEOJSON data. + +   + Supported SQL column types: + + - INT [UNSIGNED] + - TINYINT [UNSIGNED] + - SMALLINT [UNSIGNED] + - MEDIUMINT [UNSIGNED] + - INTEGER [UNSIGNED] + - BIGINT [UNSIGNED] + - REAL [UNSIGNED] + - FLOAT [UNSIGNED] + - DOUBLE [UNSIGNED] + - DECIMAL [UNSIGNED] + - NUMERIC [UNSIGNED] + - DATE + - TIME + - TIMESTAMP + - DATETIME + - TEXT[(length)] + - CHAR[(lenght)] + - GEOJSON (extra options: options, srid) + + + + + + Drops a collection index. + + The index name. + is null or white space. + + + + Verifies if the current collection exists in the server schema. + + true if the collection exists; otherwise, false. + + + + Returns the document with the given identifier. + + The unique identifier of the document to replace. + A object if a document matching given identifier exists; otherwise, null. + is null or white space. + This is a direct execution method. + + + + Base abstract class that defines elements inherited by all result types. + + + + + Gets the number of records affected by the statement that generated this result. + + + + + Gets the object of the session. + + + + + Gets a read-only collection of objects derived from statement execution. + + + + + Gets the number of warnings in the collection derived from statement execution. + + + + + No action is performed by this method. It is intended to be overriden by child classes if required. + + + + + Base abstract class for API statement. + + + + + + Initializes a new instance of the BaseStatement class based on the specified session. + + The session where the statement will be executed. + + + + Gets the that owns the statement. + + + + + Executes the base statements. This method is intended to be defined by child classes. + + A result object containing the details of the execution. + + + + Executes a statement asynchronously. + + A result object containing the details of the execution. + + + + Validates if the session is open and valid. + + + + + Sets the status as Changed for prepared statement validation. + + + + + Converts a statement to prepared statement for a second execution + without any change but Bind, Limit, or Offset. + + + + + Abstract class for buffered results. + + Generic result type. + + + + Index of the current item. + + + + + List of generic items in this buffered result. + + + + + Flag that indicates if all items have been read. + + + + + Gets a dictionary containing the column names and their index. + + + + + Gets the page size set for this buffered result. + + + + + Loads the column data into the field. + + + + + Retrieves a read-only list of the generic items associated to this buffered result. + + A generic list representing items in this buffered result. + + + + Retrieves one element from the generic items associated to this buffered result. + + A generic object that corresponds to the current or default item. + + + + Determines if all items have already been read. + + True if all items have been retrived, false otherwise. + + + + Gets the current item. + + All items have already been read. + + + + Determines if all items have already been read. + + True if all items have been retrived, false otherwise. + + + + Resets the value of the field to zero. + + + + + Gets an representation of this object. + + An representation of this object. + + + + Gets an representation of this object. + + An representation of this object. + + + + Retrieves a read-only list of the generic items associated to this buffered result. + + A generic list representing items in this buffered result. + + + + No body has been defined for this method. + + + + + Class to represent an error in this result. + + + + + Numeric code. + + + + + Return code indicating the outcome of the executed SQL statement. + + + + + Error message. + + + + + Initializes a new instance of the ErrorInfo class. + + + + + Abstract class for filterable statements. + + The filterable statement. + The database object. + The type of result. + + + + Initializes a new instance of the FiltarableStatement class based on the target and condition. + + The database object. + The optional filter condition. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Sets the number of items to be returned by the operation. + + The number of items to be returned. + The implementing statement type. + is equal or lower than 0. + + + + Sets the number of items to be skipped before including them into the result. + + The number of items to be skipped. + The implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameter name. + The value of the parameter. + A generic object representing the implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as a DbDoc object. + A generic object representing the implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as a JSON string. + The implementing statement type. + + + + Binds the parameter values in filter expression. + + The parameters as an anonymous object: new { param1 = value1, param2 = value2, ... }. + The implementing statement type. + + + + Executes the statement. + + The function to execute. + The generic object to use. + A generic result object containing the results of the execution. + + + + Clones the filterable data but Session and Target remain the + same. + + A clone of this filterable statement. + + + + Represents a general statement result. + + + + + Gets the last inserted identifier (if there is one) by the statement that generated this result. + + + + + Gets the list of generated identifiers in the order of the Add() calls. + + + + + Abstract class to select a database object target. + + The database object. + The execution result. + + + + Initializes a new instance of the TargetedBaseStatement class based on the provided target. + + The database object. + + + + Gets the database target. + + + + + Represents a warning in this result. + + + + + Numeric value associated to the warning message. + + + + + Error message. + + + + + Strict level for the warning. + + + + + Initializes a new instance of the WarningInfo class based on the code and msg. + + The code for the warning. + The error message for the warning. + + + + Represents a chaining collection insert statement. + + + + + Adds documents to the collection. + + The documents to add. + This object. + The array is null. + + + + Executes the Add statement. + + A object containing the results of the execution. + + + + Implementation class for CRUD statements with collections using an index. + + + + + Executes this statement. + + A object containing the results of the execution. + + + + Represents a collection statement. + + + + + + Converts base s into objects. + + Array of objects to be converted to objects. + An enumerable collection of objects. + + + + Represents the result of an operation that includes a collection of documents. + + + + + Represents a chaining collection find statement. + + + + + List of column projections that shall be returned. + + List of columns. + This object set with the specified columns or fields. + + + + Executes the Find statement. + + A object containing the results of execution and data. + + + + Locks matching rows against updates. + + Optional row lock option to use. + This same object set with the lock shared option. + The server version is lower than 8.0.3. + + + + Locks matching rows so no other transaction can read or write to it. + + Optional row lock option to use. + This same object set with the lock exclusive option. + The server version is lower than 8.0.3. + + + + Sets the collection aggregation. + + The field list for aggregation. + This same object set with the specified group-by criteria. + + + + Filters criteria for aggregated groups. + + The filter criteria for aggregated groups. + This same object set with the specified filter criteria. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Represents a chaining collection modify statement. + + + + + Sets key and value. + + The document path key. + The new value. + This object. + + + + Changes value for a key. + + The document path key. + The new value. + This object. + + + + Removes keys or values from a document. + + An array of document paths representing the keys to be removed. + This object. + + + + Creates a object set with the changes to be applied to all matching documents. + + The JSON-formatted object describing the set of changes. + A object set with the changes described in . + can be a object, an anonymous object, or a JSON string. + is null. + is null or white space. + + + + Inserts an item into the specified array. + + The document path key including the index on which the item will be inserted. + The value to insert into the array. + A object containing the updated array. + + + + Appends an item to the specified array. + + The document path key. + The value to append to the array. + A object containing the updated array. + + + + Allows the user to set the sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Executes the modify statement. + + A object containing the results of the execution. + + + + Represents a chaining collection remove statement. + + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Enables the setting of Where condition for this operation. + + The Where condition. + The implementing statement type. + + + + Executes the remove statement. + + A object containing the results of the execution. + + + + Represents a database object. + + + + + Gets the session that owns the database object. + + + + + Gets the schema that owns the database object. + + + + + Gets the database object name. + + + + + Verifies that the database object exists in the database. + + True if the object exists in database, false otherwise. + + + + Represents a generic document in JSON format. + + + + + Initializes a new instance of the DbDoc class based on the object provided. The value can be a domain object, anonymous object, or JSON string. + + The value for this DbDoc. + + + + Gets the value of a document property. + + The key path for the property. + + + + + Gets the identifier of the document. + + + + + Gets a value indicating if this document has an identifier (property named _id with a value). + + + + + Sets a property on this document. + + The key of the property. + The new property value. + + + + Returns this document in Json format. + + A Json formatted string. + + + + Compares this DbDoc with another one. + + The DbDoc to compare to. + True if they are equal, false otherwise. + + + + Gets a value that serves as a hash function for a particular type. + + A hash code for the current object. + + + + Represents a collection of documents with a generic type. + + + + + Initializes a new instance of the generic Collection class based on the specified schema + and name. + + The object associated to this collection. + The name of the collection. + + + + Creates an containing the provided generic object. The add + statement can be further modified before execution. + + The generic object to add. + An object containing the object to add. + + + + Defines elements that allow to iterate through the contents of various items. + + + + + Initializes a new instance of the Iterator class. + + + + + This method is not yet implemented. + + + + Exception is always thrown since the body of the method is not yet implemented. + + + + Main class for session operations related to Connector/NET implementation of the X DevAPI. + + + + + Opens a session to the server given or to the first available server if multiple servers were specified. + + The connection string or URI string format. + A object representing the established session. + Multiple hosts can be specified as part of the which + will enable client side failover when trying to establish a connection. For additional details and syntax + examples refer to the remarks section. + + + + Opens a session to the server given. + + The connection data for the server. + A object representing the established session. + + + + Creates a new instance. + + The connection string or URI string format. + The connection options in JSON string format. + A object representing a session pool. + + + + Creates a new instance. + + The connection string or URI string format. + The connection options in object format. + + + new { pooling = new + { + enabled = true, + maxSize = 15, + maxIdleTime = 60000, + queueTimeout = 60000 + } + } + + + + A object representing a session pool. + + + + Creates a new instance. + + The connection data. + The connection options in JSON string format. + A object representing a session pool. + + + + Creates a new instance. + + The connection data. + The connection options in object format. + + + new { pooling = new + { + enabled = true, + maxSize = 15, + maxIdleTime = 60000, + queueTimeout = 60000 + } + } + + + + A object representing a session pool. + + + + Enables the creation of connection strings by exposing the connection options as properties. + Contains connection options specific to the X protocol. + + + + + Main constructor. + + + + + Constructor accepting a connection string. + + The connection string. + + + + Readonly field containing a collection of classic protocol and protocol shared connection options. + + + + + Gets or sets the connection timeout. + + + + + Gets or sets the connection attributes. + + + + + Path to a local file containing certificate revocation lists. + + + + + Gets or sets the compression type between client and server. + + + + + Gets or sets a connection option. + + The keyword that identifies the connection option to modify. + + + + Represents a table column. + + + + + Gets the original column name. + + + + + Gets the alias of the column name. + + + + + Gets the table name the column orginates from. + + + + + Gets the alias of the table name . + + + + + Gets the schema name the column originates from. + + + + + Gets the catalog the schema originates from. + In MySQL protocol this is `def` by default. + + + + + Gets the collation used for this column. + + + + + Gets the character set used for this column. + + + + + Gets the column length. + + + + + Gets the fractional decimal digits for floating point and fixed point numbers. + + + + + Gets the Mysql data type. + + + + + Gets the .NET Clr data type. + + + + + True if it's a signed number. + + + + + True if column is UINT zerofill or BYTES rightpad. + + + + + Initializes a new instance of the Column class. + + + + + Represents a resultset that contains rows of data. + + + + + Gets the columns in this resultset. + + + + + Gets the number of columns in this resultset. + + + + + Gets a list containing the column names in this resultset. + + + + + Gets the rows of this resultset. This collection will be incomplete unless all the rows have been read + either by using the Next method or the Buffer method. + + + + + Gets the value of the column value at the current index. + + The column index. + The CLR value at the column index. + + + + Allows getting the value of the column value at the current index. + + The column index. + The CLR value at the column index. + + + + Returns the index of the given column name. + + The name of the column to find. + The numeric index of column. + + + + Represents a single row of data in a table. + + + + + Gets the value of the row at the given index. + + The column index to retrieve the value. + The value at the index. + + + + Gets the value of the column as a string. + + The name of the column. + The value of the column as a string. + + + + Gets a string based indexer into the row. Returns the value as a CLR type. + + The column index to get. + The CLR value for the column. + + + + Inherits from . Creates a resultset that contains rows of data. + + + + + Represents a resultset that contains rows of data for relational operations. + + + + + Gets a boolean value indicating if this result has data. + + + + + Moves to next resultset. + + True if there is a new resultset, false otherwise. + + + + Represents a sql statement. + + + + + Initializes a new instance of the SqlStament class bassed on the session and sql statement. + + The session the Sql statement belongs to. + The Sql statement. + + + + Gets the current Sql statement. + + + + + Gets the list of parameters associated to this Sql statement. + + + + + Executes the current Sql statement. + + A object with the resultset and execution status. + + + + Binds the parameters values by position. + + The parameter values. + This set with the binded parameters. + + + + Represents a server Table or View. + + + + + Gets a value indicating whether the object is + a View (True) or a Table (False). + + + + + Creates a set with the columns to select. The table select + statement can be further modified before execution. This method is intended to select a set + of table rows. + + The optional column names to select. + A object for select chain operations. + + + + Creates a set with the fileds to insert to. The table + insert statement can be further modified before exeuction. This method is intended to + insert one or multiple rows into a table. + + The list of fields to insert. + A object for insert chain operations. + + + + Creates a . This method is intended to update table rows + values. + + A object for update chain operations. + + + + Creates a . This method is intended to delete rows from a + table. + + A object for delete chain operations. + + + + Returns the number of rows in the table on the server. + + The number of rows. + + + + Verifies if the table exists in the database. + + true if the table exists; otherwise, false. + + + + Represents a chaining table delete statement. + + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object representing the implementing statement type. + + + + Executes the delete statement. + + A object containing the results of the delete execution. + + + + Represents a chaining table insert statement. + + + + + Executes the insert statement. + + A object containing the results of the insert statement. + + + + Values to be inserted. + Multiple rows supported. + + The values to be inserted. + This same object. + + + + Represents a chaining table select statement. + + + + + Executes the select statement. + + A object containing the results of the execution and data. + + + + Locks matching rows against updates. + + Optional row lock option to use. + This same object set with lock shared option. + The server version is lower than 8.0.3. + + + + Locks matching rows so no other transaction can read or write to it. + + Optional row lock option to use. + This same object set with the lock exclusive option. + The server version is lower than 8.0.3. + + + + Sets the table aggregation. + + The column list for aggregation. + This same object set with the specified group-by criteria. + + + + Filters criteria for aggregated groups. + + The filter criteria for aggregated groups. + This same object set with the specified filter criteria. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object that represents the implementing statement type. + + + + Represents a chaining table update statement. + + + + + Executes the update statement. + + A object ocntaining the results of the update statement execution. + + + + Column and value to be updated. + + Column name. + Value to be updated. + This same object. + + + + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like + "order ASC" or "pages DESC, age ASC". + + The order criteria. + A generic object that represents the implementing statement type. + + + + Represents a schema or database. + + + + + Session related to current schema. + + + + + Returns a list of all collections in this schema. + + A list representing all found collections. + + + + Returns a list of all tables in this schema. + + A list representing all found tables. + + + + Gets a collection by name. + + The name of the collection to get. + Ensures the collection exists in the schema. + A object matching the given name. + + + + Gets a typed collection object. This is useful for using domain objects. + + The type of collection returned. + The name of collection to get. + A generic object set with the given name. + + + + Gets the given collection as a table. + + The name of the collection. + A object set with the given name. + + + + Gets a table object. Upon return the object may or may not be valid. + + The name of the table object. + A object set with the given name. + + + + Creates a collection. + + The name of the collection to create. + If false, throws an exception if the collection exists. + Collection referente. + + + + Creates a collection including a schema validation. + + The name of the collection to create. + This object hold the parameters required to create the collection. + + Collection referente. + + + + Modify a collection adding or removing schema validation parameters. + + The name of the collection to create. + This object encapsulate the Validation parameters level and schema. + Collection referente. + + + + Drops the given collection. + + The name of the collection to drop. + is null. + + + + Determines if this schema actually exists. + + True if exists, false otherwise. + + + + Represents a single server session. + + + + + Returns a object that can be used to execute the given SQL. + + The SQL to execute. + A object set with the provided SQL. + + + + Sets the schema in the database. + + The schema name to be set. + + + + Executes a query in the database to get the current schema. + + Current database object or null if no schema is selected. + + + Holder for reflection information generated from mysqlx.proto + + + File descriptor for mysqlx.proto + + + + IDs of messages that can be sent from client to the server + + .. note:: + this message is never sent on the wire. It is only used to let ``protoc`` + + * generate constants + * check for uniqueness + + + + Container for nested types declared in the ClientMessages message type. + + + + IDs of messages that can be sent from server to client + + .. note:: + this message is never sent on the wire. It is only used to let ``protoc`` + + * generate constants + * check for uniqueness + + + + Container for nested types declared in the ServerMessages message type. + + + + NOTICE has to stay at 11 forever + + + + + generic Ok message + + + + Field number for the "msg" field. + + + + generic Error message + + A ``severity`` of ``ERROR`` indicates the current message sequence is + aborted for the given error and the session is ready for more. + + In case of a ``FATAL`` error message the client should not expect + the server to continue handling any further messages and should + close the connection. + + :param severity: severity of the error message + :param code: error-code + :param sql_state: SQL state + :param msg: human readable error message + + + + Field number for the "severity" field. + + + Field number for the "code" field. + + + Field number for the "sql_state" field. + + + Field number for the "msg" field. + + + Container for nested types declared in the Error message type. + + + Holder for reflection information generated from mysqlx_connection.proto + + + File descriptor for mysqlx_connection.proto + + + + a Capability + + a tuple of a ``name`` and a :protobuf:msg:`Mysqlx.Datatypes::Any` + + + + Field number for the "name" field. + + + Field number for the "value" field. + + + + Capabilities + + + + Field number for the "capabilities" field. + + + + get supported connection capabilities and their current state + + :returns: :protobuf:msg:`Mysqlx.Connection::Capabilities` or :protobuf:msg:`Mysqlx::Error` + + + + + sets connection capabilities atomically + + only provided values are changed, other values are left unchanged. + If any of the changes fails, all changes are discarded. + + :precond: active sessions == 0 + :returns: :protobuf:msg:`Mysqlx::Ok` or :protobuf:msg:`Mysqlx::Error` + + + + Field number for the "capabilities" field. + + + + announce to the server that the client wants to close the connection + + it discards any session state of the server + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Field number for the "uncompressed_size" field. + + + Field number for the "server_messages" field. + + + Field number for the "client_messages" field. + + + Field number for the "payload" field. + + + Holder for reflection information generated from mysqlx_crud.proto + + + File descriptor for mysqlx_crud.proto + + + + DataModel to use for filters, names, ... + + + + + ViewAlgorithm defines how MySQL Server processes the view + + + + + MySQL chooses which algorithm to use + + + + + the text of a statement that refers to the view and the view definition are merged + + + + + the view are retrieved into a temporary table + + + + + ViewSqlSecurity defines the security context in which the view is going to be + executed, this means that VIEW can be executed with current user permissions or + with permissions of the uses who defined the VIEW + + + + + ViewCheckOption limits the write operations done on a `VIEW` + (`INSERT`, `UPDATE`, `DELETE`) to rows in which the `WHERE` clause is `TRUE` + + + + + the view WHERE clause is checked, but no underlying views are checked + + + + + the view WHERE clause is checked, then checking recurses to underlying views + + + + + column definition + + + + Field number for the "name" field. + + + + optional + + + + Field number for the "alias" field. + + + + optional + + + + Field number for the "document_path" field. + + + + a projection + + :param source: the expression identifying an element from the source data + which can include a column identifier or any expression + :param alias: optional alias. Required for DOCUMENTs (clients may use + the source string as default) + + + + Field number for the "source" field. + + + + required + + + + Field number for the "alias" field. + + + + optional + + + + + collection + + + + Field number for the "name" field. + + + + required + + + + Field number for the "schema" field. + + + + optional + + + + + limit + + :param row_count: maximum rows to filter + :param offset: maximum rows to skip before applying the row_count + + + + Field number for the "row_count" field. + + + + required + + + + Field number for the "offset" field. + + + + optional + + + + + limit expression + + LimitExpr in comparison to Limit, is able to specify that row_count and + offset are placeholders. + This message support expressions of following types Expr/literal/UINT, + Expr/PLACEHOLDER. + + :param row_count: maximum rows to filter + :param offset: maximum rows to skip before applying the row_count + + + + Field number for the "row_count" field. + + + + required + + + + Field number for the "offset" field. + + + + optional + + + + + sort order + + + + Field number for the "expr" field. + + + + required + + + + Field number for the "direction" field. + + + + optional//[ default=ASC ] + + + + Container for nested types declared in the Order message type. + + + + update operations + + :param source: specification of the value to be updated + if data_model is TABLE, a column name may be specified and also a document path, if the column has type JSON + if data_model is DOCUMENT, only document paths are allowed + in both cases, schema and table must be not set + :param operation: the type of operation to be performed + :param value: an expression to be computed as the new value for the operation + + + + Field number for the "source" field. + + + + required + + + + Field number for the "operation" field. + + + + required + + + + Field number for the "value" field. + + + + optional + + + + Container for nested types declared in the UpdateOperation message type. + + + + only allowed for TABLE + + + + + no value (removes the identified path from a object or array) + + + + + sets the new value on the identified path + + + + + replaces a value if the path exists + + + + + source and value must be documents + + + + + insert the value in the array at the index identified in the source path + + + + + append the value on the array at the identified path + + + + + merge JSON object value with the provided patch expression + + + + + Find Documents/Rows in a Collection/Table + + .. uml:: + + client -> server: Find + ... one or more Resultset ... + + :param collection: collection to insert into + :param data_model: datamodel that the operations refer to + :param projection: list of column projections that shall be returned + :param args: values for parameters used in filter expression + :param criteria: filter criteria + :param limit: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) + :param order: sort-order in which the rows/document shall be returned in + :param grouping: column expression list for aggregation (GROUP BY) + :param grouping_criteria: filter criteria for aggregated groups + :param locking: perform row locking on matches + :param locking_options: additional options how to handle locked rows + :param limit_expr: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "projection" field. + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "grouping" field. + + + Field number for the "grouping_criteria" field. + + + + optional + + + + Field number for the "locking" field. + + + + optional + + + + Field number for the "locking_options" field. + + + + optional + + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + Container for nested types declared in the Find message type. + + + + Lock matching rows against updates + + + + + Lock matching rows so no other transaction can read or write to it + + + + + Do not wait to acquire row lock, fail with an error if a requested row is locked + + + + + Do not wait to acquire a row lock, remove locked rows from the result set + + + + + Insert documents/rows into a collection/table + + :param collection: collection to insert into + :param data_model: datamodel that the operations refer to + :param projection: name of the columns to insert data into (empty if data_model is DOCUMENT) + :param row: set of rows to insert into the collection/table (a single expression with a JSON document literal or an OBJECT expression) + :param args: values for parameters used in row expressions + :param upsert: true if this should be treated as an Upsert (that is, update on duplicate key) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "projection" field. + + + Field number for the "row" field. + + + Field number for the "args" field. + + + Field number for the "upsert" field. + + + + optional//[default = false] + + + + Container for nested types declared in the Insert message type. + + + Field number for the "field" field. + + + + Update documents/rows in a collection/table + + :param collection: collection to change + :param data_model: datamodel that the operations refer to + :param criteria: filter expression to match rows that the operations will apply on + :param args: values for parameters used in filter expression + :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) + :param order: specifies order of matched rows + :param operation: list of operations to be applied. Valid operations will depend on the data_model. + :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "operation" field. + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + + Delete documents/rows from a Collection/Table + + :param collection: collection to change + :param data_model: datamodel that the operations refer to + :param criteria: filter expression to match rows that the operations will apply on + :param args: values for parameters used in filter expression + :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) + :param order: specifies order of matched rows + :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) + :Returns: :protobuf:msg:`Mysqlx.Resultset::` + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "data_model" field. + + + + optional + + + + Field number for the "criteria" field. + + + + optional + + + + Field number for the "args" field. + + + Field number for the "order" field. + + + Field number for the "limit" field. + + + + optional + + + + Field number for the "limit_expr" field. + + + + optional + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "definer" field. + + + + optional + + + + Field number for the "algorithm" field. + + + + optional//[default = UNDEFINED] + + + + Field number for the "security" field. + + + + optional//[default = DEFINER] + + + + Field number for the "check" field. + + + + optional + + + + Field number for the "column" field. + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "replace_existing" field. + + + + optional//[default = false] + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "definer" field. + + + + optional + + + + Field number for the "algorithm" field. + + + + optional + + + + Field number for the "security" field. + + + + optional + + + + Field number for the "check" field. + + + + optional + + + + Field number for the "column" field. + + + Field number for the "stmt" field. + + + + optional + + + + Field number for the "collection" field. + + + + required + + + + Field number for the "if_exists" field. + + + + optional//[ default = false ] + + + + Holder for reflection information generated from mysqlx_cursor.proto + + + File descriptor for mysqlx_cursor.proto + + + + Open a cursor + + .. uml:: + + client -> server: Open + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, the ID is going to represent new cursor and assigned to it statement + :param stmt: statement which resultset is going to be iterated through the cursor + :param fetch_rows: number of rows which should be retrieved from sequential cursor + :Returns: :protobuf:msg:`Mysqlx.Ok::` + + + + Field number for the "cursor_id" field. + + + + required + + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "fetch_rows" field. + + + + optional + + + + Container for nested types declared in the Open message type. + + + Field number for the "type" field. + + + + required + + + + Field number for the "prepare_execute" field. + + + + optional + + + + Container for nested types declared in the OneOfMessage message type. + + + + Fetch next portion of data from a cursor + + .. uml:: + + client -> server: Fetch + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, must be already open + :param fetch_rows: number of rows which should be retrieved from sequential cursor + + + + Field number for the "cursor_id" field. + + + + required + + + + Field number for the "fetch_rows" field. + + + + optional + + + + + Close cursor + + .. uml:: + + client -> server: Close + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param cursor_id: client side assigned cursor id, must be allocated/open + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "cursor_id" field. + + + + required + + + + Holder for reflection information generated from mysqlx_datatypes.proto + + + File descriptor for mysqlx_datatypes.proto + + + + a scalar + + + + Field number for the "type" field. + + + + required + + + + Field number for the "v_signed_int" field. + + + Field number for the "v_unsigned_int" field. + + + Field number for the "v_octets" field. + + + + 4 is unused, was Null which doesn't have a storage anymore + + + + Field number for the "v_double" field. + + + Field number for the "v_float" field. + + + Field number for the "v_bool" field. + + + Field number for the "v_string" field. + + + Enum of possible cases for the "DefaultOneOf" oneof. + + + Container for nested types declared in the Scalar message type. + + + + a string with a charset/collation + + + + Field number for the "value" field. + + + + required + + + + Field number for the "collation" field. + + + Enum of possible cases for the "String_present" oneof. + + + + an opaque octet sequence, with an optional content_type + See ``Mysqlx.Resultset.ColumnMetadata`` for list of known values. + + + + Field number for the "value" field. + + + + required + + + + Field number for the "content_type" field. + + + + a object + + + + Field number for the "fld" field. + + + Container for nested types declared in the Object message type. + + + Field number for the "key" field. + + + + required + + + + Field number for the "value" field. + + + + required + + + + + a Array + + + + Field number for the "value" field. + + + + a helper to allow all field types + + + + Field number for the "type" field. + + + + required + + + + Field number for the "scalar" field. + + + Field number for the "obj" field. + + + Field number for the "array" field. + + + Container for nested types declared in the Any message type. + + + Holder for reflection information generated from mysqlx_expect.proto + + + File descriptor for mysqlx_expect.proto + + + + open an Expect block and set/unset the conditions that have to be fulfilled + + if any of the conditions fail, all enclosed messages will fail with + a Mysqlx.Error message. + + :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + + + + Field number for the "op" field. + + + + [ default = EXPECT_CTX_COPY_PREV ];//optional + + + + Field number for the "cond" field. + + + Container for nested types declared in the Open message type. + + + + copy the operations from the parent Expect-block + + + + + start with a empty set of operations + + + + Field number for the "condition_key" field. + + + + required + + + + Field number for the "condition_value" field. + + + + optional + + + + Field number for the "op" field. + + + + [ default = EXPECT_OP_SET ];//optional + + + + Container for nested types declared in the Condition message type. + + + + Change error propagation behaviour + + + + + Check if X Protocol field exists + + + + + Check if X Protocol support document _id generation + + + + + set the condition + + set, if not set + overwrite, if set + + + + + unset the condition + + + + + close a Expect block + + closing a Expect block restores the state of the previous Expect block + for the following messages + + :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + + + + Holder for reflection information generated from mysqlx_expr.proto + + + File descriptor for mysqlx_expr.proto + + + + Expressions + + the "root" of the expression tree + + .. productionlist:: + expr: `operator` | + : `identifier` | + : `function_call` | + : variable | + : `literal` | + : placeholder + + If expression type is PLACEHOLDER then it refers to the value of a parameter + specified when executing a statement (see `args` field of `StmtExecute` command). + Field `position` (which must be present for such an expression) gives 0-based + position of the parameter in the parameter list. + + + + Field number for the "type" field. + + + + required + + + + Field number for the "identifier" field. + + + Field number for the "variable" field. + + + Field number for the "literal" field. + + + Field number for the "function_call" field. + + + Field number for the "operator" field. + + + Field number for the "position" field. + + + Field number for the "object" field. + + + Field number for the "array" field. + + + Container for nested types declared in the Expr message type. + + + + identifier: name, schame.name + + .. productionlist:: + identifier: string "." string | + : string + + + + Field number for the "name" field. + + + + required + + + + Field number for the "schema_name" field. + + + + DocumentPathItem + + .. productionlist:: + document_path: path_item | path_item document_path + path_item : member | array_index | "**" + member : "." string | "." "*" + array_index : "[" number "]" | "[" "*" "]" + + + + Field number for the "type" field. + + + + required + + + + Field number for the "value" field. + + + Field number for the "index" field. + + + Container for nested types declared in the DocumentPathItem message type. + + + + .member + + + + + .* + + + + + [index] + + + + + [*] + + + + + ** + + + + + col_identifier (table): col@doc_path, tbl.col@doc_path col, tbl.col, schema.tbl.col + col_identifier (document): doc_path + + .. productionlist:: + col_identifier: string "." string "." string | + : string "." string | + : string | + : string "." string "." string "@" document_path | + : string "." string "@" document_path | + : string "@" document_path | + : document_path + document_path: member | arrayLocation | doubleAsterisk + member = "." string | "." "*" + arrayLocation = "[" index "]" | "[" "*" "]" + doubleAsterisk = "**" + + + + Field number for the "document_path" field. + + + Field number for the "name" field. + + + Field number for the "table_name" field. + + + Field number for the "schema_name" field. + + + + function call: ``func(a, b, "1", 3)`` + + .. productionlist:: + function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")" + + + + Field number for the "name" field. + + + + required + + + + Field number for the "param" field. + + + + operator: ``<<(a, b)`` + + .. note:: + + Non-authoritative list of operators implemented (case sensitive): + + Nullary + * ``*`` + * ``default`` + + Unary + * ``!`` + * ``sign_plus`` + * ``sign_minus`` + * ``~`` + + Binary + * ``&&`` + * ``||`` + * ``xor`` + * ``==`` + * ``!=`` + * ``>`` + * ``>=`` + * ``<`` + * ``<=`` + * ``&`` + * ``|`` + * ``^`` + * ``<<`` + * ``>>`` + * ``+`` + * ``-`` + * ``*`` + * ``/`` + * ``div`` + * ``%`` + * ``is`` + * ``is_not`` + * ``regexp`` + * ``not_regexp`` + * ``like`` + * ``not_like`` + * ``cast`` + * ``cont_in`` + * ``not_cont_in`` + + Using special representation, with more than 2 params + * ``in`` (param[0] IN (param[1], param[2], ...)) + * ``not_in`` (param[0] NOT IN (param[1], param[2], ...)) + + Ternary + * ``between`` + * ``between_not`` + * ``date_add`` + * ``date_sub`` + + Units for date_add/date_sub + * ``MICROSECOND`` + * ``SECOND`` + * ``MINUTE`` + * ``HOUR`` + * ``DAY`` + * ``WEEK`` + * ``MONTH`` + * ``QUARTER`` + * ``YEAR`` + * ``SECOND_MICROSECOND`` + * ``MINUTE_MICROSECOND`` + * ``MINUTE_SECOND`` + * ``HOUR_MICROSECOND`` + * ``HOUR_SECOND`` + * ``HOUR_MINUTE`` + * ``DAY_MICROSECOND`` + * ``DAY_SECOND`` + * ``DAY_MINUTE`` + * ``DAY_HOUR`` + + Types for cast + * ``BINARY[(N)]`` + * ``CHAR[(N)]`` + * ``DATE`` + * ``DATETIME`` + * ``DECIMAL[(M[,D])]`` + * ``JSON`` + * ``SIGNED [INTEGER]`` + * ``TIME`` + * ``UNSIGNED [INTEGER]`` + + .. productionlist:: + operator: `name` "(" [ `expr` ["," `expr` ]* ] ")" + + + + Field number for the "name" field. + + + + required + + + + Field number for the "param" field. + + + + an object (with expression values) + + + + Field number for the "fld" field. + + + Container for nested types declared in the Object message type. + + + Field number for the "key" field. + + + + required + + + + Field number for the "value" field. + + + + required + + + + + a Array of expressions + + + + Field number for the "value" field. + + + Holder for reflection information generated from mysqlx_notice.proto + + + File descriptor for mysqlx_notice.proto + + + + Common Frame for all Notices + + ===================================================== ===== + .type value + ===================================================== ===== + :protobuf:msg:`Mysqlx.Notice::Warning` 1 + :protobuf:msg:`Mysqlx.Notice::SessionVariableChanged` 2 + :protobuf:msg:`Mysqlx.Notice::SessionStateChanged` 3 + ===================================================== ===== + + :param type: the type of the payload + :param payload: the payload of the notification + :param scope: global or local notification + + + + Field number for the "type" field. + + + + required + + + + Field number for the "scope" field. + + + + [ default = GLOBAL ];//optional + + + + Field number for the "payload" field. + + + + optional + + + + Container for nested types declared in the Frame message type. + + + + Server-side warnings and notes + + ``.scope`` == ``local`` + ``.level``, ``.code`` and ``.msg`` map the content of + + .. code-block:: sql + + SHOW WARNINGS + + ``.scope`` == ``global`` + (undefined) will be used for global, unstructured messages like: + + * server is shutting down + * a node disconnected from group + * schema or table dropped + + ========================================== ======================= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ======================= + ``.type`` 1 + ``.scope`` ``local`` or ``global`` + ========================================== ======================= + + :param level: warning level: Note or Warning + :param code: warning code + :param msg: warning message + + + + Field number for the "level" field. + + + + [ default = WARNING ];//optional + + + + Field number for the "code" field. + + + + required + + + + Field number for the "msg" field. + + + + required + + + + Container for nested types declared in the Warning message type. + + + + Notify clients about changes to the current session variables + + Every change to a variable that is accessible through: + + .. code-block:: sql + + SHOW SESSION VARIABLES + + ========================================== ========= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ========= + ``.type`` 2 + ``.scope`` ``local`` + ========================================== ========= + + :param namespace: namespace that param belongs to + :param param: name of the variable + :param value: the changed value of param + + + + Field number for the "param" field. + + + + required + + + + Field number for the "value" field. + + + + optional + + + + + Notify clients about changes to the internal session state + + ========================================== ========= + :protobuf:msg:`Mysqlx.Notice::Frame` field value + ========================================== ========= + ``.type`` 3 + ``.scope`` ``local`` + ========================================== ========= + + :param param: parameter key + :param value: updated value + + + + Field number for the "param" field. + + + + required + + + + Field number for the "value" field. + + + Container for nested types declared in the SessionStateChanged message type. + + + + .. more to be added + + + + Holder for reflection information generated from mysqlx_prepare.proto + + + File descriptor for mysqlx_prepare.proto + + + + Prepare a new statement + + .. uml:: + + client -> server: Prepare + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, which is going to identify the result of preparation + :param stmt: defines one of following messages to be prepared - Crud.Find, Crud.Insert, Crud.Delete, Crud.Upsert, Sql.StmtExecute + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "stmt_id" field. + + + + required + + + + Field number for the "stmt" field. + + + + required + + + + Container for nested types declared in the Prepare message type. + + + Field number for the "type" field. + + + + required + + + + Field number for the "find" field. + + + + optional + + + + Field number for the "insert" field. + + + + optional + + + + Field number for the "update" field. + + + + optional + + + + Field number for the "delete" field. + + + + optional + + + + Field number for the "stmt_execute" field. + + + + optional + + + + Enum of possible cases for the "Type_present" oneof. + + + Container for nested types declared in the OneOfMessage message type. + + + + Determine which of optional fields was set by the client + (Workaround for missing "oneof" keyword in pb2.5) + + + + + Execute already prepared statement + + .. uml:: + + client -> server: Execute + alt Success + ... Resultsets... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, must be already prepared + :param args_list: Arguments to bind to the prepared statement + :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others + :Returns: :protobuf:msg:`Mysqlx.Ok::` + + + + Field number for the "stmt_id" field. + + + + required + + + + Field number for the "args" field. + + + Field number for the "compact_metadata" field. + + + + [ default = false ]; optional + + + + + Deallocate already prepared statement + + Deallocating the statement. + + .. uml:: + + client -> server: Deallocate + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + + :param stmt_id: client side assigned statement id, must be already prepared + :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + + + + Field number for the "stmt_id" field. + + + + required + + + + Holder for reflection information generated from mysqlx_resultset.proto + + + File descriptor for mysqlx_resultset.proto + + + + a hint about the higher-level encoding of a BYTES field + + ====== ====== =========== + type value description + ====== ====== =========== + BYTES 0x0001 GEOMETRY (WKB encoding) + BYTES 0x0002 JSON (text encoding) + BYTES 0x0003 XML (text encoding) + ====== ====== =========== + + .. note:: + this list isn't comprehensive. As guideline: the field's value is expected + to pass a validator check on client and server if this field is set. + If the server adds more internal datatypes that rely on BLOB storage + like image manipulation, seeking into complex types in BLOBs, ... more + types will be added. + + + + + a hint about the higher-level encoding of a DATETIME field + + ====== ====== =========== + type value description + ======== ====== =========== + DATE 0x0001 DATETIME contains only date part + DATETIME 0x0002 DATETIME contains both date and time parts + ====== ====== =========== + + + + + resultsets are finished, OUT paramset is next + + + + + resultset and out-params are finished, but more resultsets available + + + + + all resultsets are finished + + + + + cursor is opened still the execution of PrepFetch or PrepExecute ended + + + + + meta data of a Column + + .. note:: the encoding used for the different ``bytes`` fields in the meta data is externally + controlled. + .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html + + .. note:: + The server may not set the ``original_{table|name}`` fields if they are equal to the plain + ``{table|name}`` field. + + A client has to reconstruct it like:: + + if .original_name is empty and .name is not empty: + .original_name = .name + + if .original_table is empty and .table is not empty: + .original_table = .table + + .. note:: + ``compact metadata format`` can be requested by the client. In that case only ``.type`` is set and + all other fields are empty. + + :param type: + .. table:: Expected Datatype of Mysqlx.Resultset.Row per SQL Type for non NULL values + + ================= ============ ======= ========== ====== ======== + SQL Type .type .length .frac_dig .flags .charset + ================= ============ ======= ========== ====== ======== + TINY SINT x + TINY UNSIGNED UINT x x + SHORT SINT x + SHORT UNSIGNED UINT x x + INT24 SINT x + INT24 UNSIGNED UINT x x + INT SINT x + INT UNSIGNED UINT x x + LONGLONG SINT x + LONGLONG UNSIGNED UINT x x + DOUBLE DOUBLE x x x + FLOAT FLOAT x x x + DECIMAL DECIMAL x x x + VARCHAR,CHAR,... BYTES x x x + GEOMETRY BYTES + TIME TIME x + DATE DATETIME x + DATETIME DATETIME x + YEAR UINT x x + TIMESTAMP DATETIME x + SET SET x + ENUM ENUM x + NULL BYTES + BIT BIT x + ================= ============ ======= ========== ====== ======== + + .. note:: the SQL "NULL" value is sent as an empty field value in :protobuf:msg:`Mysqlx.Resultset::Row` + .. seealso:: protobuf encoding of primitive datatypes are decribed in https://developers.google.com/protocol-buffers/docs/encoding + + SINT + + ``.length`` + maximum number of displayable decimal digits (including minus sign) of the type + + .. note:: + valid range is 0-255, but usually you'll see 1-20 + + =============== == + SQL Type max digits per type + =============== == + TINY SIGNED 4 + SHORT SIGNED 6 + INT24 SIGNED 8 + INT SIGNED 11 + LONGLONG SIGNED 20 + =============== == + + .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded signed 64 integer + + UINT + + ``.flags & 1`` (zerofill) + the client has to left pad with 0's up to .length + + ``.length`` + maximum number of displayable decimal digits of the type + + .. note:: + valid range is 0-255, but usually you'll see 1-20 + + ================= == + SQL Type max digits per type + ================= == + TINY UNSIGNED 3 + SHORT UNSIGNED 5 + INT24 UNSIGNED 8 + INT UNSIGNED 10 + LONGLONG UNSIGNED 20 + ================= == + + .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded unsigned 64 integer + + BIT + + ``.length`` + maximum number of displayable binary digits + + .. note:: valid range for M of the ``BIT`` type is 1 - 64 + .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html + + ``value`` + variable length encoded unsigned 64 integer + + DOUBLE + + ``.length`` + maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) + + ``.fractional_digits`` + maximum number of displayable decimal digits following the decimal point + + ``value`` + encoded as Protobuf's 'double' + + FLOAT + + ``.length`` + maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) + + ``.fractional_digits`` + maximum number of displayable decimal digits following the decimal point + + ``value`` + encoded as Protobuf's 'float' + + BYTES, ENUM + BYTES is used for all opaque byte strings that may have a charset + + * TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB + * TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT + * VARCHAR, VARBINARY + * CHAR, BINARY + * ENUM + + ``.length`` + the maximum length of characters of the underlying type + + ``.flags & 1`` (rightpad) + if the length of the field is less than ``.length``, the receiver is + supposed to add padding characters to the right end of the string. + If the ``.charset`` is "binary", the padding character is ``0x00``, + otherwise it is a space character as defined by that character set. + + ============= ======= ======== ======= + SQL Type .length .charset .flags + ============= ======= ======== ======= + TINYBLOB 256 binary + BLOB 65535 binary + VARCHAR(32) 32 utf8 + VARBINARY(32) 32 utf8_bin + BINARY(32) 32 binary rightpad + CHAR(32) 32 utf8 rightpad + ============= ======= ======== ======= + + ``value`` + sequence of bytes with added one extra '\0' byte at the end. To obtain the + original string, the extra '\0' should be removed. + .. note:: the length of the string can be acquired with protobuf's field length() method + length of sequence-of-bytes = length-of-field - 1 + .. note:: the extra byte allows to distinguish between a NULL and empty byte sequence + + TIME + A time value. + + ``value`` + the following bytes sequence: + + ``| negate [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + + * negate - one byte, should be one of: 0x00 for "+", 0x01 for "-" + * hour - optional variable length encoded unsigned64 value for the hour + * minutes - optional variable length encoded unsigned64 value for the minutes + * seconds - optional variable length encoded unsigned64 value for the seconds + * useconds - optional variable length encoded unsigned64 value for the microseconds + + .. seealso:: protobuf encoding in https://developers.google.com/protocol-buffers/docs/encoding + .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 + + Example: 0x00 -> +00:00:00.000000 + + DATETIME + A date or date and time value. + + ``value`` + a sequence of variants, arranged as follows: + + ``| year | month | day | [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + + * year - variable length encoded unsigned64 value for the year + * month - variable length encoded unsigned64 value for the month + * day - variable length encoded unsigned64 value for the day + * hour - optional variable length encoded unsigned64 value for the hour + * minutes - optional variable length encoded unsigned64 value for the minutes + * seconds - optional variable length encoded unsigned64 value for the seconds + * useconds - optional variable length encoded unsigned64 value for the microseconds + + .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 + + ``.flags & 1`` (timestamp) + + ============= ======= + SQL Type .flags + ============= ======= + DATETIME + TIMESTAMP 1 + + DECIMAL + An arbitrary length number. The number is encoded as a single byte + indicating the position of the decimal point followed by the Packed BCD + encoded number. Packed BCD is used to simplify conversion to and + from strings and other native arbitrary precision math datatypes. + .. seealso:: packed BCD in https://en.wikipedia.org/wiki/Binary-coded_decimal + + ``.length`` + maximum number of displayable decimal digits (*excluding* the decimal point and sign, but including ``.fractional_digits``) + + .. note:: should be in the range of 1 - 65 + + ``.fractional_digits`` + is the decimal digits to display out of length + + .. note:: should be in the range of 0 - 30 + + ``value`` + the following bytes sequence: + + ``| scale | BCD | sign | [0x0] |`` + + * scale - 8bit scale value (number of decimal digit after the '.') + * BCD - BCD encoded digits (4 bits for each digit) + * sign - sign encoded on 4 bits (0xc = "+", 0xd = "-") + * 0x0 - last 4bits if length(digits) % 2 == 0 + + Example: x04 0x12 0x34 0x01 0xd0 -> -12.3401 + + SET + A list of strings representing a SET of values. + + ``value`` + A sequence of 0 or more of protobuf's bytes (length prepended octets) or one of + the special sequences with a predefined meaning listed below. + + Example (length of the bytes array shown in brackets): + * ``[0]`` - the NULL value + * ``[1] 0x00`` - a set containing a blank string '' + * ``[1] 0x01`` - this would be an invalid value, but is to be treated as the empty set + * ``[2] 0x01 0x00`` - a set with a single item, which is the '\0' character + * ``[8] 0x03 F O O 0x03 B A R`` - a set with 2 items: FOO,BAR + + :param name: name of the column + :param original_name: name of the column before an alias was applied + :param table: name of the table the column orginates from + :param original_table: name of the table the column orginates from before an alias was applied + :param schema: schema the column originates from + :param catalog: + catalog the schema originates from + + .. note:: + as there is current no support for catalogs in MySQL, don't expect this field to be set. + In the MySQL C/S protocol the field had the value ``def`` all the time. + + :param fractional_digits: displayed factional decimal digits for floating point and fixed point numbers + :param length: maximum count of displayable characters of .type + :param flags: + ``.type`` specific flags + + ======= ====== =========== + type value description + ======= ====== =========== + UINT 0x0001 zerofill + DOUBLE 0x0001 unsigned + FLOAT 0x0001 unsigned + DECIMAL 0x0001 unsigned + BYTES 0x0001 rightpad + ======= ====== =========== + + ====== ================ + value description + ====== ================ + 0x0010 NOT_NULL + 0x0020 PRIMARY_KEY + 0x0040 UNIQUE_KEY + 0x0080 MULTIPLE_KEY + 0x0100 AUTO_INCREMENT + ====== ================ + + default: 0 + :param content_type: + a hint about the higher-level encoding of a BYTES field, for more informations + please refer to Mysqlx.Resultset.ContentType_BYTES enum. + + + + Field number for the "type" field. + + + + datatype of the field in a row + + + + Field number for the "name" field. + + + Field number for the "original_name" field. + + + Field number for the "table" field. + + + Field number for the "original_table" field. + + + Field number for the "schema" field. + + + Field number for the "catalog" field. + + + Field number for the "collation" field. + + + Field number for the "fractional_digits" field. + + + Field number for the "length" field. + + + Field number for the "flags" field. + + + Field number for the "content_type" field. + + + Container for nested types declared in the ColumnMetaData message type. + + + + Row in a Resultset + + a row is represented as a list of fields encoded as byte blobs. + Blob of size 0 represents the NULL value. Otherwise, if it contains at least + one byte, it encodes a non-null value of the field using encoding appropriate for the + type of the value given by ``ColumnMetadata``, as specified + in the :protobuf:msg:`Mysqlx.Resultset::ColumnMetaData` description. + + + + Field number for the "field" field. + + + Holder for reflection information generated from mysqlx_session.proto + + + File descriptor for mysqlx_session.proto + + + + the initial message send from the client to the server to start the + authentication proccess + + :param mech_name: authentication mechanism name + :param auth_data: authentication data + :param initial_response: initial response + :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + + + + Field number for the "mech_name" field. + + + + required + + + + Field number for the "auth_data" field. + + + Field number for the "initial_response" field. + + + + send by client or server after a :protobuf:msg:`Mysqlx.Session::AuthenticateStart` to + exchange more auth data + + :param auth_data: authentication data + :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + + + + Field number for the "auth_data" field. + + + + required + + + + + sent by the server after successful authentication + + :param auth_data: authentication data + + + + Field number for the "auth_data" field. + + + + reset the current session + param keep_open: if is true the session will be reset, but stays authenticated. + otherwise, the session will be closed and needs to be authenticated again. + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Field number for the "keep_open" field. + + + + close the current session + + :Returns: :protobuf:msg:`Mysqlx::Ok` + + + + Holder for reflection information generated from mysqlx_sql.proto + + + File descriptor for mysqlx_sql.proto + + + + execute a statement in the given namespace + + .. uml:: + + client -> server: StmtExecute + ... zero or more Resultsets ... + server --> client: StmtExecuteOk + + Notices: + This message may generate a notice containing WARNINGs generated by its execution. + This message may generate a notice containing INFO messages generated by its execution. + + :param namespace: namespace of the statement to be executed + :param stmt: statement that shall be executed. + :param args: values for wildcard replacements + :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others + :returns: + * zero or one :protobuf:msg:`Mysqlx.Resultset::` followed by :protobuf:msg:`Mysqlx.Sql::StmtExecuteOk` + + + + Field number for the "namespace" field. + + + + optional [ default = "sql" ] + + + + Field number for the "stmt" field. + + + + required + + + + Field number for the "args" field. + + + Field number for the "compact_metadata" field. + + + + optional [ default = false ] + + + + + statement executed successful + + +
+
diff --git a/Product_Manager/bin/Debug/Product_Manager.exe b/Product_Manager/bin/Debug/Product_Manager.exe new file mode 100644 index 0000000..6bdbf83 Binary files /dev/null and b/Product_Manager/bin/Debug/Product_Manager.exe differ diff --git a/Product_Manager/bin/Debug/Product_Manager.exe.config b/Product_Manager/bin/Debug/Product_Manager.exe.config new file mode 100644 index 0000000..1c75772 --- /dev/null +++ b/Product_Manager/bin/Debug/Product_Manager.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Product_Manager/bin/Debug/Product_Manager.pdb b/Product_Manager/bin/Debug/Product_Manager.pdb new file mode 100644 index 0000000..bbe7121 Binary files /dev/null and b/Product_Manager/bin/Debug/Product_Manager.pdb differ diff --git a/Product_Manager/bin/Debug/Product_Manager.xml b/Product_Manager/bin/Debug/Product_Manager.xml new file mode 100644 index 0000000..4f6e7a5 --- /dev/null +++ b/Product_Manager/bin/Debug/Product_Manager.xml @@ -0,0 +1,26 @@ + + + + +Product_Manager + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + diff --git a/Product_Manager/bin/Debug/Renci.SshNet.dll b/Product_Manager/bin/Debug/Renci.SshNet.dll new file mode 100644 index 0000000..4e2d603 Binary files /dev/null and b/Product_Manager/bin/Debug/Renci.SshNet.dll differ diff --git a/Product_Manager/bin/Debug/System.Buffers.dll b/Product_Manager/bin/Debug/System.Buffers.dll new file mode 100644 index 0000000..4df5a36 Binary files /dev/null and b/Product_Manager/bin/Debug/System.Buffers.dll differ diff --git a/Product_Manager/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll b/Product_Manager/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/Product_Manager/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Product_Manager/bin/Debug/Ubiety.Dns.Core.dll b/Product_Manager/bin/Debug/Ubiety.Dns.Core.dll new file mode 100644 index 0000000..2f0c84e Binary files /dev/null and b/Product_Manager/bin/Debug/Ubiety.Dns.Core.dll differ diff --git a/Product_Manager/bin/Debug/Zstandard.Net.dll b/Product_Manager/bin/Debug/Zstandard.Net.dll new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/Product_Manager/bin/Debug/Zstandard.Net.dll differ diff --git a/Product_Manager/bin/Product_Manager.dat b/Product_Manager/bin/Product_Manager.dat new file mode 100644 index 0000000..9218186 Binary files /dev/null and b/Product_Manager/bin/Product_Manager.dat differ diff --git a/Product_Manager/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb b/Product_Manager/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb new file mode 100644 index 0000000..e7dcac5 --- /dev/null +++ b/Product_Manager/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..8b0abf3 Binary files /dev/null and b/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..b5d2636 Binary files /dev/null and b/Product_Manager/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Product_Manager/obj/Debug/Product_Manager.MainForm.resources b/Product_Manager/obj/Debug/Product_Manager.MainForm.resources new file mode 100644 index 0000000..8d85cdc Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.MainForm.resources differ diff --git a/Product_Manager/obj/Debug/Product_Manager.Resources.resources b/Product_Manager/obj/Debug/Product_Manager.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.Resources.resources differ diff --git a/Product_Manager/obj/Debug/Product_Manager.exe b/Product_Manager/obj/Debug/Product_Manager.exe new file mode 100644 index 0000000..6bdbf83 Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.exe differ diff --git a/Product_Manager/obj/Debug/Product_Manager.pdb b/Product_Manager/obj/Debug/Product_Manager.pdb new file mode 100644 index 0000000..bbe7121 Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.pdb differ diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.AssemblyReference.cache b/Product_Manager/obj/Debug/Product_Manager.vbproj.AssemblyReference.cache new file mode 100644 index 0000000..16abc65 Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.vbproj.AssemblyReference.cache differ diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.CopyComplete b/Product_Manager/obj/Debug/Product_Manager.vbproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.CoreCompileInputs.cache b/Product_Manager/obj/Debug/Product_Manager.vbproj.CoreCompileInputs.cache new file mode 100644 index 0000000..61b944e --- /dev/null +++ b/Product_Manager/obj/Debug/Product_Manager.vbproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +12a430662ee6bd766c49d986c1e1ee218b0577d2c555daf90873fd22850069c1 diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.FileListAbsolute.txt b/Product_Manager/obj/Debug/Product_Manager.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..269889d --- /dev/null +++ b/Product_Manager/obj/Debug/Product_Manager.vbproj.FileListAbsolute.txt @@ -0,0 +1,127 @@ +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.vbproj.AssemblyReference.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.vbproj.SuggestedBindingRedirects.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.MainForm.resources +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.Resources.resources +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.vbproj.GenerateResource.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.vbproj.CoreCompileInputs.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Product_Manager.exe.config +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Product_Manager.exe +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Product_Manager.pdb +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Product_Manager.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.exe +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.pdb +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\MySql.Data.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Google.Protobuf.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Zstandard.Net.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\BouncyCastle.Crypto.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Ubiety.Dns.Core.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\Renci.SshNet.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\System.Buffers.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\K4os.Compression.LZ4.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\K4os.Hash.xxHash.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\bin\Debug\MySql.Data.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager\Product_Manager\obj\Debug\Product_Manager.vbproj.CopyComplete +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe.config +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.pdb +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Google.Protobuf.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Zstandard.Net.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\BouncyCastle.Crypto.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Ubiety.Dns.Core.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Renci.SshNet.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Buffers.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Hash.xxHash.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.AssemblyReference.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.SuggestedBindingRedirects.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.MainForm.resources +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.Resources.resources +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.GenerateResource.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.CoreCompileInputs.cache +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.CopyComplete +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.exe +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.xml +\\192.168.1.251\연구소\박석태\제작 소프트웨어\24.Product_Manager\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.AssemblyReference.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe.config +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Google.Protobuf.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Zstandard.Net.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\BouncyCastle.Crypto.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Ubiety.Dns.Core.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Renci.SshNet.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Buffers.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Hash.xxHash.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.MainForm.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.Resources.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.GenerateResource.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.CoreCompileInputs.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_.E81CC40A.Up2Date +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe.config +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Google.Protobuf.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Zstandard.Net.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\BouncyCastle.Crypto.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Ubiety.Dns.Core.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\Renci.SshNet.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Buffers.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\K4os.Hash.xxHash.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\bin\Debug\MySql.Data.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.AssemblyReference.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.MainForm.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.Resources.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.GenerateResource.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.vbproj.CoreCompileInputs.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_.E81CC40A.Up2Date +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\programs\01. 수정 프로그램\Product_Manager Ver 2.0\Product_Manager\obj\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.vbproj.AssemblyReference.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.MainForm.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.Resources.resources +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.vbproj.GenerateResource.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.vbproj.CoreCompileInputs.cache +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Product_Manager.exe.config +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Product_Manager.exe +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Product_Manager.pdb +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Product_Manager.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\MySql.Data.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Google.Protobuf.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Zstandard.Net.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\BouncyCastle.Crypto.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Ubiety.Dns.Core.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\Renci.SshNet.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\System.Buffers.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\K4os.Compression.LZ4.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\K4os.Hash.xxHash.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\bin\Debug\MySql.Data.xml +C:\Users\JOMT-NOTE-PC\SECUDRIVE DG\2025.4.22 Product Manager 프로그램 요구사항 개선\2. 개선\Product_Manager Ver 2.0.0\Product_Manager\obj\Debug\Product_.E81CC40A.Up2Date diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.GenerateResource.cache b/Product_Manager/obj/Debug/Product_Manager.vbproj.GenerateResource.cache new file mode 100644 index 0000000..4337472 Binary files /dev/null and b/Product_Manager/obj/Debug/Product_Manager.vbproj.GenerateResource.cache differ diff --git a/Product_Manager/obj/Debug/Product_Manager.vbproj.SuggestedBindingRedirects.cache b/Product_Manager/obj/Debug/Product_Manager.vbproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 diff --git a/Product_Manager/obj/Debug/Product_Manager.xml b/Product_Manager/obj/Debug/Product_Manager.xml new file mode 100644 index 0000000..4f6e7a5 --- /dev/null +++ b/Product_Manager/obj/Debug/Product_Manager.xml @@ -0,0 +1,26 @@ + + + + +Product_Manager + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + diff --git a/Product_Manager/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/Product_Manager/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..545cf1b Binary files /dev/null and b/Product_Manager/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ